Think before you speak, read before you think.

使用github换电脑了怎么办?

github使用ssh认证,说白了就是认证关系,以前电脑A(笔记本ubuntu)的~/.ssh/id_rsa下有私钥,github上填写好了公钥内容id_rsa.pub,认证关系打通了。

私钥要保护好,公钥随便用。公钥就好比你家大门,私钥是钥匙,大门可以随便给人看到,但钥匙不能给人随便用。私钥的默认名字是id_rsa,它的权限是600。

现在如果换电脑B(如vps),也是用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 [email protected]
 Hi jpuyy! You've successfully authenticated, but GitHub does not provide shell access.

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

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

ssh-keygen -C "[email protected]" -f ~/.ssh/id_rsa.github

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


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *