python连接linux并发送命令

worktile 其他 157

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要在Python中连接到Linux并发送命令,可以使用paramiko库。Paramiko是一个用于SSH2协议的Python的实现,它允许你以加密和安全的方式远程执行命令。

    以下是使用Paramiko库来连接到Linux并发送命令的步骤:

    1. 安装Paramiko库。可以使用pip命令在Python环境中安装Paramiko库。

    “`
    pip install paramiko
    “`

    2. 导入Paramiko库中的SSHClient类。

    “`python
    import paramiko
    “`

    3. 创建一个SSHClient对象,并建立与Linux主机的连接。

    “`python
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(“IP地址”, port=”端口号”, username=”用户名”, password=”密码”)
    “`

    请确保将上述代码中的IP地址、端口号、用户名和密码更改为实际的连接信息。如果使用密钥文件进行身份验证,请使用`key_filename`参数。

    4. 执行命令。

    “`python
    stdin, stdout, stderr = ssh.exec_command(“要执行的命令”)
    “`

    可以通过`stdin`对象向远程主机发送输入,通过`stdout`对象获取命令的标准输出,通过`stderr`对象获取命令的标准错误输出。

    5. 获取命令的输出。

    “`python
    output = stdout.read().decode()
    “`

    使用`read`方法获取标准输出,并使用`decode`方法将字节数据转换为字符串。

    6. 关闭SSH连接。

    “`python
    ssh.close()
    “`

    完整的示例代码如下:

    “`python
    import paramiko

    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(“IP地址”, port=”端口号”, username=”用户名”, password=”密码”)

    stdin, stdout, stderr = ssh.exec_command(“要执行的命令”)
    output = stdout.read().decode()

    print(output)

    ssh.close()
    “`

    以上就是使用Python连接到Linux并发送命令的方法。你可以根据自己的需求修改代码,执行不同的命令。注意,在实际使用中,请谨慎处理远程命令和连接的安全性。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    连接到Linux服务器并发送命令可以使用Python的paramiko库,paramiko库提供了与SSH协议兼容的实现,可以用于通过SSH连接到远程服务器并执行命令。

    下面是使用Python连接到Linux服务器并发送命令的示例代码:

    “`python
    import paramiko

    # 配置SSH连接
    hostname = ‘服务器IP地址’
    port = 22
    username = ‘用户名’
    password = ‘密码’

    # 创建SSH客户端
    client = paramiko.SSHClient()
    client.load_system_host_keys()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # 连接服务器
    client.connect(hostname, port, username, password)

    # 发送命令并获取结果
    stdin, stdout, stderr = client.exec_command(‘要执行的命令’)
    output = stdout.read().decode(“utf-8”)

    # 打印结果
    print(output)

    # 关闭连接
    client.close()
    “`

    上述代码中需要修改的部分是`hostname`、`port`、`username`和`password`,将其替换为你需要连接的Linux服务器的实际信息。

    使用上述代码,你可以连接到Linux服务器并执行需要的命令,并获取输出结果。你还可以根据需要对代码进行适当的修改,以满足特定的需求,例如执行多条命令、交互式执行命令等。

    另外,需要注意的是,在使用paramiko库之前,你需要确认你的Python环境已经安装了paramiko库,可以通过`pip install paramiko`命令来安装。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Python中,可以使用Paramiko库来连接到Linux服务器并发送命令。Paramiko是一个Python的SSH库,提供了SSH客户端的功能,可以用于连接、登录和执行命令。

    以下是Python连接Linux并发送命令的步骤:

    1. 安装Paramiko库

    首先,需要安装Paramiko库。可以使用pip命令进行安装:

    “`
    pip install paramiko
    “`

    2. 导入Paramiko库

    在Python代码中,需要导入Paramiko库来使用其功能:

    “`python
    import paramiko
    “`

    3. 建立SSH连接

    使用Paramiko库,可以通过SSH连接到远程Linux服务器。需要提供服务器的IP地址、用户名和密码(或密钥)。

    “`python
    # 创建SSH客户端
    ssh = paramiko.SSHClient()

    # 自动添加远程主机的SSH密钥,如果没有就自动添加
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # 连接到远程主机
    ssh.connect(‘服务器IP’, username=’用户名’, password=’密码’)
    “`

    这样就建立了SSH连接。

    4. 执行命令

    连接成功后,可以使用SSHClient对象的`exec_command`方法来执行命令。该方法接受一个字符串参数,该字符串是要在远程主机上执行的命令。

    “`python
    # 执行单个命令
    stdin, stdout, stderr = ssh.exec_command(‘ls’)

    # 获取命令返回的输出
    output = stdout.read().decode()

    # 打印输出
    print(output)
    “`

    此时,`output`变量将包含执行命令后在远程主机上的输出。

    如果需要执行多个命令,可以循环调用`exec_command`方法。

    5. 关闭SSH连接

    在完成命令执行后,应该关闭SSH连接。

    “`python
    # 关闭SSH连接
    ssh.close()
    “`

    完整的代码示例:

    “`python
    import paramiko

    def execute_command(server, username, password, command):
    # 创建SSH客户端
    ssh = paramiko.SSHClient()

    # 自动添加远程主机的SSH密钥,如果没有就自动添加
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # 连接到远程主机
    ssh.connect(server, username=username, password=password)

    try:
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command(command)

    # 获取命令返回的输出
    output = stdout.read().decode()

    # 打印输出
    print(output)

    finally:
    # 关闭SSH连接
    ssh.close()

    # 调用函数执行命令
    execute_command(‘192.168.1.1’, ‘username’, ‘password’, ‘ls’)
    “`

    以上就是使用Python连接Linux并发送命令的方法和操作流程。通过Paramiko库,可以轻松实现与远程Linux服务器的交互。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部