今天遇到个问题,我想给某个独立的 git 仓库配置一个不同的 ssh key。在使用 ssh-keygen 命令生成新密钥对并保存到自定义目录之后,却不知道如何 apply 它。几番搜索,并没有找到答
今天遇到个问题,我想给某个独立的 git 仓库配置一个不同的 ssh key
。在使用 ssh-keygen
命令生成新密钥对并保存到自定义目录之后,却不知道如何 apply 它。
几番搜索,并没有找到答案。最终在众多的文档中(包括 /etc/ssh/ssh_config
),取其精华,举一反三,形成了一个简单的配置方法:
在 ~/.ssh
目录下新建文件 config
(即 ~/.ssh/config
),并输入如下内容:
# 如果启用了本行,对于需要通过ssh登录的远程主机,## 可直接使用 `ssh anyname` 命令,不过在git仓库不行。## 不过如果想取消本配置,启用本行即可。## Host anyname# 设置 `*` 或者不启用,表示默认使用本配置。## Host *HostName github.comUser git# 并没有什么卵用 ## PreferredAuthentications publickey# 指定新生成的那个非默认ssh key路径 #IdentityFile ~/.ssh_xxx/id_rsa
保存之后,对任何目录的 git push
操作都会应用该配置指定的 ssh key
。
(以下为更新)
如果上面的配置在 ubuntu
下不能很好的工作,可试试下面的:
Host github.com# 名称似乎并没有用途 #User gitIdentityFile ~/.ssh_xxx/id_rsaHost git.oschina.netUser wei.chouIdentityFile ~/.ssh/id_rsaHost gitee.comUser wei.chouIdentityFile ~/.ssh/id_rsa
@成才 '中©