ssh 命令 PubkeyAuthentication=false 是什么?

ssh 命令 PubkeyAuthentication=false 是什么?

我需要了解PubkeyAuthentication=false以下命令实际上在做什么:

ssh -X -o PubkeyAuthentication=false notadmin@<DedicatedHost>

它会关闭 PubkeyAuthentication 吗?这是测试访问控制的测试程序,我试图了解它是如何绕过 PubkeyAuthentication 的。

答案1

您正在客户端计算机上连接到 SSH 服务器。当您指定时,-o PubkeyAuthentication=false您正在告诉服务器您不支持 ssh-key 身份验证会议。

SSH 服务器通常设置为ssh-key通过password身份验证进行访问。(其他方法也可用)

如果您想ssh -X -o PubkeyAuthentication=false notadmin@<DedicatedHost>在客户端会话中使用,该服务器将需要支持密码身份验证。如果服务器不支持密码身份验证,并且您指定,-o PubkeyAuthentication=false服务器将回退到任何其他可用的身份验证方法。

如果服务器禁用了密码验证并启用了 PubkeyAuth,您将无法使用 SSH 参数进行连接。

答案2

当你传递时,PubkeyAuthentication它将启用或禁用该主机上针对该用途的通用 SSH 公钥身份验证。如上所述ssh_config选项文档状态:

指定是否尝试公钥认证。此关键字的参数必须是是的(默认)或

但是在您提供的命令中,似乎false设置了:

ssh -X -o PubkeyAuthentication=false notadmin@<DedicatedHost>

哪个可能可以,但我不确定。假设应该是no。但在你的问题中你问:

这是测试访问控制的测试程序,我正在尝试了解通过 PubkeyAuthentication 做了什么。

最有可能的是,如果这是在测试过程中(并且有人开发了这些测试),那么他们希望强制 SSH 连接不使用 SSH 密钥进行身份验证,而是使用其他方法;最有可能的是输入一个普通的旧密码。

至于为什么会这样?谁知道呢。没有更大的测试环境,这里没人能说清楚。但我说了我想说的,根据我所知道的,那行应该不是从那时起就开始工作,false这是一个完全错误的选择。

相关内容