Ошибка в подключении libcrypto сервера RHEL 9 к Centos 6 через SFTP/SSH.
Я пытаюсь подключиться с нового сервера RHEL9 к более старому серверу Centos 6 к файлам SFTP со старого сервера на новый для обновления, но при подключении с 9 на 6 я получаю следующую ошибку:
[ewessel@ftp ~]$ ssh -v ewessel@10.30.1.250
OpenSSH_8.7p1, OpenSSL 3.0.1 14 Dec 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/50-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: configuration requests final Match pass
debug1: re-parsing configuration
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/50-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: Connecting to 10.30.1.250 [10.30.1.250] port 22.
debug1: Connection established.
debug1: identity file /home/ewessel/.ssh/id_rsa type -1
debug1: identity file /home/ewessel/.ssh/id_rsa-cert type -1
debug1: identity file /home/ewessel/.ssh/id_dsa type -1
debug1: identity file /home/ewessel/.ssh/id_dsa-cert type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/ewessel/.ssh/id_ed25519 type -1
debug1: identity file /home/ewessel/.ssh/id_ed25519-cert type -1
debug1: identity file /home/ewessel/.ssh/id_ed25519_sk type -1
debug1: identity file /home/ewessel/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/ewessel/.ssh/id_xmss type -1
debug1: identity file /home/ewessel/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.7
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: compat_banner: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000002
debug1: Authenticating to 10.30.1.250:22 as 'ewessel'
debug1: load_hostkeys: fopen /home/ewessel/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes256-ctr MAC: hmac-sha2-256 compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: hmac-sha2-256 compression: none
debug1: kex: diffie-hellman-group-exchange-sha256 need=32 dh_need=32
debug1: kex: diffie-hellman-group-exchange-sha256 need=32 dh_need=32
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<8192<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_GROUP received
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: SSH2_MSG_KEX_DH_GEX_REPLY received
debug1: Server host key: ssh-rsa SHA256:nMDl3BNpsOOJ6gyMudi6szQS3Pchxe2Ttmj1dH9fLB8
debug1: load_hostkeys: fopen /home/ewessel/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '10.30.1.250' is known and matches the RSA host key.
debug1: Found key in /home/ewessel/.ssh/known_hosts:1
ssh_dispatch_run_fatal: Connection to 10.30.1.250 port 22: error in libcrypto
если я попытаюсь подключиться другим способом, я получу следующую ошибку:
[ewessel@ftp ~]$ ssh -v ewessel@10.30.1.225
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.30.1.225 [10.30.1.225] port 22.
debug1: Connection established.
debug1: identity file /home/ewessel/.ssh/identity type -1
debug1: identity file /home/ewessel/.ssh/identity-cert type -1
debug1: identity file /home/ewessel/.ssh/id_rsa type -1
debug1: identity file /home/ewessel/.ssh/id_rsa-cert type -1
debug1: identity file /home/ewessel/.ssh/id_dsa type -1
debug1: identity file /home/ewessel/.ssh/id_dsa-cert type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa type -1
debug1: identity file /home/ewessel/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.7
debug1: match: OpenSSH_8.7 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
no hostkey alg
Есть идеи, как заставить эти две машины общаться друг с другом? Я хотел бы скопировать пользовательские файлы со старой машины на новую, чтобы можно было вывести из эксплуатации старую машину Centos 6.
2 ответа
В RHEL 9 по умолчанию используются более надежные криптографические шифры и алгоритмы, что нарушает совместимость с устаревшими системами.
Варианты демона SSH в системе RHEL 9:
Переключите общесистемную криптографическую политику в режим, совместимый с более ранними выпусками, как описано в руководстве по усилению защиты RHEL 9 . Как
root
(или сsudo
) бегать:# update-crypto-policies --set LEGACY Setting system policy to LEGACY
и перезагрузитесь.
Примечание. При этом изменяются все демоны и системные настройки, и это немного излишне, если вам нужно настроить только настройки ssh и sshd.
Исключите (только) sshd из общесистемной криптографической политики. Вы отказываетесь от участия, редактируя
/etc/sysconfig/sshd
и раскомментируем строку# CRYPTO_POLICY=
, (при необходимости вы можете затем отрегулировать настройку/etc/ssh/sshd_config
и добавьте устаревшие настройки шифрования) и перезапустите демон ssh.
Для клиента командной строки ssh в системе RHEL 9: рекомендуется отредактировать˜/.ssh/config
и переопределить современные/безопасные настройки ssh-клиента по умолчанию для всей системы, добавив запись Host, которая добавляет поддержку подходящих устаревших вариантов шифрования для этого конкретного хоста:
# ˜/.ssh/config
Host rhel6.example.com
KexAlgorithms +diffie-hellman-group14-sha1
MACs +hmac-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Чтобы устранить ошибку, возникшую при подключении нового сервера RHEL9 к более старому серверу CentOS 6 для передачи файлов SFTP, выполните следующие действия: Создайте файл конфигурации с именем «config» в каталоге ~/.ssh. Файл не должен иметь расширения. Для его создания вы можете использовать команду touch config. Откройте файл конфигурации с помощью текстового редактора по вашему выбору, например Vim, Vi или Nano. Вставьте следующий код в файл конфигурации: введите код здесь введите код здесь
KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
HostkeyAlgorithms ssh-dss,ssh-rsa
Host rhel9.example.com
KexAlgorithms +diffie-hellman-group14-sha1
MACs +hmac-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Сохраните файл после вставки кода. Перезапустите сервер SSH, перезапустив службу sshd или перезагрузив сервер. Точный метод может варьироваться в зависимости от используемого вами дистрибутива. Выполнив эти шаги, вы сможете устранить ошибку, возникшую при подключении к серверу CentOS 6. Эта конфигурация также полезна при подключении к маршрутизатору Cisco через SSH.