我们可以让 ssh 在等待密码时超时吗

我们可以让 ssh 在等待密码时超时吗

我编写了一个脚本,预计会从某个地方获取一堆主机名,并在每个主机上运行命令:

ssh "$host" some command

我有必要的配置来建立ssh连接而无需密码。然而,有时我们会遇到需要密码的主机并且脚本挂起。

有没有办法让 ssh 在等待密码时超时?我不想使用该timeout命令。

答案1

这些选项中的任何一个都可能在客户端起作用,以完全阻止询问密码,这似乎应该适用于您的情况。 (我假设您可以从某些日志中找到失败的主机并以交互方式重新运行它们。)ssh_config(5):

BatchMode
    If set to yes, passphrase/password querying will be disabled. ...

PasswordAuthentication
    Specifies whether to use password authentication.
    The argument to this keyword must be yes (the default) or no.

所以,

ssh -oBatchMode=yes someuser@somehost ...

或者

ssh -oPasswordAuthentication=no someuser@somehost ...

答案2

您正在寻找登录宽限时间在你的sshd_config

sshd_config(5)

LoginGraceTime
             The server disconnects after this time if the user has not successfully logged in.  If the value is 0, there is no time
             limit.  The default is 120 seconds.

相关内容