Python使用paramiko操作linux的方法讲解

  • Post category:Python

Python使用paramiko操作linux的方法讲解

在Python中使用paramiko库可以操作linux系统的远程主机。Paramiko是Python实现的SSH远程安全连接库,可用于连接远程主机并在主机上调用shell命令。

安装

在安装paramiko之前,需要先安装pycrypto。

pip install pycrypto

然后安装paramiko

pip install paramiko

使用方法

建立SSH连接

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname='example.com', username='root', password='password')

stdin, stdout, stderr = ssh.exec_command('ls /')
print(stdout.read().decode())

ssh.close()

上传文件

import paramiko

ssh = paramiko.Transport(('example.com', 22))
ssh.connect(username='root', password='password')

sftp = ssh.open_sftp()

local_file = '/local/path/to/file'
remote_file = '/remote/path/to/file'

sftp.put(local_file, remote_file)

ssh.close()

示例

示例1:连接SSH并执行命令

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname='example.com', username='root', password='password')

stdin, stdout, stderr = ssh.exec_command('ls /')
print(stdout.read().decode())

ssh.close()

示例2:上传文件到远程主机

import paramiko

ssh = paramiko.Transport(('example.com', 22))
ssh.connect(username='root', password='password')

sftp = ssh.open_sftp()

local_file = '/local/path/to/file'
remote_file = '/remote/path/to/file'

sftp.put(local_file, remote_file)

ssh.close()

以上就是使用paramiko操作linux的方法讲解,当然,paramiko还有其他更多的用途和方法,这里不能一一详细说明。需要了解更多内容,可以参考paramiko官方文档。