1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
Довольно распространённой является проблема с алгоритмами шифрования на старом железе: Если при попытке зайти на коммутатор из под 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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
1 |
ssh-rsa ПУБЛИЧНЫЙ_КЛЮЧ |
Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa
1 |
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
1 |
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss user@host.local |