Я без проблем могу подключиться к нему по SSH, например раздав Интернет с телефона на ноутбук.
Но если я нахожусь с этим ноутбуком в другой локальной сети позади другого роутера - то подключиться на внешний/публичный IP не могу. Хотя между двумя роутерами поднят ВПН и я так же спокойно могу подключаться к удаленному роутеру, но на его локальный интерфейс. Однако для некоторых задач мне необходимо иметь к нему доступ и на внешний интерфейс.
Для дебага использую другой процесс SSH.
Вот как это выглядит со стороны сервера:
Spoiler
Код: Выделить всё
# /usr/sbin/sshd -4dddD -p 555
debug2: load_server_config: filename /etc/ssh/sshd_config
debug2: load_server_config: done config len = 325
debug2: parse_server_config: config /etc/ssh/sshd_config len 325
debug3: /etc/ssh/sshd_config:11 setting Port 22
debug3: /etc/ssh/sshd_config:48 setting AuthorizedKeysFile .ssh/authorized_keys
debug3: /etc/ssh/sshd_config:61 setting PasswordAuthentication yes
debug3: /etc/ssh/sshd_config:65 setting ChallengeResponseAuthentication no
debug3: /etc/ssh/sshd_config:85 setting TCPKeepAlive yes
debug3: /etc/ssh/sshd_config:90 setting ClientAliveInterval 60
debug3: /etc/ssh/sshd_config:91 setting ClientAliveCountMax 3
debug3: /etc/ssh/sshd_config:92 setting UseDNS no
debug3: /etc/ssh/sshd_config:102 setting Subsystem sftp /usr/libexec/sftp-server
debug1: sshd version OpenSSH_5.9
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug3: Incorrect RSA1 identifier
debug1: read PEM private key done: type ECDSA
debug1: private host key: #2 type 3 ECDSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-4dddD'
debug1: rexec_argv[2]='-p'
debug1: rexec_argv[3]='555'
debug2: fd 3 setting O_NONBLOCK
debug1: Bind to port 555 on 0.0.0.0.
Server listening on 0.0.0.0 port 555.
debug1: fd 4 clearing O_NONBLOCK
debug1: Server will not fork when running in debugging mode.
debug3: send_rexec_state: entering fd = 7 config len 325
debug3: ssh_msg_send: type 0
debug3: send_rexec_state: done
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7
debug1: inetd sockets after dupping: 3, 3
Connection from х.х.х.х port 63502
debug1: Client protocol version 2.0; client software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9
debug2: fd 3 setting O_NONBLOCK
debug2: Network child is on pid 23154
debug3: preauth child monitor started
debug3: privsep user:group 27:27 [preauth]
debug1: permanently_set_uid: 27/27 [preauth]
debug1: list_hostkey_types: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
Read from socket failed: Connection reset by peer [preauth]
debug1: do_cleanup [preauth]
debug1: monitor_read_log: child log fd closed
debug3: mm_request_receive entering
debug1: do_cleanup
Spoiler
Код: Выделить всё
$ ssh -vvv х.х.х.х -p 555
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/ууу/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "х.х.х.х" port 555
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to х.х.х.х [х.х.х.х] port 555.
debug1: Connection established.
debug1: identity file /home/ууу/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_rsa-cert type -1
debug1: identity file /home/ууу/.ssh/id_dsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ууу/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
ssh_exchange_identification: read: Connection reset by peer
Spoiler
Код: Выделить всё
# tcpdump -i em1 port 22555
tcpdump: listening on em1, link-type EN10MB
09:11:29.953071 а.а.а.а.63515 > 92.246.22.143.555: S 3893243434:3893243434(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
09:11:29.953102 х.х.х.х.555 > а.а.а.а.63515: S 129028136:129028136(0) ack 3893243435 win 16384 <mss 1460,nop,nop,sackOK,nop,wscale 3>
09:11:30.002420 а.а.а.а.63515 > х.х.х.х.555: . ack 1 win 16425
09:11:30.002545 а.а.а.а.63515 > х.х.х.х.555: P 1:29(28) ack 1 win 16425
09:11:30.307631 а.а.а.а.63515 > х.х.х.х.555: P 1:29(28) ack 1 win 16425
09:11:30.907559 а.а.а.а.63515 > х.х.х.х.555: P 1:29(28) ack 1 win 16425
09:11:32.107665 а.а.а.а.63515 > х.х.х.х.555: P 1:29(28) ack 1 win 16425
Spoiler
Код: Выделить всё
# ifconfig em1 mtu 1450
# ifconfig em1
em1: flags=28843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,NOINET6> mtu 1450
lladdr
priority: 0
groups: egress
media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
status: active
Spoiler
Код: Выделить всё
Oct 2 16:18:16 gw sshd[11237]: Bad protocol version identification '' from а.а.а.а
Oct 2 16:19:54 gw sshd[17088]: Did not receive identification string from а.а.а.а
Проблема не в закрытых портах, так как пакеты проходят.
Не похоже на проблему в несовместимости версий клиента и сервера, так как с того же самого ноутбука я подключаюсь к тому же серверу через другой Интернет или через ВПН.
Не похоже на пробему с удаленным сервером, так как он принимает подключения в принципе.
Не похоже на проблему с роутером, откуда подключается клиент, так как клиент без проблем подключается на другие SSH сервера с пуличными IP.
Разумеется не похоже на проблему с клиентом, так как это мой ноутбук и я с него подключаюсь к десятку-другому серверов.
Я потратил вчерашний день на дебаг и гугление и не приблизился хоть на сколько к решению.
Следопыт, Биздельник, ребята, помогите плз.