【问题标题】:Scp with subprocess python with a private key带有私钥的子进程 python 的 Scp
【发布时间】:2016-09-19 03:54:56
【问题描述】:

如何将这个 scp 命令转换为 python 子进程。

 scp -i /home/ramesh7128/Downloads/<private_key>.pem /home/ramesh7128/Downloads/testing_transfer.py <remote_add>:<remote_file_path>

尤其是包含私钥路径的部分是我遇到问题的地方。

【问题讨论】:

标签: python django subprocess scp


【解决方案1】:

确保您将用户包括在远程计算机上并且您已正确格式化:

scp -i /home/ramesh7128/Downloads/<private_key>.pem /home/ramesh7128/Downloads/testing_transfer.py <remote_user>@<remote_add>:<remote_file_path>
scp -i private_key.pem /path/to/the/local/file root@server.com:/path/to/the/remote/file

编辑:(来自 cmets)

subprocess.Popen(["scp", "-i", "path/to/private_key.pem", myfile, destination]) 

这种语法让 Popen 知道-i 选项。

【讨论】:

  • 导入子进程 p = subprocess.Popen(["scp", myfile, destination]) sts = os.waitpid(p.pid, 0)
  • 您的问题并不清楚 - 当 scp 问题弹出时,通常会忘记用户部分。看起来您需要这样做: subprocess.Popen(["scp", "-i", "path/to/private_key.pem", myfile, destination]) 以便 Popen 了解私钥。
  • 这行得通...非常感谢。如果你可以编辑你的答案,我可以选择这个作为答案。
猜你喜欢
  • 1970-01-01
  • 2011-04-03
  • 2016-10-09
  • 2015-04-16
  • 2010-11-25
  • 2020-05-12
  • 2015-04-10
  • 2019-02-11
  • 2016-10-14
相关资源
最近更新 更多