首页  >  文章  >  后端开发  >  如何使用 Python 使用 SSH 自动执行远程命令?

如何使用 Python 使用 SSH 自动执行远程命令?

DDD
DDD原创
2024-11-06 03:24:03479浏览

How to Automate Remote Commands with Python Using SSH?

通过 SSH 使用 Python 自动化远程命令

在自动化领域,远程运行命令可以提高脚本的效率和多功能性。 Python 提供了一种使用 paramiko 模块来完成此操作的强大方法。

为了说明其用法,我们假设您要在名为“remotehost”的远程服务器上运行命令,并且您有一个已知的密码。可以手动完成此操作:

<code class="bash">ssh user@remotehost</code>

在 Python 中,使用 paramiko,您可以自动化此过程:

<code class="python">import paramiko

# Initialize SSH client
ssh = paramiko.SSHClient()
ssh.connect("remotehost", username="user", password="password")

# Execute remote command
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("your_remote_command")</code>

exec_command 方法返回三个类似文件的对象: stdin for发送数据到远程命令,stdout 用于捕获标准输出,stderr 用于捕获标准错误。

如果您使用 SSH 密钥而不是密码,可以按如下方式修改代码:

<code class="python">import paramiko

# Load private key
k = paramiko.RSAKey.from_private_key_file("keyfilename.pem")

# Set missing host key policy
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# Connect using SSH key
ssh.connect("remotehost", username="user", pkey=k)

# Execute remote command
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("your_remote_command")</code>

使用 paramiko,您可以灵活地在 Python 脚本中执行远程命令,从而使您可以在本地计算机上舒适地自动执行各种任务。

以上是如何使用 Python 使用 SSH 自动执行远程命令?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn