[centos] ssh一些设置

1,928 阅读1分钟

服务器开启root ssh远程登录,经常会遇到莫名ip尝试登录

There were 4148 failed login attempts since the last successful login.

我对服务端不熟悉,刚开始还没有在意,但是用了几天后突然用不了了,还登录不进去了,我觉得应该是被攻击了吧,尝试改下。

1. 添加客户端公钥到服务端

ssh-copy-id -i ~/.ssh/id_rsa.pub root@xx.xx.xx.xxx
  • 禁止服务端密码登录,先ssh登录服务器
vi  /etc/ssh/sshd_config

添加到配置文件

PermitEmptyPasswords no
#禁用采用密码进行输入
PasswordAuthentication no
  • 重启ssh
systemctl restart sshd.service

2. 修改默认端口

ssh默认登录22端口

  • 修改配置文件
vi  /etc/ssh/sshd_config

Port改成不是22即可,数字也不要太大,假如改成220

Port 220
  • 开放刚才的端口
firewall-cmd --add-port=220/tcp --permanent 
firewall-cmd --reload 
  • 登录方式
ssh -p220 root@xxx.xx.xx.xx

3.添加用户,禁止root登录

useradd newname
passwd newname

提示输入密码即可

修改配置文件

vi  /etc/ssh/sshd_config
  • 禁止root登录
PermitRootLogin no
  • 添加新用户可登录权限
AllowUsers newname

如果登录进入了之后,又想要切换到root

su

输入root密码即可

4.还可以做

还有一些防止某些ip登录,防止暴力破解等,暂时就没有做了。

我觉得第一个步骤,添加公钥就够了,后面几个步骤也做了,觉得麻烦就删了,不过我还不知道会不会被破解。

5.参考

centos 7实现ssh免密码登录

centos下ssh 普通用户安全密钥登陆

centos7 SSH防暴力破解五种方法