ssh4pyモジュール
pythonでファイル転送のようなことをやりたい。sshのラッパーのようなモジュールssh4pyがあったので、試してみる。
URL:http://www.keyphrene.com/products/4py/
チュートリアル:http://blog.keyphrene.com/keyphrene/index.php/2008/09/18/13-scp
ちゃんとしたドキュメントがないのが不安。
ファイル転送のテストコードを作成。やりたいことは、接続先からファイルをscpで持ってくる。
import socket from ssh4py import SSH2 HOSTNAME = "255.255.255.255" #接続先IP PORT = 22 LOGIN = "hoge" #ユーザ名 PWD="hoge" #パスワード sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOSTNAME, PORT)) sock.setblocking(1) ssh = SSH2.Session() ssh.startup(sock) ssh.setPassword(LOGIN, PWD) channel = ssh.SCPGet("~/testdata") #fget = open("testdata", "w") while True: data = channel.read(1024) if not data: break print data # fget.write(data) #fget.close() channel.close() ssh.close()
実行するとフリーズする。ファイルの内容を読み込めているようだが、終端になってもwhile文を抜けてくれない。
(あとで詳しく調べる)