paramiko で ssh

2009 年 8 月 4 日 | カテゴリー: プログラム

20090804 paramiko で ssh

paramiko: ssh2 protocol for python
Pythonで ssh 接続するのはすごく簡単でした。

Linux なら command で ssh を叩けばいいんですけど、Windows だとそうもいかなくて。
cygwin 入れるのもなんだし、PuTTY はオープンソースだから組み込むってのもできるけど・・・。

あれ?Python のコレ、Windows でも動くんじゃない?というときめく期待のもとに paramiko 初体験という経緯なのです。

LGPL だから気をつけないといけないけど、これだけ使いやすくて更新もされているわけで。

どっかで見たことあると思ったら、bazaar とかでも依存ライブラリに書いてあったし、けっこうあちこちで使われてそうというのもいいかんじ。
C++ から boost.python で呼ぶなり、単純に外部プロセスとして呼び出すなりで、いろいろできそう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/python
# -*- mode:python; coding:utf-8 -*-
# paramiko_test.py
 
import paramiko
 
__author__ = "kei"
__date__ = "$2009/08/04 22:04:05$"
 
def command():
    return "df -h"
 
def hostname():
    return "apribase.net"
 
def username():
    return "apribase"
 
def password():
    return "foobar"
 
if __name__ == "__main__":
    client = None
    try:
        client = paramiko.SSHClient()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(hostname(), username=username(), password=password())
        stdin, stdout, stderr = client.exec_command(command())
        print "hostname: " + hostname()
        print "command: " + command()
        print stdout.read()
    finally:
        if client != None:
            client.close()
コメントはまだありません。