目的:为不同的仓库使用不用的 SSH 私钥!做到互不打扰且安全
除了主要作为版本控制工具外,Git
也提供了几个命令来辅助你调试你的项目源码中的问题。 由于 Git
被设计成适用于几乎所有类型的内容,这些工具也相当通用,但它们往往可以在出现问题时帮助你找到 bug
或者原因。
方法一:修改 ~/.ssh/config 配置文件
- 这种方法比较适合同一个网址没有重复用户的情况,比如你有多个
github
的账户的话就不太适用了。但是永久性上来说,这是最好的。
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile /opt/aliyun_ssh_key/id_rsa # 私钥路径
IdentitiesOnly yes
方法二:将 key 加入到高速缓存中
使用
ssh-add
命令将对应的key
加入到高速缓存中。如果不记得自己加入了哪些密钥,只需要使用
ssh-add -l
命令就可列出所有已加入高速缓存的密钥了但是唯一的缺陷就是,这只是单次的,电脑重启之后,缓存就会失效,需要重新添加,当然也可以直接编写自动化脚本,每次重启电脑之后自动添加。
# 新增key方法
$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_escape -C "escape key for personal server"
$ ssh-keygen -t ed25519 -b 4096 -f ~/.ssh/id_ed25519_escape -C "escape key for personal server"
# 添加私有key到缓存
$ ssh-add id_a_rsa
$ ssh-add id_b_rsa
$ ssh-add id_c_rsa
# 测试是否可用
$ ssh -T [email protected]
$ ssh -T [email protected]
ssh-add
是一个用于将私钥添加到ssh agent
的命令,用于管理和使用ssh
密钥,以便在进行ssh
连接时免去每次输入密码的步骤。
# 简单介绍下ssh-add命令的用法
-L:显示已添加的密钥的公钥部分
-l:列出当前 SSH agent 中已添加的密钥
-D:从 SSH agent 中移除所有已添加的密钥
-d:从 SSH agent 中移除指定的密钥
-c:在将密钥添加到 SSH agent 时,要求输入并显示一个用于加密私钥的口令(passphrase)
-q:在运行 ssh-add 时禁用所有警告和信息输出,只显示必要的错误信息
-t life:设置已添加的密钥的有效期(生命周期)