跳到主要内容
VM Ops Manager
下载
文档目录

从 ~/.ssh/config 导入

将已有的 OpenSSH 配置中的主机导入应用,无需重新录入。


任何管理着一批机器的人,手上几乎肯定都有一份 ~/.ssh/config。 手动重新录入三十台主机,正是一款工具在试用期就被放弃的典型原因。

使用方法

  1. 选择要导入到的项目。
  2. 从 SSH 配置导入。
  3. 应用会读取 ~/.ssh/config(或您指定的路径),并列出找到的主机。
  4. 勾选需要的主机,然后点击导入。

预览步骤不会写入任何内容 —— 只读取并展示。在您点击最终按钮之前, 不会创建任何数据。

读取的内容

配置中的字段导入到应用中
HostVM 名称
HostName主机地址 —— 若缺失,则使用 Host 标签本身,与 ssh 的行为一致
Port端口(默认 22)
User仅作展示参考
IdentityFile仅作展示,不会读取密钥内容

有意跳过的内容

这个读取器刻意不做完整处理:

  • 不会跟随 Include。
  • 忽略 Match 块。

这两者都可能导致同一个主机在不同上下文中解析出不同结果, 而这是无法用一个勾选列表忠实呈现的。导入简单的部分,其余的自己处理, 比导入一个微妙出错的结果要更好。

如果您的配置使用了大量 Include 语句,请通过指定具体路径, 分别从每个文件单独导入。

不会导入凭据

这是最重要的一点,也是刻意的设计:

IdentityFile 只用于展示。应用绝不会打开或读取您的私钥。

导入主机后,请为每个 VM 主动添加凭据 —— 参见 凭据。 听起来更繁琐,但这正是应该坚持的边界:一个会自动把 ~/.ssh 中所有密钥 都吸走的工具,本就不应该存在。

导入之后

  • 为这批导入的机器打上标签,便于日后快速筛选。
  • 如果配置中的标签过于晦涩(如 h3),可重命名为更清晰的名称(db-primary)。
  • 为关键机器启用监控。

没有 ~/.ssh/config?

您仍然可以手动添加,或者编写一份最简单的配置文件并导入它:

Host web-01
    HostName 10.0.1.11
    Port 22
    User deploy

Host db-01
    HostName 10.0.1.20
    User deploy