Ssh_exchange_identification: соединение, закрытое удаленным хостом в Git bash
Я работаю в win7 и настраиваю git сервер с sshd.
I git --bare init myapp.git
и клон ssh://[email protected]/home/git/myapp.git
в Cywgin. Но мне нужно config git из Cygwin, я хочу git клонировать в Git Bash. Я запустил git clone ssh://[email protected]/home/git/myapp.git
и получил следующее сообщение
ssh_exchange_identification: Connection closed by remote host
тогда я запускаю ssh -vvv [email protected]
в Git Bash и получаю сообщение
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /c/Users/MoreFreeze/.ssh/identity type -1
debug3: Not a RSA1 key file /c/Users/MoreFreeze/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
// above it repeats 24 times
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /c/Users/MoreFreeze/.ssh/id_rsa type 1
debug1: identity file /c/Users/MoreFreeze/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host
Кажется, у моих личных ключей неправильный формат? И я обнаружил, что есть только 25 строк в закрытых ключах без BEGIN
и END
.
Я смущен, почему он сказал НЕ ключ RSA1, я полностью гарантирую, что это ключ RSA 2.
Любые советы приветствуются.
Кстати, я прочитал первые 3 страницы в google об этой проблеме.
Ответы
Ответ 1
У меня была эта проблема сегодня, и я понимаю, что я подключен к двум различным сетям (LAN и WLAN), я решил, что просто отсоединяю кабель от моего Ethernet-адаптера. Я полагаю, что проблема вызвана тем, что ключ ssh привязан к MAC-адресу моего беспроводного адаптера. Надеюсь, это поможет вам.
Ответ 2
Я просто столкнулся с этим сегодня, и это произошло потому, что сервер, к которому я пытался подключиться, был перегружен обработкой. Таким образом, возможно, что на сервере мало памяти или процессор голоден.
Ответ 3
Просто введите на стороне сервера:
echo 'SSHD: ALL' >> /etc/hosts.allow
Это разобрано для меня.
Ответ 4
Нажмите следующую команду ssh restart
в Linux
[email protected]:~/backup/NoisyNeighbour$ service ssh restart
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.75" (uid=1417676764 pid=5933 comm="stop ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.76" (uid=1417676764 pid=5930 comm="start ssh ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Ответ 5
Убедитесь, что вы не подключаетесь к каким-либо VPN.
Ответ 6
Получено то же сообщение об ошибке. Отключение Wi-Fi и включение его снова работало для меня.
Ответ 7
Если имя хоста не работает, попробуйте IP-адрес.
Это происходит прямо сейчас, поэтому я должен сказать. Я пытаюсь ssh с моим именем хоста, и он не работает.
ssh [email protected]
это дает ошибку "ssh_exchange_identification: соединение закрыто удаленным хостом"
ИСПОЛЬЗУЕМЫЙ, чтобы работать на один час назад.
НО, и вот интересная часть, IP-адрес работает!
ssh [email protected]
(конечно, фактический IP-адрес отличается)
Перейдите по фигуре!
Ответ 8
После удаления/удаления rm ~/.ssh/known_hosts
моя проблема была исправлена
Ответ 9
Привет, я исправляю это на одном vps-сервисе, перезагружая его, иначе вы имеете консоль от вашей службы o любой другой способ запускать команду на удаленном компьютере, единственной командой, которую вы должны запустить, является перезапуск ssh-демона и наслаждаться!!: P
/etc/init.d/ssh restart
Ответ 10
Я решил это после изменения порта ssh и переменной MaxStartups в файле /etc/ssh/sshd _config, чтобы
port 2244
MaxStartups 100
Затем перезапустите службу
service sshd restart
Если все еще не работает, перезагрузите систему.
Ответ 11
Мы перенесли наш экземпляр/сервер хоста git сегодня утром в новый центр обработки данных и при подключении к ним: VPN (из удаленного/домашнего) или в офисную сеть, я получил ту же ошибку и не смог подключиться для клонирования любых git репо.
Cloning into 'some_repo_in_git_dev'...
ssh_exchange_identification: Connection closed by remote host
fatal: Could not read from remote repository.
Это поможет, если вы подключаетесь к некоторым или всем серверам с помощью хост-сервера перехода.
Ранее в моем файле ~/.ssh/config моя настройка для подключения:
Host * !ssh.somejumphost.my.company.com
ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com
Это означает, что для любого соединения на основе SSH он будет подключаться к любому серверу * через указанный сервер хоста перехода кроме/игнорируя "ssh.somejumphost. my.company.com" (так как мы не хотим подключаться к хосту перехода с помощью хост-сервера перехода.
Чтобы исправить проблему, все, что я сделал, изменил конфигурацию, чтобы игнорировать сервер git:
Host * !ssh.somejumphost.my.company.com !mycompany-git.server.com !OrMyCompany-some-other-git-instance.server.com
ProxyCommand ssh -q -W %h:%p ssh.somejumphost.my.company.com
Итак, теперь для подключения к mycompany- git.server.com при выполнении git clone (git SSH url), я говорю SSH не использовать хост-переход для этих двух дополнительных git экземпляры/сервера.
Ответ 12
Подобно Аруну Сангалю, проблема заключалась в записи в .ssh/config.
Host my.sshhost.com
ProxyCommand ssh -q -W %h:%p myremotemachine.my.company.com
Удаленная машина была добавлена, чтобы избежать использования ssh для VPN-подключений, и работала хорошо. Но на время отпуска я выключил myremotemachine и столкнулся с описанной проблемой.
Ответ 13
Получается та же ошибка при подключении к GitHub с ssh при переходе с одного рабочего места на другое. согласно моей ситуации, кажется, что dns-серверы разных сетей могут получать различные IP-адреса github, а файл known_hosts не идентифицирует его, когда происходят изменения. Так что смените dns или отключите исходную сеть.
Ответ 14
Вы можете получить "ssh_exchange_identification: соединение, закрытое удаленным хостом", если ваша служба sshd
не работает!
Если у вас есть доступ к серверу, у вас есть служба sshd
, работающая с:
ps aux | grep ssh
и проверьте, что он прослушивает порт 22:
netstat -plant | grep :22
подробнее здесь
Ответ 15
Для меня это было вызвано ограничением количества одновременных сессий ssh. Я добавил два параметра ниже в /etc/ssh/sshd_config, и тогда все заработало.
echo 'MaxSessions 2000' >> /etc/ssh/sshd_config
echo 'MaxStartups 2000' >> /etc/ssh/sshd_config
service ssh restart
Ответ 16
Простая перезагрузка сервера решила проблему для меня. Попробуйте полную перезагрузку, если после мягкой перезагрузки не работает.
Ответ 17
Пожалуйста, используйте порт 7999 и попробуйте. это будет работать
Ответ 18
Я решил это таким образом.
ssh -vvv <username>@github.com
, чтобы увидеть IP GitHub.
Затем открыл браузер и открыл github через IP, чтобы обнаружить, что это проблема с брандмауэром.
Ответ 19
Я испытал это сегодня, и я просто делаю:
[email protected] MINGW64 ~/development/workspace/test (develop)
$ git status
Refresh index: 100% (1204/1204), done.
On branch develop
Your branch is up to date with 'origin/develop'.
nothing to commit, working tree clean
[email protected] MINGW64 ~/development/workspace/test (develop)
$ git fetch
Затем все снова заработало.
Ответ 20
Для меня проблема заключалась в том, что в /etc/ssh/ssh_config был установлен прокси-сервер, и он был недоступен, решил проблему путем внесения в белый список удаленного IP-адреса git и удаления строки прокси.
Надеюсь, это кому-нибудь поможет.