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

Chr*_*ris 4 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
Run Code Online (Sandbox Code Playgroud)

但是,当运行最终命令时,git push origin master,我得到了

"ssh_exchange_identification:连接由远程主机关闭.致命:远程端意外挂断"

为什么会这样?

Sum*_*sok 7

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

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

ssh-keygen -t rsa -C "yourmailid@gmail.com"
Run Code Online (Sandbox Code Playgroud)

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

现在你将在〜/ .ssh /得到两个文件id_rsa和id_rsa.pub

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

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

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

现在试试

$ssh git@github.com
Run Code Online (Sandbox Code Playgroud)

thuis必须回来嗨!UserName忽略如果显示任何错误,但请确保,它显​​示嗨!用户名

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

创建一个目录(作为用户,而不是root)

mkdir MyProject
cd MyProject

git init
Run Code Online (Sandbox Code Playgroud)

(在那里初始化一个空的git存储库,查看隐藏文件夹.git /那里.)在MyProjects中创建文件后,当你想在github上将它添加到你的存储库时,做

git add
Run Code Online (Sandbox Code Playgroud)

现在运行状态并检查接下来要提交的文件,

git status

git commit -m "Your comment about this commit"
Run Code Online (Sandbox Code Playgroud)

(这会更新本地存储库中的.git /文件夹)现在我们告诉git要更新的远程存储库

git remote add origin git@github.com:username/ProjectName
Run Code Online (Sandbox Code Playgroud)

(你还记得我们从哪里得到这个URL,它是你的克隆网址)

git push origin master
Run Code Online (Sandbox Code Playgroud)

希望它能为你效劳.