我正在尝试配置我的 ssh_config(客户端)以根据同一主机的用户使用不同的密钥文件,但无法使其正常工作。哪里出了问题?它说参数错误
Host myServer
Hostname myServer.net
Match #bad argument at this line
Host myServer
User jhon
IdentityFile ~/.ssh/jhon
Match
User foo
IdentityFile ~/.ssh/foo
----------------------->[已解决]<-----------------------
Host myServer
Hostname myServer.net
Match user jhon host "myserver.net"
IdentityFile ~/.ssh/jhon
Match user foo host "myserver.net"
IdentityFile ~/.ssh/foo
Host another
User anyOtherOneUser
Hostname another.net
# any other configuration
Match user jhon host "another.net"
IdentityFile ~/.ssh/jhon-another
Match user foo "another.net"
IdentityFile ~/.ssh/foo-another
答案1
来自 ssh 手册页:
Match 限制以下声明(直到下一个 Host 或 Match 关键字)仅在满足 Match 关键字后的条件时使用。使用一个或多个条件或始终匹配的单个标记 all 指定匹配条件。可用的条件关键字为:canonical、final、exec、host、originalhost、user 和 localuser。all 条件必须单独出现或紧跟在 canonical 或 final 之后。其他条件可以任意组合。除 all、canonical 和 final 之外的所有条件都需要参数。可以通过在前面添加感叹号 ('!') 来否定条件。
您可以Match
使用 来结束语句Host
。条件不大写(例如,使用host
而不是Host
)