SSH 配置:默认密码,除非另有说明

SSH 配置:默认密码,除非另有说明

当我输入时,ssh <server>我希望默认行为是密码提示,除了.ssh/config我在文件中明确定义的、已经创建公钥/私钥对的主机。

我的配置文件目前如下所示:

Host *
    PubkeyAuthentication no

Host <private-server>
    PubkeyAuthentication yes
    IdentityFile <private-server>_key

如果我注释掉这两Host *行,那么它会使用我的私钥连接到<private-server>。但是,如果取消注释这两Host *行,尽管有这两行,它仍会要求输入密码PubkeyAuthentication yes

我该如何解决?

答案1

man 5 ssh_config

由于使用了每个参数的第一个获得的值,因此应在文件开头附近给出更多特定于主机的声明,并在末尾给出一般默认值。

您的Host *部分最为笼统。它应该放在最后。

相关内容