配置多个ssh密钥
一般一个 ssh 密钥就可以满足需求,去 clone github 的代码,但是有些时候,可能需要多个 ssh 密钥,例如 github 用一个密钥,工作上用另一个密钥,这时候就需要做一些配置。
首先在生成的时候,需要指定一下文件名,避免重名导致原有的 ssh 密钥被覆盖。例如可以像下面一样,加一个 work 后缀。之后一路按 enter。
[edward@DESKTOP-1OJ55DM release]$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/edward/.ssh/id_rsa): /home/edward/.ssh/id_rsa_work
命令结束后,会在 ~/.ssh/
文件夹下看到多个 ssh 文件
# edward @ DESKTOP-1OJ55DM in ~/.ssh [15:27:47]
$ ls
config id_rsa id_rsa.pub id_rsa_work id_rsa_work.pub known_hosts
接下来是最重要的一步,现在每当使用 ssh 的时候,都会默认使用 id_rsa 这个密钥,不会使用 id_rsa_work 。 需要在配置文件中指定。
在 ~/.ssh
文件夹下创建 config
文件,文件由多个下面的代码块组成
Host *别名*
HostName *主机名(ip地址)*
User *用户名*
IdentityFile *指定的ssh密钥*
例如
Host 10.20.20.20
HostName 10.20.20.20
User centos
IdentityFile /home/edward/.ssh/id_rsa_work
这样当你用 centos 这个用户访问 10.20.20.20 这个 ip 时,就会使用 id_rsa_work 这个密钥。