开启服务器SSH服务是远程管理的基础,核心在于安装SSH软件包、启动服务并配置防火墙放行22端口。
如何开启服务器SSH服务:从安装到启动
对于任何Linux服务器,开启SSH服务都是远程管理的首要步骤,无论你使用的是CentOS、Ubuntu还是Debian,流程基本一致,但命令细节略有不同。
检查当前系统是否已安装SSH
多数云服务器镜像默认已安装OpenSSH Server,登录服务器后,先执行检查命令:
- 对于systemd系统:
systemctl status sshd或systemctl status ssh - 如果返回
active (running),说明SSH服务已在运行,可直接使用。 - 如果提示
Unit sshd.service could not be found,则需要手动安装。
使用包管理器安装OpenSSH
不同发行版安装命令有差异,记住核心原则:apt(Debian/Ubuntu)用apt install openssh-server,yum(CentOS 7)用yum install openssh-server,dnf(CentOS 8+)用dnf install openssh-server。
具体操作:
- Ubuntu/Debian:
sudo apt update && sudo apt install openssh-server -y - CentOS/RHEL:
sudo yum install openssh-server -y(CentOS 7)或sudo dnf install openssh-server -y(CentOS 8+) - 安装完成后,服务会自动启动,但建议手动确认。
启动SSH服务并设置开机自启
安装完成后,启动服务并确保服务器重启后自动运行:
sudo systemctl start sshd或sudo systemctl start sshsudo systemctl enable sshd或sudo systemctl enable ssh- 检查状态:
sudo systemctl status sshd
防火墙放行是新手最容易忽略的一步,如果服务器有防火墙(如iptables、firewalld、ufw),必须允许SSH默认端口22:
- firewalld(CentOS):
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent && sudo firewall-cmd --reload - ufw(Ubuntu):
sudo ufw allow 22 && sudo ufw reload - 云平台安全组:简米云、酷番云、华为云等还需要在控制台的安全组或网络ACL中添加入方向规则,允许TCP 22端口。
服务器SSH配置安全加固
默认的SSH配置存在安全风险,尤其是使用弱密码和默认端口,业内专家指出,超过80%的服务器入侵事件与SSH配置不当直接相关,完成基础配置后,必须立即进行安全加固。
修改默认SSH端口
将默认22端口改为高位端口(如2222、10022等),可有效减少被扫描的概率。
- 编辑配置文件:
sudo vim /etc/ssh/sshd_config - 找到
#Port 22,去掉注释并修改为Port 2222(建议使用1024-65535之间的端口,避免与已知服务冲突) - 保存后重启SSH服务:
sudo systemctl restart sshd - 注意:修改端口后,防火墙和云平台安全组也要同步放行新端口,否则你会被锁在服务器外。
禁用root直接登录
root用户拥有最高权限,直接通过SSH登录风险极高,建议创建一个普通用户,赋予sudo权限,然后禁用root远程登录。
- 创建新用户:
sudo adduser yourusername - 添加sudo组:
sudo usermod -aG sudo yourusername(Ubuntu)或sudo usermod -aG wheel yourusername(CentOS) - 编辑sshd_config:
PermitRootLogin no - 重启SSH服务生效。
- 之后始终使用普通用户登录,需要超级权限时用
sudo命令。
配置密钥登录
密码登录容易被暴力破解,SSH密钥登录更安全且方便
,配置流程:
- 在本地客户端生成密钥对:
ssh-keygen -t rsa -b 4096(也可使用ed25519算法) - 将公钥复制到服务器:
ssh-copy-id -p 端口 yourusername@服务器IP - 如果没有ssh-copy-id命令,可手动将公钥内容追加到服务器上
~/.ssh/authorized_keys文件 - 编辑sshd_config,确认以下设置:
PubkeyAuthentication yesPasswordAuthentication no(可选,禁用密码登录后更安全,但需确保密钥配置正确)
- 重启SSH服务:
sudo systemctl restart sshd
注意:在修改 PasswordAuthentication no 之前,务必先测试密钥登录是否成功,否则你会被永久拒之门外。
不同云平台服务器SSH配置要点
国内主流云服务器厂商在控制台层面提供了额外的SSH管理功能,了解这些差异能帮你快速完成配置。
简米云服务器SSH配置
简米云服务器(ECS)默认安全组规则只放行ICMP和22端口,但通常预置了SSH服务,需要注意:
- 创建实例时,如果选择了“安全加固”镜像,SSH端口可能被修改为自定义端口,需查看控制台提示。
- 如果修改了SSH端口,必须同时在安全组中添加新端口放行规则,并删除22端口规则(如需彻底关闭)。
- 简米云提供“远程连接”功能,即使SSH配置错误,也可以通过VNC方式登录服务器修复。
酷番云服务器SSH配置
酷番云服务器(CVM)默认使用Ubuntu或CentOS,SSH服务默认开启,但有一个常见问题:新购买的酷番云服务器,如果使用密码登录,需要先在控制台重置密码,然后重启实例才能生效。
- 酷番云安全组规则同样需要手动放行自定义端口,注意“来源”设置为
0.0.0/0(允许所有IP)或指定IP段。 - 酷番云也提供“一键登录”功能,可用于紧急情况下的运维。
华为云服务器SSH配置
华为云服务器(ECS)的SSH配置与其他云平台类似,但它的安全组策略默认更严格,通常只放行22端口,如果修改端口,记得在安全组中同时添加新端口和删除旧端口,避免残留风险。
服务器开启SSH配置常见问题
修改SSH端口后无法连接怎么办?
如果修改端口后无法连接,首先检查服务器本地是否能访问:使用VNC或云平台控制台登录,查看sshd_config配置是否正确,端口是否被占用,然后确认防火墙和云平台安全组已放行新端口,如果本地访问正常,但远程仍无法连接,可能是网络ACL或云防火墙限制了新端口,需要仔细排查安全策略。
密钥登录配置后仍然提示输入密码?
常见原因有两个:一是authorized_keys文件权限不正确,需要设置为600或644,并且.ssh目录权限为700或755,二是SELinux或AppArmor阻止了密钥认证,可以临时关闭SELinux测试,但生产环境建议配置正确的上下文,而非直接关闭,确认sshd_config中PubkeyAuthentication已设置为yes。
云服务器SSH连接速度慢,如何优化?
连接慢通常是因为SSH服务端启用了DNS反向解析,在sshd_config中添加 UseDNS no,并重启SSH服务,如果使用GSSAPI认证,可以设置 GSSAPIAuthentication no,这两个优化能显著提升登录速度,尤其在跨地域访问时效果明显,连接速度慢另一个常见原因是客户端网络延迟,可尝试使用云平台提供的内网IP连接(同一地域内延迟更低)。
开启服务器SSH配置并不复杂,但安全加固是长期课题,务必在第一次登录后完成端口修改、禁用root和密钥登录三项基础操作,这能抵御绝大多数自动扫描攻击。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/549181.html




