Как устранить ошибку «не найдено соответствующего mac», когда я пытаюсь подключиться по ssh

Я получаю следующую ошибку: не найден соответствующий mac: клиент hmac-md5, hmac-sha1, hmac-ripemd160, [email protected], hmac-sha1-96, hmac-md5-96 сервер hmac-sha2 [email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,[email protected]


person Daniel vijay Sundar    schedule 24.07.2018    source источник


Ответы (4)


Вы получаете эту ошибку, потому что клиент и сервер не могут согласовать алгоритм хеширования для кода аутентификации сообщения.

Дополнительная информация здесь: https://blog.tinned-software.net/debug-ssh-connection-issue-in-key-exchange/

person Community    schedule 24.07.2018
comment
Возможно, вы захотите проверить настройки своего ssh-сервера с помощью github.com/arthepsy/ssh-audit - person bbaassssiiee; 02.09.2019

Я боролся с этой проблемой в течение приличного времени, прежде чем понял основы и первопричину. Делюсь опытом, может кому пригодится.

Я пытался подключиться по ssh к целевому серверу и получил ошибку, как показано ниже.

$ ssh -A <someTargetServerNameOrIP>
Unable to negotiate with XX.XX.XX.XX port 1234: no matching MAC found.   
Their offer:   
[email protected],[email protected],
[email protected],hmac-sha2-512,hmac-sha2-256,[email protected]

Основная причина этой ошибки заключается в том, что на исходном компьютере поддерживаемый MAC-адрес не содержит MAC-адреса целевого сервера.

чтобы увидеть этот запуск в командной строке на вашем компьютере

$ ssh -Q mac   # output would be something like
hmac-sha1
hmac-sha1-96
hmac-sha2-256
hmac-sha2-512
hmac-md5
hmac-md5-96
[email protected]
[email protected]

Итак, теперь, чтобы подключиться к целевому серверу с их выбором Mac, который ваш сервер не поддерживает, вы должны явно указать один из Mac, поддерживаемый целевым сервером. Например, берем hmac-sha2-512 из сообщения об ошибке и пытаемся подключиться, и он подключится

$ ssh -m hmac-sha2-512 -A <someTargetServerNameOrIP>

Другим вариантом проблемы является несоответствие в шифре, которое выглядит следующим образом:

$ ssh -A <someTargetServerNameOrIP>       
Unable to negotiate with XX.XX.XX.XX port 1234: no matching cipher found.   
Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

Основная причина - несоответствие шифра

Проверьте поддерживаемый шифр с помощью

$ ssh -Q cipher   # output would be something like
3des-cbc
aes256-cbc
[email protected]
aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]

Итак, теперь, чтобы подключиться к целевому серверу с их выбором шифра, который ваш сервер не поддерживает, вы должны явно указать один из шифров, поддерживаемых целевым сервером. Например, берем hmac-sha2-512 из сообщения об ошибке и пытаемся подключиться, и он подключится

$ ssh -m aes128-cbc -A <someTargetServerNameOrIP>

Более подробную информацию об этом можно найти на https://diego.assencio.com/?index=688f3a536f63c43566c94f0818d9ecf3

Надеюсь, это поможет кому-то.

person Sanjay Bharwani    schedule 18.10.2019

на сервере centOS/RHEL 7 при попытке доступа к серверу с помощью инструмента TMA pulse secure и получении следующей ошибки в /var/log/secure

[root@rhellinuxserver ~]# cat /var/log/secure| grep -iE "no matching"
Aug 24 07:02:07 rhellinuxserver sshd[29958]: Unable to negotiate with 172.21.112.111 port 16899: no matching MAC found. Their offer: hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160,[email protected] [preauth]
Aug 24 07:15:24 rhellinuxserver sshd[30702]: Unable to negotiate with 172.21.112.111 port 33541: no matching MAC found. Their offer: hmac-sha1,hmac-sha1-96,hmac-md5,hmac-md5-96,hmac-ripemd160,[email protected] [preauth]

Чтобы решить эту проблему, отредактируйте файл sshd_config, как указано ниже.

 # cat -n /etc/ssh/sshd_config | grep -i MAcs 

Найдите строку

MACs [email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,[email protected] 

Замените его на

MACs hmac-sha1,hmac-sha1-96,hmac-md5,[email protected],[email protected],[email protected],hmac-sha2-512,hmac-sha2-256,hmac-ripemd160 

Это добавит следующие дополнительные алгоритмы MAC.

hmac-sha1,hmac-sha1-96,hmac-md5,hmac-ripemd160 

перезапустите службу SSHD сейчас

 systemctl restart sshd 

теперь можно получить доступ к серверу и найти результат успеха в файле журнала /var/log/secure.

cat /var/log/secure| grep -i Accepted
Aug 24 07:18:24 rhellinuxserver sshd[548]: Accepted password for username from 172.21.112.111 port 53776 ssh2
person Namasivayam    schedule 24.08.2020

Последний клиент шпатлевки решил проблему.

person user3641404    schedule 25.03.2020
comment
В какой версии эта проблема упоминалась в примечаниях к выпуску? - person Jason Aller; 25.03.2020