使ssh记住密码
前面介绍过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记住密码的更多相关文章
- ssh 解决经常断开与记住密码功能
一.解决ssh经常自动断开问题 修改 /etc/ssh/sshd_config 其中对应项为 ClientAliveInterval 30 ClientAliveCountMax 3 表示每30秒发一 ...
- ssh免密码快速登录配置
使用ssh登录服务器的时候,需要输入ip地址.端口.用户名.密码等信息,比较麻烦,容易输错.还好,通过客户端和服务器的配置参数,可实现免密码快速登录.服务器可通过保存客户端的公钥,用于验证客户端的身份 ...
- centos配置ssh免密码登录
master.slave1两台机器实现ssh免密码登录,user:hadoop,passwd:123456 1.设置master: vi /etc/sysconfig/network hostname ...
- ssh免密码登录之分发密钥
ssh免密码登录之分发密钥 1.ssh免密码登录 密码登录和密钥登录有什么不同? 密码登录(口令登录),每次登录都需要发送密码(ssh) 密钥登录,分为公钥和私钥,公钥相当于锁,私钥相当于钥匙 1.1 ...
- cookie、session及实现记住密码,自动登录
在登录帐号.密码框下,有三种帐号登录模式可供选择,用户可根据自己的具体情况选择其中一种适合自己的模式. 1.网吧模式:勾选网吧模式后,登录的帐号会在歪歪注销/退出的时候自动清除,不会留在登录框中,可以 ...
- 仅前端cookie之记住密码
参考文章给忘了...,我就在他基础上修改了一些,但至于安全性,我没弄md5,所以安全系数应该为0 <!DOCTYPE html> <html lang="en"& ...
- Cookie实现记住密码的功能
一.什么是Cookie cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段.Cookie的目的就是为用户带来方便,为网站带来增值.虽然有着许多误传,事实上Cookie并不会造成严重 ...
- git 配置 https和ssh 免密码登录 常用操作命令
git 配置 https和ssh 免密码登录 一. 区分https clone 和 ssh clone 不同的克隆方式导致校验方式不同,对应的免秘方式也不一样. https通过记住账号密码免登,ssh ...
- jenkins发布项目到远程主机上,配置linux使用SSH免密码登录
一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...
随机推荐
- PHP全栈学习笔记23
php,基础,流程控制,函数,字符串,数组,web交互,mysql数据库,PHP数据库编程,cookie与session,日期和时间,图形图形处理,文件和目录处理,面向对象,pdo数据库抽象层,sma ...
- bind--dns-docker---[nslookup/dig]
[dig] https://www.cnblogs.com/apexchu/p/6790241.html [dns resolution and revserse ]https://www.cnbl ...
- C# ASP.NET 控制windows服务的 开启和关闭 以及重启
用ASP.NET控制Windows服务的开启与关闭效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(objec ...
- 阿里云 -- Go module 代理 镜像
简介 go module公共代理仓库,代理并缓存go模块.你可以利用该代理来避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建 地址 https://mirrors.aliyun.com/go ...
- CSS中的cursor属性
css中的cursor这个属性是用来设置光标形状的. 这个属性定义了鼠标指针放在一个元素边界范围内时所用的光标的形状. 默认值:auto 继承性:yes 出现版本:css2 JavaScript语法: ...
- usb 设备 复位
How to Reset USB Device in Linux by ROMAN10 on MAY 4, 2011 · 9 COMMENTS USB devices are anywhere n ...
- windows通过企业内部授权服务器激活方法
OFFICE KMS 激活方法: # 进入office安装目录 cscript ospp.vbs /sethst:kms.domain.com #设置KMS服务器 cscript ospp.vbs / ...
- PAT 甲级 1041 Be Unique (20 分)(简单,一遍过)
1041 Be Unique (20 分) Being unique is so important to people on Mars that even their lottery is de ...
- Linux (Ubuntu)提示ifconfig:找不到命令
使用命令: sudo apt install net-tools 安装一下net-tools
- Eclipse导入Spring Boot项目后pom.xml出现红叉的解决办法
胸怀难的问题是:程序能正常运行,但是pom.xml下面有一个红叉. 解决办法: 右键项目 --> Update project...