使用开源工具 nccm 管理 SSH 连接
| 2020-09-19 23:40:33 评论: 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 列排序
使用 F1
到 F5
来按 1-5 列排序,如果你的设备占用了这些 F1
- F5
键,你可以使用!
@
#
$
%
来替代。默认界面显示 4 列内容,但我们将用户名和服务器地址作为单独的列来排序,这样我们就有了 5 个排序方式。你也可以通过再次按下排序的按键来逆转排序。在选中的行上按回车可以建立会话。
在 Filter
文本框中输入过滤内容,会用输入的内容以“与”的关系来过滤输出内容。这是不区分大小写的,而条目间用空白分隔。在 Conn
部分也是如此,但在这里按回车键可以连接到那个特定的条目编号。
这个工具还有许多功能需要你去发掘,比如专注模式,这些部分留下等待你去探索,也可以查看项目主页或者内置的帮助文档查看更多细节内容。
项目的 YAML 配置文件的文档是完善的,所以你可以查阅修改使 nccm
使用起来更加顺手。nccm
项目是非常希望得到你的反馈的,所以你可以复刻该项目然后添加更多新功能,欢迎大家提出拉取请求。
使用 nccm 来放松连接 SSH 的压力
像我一样,我希望这个工具可以对你有用,感谢能够为开源工作增加自己的贡献,请接受 nccm
作为我对开源项目自由、高效工作所做的贡献。