码迷,mamicode.com
首页 > 系统相关 > 详细

linux修改ssh端口 以及禁止root远程登录 (实验机 CentOs)

时间:2015-03-17 19:34:44      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

把ssh默认远程连接端口修改为3333

1.编辑防火墙配置:

vi /etc/sysconfig/iptables

防火墙新增端口3333,方法如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3333 -j ACCEPT

具体是这样做:

======================================================================
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3333 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

之后,重启防火墙,使配置生效:

/etc/init.d/iptables restart

或者

service iptables restart

 

防火墙策略都是写在/etc/sysconfig/iptables文件里面的。若是没有发现/etc/sysconfig/下有iptables文件,解决方法:

1. 随便写一条iptables命令配置个防火墙规则。如:iptables -P OUTPUT ACCEPT。

cd /etc/sysconfig/
iptables -P OUTPUT ACCEPT

2. service iptables save进行保存

service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
ls
cbq      htcacheclean  init             modules     network          quota_nld      samba      sendmail   sshd
console  httpd         iptables         named       network-scripts  readonly-root  sandbox    snmpd      udev
crond    i18n          iptables-config  netconsole  networking       rsyslog        saslauthd  snmptrapd  xinetd

3. service iptables restart命令重启:

/etc/init.d/iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: raw filter mangl[  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

或者

service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: raw filter mangl[  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

 

2.备份ssh端口配置文件

cp /etc/ssh/sshd_config    /etc/ssh/sshd_config.bak

或者

cp /etc/ssh/ssh_config    /etc/ssh/ssh_config.bak

 修改ssh端口为3333

vi /etc/ssh/sshd_config
Port 22
Port 3333

把#去掉,在 Port 22 下方添加 Port 3333 。

重启:

/etc/init.d/sshd restart

service sshd restart

用3333端口可以正常连接之后,再返回去重复上面的步骤。把22端口禁用了,以后ssh就只能用3333端口连接了!增强了系统的安全性。

 

3、禁止root通过ssh远程登录

vi /etc/ssh/sshd_config

找到PermitRootLogin,将后面的yes改为no,把前面的注释#取消,这样root就不能远程登录了!
可以用普通账号登录进去,要用到root的时候使用命令su root 切换到root账户

 

4、限制用户的SSH访问

假设我们只要root,user1和user2用户能通过SSH使用系统,向sshd_config配置文件中添加

vi /etc/ssh/sshd_config
AllowUsers root user1  user2

 

5、配置空闲超时退出时间间隔
用户可以通过ssh登录到服务器,你可以设置一个空闲超时时间间隔。
打开sshd_config配置文件,设置为如下。

vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0

上面的例子设置的空闲超时时间间隔是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/sshd restart

 

linux修改ssh端口 以及禁止root远程登录 (实验机 CentOs)

标签:

原文地址:http://www.cnblogs.com/wpjamer/p/4343187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!