SuperAPI AI 工具集

ssh-config

部署与运维

查看项目

更新于 10-15 10:59

技能介绍

用途

本资料是一份 SSH 使用参考,面向需要管理 SSH 密钥、编辑 SSH 客户端配置、建立隧道与端口转发、通过跳板机访问内网主机,以及进行 SSH 服务端安全加固的用户。内容以命令与配置片段为主,可直接参考执行。

主要能力

密钥管理

  • 生成密钥:ssh-keygen -t ed25519 -C "your@email.com",支持自定义文件名(-f)、无口令(-N ""),以及面向旧系统的 RSA 4096。
  • 修改现有密钥口令:ssh-keygen -p -f ~/.ssh/id_ed25519。
  • 查看指纹与更新注释:ssh-keygen -lf 与 ssh-keygen -c。
  • 复制公钥:ssh-copy-id、手动写入 authorized_keys 的命令、macOS 剪贴板 pbcopy。
  • ssh-agent:启动、添加(含 -t 超时)、列出、删除单个或全部密钥;macOS 钥匙串集成(UseKeychain、--apple-use-keychain);代理转发(ssh -A、ForwardAgent yes),并提示仅向可信主机转发。

配置文件 ~/.ssh/config

  • 基本 Host 条目:HostName、User、Port、IdentityFile、IdentitiesOnly yes。
  • 通配符与默认值:Host *、Host *.example.com、Host 192.168.1.*。
  • 多 GitHub/GitLab 账号:通过 Host github.com-personal、github.com-work 区分密钥,并给出 git clone 与 git remote set-url 用法。

跳板机

  • ProxyJump(OpenSSH 7.3+):在配置中用 ProxyJump bastion,支持多级链式跳转,也可命令行 ssh -J。
  • ProxyCommand(旧版):ProxyCommand ssh -W %h:%p bastion。

端口转发与隧道

  • 本地转发 -L、远程转发 -R、动态转发/SOCKS 代理 -D,并说明可在配置中用 LocalForward、DynamicForward 定义。
  • 后台隧道 ssh -f -N -L、用 pkill 结束、用 autossh 自动重连,以及通过跳板机访问数据库并配合 psql、redis-cli。

文件传输与连接复用

  • scp 上传/下载/递归;rsync 增量传输、进度、镜像、dry run、经跳板机传输。
  • 复用:ControlMaster auto、ControlPath、ControlPersist 600,以及 ssh -O check/-O exit。

调试与安全

  • 调试:ssh -v/-vvv、ssh -T git@github.com、ssh -G、ssh-keygen -R 清除陈旧主机密钥,并列出常见错误含义。
  • 硬化:文件权限、sshd_config 选项(禁用密码登录、禁用 root 登录、改端口、限制用户、MaxAuthTries 等)、sshd -t 校验、fail2ban。
  • SSH 证书:创建 CA、签发用户与主机证书、查看证书、在服务端与客户端配置信任 CA。

使用方式

资料中的命令与配置片段可直接复制到终端或写入 ~/.ssh/config、/etc/ssh/sshd_config 等文件使用。涉及服务端的改动给出了校验与重启命令:sudo sshd -t 与 sudo systemctl restart sshd。隧道与会话内操作还介绍了转义序列(如 ~. 断开、~C 添加转发)。

适用场景

  • 配置邮箱、GitHub/GitLab 或多账号的 SSH 密钥。
  • 为服务器、跳板机、内网主机编写 ~/.ssh/config。
  • 建立到数据库、Web 服务、Redis 的隧道与端口转发。
  • 通过跳板机传输文件或执行命令。
  • 排查连接失败、清理主机密钥、增强 SSH 服务安全性。

限制

资料未提供与收费、平台支持范围、性能指标或效果承诺相关的信息。部分能力有版本前提,如 ProxyJump 需要 OpenSSH 7.3+;autossh 需要先通过 brew/apt 安装;fail2ban 的配置文件内容仅以简写形式给出。使用前请结合自身环境验证。