与Python 3.0的SSH连接

发布于 2021-01-29 18:20:11

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

关注者
0
被浏览
45
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

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

    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:
        ...
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看