如何使用 ssh_config 匹配用户

如何使用 ssh_config 匹配用户

我正在尝试配置我的 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

相关内容