我读过几篇关于限制所有用户仅进行密钥认证的文章,但是我只想强迫一个用户(svn)只访问密钥,其余的可以是密钥或密码。
我读过https://stackoverflow.com/questions/4241197/how-to-disable-password-authentication-for-every-users-except-several,但是sshd_config的“匹配用户”部分似乎是openssh-5.1的一部分。我运行的是CentOS 5.6,只有OpenSSH 4.3。我现在有以下的回复。
$ yum repolist
Loaded plugins: fastestmirror
repo id repo name status
base CentOS-5 - Base enabled: 3,535
epel Extra Packages for Enterprise Linux 5 - x86_64 enabled: 6,510
extras CentOS-5 - Extras enabled: 299
ius IUS Community Packages for Enterprise Linux 5 - x86_64 enabled: 218
rpmforge RHEL 5 - RPMforge.net - dag enabled: 10,636
updates CentOS-5 - Updates enabled: 720
repolist: 21,918我主要使用的是epel,rpmforge是用来颠覆的最新版本(1.6)。
是否有任何方法来实现这与我目前的设置?我不想将服务器限制为密钥,因为如果丢失了密钥,就会丢失服务器;-)
发布于 2011-07-01 13:15:18
您可以在您的PermitEmptyPasswords no配置中设置参数sshd,并删除某些用户的密码,以强制对他们进行ssh密钥身份验证。
发布于 2011-07-01 14:34:55
在sshd_config文件中添加一个匹配块。就像这样:
Match Group SSH_Key_Only_Users
PasswordAuthentication no或者如果是真正的一个用户
Match User Bad_User
PasswordAuthentication no有关可以匹配什么以及可以在其中设置哪些限制的更多细节,请参见man sshd_config。
发布于 2012-07-24 00:40:45
我刚刚了解到,通过将自己锁在远程服务器之外,CentOS 5(有最新的更新)不支持Match命令。有趣的时光。
因此,请注意,如果您尝试将Match命令添加到CE5中,并且进行服务sshd重新启动,它不会重新启动,并且一旦关闭sshd客户端,就会被锁定,直到您可以通过控制台重新登录以删除这2行。
https://serverfault.com/questions/286159
复制相似问题