根据 IP 地址更改 SSH 身份验证方法

根据 IP 地址更改 SSH 身份验证方法

如何设置我的 SSH 服务器以便身份验证方法取决于客户端 IP 地址?

internal network -> password login enabled
request from WAN -> only passkeys enabled

我会避免为每个用户设置两个帐户(内部/外部)并相应地重写配置文件。

答案1

查看 的手册页sshd_config。如果您拥有较新版本的 OpenSSH,则可以使用Match以下指令:

Match Address 192.168.0.0/24
  PasswordAuthentication yes

Match Address 10.0.0.0/24
  PasswordAuthentication no

但是正如 ErikA 所说,无论如何只需使用 keyauth 并且不要让别人知道你可以这样做 ;-)

答案2

为什么要允许密码验证?

如果是同一组用户从内部和外部进行连接,那么他们已经知道如何设置密钥认证了。

老实说,当正确设置(密码保护的私钥,使用 ssh-agent 的客户端)时,密钥认证比每次都必须输入密码要容易得多。

相关内容