linux修改ssh端口

该教程是目前最安全的教程,如果你是新手请严格按照教程的步骤进行,如果是有一定基础的人可以选择性跳过某些段落

修改端口配置

先运行

  1. vim /etc/ssh/sshd_config

找到#Port 22 这行然后去掉前面的注释,然后再下面加一行 Port 1234

Port 22  
Port 1234
  1. 很多教程是直接修改22为其他端口,最好不要这样做,万一修改的端口不能用,你就完全登陆不上了,所以先留一条后路

修改防火墙配置

修改iptables(linux 的防火墙)文件:

  1. vim /etc/sysconfig/iptables

增加一行

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1813 -j ACCEPT

关闭防火墙

然后关闭防火墙

  1. service iptables stop

关闭SELinux

重要:先关闭SELinux,很多教程没有提到这点,因为SElinux 默认的防护等级是很高的,如果不关闭SElinux就会出现很多问题

  1. vim /etc/sysconfig/selinux

将SELINUX=enforcing 这行修改为 SELINUX=disabled 然后重启

测试连接

重启好后运行命令 :

  1. netstat -tpnl | grep ssh

会看到同时有两个端口打开

  1. [[email protected] ~]# netstat -tpnl | grep ssh  
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1497/sshd             
    tcp        0      0 0.0.0.0:1234                 0.0.0.0:*                   LISTEN      1497/sshd             
    tcp        0      0 :::22                       :::*                        LISTEN      1497/sshd             
    tcp        0      0 :::1234                      :::*                        LISTEN      1497/sshd

重要:这时测试一下新端口能否连接通过

修改SELinux配置

如果正常再进行下面的步骤:修改selinux

刚刚装好的centos是没有semanage命令的,所以请先确认semanage命令是否存在,如果没有,就按照下面的教程安装

  1. # rpm -qa | grep semanag  
    libsemanage-2.0.43-4.2.el6.x86_64  
      
    # which semanage  
    /usr/bin/which: no semanage in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)  
      
    # yum provides /usr/sbin/semanage  
    policycoreutils-python-2.0.83-19.30.el6.x86_64 : SELinux policy core python utilities  
    Repo        : base  
    Matched from:  
    Filename    : /usr/sbin/semanage  
      
    # yum whatprovides /usr/sbin/semanage  
    Loaded plugins: fastestmirror, refresh-packagekit, security  
    Loading mirror speeds from cached hostfile  
     * base: mirrors.prometeus.net  
     * epel: mirror.switch.ch  
     * extras: mirrors.prometeus.net  
     * rpmfusion-free-updates: rpmfusion.famillecollet.com  
     * rpmfusion-nonfree-updates: rpmfusion.famillecollet.com  
     * updates: mirrors.prometeus.net  
    policycoreutils-python-2.0.83-19.30.el6.x86_64 : SELinux policy core python utilities  
    Repo        : base  
    Matched from:  
    Filename    : /usr/sbin/semanage  
      
    # yum -y install policycoreutils-python

完成之后,使用以下命令查看当前SElinux 允许的ssh端口:

  1. semanage port -l | grep ssh

会输出

  1. ssh_port_t                     tcp      22

添加1234端口到 SELinux

  1. semanage port -a -t ssh_port_t -p tcp 1234

重要:然后确认一下是否添加进去

  1. semanage port -l | grep ssh

如果成功会输出

  1. ssh_port_t                     tcp      1234, 22

开启SELinux较低安全等级

然后去修改SELinux策略,重新打开它,但是我们先修改为permissive这种安全等级不会拦截你的修改,只是提示警告

  1. vim /etc/sysconfig/selinux

修改安全等级

  1. SELINUX=permissive

然后reboot重启

重要:重启好之后再一次用新端口测试远程连接

开启SELinux正常安全等级

重启好之后用新的端口测试连接

如果测试通过修改 SELINUX=enforcing, 然后重启,因为前面说过很多次修改的方式,这边就不贴代码了

重启之后再一次用新端口测试远程连接

后续清理步骤

如果都可以的话,恭喜你,成功的配置好新端口,然后你可以自己进行把22端口从sshd_config中删除,把22端口从防火墙中删除等步骤

时间: 2024-08-06 19:49:28

linux修改ssh端口的相关文章

Linux修改SSH端口和禁止Root远程登陆

Linux修改ssh端口22vi /etc/ssh/ssh_configvi /etc/ssh/sshd_config 然后修改为port 8888以root身份service sshd restart (redhat as3)使用putty,端口8888 Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如下 : /usr/sbin/sshd -p 1433为增强安全先增加一个普通权限的用户:#useradd uploader#passwd uploade

linux修改ssh端口和禁止root远程登陆设置

linux修改ssh端口22vi /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改成其他端口比如:port 1890为增强安全和管理方便增加一个普通权限的用户,并设置密码useradd 您自己的帐户passwd 您自己的密码帐户和密码不建议使用单词/常见词/有规则性的字符然后禁止ROOT远程SSH登录:vi /etc/ssh/sshd_config把其中的PermitRootLogin yes修改为PermitRootLogin no最后重启sshd服务ser

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

把ssh默认远程连接端口修改为3333 1.编辑防火墙配置: vi /etc/sysconfig/iptables 防火墙新增端口3333,方法如下: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3333 -j ACCEPT 具体是这样做: ====================================================================== # Firewall configuration wri

Linux修改SSH端口,并禁止Root远程登陆

1.更改ssh远程登录端口: #vi /etc/ssh/ssh_config将port改为你想要的端口,例如8888.默认是#port 22,把#号删掉改为 port 8888即可. 还要更改以下文件,更改方法同上:#vi /etc/ssh/sshd_config 2.增加一个普通权限的用户: #useradd 新用户#passwd 新用户 3.禁止ROOT远程SSH登录: #vi /etc/ssh/sshd_config将PermitRootLogin yes一行改为:PermitRootLo

linux中修改ssh端口和禁止root远程登陆设置

linux中修改ssh端口和禁止root远程登陆设置 查看下系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 修改配置文件 linux修改端口22vim /etc/ssh/sshd_config找到#port 22将前面的#去掉,然后修改端口 port 1234重启服务就OK了service sshd restart或/etc/init.d/ssh restart为增强安全先增加一个普通权

linux下ssh端口的修改和登录

linux下ssh端口的修改和登录 首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,添加如下一行: Port 50000 然后保存退出 1.端口修改 执行/etc/init.d/sshd restart 这样SSH端口将同时工作在50000上. 2.防火墙修改 现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口.添加如下一行 1 -A INPUT -m state --state N

Puppet批量修改SSH端口-Linux软件分发

SSH默认使用tcp22端口,为了保护Linux的22端×××破,我们有时候需要将SSH的端口做修改:然而企业环境中,服务器数量是巨大的,逐个修改的工作量可想而知.使用puppet就可以很好的解决此类问题,为运维人员减轻工作负担.案例拓扑如下:上图中的PuppetClient也就是需要修改SSH端口的Linux服务器1.1)PuppetMaster上应当创建如下目录,puppet运行用户puppet应当为该目录的属主2)/etc/puppet/modules/ssh/manifests/各个配置

春哥技术博客:宝塔Linux如何修改SSH端口号教程

今天春哥技术博客就客户咨询关于如何修改设置宝塔Linux默认SSH端口号的问题,下面春哥统一写文章教程,大家直接看就可以了. 为了提供服务器的安全性,部分站长需要修改SSH端口,默认端口为22,怎么修改SSH自定义端口呢,比如修改为8899,是否需要在防火墙放行? 其实和其他端口放行操作方法一样的,直接在宝塔的防火墙里面放行就可以了.具体操作方法如下: 登陆宝塔面板后台,在顶部有是否启动SSH 和 SSH 端口 22 这两个操作按钮如上图:直接将22改为自定义端口,然后点击 更改 .宝塔防火墙自

Debian 修改 SSH 端口 以及 主机名

修改 SSH 端口(CentOS/Debian): 默认端口号为 22 修改 /etc/ssh/sshd_config 文件中 Port 后面的数字 在 Debian 及其衍生版中,hostname 都可以通过修改文件来进行修改, Debian 中 hostname 存在于文件 /etc/hostname 中. 文件中的内容就是 hostname,直接改变文件内容,然后更新一下即可. /etc/init.d/hostname.sh start 之后,每次启动都会读取该文件来获取主机名.