当前位置: 首页>>技术教程>>正文


在 ssh 中禁用密码验证

问题描述

我遵循以下指南:

但是仍然可以通过输入密码ssh进入机器(用putty在win上试过)

有什么建议吗?

最佳答案

更换线路后:

#PasswordAuthentication yes

与行:

PasswordAuthentication no

/etc/ssh/sshd_config 中并且您保存了文件,您必须在终端中使用以下命令重新启动您的 ssh 服务器:

sudo service ssh restart

或者:

sudo restart ssh

次佳答案

在禁用 ssh 密码验证之前,请确保您使用私钥的访问按预期工作。确认后,您可以禁用密码身份验证。\n我建议进行以下更改以进一步保护服务器。

编辑文件:sudo nano /etc/ssh/sshd_config

请确保您在文件中启用了以下值:

PermitRootLogin no

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

保存文件然后重启ssh服务

sudo service ssh restart

或者

sudo systemctl restart ssh

编辑:\n有一个问题是这些参数的作用。让我们一一浏览。\n对于最新版本,您可以随时访问手册页 OpenSSH SSH daemon configuration file

1. PermitRootLogin

\\n

Specifies whether root can log in using ssh(1). The argument must be \\u201cyes\\u201d, \\u201cwithout-password\\u201d, \\u201cforced-commands-only\\u201d, or “no\\u201d. The default is \\u201cyes\\u201d.\\nIf this option is set to \\u201cwithout-password\\u201d, password authentication is disabled for root.

\\n

\\n

If this option is set to \\u201cforced-commands-only\\u201d, root login with public key authentication will be allowed, but only if the command option has been specified (which may be useful for taking remote backups even if root login is normally not allowed). All other authentication methods are disabled for root.

\\n

\\n

If this option is set to \\u201cno\\u201d, root is not allowed to log in.

\\n

不允许 ‘Root login’ 使用密码被认为比允许它更安全。也就是说,您根本不应该登录到 root,除非没有其他方法(sudo 等)可以工作。

2.密码认证

\\n

Specifies whether password authentication is allowed. The default\\nis \\u201cyes\\u201d.

\\n

基本上就是这样。如果这是 “no”,则不允许您使用登录名和密码登录,但是…您可以使用其他选项绕过它,请继续阅读。

3. ChallengeResponseAuthentication

\\n

Specifies whether challenge-response authentication is allowed (e.g. via PAM). The default is \\u201cyes\\u201d.

\\n

4.使用PAM

\\n

UsePAM Enables the Pluggable Authentication Module interface. If set to \\u201cyes\\u201d this will enable PAM authentication using ChallengeResponseAuthentication and PasswordAuthentication in addition to PAM account and session module processing for all authentication types.

\\n

\\n

Because PAM challenge-response authentication usually serves an equivalent role to password authentication, you should disable either PasswordAuthentication or\\nChallengeResponseAuthentication.\\nThe default is \\u201cno\\u201d.

\\n

最后,上面链接的 Ubuntu 手册中的一些信息。\n默认值可能会有所不同,所以如果你想保护你的服务器,我建议使用明确设置顶部提到的那些选项。

\\n

Note that the Debian openssh-server package sets several options as standard in\\n/etc/ssh/sshd_config which are not the default in sshd(8). The exact list depends on whether the package was installed fresh or upgraded from various possible previous versions, but includes at least the following:

\\n

    \\n

  • ChallengeResponseAuthentication no
  • \\n

  • X11Forwarding yes
  • \\n

  • PrintMotd no
  • \\n

  • AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server
  • \\n

  • UsePAM yes
  • \\n

\\n

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12973.html,未经允许,请勿转载。