Рубрики
SSH

ssh \ Проблемы при подключении \ diffie-hellman-group1-sha1 \ config \ authorized_keys \ Their offer:


Довольно распространённой является проблема с алгоритмами шифрования на старом железе:
Если при попытке зайти на коммутатор из под Linux возникает ошибка 
"Unable to negotiate with AnyHost port 22: no matching key exchange method found. 
Their offer: diffie-hellman-group1-sha1" 

Можно выполнить следующую команду:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@host где user - имя пользователя на свитче, а host - IP-адрес свитча.
После выполнения данной команды необходимо повторно подключиться к хосту.

Но бывает так, что приведенная выше команда не устраняет проблему и мы увидим в терминале следующий вывод: 
"Unable to negotiate with host port 22: no matching cipher found. 
Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc"

Проверяем используемые нами типы шифрования для SSH:
ssh -Q cipher

Допустим, получим следующий вывод:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm
aes256-gcm

Смотрим на вывод ошибки и сверяем предлагаемые типы шифрования с доступными нам. 
Допустим, совпадает "aes256-cbc". 

Выполним следующую команду:
ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 user@host
где -c aes256-cbc - жесткая привязка к алгоритму шифрования;
user - имя пользователя на свитче;
host - IP-адрес свитча.

Пример .ssh/config:

Host localhost
  StrictHostKeyChecking no
Host localhost:2222
  StrictHostKeyChecking no
Host localhost:5999
  StrictHostKeyChecking no
Host ИМЯ_ХОСТА 
  KexAlgorithms +diffie-hellman-group1-sha1
Host 10.1.1.20 
  KexAlgorithms +diffie-hellman-group1-sha1
Host gootle.com
  Port  22003
  KexAlgorithms +diffie-hellman-group1-sha1
Host 8.8.8.8
  KexAlgorithms +diffie-hellman-group1-sha1

.ssh/authorized_keys

ssh-rsa ПУБЛИЧНЫЙ_КЛЮЧ

Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa

ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1

Unable to negotiate with 192.168.16.16 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Unable to negotiate with 192.168.16.16 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,kexguess2@matt.ucc.asn.au

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss  user@host.local