什么是 OpenSSH?
OpenSSH(Open Secure Shell)是一套用于安全远程登录和文件传输的开源工具。它使用 SSH 协议加密客户端与服务器之间的通信,防止窃听、连接劫持等攻击。
提示:大多数 Linux 发行版默认已预装 OpenSSH 客户端,但服务端可能需要手动安装。
在 Linux 上安装 OpenSSH
Ubuntu / Debian
sudo apt update
sudo apt install openssh-server
启动并设置开机自启:
sudo systemctl start ssh
sudo systemctl enable ssh
CentOS / RHEL / Fedora
# CentOS/RHEL 7+
sudo yum install openssh-server
# 或 Fedora / RHEL 8+
sudo dnf install openssh-server
启动服务:
sudo systemctl start sshd
sudo systemctl enable sshd
在 Windows 上安装 OpenSSH
Windows 10(1809 版本及以上)和 Windows 11 支持可选功能方式安装 OpenSSH。
- 打开“设置” → “应用” → “可选功能” → “添加功能”
- 搜索 “OpenSSH 客户端” 和 “OpenSSH 服务器”,分别安装
或通过 PowerShell(以管理员身份运行)安装服务器:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
注意:首次使用前,请检查防火墙是否允许 TCP 22 端口通信。
在 macOS 上使用 OpenSSH
macOS 已内置 OpenSSH 客户端。如需启用 SSH 服务器(远程登录):
- 打开“系统设置”(或“系统偏好设置”)
- 进入“共享” → 勾选“远程登录”
- 可选择允许访问的用户
此时 SSH 服务已启用,默认使用当前用户的账户登录。
验证安装是否成功
在本地终端执行以下命令测试连接自身:
ssh localhost
若提示输入密码并成功登录,则说明 OpenSSH 服务已正常运行。
查看 SSH 服务状态(Linux/macOS):
sudo systemctl status ssh # Ubuntu/Debian
sudo systemctl status sshd # CentOS/RHEL
systemsetup -getremotelogin # macOS(终端中)
安全建议
- 修改默认 SSH 端口(非 22)可减少自动化攻击
- 禁用 root 直接登录:编辑
/etc/ssh/sshd_config,设置PermitRootLogin no - 优先使用密钥认证而非密码
- 定期更新系统和 OpenSSH 软件包