Pythonでscp

scpを使いたい場合はsubprocessやpexpectを使うやり方があるけど、コマンドをベタ書かないといけなかったりして面倒。

調べてみると、paramikoを使って簡単にscpする方法があったのでメモ。
jbardin/scp.py

pip install scp とかでインストール。あとは

from paramiko import SSHClient
from scp import SCPClient

ssh = SSHCLient()
ssh.load_system_host_keys()
ssh.connect('hostname')

scp = SCPClient(ssh.get_transport())

scp.put('local.txt', '/path/to/remote/dir/')
scp.get('/path/to/remote/file.txt')

これだけ。とってもお手軽。