关于github的ssh密钥复制移植导入的问题

关于github的ssh密钥复制移植导入的问题

问题:

user@user-W65KJ1-KK1:~/blog$ ssh -T git@github.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for '/home/user/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/user/.ssh/id_rsa": bad permissions
git@github.com: Permission denied (publickey).

之前用旧电脑生成了ssh密钥,并将公钥配置到github中。现在换了电脑,因为懒得生成新的密钥再配置一遍,因此我把旧电脑中的密钥文件,也就是 /.ssh/* 拷贝到新电脑的/.ssh文件中,并git init了一个仓库,然后git remote add https://…git 设置了远程仓库,但是我执行命令

ssh -T git@github.com

验证ssh是否通过的时候总是报错,令我百思不得其解。我以为是我的密钥copy有问题,我甚至以为ssh是根机器相关的,不允许copy的。

其实原因在错误提示中已经说的很明白了:

Permissions 0664 for ‘/home/user/.ssh/id_rsa’ are too open.

密钥的权限太过于开放了,因此无法完成ssh认证。

。。厄

好吧。我承认自己太年轻了。。。

chmod 600 /home/user/.ssh/id_rsa

将私钥权限修改为只读就好了。修改之后记得将密钥添加到ssh-agent中,首先得保证ssh-agent是运行着的,启动命令:

eval "$(ssh-agent -s)"

接着直接执行

ssh-add

最后通过命令验证是否能够链接上github,不用修改直接运行该命令:

ssh -T git@github.com

image-20210404171112792

大功告成!