使用这款开源工具管理您的 SSH 连接

这个开源项目使连接到任何 SSH 会话变得快速、无缝且非常轻松。
98 位读者喜欢这篇文章。
Top 5 Linux pain points in 2017

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

OpenSSH 被广泛使用,但一直没有一个广为人知的连接管理器,所以我开发了 ncurses SSH 连接管理器 (nccm) 来填补流程中的这个重大空白。nccm 是一个简单的 SSH 连接管理器,具有超便携的终端界面(正如项目名称所示,用 ncurses 编写)。最重要的是,它非常易于使用。借助 nccm,您可以以最小的干扰和最少的击键次数连接到您选择的 SSH 会话。

安装 nccm

最快的上手方法是从它的 Git 仓库 克隆项目

$ git clone https://github.com/flyingrhinonz/nccm nccm.git

nccm.git/nccm 目录中,有两个文件——nccm 本身和一个 nccm.yml 配置文件。

首先,将 nccm 脚本复制到 /usr/local/bin/ 并授予它可执行权限。您可以使用 install 命令一步完成此操作

$ sudo install -m755 nccm
–target-directory /usr/local/bin

nccm.yml 文件可以复制到以下任何一个位置,并从找到的第一个位置加载

  • ~/.config/nccm/nccm.yml
  • ~/.nccm.yml
  • ~/nccm.yml
  • /etc/nccm.yml

nccm 命令需要您的机器上安装 Python 3,这在大多数 Linux 系统上应该不是问题。大多数 Python 库依赖项已经作为 Python 3 的一部分存在;但是,您必须安装一些 YAML 依赖项和实用程序。

如果您没有安装 pip,您可以使用您的包管理器安装它。同时,安装 yamllint 应用程序以帮助您验证 nccm.yml 文件。

在 Debian 或类似系统上,使用 apt

$ sudo apt install python3-pip yamllint

在 Fedora 或类似系统上,使用 dnf

$ sudo dnf install python3-pip yamllint

您还需要 PyYAML,您可以使用 pip 命令安装它

$ pip3 install --user PyYAML

使用 nccm

在开始之前,编辑 nccm.yml 文件并添加您的 SSH 配置。YAML 的格式很容易,文件中提供了示例。只需遵循结构——在行首提供连接名称,配置项缩进两个空格。不要忘记冒号——这些是 YAML 语言的一部分。

不用担心以任何特定方式排序您的 SSH 会话块,因为 nccm 在程序中为您提供了“排序方式”选项。

完成编辑后,使用 yamllint 检查您的工作

$ yamllint ~/.config/nccm/nccm.yml

如果没有返回错误,那么您已正确格式化了文件,可以安全地继续。

如果 nccm 可以 从您的路径访问 并且是可执行的,那么只需输入 nccm 即可启动 TUI(终端用户界面)。如果您看到 Python 3 异常,请检查您是否已满足依赖项。任何异常都应提及任何缺少的软件包。

只要您使用 YAML 配置文件而不更改 nccm_config_control mode,您就可以使用这些键盘控件

  • 上/下箭头 - 以传统方式移动标记
  • Home/End - 将标记跳转到列表的第一个/最后一个条目
  • PgUp/PgDn - 在列表中向上/向下翻页
  • 左/右箭头 - 水平滚动列表
  • TAB - 在文本框之间移动光标
  • Enter - 连接到选定的条目
  • Ctrl-h - 显示此帮助菜单
  • Ctrl-q 或 Ctrl-c - 退出程序
  • F1-F5 或 !@#$% - 按相应的列 (1-5) 排序

使用 F1 到 F5 键按第 1 到第 5 列排序。如果您的桌面捕获 F 键输入,您可以改为在“Conn”文本框中按 !@#$% 进行排序。显示屏显示 4 个可见列,但出于排序目的,我们将用户名和服务器地址视为单独的列,从而为我们提供 5 个排序控件。您可以通过再次按下相同的“排序”键来反转顺序。可以通过在突出显示的行上按 Enter 键来建立连接。

nccm screenshot terminal view

在“Filter”文本框中键入文本会使用输入的所有内容之间的“与”函数来过滤输出。这是不区分大小写的,并且空格分隔条目。“Conn”文本框也是如此,但在此处按 Enter 键会连接到该特定条目编号。

还有一些更有趣的功能有待发现,例如焦点模式,但我将把探索细节留给您。有关更多详细信息,请参阅项目页面或内置帮助。

配置 YAML 文件有很好的文档记录,因此您将知道如何编辑设置以使 nccm 最适合您。nccm 程序也进行了大量注释,因此您可能希望 fork 或修改它以添加更多功能。欢迎提交 pull 请求!

使用 nccm 轻松进行 SSH 连接

我希望这个程序能为您提供良好的服务,并且对您和我一样有用。感谢您成为开源社区的一员,请接受 nccm 作为我对持续努力实现无缝、轻松和高效计算体验的贡献。

接下来阅读什么
标签
User profile image.
红帽认证架构师。

3 条评论

那么卖点是什么?为什么要使用一个需要大量额外 YAML 代码的工具,而不是仅仅使用 .ssh/config 文件?

过滤功能。
当您有成百上千个 ssh 服务器要管理时,这会使生活变得轻松得多。
我过去也使用 /etc/hosts 文件和 ssh,但是当您的连接数量增加时,例如管理员的情况,这个工具就变得有用了。

回复 ,评论者 Daniel Ziltener (未验证)

我肯定会尝试一下。感谢您为此所做的工作!

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.