如何在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: ...
你不得不担心引用目标文件名.如果您想要更多灵活性,您甚至可以这样做:
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: ...