1

我需要告诉 SSH 为特殊用户使用特殊的 IdentityFile。

例如主机规格wizard@host1.com wizard@any-other-host.org应使用密钥~/.ssh/id_wizard

我想写

User wizard
  IdentityFile ~/.ssh/id_wizard

但 . 中没有这样的选项man ssh_config

4

1 回答 1

1

您应该能够使用Match指令MatchHost指令的一种更通用的形式:

Match
限制以下声明(直到下一个 Host 或 Match 关键字)仅在满足 Match 关键字后的条件时使用。匹配条件是使用一个或多个条件或单个标记来指定的,所有这些条件总是匹配的。可用的条件关键字有:canonical、exec、host、originalhost、 user和 localuser。所有标准必须单独出现或紧跟在规范之后。其他标准可以任意组合。除所有标准和规范标准外,所有标准都需要参数。可以通过添加感叹号 ('!') 来否定标准。
...
其他关键字的条件必须是单个条目或逗号分隔的列表,并且可以使用 PATTERNS 部分中描述的通配符和否定运算符。... user 关键字与远程主机上的目标用户名匹配。

所以:

Match user wizard
    IdentityFile ~/.ssh/id_wizard
于 2018-11-11T15:27:31.597 回答