以下のように使える。
(import (rfc ssh)) (define transport (make-client-ssh-transport "localhost" "22")) (define user "guest1") (define pass "pass1") (ssh-authenticate transport +ssh-auth-method-password+ user pass) (let-values (((status response) (ssh-execute-command transport "ls -l"))) (print (utf8->string response)))ssh-execute-commandはコマンドの戻り値と出力を受け取る。出力はバイナリなので適当に変換する必要がある。他にもShellを起動したりチャンネルを自前で開いたりするAPIがある。
まだまだおもちゃ程度の処理しかできない(ので、しばらくはドキュメントに載らないw)。そして、本当にほしいのはSFTPだったりするので次はsubsystemセッションの確立とSFTPの実装かね。
以下は適当な情報
ソースはsitelib/rfc/sshディレクトリ以下。あまりの汚さに精神汚染を起こしても当方は責任を取らない(多分未来の自分に対する警告・・・)。これを実装するために以下の機能及びライブラリが追加された。
- (binary data)ライブラリ(自分で言うのもなんだけど、すごく便利w)
- DSA鍵署名及び検証
No comments:
Post a Comment