前几天服务器一直被黑客攻破,注入脚本,卸载服务,下载挖矿程序用来自动挖矿,不胜其烦,今天好好整顿一下服务器SSH登陆安全问题,之前一直用root+密码直接登陆控制的(为了方便,还有工作任务比较禁),现在终于吃到苦头,奉劝运维同胞,拿到新服务器,也优先修改一下登陆的权限,包括五部分(也就不贴图了,很简单,写的也有注释):
创建新用户test1,命令如下
- [root@~]#useradd test1 #添加用户test1
- [root@~]#passwd test1 #给test1设置密码
New password: test222
Retype new password: test222 - 为了方便上传/下载文件,安装一个工具,安装命令:yum -y install lrzsz
通过Xhell工具,生成新用户得密钥;工具->新建用户密钥生成向导
- 选择密钥类型、密钥长度(默认即可)
- 生成密钥(生成公钥id_rsa_2048和私钥id_rsa_2048.pub)
- 为密钥加密,增加密码(可选),建议加上,我设置的密码为335733
- 将公钥保存为文件,后续要用
创建服务器公钥和私钥
- 用新用户登陆上去test1,test222
- 执行命令生成
[test1@vpn ~]$ ssh-keygen
- 在根目录下生成一个.ssh目录,目录下生成公钥和私钥
[test1@vpn ~]$ ll .ssh/ total 8 -rw------- 1 8cheng 8cheng 1679 Mar 8 14:44 id_rsa -rw-r--r-- 1 8cheng 8cheng 389 Mar 8 14:44 id_rsa.pub
- 将第一步在xshell生成的公钥文件id_rsa_2048.pub上传到该用户的.ssh目录下,并且重命名为authorized_keys,并且给予600权限
[test1@vpn .ssh]$ rz #上传本地证书id_rsa_2048.pub [test1@vpn .ssh]$ mv id_rsa_2048.pub authorized_keys #重命名为authorized_keys [test1@vpn .ssh]$ chmod 600 authorized_keys [test1@vpn ~]$ ll .ssh/ total 12 -rw------- 1 8cheng 8cheng 380 Mar 8 14:46 authorized_keys -rw------- 1 8cheng 8cheng 1679 Mar 8 14:44 id_rsa -rw-r--r-- 1 8cheng 8cheng 389 Mar 8 14:44 id_rsa.pub
禁用root登陆,禁用密码方式验证
- 先切换到root用户
[test1@vpn .ssh]$ su Password:12345654321 #root用户的密码 [root@vpn 8cheng]#
- 修改远程登陆方式
[root@vpn 8cheng]# vim /etc/ssh/sshd_config UseDNS no AddressFamily inet PermitRootLogin no #禁止root SyslogFacility AUTHPRIV PasswordAuthentication no #禁止密码方式验证
- systemctl restart sshd.service #重启SSH服务
如果报错systemctl: command not found
则替换为service sshd restart
进行测试
xshell设置
方法:public-key
用户名:test1
用户密钥:选择xshell生成的私钥
密码:335733
登陆成功