git pull ничего не делает / git push просто зависает / debug1: ожидается SSH2_MSG_KEX_ECDH_REPLY

14

У меня была проблема в Ubuntu 13.10 и 12.10, когда попытка подключиться к github (git clone / pull / push или что-либо еще) не удалась без вывода.

Я проверил мой каталог / .ssh configи все ключи ssh. У меня не было конфигурационного файла, и ключ ssh id_rsaбыл тем же, который был в моей учетной записи на github.com.

Я попытался пропинговать серверы github и тоже смог.

Я следовал руководству GitHub для отладки ситуации - он предлагает

ssh -T -v git@github.com

Выход останавливается на:

debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

У любого есть решение, позволяющее моему git pull / push и т. Д. Работать.

Джейсон
источник

Ответы:

16

Решение было найдено здесь: SSH работает в замазке, но не в терминале

в Ubuntu 13.10 / 12.10 войдите и получите доступ sudo.

Отредактируйте /etc/ssh/ssh_config, раскомментируйте следующие строки

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160

Добавьте следующую строку

HostKeyAlgorithms ssh-rsa,ssh-dss

В итоге ваш /etc/ssh/ssh_configфайл должен выглядеть так

Host *
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
HostKeyAlgorithms ssh-rsa,ssh-dss

Теперь запустите, ssh -T -v git@github.comи он попросит вас добавить сервер в ваш известный файл hosts. Хит да, и тогда он должен приветствовать вас на сервере.

Hi ****! You've successfully authenticated, but GitHub does not provide shell access.
Джейсон
источник
1
Старый вопрос, но: можете ли вы сказать мне, почему возникает проблема и как решение этих строк решает ее?
Paljenczy
Связанный ответ объясняет это
musicin3d