在日常工作中,我们经常需要通过 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
若无特殊说明本站内容为 行星带 原创,未经同意请勿转载。