Чому всі мої спроби SSH провалюються через тайм-аут?


22

Я новачок у використанні ssh та суміжних технологій, тому дуже можливо, що я не розумію чогось базового. (Це також може бути питанням щодо помилки сервера .... не впевнений.)

Я намагаюся перейти на веб-сервер (який я маю), і з'єднання ніколи не встановлюється через тайм-аут.

~ $ ssh -vvv DOMAIN.com
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to DOMAIN.com [123.45.67.89] port 22.
debug1: connect to address IPADD port 22: Operation timed out
ssh: connect to host DOMAIN.com port 22: Operation timed out

Перша моя думка полягала в тому, що я якось вказав домен неправильно, або що щось не так з моїм сайтом. Тому я спробував підключитися до того ж домену через FTP, і це спрацювало нормально (було запропоновано ім’я користувача):

~ $ ftp
ftp> open
(to) DOMAIN.com
Connected to DOMAIN.com.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 12:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (DOMAIN.com:USER):

Тоді я подумав, що, можливо, я просто використовував SSH. Я почав переглядати це відео підручника . Приблизно за 1 хвилину він робить ssh will@supercars.comі отримує підказку для імені користувача, але це дає мені той же час, як і вище. Потім я спробував, ssh google.comщо робить те ж саме. ssh localhostз іншого боку, працює чудово. Тому проблема, здається, пов'язана із запитами SSH через мережу.

Наступною моєю думкою було те, що це може бути проблема брандмауера. У мене на цій машині встановлений Sophos, але, за словами мого адміністратора, він не повинен "блокувати вихідні SSH-запити".

Хтось може допомогти зрозуміти, чому це відбувається?


8
Це жива IP-адреса, яку ви нам даєте. На ньому працює незахищене FTP-з'єднання. Це може бути не дуже хорошою ідеєю. У ньому також немає нічого , що працює на порту 22, що, як я підозрюю, є джерелом ваших проблем. Ви не можете просто ssh у що-небудь, сервер повинен мати sshd, це, здається, не робиться. Якщо це ваш сервер, увімкніть ssh і вимкніть ftp. Ви можете робити ftp над ssh, як тільки він запущений.
marinus

3
Видаляти не потрібно. Я відредагував IP-адресу і попросив SE прочистити історію редагування. Таким чином, людина, яка відповіла вам, не втрачає жодної репутації.
тердон

Відповіді:


24

Це повідомлення про помилку означає, що сервер, до якого ви підключаєтесь, не відповідає на спроби з'єднання SSH на порт 22. Існують три можливі причини:

  1. Ви не працюєте на сервері SSH-сервера. Вам потрібно буде встановити його, щоб мати змогу перейти на нього.
  2. Ви працюєте з сервером SSH на цій машині, але на нестандартному порту. Вам потрібно розібратися, на якому порту він працює; скажіть, що це на порту 2222, ви потім запустите ssh -p 2222 hostname.
  3. На цій машині ви працюєте з сервером SSH, і він використовує порт, на якому ви намагаєтесь підключитися, але машина має брандмауер, який не дозволяє вам підключитися до нього. Вам потрібно буде розібратися, як змінити брандмауер, або, можливо, вам потрібно ssh з іншого хоста, щоб його пускали.

EDIT : як (правильно) зазначено в коментарях, третє, безумовно, має місце; два інших призведе до того, що сервер відправить пакет "скидання" TCP назад при спробі підключення клієнта, в результаті чого повідомлення про помилку "відхилено з'єднання", а не час, який ви отримуєте. Інші два також можуть бути так, але вам потрібно виправити третє спочатку, перш ніж ви зможете рухатися далі.


6
Якщо б він не був встановлений, або якщо він працює на іншому порту, він отримає повідомлення про відмову в з’єднанні.
Хата8

2
@ Hut8: Правильно. З ваших 3 можливостей лише третій (брандмауер) може призвести до тайм-аутів.
R ..

На Ubuntu: sudo ufw дозволяють 22; виконайте свою роботу тоді; sudo ufw заперечувати 22. digitalocean.com/community/tutorials/…
Даніель

Я думаю, що існує четверта можливість, яка полягає в тому, що сервер якось недоступний (проблеми з маршрутизацією в Інтернеті, щось середнє ...) Навіть якщо ви можете отримати доступ до інших служб, оскільки обраний маршрут може відрізнятися для sshінших служб.
Алексіс Вілке

3

Перевірте команду telnet, чи можете ви підключитися до порту SSH 22. Якщо ви не в змозі підключитися, перевірте це. Спочатку ви повинні мати можливість підключитися до порту №. 22 на сервер.

За замовчуванням SSH-порт становить 22. Але якщо ви налаштували будь-який інший порт, тоді використовуйте цей порт замість 22.

telnet <ip / url сервера> <порт>

наприклад, домен telnet.com 22


2
Цей час закінчиться точно так само (інакше ssh -vжурнал показав би, що з'єднання вдалося, а не сказати, що його вичерпано)
Wouter Verhelst

@Wouter Verhelst так, Thnx для уточнення
AVJ

Як можна перевірити, який порт налаштований? Налаштувати новий порт?
Йонатан Сімсон

@YonatanSimson, якщо у вас є доступ, ви можете використовувати sudo netstat -a64np( netstat) та шукати sshdсервер (останній стовпець). Якщо у вас немає доступу, ви можете спробувати nmap.
Алексіс Вілке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.