SSH(Secure Shell)是远程管理 Linux 系统的核心工具,通过加密通道实现安全登录和文件传输,以下是专业、安全且适用于主流 Linux 发行版的 SSH 启动方法,涵盖安装、配置、防火墙设置及安全加固。
检查与安装 SSH 服务
-
确认 SSH 状态
终端执行:systemctl status ssh # Ubuntu/Debian systemctl status sshd # CentOS/RHEL
- 若显示
active (running)
,表示 SSH 已启动。 - 若未安装,根据发行版安装 OpenSSH:
Ubuntu/Debian:
sudo apt update && sudo apt install openssh-server -y
CentOS/RHEL:
sudo yum install openssh-server openssh-clients -y
- 若显示
启动 SSH 并设置开机自启
-
启动 SSH 服务:
sudo systemctl start ssh # Ubuntu/Debian sudo systemctl start sshd # CentOS/RHEL
-
设置开机自动启动:
sudo systemctl enable ssh # Ubuntu/Debian sudo systemctl enable sshd # CentOS/RHEL
配置防火墙放行 SSH
默认 SSH 端口为 22
,需在防火墙放行:
-
Ubuntu(UFW 防火墙):
sudo ufw allow 22 sudo ufw reload
-
CentOS/RHEL(Firewalld):
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
注意:云服务器(如 AWS/Aliyun)需在安全组中额外开放端口 22。
安全加固配置(关键步骤)
强烈建议修改默认配置,防止暴力破解:
-
编辑配置文件:
sudo nano /etc/ssh/sshd_config
-
调整以下参数:
Port 2222 # 修改默认端口(2222) PermitRootLogin no # 禁止 root 远程登录 PasswordAuthentication no # 禁用密码登录(推荐用密钥) AllowUsers your_username # 仅允许特定用户登录
-
保存后重启 SSH:
sudo systemctl restart ssh # 或 sshd
验证 SSH 连接
- 本地测试:
ssh username@localhost -p 2222 # 替换端口和用户名
- 远程连接(其他设备):
ssh username@服务器IP -p 2222
故障排查:
- 连接失败?检查防火墙、安全组、端口是否正确。
- 日志路径:
/var/log/auth.log
(Ubuntu)或/var/log/secure
(CentOS)。
高级安全措施
-
密钥认证(更安全):
- 生成密钥对:
ssh-keygen -t ed25519
- 上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host -p 2222
- 生成密钥对:
-
Fail2Ban 防护:
自动封禁暴力破解 IP:sudo apt install fail2ban # Ubuntu sudo yum install fail2ban # CentOS
启动 SSH 只需三步:安装 → 启动 → 放行端口,但安全配置才是核心,务必:
✅ 修改默认端口
✅ 禁用 root 登录和密码认证
✅ 使用密钥登录
✅ 定期更新系统:sudo apt upgrade
或 sudo yum update
遵循此指南,您将获得一个既可用又安全的 SSH 服务,适用于 Ubuntu、Debian、CentOS 等主流系统。
引用说明:
- OpenSSH 官方文档:https://www.openssh.com/manual.html
- Ubuntu SSH 指南:https://help.ubuntu.com/lts/serverguide/openssh-server.html
- CentOS 安全加固:https://wiki.centos.org/HowTos/Network/SecuringSSH
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6808.html