Git使用SSH

通常使用GIT的时候,我们使用SSH就能够免去Push代码时候的密码。

操作步骤

1、生成SSH需要的公钥和密钥

ssh-keygen -t rsa -C "email@email.com"

生成的密钥默认在文件夹/Users/XXXX/.ssh里面,默认的名字是id_rsa和id_rsa.pub。

CarltondeMacBook-Pro:.ssh Carlton$ ls
github_rsa	id_rsa		known_hosts	oschina.pub
github_rsa.pub	id_rsa.pub	oschina

2、在git托管项目的网站上添加公钥

vim ~/.ssh/id_rsa.pub 
# 复制显示的全部内容到网站添加SSH-Key
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSOm5kvEfU2AWAxpnxxxxxx04XSLRyHdT sxxx@xxxx.com

常见问题:

1、如果按照步骤添加完成后还是需要输入密码

使用命令

CarltondeMacBook-Pro:unicorn Carlton$ ssh-add -l
2048 4b:bc:64:81:ac:83:32:a4:d8:d1:06:22:2b:10:fc:64 /Users/Carlton/.ssh/github_rsa (RSA)
2048 d0:9b:31:d1:f5:0d:db:bc:0b:a1:b0:69:bf:cf:16:26 /Users/Carlton/.ssh/oschina (RSA)

如果上面展示的内容当中没有你创建的公钥和密钥对(默认是id_rsa)或者提示:The agent has no identities.
这个时候需要使用ssh-add ~/.ssh/id_rsa命令来添加。添加完成后就能够正常使用了。

2、如果提示:Permissions 0644 for ‘xxx/.ssh/id_rsa’ are too open。

直接修改id_rsa的权限:

chmod 0600 xxx/.ssh/id_rsa

3、windows git bash上使用ssh-add.exe如果提示:Could not open a connection to your authentication agent.

首先运行下面的命令:

$ eval $(ssh-agent)
Agent pid 2184

1 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注