python 模拟 ssh 执行远程命令

Python022

python 模拟 ssh 执行远程命令,第1张

日常开发连接 Linux 服务器,都会用到 ssh 客户端的软件

其实 python 有一个模块,可以简单模拟一个 ssh 客户端/服务端

编写一些自动化的的任务时,会经常和它打交道

简单记录一下 paramiko 的基本使用

paramiko 不是标准库,需要自行安装

要求 py2.7,3.4 版本以上 [1]

在得到一个 ssh_client 客户端连接对象后

第一次和服务器建立连接,需要选择是否自动将服务器的 host_key 公钥,记录在本地

因为,在计算机的世界里,没有永久的朋友-- IP 短时间里不会刷新,但是系统可能随时被重置

否则会报错提示:

可以加入 logging 模块,查看详细的通讯过程

使用三个变量,获取返回的信息对象

读取命令的执行结果

进程信息

/proc目录包含了所有正运行的进程目录。这些目录的名字和进程的标识符是一样的。所以,如果你遍历/proc目录下那些使用数字作为它们的名字的目录,你就会获得所有现在正在运行的进程列表。在下面的代码中process_list()函数返回所有现在正在运行的进程的标识符列表。当你执行这个程序后,这个列表的长度就是在系统上运行的总进程数。

复制代码 代码如下:

#!/usr/bin/env python

"""

List of all process IDs currently active

"""

from __future__ import print_function

import os

def process_list():

pids = []

for subdir in os.listdir('/proc'):

if subdir.isdigit():

pids.append(subdir)

return pids

if __name__=='__main__':

pids = process_list()

print('Total number of running processes:: {0}'.format(len(pids)))

上面的程序当执行后会显示和下面类似的输出:

复制代码 代码如下:

Total number of running processes:: 229

每个进程目录包含了一些其他文件和目录,如进程命令的调用,它正使用的共享库以及其它的。

建议看看《Linux就该这么学》这本书

pythonftp连接远程执行cmd操作方法如下:

1、pipinstallpywinrm安装模块即可。

2、windows系统服务器需要开启winrm服务。

3、cmd命令可以写成一个.bat文件,在服务器上直接执行即可。