我需要告诉 SSH 为特殊用户使用特殊的 IdentityFile。
例如主机规格wizard@host1.com
wizard@any-other-host.org
应使用密钥~/.ssh/id_wizard
我想写
User wizard
IdentityFile ~/.ssh/id_wizard
但 . 中没有这样的选项man ssh_config
。
我需要告诉 SSH 为特殊用户使用特殊的 IdentityFile。
例如主机规格wizard@host1.com
wizard@any-other-host.org
应使用密钥~/.ssh/id_wizard
我想写
User wizard
IdentityFile ~/.ssh/id_wizard
但 . 中没有这样的选项man ssh_config
。
您应该能够使用Match指令。Match是Host指令的一种更通用的形式:
Match
限制以下声明(直到下一个 Host 或 Match 关键字)仅在满足 Match 关键字后的条件时使用。匹配条件是使用一个或多个条件或单个标记来指定的,所有这些条件总是匹配的。可用的条件关键字有:canonical、exec、host、originalhost、 user和 localuser。所有标准必须单独出现或紧跟在规范之后。其他标准可以任意组合。除所有标准和规范标准外,所有标准都需要参数。可以通过添加感叹号 ('!') 来否定标准。
...
其他关键字的条件必须是单个条目或逗号分隔的列表,并且可以使用 PATTERNS 部分中描述的通配符和否定运算符。... user 关键字与远程主机上的目标用户名匹配。
所以:
Match user wizard
IdentityFile ~/.ssh/id_wizard