ちょいとSCPでファイルを取ってきたり、置いたりしないといけなかったので。
Pexpect
Pexpectというライブラリを利用。
コマンドを自動化できる。一番良いのはpasswordを聞かれるのを自動で答えてくれること。
SCP
SCPのサンプルコード。らくちん。
import pexpect SERVER = "www.rokujyouhitoma.com" USER = "rokujyouhitoma" SOMEDIR = "~" PASSWORD = "bar_password" UPLOADDIR = "baz_dir" if __name__ == "__main__": scp = pexpect.spawn('scp -r %s@%s:%s %s' % (USER, SERVER, SOMEDIR, UPLOADDIR)) scp.expect('.ssword:*') scp.sendline(PASSWORD) scp.interact()
ま、問題はこんな危険なコードが流失したらだなぁー。
SSH
同様にSSHのサンプルコードを。
import pexpect SERVER = "www.rokujyouhitoma.com" USER = "rokujyouhitoma" PASSWORD = "bar_password" if __name__ == "__main__": foo = pexpect.spawn('ssh %s@%s' % (USER, SERVER)) foo.expect('.*ssword:') scp.sendline(PASSWORD) foo.interact()
重要なことなのでもう一度。危険だから、使い方には注意して下さい。
ま、あれだな。引数でパスワードを取るように変えるしか考えつかないけど・・・。
追記
「pitを使えばパスワードを隠蔽化できるよ」ってTwitterで教えてもらいました。後で試す。