hexo-sshkey 多个sshkey的问题
摘要:
解决使用多个sshkey的问题;
ssh-add和ssh-agent命令使用说明;
解决coding的hexo中github push时报错
定位错误原因
- 查看当前git配置:git config —list
- 查看ssh链接过程:ssh -vT git@github.com
通过git config —list发现,remote.origin.url很显然是不对的,用vim直接改了;
通过ssh -vT git@github.com发现,使用的sshkey公钥文件是默认的id_rsa.pub,而应该用github_rsa.pub,这就是问题的原因;
PS:使用ssh-add -l显示ssh-agent中的密钥。关于ssh-add的详细解释本文底部。
参考资料:
生成ssh key步骤
这里以配置github的ssh key为例:
- 配置git用户名和邮箱
git config user.name “用户名”
git config user.email “邮箱”
在config后加上 —global 即可全局设置用户名和邮箱。
- 生成ssh key
ssh-keygen -t rsa -C “邮箱”
然后根据提示连续回车即可在~/.ssh目录下得到id_rsa和id_rsa.pub两个文件,id_rsa.pub文件里存放的就是我们要使用的key。
- 上传key到github
clip < ~/.ssh/id_rsa.pub
复制key到剪贴板
登录github
点击右上方的Accounting settings图标
选择 SSH key
点击 Add SSH key
- 测试是否配置成功
ssh -T git@github.com
如果配置成功,则会显示:
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
ssh-add命令
功能作用
把专用密钥添加到 ssh-agent 的高速缓存中位置
/usr/bin/ssh-add格式用法
ssh-add [-cDdLlXx] [-t life] [file …]
ssh-add -s pkcs11
ssh-add -e pkcs11主要参数
1 | -c Indicates that added identities should be subject to confirmation |
应用实例
把专用密钥添加到 ssh-agent 的高速缓存中
ssh-add ~/.ssh/id_dsa从ssh-agent中删除密钥
ssh-add -d ~/.ssh/id_xxx.pub查看ssh-agent中的密钥
ssh-add -l