检查是否可以在没有 sshd_config 许可的情况下进行无密码 ssh 身份验证

Wik*_*tor 5 ssh

是否可以在没有读取权限的情况下检查是否可以使用密钥进行授权身份验证ssdh_config

小智 8

您可以使用以下命令连接到仅允许公钥(并立即退出)的服务器:

user@box ~ $ ssh -o PasswordAuthentication=no  -o BatchMode=yes HOSTNAME exit &>/dev/null
user@box ~ $ test $? == 0 && echo can connect || echo cannot connect
can connect
user@box ~ $ 
Run Code Online (Sandbox Code Playgroud)

在主命令之后,您可以检查结果代码,看看是否可以无密码连接。


Hau*_*ing 5

如果服务器正在运行并且可以访问:

ssh -vvv user@host
Run Code Online (Sandbox Code Playgroud)

结果在这样的行:

Authentications that can continue: publickey
Next authentication method: publickey
Run Code Online (Sandbox Code Playgroud)

编辑 1

或者将其限制为相关输出:

ssh -vvv user@host 2>&1 | grep "Next authentication method:"
Run Code Online (Sandbox Code Playgroud)