一般使用paramiko的功能就是通过ssh远程执行命令,远程(上传、下载)传输文件等等

依赖包:/usr/local/python27/bin/pip install pycrypto

下载包 paramiko

#wget http://en.onlinedown.net/down/paramiko-1.7.7.1.zip

#unzip paramiko-1.7.7.1.zip

#cd paramiko-1.7.7.1

#python setup.py build

#python setup.py install

#!/usr/bin/env python



#vim paramiko.py

#!/usr/bin/env python

import paramiko            \\导入模块   

hostname='192.168.10.106'   \\定义需要链接的主机

port=22                      \\定义链接的端口

username='root'               \\定义链接的账号

password='123456'              \\定义登陆密码


if __name__=='__main__':        \\如果当前的模块名称等于启动的主模块运行,就执行如下

    paramiko.util.log_to_file('paramiko.log')   \\指定执行的日志文件,日志名为paramiko.log

    s=paramiko.SSHClient()          \\创建客户端链接服务端的对象s

    s.load_system_host_keys()        \\ 加载主机秘钥

    s.connect(hostname,port,username,password)  \\链接主机

    stdin,stdout,stderr=s.exec_command('ifconfig')  

                  \\执行命令 ifconfig    stdin:标准输入stdout:标准输出 stderr:标准错误

    print stdout.read() \\打印标准输出的结果

    s.close()            \\关闭链接





从服务器端上传或下载文件


#!/usr/bin/env python

import paramiko      导入模块   

import os

hostname='192.168.10.106'   \\定义需要链接的主机

port=22                      \\定义链接的端口

username='root'               \\定义链接的账号

password='123456'              \\定义登陆密码

dir_path='/home/soul/temp'      \\定义请求下载的文件路径


if __name__=='__main__':

t=paramiko.Transport((hostname,port))   \\创建一个传输对象

t.connect(username=username,password=password)  \\建立链接服务器

sftp=paramiko.SFTPClient.from_transport(t)       \\创建一个下载传输对象sftp

files=sftp.listdir(dir_path) 

                   \\建立一个files对象,用于存放listdir从指定的路径dir_path中拿到的文件

for f in files:          \\定义f从存放的文件中轮询

    print 'Retrieving',f  \\打印拿到的文件名称

    sftp.get(os.path.join(dir_path,f),f)   \\从指定路径下 下载文件

    t.close()        \\关闭链接

下载:get  上传put

如从本地将/home/soul/temp/paramiko-1.7.7.1.zip文件上传到服务器的/home/路径下

sftp.put('/home/soul/temp/paramiko-1.7.7.1.zip','/home/paramiko-1.7.7.1.zip')

t.close()