У меня возникла внезапная проблема с подключением SSH к моему серверу:
ssh -v --@--
OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips 1 Mar 2016
debug1: Reading configuration data /home/paul/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to -- [--] port 22.
debug1: Connection established.
debug1: identity file /home/paul/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
debug1: Remote protocol version 1.99, remote software version OpenSSH_6.6.1p1
debug1: match: OpenSSH_6.6.1p1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to --:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group-exchange-sha1
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: kex: client->server cipher: aes128-cbc MAC: hmac-sha1 compression: none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<7680<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
ssh_dispatch_run_fatal: Connection to -- port 22: DH GEX group out of range
Я прочитал этот вопрос SSH: группа DH_GEX вне допустимого диапазона в целом, однако, похоже, что на это нет ответа. Я контролирую и клиент, и сервер, они оба используют обычный OpenSSH и Ubuntu Linux. Никаких третьих лиц. Ошибка тоже кажется немного другой, на размер битов не жалуется.
Если вы хотите использовать более новый OpenSSH для подключения к устаревшим серверам:
ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -o HostKeyAlgorithms=+ssh-dss my.host.com
Добавьте -v, если вы хотите увидеть, что происходит, и -o HostKeyAlgorithms = ssh-dss, если это все еще не работает:
ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com
Вы также можете, конечно, отредактировать / etc / ssh / ssh_config или ~ / .ssh / ssh_config и добавить:
Host my.host.com *.myinsecure.net 192.168.1.* 192.168.2.*
HostKeyAlgorithms ssh-dss
KexAlgorithms diffie-hellman-group1-sha1
https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069 упоминает следующее исправление на Mikrotik Routerboards:
/ip ssh set strong-crypto=yes
(Обратите внимание на это здесь, потому что этот ответ также появляется при поиске в Интернете при поиске аналогичного сообщения об ошибке.)
Если вы хотите использовать его через Git без редактирования ssh_config или обновления сервера SSH:
GIT_SSH="ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=diffie-hellman-group14-sha1" git clone ssh://user@host/path-to-repository
Похоже, у вас новее Клиент OpenSSH (OpenSSH 7.2p2) против старшая Сервер OpenSSH (OpenSSH 6.6.1p1). в Примечания к выпуску OpenSSH 7.1p2, в нем упоминается:
- ssh (1), sshd (8): увеличьте минимальный размер модуля, поддерживаемый для diffie-hellman-group-exchange, до 2048 бит.
Судя по сообщению об ошибке, похоже, что это ваш клиент который отклоняет значение обмена группы DH, представленное _server.
Таким образом, мне интересно, началась ли «внезапная проблема» примерно в то время, когда на вашем клиентском компьютере были применены некоторые пакеты / обновления.
Согласно этому Сообщение SecurityExchange, который описывает очень похожую проблему, "решение" может заключаться в а) изменить /etc/ssh/moduli
файл на стороне сервера, чтобы сервер не использовал группы DH меньше 2048 бит, или б) обновите сервер до OpenSSH 7.1p2 или новее.