什么是 OpenSSH?
OpenSSH(Open Secure Shell)是一套用于远程登录和执行命令的安全网络协议工具集。 它通过加密通信防止窃听、连接劫持等攻击,是 Linux 系统中最常用的远程管理工具。
安装 OpenSSH 服务
不同 Linux 发行版使用不同的包管理器,请根据你的系统选择对应命令:
Ubuntu / Debian
sudo apt update
sudo apt install openssh-server -y
CentOS / RHEL / Rocky Linux
sudo yum install openssh-server -y
# 或在较新版本中使用 dnf
sudo dnf install openssh-server -y
验证是否已安装
ssh -V
若返回版本信息(如 OpenSSH_8.9p1),说明客户端已安装;服务端需检查 sshd 是否存在。
启动并启用 SSH 服务
安装完成后,需要启动 SSH 服务并设置开机自启:
# 启动服务
sudo systemctl start sshd
# 设置开机自启
sudo systemctl enable sshd
# 查看服务状态
sudo systemctl status sshd
注意:在 Ubuntu/Debian 中,服务名通常为
ssh;而在 CentOS/RHEL 中为 sshd。
若上述命令报错,可尝试将 sshd 替换为 ssh。
防火墙配置(如启用)
确保防火墙允许 SSH 默认端口(22)通信:
UFW(Ubuntu)
sudo ufw allow ssh
# 或
sudo ufw allow 22/tcp
firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
测试远程连接
从另一台机器使用以下命令测试连接:
ssh username@your_server_ip
首次连接会提示确认主机密钥,输入 yes 即可。
常见问题排查
- 无法连接? 检查
sshd是否运行:systemctl status sshd - 端口被占用或修改? 查看配置文件
/etc/ssh/sshd_config中的Port设置 - 权限错误? 确保用户家目录和
.ssh目录权限正确(通常为 700)
安全建议
- 禁用 root 直接登录:
PermitRootLogin no - 使用密钥认证代替密码登录
- 更改默认 SSH 端口(可选,但需配合防火墙)
- 定期更新系统和 OpenSSH 软件包