由于组织中不再有活跃的维护者,因此该项目已设置为只读。
用于帮助自动维护 SSH 客户端配置的工具。它可用于维护远程主机登录的数据库。
SSH-Config 能够使用 DNS 服务探测(新)主机并将主机添加到 SSH 配置中。除此之外,它可以连接到 SSH 服务器并找出哪些服务器可以访问,哪些服务器不能访问。
SSH-Config 的目的是简化包含许多主机的 SSH 客户端配置的维护。如果您有维护良好的 SSH 客户端配置,则 Unix shell 完成机制可帮助在键入时扩展主机名。这就是该工具的用武之地。
在命令行中使用它。实施了多个用例:
完整的命令行参数:
-database (-D) FILE : The database to use. (default: /home/$USER/.sshconfig.json
)
-discover (-d) : Discover hosts given in the command line using DNS.
(default: false)
-export (-e) : Export the database. Writes to stdout or file argument.
User and group parameters can be used for filtering.
(default: false)
-group (-G) GROUP : The group name to use for the entry for discovery or
export filtering.
-help (-h) : Show this command line help. (default: true)
-import (-i) : Import a database. Reads either from argument or stdin.
(default: false)
-sshcfg (-s) FILE : The ssh config to update. (default:
/home/$USER/.ssh/config)
-update (-u) : Update all database hosts IP addresses. (default: false)
-user (-U) USER : The user name to use for the entry for discovery or
export filtering.
$HOME/.ssh/config
要将新主机添加到 ssh 配置中,您通常会发出如下命令:
$ ssh-config -d vm-alpha vm-beta vm-gamma
$
此后,数据库$HOME/.sshconfig.json
中有条目
...
{
"name" : "vm-alpha",
"createdAt" : 1504778353193,
"enabled" : true,
"fqdn" : "vm-alpha.foo.domain",
"sshServerVersion" : "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3",
"id" : "a7369847-e833-49bd-af95-e0d1292b3ed6",
"updatedAt" : 1520958429041,
"ips" : [
"10.123.123.123"
]
},
...
在你的 $HOME/.ssh/config 中:
...
# <<< BEGIN{a7369847-e833-49bd-af95-e0d1292b3ed6}
Host vm-alpha
Hostname vm-alpha.foo.domain
Hostname 10.123.123.123
# >>> END{a7369847-e833-49bd-af95-e0d1292b3ed6}
...
要将现有主机更新到您的 ssh 配置,您通常会发出如下命令:
$ ssh-config -u
$
此后,数据库 $HOME/.sshconfig.json 中的条目已更新
...
{
"name" : "vm-alpha",
"createdAt" : 1504778353193,
"enabled" : false,
"fqdn" : "vm-alpha.foo.domain",
"sshServerVersion" : "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3",
"id" : "a7369847-e833-49bd-af95-e0d1292b3ed6",
"updatedAt" : 1520959605730,
"ips" : [
"10.123.123.123"
]
},
...
由于 $HOME/.ssh/config 中不再可访问,因此主机被删除。
涉及的文件有:
~/.ssh/config
:正在读取和写入的 SSH 配置。 SSH-Config 特定部分标有特殊的魔术标记,因此配置不会完全混乱。~/.sshconfig.json
:保存所有主机数据的 JSON 文件。用于跟踪哪些主机可访问或不可访问,因为只有可访问的主机才会被纳入上面的 SSH 客户端配置中。 提供了 Debian 和 CentOS 软件包用于安装。请参阅 Github 上的发布部分。两者都在/usr/bin/ssh-config
中安装了 shell 包装器。
构建的系统要求是
可以使用命令触发构建
mvn clean package
版权所有 2018 1&1 Internet SE 版权所有 2019 1&1 Ionos SE
根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可证,否则您不得使用此文件。您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件均按“原样”分发,不带任何明示或暗示的保证或条件。请参阅许可证,了解许可证下管理权限和限制的特定语言。