如何在不使用别名主机名的情况下为 user1@host 和 user2@host 使用不同的 ssh 密钥?

car*_*pii 2 linux ssh centos ssh-keys ssh-agent

我有一个远程 CentOS 服务器,假设它叫做 hostname.com

hostname.com 有多个用户帐户,我想以这些用户中的任何一个(使用 ssh 密钥而不是密码)通过 ssh 进入该服务器。

似乎每个人都建议只更改我的本地 ssh 配置,为每个远程用户添加服务器别名,然后为每个别名提供不同的 IdentityFile。

那么我必须ssh bob@aliased_hostname1ssh alice@aliased_hostname2

还有其他解决方案吗?我宁愿不通过 ssh 进入别名主机名

理想我只想ssh bob@hostname.comssh alice@hostname.com自动选择正确的ssh密钥文件的基础上,远程用户名我试图登录为。

Wes*_*ley 5

检查Match客户端计算机上 SSH 配置中的关键字。具体来说,userhost标准。该ssh_config(5)手册页状态(重点煤矿):

匹配条件是使用一个或多个标准或始终匹配的单个标记指定的。

所以在你的情况下,你会看到类似的东西:

Match user bob host "hostname.com"
  IdentityFile /path/to/bob.key

Match user alice host "hostname.com"
  IdentityFile /path/to/alice.key
Run Code Online (Sandbox Code Playgroud)

一个 SuperUser一个 Unix & Linux Q/A帮助将它们联系在一起,所以你也应该给这些参与者投票。