Git的新功能:git push origin master =“ssh_exchange_identifiction:连接由远程主机关闭。致命:远程端意外挂断”

时间:2009-10-05 17:59:57

标签: git version-control

我第一次尝试使用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 个答案:

答案 0 :(得分:7)

GitHub高度安全并遵循ssh-rsa 所以我们需要为我们的连接设置ssh公钥,让github知道它。

接受终端和用户(不是root用户,通常很多人都习惯输入sudo su作为终端的第一个commang,这次避免使用) 型

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

下面,          -t - >告诉哪个加密          -C - >尝试使用与你给出的github相同的邮件ID(为了便于记忆)

现在你将获得两个文件 〜/ .ssh /

中的id_rsa和id_rsa.pub

现在复制文件id_rsa.pub中的整个内容,而不更改文件内容。

现在回到你的github帐户。 转到帐户设置>>> SSH公钥 添加新密钥 并将您复制的内容粘贴到“key”字段中并保存(给出您选择的标题)。

现在github知道要处理来自你系统的请求。

现在尝试

$ssh git@github.com
thuis必须回来嗨!用户名 忽略如果显示任何错误, 但请确保,它显​​示嗨!用户名

好呀!现在我们将在计算机上设置存储库本地副本并反映远程系统的更改

制作目录(作为用户,而不是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

(你记得我们从这里得到了这个网址,你的克隆网址)

git push origin master

希望它对你有用。

答案 1 :(得分:0)

您计算机上的SSH密钥与您在GitHub上记录的密钥不匹配。型

cat ~/.ssh/id_rsa.pub | pbcopy

将您的公钥复制到clibboard。然后转到GitHub帐户设置并将其添加为新密钥。

答案 2 :(得分:0)

您是否使用ssh-add添加了RSA密钥?

ssh-add your-rsa-key

答案 3 :(得分:0)

有时你必须跑:

git pull

小心!在运行此命令之前备份您的repo文件夹。

答案 4 :(得分:0)

有时,您可以通过再次运行push命令重新初始化与github的连接:

git push -u origin master

似乎有效!