在自动化领域,远程运行命令可以提高脚本的效率和多功能性。 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中文网其他相关文章!