用Python来SSH连接到你的机器
创始人
2024-03-01 11:25:43
0

是时间写点python代码了。我爱自动化的东西,今天我将告诉大家怎么使用python通过ssh连接你的机器,并在上面运行命令。这并不难,但是用python来做也不是很简单,因为要用很多模块和库来完成这个任务。 你是不是很好奇本教程将会使用什么模块呢?

我们将使用Python中 pexpect 模块的 pxssh 类,它用于处理一些自动化的需求,比如ssh和ftp。想使你的系统管理生活尽可能的简单吗?那么,请关注本教程并且尝试尽可能多的学习吧。OK,OK,看我这里,下面我将给出关于pxssh的一些简单的描述。你也可以在python的交互shell导入pxssh 后,键入help(pxssh)以得到更多关于pxssh的信息。

pxssh介绍

pxssh 基于pexpect。它是pexpect.spawn的扩展类,专门用来建立SSH连接。我经常使用python的pxssh进行ssh连接。 pxssh 使用shell提示符从远程主机来同步输出。为了使这更牛x,它把shell提示符设置的比$或#还独特。这应该可以在大多数Borne/bash或csh shell上工作。

你可以在这里看到更多关于pxssh。

现在开始吧。

第一步,我们导入所有需要的东西,并且给机器详情分配变量,就像图解1.

图解 1

之后我们创建一个函数,使用pxssh创建并开始一个到ssh服务器的连接。

图解 2

请仔细学习我们是是怎么用try和except来处理错误的.在这里可以阅读更多关于python的错误处理.

下一步是什么?

下一步是在两个机器间的ssh连接建立之后,创建一个函数来给机器发送命令.

图解 3

图解 4

关闭文件并保存它. 现在它已经准备好可以运行了.

via: http://www.unixmen.com/use-python-ssh-machine/

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者:flsf 校对:jasminepeng

相关内容

AI+Python数据分析...
教学大纲 01 课程性质和目的 数据分析与可视化为数据科学与大数据...
2026-05-06 20:23:25
什么是miniQMT,相比...
什么是miniQMT,相比大QMT有什么特点? 迅投 miniQM...
2026-01-22 09:51:16
Java、Python等开...
IT之家 9 月 24 日消息,开源安全基金会(OpenSSF)昨...
2025-09-24 14:25:34
python基础语法【迭代...
1.迭代器 1.什么是迭代器(iter)...
2025-06-01 20:30:55
手把手教你使用Flask框...
目录前言0、Flask框架的详细介绍一、Flask 框架封装接口1...
2025-06-01 17:11:00
【练习题】python函数...
写一个匿名函数,判断指定的年是否是闰年 (先直接用普...
2025-06-01 15:13:03

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...