【问题标题】:Security Audit: How to check if ssh server asks for a password安全审计:如何检查 ssh 服务器是否要求输入密码
【发布时间】:2017-04-19 06:05:31
【问题描述】:

假设我grep /etc/ssh/sshd_config '^PasswordAuthentication no$'得到了一个有利的结果。

我如何检查正在运行的服务器实际上是否正在使用该配置(即,它在更改后已重新启动)?

我正在寻找一种经验方法,通过以可编写脚本的方式使用 ssh 客户端来获得明确的“是的,此 ssh 服务器将接受密码”或明确的“不,此服务器上不允许密码”。

显然,我可以手动运行 ssh $USER@$HOST -i /path/to/badkey 并等待,看看我是否收到密码提示,但这不是可编写脚本的(即使是,它总是会以错误状态退出)。

这不是 check is SSH prompt for password or not 的重复,因为给出的用例会导致不同问题的答案。

【问题讨论】:

    标签: security ssh


    【解决方案1】:

    你可以运行这个:

     ssh -v -o Batchmode=yes  nosuchuser@theHost
    

    然后在详细输出中查找这一行:

    debug1: Authentications that can continue: publickey,keyboard-interactive
    

    这列出了服务器准备接受的身份验证方法。值“password”表示用户可以通过提供密码进行身份验证。 "keyboard-interactive" 类似,只是服务器可以提供自定义提示。详情请见this answer

    【讨论】:

    • 我的意思是在 serverfault 上发布这个,而不是在 stackoverflow 上。哎呀。 (不知能不能动)谢谢解答!
    猜你喜欢
    • 2015-07-09
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2016-01-12
    • 2013-09-30
    • 2012-04-02
    • 2013-03-17
    • 2021-11-23
    相关资源
    最近更新 更多