python paramiko sftp

#!/usr/bin/env python

import paramiko
import sys,os

host = 'git'  #IP地址或在hosts文件中绑定主机名IP
user = 'root' #系统用户名
password = '123' #密码

s = paramiko.SSHClient() #ssh实例
s.load_system_host_keys() #load本机的
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #防止以前没连接过客户端主机,也就是server上的known_hosts中没有相应客户端主机的记录而报错

t = paramiko.Transport((host,22)) #主机地址和端口
t.connect(username=user,password=password) #用户名和密码
#pkey_file = '/root/.ssh/id_rsa'  # 脚本开始之前 先在server生成连接的用户的公私钥对ssh-keygen,将公钥ssh-copy-id -i [客户端用户]@[IP地址]
#key = paramiko.RSAKey.from.private_key_file(pkey_file) #使用私钥连接
#t.connect(username=user,pkey=key) #使用用户名和key进行连接

sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('/root/Git.pdf','Git.pdf') # 将客户端的/root/Git.pdf 传送到server端的脚本所在的当前目录并命名为Git.pdf
sftp.put('para.py','/root/para_ssh.py') #将server脚本所在目录的para.py文件传送到客户端的/root/para_ssh.py
s.close

 

posted on 2014-10-09 09:09  Mr.michael  阅读(623)  评论(0编辑  收藏  举报

导航