免密码登录服务器python脚本
在自动化运维平台没有做完之前,常需要登录服务器做很多维护操作,每次找好长好长的密码,那么多服务器,你会疯掉的,所以瞎搞了以下脚本.先解一下燃眉之急,哈哈
cat login_root.exp
#!/usr/bin/expect -c
set IP [lindex $argv 0]
set PWD [lindex $argv 1]
set timeout 2
spawn ssh root@$IP
expect "*yes/no*" {send "yes\r"}
expect "*assword*" {send "$PWD\r";interact}
用下面脚本调用 /opt/.script/login_root.exp 脚本,登录你需要登录的服务器
cat login_remote.py
#!/usr/bin/env python
#author:wangqiankun@lashou-inc.com
#name:login_remote.py
import re,time
import sys
import commands
import subprocess
def login_main(ip,pwd):
if ip != "" and pwd != "":
print "\033[32;1m start login at:%s\033[0m" %time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
p = subprocess.call("expect /opt/.script/troot.exp %s '%s'" %(ip,pwd),shell=True)
else:
print "\033[32;1m IP or the password is wrong, please handle \033[0m"
def re_ip(ipinfo):
with open('/root/.script/password.txt','r') as f:
for ipline in f.readlines():
hostinfo = re.match(r'^192.168.%s .*' %ipinfo,ipline,re.M|re.I)
if hostinfo:
print "\033[32;1m You are going to the login server IP is:%s\033[0m" %hostinfo.group().split()[0]
return hostinfo.group().split()[0],hostinfo.group().split()[1]
if __name__ == "__main__":
try:
ipinfo = sys.argv[1].strip()
if ipinfo != "":
hostinfo = re_ip(ipinfo)
try:
login_main(hostinfo[0],hostinfo[1])
except TypeError:
print "\033[31;1mThere is no matching to the correct IP address \033[0m"
except IndexError:
print "\033[31;1m You do not need to log in to the IP information input\033[0m"
#print ipinfo,
测试:
python login_remote.py 10.100
免密码登录服务器python脚本的更多相关文章
- ssh 免密码登录服务器
本机生成 ssh key ssh-keygen -t rsa -C "your_email@example.com" 上传公钥文件(假设用户为 user,服务器 ip 为 1.2. ...
- [转] ssh免密码登录服务器
1. tencent 同事写的比较靠谱 https://www.chenyudong.com/archives/ssh-using-private-public-key-no-password.htm ...
- jenkins发布项目到远程主机上,配置linux使用SSH免密码登录
一.首先要配置两台linux如何使用SSH免密码登录,这样脚本执行scp命令以及远程执行脚本都不需要输入密码: A为本地主机(即用于控制其他主机的机器,jenkins服务器) ; B为远程主机(即被控 ...
- Linux 配置ssh 免密码登录
在平常应用中,我们经常会登录到其他主机,比如说服务器,每次都需要用户名和密码. 我们可以通过ssh免密码登录服务器而不需要输入密码. 现在有一台ubuntu的阿里云服务器,称之为 server. 公 ...
- CentOS 配置集群机器之间SSH免密码登录
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远 ...
- python实现免密码登录lunx服务器
import paramikoimport oshostname='192.168.76.10'username='root'# password='123456'ssh=paramiko.SSHCl ...
- Linux多台服务器间SSH免密码登录配置
SSH实现各个服务器间的文件相互备份,如运行scp命令,可以实现免密码登录,从而可以使用SHELL脚本实现一些自动化的处理. 假如A机要免密码登录B机,具体方法如下: 1.在A机运行:"ss ...
- 多台CentOS服务器下实现SSH免密码登录
ROOT用户下实现SSH免密码登录 第一步:进入目录/root/.ssh $ cd /root/.ssh/ 执行以下命令,会在当前目录下生成公钥(id_rsa.pub)/私钥(id_rsa)对 第二 ...
- Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本
一.SSH免密码登录 假设要登录的机器为192.168.1.100,当前登录的机器为192.168.1.101. 首先在101的机器上生成密钥(如果已经生成可以跳过): $ ssh-keygen -t ...
随机推荐
- mui.ajax与服务器(SpringMVC)传输json数据
跨域问题 PC端为了安全,所以禁止跨域.而我使用mui做移动web时,难免会使用pc浏览器进行调试.mui.ajax是允许跨域的.为了可以调试成功,需要对浏览器进行设置及.以360急速浏览器为例,设置 ...
- Web-JSP表单字符验证
代码后续补上
- 树形结构的数据库表Schema设计-基于左右值编码
树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门.栏目结构.商品分类等等,通常而言,这些树状结构需要借助于数据库完 成持久化.然而目前的 ...
- react-router之代码分离
概念 无需用户下载整个应用之后才能访问访问它.即边访问边下载.因此我们设计一个组件<Bundle>当用户导航到它是来动态加载组件. import loadSomething from 'b ...
- zookeeper应用实例
创建持久节点和临时节点 ZooKeeper zk=new ZooKeeper(HOST,CLIENT_SESSION_TIMEOUT,new Watcher(){ @Override public v ...
- 计算机网络:A、B、C、D和E类IP地址
IP地址分为A,B,C,D,E五类. 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用.这三种是主要的. IP ...
- llinux 安装oracle
5.传输oracle的客户端(600几M linux.x64_11gR2_client).oracle的依赖包(20几M packages),linux只支持zip(rar较困难不做解释) 6.打开l ...
- BZOJ2595:[Wc2008]游览计划——题解(插头dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=2595 Description Input 第一行有两个整数,N和 M,描述方块的数目. 接下来 N行 ...
- python之快速排序
快速排序(Quicksort)是对冒泡排序的一种改进. 快速排序由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另 ...
- 洛谷 P3768 简单的数学题 解题报告
P3768 简单的数学题 题目描述 由于出题人懒得写背景了,题目还是简单一点好. 输入一个整数\(n\)和一个整数\(p,\)你需要求出\((\sum_{i=1}^n\sum_{j=1}^n ijgc ...