1、编辑防火墙配置:vi/etc/sysconfig/iptables
防火墙增加新端口7022
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport7022-jACCEPT
===========================================
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport7022-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
重启防火墙,使配置生效:
/etc/init.d/iptablesrestart
serviceiptablesrestart
===========================================
2、备份ssh端口配置文件
cp/etc/ssh/ssh_config/etc/ssh/ssh_configbak
cp/etc/ssh/sshd_config/etc/ssh/sshd_configbak
修改ssh端口为:7022
vi/etc/ssh/sshd_config
在端口#Port22下面增加Port7022
vi/etc/ssh/ssh_config
在端口#Port22下面增加Port7022
重启:/etc/init.d/sshdrestart
servicesshdrestart
用7022端口可以正常连接之后,再返回去重复上面的步骤。把22端口禁用了,以后ssh就只能用7022端口连接了!增强了系统的安全性。
=======================================================================
3、禁止root通过ssh远程登录
vi/etc/ssh/sshd_config
找到PermitRootLogin,将后面的yes改为no,把前面的注释#取消,这样root就不能远程登录了!
可以用普通账号登录进去,要用到root的时候使用命令suroot切换到root账户
=======================================================================
4、限制用户的SSH访问
假设我们只要root,user1和user2用户能通过SSH使用系统,向sshd_config配置文件中添加
vi/etc/ssh/sshd_config
AllowUsersrootuser1user2
=======================================================================
5、配置空闲超时退出时间间隔
用户可以通过ssh登录到服务器,你可以设置一个空闲超时时间间隔。
打开sshd_config配置文件,设置为如下。
vi/etc/ssh/sshd_config
ClientAliveInterval600
ClientAliveCountMax0
上面的例子设置的空闲超时时间间隔是600秒,即10分钟,
过了这个时间后,空闲用户将被自动踢出出去(可以理解为退出登录/注销)。
=======================================================================
6、限制只有某一个IP才能远程登录服务器
vi/etc/hosts.deny#在其中加入sshd:ALL
vi/etc/hosts.allow#在其中进行如下设置:sshd:192.168.1.1#(只允许192.168.1.1这个IP远程登录服务器)
最后重启ssh服务:/etc/init.d/sshdrestart