在平时管理服务器的时候难免要进行一些频繁的登陆操作,在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登陆管理工具相关推荐

  1. python开发软件的实例-由Python编写的MySQL管理工具代码实例

    本文实例为大家分享了由Python编写的MySQL管理工具的具体代码,供大家参考,具体内容如下 import pymysql import pandas as pd from tkinter impo ...

  2. Linux远程登陆管理工具

    Linux远程登陆管理工具 1. 网络连接模式 1.1. 桥接模式(B) 1.2. NAT模式(N) 1.3. 仅主机模式Host-Only(H) 仅主机模式:表示虚拟机(或理解为服务器)通过VMne ...

  3. Linux入门(1)_VMware和系统分区和系统安装和远程登陆管理

    1 VMware的安装和使用 注意有 快照 和 克隆 的功能. 快照相当于建立一个 系统还原点, 可以随时恢复到原来状态. 克隆功能可以复制一个和当前一样的系统,并可以选择链接安装,只使用很少的空间就 ...

  4. 登录linux后台工具,linux后台进程管理工具-supervisor

    安装环境为:centos,如果是ubuntu的话命令可能会不一样. Supervisor 是一个用python编写的进程管理工具,能将一个普通的命令行进程变为后台的deamon,方便管理. 安装sup ...

  5. 渗透利器 | 常见的WebShell管理工具

    攻击者在入侵网站时,通常要通过各种方式写入Webshell,从而获得服务器的控制权限,然后再执行系统命令.权限提升.读取配置文件.窃取用户数据,篡改网站页面等操作. 本文介绍十款常用的Webshell ...

  6. 近日学习笔记:df -h和du -sh命令,查看linux版本,vbm管理工具,su命令,ssh服务升级技巧,source命令

    文章目录 df -h和du -sh区别 df -h查看整个系统中文件系统的使用情况 du -sh *查看当前目录下各个文件及目录占用空间大小 查看Linux系统版本的命令: VirtualBox管理工 ...

  7. SSH远程会话管理工具 - screen使用教程

    刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时(比如安装lnmp)网络突然断开,或者其他情况导致不得不与远程SSH服务器链接断开,远程执行的命令也被迫停止,只能重新连接,重 ...

  8. gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具

    gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 - Wow! Ubuntu gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具 介绍 之前我们在 U ...

  9. 集群批量管理工具parallel ssh的安装及使用

    集群批量管理工具parallel ssh的安装及使用 最近为了做实验,需要进行集群的配置,虽然十个节点的集群不算多,但是还是用它来减轻负担.但在使用的过程中,发现网上虽然有资料,但大多都没能很好的解决 ...

最新文章

  1. 比ajax更好技术,ajax 技术
  2. 使用Microsoft.AspNetCore.TestHost进行完整的功能测试
  3. 最好的方法,是为你们量身定制!
  4. bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor
  5. cmake 配置生成后事件_cmake 管理debug release
  6. Python 二维创建与插入值的二种方法
  7. (原创)Python 自动化测试框架详解
  8. 加拿大11年级计算机课程代码,加拿大高中选课那些事儿
  9. java 通用权限管理_通用权限管理设计篇(一)
  10. 虚拟空间windows和linux,虚拟主机选windows还是linux
  11. Excel技能之查找筛选排序,同事竖起大拇指
  12. java中List Stream的简单使用
  13. java 对音频文件降噪_(转)音频降噪算法 附完整C代码
  14. 使用python代码举例说明离散随机变量
  15. java数学题_小学数学练习题用Java实现
  16. JavaScript之FormData方法
  17. roc曲线spss怎么做_利用SPSS绘制诊断研究ROC曲线
  18. Oracle中新建数据表的两种方法
  19. 解决PHP连接Redis报read error on connection错误
  20. VBA加载宏制作攻略

热门文章

  1. html输入表单jsp返回数据中文乱码,JSP/Servlet页面中文显示为乱码的解决方式
  2. 注册表关闭命令提示符_如何从命令提示符下编辑Windows注册表
  3. Quartz定时任务使用小记(11月22日)
  4. influxdb内存过大和占用过多端口
  5. 在10亿个数中找出前1000个最大的
  6. 35 款 JavaScript 图形图表库
  7. 云计算技术基础【15】
  8. 服务器的ftp数据库信息,如何查看ftp服务器数据库
  9. Python三维绘图:马鞍面
  10. (一)arcpy开发利用arcpy在arcgis中批量裁剪影像