Просто для вдосконалення відповіді метелика, який містить мертве посилання для пошуку старого списку алгоритмів.
Спочатку визначтесь із списком алгоритмів. Щоб знайти старий список, використовуйте ssh -vv:
ssh -vv somehost
І шукайте два рядки на зразок "алгоритми ключових ключів: ...", де перший, як видається, є пропозицією сервера, а другий - клієнтом. Або вибирати ці два рядки автоматично, спробуйте це (і вийти з натискання клавіш ctrl + d):
ssh -vv somehost 2>&1 | grep "host key algorithms:"
Тепер відфільтруйте його ... ви повинні видалити всі файли dss / dsa, оскільки вони давно застаріли, а також ви хотіли видалити ecdsa (як і я), наприклад, якщо у вас був:
ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Ви повинні закінчити:
ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Тепер відредагуйте свою конфігурацію. Для власної конфігурації:
vim ~/.ssh/config
Для конфігурації системи:
sudo vim /etc/ssh/ssh_config
Додайте новий рядок у всьому світі:
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
або для конкретного хоста (не ідеально для конфігурації сервера):
Host somehost
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
Замість списку, який я ввів, вставте список, який ви отримали з ssh -vvрезультату, не включаючи частину "алгоритми ключового ключа:".