import paramiko import socket import sys,os host = sys.argv[1] user = sys.argv[2] port = int(sys.argv[3]) auth_method = sys.argv[4] if auth_method == 'PASSWORD': password = sys.argv[5] cmd = sys.argv[6] else: cmd = sys.argv[5] s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #pkey_file = '/home/alex/.ssh/id_rsa' #key = paramiko.RSAKey.from_private_key_file(pkey_file) #s.connect(host,port,username,pkey=key,timeout=5) try: if auth_method == 'SSH_KEY': pkey_file = '/root/.ssh/id_rsa' key = paramiko.RSAKey.from_private_key_file(pkey_file) s.connect(host,port,user,pkey=key,timeout=5) elif auth_method == 'PASSWORD': s = paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(host,port,user,password,timeout=5) stdin,stdout,stderr = s.exec_command(cmd) cmd_result = stdout.read(),stderr.read() print "--------Result from? %s -------" % host for line in cmd_result: print line, s.close() except paramiko.AuthenticationException: print "\033[31;1m%s Authentication Error!\033[0m" % host except socket.error: print "\033[31;1m%s Connection Refused!\033[0m" % host
python 模块paramiko学习
精选 翻译上一篇:shell 批量修改密码
下一篇:python urllib
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python模块--Telnetlib模块
telnet模块
ci 用户名 for循环 -
【模块一】Python基础python
-
python模块之paramiko
很多运维人员平时进行维护linux/unix主机时候,无非通过ssh到相应主机操作,那么一旦主机有成千上百台,那该如何应对,这时候我们需要
paramiko 远程执行 服务器 python 上传 -
python paramiko模块讲解
python paramiko模块
Windows Socket python