Запустив Ubuntu 12.04, я настроил сервер OpenSSH. Я могу подключиться изнутри локальной сети, но не снаружи. Я использую тот же sshd_config
файл, что и на других машинах с Ubuntu 12.04 (которые находятся в другой локальной сети).
$ ssh 192.168.0.2
работает нормально, но
$ ssh 65,76,97,222
(составленный IP-адрес) не работает. Ничего не произошло. Нет сообщения об ошибке или что-нибудь. Приглашение просто сидит там.
Благодаря комментариям ниже, мне удалось проверить через веб-сайты canyouseeme.org и ShieldsUP, что порт 22 действительно открыт.
Используя опцию -vvv
, я получаю следующее:
$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1
И тогда подсказка просто сидит там.
Дополнительная отладочная информация от var/log/auth.log
:
$ grep sshd /var/log/auth.log
[cutting old lines...]
Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
Я разрешаю любому пользователю подключаться, в частности, мое собственное имя пользователя. Что меня смущает, так это то, что у меня не было этой проблемы ни на одной другой машине, хотя они находятся на другой локальной сети. К этой локальной сети подключен только один компьютер. Есть идеи, как действовать дальше?
-v
,-vv
к-vvv
) , чтобы получить дополнительную информацию: Re: подключение. например,ssh -vvv -p 51555 65.76.97.222
.Ответы:
Несколько вещей для вас, чтобы проверить.
Проверьте
/etc/ssh/sshd_config
и убедитесь, что у вас нет забавныхAllowUsers
записей.Укажите пользователя, которого вы хотите подключить как:
Проверьте свой брандмауэр (
iptables
):источник
Убедитесь, что ваш шлюз на сервере SSH настроен на маршрутизатор, выполняющий переадресацию портов.
route -n
Маршрут по умолчанию должен указывать на этот маршрутизатор, в противном случае вы сможете инициировать соединения через него, но ACK никуда не денутся!
источник
Нужно проверить, что переадресация портов работает правильно. Обычно я проверяю это, перейдя по адресу https://www.grc.com/shieldsup > Продолжить>, введите номер своего порта в поле и нажмите указанный пользователем порт. Это должно сказать вам, если этот порт TCP на самом деле открыт для общественности
источник
grep sshd /var/log/auth.log
auth.log
:Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
Вы объявляете пользователя?
ssh Jimmy@65.76.97.222 -p51555
Если вы дали код так, как вы его используете, то я считаю, что он по умолчанию будет соответствовать текущему имени пользователя.
Кроме того, вам нужно иметь пользователя в системе TARGET с разрешением. в приведенном выше примере "Джимми"
источник
sshd_config
разрешает подключаться любому пользователю.