Linux 下借助 except 脚本实现 SSH 密码及堡垒机自动登录

在日常工作中,我们经常需要通过 SSH 连接到多台远程主机。管理这些连接,特别是当某些主机需要密码登录时,可能会变得繁琐,因为原生的 SSH config 是不支持配置密码登录主机的。

试了各种 SSH 客户端工具,始终没有简洁而满意的,于是在 Google Gemini 的帮助下写了一个脚本工具,借助交互脚本自动输入密码,加入已配置主机列表功能,它完美地解决了这些问题。

一个基于命令行的主机管理工具:

nssh -l
Available hosts:
--------------------------------------------------------
NUM   HOST ALIAS                LOGIN TYPE          
--------------------------------------------------------
  1)  test-pass                 [Password]
  2)  pre                       [Jumpserver]
  3)  online                    [Aliyun 2FA]
  4)  test                      [Key-based (Native)]
--------------------------------------------------------

Enter number to connect (or 'q' to quit):

功能特性

  • 强化 ~/.ssh/config 类配置:在兼容原生 SSH 配置管理主机的基础上加入密码和堡垒机登录主机支持。
  • 主机列表与选择:使用 nssh -l 可以列出已配置的所有主机,并通过主机序号快速连接。
  • 支持堡垒机登录:借助 excepect 交互脚本,目前支持阿里云堡垒机和 jump server 堡垒机的登录。

具体使用:

配置好密钥或者密码的主机之后,只需要输入:

nssh test

即可登录主机别名为 test 的主机了。

假设你配置了多个主机,又不想记得那么多主机别名,那么可以输入:

nssh -l

这个命令会列出所有已配置的主机,然后输入你需要的主机序号就可以登录主机了。

本项目上传到 GitHub 开源,具体使用参考项目 README,喜欢的朋友别忘记 STAR ,需要支持更多类型的登录可以提 PR

代码库:

https://github.com/hsu1943/nssh

标题:Linux 下借助 except 脚本实现 SSH 密码及堡垒机自动登录

原文链接:https://beltxman.com/4535.html

若无特殊说明本站内容为 行星带 原创,未经同意请勿转载。

发表评论

您的电子邮箱地址不会被公开。

Scroll to top