Paramiko模块安装与使用

Paramiko介绍

Paramiko遵循SSH2协议的python类库,支持以加密和认证的方式,可以进行远程服务器的连接。其中ansible也是通过Paramiko来进行ssh连接的。用它做远程管理时仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有方便。

安装

Paramiko安装依赖于pycrypto、ecdsa模块

 
   
  1. shell> wget https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.13.tar.gz
  2. shell> tar zxvf ecdsa-0.13.tar.gz
  3. shell> cd ecdsa-0.13
  4. shell> python setup.py install
  5. shell> wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
  6. shell> tar zxvf pycrypto-2.6.1.tar.gz
  7. shell> cd pycrypto-2.6.1
  8. shell> python setup.py install
  9. shell> wget https://pypi.python.org/packages/source/p/paramiko/paramiko-1.16.0.tar.gz
  10. shell> unzip paramiko-1.16.zip
  11. shell> cd paramiko-1.16
  12. shell> python setup.py install

Paramiko使用示例

执行远程命令

 
   
  1. #!/usr/bin/python
  2. import paramiko
  3. ssh = paramiko.SSHClient()
  4. # 允许连接不在known_hosts文件列表中的主机
  5. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  6. ssh.connect("远程IP,端口,"用户", "密码")
  7. stdin, stdout, stderr = ssh.exec_command("ls -l /tmp")
  8. print(stdout.readlines())
  9. ssh.close()

上传文件到远程服务器

 
   
  1. #!/usr/bin/python
  2. import paramiko
  3. tp = paramiko.Transport("远程IP",端口)
  4. tp.connect( username = "用户", password = "密码")
  5. sftp = paramiko.SFTPClient.from_transport(tp)
  6. remotepath = '/tmp/Python-2.7.9.tgz'
  7. localpath = '/tmp/Python-2.7.9.tgz'
  8. sftp.put(localpath, remotepath)
  9. tp.close()

从远程服务器下载文件

 
   
  1. #!/usr/bin/python
  2. import paramiko
  3. tp = paramiko.Transport("远程IP",端口)
  4. tp.connect( username = "用户", password = "密码")
  5. sftp = paramiko.SFTPClient.from_transport(tp)
  6. remotepath = '/tmp/Python-2.7.9.tgz'
  7. localpath = '/tmp/Python-2.7.9.tgz'
  8. sftp.get(remotepath, localpath)
  9. tp.close()


来自为知笔记(Wiz)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29733787/viewspace-2074776/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29733787/viewspace-2074776/

你可能感兴趣的:(Paramiko模块安装与使用)