开发者

Linux系统如何修改远程连接22端口

开发者 https://www.devze.com 2023-12-13 09:57 出处:网络 作者: 寰宇001
目录linux系统修改远程连接22端口1、检查Linux系统是否安装SSH软件包2、找到SSh服务配置文件路径3、将端口修改为664、修改iptables 防火墙5、在向SELinux中添加端口之前需要先安装SELinux的管理工具 semanage6、查看
目录
  • linux系统修改远程连接22端口
    • 1、检查Linux系统是否安装SSH软件包
    • 2、找到SSh服务配置文件路径
    • 3、将端口修改为66
    • 4、修改iptables 防火墙
    • 5、在向SELinux中添加端口之前需要先安装SELinux的管理工具 semanage
    • 6、查看ssh服务状态和端口占用情况
    • 7、使用新的端口远程连接服务器
    • 常见问题
  • 总结

    Linux系统修改远程连接22端口

    1、检查Linux系统是否安装SSH软件包

    rpm -qa| grep ssh

    Linux系统如何修改远程连接22端口

    如果没有安装使用yum安装ssh服务 :

    yum install -y openssh-server

    查看安装的 ssh服务包 :

    # yum list installed | grep ssh

    Linux系统如何修改远程连接22端口

    2、找到SSh服务配置文件路径

    一般都是在 /etc/ssh这个目录下面 sshd_config 这个文件

    Linux系统如何修改远程连接22端口

    3、将端口修改为66

    以root身份编辑文件 /etc/ssh/sshd_config文件,

    找到 #Port 22 ,将井号去掉,然后将22改为66。后保存。

    最好是在#Port 22 下面添加一个新的端口。以免新的端口和22端口都连不上。

    Linux系统如何修改远程连接22端口

    4、修改iptables 防火墙

    /etc/sysconfig/iptables

    开放特定端口

    #vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 66 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 66 -j ACCEPT       #66端口是添加的添加此端口号至防火墙,允许端口号通过防火墙
    
    或者
    #firewall-cmd --zone=pulic --add-port=77/tcp --permanent
    

    Linux系统如何修改远程连接22端口

    注意末尾的success,表示添加成功!

    重新加载防火墙,并编程客栈重启防火墙服务

    Linux系统如何修改远程连接22端口

    并没有报错,我们也可以查看一下防火墙运行状态.

    Linux系统如何修改远程连接22端口

    检查SELinux服务是否运行

    Linux系统如何修改远程连接22端口

    如上图显示enabled表示SELinux已启用

    修改/etc/sysconfig/iptables文件,增加如下一行:

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

    iptables防火墙

    systemctl stop iptables
    
    systemctl start iptables  
    

    查看防火墙开机启动状态:

    chkconfig iptables --list
    systemctl status iptables

    关闭开机启动:

    chkconfig iptables off

    firewalld防火墙:

    关闭firewalld服务:

    systemctl stop firewalld.service

    查看防护墙状态:

    systemctl status firewalld.servicee

    在开机时禁用:

    systemctl disable firewalld.service

    查看服务是否开机启动:

    systemctl is-enabled firewalld.service

    查看已启动的服务列表:

    systemctl list-unit-files|grep enabled

    重启sshd

    systemctl status sshd.service  
    systemctl enable sshd.service  
    systemctl restart sshd.service  
    

    5、在向SELinux中添加端口之前需要先安装SELinux的管理工具 semanage

    (如果已经安装了就直接到下一步) : yum provides semanage。

    在这里我们看到运行 semanage 需要先安装其依赖工具包 policycoreutils-python : yum install policycoreutils-python

    Linux系统如何修改远程连接22端口

    安装好之后,可以直接使用 semanage 命令:

    查询当前 ssh 服务端口: semanage port -l | grep ssh

    向 SELinux 中添加 ssh 端口: semanage port -a -t ssh_port_t -p tcp 66

    验证 ssh 端口是否添加成功: semanage port -l | grep ssh

    添加成功之后就可以重启 ssh 服务了: systemctl restart sshd.service

    Linux系统如何修改远程连接22端口

    6、查看ssh服务状态和http://www.devze.com端口占用情况

    Linux系统如何修改远程连接22端口

    netstat -antulp | grep ssh             编程    #端口占用情况

    Linux系统如何修改远程连接22端口

    测试是否能本机联通

    ssh localhost -p 77

    Linux系统如何修改远程连接22端口

    查看新配置的端口是否生效。

    Linux系统如何修改远程连接22端口

    7、使用新的端口远程连接服务器

    #ssh root@x.x.x.x -p66

    Linux系统如何修改远程连接22端口

    Linux系统如何修改远程连接22端口

    Linux系统如何修改远程连接22端口

    查看并修改 防火墙配置文件中 远程连接的端口

    Linux系统如何修改远程连接22端口

    重新载入配置,配置生效

    firewall-cmd --complete-reload

    备注:

    默认firewalld会优先读取/etc/firewalld/services/ssh.XML配置文件,当该配置文件不存在时,将会读取配置库中的配置/lib/firewalld/services/ssh.xml作为生效配置

    注意

    1、在 /etc/ssh/sshd_config 配置文件 中,不能修改将UsandroideDNS yes 改为 no,保持默认值。

    Linux系统如何修改远程连接22端口

    2、在工作中,可以在22端口下面添加一个端口,以免22端口断了连不上,又要到机房修改回22或者找机房人员远程协助了。

    常见问题

    1、端口没有权限

    Linux修改ssh Port端口后,无法启动ssh访问。

    具体修改 /etc/ssh/sshd_config 里的 Port 端口,然后查日志后出现:

    error: Bind to port 77 on 0.0.0.0 failed: Permission denied.

    Linux系统如何修改远程连接22端口

    Linux系统如何修改远程连接22端口

    最后发现是SELinux的问题,关闭SELinux的两种方法

    然后重启ssh访问即可。

    2、SSH登陆其他主机时报错:ssh: connect to host 192.168.46.190 port 22: No route to host。新的端口已经存在。

    Linux系统如何修改远程连接22端口

    Linux系统如何修改远程连接22端口

    解决办法 :

    查看防火墙状态

    firewalld:

    关闭firewalld服务:

    systemctl stop firewalld.service 

    查看防护墙状态:

    systemctl status firewalld.servicee

    在开机时禁用:

    systemctl disable firewalld.service

    查看服务是否php开机启动:

    systemctl is-enabled firewalld.service

    查看已启动的服务列表:

    systemctl list-unit-files|grep enabled 

    重启sshd服务

    #systemctl enable sshd.service
    #netstat -anp | grep 77                  #查看77端口是否已经存在
    #netstat -anput                             #77端口已经存在/打开
    #ssh root@192.168.163.130        #在另一台机器上测试,连接新的端口。
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号