默认情况下, SSH 侦听端口 22 。 更改默认 SSH 端口可以降低被自动攻击的风险,从而为服务器增加额外的安全层。

和更改默认端口相比,将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和安全。

本教程介绍如何更改 Linux 中的默认 SSH 端口。我们还将向您展示如何配置防火墙以允许访问新的 SSH 端口。

更改 SSH 端口

请按照以下步骤更改 Linux 系统上的 SSH 端口:

选择新的端口号

在 Linux 中,低于 1024 的端口号保留用于众所周知的服务,并且只能由 root 绑定。虽然您可以使用 1-1024 范围内的端口进行 SSH 服务,但为了避免将来出现端口分配问题,建议选择 1024 以上的端口。

在此示例中,将 SSH 端口更改为 5522 ,当然您可以选择任何您喜欢的端口。

调整防火墙

在更改 SSH 端口之前,首先需要调整防火墙以允许新 SSH 端口上的流量。

如果您使用的是 Ubuntu 的默认防火墙配置工具 UFW , 请运行以下命令来打开新的 SSH 端口:

sudo ufw allow 5522/tcp

在 CentOS 中,默认的防火墙管理工具是 FirewallD 。要打开新端口,请运行以下命令:

sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp

sudo firewall-cmd --reload

CentOS 用户还需要调整 SELinux 规则以允许新的SSH端口:

sudo semanage port -a -t ssh_port_t -p tcp 5522

如果您使用 iptables 作为防火墙,则以下命令将打开新的 SSH 端口:

sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

编辑 SSH 配置

使用文本编辑器打开 SSH 配置文件 /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

搜索以 Port 22 开头的行。在大多数情况下,此行将以 # 开头。删除 # 并输入将用于代替标准 SSH 端口 22 的新 SSH 端口号。

Port 5522

修改 SSH 配置文件时要格外小心。不正确的配置可能导致 SSH 服务无法启动。

完成后保存文件并重新启动 SSH 服务以应用更改:

sudo systemctl restart ssh

在 CentOS 中, ssh 服务命名为 sshd :

sudo systemctl restart sshd

要验证 SSH 守护程序是否正在侦听新端口 5522 ,请键入:

ss -an | grep 5522

输出应该如下所示:

tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*

tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638

tcp LISTEN 0 128 [::]:5522 [::]:*

使用新的 SSH 端口

现在您已经更改了要登录远程的计算机 SSH 端口,您需要在登录时指定新端口。

使用 -p 选项指定端口:

ssh -p 5522 username@remote_host_or_ip

结论

在本教程中,您学习了如何更改 Linux 服务器上的 SSH 端口。您可能还需要设置基于 SSH 密钥的身份验证,不输入密码的情况下连接到 Linux 服务器。

如果您经常连接到多个系统,则可以通过在 SSH 配置文件中定义所有连接来简化工作流程。

如果您遇到问题或有反馈,请在下面留言。

linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口相关推荐

  1. linux系统电脑的权限设置,Linux下的文件权限设置修改详解linux操作系统 -电脑资料...

    在linux中更改所属用户组是使用chgrp,更改文件拥有者, chown,更改9个属性, chmod这三种常用的问题,在linxu中这三个命令就是对文件目录权限的控制命令了,下面我来介绍它们的用法与 ...

  2. linux下刻录光盘读取不了_如何在Linux下刻录数据光盘

    caoshun(原作) 本着让Linux精神发扬光大宗旨,我将部门原来的Windows2000服务器上所有的数据与提供的服务全部迁移到新建的Linux服务器上.在我即将要把这台老Windows2000 ...

  3. linux下Qt编写串口调试助手,如何在linux下用QT写一个简单的串口调试助手

    如何在linux下用QT写一个简单的串口调试助手 QT5串口类 在QT5以前,编写串口一般使用的是qextserialport类,但在QT5之后有了QT自带的串口类SerialPort(串口基础类)和 ...

  4. linux下如何搜索某个文件,技术|如何在 Linux 中查找一个文件

    对于新手而言,在 Linux 中使用命令行可能会非常不方便.没有图形界面,很难在不同文件夹间浏览,找到需要的文件.本篇教程中,我会展示如何在 Linux 中查找特定的文件. 第一步要做的是find 命 ...

  5. linux下sql查询的使用,sql-server – 如何在Linux上查看SQL Server中的执行计划

    微软发布了一款名为 SQL Operations studio的新工具,它类似于SSMS,但可以在Windows,Linux,Macos上使用. 下面是它的样子截图 使用sqlopsstudio查看实 ...

  6. linux下c语言读取roed文件,如何在Linux系统上安装Android4.4.docx

    Android (x86)项目致力于移植 Android系统到X86处理器上,使用户可以更容易的在任何电脑上安装 Android.他们通过使用android源码,增加补丁来使 Android能够在X8 ...

  7. Linux下像vhd一样的东西,如何在Linux中附加VHDx或VHD文件?

    您可以使用 libguestfs-tools来实现此目的. >首先,您需要在类似Ubuntu / Debian的Linux上安装它: sudo apt-get install libguestf ...

  8. linux修改容器内的mysql端口_Linux系统下修改phpstudy集成环境中的MySQL端口号的步骤...

    这篇文章给大家介绍的内容是关于Linux系统下修改phpstudy集成环境中的MySQL端口号的步骤 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 首先需要安装好phpstu ...

  9. linux mysql端口启动失败怎么办,Linux下apache mysql等服务修改默认端口后无法正常启动解决办法...

    Linux下apache mysql等服务修改默认端口后无法正常启动解决办法 linux下 apache 等服务修改默认端口后无法正常启动解决办法 服务器上装了两个webserver,一个是nginx ...

最新文章

  1. ajax datatype为html,Jquery ajax请求中datatype的含义
  2. PHP报“Cannot start session without errors”
  3. 一年的天数 Exercise06_16
  4. python程序代码解析_Python源码分析3 – 词法分析器PyTokenizer
  5. java中DatagramSocket连续发送多个数据报包时产生丢包现象解决方案
  6. qt creator源码全方面分析(3-1)
  7. ubuntu下安装wine1.8和阿里旺旺
  8. img标签 三种获取数据方式
  9. c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值
  10. Optional容器类
  11. 数字通信原理的几个理解
  12. 基于TCP协议的电子词典
  13. 【docker】docker学习
  14. Scratch妙笔生花
  15. ussd代码大全_USSD查询器app
  16. Redis下载和安装
  17. Oracle官网登录下载资源账号
  18. Laszlo 和 LZX 的 一些概念
  19. mysql navicat怎么打开文件_navicat怎么打开sql
  20. 美国旅游带孩子怎么申请签证?

热门文章

  1. MongoDB第二天
  2. ES6模块与commonJS模块的差异
  3. 怎么在图片上面加个div层,让它浮于图片上方
  4. 【原创】指针和下标的10条对比
  5. 数据可视化 信息可视化_可视化数据以帮助清理数据
  6. leetcode 18. 四数之和(双指针)
  7. leetcode230. 二叉搜索树中第K小的元素(中序遍历)
  8. leetcode109. 有序链表转换二叉搜索树(深度优先搜索/快慢指针)
  9. leetcode712. 两个字符串的最小ASCII删除和(动态规划)-Gogo
  10. shopify 开发_播客第57集:从Shopify的作家到开发人员,与Adam Hollett一起