ssh认证中公钥如同家里大门,私钥就是钥匙,一个大门可以有多把钥匙,大门可以随便展示,钥匙却不能,必须给那些需要的人。其中,公钥的默认名字是id_rsa.pub,私钥的默认名字是id_rsa,它的权限是600。

在使用githubssh的认证时就是通过~/.ssh/id_rsa下有私钥与github上的公钥内容id_rsa.pub比对,成功就是认证打通。

如果换电脑用linux,那么现在有两种方法,

方法一:把A上的密钥拷贝到B上,为了不影响vps的其他使用,名字不使用id_rsa,这里名字改为,id_rsa.github(相当于为一个大门,再配一把钥匙)

步骤如下:

cp A上~/.ssh/id_rsa 到B上 ~/.ssh/id_rsa.github,并把权限改为600

在B上创建~/.ssh/config,写入以下内容,保存退出。

它声名了目标主机是github.com,用户git,认证方式和文件,

PS:为方便连接其他主机时也可用这种方法,在同一机器上连接多个github账号也可使用这种方法。​​http://rsylareclipse.blog.163.com/blog/static/18550144020121285148377/​

Host github.com

User git

Hostname github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/id_rsa.github

测试下能成功

jpuyy@www:~/.ssh$ ssh -T git@github.com

Hi jpuyy! You’ve successfully authenticated, but GitHub does not provide shell access.

方法二:用ssh-keygen重新生成ssh公钥/密钥对(相当于重新开辟一个大门并配好钥匙)

这和在A上第一次使用时方法一样,但为了不使用默认名id_rsa,可用如下命令

ssh-keygen -C “jpuyy.com@gmail.com” -f ~/.ssh/id_rsa.github

这时把id_rsa.github.pub的内容copy到对应github.com的ssh公钥里

人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。