在Linux(Debian Squeeze)上,我想禁用对某些用户(选定的组或除root以外的所有用户)使用密码的SSH登录。但是我不想禁用使用证书的登录。

编辑:非常感谢您提供详细的答案!由于某些原因,这在我的服务器上不起作用:

Match User !root
PasswordAuthentication no


PasswordAuthentication no
Match User root
PasswordAuthentication yes

替换

评论

也许是因为您的缩进?

值得一提的是,匹配项下的那些行应位于文件末尾

!root对我也不起作用。第二种方法成功了。

我见过匹配用户“!root,*”完成此任务的情况。

#1 楼

尝试在Match中尝试sshd_config

Match User user1,user2,user3,user4
    PasswordAuthentication no


或按组:

Match Group users
    PasswordAuthentication no


或,如评论中所述,取反:

Match User !root
    PasswordAuthentication no


请注意,匹配有效,“直到另一匹配行或文件末尾。” (缩进并不重要)

评论


在这种情况下,首选Match用户!root

– 84104
2011年6月30日在16:41

太棒了,我对Match语法一无所知。但是,我提出的一个建议是,如果这是一台面向公众的服务器,那么我将根本不允许通过SSH进行root登录。如果是内部的话,可能不是什么大问题。

– Safado
2011年6月30日17:47

@SpacemanSpiff这就是a)强密码和b)denyhosts / fail2ban的用途。

–ceejayoz
2011年7月4日在19:56

@ deed02392如果愿意,您可以将密钥视为一个非常非常强大的密码。

–ceejayoz
13年7月5日在13:26



我要说的是,它要强得多,不在同一个球场内。 root用户也应禁用密码身份验证,并且仅允许登录使用密钥。

–deed02392
13年7月6日在11:49

#2 楼

Match中的sshd_config运作良好。如果您使用的是openssh 6.5p1或更高版本,则应使用Match all结束匹配块。示例:

PasswordAuthentication no
Match User root
PasswordAuthentication yes
Match all


评论


这对我没用...

– Dimitrios
19年5月23日在10:28

“全部匹配”成功了。谢谢。没有“全部匹配”,sshd无法启动。

– Vladimir Kondratyev
19-10-10在20:24

这在Ubuntu 20.04上不起作用。

–Ultima武器
20年6月16日在17:13

在放入/ etc / ssh / sshd_config而不是/etc/ssh/sshd_config.d之后,它现在可以工作。

–Ultima武器
20年6月16日在17:22

#3 楼

有几种方法可以执行此操作-首先,可以使用不同的配置在不同的端口上方便地运行第二个sshd守护程序-这有点麻烦,但是通过chroot的工作,它应该可以正常工作。 >
此外,您可以允许密码身份验证,但可以锁定除一个用户以外的所有用户的密码
。密码已锁定的用户仍然可以
使用公钥进行身份验证。

#4 楼

您可以简单地转到/ etc / ssh / sshd_config文件并添加一行
-> AllowUsers user1
拒绝---> DenyUsers user2

我们可以允许/ deny使用/ etc文件夹中的hosts.allow或hosts.deny文件登录特定的一组主机

#5 楼

出于安全原因,您可能需要阻止某些用户对Linux机器的SSH访问。

编辑sshd_config文件,该位置有时会有所不同,具体取决于Linux发行版,但通常在/ etc /中ssh /。

以root用户身份登录时打开文件:

# vi /etc/ssh/sshd_config


在配置文件的末尾插入一行:-

DenyUsers username1 username2 username3 username4


保存并重新启动SSH服务。基本上,用户名1,用户名2,用户名3和用户名4不允许SSH登录。

运行以下命令以重新启动该命令:完成了。请从该用户处获取ssh,您将得到错误“访问被拒绝”

评论


问题是关于禁用密码登录(但使用密钥身份验证保留登录)。

–杰拉德·施耐德(Gerald Schneider)
19年5月7日在6:57