ssh висит тогда тайм-аут

8

Я новичок в SSH на Linux. У меня есть два компьютера, подключенных к коммутатору. Первый - 192.168.1.2, а второй - 192.168.1.3. Когда я использую pingкоманду, я получаю ответ, и все хорошо, но когда я использую ssh с первого компьютера, ssh -v user@192.168.1.3он дает мне,

OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.2 [192.168.1.2] port 22.
debug1: connect to address 192.168.1.2 port 22: Connection timed out

У меня установлен SSH на обеих машинах. Любые идеи о том, как я могу решить эту проблему?

Сэм
источник

Ответы:

1

Проверьте эти вещи:

  • Порт 22 открыт и может принимать соединения
  • Убедитесь, что на сервере запущен OpenSSH или другой процесс SSH
  • Убедитесь, что в файле конфигурации SSH указаны соответствующие значения

источник
10
ттт. man sshd_config |grep -i appropriateпоявляется пустым на всех моих коробках linux, и Solaris тоже
sehe
@sehe Файл не находится в / etc / ssh /?
3
Это сделало меня <headdesk /> даже в постели. Сарказм не удастся. То, что я (насмешливо) предложил, так это то, что документация не содержит информации о соответствующих (sic) настройках
сехе
спасибо за все, фактически порт 22 был закрыт, поэтому я вставил эту команду [code] iptables -A INPUT -p tcp -d 0/0 -s 0/0 --dport 22 -j ПРИНЯТЬ [/ code]
Сэм
Спасибо @ Norway, я столкнулся с той же проблемой. Как я могу проверить эти вещи? Я использую Shared Hosting. Спасибо.
абу абу
3

Советы по устранению неполадок:

  • Вы можете ssh localhostна сервере?
  • Разрешено ли пользователям? ( AllowUsersнастройка)
  • Вы привязываетесь к внешнему NIC? (искать ListenAddress 0.0.0.0или ListenAddress ::)
  • Вы работаете на порту 22? ( Port)

    • В основном проверь /etc/ssh/sshd_config.
  • Добавлено : вы можете использовать, netstat -tlpn | grep 22чтобы узнать, какие программы (если есть) прослушивают порт 22 ( запустите от имени пользователя root, чтобы увидеть имена процессов ).

Также рассмотрите возможность использования явного соединения через порт вместо ping (например, nmap -PN remote -p22или просто telnet remote 22)

sehe
источник
1

Я знаю, что вопрос о частной сети, но у меня был похожий вывод, когда я пытался получить доступ к устройству через Интернет. После поиска в Google я нашел этот вопрос; так что, хотя он может не отвечать на вопрос, другие могут найти мой ответ полезным. В моем случае оказалось, что мой провайдер блокирует порт 22 / TCP.

Если вы пытаетесь получить доступ к устройству через Интернет, существует в основном пять возможностей:

  1. Возможно, между компьютерами не установлено сетевое соединение. Попробуйте пропинговать IP-адрес сервера. Если вы не можете получать пакеты, попробуйте проверить сетевое соединение на обеих машинах.
  2. Сервер SSH может быть неправильно настроен. Попробуйте использовать SSHing на устройстве локально (от того же устройства и пользователя к тому же устройству и пользователю) через:

    ssh localhost
    
  3. Если серверный компьютер подключен к Интернету через маршрутизатор, переадресация портов может быть настроена неправильно. Итак, проверьте конфигурацию переадресации портов на вашем маршрутизаторе.

  4. Локальный брандмауэр на компьютере-сервере может фильтровать входящее соединение. Попробуйте разрешить входящие соединения через порт 22 / TCP в правилах брандмауэра или временно отключить брандмауэр.
  5. Один или оба интернет-провайдера могут фильтровать соединение. Попробуйте изменить порт на сервере на что-то вроде 2222, перезапустить сервер SSH и SSHing, используя новый порт. Вы можете указать порт на клиентском компьютере с помощью -pопции в команде:

    ssh USER@HOST -p PORT
    
Георгий Гзиришвили
источник
0

Сначала проверьте, работает ли SSH на принимающей стороне. Войдите в систему на удаленном компьютере и попробуйте подключиться к ssh к localhost (ssh к той же машине, на которой вы находитесь).

ssh -v myUserName@localhost

Это должно запросить ваш пароль, а затем войти в систему на той же машине. Если это не работает, это означает, что на этом хосте не включен SSH. Включение «удаленного входа» на этом сервере должно решить проблему.

Однако, если вы смогли успешно выполнить ssh с целевого сервера на себя, проблема, скорее всего, где-то посередине. Следующее, что вы должны проверить - это брандмауэры на исходном хосте, чтобы убедиться, что они не блокируют ssh.


источник
1
Я называю «отказ от рук»: на Enabling "remote login"самом деле ничего не значит. Устранение проблемы также должно включить «удаленный вход», FWIW
sehe
0

Если openssh-сервер уже установлен, возможно, блокировка брандмауэра ... при условии, что у вас включен UFW.

Если вы едете с машины 192.168.1.2 на целевую машину 192.168.1.3. На целевой машине сделать ... Судо UFW позволяют от 192.168.1.2. И наоборот было бы удобно

сту
источник
0

[Это мой первый ответ, я прошу конструктивной критики в случае необходимости. Спасибо. :)]

Это может быть случай, когда вас забанят на целевой машине, например, из-за того, что вы несколько раз вводили неверный пароль.

Редактировать /etc/fail2ban/jail.localна целевой машине ( 192.168.1.3в вашем случае). Это может быть сделано, если вы можете sshна эту машину с другой, где вы не забанены.

Заполните строку ignoreipпод [DEFAULT]IP-адресом вашего исходного компьютера:

[DEFAULT]

ignoreip = 192.168.1.2
Балинт Сасс
источник
-1

Проверьте следующие вещи:

1) Запустите nmap localhost и проверьте состояние порта 22

2) На вашем втором компьютере, с которым вы хотите соединиться через ssh, выполните ssh localhost

Taimoor
источник