当前位置: 首页 > news >正文

修改Linux中SSH的端口

文章目录

  • 修改Linux中SSH的端口
    • Linux中默认的ssh端口
    • 关闭SELinux
    • 测试新端口

修改Linux中SSH的端口

Linux中默认的ssh端口

使用root用户操作
修改前先备份ssh_config

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date "+%Y%m%d%H%M%S"`

修改配置文件,找到已经注释掉的22端口

vim /etc/ssh/sshd_config17 #Port 2218 #AddressFamily any19 #ListenAddress 0.0.0.020 #ListenAddress ::

将其修改为

17 #Port 22
18 Port 22
19 Port 18181
20 #AddressFamily any
21 #ListenAddress 0.0.0.0
22 #ListenAddress ::

小技巧,当进行却去掉注释修改的时候,可以新增一行去掉注释,尽可能的不修改原来的行

设置的时候一定要先将22端口保留,等到测试通过后将22端口注释掉,如果防火墙没有开好,那就是自己给自己留坑
重启sshd服务

systemctl restart sshd.service

查看是否新端口运行

[root@WDQCVM ~]# ss -tnlp | grep ssh
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=3668,fd=3))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=3668,fd=4))

哎呦不对呀,这没有刚才配置的端口

[root@WDQCVM ~]# systemctl status sshd
● sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2023-08-14 14:37:05 CST; 5min agoDocs: man:sshd(8)man:sshd_config(5)Main PID: 11371 (sshd)CGroup: /system.slice/sshd.service└─11371 /usr/sbin/sshd -DAug 14 14:37:05 WDQCVM systemd[1]: Starting OpenSSH server daemon...
Aug 14 14:37:05 WDQCVM sshd[11371]: error: Bind to port 18181 on 0.0.0.0 failed: Permission denied.
Aug 14 14:37:05 WDQCVM sshd[11371]: error: Bind to port 18181 on :: failed: Permission denied.
Aug 14 14:37:05 WDQCVM sshd[11371]: Server listening on 0.0.0.0 port 22.
Aug 14 14:37:05 WDQCVM sshd[11371]: Server listening on :: port 22.
Aug 14 14:37:05 WDQCVM systemd[1]: Started OpenSSH server daemon.

看到是权限的问题,心里想这不可能有问题呀,我root启动的

  1. 端口问题
  2. 权限问题
    貌似这两个都不行,我还更新了系统内核,都没有解决问题
    最后在网上查资料才发现是SELinux的问题

关闭SELinux

查看状态

sestatus
[root@WDQCVM ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31
[root@WDQCVM ~]#

修改为disabled,重启机器生效

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

关闭SELinux后18181端口被放出来了

[root@WDQCVM ~]# ss -tnlp | grep ssh
LISTEN     0      128          *:18181                    *:*                   users:(("sshd",pid=977,fd=3))
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=977,fd=5))
LISTEN     0      128       [::]:18181                 [::]:*                   users:(("sshd",pid=977,fd=4))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=977,fd=6))
[root@WDQCVM ~]# 

测试新端口

[root@WDQCVM ~]#  ssh root@10.0.2.15 -p 18181
The authenticity of host '[10.0.2.15]:18181 ([10.0.2.15]:18181)' can't be established.
ECDSA key fingerprint is SHA256:yjNMl5BfVvsJ3HmpCPv3B3Y+5XbT4mxwMnDGUHSpnBs.
ECDSA key fingerprint is MD5:0d:08:47:ee:4f:32:a6:8b:8f:2d:dd:fa:f4:f3:e0:5a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[10.0.2.15]:18181' (ECDSA) to the list of known hosts.
root@10.0.2.15's password: 
Last login: Mon Aug 14 15:04:06 2023 from 192.168.31.63
[root@WDQCVM ~]# 

然后禁用22端口

vim /etc/ssh/sshd_config

将Port 22添加注释
重启sshd服务

systemctl restart sshd.service
ss -tnlp | grep ssh

总结:ssh端口如果是暴露在公网,则建议改掉22端口,端口设置在1024~65366之间,建议关闭SELinux ,这个是Linux自带的安全机制,是防止网络攻击的,但也给使用带来了诸多不便。生产环境建议使用专用的硬件防火墙和iptables,一般情况下这种是可以实现的固定IP访问固定端口的。如果不小心禁用了22端口只能通过终端去设置,或者拿着屏幕去机房设置了。

http://www.lryc.cn/news/124064.html

相关文章:

  • Ansible从入门到精通【六】
  • 国企的大数据岗位方向的分析
  • 【MySQL--->数据类型】
  • Ceph部署
  • 打工日记-Vue3+Ts二次封装el-table
  • funbox3靶场渗透笔记
  • springcloud3 hystrix实现服务降级,熔断,限流以及案例配置
  • ComponentOne Studio ASP.NET MVC Crack
  • OPENCV C++(十一)
  • ES使用心得
  • Stable Diffusion - 幻想 (Fantasy) 风格与糖果世界 (Candy Land) 人物提示词配置
  • 部署K8S集群
  • 在时间和频率域中准确地测量太阳黑子活动及使用信号处理工具箱(TM)生成广泛的波形,如正弦波、方波等研究(Matlab代码实现)
  • 一百五十四、Kettle——Linux上安装Kettle9.3(踩坑,亲测有效,附截图)
  • PackageNotFoundError: No package metadata was found for bitsandbytes解决方案
  • uni-app和springboot完成前端后端对称加密解密流程
  • 【Unity造轮子】制作一个简单的2d抓勾效果(类似蜘蛛侠的技能)
  • Unity 人物连招(三段连击)
  • 关于WSL以及docker连接adb的坑
  • python安装第三方包时报错:...\lib\site-packages\pip\_vendor\urllib3\response.py...
  • 腾讯云从业者认证考试考点——云存储产品
  • 猿辅导Motiff与IXDC达成战略合作,将在UI设计领域推动AI革新更多可能性
  • 条件操作符(三目操作符)
  • (五)Unity开发Vision Pro——FAQ
  • GitOps 与 DevOps:了解关键差异,为企业做出最佳选择
  • Java实现Word文档转PDF,PDF转Word,PDF转Excel,PDF转换工具
  • Docker部署ES服务,全量同步的时候内存爆炸,ES自动关闭,CPU100%
  • Python——添加照片边框
  • 《高性能MySQL》——查询性能优化(笔记)
  • 【Linux操作系统】编译过程中遇到的问题-为什么加-c?执行文件提示无法执行二进制文件?main函数参数argc和*argv[]的作用和理解?