什么是 OpenSSH?
OpenSSH(Open Secure Shell)是一套用于安全远程登录和其他网络服务的工具集。 它使用加密技术确保通信过程中的数据完整性与机密性,是 Linux/Unix 系统中最常用的远程管理方式。
基础配置文件位置
OpenSSH 的主配置文件通常位于:
/etc/ssh/sshd_config
修改后需重启 SSH 服务生效:
sudo systemctl restart sshd
常用配置项示例
1. 修改默认端口(提升安全性)
Port 2222
注意:修改端口后需更新防火墙规则,并使用
ssh -p 2222 user@host 连接。2. 禁用密码登录,启用密钥认证(推荐)
PubkeyAuthentication yes PasswordAuthentication no
3. 限制可登录用户
AllowUsers alice bob
4. 禁用 root 直接登录
PermitRootLogin no
生成 SSH 密钥对(客户端操作)
在本地终端执行以下命令:
ssh-keygen -t ed25519 -C "your_email@example.com"
然后将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server
安全建议
- 定期更新 OpenSSH 软件包
- 使用强密钥算法(如 Ed25519 或 RSA 4096 位)
- 配合 Fail2ban 防止暴力破解
- 禁用不使用的认证方式(如 rhosts、Kerberos)
常见问题排查
连接被拒绝? 检查端口是否开放、sshd 是否运行。
权限错误? 确保 ~/.ssh 目录权限为 700,私钥为 600。
调试连接问题:
ssh -v user@host