python2 paramiko模块初试   连接 ssh_connect 上传 FTP_post

今天刚好看到了 python2 得 paramiko 模块 就拿来试了一下  发现 在windown 和linux 利用 paramiko  进行 ssh 连接得不同之处 linux 利用   ~/.ssh/known_hosts 出已安全!

如已登陆过

s.load_system_host_keys(‘/.ssh/known_hosts‘)

ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。

windwon 自动添加新的主机的主机名和关键的政策 到本地 hostkeys `对象中

s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接

试一下连续运行 bash 命令  ‘df -H ‘

# _*_ coding:utf-8 _*_
import paramiko
#远程服务器
hostname = "191.168.1.220"
#端口
port = 22
#用户名
username = "root"
#密码
password = "66666"
#创建SSH连接日志文件(只保留前一次连接的详细日志,以前的日志会自动被覆盖)
paramiko.util.log_to_file("paramiko.log")
s = paramiko.SSHClient()
#Linux 读取know_host  ssh-keygen -t rsa
#s.load_system_host_keys()
#windown 添加——政策
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#建立SSH连接
s.connect(hostname,port,username,password)
#运行一下 bash ‘df -H‘
stdin,stdout,stderr = s.exec_command(‘df -H‘)
#打印输出一下
print stdout.read()
s.close()

现在试一下 post 一个 File 到 Linux  先来写个方法

def ssh_post(Server_ip,port,USER,PASSWORD,clinent_file,server_file):
     server=paramiko.Transport(Server_ip,port)
     server.connect(username=USER,password=PASSWORD)
     FTP_POST=paramiko.SFTPClient.from_transport(server)
     FTP_POST.put(clinent_file,server_file)
     server.close()

现在来测试一下

if __name__ == "__main__":
    port=22
    Server_ip=‘191.168.1.220‘
    User_name=‘root‘
    User_password=‘66666‘
    CLINENT_FILE=‘c:\\red.txt‘
    SERVER_FILE=‘/home/yum.txt‘
    ssh_post(Server_ip,port,User_name,User_password,CLINENT_FILE,SERVER_FILE)

时间: 2024-10-27 04:03:30

python2 paramiko模块初试   连接 ssh_connect 上传 FTP_post的相关文章

python之模块ftplib(实现ftp上传下载代码)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) from ftplib import FTP def ftpconnect(): ftp_server='ftp.python.org' ftp=FTP() ftp.set_debuglevel(2)#打开调式级别2 ftp.connect(ftp_server,21) ftp.login('',''

华为 连接 TFTP 上传与下载

今天试了下使用CISCO的TFTP来上传与下载数据. 首先我们先让路由或者交换机连接真机,如下图. 我们先测试下连通性 上面我看到连通性是正常. 下面先打开真机上面的  CISCO TFTP (没有的请下载附件) 下面我们先看下路由里的有那些文件 我们可以看到上面的红色框住的文件,先拿它来测试吧. 先来上传: 命令:tftp <tftp服务器的IP地址> put <要上传的文件> 现在我们就可以在  TFTP  服务器上面看到有相关的文件了. 为了要验证下载的成功,我们要在 路由上

SFTP远程连接服务器上传下载文件-vs2010项目实例

本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2010 vs2010项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码:uxnt) 文件目录介绍: 1.libssh2.sln是vs2010的解决方案,用vs2010打开(如图1所示): include是需要导入的头文件,lib是需要使用的lib文件(如图2所示): 图1 图2 2.解决方案:"libssh2"(如图3所示) 这里只需要编译运行demo项目即

pyton 模块之 pysmb 文件上传和下载

首先安装pysmb模块 下载文件 from smb.SMBConnection import SMBConnection conn = SMBConnection('anonymous', '', 'any', '', use_ntlm_v2 = True) assert conn.connect('10.0.30.254', 445) #smb服务器地址 #sharelist = conn.listShares() #for i in sharelist: #print i file_obj

解决:使用java连接Fastdfs,上传文件时报:SocketTimeOutException的问题

最近研究了下分布式存储Fastdfs,在centOS上配置完后,使用centOS或putty连接并上传图片,然后用浏览器读取storage server返回的URL,一切正常. 但是,使用eclipse上传图片时,报错:SocketTimeOutException. 报错行为:String[] strings = storageClient.upload_file("D:\\120.jpg", "jpg", null); 网上查了将近一天,但却没有对应的解决方案,

python2.0 s12 day8 _ 堡垒机前戏paramiko模块

堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 paramiko模块是做主机管理的,他模拟了一个ssh. 有两种形式连接形式, 一种通过用户名密码: ssh -p 22 [email protected] 一种是通过密钥的方式: ssh -p 22 -i ~/.ssh/dongjing-shanghai.pem [email protected]_pro01 再连接的的语法上,有两种: 一种是直接将连接的主机地址和端口直接

nginx上传模块nginx_upload_module和nginx_uploadprogress_module模块进度显示,如何传递GET参数等。

ownload:http://www.grid.net.ru/nginx/download/nginx_upload_module-2.2.0.tar.gzconfigure and make : ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module   --add-module=/data/software/lnmp1.

【p2】&#183;python中嵌套列表list元素输出&#183;模块封装&#183;发布上传(pigeon详细说)

如果你也正在学习<Head First Python>,可以相互学习.接下来将记录如何完成书本的这一章以及遇到的问题如何解决. 一.简单访问列表数据 [1]通过位置访问具体数据,0表示第一位[如下图] [2]计算列表长度[使用len] [3]列表末尾增加--删除元素,append增肌,pop删除,注意不同用法 append括号里放想添加元素,列表.pop()就能删除 [4]extend添加多个元素[如想在后面添加5,6,7],留意跟append区别 append保留着数据项中括号,缺陷 ---

Web文件上传模块 Plupload

Plupload 是一个Web浏览器上的界面友好的文件上传模块,可显示上传进度.图像自动缩略和上传分块.可同时上传多个文件. 示例代码: <!-- Load Queue widget CSS and jQuery --> <style type="text/css">@import url(css/plupload.queue.css);</style> <script type="text/javascript" src=