前面介绍过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. Linux - /bin/sh^M: bad interpreter: No such file or directory

    问题 在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下: /bin/sh^M: bad interpreter: No such file or di ...

  2. AT2306 Rearranging

    有一个显然的,就是不互质的数的相对位置是不会改变的,那么我们把它们放到一个连通块里面去,然后我交换就是交换两个里面最小的对吧.直接连起来然后跑\(TopSort\)就行了. #include<s ...

  3. 如何设置fvOptions【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-pre-processing/121763-how-set-fvoption ...

  4. 微信小程序 wxParse插件显示视频

    修改wxParse/html2json.js 文件 ,在 html2json(html, bindName) 方法里 var node = { node: 'element', tag: tag, } ...

  5. known_hosts有什么用?

    一.问题描述 当我连接我的服务器的时候,返回信息如下 二.问题分析 返回的信息是什么意思? IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! ...

  6. C语言结构体笔记

    typedef给结构起别名 可以是匿名结构或者普通的结构,方便后面使用. #include<stdio.h> typedef struct{ //匿名结构 float tank_capac ...

  7. yarn集群8088端口被攻击挖矿

    yarn集群8088端口被攻击挖矿 https://www.jianshu.com/p/a2d6b0d827ab https://blog.csdn.net/lm709409753/article/d ...

  8. initGLWidgetAndViewer

    void initGLWidgetAndViewer() { osgViewer::ViewerBase::ThreadingModel threadingModel = osgViewer::Vie ...

  9. -bash: netstat: 未找到命令

    [root@localhost ~]# netstat -lunpt -bash: netstat: 未找到命令 [root@localhost ~]# yum -y install net-tool ...

  10. 华为OpenStack开源团队人才招募中

    职位要求: 1. 三年以上软件开发经验,编程技能良好. 2. 熟练使用Python.Java.Go或其他语言开发. 3. 有OpenStack经验或者存储经验优先考虑. 4. 良好的学习和沟通能力,责 ...