为给定主机下的每个用户配置 SSH

为给定主机下的每个用户配置 SSH

假设我在一台服务器上有多个服务用户(example.com)。

我定期从本地机器访问这两个用户。

有没有办法配置~/.ssh/config文件以便它根据用户正确检测首选的身份验证类型?

换句话说,有没有办法配置事物每个用户对于给定的主机?

我正在想象这样的事情:

Host example.com
    User foo
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/key_for_foo
    User bar
        PreferredAuthentications password

谢谢!

答案1

除主办方之外的其他标准将使用匹配关键字

Match host example.com user foo
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/key_for_foo
Match host example.com user bar
        PreferredAuthentications password

默认顺序是PreferredAuthentications先尝试公钥,再尝试密码。如果你想始终使用带有用户名的密钥文件,那么不仅仅是[电子邮件保护],可以简化为:

IdentityFile ~/.ssh/key_for_%r

附言password与 ssh 身份验证方法不同keyboard-interactive。前者肯定是密码,后者允许 sshd 要求输入其他输入,例如 2FA 代码。

相关内容