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

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

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

然后再编写 python脚本 如下:

#!/usr/bin/python2
import io,os,pickle,getopt,sys DataFile='/c/Users/zhoushuang/bin/h.dat'
Hosts=[] def loadHosts():
global Hosts
if os.path.isfile(DataFile):
with open(DataFile,'rb') as f:
Hosts = pickle.load(f)
else:
with open(DataFile,'wb') as f:
pickle.dump(Hosts,f) def saveHosts():
global Hosts
with open(DataFile,'wb') as f:
pickle.dump(Hosts, f) def printHosts():
global Hosts
seq = 1
nnu = 4
s = io.BytesIO()
for item in Hosts:
s.write(str(seq)+')'+item[0]+'\t')
if 0==seq%nnu:
s.write('\n')
seq += 1
s.write('\n')
print s.getvalue() def exessh(args):
os.execlp('sshpass', 'sshpass', '-p',args[1],'ssh',args[0]) def select():
global Hosts
printHosts()
si=input('Select:')
if si>0:
si-=1
exessh(Hosts[si])
elif si < 0 :
si=abs(si)
del Hosts[si-1]
saveHosts() def updateHosts(args):
global Hosts
flag=True
for it in Hosts:
if it[0]==args[0]:
it[1]=args[1]
flag=False
break
if flag:
Hosts.append(args)
saveHosts() def usage():
print ''' rssh is a python script, use sshpass to login ssh server, and save pwd.
rssh [-s] <user@host> <pwd> -- firt login to a host , must use-s
rssh -- list hosts then select certain host to login
rssh -h -- print help info''' # main process
loadHosts()
try:
opts, args = getopt.getopt(sys.argv[1:], "sh", ["start","help"])
if len(args) == 2 :
updateHosts(args)
for opt, arg in opts:
if opt in ('-s','--start') and len(args) == 2 :
os.execlp('ssh','ssh',args[0])
break
if opt in ('-h','--help'):
usage()
exit(0)
if len(args)==2 :
exessh(args)
select()
except getopt.GetoptError:
print "ERROR"
except KeyboardInterrupt:
pass

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

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

zhoushuang@zhoushuang02 MSYS /c/Users/zhoushuang/bin
$ rssh
)mcbadm@192.168.127.140 )mcbadm@192.168.127.141 )mcbadm@192.168.127.136 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. ICEMCFD中,face裂缝修复的小窍门【转载】

    转载自:http://blog.sina.com.cn/s/blog_4a21884b010005ng.html 采用ICEMCFD画网格的初学者,都对由cad(proe/ug/solidworks) ...

  2. mysql8安装与卸载

    参考: https://www.cnblogs.com/zxwen/p/9448797.html https://blog.csdn.net/weixin_30073553/article/detai ...

  3. 一键分享QQ、微信、微博等

    github上找到的,合并了一个二维码在线支持API,直接修改样式可用. 二维码API说明网址:http://www.liantu.com/pingtai/ <html> <head ...

  4. linux下修改jar中的文件

    解压修改后再打包 解压: jar xvf xxx.jar 打包: jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文 ...

  5. RDD java API使用

    1.RDD介绍:     RDD,弹性分布式数据集,即分布式的元素集合.在spark中,对所有数据的操作不外乎是创建RDD.转化已有的RDD以及调用RDD操作进行求值.在这一切的背后,Spark会自动 ...

  6. error: cannot connect to daemon解决办法

    本文链接:https://blog.csdn.net/ipinki1218/article/details/80704806运行adb shell时出现error: cannot connect to ...

  7. vue-cli及vue-router

    1.单文件组件 (1)问题:    使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: ‘#container ‘}) 在每个页面内指定一个容器元素.当在更复杂的项 ...

  8. 用户登录之asp.net cookie的写入、读取与操作

    页面前面: <div id="login" runat="server"> <span class="log_title" ...

  9. PHP无限级树形结构算法(递归和引用)

    测试数组 $array = [ [, , 'name' => '这是主类'], [, , 'name' => '这是主类'], [, , 'name' => '父级为1子类'], [ ...

  10. 23Flutter FloatingActionButton实现类似闲鱼App底部导航凸起按钮:

    /* 一.Flutter FloatingActionButton介绍 FloatingActionButton简称FAB,可以实现浮动按钮,也可以实现类型闲鱼app的底部凸起导航. child:子视 ...