Pythonssh

spurというライブラリが使いやすそうだったので、テストを始めた。
https://github.com/mwilliamson/spur.py
まず、Ubuntuにpipをインストールして、pipでspurをインストールする。

import spur

shell = spur.SshShell(hostname="hogehoge", username="hoge", password="passhoge")
with shell:
    result = shell.run(["echo", "-n", "hello"])
print result.output # prints hello

として、うまく行くログイン先とそうでないところがある。うまくいかないときは、

Original error: Server 'hogehoge' not found in known_hosts

というのが表示される。missing_host_keyをセットすればうまくいった。

import spur

shell = spur.SshShell(hostname="hogehoge",
                      username="hoge",
                      password="passhoge",
                      missing_host_key=spur.ssh.MissingHostKey.accept)
with shell:
    result = shell.run(["echo", "-n", "hello"])
print result.output # prints hello