mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-29 21:41:00 +08:00
53 lines
2.5 KiB
Markdown
53 lines
2.5 KiB
Markdown
|
用Python来SSH连接到你的机器
|
|||
|
=======================
|
|||
|
|
|||
|
是时间写点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上工作。
|
|||
|
|
|||
|
你可以在[这里][1]看到更多关于pxssh。
|
|||
|
|
|||
|
现在开始吧。
|
|||
|
|
|||
|
第一步,我们导入所有需要的东西,并且给机器详情分配变量,就像图解1.
|
|||
|
|
|||
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/ssh1.png)
|
|||
|
|
|||
|
图解 1
|
|||
|
|
|||
|
之后我们创建一个函数,使用pxssh创建并开始一个到ssh服务器的连接。
|
|||
|
|
|||
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/ssh2.png)
|
|||
|
|
|||
|
图解 2
|
|||
|
|
|||
|
请仔细学习我们是是怎么用try和except来处理错误的.在这里可以阅读更多关于python的错误处理.
|
|||
|
|
|||
|
下一步是什么?
|
|||
|
|
|||
|
下一步是在两个机器间的ssh连接建立之后,创建一个函数来给机器发送命令.
|
|||
|
|
|||
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/ssh3.png)
|
|||
|
|
|||
|
图解 3
|
|||
|
|
|||
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/10/ssh4.png)
|
|||
|
|
|||
|
图解 4
|
|||
|
|
|||
|
关闭文件并保存它. 现在它已经准备好可以运行了.
|
|||
|
|
|||
|
--------------------------------------------------------------------------------
|
|||
|
|
|||
|
via: http://www.unixmen.com/use-python-ssh-machine/
|
|||
|
|
|||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
|||
|
|
|||
|
译者:[flsf](https://github.com/flsf) 校对:[jasminepeng](https://github.com/jasminepeng)
|
|||
|
|
|||
|
[1]:http://pexpect.sourceforge.net/pxssh.html
|