【问题标题】:Run Unix Command on remote host from Python without Password在没有密码的情况下从 Python 在远程主机上运行 Unix 命令
【发布时间】:2020-09-22 14:12:23
【问题描述】:

Python 使用subprocess 命令调用shell 命令。当我在不同的主机上运行该命令时,它会因身份验证错误而失败。

import subprocess
subprocess.Popen(["ssh","hostname","command"], shell=False,
                 stdout=subprocess.PIPE, stderr=subprocess.PIPE)

【问题讨论】:

    标签: unix ssh passwords ssh-keys


    【解决方案1】:

    我找到了解决方案,我看不到帖子,所以我自己回答:

    假设 A 为源主机,B 为远程主机

    启用 ssh 键

    登录远程主机 B 并运行以下命令: ssh-keygen -t rsa

    生成密钥后,从主机 B 复制以下文件的内容: ~/.ssh/id_rsa.pub

    将上述文件的内容粘贴到调用python脚本的主机A: .ssh/authorized_keys'

    设置完成后它应该可以工作了!任何 Unix 命令都可以从 python 运行到任何远程主机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2013-01-08
      • 1970-01-01
      相关资源
      最近更新 更多