什么是 OpenSSH?
OpenSSH(Open Secure Shell)是一套用于安全远程登录、远程命令执行和文件传输的工具集。它使用加密技术保障通信安全,是 Linux 系统中最常用的远程管理方式。
提示:大多数现代 Linux 发行版默认已预装 OpenSSH 客户端,但 SSH 服务器(
openssh-server)通常需要手动安装。
在 Ubuntu/Debian 上安装 OpenSSH
- 更新软件包列表:
sudo apt update
- 安装 OpenSSH 服务器:
sudo apt install openssh-server
- 启动并设置开机自启:
sudo systemctl enable --now ssh
- 检查服务状态:
sudo systemctl status ssh
在 CentOS/RHEL/Fedora 上安装 OpenSSH
- 对于 CentOS/RHEL 7/8/9 或 AlmaLinux/Rocky Linux:
sudo dnf install openssh-server
- 启动服务并启用开机自启:
sudo systemctl enable --now sshd
- 确认服务运行状态:
sudo systemctl status sshd
- (可选)开放防火墙端口(默认 22):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
基本配置建议
OpenSSH 的主配置文件位于 /etc/ssh/sshd_config。常见安全优化包括:
- 禁用 root 直接登录:
PermitRootLogin no - 仅允许特定用户登录:
AllowUsers your_username - 更改默认端口(可选):
Port 2222 - 重启服务使配置生效:
sudo systemctl restart sshd
警告:修改配置前请确保你有其他方式可以访问服务器,避免被锁在系统外。
连接测试
从另一台机器使用 SSH 客户端连接:
ssh username@your_server_ip
若修改了端口(如 2222),则使用:
ssh -p 2222 username@your_server_ip
常见问题
- 无法连接? 检查防火墙是否放行 SSH 端口,以及服务是否正在运行。
- 权限被拒绝? 确认用户名正确,并检查
/etc/ssh/sshd_config中的登录策略。 - 如何生成密钥对? 使用
ssh-keygen命令,可提升安全性并免密登录。