有没有办法知道服务器是否使用 ssh 公钥或密码?

信息安全 密码 公钥基础设施 SSH
2021-09-01 11:01:00

我想知道攻击者是否有办法通过指纹来确定服务器是否使用公钥与密码身份验证方法来建立 SSH 连接?

1个回答

运行ssh -vvv host,在某些时候,您会看到如下内容:

debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password

前两行描述了服务器提供的方法,最后一行是客户端提供的方法(PreferredAuthentications选项 from ssh_config)。从这个日志(到我的 Raspberry Pi)中,您可以看到服务器能够接受publickey,password身份验证方法。该列表对于不同的用户或不同的源地址也可能不同(服务器块中的AuthenticationMethods选项),但它并没有说明身份验证可以成功(例如,用户有密码或公钥,或者是否允许登录)您尝试登录)。Matchsshd_configrootroot

大多数服务器都会给你这个“指纹”。他们中的一些人会给你 just publickey,这表示他们不接受密码。让服务器接受密码而不接受 pubkey 是非常罕见的。

简而言之,您可以获得如上所述的一些信息,但在大多数情况下它并没有多大用处。