`
shijunjuan
  • 浏览: 47063 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Python SSH 开发

 
阅读更多

使用PARAMIKO进行SSH的开发

http://www.cnblogs.com/gannan/archive/2012/02/06/2339883.html
PARAMIKO使用Python2.6
Download, unzip, 
C:\python\python.exe setup.py build

C:\python\python.exe setup.py install
然后就可以进行开发了。
 
import paramiko
import os
import datetime
import base64
import sys
import traceback


hosts=[{'hostname':'10.249.75.37','username':'username','password':'password'}]

port=22
local_dir='C:/Jojo/Work/Python/SSHConnect/grid/'
remote_dir='/Users/maui/grid'
command='deploy'

def uploadFileToMachine(client,t,local_dir,remote_dir):
	try:
		print('connected,create folder--'+remote_dir)
		stdin,stdout,stderr = client.exec_command('mkdir '+remote_dir)
		
		for line in stdout:
			print('...'+line.strip('\n'))
		if(t==None ):
			t = client.get_transport()
			sftp=paramiko.SFTPClient.from_transport(t)
		
		files=os.listdir(local_dir)
		print(local_dir);
		
		dir = local_dir
		for f in files:
			path=dir+f
			print(path)
			if(os.path.isfile(path)):
				print ('')
				print('##################################################################')
				print('Beginning to upload file %s ' % datetime.datetime.now())
				print('Uploading file:',os.path.join(local_dir,f),' to ',remote_dir+"/"+f)

			   # sftp.get(os.path.join(dir_path,f),os.path.join(local_path,f)) 
				#sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f)) 
				sftp.put(os.path.join(local_dir,f),remote_dir+"/"+f) 

				print('Upload file success %s ' % datetime.datetime.now() )
				print ('' )
				
		t.close()
	except Exception, e:
		print '*** Caught exception: ' + str(e.__class__) + ': ' + str(e)
		traceback.print_exc()
		try:
			t.close()
		except:
			pass

def connectHost(host):
	hostname = host['hostname']
	username = host['username']
	password = host['password']
	print('connecting ...'+hostname)
	client = paramiko.SSHClient()
		
	client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
	client.connect(hostname, username=username, password=password)
	return client
			
if command=="deploy":
	
		paramiko.util.log_to_file('deploy.log')
		for host in hosts:
			try:
				
				client = connectHost(host)
				
				uploadFileToMachine(client,None ,local_dir,remote_dir)
				
				client.close()
			except Exception, e:
				print '*** Caught exception: ' + str(e.__class__) + ': ' + str(e)
				traceback.print_exc()
				try:
					client.close()
				except:
					pass
		
	
	

 

分享到:
评论

相关推荐

    基于python开发的ssh登录网络设备自动执行命令的工具.zip

    python基于python开发的ssh登录网络设备自动执行命令的工具.zip基于python开发的ssh登录网络设备自动执行命令的工具.zip基于python开发的ssh登录网络设备自动执行命令的工具.zip基于python开发的ssh登录网络设备自动...

    Python-parallelssh非阻塞异步并行SSH客户端库

    在Python开发过程中,尤其是在网络编程领域,`parallel-ssh`库是处理远程服务器操作的一个理想选择。 首先,我们来理解一下“非阻塞异步”这一概念。传统的同步SSH操作在执行时会等待每个命令的完成,这在处理多个...

    Python-WebSSH一个基于Web的ssh客户端

    1. **基于Python**: Python-WebSSH使用Python编程语言进行开发,这使得它具有跨平台的特性,可以在多种操作系统上运行。 2. **Tornado框架**: Tornado是一个高性能、异步网络库,用于构建高并发的Web应用。在Python...

    Python-sshtunnel用来与远程服务器建立SSH通讯隧道

    sshtunnel 是 Python 开发的一个服务,用来与远程服务器建立 SSH 通讯隧道

    python使用paramiko实现ssh的功能详解

    Python中的Paramiko库是一个强大的SSH2协议库,它支持加密和认证等功能,使得开发者能够方便地在Python程序中实现远程服务器的自动化管理。本篇文章将详细介绍如何使用Paramiko实现SSH的功能,包括基于用户名和密码...

    Python库 | ssh2_python-0.17.0-cp27-cp27m-win32.whl

    标签"python 开发语言 Python库"强调了这个资源与Python编程语言及其库开发相关的事实。Python作为一种高级的、面向对象的编程语言,以其简洁的语法和丰富的库生态系统而受到广大开发者的欢迎。Python库如ssh2_...

    Python-MacOS和Linux上的命令行ssh管理工具

    本文将深入探讨如何在Mac OS和Linux操作系统上,利用Python开发命令行工具来高效管理SSH连接。 标题"Python-MacOS和Linux上的命令行ssh管理工具"暗示了我们将使用Python编程语言创建一个命令行工具,该工具可以在...

    python sftp&ftp&ssh2

    标题 "python sftp&ftp&ssh2" 指涉的是使用Python编程语言进行SFTP(Secure File Transfer Protocol)、FTP(File Transfer Protocol)以及SSH2(Secure Shell version 2)的相关操作。SFTP是基于SSH协议的安全文件...

    Python实用工具,paramiko模块,Python实现简易版SSH登录工具.pdf

    在Python编程环境中,paramiko模块是一个非常重要的工具,它提供了SSHv2协议的客户端和服务器端实现,使得我们可以轻松地进行...总的来说,paramiko模块是Python中处理SSH连接的强大工具,值得在日常开发中掌握和应用。

    Python库 | ssh2_python-0.11.0-cp27-cp27m-win_amd64.whl

    在后端开发领域,Python提供了多种库来处理不同的任务,其中`ssh2_python`是一个重要的库,专用于实现Secure Shell (SSH) 协议,用于安全地远程登录和执行命令。本文将深入探讨`ssh2_python`库的功能、安装与使用...

    Python库 | ssh2_python-0.15.0.post7-cp34-cp34m-win_amd64.whl

    Python开发语言的强大之处在于拥有丰富的第三方库支持,ssh2-python就是其中之一。它使得Python开发者无需深入理解SSH协议的底层细节,就能轻松实现安全的远程操作。在运维、自动化测试、云服务管理等领域,ssh2-...

    python企业SSH登陆双因素认证系统

    总之,Python企业SSH登陆双因素认证系统旨在提升企业网络安全,通过结合Python编程和双因素认证技术,创建一个更加安全的远程访问环境。理解并实施这样的系统对于IT管理员来说是至关重要的,可以帮助他们更好地保护...

    Python库 | ssh_mitm-0.3.7-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:ssh_mitm-0.3.7-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python-从ssh窃取密码的脚本

    从ssh窃取密码的脚本

    Python-PyRexecd用于Windows的独立SSH服务器

    这个项目基于Python语言开发,利用了Paramiko库来实现SSH协议的支持。在本文中,我们将深入探讨Python-PyRexecd的相关知识点,包括其原理、安装、配置以及使用方法。 首先,让我们了解一下SSH(Secure Shell)协议...

    Python库 | parallel_ssh-1.8.0-cp35-cp35m-win32.whl

    `parallel_ssh`是Python开发的一个高效工具,它通过SSH协议提供了对远程主机的并行操作能力,简化了运维人员的工作,提高了效率。通过正确安装和使用,开发者可以轻松地在多台服务器上执行各种自动化任务。对于需要...

    移植ssh和python源码包

    本话题聚焦于移植SSH(Secure Shell)和Python源码包,这是一项对于跨平台开发和运维工作至关重要的任务。SSH是一种网络协议,用于安全地远程登录到服务器,而Python是一种强大的、广泛使用的编程语言,尤其在科学...

    从零开始配置树莓派3远程Python开发环境

    配置树莓派3远程Python开发环境,可以让你在本地计算机上编写代码,然后在树莓派上运行,这对于远程控制和自动化项目非常实用。下面我们将详细探讨如何一步步实现这个目标。 首先,你需要确保你的树莓派已经安装了...

Global site tag (gtag.js) - Google Analytics