dadv: (Default)

Обновил один из рабочих серверов FreeBSD с версии 7.4-STABLE на 8.2-STABLE через csup/buildworld/kernel, по стандартной процедуре из /usr/src/UPDATING, установил compat7x.

Система поднялась и заработала без проблем, но сломались все скрипты, которые запускаются из cron и ходят по своим делам на удаленные машины через ssh, авторизуясь ключами:

WARNING: DSA key found for host xxx
in /home/xxx/.ssh/known_hosts:6
DSA key fingerprint e8:63:14:52:5e:aa:5c:73:b2:1f:c1:b3:f9:4f:87:54.

Host key verification failed.

Дело в том, что когда-то давно из-за проблем с патентами RSA в FreeBSD запатчили ssh на предмет предпочтения ключей DSA перед RSA по умолчанию. И в таком состоянии FreeBSD жила много лет. Срок тех проблемных патентов истек и патч этот из системы убрали и теперь по умолчанию sshd в FreeBSD опять предпочитает ключи RSA. Кроме того, иначе как багом нельзя назвать нынешнее поведение ssh, когда он при наличии DSA-отпечатка в known_hosts и отсутствии RSA не использует DSA, а говорит Host key verification failed (при запуске без controlling terminal, иначе входит в диалоговый режим и предлагает сохранить RSA-отпечаток).

Серверов и отпечатков много, чтобы быстро восстановить работу, в /etc/ssh/ssh_config вписал строчку, восстанавливающую поведение ssh в версии 7.4:

HostKeyAlgorithms ssh-dss,ssh-rsa

Profile

dadv: (Default)
Choose your future

June 2017

M T W T F S S
   1234
56 7891011
12131415161718
19202122232425
2627282930  

Syndicate

RSS Atom

Tags

Style Credit

Powered by Dreamwidth Studios