python连接linux主机并执行命令

不及物动词 其他 46

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    可以使用paramiko模块来连接到Linux主机并执行命令。下面是一个示例代码:

    “`python
    import paramiko

    # 连接linux主机
    def connect(host, username, password):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(host, username=username, password=password)
    return ssh

    # 执行命令
    def execute_command(ssh, command):
    stdin, stdout, stderr = ssh.exec_command(command)
    result = stdout.read().decode(‘utf-8’)
    ssh.close()
    return result

    # 示例代码
    if __name__ == “__main__”:
    host = “your_linux_host” # Linux主机IP地址或主机名
    username = “your_username” # 登录Linux主机的用户名
    password = “your_password” # 登录Linux主机的密码

    ssh = connect(host, username, password)
    result = execute_command(ssh, “ls -l”)
    print(result)
    “`
    请将”your_linux_host”、”your_username”和”your_password”替换为实际的Linux主机信息。在示例代码中,我们首先调用`connect()`函数连接到Linux主机,然后调用`execute_command()`函数执行指定的命令,并返回执行结果。最后,我们将结果打印出来。

    以上是一个简单的示例,你可以根据自己的需求进行修改和扩展。同时,你也可以使用其他的Python库,比如fabric或paramiko的更高级封装库来达到相同的目的。

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

    Python提供了多种方法来连接和执行命令在Linux主机上。下面是使用Python连接Linux主机并执行命令的一种常见方法:

    1. 使用paramiko库进行SSH连接:Paramiko是一个Python的SSH (Secure Shell)库,它可以用来连接远程服务器并执行命令。

    首先,需要使用pip或者conda安装paramiko库:

    “`
    pip install paramiko
    “`

    然后,在Python脚本中导入paramiko库,并使用SSHClient类创建一个SSH客户端对象:

    “`python
    import paramiko

    # 创建SSH客户端对象
    client = paramiko.SSHClient()
    “`

    2. 设置SSH连接参数:连接Linux主机之前,需要设置SSH连接的一些参数,例如主机名、用户名、密码等:

    “`python
    # 设置SSH连接参数
    hostname = “your_host_name”
    username = “your_username”
    password = “your_password”

    # 允许连接到没有本地host key记录的主机
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    “`

    3. 连接到Linux主机:使用client.connect()方法连接到Linux主机,传入主机名、用户名和密码参数:

    “`python
    # 连接到Linux主机
    client.connect(hostname, username=username, password=password)
    “`

    4. 执行命令:连接成功后,可以使用client.exec_command()方法来执行命令,传入要执行的命令作为参数:

    “`python
    # 执行命令
    stdin, stdout, stderr = client.exec_command(“your_command”)
    “`

    5. 获取命令输出:执行命令后,可以使用stdout.readlines()方法获取命令输出的结果:

    “`python
    # 获取命令输出
    output = stdout.readlines()

    # 打印输出结果
    for line in output:
    print(line.strip())
    “`
    这是使用Python连接Linux主机并执行命令的一个简单示例。根据实际需求,还可以进一步扩展脚本来处理不同的情况,例如处理命令执行的错误和异常等。

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

    一、连接linux主机

    要在Python中连接到Linux主机并执行命令,可以使用paramiko库实现SSH客户端功能。paramiko是一个用于SSHv2协议的Python实现,可以用于连接远程主机并执行命令。

    首先,在Python环境中安装paramiko库:

    “`python
    pip install paramiko
    “`

    然后可以按照以下步骤连接到linux主机:

    1. 导入paramiko库:

    “`python
    import paramiko
    “`

    2. 创建SSHClient对象:

    “`python
    client = paramiko.SSHClient()
    “`

    3. 设置SSH策略:

    “`python
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    “`

    这将自动添加远程主机的SSH密钥。

    4. 连接到远程主机:

    “`python
    client.connect(hostname, port, username, password)
    “`

    其中,`hostname`是远程主机的IP地址或主机名,`port`是SSH端口(默认为22),`username`是登录远程主机的用户名,`password`是密码。

    5. 执行命令:

    “`python
    stdin, stdout, stderr = client.exec_command(‘command’)
    “`

    这里`command`是要执行的命令。

    二、操作流程

    下面是一个完整的示例代码,演示了如何连接到linux主机并执行命令:

    “`python
    import paramiko

    def execute_command(hostname, port, username, password, command):
    # 创建SSHClient对象
    client = paramiko.SSHClient()
    # 设置SSH策略
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接到远程主机
    client.connect(hostname, port, username, password)
    # 执行命令
    stdin, stdout, stderr = client.exec_command(command)
    # 获取命令执行结果
    result = stdout.read().decode()
    # 关闭连接
    client.close()
    # 返回命令执行结果
    return result

    # 连接到远程主机并执行命令
    result = execute_command(‘192.168.1.100’, 22, ‘username’, ‘password’, ‘ls’)
    # 打印命令执行结果
    print(result)
    “`

    这个示例中,`execute_command`函数接受主机名、端口、用户名、密码和命令作为参数,并返回命令执行结果。在示例中,我们调用`execute_command`函数来连接到远程主机`192.168.1.100`,使用用户名`username`和密码`password`,然后执行`ls`命令,并打印命令执行结果。

    要执行多个命令,只需在每个命令后面添加换行符,例如:

    “`python
    commands = ‘ls\npwd\nwhoami\n’
    result = execute_command(‘192.168.1.100’, 22, ‘username’, ‘password’, commands)
    “`

    这样就可以执行多个命令并获取结果了。

    通过以上步骤,我们可以轻松地在Python中连接到linux主机并执行命令。

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

400-800-1024

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

分享本页
返回顶部