При использовании ssh в локальной сети у меня возникает следующая проблема.
Я установил небольшой кластер машин Xeon с использованием MAAS. Я установил Ubuntu Server 12.04 на все машины и настроил локальную сеть 192.168.100.0/24. Машины подключаются через коммутатор TpLink TL-SG-1024. ssh отлично работает между этими Xeon.
Я подключил несколько плат ARM под управлением Ubuntu 13.04 к этому кластеру, не добавляя их в MAAS. Однако я вручную настроил /etc/maas/dhcpd.conf, чтобы эти платы получали исправленный IP-адрес (v4) в той же локальной сети 192.168.100.0/24. Платы получают соответствующий IP-адрес, и между ними и каждой из машин Xeon работает пинг. Однако ssh не работает - зависает. Вот результат ssh -vvv ubuntu@octa02
(с одной из машин Xeon)
OpenSSH_5.9p1 Debian-5ubuntu1.1, 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 octa02 [192.168.100.82] port 22.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/ubuntu/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/ubuntu/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/ubuntu/.ssh/id_rsa-cert type -1
debug1: identity file /home/ubuntu/.ssh/id_dsa type -1
debug1: identity file /home/ubuntu/.ssh/id_dsa-cert type -1
debug1: identity file /home/ubuntu/.ssh/id_ecdsa type -1
debug1: identity file /home/ubuntu/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1p1 Debian-4
debug1: match: OpenSSH_6.1p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "octa02" from file "/home/ubuntu/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /home/ubuntu/.ssh/known_hosts:15
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug1: SSH2_MSG_KEXINIT sent
То же самое происходит, когда я пробую ssh с платы ARM на плату Xeon. Единственная разница в том, что версия ssh на платах ARM:
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
Итак, я скомпилировал версию 5.9 на ARM, но результат тот же. Я также скомпилировал версию 6.1 на Xeon и она тоже зависает:
ssh -vvv ubuntu@octa02
OpenSSH_6.1p1, OpenSSL 1.0.1 14 Mar 2012
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.100.82 [192.168.100.82] port 22.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/ubuntu/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/ubuntu/.ssh/id_rsa type 1
debug1: identity file /home/ubuntu/.ssh/id_rsa-cert type -1
debug1: identity file /home/ubuntu/.ssh/id_dsa type -1
debug1: identity file /home/ubuntu/.ssh/id_dsa-cert type -1
debug1: identity file /home/ubuntu/.ssh/id_ecdsa type -1
debug1: identity file /home/ubuntu/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.1p1 Debian-4
debug1: match: OpenSSH_6.1p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.1
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "192.168.100.82" from file "/home/ubuntu/.ssh/known_hosts"
debug3: load_hostkeys: loaded 0 keys
debug1: SSH2_MSG_KEXINIT sent
Кроме того, ssh 6.1 между платами ARM работает. Но от ssh 6.1 до ssh 5.9 не работает.
Самое странное, что я подключил маленькие платы во внешнюю сеть. Мастер кластера Xeon также подключен к этой сети. И ssh между основной платой и платой ARM работает через эту сеть (и существуют разные версии ssh: 5.9 на Xeon и 6.1 на ARM).
Спасибо, что прочитали этот длинный пост. Есть ли у вас какие-либо предложения?