前面介绍过Conemu , Msys2工具,提升了windows本地文件操作的效率,但使用ssh时候,总需要重新输入密码,不能像SercurityCRT等工具记住密码,使用时不是很爽快。

其实通过sshpass 工具和python脚本就可以实现ssh记住密码的功能。

首先,通过pacman -S sshpass 安装sshpass

然后再编写 python脚本 如下:

  1. #!/usr/bin/python2
  2. import io,os,pickle,getopt,sys
  3.  
  4. DataFile='/c/Users/zhoushuang/bin/h.dat'
  5. Hosts=[]
  6.  
  7. def loadHosts():
  8. global Hosts
  9. if os.path.isfile(DataFile):
  10. with open(DataFile,'rb') as f:
  11. Hosts = pickle.load(f)
  12. else:
  13. with open(DataFile,'wb') as f:
  14. pickle.dump(Hosts,f)
  15.  
  16. def saveHosts():
  17. global Hosts
  18. with open(DataFile,'wb') as f:
  19. pickle.dump(Hosts, f)
  20.  
  21. def printHosts():
  22. global Hosts
  23. seq = 1
  24. nnu = 4
  25. s = io.BytesIO()
  26. for item in Hosts:
  27. s.write(str(seq)+')'+item[0]+'\t')
  28. if 0==seq%nnu:
  29. s.write('\n')
  30. seq += 1
  31. s.write('\n')
  32. print s.getvalue()
  33.  
  34. def exessh(args):
  35. os.execlp('sshpass', 'sshpass', '-p',args[1],'ssh',args[0])
  36.  
  37. def select():
  38. global Hosts
  39. printHosts()
  40. si=input('Select:')
  41. if si>0:
  42. si-=1
  43. exessh(Hosts[si])
  44. elif si < 0 :
  45. si=abs(si)
  46. del Hosts[si-1]
  47. saveHosts()
  48.  
  49. def updateHosts(args):
  50. global Hosts
  51. flag=True
  52. for it in Hosts:
  53. if it[0]==args[0]:
  54. it[1]=args[1]
  55. flag=False
  56. break
  57. if flag:
  58. Hosts.append(args)
  59. saveHosts()
  60.  
  61. def usage():
  62. print ''' rssh is a python script, use sshpass to login ssh server, and save pwd.
  63. rssh [-s] <user@host> <pwd> -- firt login to a host , must use-s
  64. rssh -- list hosts then select certain host to login
  65. rssh -h -- print help info'''
  66.  
  67. # main process
  68. loadHosts()
  69. try:
  70. opts, args = getopt.getopt(sys.argv[1:], "sh", ["start","help"])
  71. if len(args) == 2 :
  72. updateHosts(args)
  73. for opt, arg in opts:
  74. if opt in ('-s','--start') and len(args) == 2 :
  75. os.execlp('ssh','ssh',args[0])
  76. break
  77. if opt in ('-h','--help'):
  78. usage()
  79. exit(0)
  80. if len(args)==2 :
  81. exessh(args)
  82. select()
  83. except getopt.GetoptError:
  84. print "ERROR"
  85. except KeyboardInterrupt:
  86. pass

python 脚本的作用就是记住密码,并写入文件中。

以后采用此python 脚本登录远程机器,就能记住密码了,下次登录时可以直接选择要登录的机器。 效果如下:

  1. zhoushuang@zhoushuang02 MSYS /c/Users/zhoushuang/bin
  2. $ rssh
  3. )mcbadm@192.168.127.140 )mcbadm@192.168.127.141 )mcbadm@192.168.127.136
  4.  
  5. Select:

使ssh记住密码的更多相关文章

  1. ssh 解决经常断开与记住密码功能

    一.解决ssh经常自动断开问题 修改 /etc/ssh/sshd_config 其中对应项为 ClientAliveInterval 30 ClientAliveCountMax 3 表示每30秒发一 ...

  2. ssh免密码快速登录配置

    使用ssh登录服务器的时候,需要输入ip地址.端口.用户名.密码等信息,比较麻烦,容易输错.还好,通过客户端和服务器的配置参数,可实现免密码快速登录.服务器可通过保存客户端的公钥,用于验证客户端的身份 ...

  3. centos配置ssh免密码登录

    master.slave1两台机器实现ssh免密码登录,user:hadoop,passwd:123456 1.设置master: vi /etc/sysconfig/network hostname ...

  4. ssh免密码登录之分发密钥

    ssh免密码登录之分发密钥 1.ssh免密码登录 密码登录和密钥登录有什么不同? 密码登录(口令登录),每次登录都需要发送密码(ssh) 密钥登录,分为公钥和私钥,公钥相当于锁,私钥相当于钥匙 1.1 ...

  5. cookie、session及实现记住密码,自动登录

    在登录帐号.密码框下,有三种帐号登录模式可供选择,用户可根据自己的具体情况选择其中一种适合自己的模式. 1.网吧模式:勾选网吧模式后,登录的帐号会在歪歪注销/退出的时候自动清除,不会留在登录框中,可以 ...

  6. 仅前端cookie之记住密码

    参考文章给忘了...,我就在他基础上修改了一些,但至于安全性,我没弄md5,所以安全系数应该为0 <!DOCTYPE html> <html lang="en"& ...

  7. Cookie实现记住密码的功能

    一.什么是Cookie cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段.Cookie的目的就是为用户带来方便,为网站带来增值.虽然有着许多误传,事实上Cookie并不会造成严重 ...

  8. git 配置 https和ssh 免密码登录 常用操作命令

    git 配置 https和ssh 免密码登录 一. 区分https clone 和 ssh clone 不同的克隆方式导致校验方式不同,对应的免秘方式也不一样. https通过记住账号密码免登,ssh ...

  9. jenkins发布项目到远程主机上,配置linux使用SSH免密码登录

    一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...

随机推荐

  1. wepy框架滑动组件使用

    https://github.com/dlhandsome/wepy-com-swiper

  2. ios兼容

    border-radius在ios的兼容:-webkit-appearance:none;  加上这个属性,可以保证安卓和ios的圆角一致 上传图片,这段没有代码没有管图片拍摄的方位, var _th ...

  3. 实现一个hoverDelay延迟hover

    实现一个hoverDelay延迟hover author: @TiffanysBear 需求背景 经常在页面开发中,需要使用hover事件来触发相应的网络请求或页面DOM元素显示切换,需要考虑的问题就 ...

  4. 续--Flask, Django - 区别

    1. 目录结构         参考:https://blog.csdn.net/yang9520/article/details/79740374 中文文档(http://docs.jinkan.o ...

  5. Mybatis xml mapper 特殊写法总结

    项目告一段落,业务代码也写得差不多了,框架仍然用的是 ssm ,为了省去单表数据库操作的代码编写,继续用 mybatis generator 生成单表对应的实体类.dao层映射关联及配置文件,私下还尝 ...

  6. 手把手教你MyEclipseUML建模(上)

    手把手教你MyEclipseUML建模(上) 转 https://blog.csdn.net/qq_37939251/article/details/83444359 1.用UML 1建模 MyEcl ...

  7. angular之Rxjs异步数据流编程入门

    Rxjs介绍 参考手册:https://www.npmjs.com/package/rxjs 中文手册:https://cn.rx.js.org/ RxJS 是 ReactiveX 编程理念的 Jav ...

  8. Mysql技巧及问题目录

    Mysql技巧及问题目录: MySQL批量导入Excel.txt数据 MySQL批量导入Excel数据

  9. 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_02-用户认证-认证服务查询数据库-需求分析&搭建环境

    1.2 认证服务查询数据库 1.2.1 需求分析 认证服务根据数据库中的用户信息去校验用户的身份,即校验账号和密码是否匹配. 认证服务不直接连接数据库,而是通过用户中心服务去查询用户中心数据库. 完整 ...

  10. 算法习题---4.4信息解码(UVa213)

    一:题目 消息编码方案要求在两个部分中发送一个被编码的消息.第一部分:称为头,包含消息的字符.第二部分包含一个模式 表示信息.你必须写一个程序,可以解码这个消息. (一)题目详细 你的程序的编码方案的 ...