在Linux系统中,SSH(Secure Shell)是一种常见的远程登录和管理工具,默认情况下,SSH允许root用户通过密码或密钥进行远程登录,这可能会带来安全风险,为了提高系统的安全性,我们可以修改SSH配置,限制root账户的远程登录。
1. 修改SSH配置文件
我们需要修改SSH的配置文件,在大多数Linux发行版中,SSH配置文件位于/etc/ssh/sshd_config
,使用文本编辑器打开该文件,
sudo vi /etc/ssh/sshd_config
在配置文件中,找到以下两行:
#PermitRootLogin yes #PasswordAuthentication yes
将这两行的注释符号(#)去掉,并将yes
改为no
,如下所示:
PermitRootLogin no PasswordAuthentication no
保存并关闭文件,接下来,我们需要重启SSH服务以使更改生效,在大多数Linux发行版中,可以使用以下命令重启SSH服务:
sudo systemctl restart sshd
2. 禁用root远程密码登录
除了修改SSH配置文件外,我们还可以禁止root用户通过密码进行远程登录,在/etc/ssh/sshd_config
文件中,找到以下行:
#PermitRootLogin withoutpassword
将注释符号(#)去掉,并将withoutpassword
保留,如下所示:
PermitRootLogin withoutpassword
保存并关闭文件,重启SSH服务以使更改生效:
sudo systemctl restart sshd
现在,root用户将无法通过密码进行远程登录,如果需要使用密码登录,可以创建一个新的非root用户,并为其分配sudo权限。
3. 禁用root远程密钥登录
除了禁止root用户通过密码进行远程登录外,我们还可以禁止root用户通过密钥进行远程登录,在/etc/ssh/sshd_config
文件中,找到以下行:
#AuthorizedKeysFile %h/.ssh/authorized_keys
将注释符号(#)去掉,并将该行保留,如下所示:
AuthorizedKeysFile %h/.ssh/authorized_keys
保存并关闭文件,重启SSH服务以使更改生效:
sudo systemctl restart sshd
现在,root用户将无法通过密钥进行远程登录,如果需要使用密钥登录,可以创建一个新的非root用户,并为其生成和分发密钥,确保为该用户在/etc/ssh/sshd_config
文件中添加以下行:
AllowUsers <username>@*
其中<username>
是新创建的非root用户的用户名,保存并关闭文件,重启SSH服务以使更改生效:
sudo systemctl restart sshd
4. 归纳
通过修改SSH配置文件和重启SSH服务,我们可以限制root账户的远程登录,这将提高系统的安全性,防止未经授权的用户访问系统,建议创建新的非root用户,并为其分配sudo权限和密钥访问权限,以便进行远程管理。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/677496.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复