主题
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 <用户名> #加权可sudo2.生成密钥,公钥上传,私钥保密
bash
#在客户端生成
ssh-keygen -t ed25519 -C "<邮箱>"生成两个文件,id_ed25519.pub是公和id_ed25519是私。一般在~/.ssh/下。
然后私的保密存放,公的复制内容追加到服务器/home/<用户名>/.ssh/authorized_keys中,要另起一行。没有的话新建文件再复制进去。
3.然后修改ssh配置文件
bash
sudo vim /etc/ssh/sshd_configini
PermitRootLogin no #禁止root登陆
AllowUsers <用户名> #只能此账户登陆
PasswordAuthentication no #禁止密码登陆
PubkeyAuthentication yes #开启密钥登陆注意:在关闭密码登陆和root登陆之前先测试新用户能否密钥登陆和用sudo提权到root,所以这一步和第四步交替,直到配置成功。
4.使用密钥登陆服务器
bash
ssh -i <密钥文件> <用户名>@<地址>登陆之后,需要用root权限时
bash
sudo <原命令> #然后输入当前用户密码
#或者切换到root账户
su - root #输入root账号密码5.建议
如果希望更安全,还可以更改ssh端口到其他的端口,不过我嫌麻烦就不弄了。