线上用的是阿里云的ECS云主机,ssh是默认端口
每天都会发现有ssh暴力破解的,虽然阿里云的防火墙拦截住了,但是可能某一天还是会破解
所以需要修改默认的端口
vi /etc/ssh/sshd_config
去除#Port 22前面的#注释符号
添加一行,端口号为2020(备注:很多科幻电影,2020年是地球末日)
Port 22
Port 2020
然后重启ssh服务
/etc/init.d/sshd restart
会发现有2个端口进行监听,这样做是怕默认的22挂掉了,然后再次编辑,增加注释符号。
#Port 22
Port 2020
再次重启。
启用密钥认证
vi /etc/ssh/sshd_config
删除以下3行的注释符号
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后重启ssh服务
/etc/init.d/sshd restart
生成秘钥
ssh-keygen -t rsa
cd /root/.ssh/
cp -p id_rsa.pub authorized_keys
使用xshell生成密钥以及禁止密码登陆
方法参考
http://jingyan.baidu.com/article/e5c39bf5ba78e639d760330e.html
然后测试密钥登陆。
然后做防火墙策略
因为域名解析都是指向阿里云的负载均衡slb,所以外网卡的端口可以全部禁止掉。
连接服务器,用VPN登陆就可以了。
(注意:确保已经用VPN连接进来了,用内网已经登陆了。否则以下操作,外网就无法登陆了)
生成防火墙文件
/etc/init.d/iptables save
编辑文件
vi /etc/init.d/iptables
# Generated by iptables-save v1.4.7 on Mon May 4 11:23:00 2015
*filter
:INPUT ACCEPT [1900:388824]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1526:329902]
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p icmp -j DROP
-A INPUT -i eth1 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -i eth1 -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon May 4 11:23:00 2015
重启防火墙
/etc/init.d/iptables restart
测试是否可以访问外网
curl http://www.baidu.com
pc使用telnet测试端口是否可以连接
或者使用网页端口扫描工具检测
http://tool.chinaz.com/port/
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1642046
原文地址:http://xiao987334176.blog.51cto.com/2202382/1642046