使用开源工具 nccm 管理 SSH 连接
创始人
2024-03-02 05:50:16
0

使用 nccm 让你的终端连接 SSH 会话更快、更稳、更轻松。

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 配置文件中更改 ncm_config_control 模式,那么你可以使用以下的键盘按键来控制:

  • Up/Down 方向键 - 移动光标
  • Home/End - 跳转到文件开始和结尾
  • PgUp/PgDn - 以页为单位查看
  • Left/Right 方向键 - 水平滚动
  • TAB - 在文本框之间移动
  • 回车 - 连接选中的 SSH 会话
  • Ctrl-h - 显示帮助菜单
  • Ctrl-q/Ctrl-c - 退出
  • F1-F5! @ # $ % - 按 1-5 列排序

使用 F1F5 来按 1-5 列排序,如果你的设备占用了这些 F1 - F5 键,你可以使用! @ # $ % 来替代。默认界面显示 4 列内容,但我们将用户名和服务器地址作为单独的列来排序,这样我们就有了 5 个排序方式。你也可以通过再次按下排序的按键来逆转排序。在选中的行上按回车可以建立会话。

nccm screenshot terminal view

Filter 文本框中输入过滤内容,会用输入的内容以“与”的关系来过滤输出内容。这是不区分大小写的,而条目间用空白分隔。在 Conn 部分也是如此,但在这里按回车键可以连接到那个特定的条目编号。

这个工具还有许多功能需要你去发掘,比如专注模式,这些部分留下等待你去探索,也可以查看项目主页或者内置的帮助文档查看更多细节内容。

项目的 YAML 配置文件的文档是完善的,所以你可以查阅修改使 nccm 使用起来更加顺手。nccm 项目是非常希望得到你的反馈的,所以你可以复刻该项目然后添加更多新功能,欢迎大家提出拉取请求。

使用 nccm 来放松连接 SSH 的压力

像我一样,我希望这个工具可以对你有用,感谢能够为开源工作增加自己的贡献,请接受 nccm 作为我对开源项目自由、高效工作所做的贡献。


via: https://opensource.com/article/20/9/ssh-connection-manager

作者:Kenneth Aaron 选题:lujun9972 译者:hom 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

SSH

相关内容

ssh 登录超时 expe...
ssh -p 22 root@192.168.1.1 -v...
2025-05-29 15:17:15
添加已有的PublicKe...
mkdir -p ~/.ssh/ To overwrite aut...
2025-05-29 06:01:59
不需要SSH连接远程Mon...
要不需要SSH连接远程MongoDB服务器,可以使用以下方法之一:...
2025-01-10 15:00:48
不同操作系统的客户端与SS...
不同操作系统的客户端与SSH服务器的行为不同:分段错误可能是由于操...
2025-01-08 09:00:54
不使用添加的SSH密钥在n...
在nushell中使用Git时,如果你没有使用添加SSH密钥的权限...
2024-12-29 11:30:55
不使用SSH从远程机器触发...
要从远程机器触发一个Python脚本,而不使用SSH,可以使用以下...
2024-12-29 10:31:02

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...