Document

SSH方式 git pull

使用SSH关联远程仓库,git pull的时候遇到报错:

以往使用的都是HTTPS,没有过这样的问题

网上查了问题,如果使用SSH,要先在本地生成ssh key。

cd ~/.ssh进入ssh目录

ls 查看目录下的文件

可以看到只有一个known_hosts文件

下面进入正题。

第一步,输入命令:ssh-keygen -t rsa -C "xxxxxx@xxx.com"  (此处邮箱地址改为你自己的邮箱地址)

中途会提示让你输入密码,不需要管,一路回车即可(一共好像敲三次回车),然后会生成你的ssh key (如果重新生成的话会覆盖之前的ssh key)

第二步,输入命令:ssh -v git@github.com

最后两句会出现:

No more authentication methods to try.  

Permission denied (publickey).

第三步,输入命令:ssh-agent -s

然后会提示类似的信息:

SSH_AUTH_SOCK=/tmp/ssh-nju2ZPGNXhZo/agent.5372; export SSH_AUTH_SOCK;
SSH_AGENT_PID=5240; export SSH_AGENT_PID;
echo Agent pid 5240;

第四步,输入命令:ssh-add ~/.ssh/id_rsa

这时候应该会提示:

Identity added: ...(这里是一些ssh key文件路径的信息)

(注意)如果出现错误提示:

Could not open a connection to your authentication agent.

请执行命令:eval `ssh-agent -s`后继续执行命令 ssh-add ~/.ssh/id_rsa,这时候一般没问题啦

第五步,输入命令:vi id_rsa.pub 复制里面的内容。

复制完以后先按 i 键切换为插入模式,

然后按 esc 键,输入 :wq (是冒号wq) 退出编辑。 回到原来的命令界面

进入你的github账号,在settings下,选择Deploy keys,Add deploy key,把刚刚复制的key粘贴进来

Title可以随便取,记得把Allow write access勾上,这样就可以写入到仓库。

下图已经生成成功

最后一步,验证Key

命令窗口输入命令:ssh -T git@github.com

提示:Hi xxx! You've successfully authenticated, but GitHub does not provide shell  access.

这时候问题就解决啦,再次使用git pull origin master 就可以把远程仓库的文件pull到本地了。记得要切回原来的仓库目录

posted @ 2020-11-25 17:06  从未被超越  阅读(1435)  评论(0编辑  收藏  举报