CentOS 修改SSH远程端口/默认端口(Port)方法

Linux Server:CentOS 6.2

桌面系统环境: Windows 7

连接工具:  putty

1.修改SSH配置文件

vi /etc/ssh/sshd_config 修改端口,禁止root登录,添加限制用户

 代码如下 复制代码
Port 2345
PermitRootLogin no
AllowUsers gino2.修改iptables

vi /etc/sysconfig/iptables复制22端口ACCEPT规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2345 -j ACCEPT3.修改 port contexts(关键),需要对context进行修改

semanage port -a -t ssh_port_t -p tcp 23454.重启SSH服务

/etc/init.d/sshd restart此时SSH服务已经迁移到2345端口,并且只有gino用户可以访问,提升安全性。

 

附录:semanage

1.安装semanage,默认情况下,CentOS没有这个命令,需要查看这个命令由谁来提供的

yum provides /usr/sbin/semanage然后进行安装

yum -y install policycoreutils-python2.semanage使用 针对prot context,例如查看ssh端口情况

semanage port -l | grep ssh应该可以到如下结果:

ssh_port_t                     tcp      2345, 22 也可以用netstat进行验证

netstat -tulpn | grep 2345至此,SSH调整完毕,contexts机制还不是很情况,需要进一步深入研究

修改远程端口和默认端口方法

实现目的:把ssh默认远程连接端口修改为2222
方法如下:
1、编辑防火墙配置:vi /etc/sysconfig/iptables
防火墙增加新端口2222
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -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 2222 -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
=======================================================================
2、备份ssh端口配置文件
cp /etc/ssh/ssh_config   /etc/ssh/ssh_configbak
cp /etc/ssh/sshd_config  /etc/ssh/sshd_configbak
修改ssh端口为:2222
vi /etc/ssh/sshd_config
在端口#Port 22下面增加Port 2222
vi /etc/ssh/ssh_config
在端口#Port 22下面增加Port 2222
重启:/etc/init.d/sshd restart
          service sshd restart
用2222端口可以正常连接之后,再返回去重复上面的步骤。把22端口禁用了,以后ssh就只能用2222端口连接了!增强了系统的安全性。

=======================================================================
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


修改普通用户具有root权限

1)进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当    然,你也可以直接用root用)
2)添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。
3)编辑/etc/sudoers文件。也就是输入命令"vim /etc/sudoers",输入"i"进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存(就是先按一下Esc键,然后输入":wq")退出。
4)撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。

时间: 2024-11-08 18:16:40

CentOS 修改SSH远程端口/默认端口(Port)方法的相关文章

如何修改XP 远程管理默认端口_注册表

自Windows 2000开始,微软就提供一项终端服务(Terminal Server)这项服务可以将远程的桌面传递到本地.通过该服务,可视化的远程管理可以非常方便的实现.继Windows 2000之后,Windows XP也提供这项服务.在Windows XP 中的Terminal Server Client程序比Windows 2000中的那个有了进一步的发展,许多功能都强大了许多. Windows XP 中的Terminal Server Client程序主要的新特性有:  1)可以将目标

linux中禁止root用户ssh远程登录并修改ssh远程登录端口

服务器的安全性不言而喻,服务器安全性设置的第一步就是堵住入口. 对于linux而言,堵住入口,就是不让别人能随便进入我们的服务器里面乱搞,不然一个命令 "rm  -rf  / ",后果不堪设想.所以不能让别人进入我们的服务器,更加不能让别人用root用户进去.所以最好的做法就是: 在linux上面设置禁止root用户远程登录,并且修改ssh端口[因为默认的端口是22,改了设置多一层障碍],然后我们需要登录进去的时候,就用一个没有权限的用户登录进去,然后再用su命令切换到root或者其他

Centos系统中修改SSH远程登录端口

1.修改SSH远程登录端口为 8888 # vi /etc/ssh/sshd_config Port 8888  #把 #Port 22 修改为 Port 8888 # servicesshd restart #重启SSH服务 或者 service sshd restart   2.防火墙添加端口 默认下iptables只开启了一部分端口,使用额外端口如  8888 需要在iptables中添加白名单 不然你会连接不上SSH服务器的 # iptables -I INPUT -p tcp --dp

如何修改Windows 2000远程终端默认端口

Windows 2000系统中的远程终端服务是一项功能非常强大的服务,同时也成了入侵者长驻主机的通道,入侵者可以利用一些手段得到管理员账号和密码并入侵主机.下面,我们来看看如何通过修改默认端口,防范黑客入侵. 众所周知,远程终端服务基于端口3389.入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就会进行下一步的入侵,所以我们只需要修改该务默认端口就可以避开大多数入侵者的耳目. 步骤:打开"开始→运行",输入"regedit",打开注册表,进入以下路径:

ubuntu下使用SSH远程登录与禁止登录方法

一,允许用户ssh远程登录 ubuntu默认是不启用root用户也不允许root远程登录的.所以需要先启用root用户 启用root用户:sudo passwd root //修改密码后就启用了. 安装OpenSSH server: 1. 使用apt命令安装openssh server $ sudo apt-get install openssh-server 2. 可以对 openssh server进行配置 $ sudo vi /etc/ssh/sshd_config 找到PermitRoo

修改wamp的apache默认端口80为8088以及www目录_Linux

以修改为8088端口和D:/workphp目录为例. 修改为8088端口 左键托盘图标,在"Apache"里可以直接打开httpd.conf,查找到"Listen 80",可以改成其他端口,我选用8088. 重启wamp,就可以生效了.但是"Localhost"."phpMyAdmin"."SQLiteManager",你可以点击打开看到依旧是默认的80端口.找到wamp安装目录下的wampmanager.

CentOS在ssh远程重装系统的步骤

国外VPS服务器一般都有控制面板,有很多种系统可自行安装,但国内有些IDC就比较坑了,不光没有面板,而且原始系统里面还有一堆无用的软件,如游戏,office等,而且有些商家对重装系统时间有限制,如西部数码云就限制了每8个小时才能重装系统.对于只做网站来说实在是浪费资源.本方法适用于VPS或服务器在SSH下远程重装centos任意版本的系统,我测试了在centos5.9版本以上都能完美重装系统. 1.因为centos国内普通的源一般都是放的最新的,所以我使用中科院的centos源,里面有所有cen

CentOS修改网站目录提示403的解决方法

在CentOS下由于本身安装的apahce网站根目录在/var/下.这个挂载点已经没空间了,所以得换个位置到/home/www下 切换到这个目录,重启了apache.也给这个目录给了777权限,但访问就是出现403 网上搜了一番,终于找到下面这个命令:  代码如下 复制代码 chcon -R -t httpd_sys_content_t /home/www 执行一遍,正常了! 据说这是SELinux的原因,不懂.仅留着记录! 下面附切换目录步骤 1.vi /etc/httpd/conf/http

修改jQuery Validation里默认的验证方法_jquery

在最近做的一个项目中,使用jQuery Validation验证日期,遇到的问题和一个没有预料到的情况是,在ASP.NET MVC 3的项目中,对于 <input type="date" data-val="true" />的元素,如果调用form的valid方法验证form,虽然我没有添加日期验证的设置,仅仅type="date",但其依然调用了日期验证逻辑来验证日期格式是否正确.这本来是个不错的行为,但问题在于,其支持的日期格式有