配置SSH使用多个id_rsa密钥的方法

有时候我们需要配置多个SSH的id_rsa私钥,比如用于github的id_rsa,同时又有用以另一台服务器的id_rsa,但.ssh目录下仅能存在一个默认名称的id_rsa密钥文件,那如何实现配置多个id_rsa密钥的需求呢?

其实非常简单,步骤如下:

1. 复制密钥

复制所有的id_rsa密钥到.ssh目录下,我这里是用于github的id_rsa和用于服务器192.168.0.254的id_rsa。
cp /home/github/id_rsa ~/.ssh/github-id_rsa
cp /home/server/id_rsa ~/.ssh/server-id_rsa

2. 创建config文件

在当前用户目录下的.ssh目录中创建config文件:
cd ~/.ssh
touch config

3. 编辑config文件

在config文件中,根据你的实际情况,键入下面的内容:
Host github.com
User huaiyinfeilong
IdentityFile .ssh/github-id_rsa
Host 192.168.0.254
User root
IdentityFile .ssh/server-id_rsa

4. 测试

现在我们通过下面两条命令都可以直接使用SSH连接到github和192.168.0.254的服务器了:

git clone git@github.com:huaiyinfeilong/my-private-repository.git
ssh root@192.168.0.254