Skip to content
当前位置:🏠 首页  / 文章归档 / 2025

centos系列ssh安全登陆

发布时间:2025-09-24 19:11:54

今天给系统设置了ssh禁止密码登陆,本系统是tencentos server 4.2,同时又设置了禁止root用户登陆,只能用普通用户密钥登陆,再提权的方式执行命令,感觉系统更安全了。

过程记录,后续如有同样需求方便查看。

1.建立一个普通用户

bash
useradd -m -s /bin/bash <用户>
passwd <用户>  #设置密码
usermod -aG wheel <用户> #加权可sudo

2.生成密钥,公钥上传,私钥保密

bash
#在客户端生成
ssh-keygen -t ed25519 -C "<邮箱>"

生成两个文件,id_ed25519.pub是公和id_ed25519是私。一般在~/.ssh/下。

然后私的保密存放,公的复制内容追加到服务器/home/<用户名>/.ssh/authorized_keys中,要另起一行。没有的话新建文件再复制进去。

3.然后修改ssh配置文件

bash
sudo vim /etc/ssh/sshd_config
ini
PermitRootLogin no #禁止root登陆
AllowUsers <用户名>  #只能此账户登陆

PasswordAuthentication no #禁止密码登陆
PubkeyAuthentication yes   #开启密钥登陆

注意:在关闭密码登陆和root登陆之前先测试新用户能否密钥登陆和用sudo提权到root,所以这一步和第四步交替,直到配置成功。

4.使用密钥登陆服务器

bash
ssh -i <密钥文> <用户>@<>

登陆之后,需要用root权限时

bash
sudo <原命> #然后输入当前用户密码
#或者切换到root账户

su - root #输入root账号密码

5.建议

如果希望更安全,还可以更改ssh端口到其他的端口,不过我嫌麻烦就不弄了。