为了CentOS的安全性,建议修改默认的SSH端口。
主要步骤简要说明如下:
1,检查是否存在/etc/selinux/config,如果存在禁用SELinux,将SELINUX=enforcing
改为SELINUX=disabled
。
2,如果不存在,修改/etc/ssh/sshd_config增加
端口。
3,防火墙增加端口
4,重启ssh服务
5,重启防火墙
6,测试新端口
7,有问题调试 SELinux之类
8,没问题sshd_config删除原端口
9,防火墙去掉22端口
10,重启防火墙服务。
具体操作办法如下: 主要针对Centos7 和 firewall-cmd,iptables在下面会有提及。
1、运行如下代码,打开SSH的配置文件,如下:
nano /etc/ssh/sshd_config
没有nano的可以运行 yum install nano -y
安装,或者用vi
。
假如要修改的端口为800
,找到#Port 22
一段,去掉前面的#,然后在下面加入一行Port 800
,修改为如下:
Port 22
Port 800
然后保存退出(nano的保存退出的方法是CTRL+X,按Y,按回车,VI等编辑器的保存退出是esc,然后:wq)
之所以不直接删除22,是因为保存生效后当前终端可能端口。
要等完全测试没有问题以后再删掉22端口。
2、之后执行
/etc/init.d/sshd restart //centos 6执行
systemctl restart sshd.service //centos 7执行
这样SSH端口将同时工作与22和800上。
3、现在添加一条防火墙规则,加入800端口为开放端口,具体操作方式上,CentOS7和6稍微有一些差别。
不懂的可以去查看文章:centos7防火墙使用方法http://www.33f.net/network/centos7_firewall.html
对于centos7使用firewall规则的,执行如下命令:
firewall-cmd --zone=public --add-port=800/tcp --permanent #开启800端口
firewall-cmd --reload # **配置立即生效**
firewall-cmd --zone=public --list-ports //查看已开放端口
如果防火墙没开启状态,会提示FirewallD is not running
则执行命令:
systemctl start firewalld.service
4、不要关闭当前窗口,新开窗口,测试新端口连接。
特殊情况处理
如果中途遇到编辑后依然无法连接新端口的情况,那么进入下面的环节:
向SELinux中添加修改的SSH端口
A、先安装SELinux的管理工具 semanage (如果已经安装了就直接到下一步) :
yum provides semanage
B、安装运行semanage所需依赖工具包 policycoreutils-python:
yum -y install policycoreutils-python
C、查询当前 ssh 服务端口:
semanage port -l | grep ssh //当前 ssh 服务端口
sestatus -v |grep SELinux //查看SELinux状态
D、向 SELinux 中添加 ssh 端口:
semanage port -a -t ssh_port_t -p tcp 800
如果想删除端口使用如下命令:
semanage port -d -t ssh_port_t -p tcp 8585
E、重启 ssh 服务:
systemctl restart sshd.service
这个时候一般新端口就可以连接了。 注意,这一步一定在关闭端口之前操作。
5、测试可以登陆后,到防火墙禁用掉22端口
firewall-cmd --zone=public --remove-port=22/tcp --permanent #关闭22端口
firewall-cmd --reload # 配置立即生效
firewall-cmd --zone=public --list-ports #查看开放的端口
**6、测试22是不是无法连接,确认没问题后,按照第一步的操作,再次编辑sshd_config文件,
将原来的22端口前面加上#或者直接删除,这样就把原来的22端口注释掉了。**
备注:之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,
万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试。
以免发生连接不上还要联系机房调试,导致问题更加复杂麻烦。
想使用iptables,如何处理防火墙端口
1、对于centos6或centos7使用iptable规则的,执行如下命令:
vi /etc/sysconfig/iptables //不懂vi的也可以使用nano
2、打开后在最下方增加一条规则:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 800 -j ACCEPT
3、执行完毕后,运行如下命令保存和重启iptables,来让防火墙生效:
/sbin/service iptables save
systemctl restart iptables.service //**centos7 下执行**
4、注意:两种防火墙规则的使用全凭个人喜好。
5、备注:一些iptales命令扩展
1) 查看iptables防火墙规则命令如下:
nano /etc/sysconfig/iptables
2) 重启iptable防火墙规则命令,
/etc/init.d/iptables restart //centos6下执行
6、这下就完成了,试着用800端口连接ssh!如果不成,考虑下列问题
CentOS 的IPtables规则参考(详细):
http://wiki.centos.org/zh/HowTos/Network/IPTables
centos7防火墙使用方法http://www.33f.net/network/centos7_firewall.html
附上:常用ssh命令for centos7
查看状态:
systemctl status sshd.service
启动服务:
systemctl start sshd.service
重启服务:
systemctl restart sshd.service
开机自启:
systemctl enable sshd.service
linux下ssh登录限制ip的方法
vi /etc/hosts.allow
sshd:192.168.0.100:allow //允许IP 192.168.0.100 登录
sshd:192.168.0.:allow //允许IP 192.168.0. 网段登录
sshd:all:deny //禁止其他的所有IP登录
或者
sshd:223.227.223.*:allow //允许IP 223.227.223.* 网段登录
sshd:192.168.0.*:allow //允许IP 192.168.0.* 网段登录
sshd:all:deny //禁止其他的所有IP登录
fedora下 修改后保存后生效
freeBSD限制特定ip的ssh登陆:
#ee /etc/hosts.allow
在ALL : ALL : allow的前面加上
sshd : 192.168.0.100 : allow
sshd : 223.227.223.* : allow
sshd : ALL : deny
修改/etc/ssh/sshd_config加入
Allowusers admin@172.16.2.188
意思为
只允许admin从172.16.2.188登陆
FreeBSD 改IP ,不用重启电脑:
在rc.conf里改完后/etc/netstart
版权属于: 三三世界-百宝箱
本文链接: http://33f.net/safe/linux_change_ssh_port.html
本文最后更新于2022年04月14日 ,已超过982天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
Saved as a favorite, I like your website!
If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.
Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!
Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.
Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.
zh.us.to 有效
kms.03k.org 有效
kms.chinancce.com
kms.shuax.com 有效
kms.dwhd.org 有效
kms.luody.info 有效
kms.digiboy.ir 有效
kms.lotro.cc 有效
www.zgbs.cc 有效
cy2617.jios.org 有效
@ 权限问题,试试sudo 再加命令。
你好提示Permission denied 怎么办啊