多个sshkey管理

在使用服务器中通常通过公钥进行ssh登陆,登陆不同的服务器使用不同的公钥,下面是我遇到多个公钥管理时对配置方法的记录。

生成sshkey

1
ssh-keygen -t rsa -C "your@email.com"

执行以上命令后有三个步骤:

  1. 设置生成的密钥对文件名,默认为 id_rsaid_rsa.pub。其中以pub结尾的为公钥。
  2. 设置密钥对密码
  3. 重复密码

使用公钥登陆

  1. id_rsa.pub的内容拷贝至要登陆的服务器的 ~/.ssh/authorized_keys中,一行一个公钥

  2. ssh命令指定公钥登陆

    1
    ssh -i id_rsa user@host

配置多个公钥

  1. 将私钥添加进 ssh-agent

    1
    ssh-add ~/.ssh/id_rsa
  2. 配置ssh的config文件。先在 ~/.ssh目录下创建 config文件并进行编辑

    1
    2
    3
    4
    5
    6
    7
    # 注释
    Host 192.168.100.1
    HostName 192.168.100.1
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_ras
    User root
    Port 22
  3. 保存退出