"Соединение, приведенное к таймауту", походит на проблему брандмауэра. Попытайтесь ломать соединение в отдельные шаги, выполненные на сетевом уровне:
Ping протестирует разрешение имени в IP и что можно проверить с помощью ping-запросов тот хост. Если можно проверить с помощью ping-запросов его, Вы знаете, что у Вас есть сетевое соединение к нему. Хотя быть неспособностью для проверки с помощью ping-запросов его не означает, что у Вас нет возможности соединения к нему, поскольку ping могли быть отфильтрованы.
Используйте IP-адрес от ping в telnet и telnet к порту SSH. Если это занимает много секунд и отчетов "Приведенное к таймауту соединение", действительно кажется, что в пути существует брандмауэр.
Как Вы говорите, если бы tcpwrappers был проблемой, то это, вероятно, было бы как "соединение закрытый неожиданно" результат. Если бы SSH по некоторым причинам не работает, Вы добрались бы, "соединение отказалось" от ошибки.
Если у Вас есть корневой доступ на сервере, проверьте брандмауэр хоста с iptables-save | less
(или подобный, если это не Linux). Если это не будет там, то Вы должны будете, вероятно, иметь, кто бы ни выполняет сетевые брандмауэры проверки, которые могут существовать там.
Если iptables-save
возвраты ничто, это может означать, что Вы не выполняете его как корень. Однако это может также означать, что нет никаких правил. Если, однако, это возвращает 20 или больше строк вывода, на месте существует, вероятно, брандмауэр.
Можно добавить, что временный брандмауэр позволяет правило, таким образом, можно протестировать, чтобы видеть, является ли брандмауэр проблемой путем выполнения:
iptables -I INPUT -m tcp -p tcp --dport 22 -j ACCEPT
Это, вероятно, позволило бы соединение SSH, если нет некоторая более глубокая проблема с брандмауэром как плохое правило NAT, которое более трудно диагностировать. Вы могли попытаться отключить брандмауэр с командой как (Fedora/CentOS/RHEL) "sudo сервис iptables, остановка" (Debian/Ubuntu) "sudo ufw отключают" (хотя на Debian/Ubuntu можно выполнять что-то другое, чем ufw, нет никакого "стандарта", который я знаю).
Тем не менее одна вещь, которую Вы могли бы хотеть рассмотреть, настраивает VPN. Тем путем не имело бы значения, каков Ваш удаленный IP, Вы использовали бы сертификаты или ключи, чтобы аутентифицировать соединение VPN и затем получить статический IP-адрес на VPN, которая могла быть позволена в брандмауэре и оболочках tcp.
Просто удалите «-eq 0»
[[ ` echo $FILE | grep -v '[0-9]\{4\}\.[0-9]\{2\}\.[0-9]\{2\}\.[0-9]\{2\}' ` ]] && echo Not Backup file
Подстановка встроенной команды вернет результат команды, а не код возврата
` echo $FILE | grep -v '[0-9]\{4\}\.[0-9]\{2\}\.[0-9]\{2\}\.[0-9]\{2\}' `
. верните пустую строку, а не ноль. Следовательно, эта единственная строка не будет работать должным образом.
Почему мы не можем использовать для этого встроенное Regexp с BASH / KSH? Где FILE1 - ваше имя резервного файла
[[ "$FILE1" =~ [0-9]{4}\.[0-9]{2}\.[0-9]{2}\.1[0-9]{2} ]] || echo "Not a backup file"
Использование времени / ЦП для этого нуля. Без необходимости вы используете три команды: echo
два раза и grep
один раз.