python连接linux服务器并使用命令_python paramiko与linux的连接

两种使用paramiko连接到linux服务器的代码

方式一:

1 ssh = paramiko.SSHClient()

2 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

3 ssh.connect("某IP地址",22,"用户名", "口令")

方式二:

1 t = paramiko.Transport((“主机”,”端口”))

2 t.connect(username = “用户名”, password = “口令”)

SFTPClient()也是使用transport来实现的,因此如果有需求需要执行命令和上传文件糅合在一起的话,那么就需要使用transport的方式来实现。

如果连接远程主机需要提供密钥,上面第二行代码可改成:

t.connect(username = “用户名”, password = “口令”, hostkey=”密钥”)

3.1 windows对linux运行任意命令,并将结果输出

如果linux服务器开放了22端口,在windows端,我们可以使用paramiko远程连接到该服务器,并执行任意命令,然后通过 print或其它方式得到该结果,

代码如下

#coding:Utf8

import paramiko

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect("某IP地址",22,"用户名", "口令")

stdin, stdout, stderr = ssh.exec_command("你的命令")

print stdout.readlines()

ssh.close()

1 #coding:Utf8

2

3 import paramiko

4

5 ssh = paramiko.SSHClient()

6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

7 ssh.connect("某IP地址",22,"用户名", "口令")

8 stdin, stdout, stderr = ssh.exec_command("你的命令")

9 print stdout.readlines()

10 ssh.close()

其中的”你的命令”可以任意linux支持的命令

3.2 从widnows端下载linux服务器上的文件

coding:utf8

import paramiko

t = paramiko.Transport((“主机”,”端口”))

t.connect(username = “用户名”, password = “口令”)

sftp = paramiko.SFTPClient.from_transport(t)

remotepath=’/var/log/system.log’

localpath=’/tmp/system.log’

sftp.get(remotepath, localpath)

t.close()

1 coding:utf8

2

3 import paramiko

4

5 t = paramiko.Transport((“主机”,”端口”))

6 t.connect(username = “用户名”, password = “口令”)

7 sftp = paramiko.SFTPClient.from_transport(t)

8 remotepath=’/var/log/system.log’

9 localpath=’/tmp/system.log’

10 sftp.get(remotepath, localpath)

11 t.close()

3.3 从widnows端上传文件到linux服务器

import paramiko

t = paramiko.Transport((“主机”,”端口”))

t.connect(username = “用户名”, password = “口令”)

sftp = paramiko.SFTPClient.from_transport(t)

remotepath=’/var/log/system.log’

localpath=’/tmp/system.log’

sftp.put(localpath,remotepath)

t.close()

1 import paramiko

2

3 t = paramiko.Transport((“主机”,”端口”))

4 t.connect(username = “用户名”, password = “口令”)

5 sftp = paramiko.SFTPClient.from_transport(t)

6 remotepath=’/var/log/system.log’

7 localpath=’/tmp/system.log’

8 sftp.put(localpath,remotepath)

9 t.close()

3.4 在Linux上安装paramiko模块

安装scrapy这个应用中遇到的问题

c/_cffi_backend.c:2:20: fatal error: Python.h: No such file or directory

sudo apt-get install python-dev

c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory

1 sudo apt-get install libffi-dev

* make sure the development packages of libxml2 and libxslt are installed *

1 sudo apt-get install libxslt1-dev

1.下载安装wget http://peak.telecommunity.com/dist/ez_setup.py

2.python ez_setup.py

3.easy_install paramiko

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值