Новое в Git: git push origin master = "ssh_exchange_identifiction: Соединение закрыто удаленным хостом. Неустранимо: удаленный конец неожиданно зависает" - PullRequest
4 голосов
/ 05 октября 2009

Я пробую git в первый раз и пытаюсь следовать инструкциям, предоставленным github. Тем не менее, я, кажется, не смог на последнем этапе. Github предоставляет следующие шаги:

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email 


Next steps:

  mkdir SomeFolder
  cd SomeFolder
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:username/SomeFolder.git
  git push origin master

Однако при запуске последней команды, git push origin master, я получаю

"ssh_exchange_identification: Соединение закрыто удаленным хостом. фатальный: удаленный конец завис неожиданно "

Почему это может быть?

Ответы [ 5 ]

7 голосов
/ 02 декабря 2009

GitHub надежно защищен и следует ssh-rsa Поэтому нам нужно установить в качестве открытого ключа ssh для нашего соединения и сообщить об этом github.

взять терминал и как пользователя (не root, обычно многие из нас имеют привычку вводить sudo su в качестве первой команды на терминале, на этот раз избегайте этого) тип

ssh-keygen -t rsa -C "yourmailid@gmail.com"

Здесь, -t -> говорит, какое шифрование -C -> попытаться использовать тот же почтовый идентификатор, который вы дали ti github (для простоты памяти)

теперь вы получите два файла id_rsa и id_rsa.pub в ~ / .ssh /

Теперь скопируйте все содержимое файла id_rsa.pub без изменения содержимого файла.

Теперь вернитесь к вашей учетной записи на github. перейдите в настройки учетной записи >>> SSH Public Keys Добавить новый ключ и вставьте скопированный контент в поле «ключ» и сохраните (укажите название по вашему выбору).

теперь github знает, как обрабатывать запросы от вашей системы.

сейчас попробуйте

$ssh git@github.com

это должно вернуться Привет! UserName игнорировать, если отображается какая-либо ошибка, но убедитесь, что это показывает Привет! UserName

хорошо! Теперь мы собираемся установить локальную копию репозитория на вашем компьютере и отразить изменения в удаленной системе

сделать каталог (как пользователь, а не root)

mkdir MyProject
cd MyProject

git init

(инициализируйте пустой git-репозиторий там, см. Скрытую папку .git / там.) после создания файлов в MyProjects, когда вы захотите добавить их в свой репозиторий на github, выполните команду

git add

теперь запустите статус и проверьте файлы, которые вы собираетесь зафиксировать следующим,

git status

git commit -m "Your comment about this commit"

(обновляет папку .git / в вашем локальном хранилище) теперь мы сообщаем git об удаленном хранилище, которое будет обновлено

git remote add origin git@github.com:username/ProjectName

(вы помните, откуда мы взяли этот URL, это URL вашего клона)

git push origin master

Надеюсь, это сработает для вас.

1 голос
/ 05 октября 2009

вы добавили свой ключ RSA с помощью ssh-add?

ssh-add your-rsa-key

0 голосов
/ 23 апреля 2013

Иногда вы можете повторно инициализировать соединение с github, просто выполнив команду push:

git push -u origin master

Кажется, это сработало!

0 голосов
/ 11 февраля 2012

Иногда вы должны запустить:

git pull

Будь осторожен! Сделайте резервную копию вашей папки репо перед выполнением этой команды.

0 голосов
/ 05 октября 2009

Ключ SSH на вашем компьютере не совпадает с тем, который у вас есть на GitHub. Тип

cat ~/.ssh/id_rsa.pub | pbcopy

, который скопирует ваш открытый ключ на панель управления. Затем перейдите в настройки учетной записи GitHub и добавьте его в качестве нового ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...