欢迎访问宙启技术站
智能推送

使用Python的run()函数执行远程服务器上的命令

发布时间:2023-12-23 00:20:57

要使用Python的run()函数执行远程服务器上的命令,可以使用paramiko库。paramiko是一个基于SSH v2协议的Python实现,可以用于SSH登录和执行远程命令。

首先,需要安装paramiko库。可以使用pip命令安装,如下所示:

pip install paramiko

安装完成后,就可以使用paramiko库来执行远程服务器上的命令了。下面是一个简单的例子:

import paramiko

def execute_command(ssh_client, command):
    stdin, stdout, stderr = ssh_client.exec_command(command)
    exit_status = stdout.channel.recv_exit_status()
    output = stdout.read().decode('utf-8')

    return exit_status, output

def main():
    # 远程服务器的连接信息
    hostname = 'example.com'
    username = 'your_username'
    password = 'your_password'

    # 创建SSH客户端
    ssh_client = paramiko.SSHClient()

    # 建立SSH连接
    ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh_client.connect(hostname, username=username, password=password)

    # 执行远程命令
    command = 'ls -l'
    exit_status, output = execute_command(ssh_client, command)

    # 输出命令执行结果
    print(f'Command exit status: {exit_status}
Command output:
{output}')

    # 关闭SSH连接
    ssh_client.close()

if __name__ == '__main__':
    main()

在上述代码中,我们首先引入paramiko库。然后定义了一个execute_command()函数,该函数接受一个SSH客户端对象和一个命令作为参数,并返回命令的退出状态和输出结果。

接下来,在main()函数中,我们指定远程服务器的连接信息(主机名、用户名和密码),然后创建一个SSH客户端对象。然后,使用connect()方法与远程服务器建立SSH连接。

然后,我们指定要执行的远程命令并调用execute_command()函数来执行它。命令的输出存储在output变量中。

最后,我们打印命令的退出状态和输出结果,并使用close()方法关闭SSH连接。

你可以根据实际需要修改代码中的连接信息和要执行的远程命令。使用这种方式,你可以方便地在Python中执行远程服务器上的命令。