python 采用paramiko 远程执行命令及报错解决

yizhihongxing

关于“python采用paramiko远程执行命令及报错解决”的完整攻略,我将为您提供以下内容:

什么是paramiko?

Paramiko是一款用于Python编程语言进行SSH远程管理的模块。通过Paramiko,我们可以建立SSH连接、上传/下载文件、调用远程命令等等。

如何使用paramiko执行远程命令

  1. 下载并安装paramiko模块
pip install paramiko
  1. 使用paramiko建立SSH连接
import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='your_host', port=22, username='your_user', password='your_password')

其中,hostname代表要连接的主机地址,port代表连接的端口号,username代表登录的用户名,password代表登录的密码。

  1. 执行远程命令
stdin, stdout, stderr = ssh.exec_command('command')

print(stdout.read())

其中,command代表要执行的远程命令。

  1. 关闭SSH连接
ssh.close()

报错及解决方案

在使用paramiko模块建立SSH连接、执行远程命令的过程中,有可能会遇到一些报错问题,下面将为您介绍其中三个常见的报错及解决方案。

Bypassing UnknownHostKey Error

如果在建立SSH连接时出现了“UnknownHostKey Error”,可以采取下面的方案绕过:

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

AuthenticationException: Authentication failed

如果在建立SSH连接时出现了“Authentication failed”的报错,可能是由于用户名或密码输入有误,可以检查一下是否输入正确。

socket.error: [Errno 8] nodename nor servname provided, or not known

如果在建立SSH连接时出现了“nodename nor servname provided, or not known”的报错,可能是由于主机名输入有误或无法解析,可以尝试修改主机名或检查DNS配置。

示例

下面是两个示例说明:

示例一:执行远程命令

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='your_host', port=22, username='your_user', password='your_password')

stdin, stdout, stderr = ssh.exec_command('ls')

print(stdout.read())

ssh.close()

在上述示例中,连接到指定的主机后,通过ls命令打印出该主机上的文件列表。

示例二:上传文件

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='your_host', port=22, username='your_user', password='your_password')

sftp = ssh.open_sftp()
sftp.put(local_filepath, remote_filepath)

ssh.close()

在上述示例中,将本地文件上传到指定的远程主机上。其中,local_filepath是本地文件路径,remote_filepath是远程文件路径。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 采用paramiko 远程执行命令及报错解决 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 详解Python 3.10 中的新功能和变化

    详解Python 3.10 中的新功能和变化 Python 3.10 是 Python 语言的最新版本,它包含了许多新功能和变化。本文将详细讲解 Python 3.10 中的主要新功能和变化。 1. Match 变量 Python 3.10 中引入了一个新的 match 语句,它与 switch 语句类似,可以用来匹配并执行不同的代码块。 match 语句中…

    python 2023年5月18日
    00
  • Python语法中的模糊语义

    Python语法中的模糊语义是指在Python中,有些语法结构在使用时存在歧义或不确定性,需要依赖上下文或其他因素来进行推断和解决。下面将从多个角度分别阐述这些模糊语义,并通过两个例子进行说明。 可变对象作为函数默认参数的模糊语义 在Python中,函数中的默认参数在定义时就已经在内存中被创建了,而不是在函数被调用时才创建。如果默认参数是一个可变对象(如列表…

    python 2023年5月13日
    00
  • Golang与python线程详解及简单实例

    Golang与Python线程详解及简单实例 线程概述 线程是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运作单位。一个线程相当于一个子进程,但是它比子进程更加轻量级,线程与进程之间的切换比进程与进程之间的切换更快。现在的多核CPU能在同一时间运行多个线程,从而实现了并发。 在此之前需要先了解一下Golang和Python这两个编程语…

    python 2023年5月19日
    00
  • Python +Selenium解决图片验证码登录或注册问题(推荐)

    Python+Selenium结合使用可以帮助我们在自动化测试、爬虫等场景中解决图片验证码登录或注册问题。下面是Python+Selenium解决图片验证码登录或注册的完整攻略: 准备工作 在使用Python+Selenium结合使用之前,我们需要安装好以下工具: Python3:可以从Python官网下载安装包并安装。 Selenium WebDriver…

    python 2023年5月18日
    00
  • 利用pyecharts读取csv并进行数据统计可视化的实现

    下面是利用pyecharts读取csv并进行数据统计可视化的完整攻略: 1. 准备工作 1.1 安装pyecharts 安装pyecharts可以通过pip进行安装,命令如下: pip install pyecharts 1.2 下载数据文件 在进行数据统计可视化之前,需要先准备好数据文件。这里以鸢尾花数据集为例,数据集可以在这个网站下载:https://a…

    python 2023年6月3日
    00
  • python入门之基础语法学习笔记

    以下是关于“Python入门之基础语法学习笔记”的完整攻略: 问题描述 Python 是一种高级编程语言,易于学习和使用。本将介绍 Python 的基础语法,包括变量、数据类型、运算符、条件句、循环语句等。 解决方法 1. 变量 在 Python 中,变量是用来存储数据的容器。可以使用赋值语句来创建变量。示例代码如下: x = 10 y = "He…

    python 2023年5月13日
    00
  • Python中的迭代器与生成器高级用法解析

    Python中的迭代器与生成器高级用法解析 迭代器 什么是迭代器 在Python中,任何一个对象,如果它定义了__iter__方法和__next__方法,那么它就被称为是一个迭代器。 __iter__方法返回一个迭代器对象本身,__next__方法返回迭代器对象的下一个元素。 迭代器的高级用法 itertools模块 Python的itertools模块提供…

    python 2023年6月3日
    00
  • Python GUI之如何使用tkinter控件

    Python GUI 是面向图形用户界面的编程,其实现的方式有多种,其中较为常见的有使用 tkinter 库开发,tkinter 是 Python 自带的 GUI 工具包,常用于快速开发各种桌面应用和窗口程序。以下是使用 tkinker 控件的完整攻略: 安装 tkinter 由于 tkinter 是 Python 自带的库,所以只需确认 Python 版本…

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部