HCRM博客

CentOS 8 SSH服务开机自启攻略,保障远程连接稳定可靠

CentOS8设置SSH服务开机自启的正确姿势:别让远程连接掉链子

CentOS8设置SSH服务开机自启的正确姿势

CentOS 8 SSH服务开机自启攻略,保障远程连接稳定可靠-图1

装完CentOS8,兴冲冲地敲完最后一行配置,重启机器却发现Putty死活连不上?十有八九是sshd没跟着系统一起醒。别急着拍桌子,把SSH服务设成开机自启其实就两条命令,但坑点藏在细节里,一步踩空,远程端口依旧自闭。

先确认openssh-server真在

很多最小化镜像默认只给客户端,没装服务端。先跑一句:

rpm -q openssh-server

如果返回“package openssh-server is not installed”,直接:

dnf install -y openssh-server

CentOS 8 SSH服务开机自启攻略,保障远程连接稳定可靠-图2

装完别急着走,继续看。

把服务拽进systemd

CentOS8用systemd管生老病死,老派chkconfig已经靠边。让sshd每次跟着系统起来,就一句:

systemctl enable sshd

屏幕会打印“Created symlink …”才算成功。没提示?多半是权限被限制,sudo别省。

立即启动并验活

CentOS 8 SSH服务开机自启攻略,保障远程连接稳定可靠-图3

enable只是写链接,当前会话里服务仍旧睡着。顺手:

systemctl start sshd

再查状态:

systemctl status sshd

看到“active (running)”且绿色高亮,心里就有底。如果红色,日志甩出来:

journalctl -xeu sshd

端口占用、密钥权限、配置语法都能在这排雷。

防火墙放过22端口

服务起来了,却被firewalld挡在外面,一样白搭。一次放行永久生效:

firewall-cmd --permanent --add-service=ssh

firewall-cmd --reload

自定义端口的朋友把“--add-service=ssh”换成“--add-port=6022/tcp”即可,记得SELinux也给新端口打标签:

semanage port -a -t sshportt -p tcp 6022

开机自启仍失效?排查三板斧

1. 检查/etc/systemd/system/sshd.service.wants/有无残留旧链接,有就rm掉再enable一次。

看/etc/fstab里有没有把/var或/tmp挂成noexec,这会导致sshd生成密钥失败,systemd判定启动不成功。

虚拟机模板如果装了cloud-init,它可能把ssh禁掉。/etc/cloud/cloud.cfg里把sshpwauth和disableroot设置成符合自己环境的值,或者干脆卸载cloud-init。

想更安全?改端口+密钥+Fail2ban

端口改掉后,/etc/ssh/sshd_config里Port字段去掉注释,改完systemctl restart sshd。root别放行,PasswordAuthentication设no,只留公钥。再装个fail2ban:

dnf install fail2ban -y

简单写个/etc/fail2ban/jail.local:

[sshd]

enabled = true

maxretry = 3

bantime = 3600

最后systemctl enable --now fail2ban,暴力破解直接关小黑屋。

懒人一键脚本

把下面内容存成ssh-auto.sh,chmod +x后root执行,上面步骤一次到位:

#!/bin/bash

dnf install -y openssh-server

systemctl enable --now sshd

firewall-cmd --permanent --add-service=ssh

firewall-cmd --reload

echo 'SSH已设为开机自启并立即启动,端口22,防火墙已放行。'

改端口自己加变量即可。

常见作死现场Top3

1. 没开防火墙却怪连不上。云主机还要检查安全组,本机防火墙与安全组双重放行才算数。

2. enable后忘了start,重启才生效的误解。enable≠立刻跑,想马上用必须start。

3. 手抖把Port 22改写成Port 6022,却忘了reload防火墙。SELinux也没放行,结果端口一通telnet就挂。

CentOS8让SSH自启就两步:装包、enable。听起来简单,可一旦漏掉防火墙、SELinux、cloud-init这些拦路虎,远程照样失联。按上面顺序排查,五分钟搞定,再也不用抱着显示器跑机房。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/42003.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~