воскресенье, 23 октября 2022 г.

Подключение из нового Rocky Linux 9 к старому CentOS 6

Rocky Linux 9 имеет повышенный уровень защищенности.
В ОС по умолчанию не поддерживается устаревший алгоритм шифрования SHA1.
Подключение к старой версии CentOS 6.4 затруднительно.
При настройках по умолчанию подключение выдает ошибку:
# ssh root@10.10.50.252
ssh_dispatch_run_fatal: Connection to 10.10.50.252 port 22: error in libcrypto

Есть два способа устранить проблему:

1) В старой системе CentOS 6.4 использовать алгоритм ECDSA вместо RSA для создания ключа.
На сервере CentOS6.4 ключ ECDSA создается так:
# yum update openssh
# ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -C '' -N ''
# chmod 600 /etc/ssh/ssh_host_ecdsa_key
# chmod 640 /etc/ssh/ssh_host_ecdsa_key.pub
# restorecon /etc/ssh/ssh_host_ecdsa_key.pub

Добавляем в настройки демона ssh опцию использования ключа ECDSA
# nano /etc/ssh/sshd_config
Добавляем строчку:
    HostKey /etc/ssh/ssh_host_ecdsa_key
Рестартуем сервис SSH:
# service sshd restart
На новом сервере Rocky Linux 9 указываем в настройках клиента SSH:
# nano /etc/ssh/ssh_config
    Host 10.10.50.252
        Hostkeyalgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521

Рестартуем сервис SSH:
# systemctl restart sshd

2) Разрешить на Rocky Linux 9 работать с алгоритмом SHA1.
Для этого нужно выполнить команду:
# update-crypto-policies --set DEFAULT:SHA1
Данная команда добавит к настройкам по умолчанию возможность работы с SHA1
После этого нужно перезагрузить систему:
# reboot
Просмотр текущих политик шифрования:
# update-crypto-policies --show
Подробнее о политиках шифрования в Rocky Linux 9 (red hat 9):
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening
Возврат к первоначальным политикам шифрования:
# update-crypto-policies --set DEFAULT
# reboot


Примечание:
Если на удаленном сервере провели замену типа ключа шифрования,
то при подключении к удаленному серверу на локальном может возникать ошибка:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:hsXXFgEjfF3lSdQEiTmN+EvuEbhY7eR.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending RSA key in /root/.ssh/known_hosts:2
Host key for 10.10.50.252 has changed and you have requested strict checking.
Host key verification failed.

Для решения проблемы нужно на локальном сервере удалить старый ключ из файла /root/.ssh/known_hosts
# nano /root/.ssh/known_hosts
Здесь нужно найти строчку с IP адресом удаленного сервера, к которому подключаемся.
Например, строка может быть такая:
10.10.50.252 ssh-rsa AAAAB3NzaC1yc2EAAAaKNoaFSSnD/S5mvc
Удаляем строку.
После этого подключение к удаленному серверу 10.10.50.252 по новому протоколу ECDSA будет проходить успешно.

Комментариев нет:

Отправить комментарий