一个用户的多个公钥

这个问题类似于SSH公钥authentication – 一个公共密钥可以用于多个用户吗? 但是这是相反的

我正在尝试使用SSH,所以任何SSH服务器将为您的答案工作。

我可以有多个公共密钥链接到同一个用户? 这样做有什么好处? 此外,不同的主目录可以设置为不同的密钥使用(所有链接到同一用户)?

如果我不清楚,请告诉我。

谢谢。

    你可以有你想要的键。 无论如何,为不同的领域使用不​​同的私人/公共密钥集是一个很好的做法,比如一套用于个人用途,一套用于您的工作等等。

    首先,生成两个独立的密钥对,一个用于家庭,一个用于工作:

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.home ssh-keygen -t rsa -f ~/.ssh/id_rsa.work 

    接下来,在~/.ssh/config文件中添加一个条目,根据您连接的服务器来select要使用的密钥:

     Host home Hostname home.example.com IdentityFile ~/.ssh/id_rsa.home User <your home acct> Host work Hostname work.example.com IdentityFile ~/.ssh/id_rsa.work User <your work acct> 

    接下来,将id_rsa.work.pub的内容附加到工作机器上的~/.ssh/authorized_keys ,并对家用机器上的home键执行相同的操作。

    然后,当你连接到家庭服务器,你使用其中一个键,而工作服务器使用另一个。

    请注意,您可能希望将这两个密钥添加到您的ssh-agent这样您就不必一直input密码。

    将多个用户的密钥交给一个用户是很有意义的。 常见原因有:

    • 备用
    • git(例如, Push URL: git+ssh://git@git-server/~/repos/MyProject
    • rsync的
    • 共同访问一个应用程序

    只要有不同的homedirs,你可以通过在authorized_keys文件中为user1的密钥添加environment="HOME=/home/user1"来改变每个密钥。 请参阅man authorized_keys

    试试看,YMMV。