Linux CLI 连接管理器?

Linux CLI 连接管理器?

我正在寻找一个在 CLI 中运行的 Linux 连接管理器。明确地说,连接管理器是指允许您创建、保存和快速启动远程连接的程序。类似于远程控制远程控制电压端子权力下放 RDM等。您应该能够定义连接类型(ssh)、目标(IP 或 DNS)以及 SSH 版本、用户名/密码等参数

我们正在加强大型管理服务提供商环境中的安全性,并将创建几个“跳跃式”Linux 盒。我们的想法是,我们的团队和一级支持将通过 SSH 连接到这些 Linux 服务器,然后从那里连接到整个环境中的各种网络设备。由于一些路由 (VRF) 到位,它既更安全,也是必需的。

理想情况下,我希望解决方案将连接存储在 mySQL 或类似数据库中,以便我们可以轻松地从多台机器(跳跃箱)访问一个连接库。

有人遇到过这样的程序或项目吗?我发现了一些适用于 Linux 的应用程序,例如雷米娜单咖啡, 和PAC 经理,但它们都是 GUI。我不想必须通过 VNC 进入跳转框,因为我们只需要 CLI 来进行 SSH。

谢谢!

答案1

那么使用 ~/.ssh/config 文件怎么样?易于使用、维护和与他人共享。如果您需要共享它,那么 Git 存储库将是完美的选择。

该文件如下所示:

Host somename
  User username
  HostName 192.168.1.X
  Port 2222

Man ssh_config 了解更多选项。

答案2

这是我的 .zshrc 文件中的一些代码。它将自动完成 /etc/hosts 中的主机、您可以管理的列表以及您之前连接过的主机(如果您HashKnownHosts no在 ssh 配置中设置了“ ”)。设置“ HashKnownHosts no”可能被视为安全风险,因为已经有权访问您的$HOME/.ssh/known_hosts文件的用户可以看到您之前连接过的系统。这是从 grml 配置中窃取的。

if is42 ; then
    [[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
    [[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
else
    _ssh_hosts=()
    _etc_hosts=()
fi
hosts=(
    $(hostname)
    "$_ssh_hosts[@]"
    "$_etc_hosts[@]"
    example.com
)
zstyle ':completion:*:hosts' hosts $hosts

添加后,一切都像魔术一样运行。

答案3

使用一些自定义脚本并通过 Puppet 或 git 进行管理。完全自定义,易于通过 puppet 或 VCS 进行管理。特别是由于您不打算修补现有解决方案,我强烈建议您进行自定义,以便完全控制它。

答案4

NCurses ssh 连接管理器 (nccm)https://github.com/flyingrhinonz/nccm

相关内容