SSH 知识与实用示例
从连接、密钥管理到文件传输,按任务查阅命令与实践说明。独立于 Secure Pipes 使用指南。
除另有说明外,示例均在本地 Mac 或 Linux 电脑的 zsh/bash 中执行。alice 和 *.example.com 均为占位值。Windows OpenSSH 的路径、代理及工具可用性有所不同。可用 ssh -V 查看版本,用 man <命令名> 查阅本机手册。
连接与隧道
ssh
登录服务器、执行命令,以及建立加密隧道。
密钥与认证
ssh-keygen
生成密钥对、查看指纹,以及修改私钥口令。
ssh-copy-id
将公钥安装到远程账号的 authorized_keys 中。
ssh-agent
通过认证代理为 SSH 客户端保管可用的签名身份。
ssh-add
向既有认证代理添加身份、查看身份或移除身份。
ssh-keyscan
采集服务器主机密钥,供后续检查。
文件传输
scp
通过 SSH 连接复制文件。
sftp
通过 SSH 交互式上传和下载文件。
配置
~/.ssh/config
将常用连接参数保存到 SSH 客户端配置文件。
sshd_config
配置 OpenSSH 服务器:监听、身份验证、转发、访问控制和日志记录。
服务器安全
Fail2ban
在 Ubuntu 服务器上安装和配置 Fail2ban,暂时封禁多次 SSH 认证失败的来源地址。
SSH OTP
使用 Linux PAM 和 Google Authenticator 的 PAM 模块,为 SSH 登录添加基于时间的一次性验证码。
SSH 服务加固
检查并收紧 Ubuntu 服务器的 SSH 访问。
SSH 防火墙
检查 UFW 规则,并将 SSH 访问限制到可信来源。
SSH 密钥安全
创建、部署、验证和轮换 SSH 认证密钥。
SSH 恢复
准备恢复途径并排查 SSH 服务配置。
附录
术语表
解释 SSH、身份认证及网络相关术语。