SSH 配置文件生成器
指导
SSH 配置文件生成器
构建一个干净且语法正确的配置文件 ~/.ssh/config 无需记忆指令名称或在 ssh_config 手册页中查找选项。通过可视化表单添加每个 SSH 主机,为常见的服务(如 GitHub、AWS EC2 或 Bastion Jump Host)选择预设,然后一键复制或下载完成的配置。
如何使用
- 选择一个快速预设(GitHub、GitLab、Bitbucket、AWS EC2、DigitalOcean、Bastion/Jump Host、Vagrant)以加载初始主机块,或从空状态开始。
- 填写每个主机块:别名、HostName、User、Port、IdentityFile,以及可选字段如 ProxyJump、ServerAliveInterval、StrictHostKeyChecking、ForwardAgent 和 IdentitiesOnly。
- 使用“添加主机”按钮创建额外的块,并使用箭头按钮重新排序它们。
- 切换全局选项,如 AddKeysToAgent 或 UseKeychain,以供 macOS 用户使用。
- 复制生成的配置或将其下载为
config文件并放入~/.ssh/.
特征
- 可视化多主机构建器 – 可以通过字段表单添加、删除和重新排序任意数量的 Host 块。
- 服务预设 – 为 GitHub、GitLab、Bitbucket、AWS EC2、DigitalOcean、Bastion Jump Host 和 Vagrant 虚拟机提供一键启动选项。
- 完整指令覆盖 – HostName、User、Port、IdentityFile、ProxyJump、ServerAliveInterval、StrictHostKeyChecking、ForwardAgent 和 IdentitiesOnly。
- 全局选项 – AddKeysToAgent 和 UseKeychain 用于 macOS ssh-agent 集成。
- 正确语法 – 正确的缩进、指令大小写以及 Host 声明,可以直接用于
~/.ssh/config. - 私有设计 – 所有内容都在您的浏览器端生成,不会上传。
常问问题
-
~/.ssh/config 文件位于何处,它起什么作用?
~/.ssh/config 是一个用户级别的 OpenSSH 客户端配置文件,每次运行 ssh、scp、sftp 或 rsync 命令时都会被读取。它允许您定义别名、设置默认用户和端口、为每个主机分配身份密钥,并通过 Bastion 进行连接链路。如果没有它,您将不得不反复输入长命令,如 ssh -i ~/.ssh/key -p 2222 user@host。
-
ProxyJump 是什么,何时使用?
ProxyJump(也称为 -J 标志)告诉 SSH 通过一个或多个 Bastion 主机来连接到内部目标。它取代了旧的 ProxyCommand + netcat 模式,是访问私有网络服务器而不直接暴露在互联网上的标准方法。大多数企业或云环境都会使用 Bastion 以确保可审计性。
-
IdentitiesOnly 为何重要?
IdentitiesOnly yes 使 SSH 仅使用 IdentityFile 指定的密钥进行该主机的认证,而不是尝试 ssh-agent 中加载的所有密钥。在主机上加载了大量密钥的情况下,这可以防止因服务器 MaxAuthTries 限制而导致的认证失败,并避免意外使用错误的密钥。
-
StrictHostKeyChecking 实际上控制什么?
StrictHostKeyChecking 决定了 SSH 对新或已更改的主机密钥的反应方式。yes 拒绝未知主机;accept-new 一旦信任新主机后就执行严格检查;ask 以交互方式提示;no 禁用检查,仅适用于一次性或临时主机。
-
为何主机块内的指令顺序通常无关紧要,但整体文件顺序却重要?
在单个 Host 块内,指令只是应用于匹配连接的键值对。但在不同块之间,SSH 会使用它找到的第一个匹配指令,因此更具体的 Host 模式必须在通用 Host * 捕获块之前,否则通配符会获胜并覆盖每个主机的设置。
