python - 与 Python 3.0 的 SSH 连接

标签 python file ssh

如何在 Python 3.0 中建立 SSH 连接?我想在设置了无密码 SSH 的远程计算机上保存文件。

最佳答案

我建议将 ssh 作为子进程调用。它可靠且便携。

import subprocess
proc = subprocess.Popen(['ssh', 'user@host', 'cat > %s' % filename],
                        stdin=subprocess.PIPE)
proc.communicate(file_contents)
if proc.retcode != 0:
    ...

您不得不担心引用目标文件名。如果您想要更大的灵 active ,您甚至可以这样做:

import subprocess
import tarfile
import io
tardata = io.BytesIO()
tar = tarfile.open(mode='w:gz', fileobj=tardata)
... put stuff in tar ...
proc = subprocess.Popen(['ssh', 'user@host', 'tar xz'],
                        stdin=subprocess.PIPE)
proc.communicate(tardata.getvalue())
if proc.retcode != 0:
    ...

关于python - 与 Python 3.0 的 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953477/

相关文章:

git - 无法通过SSH克隆/推送

安卓 SSH : Convert PuttyGen PPK to Dropbear Key

macos - Ansible 2.3 无法通过 SSH 连接到 Mac OS X 上的 AWS 实例 - 权限被拒绝

python - NotADirectory错误: [Errno 20] Not a directory:

python - docker环境下pipenv sync和pipenv install --system --ignore-pipfile

c - 在 C 中返回动态分配的结构时出现未处理的异常

c - 文本文件编辑 C

python - Django 删除唯一字段的表单错误

python - 在python中导入,两个模块共享公共(public)资源

c++ - 提示用户输入文件名或目录