python远程执行linux命令

worktile 其他 51

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Python可以通过SSH连接远程服务器,并在远程服务器上执行Linux命令。下面是一个示例代码:

    “`python
    import paramiko

    def execute_command(ssh, command):
    ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(command)
    output = ssh_stdout.read().decode()
    return output

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

    # 连接远程服务器
    ssh.connect(server, username=username, password=password)

    # 执行命令
    output = execute_command(ssh, command)

    # 关闭SSH连接
    ssh.close()

    return output

    server = “<远程服务器地址>”
    username = “<远程服务器用户名>”
    password = “<远程服务器密码>”
    command = “<要执行的Linux命令>”

    output = remote_execute(server, username, password, command)

    print(output)
    “`

    在示例代码中,我们使用了paramiko库来实现SSH连接和命令执行。首先,创建一个SSHClient对象,然后使用connect方法连接远程服务器。在连接成功后,可以调用exec_command方法执行Linux命令,并通过stdout读取命令的输出。最后,关闭SSH连接并返回命令输出。

    你需要替换 `<远程服务器地址>`、`<远程服务器用户名>`、`<远程服务器密码>` 和 `<要执行的Linux命令>` 为你实际的远程服务器信息和命令。

    请注意,远程服务器必须开启SSH服务,并且你的本地机器上需要安装paramiko库。你可以使用`pip install paramiko`命令来安装该库。

    希望以上信息对你有帮助!

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Python可以通过SSH(Secure Shell)协议远程执行Linux命令。SSH是一种加密的网络协议,用于远程登录和执行命令。

    以下是通过Python远程执行Linux命令的步骤:

    1. 安装相关模块:需要安装`paramiko`模块来实现SSH连接和执行命令,可以使用pip命令安装:
    “`
    pip install paramiko
    “`

    2. 导入所需模块:在Python脚本中导入`paramiko`模块:
    “`python
    import paramiko
    “`

    3. 创建SSH客户端对象:使用`paramiko.SSHClient()`创建SSH客户端对象,然后使用`set_missing_host_key_policy`方法设置主机的key验证策略:
    “`python
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    “`

    4. 连接到远程主机:使用`connect`方法连接到远程主机,需要提供主机名、用户名和密码。如果需要使用私钥连接,则可以使用`pkey`参数。例如:
    “`python
    ssh.connect(hostname=’remote-host’, username=’username’, password=’password’)
    “`

    5. 执行命令并获取输出:使用`exec_command`方法执行命令,并使用`readlines`方法读取输出。例如,执行`ls`命令并打印输出:
    “`python
    stdin, stdout, stderr = ssh.exec_command(‘ls’)
    output = stdout.readlines()
    for line in output:
    print(line.strip())
    “`

    这样就可以通过Python远程执行Linux命令了。另外,还可以使用`open_sftp`方法来进行文件传输,例如上传和下载文件。通过这种方式,可以远程执行复杂的操作和批量命令,自动化服务器管理任务。

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

    Python可以通过paramiko库实现远程执行Linux命令。paramiko是一个用于SSH2协议的Python实现,可以用于进行远程命令执行、文件传输等操作。下面是实现该功能的步骤:

    1. 安装paramiko库
    使用pip命令安装paramiko库:`pip install paramiko`

    2. 导入paramiko库
    在Python代码中,使用`import paramiko`语句导入paramiko库。

    3. 创建SSHClient对象
    使用`paramiko.SSHClient()`创建一个SSHClient对象,该对象用于连接并执行命令。

    4. 连接远程服务器
    通过调用SSHClient对象的`connect()`方法连接远程服务器。`connect()` 方法接受以下参数:
    – hostname: 远程服务器的主机名或IP地址
    – port: 远程服务器的SSH端口,默认为22
    – username: 登录用户名
    – password: 登录密码(如果使用密钥登录可省略该参数)
    – key_filename: 登录密钥文件的路径(如果使用密码登录可省略该参数)

    例子:
    “`python
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(‘hostname’, port=22, username=’username’, password=’password’)
    “`

    5. 执行远程命令
    使用SSHClient对象的`exec_command()`方法执行远程命令。`exec_command()` 方法接受一个命令字符串作为参数,并返回一个三元组:stdin、stdout、stderr。通常我们只需要stdout,这是命令的输出结果。

    例子:
    “`python
    stdin, stdout, stderr = ssh.exec_command(‘command’)
    output = stdout.read().decode(‘utf-8’)
    print(output)
    “`

    6. 关闭连接
    使用SSHClient对象的`close()`方法关闭SSH连接。

    例子:
    “`python
    ssh.close()
    “`

    这样,我们就可以使用Python远程执行Linux命令了。在实际使用中,可以将上述步骤封装成一个函数,方便重复使用。另外,还可以结合其他Python库,如threading和multiprocessing,实现并发执行远程命令。

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

400-800-1024

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

分享本页
返回顶部