应用场景:由于没有使用第三方负载均衡服务器,常常将自己业务服务器暴露在公网上,经常会遭到黑客弟弟们的攻击;所以需要做好基本的安全措施;
//ssh的登录日志,用于分析客户端远程访问情况
$ sudo tail -f /var/log/auth.log
//查看账号登录破解次数
$ sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
①限制ip访问,鉴于本地ip一般都是不固定的,最好白名单添加 服务器B的ip,用服务器B作为跳板登录
(这时候肯定有人问- -那你自己服务器B为什么不用添加白名单,不是多走了一步么?答:常用的服务器A的ip可能会暴露,把暴露的服务器A限制白名单访问,不暴露的可以作为个跳板服务器B就没问题了)
//编辑ssh配置
$ vim /etc/ssh/sshd_config
#添加白名单ip
AllowUsers user@ip
//重启生效
$ sudo /etc/init.d/ssh restart
采用RSA公私钥登录
如果不在公司电脑,并且没有私钥文件这里就用不了了
# 在客户端生成密钥
$ ssh-keygen -t rsa
# 也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得修改访问权限
# $ scp .shh/id_rsa.pub server:~/.ssh
# 在服务器中
$ cd ./.ssh/
#多个pub公钥 都可以写入authorized_keys内
$ cat id_rsa.pub >> authorized_keys
$ chmod 400 authorized_keys
$ vim /etc/ssh/sshd_config
RSAAuthentication yes #RSA认证
PubkeyAuthentication yes #开启公钥验证
AuthorizedKeysFile .ssh/authorized_keys #验证文件路径
//注意,如果前面有PasswordAuthentication的参数,下面的就不起作用了
PasswordAuthentication no #禁止密码认证
PermitEmptyPasswords no #禁止空密码
UsePAM no #禁用PAM
#客户端中,添加私钥
$ vi /etc/ssh/ssh_config
IdentityFile C:/Users/Administrator/Desktop/mypub
#然后重新连接ssh
$ ssh user@ip -p port
#此时输入私钥的密码后就能连接上了