自己动手编写ssh登陆管理工具
在平时管理服务器的时候难免要进行一些频繁的登陆操作,在windows下有一些很好的管理工具。但linux下寥寥无几。我的需求很简单,首先是基于命令行的,能分组,能保存密码就好,但我寻找了很长时间都没有一个能够使我满意的,于是乎,自己动手丰衣足食,也正好练习一下python。
首先说下运行环境:
os: ubuntu 12.04
python: 2.7+sqlite
ssh客户端: zssh (因为能用sz和rz进行文件传输)
脚本地址:
https://git.oschina.net/lunule/ssh-tool
大概原理:
通过命令行参数保存数据到数据库,登陆的时候通过主机名参数在数据库中找到对应的ip地址,端口,key文件,密码等组装成一条shell命令进行登陆
基本使用:
先来个图
(ssh是我做的软链接到ssh_cli.py,方便敲键盘)
字段说明:
name: 主机别名
group: 所属组
desc**: 主机描述信息(懒得写,所以是空的)
user: 登陆用的用户名
port: 端口
key: key文件
下面介绍下命令行参数:
子参数说明:
ssh *** --help
ls: 列表
ssh ls -a #列出所有主机 结果如上图 ssh ls #列出所有组 图略 ssh ls -g 组名 #列出指定组内的主机 ssh ls -k #列出所有key
gadd: 添加组
ssh gadd 组名
add: 添加主机
ssh add 别名 ip -u 用户名 -p 密码 -P 端口 -g 组名 -k key文件 -m 描述 #带'-'的都是可选的
kadd: 添加key文件
ssh kadd 别名 位置
del: 删除主机,主机组或key文件
ssh del --name 主机名 ssh del --group 组名 #组内必须没有主机 ssh del --key key名
smod: 修改主机信息
ssh smod 主机名 --host 新ip -u 新用户名 -p 新密码 -P 新端口 -g 新组 -m 新描述 -k 新key #带'-'或'--'的为可选
gmod: 修改组信息
ssh gmod 组名 -g 新组名 -m 新描述 #带'-'的为可选
lg: 登陆
ssh lg 主机名 ssh lg 主机名 --show #显示shell命令 不登陆
info: 显示主机信息
ssh info 主机名 #执行结果如下
(密码为明文保存)
以上就是这个小工具的使用说明,脚本很简单,参数设定有点乱~ 但基本能满足我的使用
其他功能:
1.如果装了xclip的话 在登陆的时候能把密码保存到系统粘贴板,在用非root登陆的时候很方便 在su - root的时候就不用查密码了 直接快捷键粘贴就好了 但是在添加的时候 -p参数必须指定为root密码
已知bug:
1.第一次登陆的时候会有问题 会让你输入yes和密码 第二次就不用了 以后会修好
转载于:https://blog.51cto.com/konglw/1313615
自己动手编写ssh登陆管理工具相关推荐
- python开发软件的实例-由Python编写的MySQL管理工具代码实例
本文实例为大家分享了由Python编写的MySQL管理工具的具体代码,供大家参考,具体内容如下 import pymysql import pandas as pd from tkinter impo ...
- Linux远程登陆管理工具
Linux远程登陆管理工具 1. 网络连接模式 1.1. 桥接模式(B) 1.2. NAT模式(N) 1.3. 仅主机模式Host-Only(H) 仅主机模式:表示虚拟机(或理解为服务器)通过VMne ...
- Linux入门(1)_VMware和系统分区和系统安装和远程登陆管理
1 VMware的安装和使用 注意有 快照 和 克隆 的功能. 快照相当于建立一个 系统还原点, 可以随时恢复到原来状态. 克隆功能可以复制一个和当前一样的系统,并可以选择链接安装,只使用很少的空间就 ...
- 登录linux后台工具,linux后台进程管理工具-supervisor
安装环境为:centos,如果是ubuntu的话命令可能会不一样. Supervisor 是一个用python编写的进程管理工具,能将一个普通的命令行进程变为后台的deamon,方便管理. 安装sup ...
- 渗透利器 | 常见的WebShell管理工具
攻击者在入侵网站时,通常要通过各种方式写入Webshell,从而获得服务器的控制权限,然后再执行系统命令.权限提升.读取配置文件.窃取用户数据,篡改网站页面等操作. 本文介绍十款常用的Webshell ...
- 近日学习笔记:df -h和du -sh命令,查看linux版本,vbm管理工具,su命令,ssh服务升级技巧,source命令
文章目录 df -h和du -sh区别 df -h查看整个系统中文件系统的使用情况 du -sh *查看当前目录下各个文件及目录占用空间大小 查看Linux系统版本的命令: VirtualBox管理工 ...
- SSH远程会话管理工具 - screen使用教程
刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时(比如安装lnmp)网络突然断开,或者其他情况导致不得不与远程SSH服务器链接断开,远程执行的命令也被迫停止,只能重新连接,重 ...
- gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具
gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 - Wow! Ubuntu gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 介绍 之前我们在 U ...
- 集群批量管理工具parallel ssh的安装及使用
集群批量管理工具parallel ssh的安装及使用 最近为了做实验,需要进行集群的配置,虽然十个节点的集群不算多,但是还是用它来减轻负担.但在使用的过程中,发现网上虽然有资料,但大多都没能很好的解决 ...
最新文章
- 比ajax更好技术,ajax 技术
- 使用Microsoft.AspNetCore.TestHost进行完整的功能测试
- 最好的方法,是为你们量身定制!
- bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor
- cmake 配置生成后事件_cmake 管理debug release
- Python 二维创建与插入值的二种方法
- (原创)Python 自动化测试框架详解
- 加拿大11年级计算机课程代码,加拿大高中选课那些事儿
- java 通用权限管理_通用权限管理设计篇(一)
- 虚拟空间windows和linux,虚拟主机选windows还是linux
- Excel技能之查找筛选排序,同事竖起大拇指
- java中List Stream的简单使用
- java 对音频文件降噪_(转)音频降噪算法 附完整C代码
- 使用python代码举例说明离散随机变量
- java数学题_小学数学练习题用Java实现
- JavaScript之FormData方法
- roc曲线spss怎么做_利用SPSS绘制诊断研究ROC曲线
- Oracle中新建数据表的两种方法
- 解决PHP连接Redis报read error on connection错误
- VBA加载宏制作攻略