安全、高效、开源的远程连接解决方案
OpenSSH(Open Secure Shell)是一套基于 SSH 协议的安全网络工具集,用于在不安全的网络中提供加密的远程登录、文件传输和其他通信服务。 它是 SSH Communications Security 所提供的商用 SSH 软件的开源替代品,广泛应用于 Linux、macOS 和现代 Windows 系统中。
OpenSSH 包含多个组件,如 ssh(客户端)、sshd(服务端)、scp、sftp、ssh-keygen 等。
scp 或 sftp 安全复制文件。在大多数 Linux 发行版中,OpenSSH 服务默认已安装或可通过包管理器轻松安装:
# Ubuntu / Debian
sudo apt update && sudo apt install openssh-server
# CentOS / RHEL / Rocky Linux
sudo dnf install openssh-server
# 启动并设置开机自启
sudo systemctl start sshd
sudo systemctl enable sshd
安装完成后,服务默认监听 22 端口。
常见安全建议配置项:
Port 2222 # 修改默认端口(可选)
PermitRootLogin no # 禁止 root 直接登录
PasswordAuthentication no # 禁用密码登录(推荐使用密钥)
PubkeyAuthentication yes # 启用公钥认证
AllowUsers alice bob # 仅允许指定用户登录
Protocol 2 # 仅使用 SSHv2
修改配置后需重启服务:sudo systemctl restart sshd
在本地生成密钥对(推荐使用 Ed25519 算法):
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥上传到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
之后即可免密登录:ssh user@server_ip
AllowUsers)。ssh user@host – 连接远程主机ssh -p 2222 user@host – 指定端口连接scp file.txt user@host:/path/ – 复制文件ssh-keygen -l -f ~/.ssh/id_rsa – 查看公钥指纹ssh -L 8080:localhost:80 user@host – 本地端口转发