我需要告诉SSH为特殊用户使用特殊的IdentityFile。
例如,主机规范wizard@host1.com
wizard@any-other-host.org
应该使用密钥~/.ssh/id_wizard
我想写
User wizard
IdentityFile ~/.ssh/id_wizard
但是man ssh_config
中没有这样的选项。
答案 0 :(得分:1)
您应该可以使用Match directive。 匹配是 Host 指令的更通用形式:
匹配
限制以下声明(直到下一个主机或匹配项) 关键字)仅在匹配后的条件下使用 关键字满意。匹配条件使用一个或一个指定 更多条件或单个令牌,它们始终匹配。的 可用的条件关键字包括:规范,执行,主机,原始主机, 用户和本地用户。所有条件必须单独出现或立即出现 规范之后。其他标准可以任意组合。所有 准则,但所有准则都需要争论。条件可能是 通过在前面加上一个感叹号('!')来否定。
...
其他关键字的条件必须为单个条目或以逗号分隔 列出,并且可以使用通配符和否定运算符 模式部分。 ... 用户关键字 与远程主机上的目标用户名匹配。
所以:
Match user wizard
IdentityFile ~/.ssh/id_wizard