2019独角兽企业重金招聘Python工程师标准>>>

Linux/Unix 系统,很多人使用SSH + 密码来登陆服务器,默认 22端口,这样会有被暴力破解密码的危险(除非密码足够复杂且长度很长),因此最好修改SSH默认的22端口为其它随机端口号。

为了保险起见,推荐先添加一个SSH 随机端口号并添加对应的防火墙规则,然后用这个新的端口连接服务器试试,如果没问题了,我们再删除默认的22端口。这样做的好处,就是因为如果新修改的端口号无法连接,可以仍然使用默认的22端口登录,否则,可能无法连接或出现一些问题后会导致你无法通过SSH连接到服务器,那就惨了。

本文转自米扑博客:Linux 修改SSH 默认端口 22,防止被破解密码

本文实例的系统环境

阿里云 CentOS 7.4

一、修改配置文件

1. 修改配置文件 /etc/ssh/sshd_config

vim /etc/ssh/sshd_config

修改

#Port 22
#ListenAddress 0.0.0.0
#ListenAddress ::

Port 22
Port 23456
#ListenAddress 0.0.0.0
#ListenAddress ::

如上,取消注释 Port 22,并在其下方增加一行 Port 23456

说明:

SSH默认监听端口是22,如果不强制说明,”Port 22”注释或不注释,都会默认开放端口22远程登录

上面取消注释并保留了22端口,防止可能各种权限和配置问题,导致22端口不能访问,那就尴尬了

增加了一行 Port 23456 端口,就是为了来替换默认端口22的,大家在修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新安装的应用可能占用该端口,所以10000以下的端口号都不要使用。

二、使其 sshd 配置生效

1、执行如下命令,使 sshd 配置修改后生效

1)CentOS 7.x 以上系统,执行命令

systemctl restart sshd.service

2)CentOS 6.x 以下系统,执行命令

/etc/init.d/sshd restart

2、生效后,使用新端口号登录

ssh root@47.106.126.167 -p 23456

# ssh root@47.106.126.167 -p 23456
root@47.106.126.167's password:

输入密码即可成功登录

注:此时 22 和 23456 两个端口都可以成功登录ssh

3、确认新端口可登录,注释掉22端口

vim /etc/ssh/sshd_config

注释掉端口22,最后的配置内容如下

#Port 22
Port 23456
#ListenAddress 0.0.0.0
#ListenAddress ::

最后,别忘了修改配置文件后,使其生效

1)CentOS 7.x 以上系统,执行命令

systemctl restart sshd.service

2)CentOS 6.x 以下系统,执行命令

/etc/init.d/sshd restart

三、防火墙允许新端口号

阿里云使用 CentOS 7 以前的版本并开启默认防火墙 iptables 时,应注意 iptables 默认不拦截访问

如果您配置了 iptables 规则,需要执行命令允许新端口:

iptables -A INPUT -p tcp --dport 23456 -j ACCEPT

然后执行重启防火墙命令

service iptables restart

说明

CentOS 7 以后版本默认安装 Firewalld

首先,查看防火墙是否开启了 23456 端口号

firewall-cmd --permanent --query-port=23456/tcp

若打印结果为 no 表示没有开放 23456 端口号,那么添加允许新端口号,运行命令

firewall-cmd --permanent --add-port=23456/tcp

返回结果为 success 即表示放行 TCP 23456 端口号

接着,重新加载防火墙策略,使配置生效

firewall-cmd --reload

最后,再次查询是否开放了 23456 端口号

firewall-cmd --permanent --add-port=23456/tcp

若开放了新端口号,此时会打印 yes

四、策略组允许新端口号

阿里云、腾讯云等很多云服务器商都有安全组策略,若防火墙开放了新端口号,但安全组没有开放新端口号,也是无法ssh登录的,因此还需要在安全组开放新端口号

登录 ECS 管理控制台,找到该实例,选择 网络和安全组

安全组规则页面,单击添加安全组规则,根据实际的使用场景来定义安全规则,允许新配置的远程端口进行连接。

关于如何设置安全组参见 添加安全组规则

转载于:https://my.oschina.net/sunboy2050/blog/3005869

Linux 修改SSH 默认端口 22,防止被破解密码相关推荐

  1. Linux 修改远程默认端口 22

    Linux/Unix 系统,很多人使用SSH + 密码来登陆服务器,默认 22端口,这样会有被暴力破解密码的危险(除非密码足够复杂且长度很长),因此最好修改SSH默认的22端口为其它随机端口号. 为了 ...

  2. b宝塔 centos端口更改_centos修改ssh默认端口号的方法示例

    linux 一:修改/etc/ssh/sshd_config配置文件(注意:这里是sshd_config,而不是ssh_config) 1:查看ssh的默认端口号 netstat -anp|grep ...

  3. linux 修改mysql默认端口3306

    linux 修改mysql默认端口3306 cd /etc/mysql/my.cnf 修改两处 客户端的port=3306 和mysqld的服务器端口port=3306 [client] port=3 ...

  4. 安全起见,如何修改ssh默认的22端口号

    首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,修改为如下: Port 22 Port 50000 然后保存退出 执行/etc/ ...

  5. RHEL7 修改SSH默认端口

    1.查询seliunx [root@test10597 ~]# getenforce Enforcing [root@test10597 ~]# semanage port -l|grep ssh s ...

  6. linux新增ssh端口80,Linux(CentOS 7) 新增或修改 SSH默认端口

    iOS -- CocoaPods CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 GitHub( https:// ...

  7. linux怎么修改sftp默认端口,CentOS 6.5/6.6修改SSH默认端口号

    CentOS 6.5/6.6修改SSH默认端口号 先查看下服务器端口号范围: # sysctl -a|grep ip_local_port_range net.ipv4.ip_local_port_r ...

  8. 修改smb默认端口_centos7 ssh端口更改方法

    至于为什么要修改SSH端口号,那是因为大家都知道SSH的默认端口是22,为了让我们的服务器安全性更高一些,也就有了修改SSH默认端口的想法. 平常未修改SSH默认端口时,我们通常是ssh用户名@IP地 ...

  9. centos 修改ssh默认端口号

    linux服务器一般默认的ssh端口号都为22,所以在大部分的使用者手中出于安全考虑就需要修改ssh的默认端口号,下面为为修改ssh默认端口号方法 一:修改/etc/ssh/sshd_config配置 ...

最新文章

  1. 业务代码解构利器--SWAK
  2. 为什么Java要把字符串设计成不可变的
  3. 设计模式-备忘录模式
  4. deepin终端编译c程序_Deepin Linux安装使用Visual Studio Code(VSCode)调试C++
  5. HTML多选框滚动条,《HTM单选.doc
  6. 2018.10.24 NOIP模拟 小 C 的序列(链表+数论)
  7. java迭代器cas,java提高篇(三十)-Iterator - Java 技术驿站-Java 技术驿站
  8. 网页不显示样式的解决方向之一
  9. Python编程思想是什么?
  10. Numpy 通用函数
  11. 自动化运维环境搭建过程
  12. vim 批量替换字符串_Vim 有什么奇技淫巧?
  13. 利用 Arrays.sort 字符串 进行排序 完全按字符 排序 忽略字符大小写
  14. 微信公众号文章 html,微信公众号文章爬取
  15. 小飞鱼通达二开 通达OA2017集成MongoDB(图文)
  16. MRP系统对生产型企业的作用
  17. 家乡的春节html,家乡的春节日记
  18. 打印系统开发(9)——办公打印机使用教程
  19. 原来 SQL 中的 NULL 是这么回事儿
  20. funcode项目笔记

热门文章

  1. shell脚本编写知识2
  2. jstatd - Virtual Machine jstat Daemon
  3. 配置管理小报111106:在wincvs中查找文件
  4. ibatis example Class 使用
  5. mysql物理文件组成
  6. TensorFlow基础笔记(7) 图像风格化效果与性能优化进展
  7. UIViewController的生命周期及iOS程序执行顺序
  8. Centos-6.7下_Oracle 11gR2静默详细安装过程及排错
  9. Javascript变量的注意要点
  10. Oracle Database 11.2.0.1(静默安装)