最終更新: haruyama_seigo 2011年07月19日(火) 16:04:13履歴
サンプルプログラムは, githubのharuyama/ssh_client_sampleにあります.
このWikiでの解説は, 20110713 branch を元に行ないます.
このプログラムは, SSHプロトコルの理解を助けることを目的としています. 実用的なSSHの実装を作成するつもりはありません.
src/main/scala/org/unixuser/haruyama/ssh/SSHClientSample.scala at master from haruyama/ssh_client_sample - GitHub を眺めるとなんとなくSSHプロトコルについてわかる, このWikiを見るともうちょっとわかる, というのが目的です.
Public domain です.
Byte列のパースのために以下に挙がっている実装を利用しています. Scala本体のForumに挙がっているものなので, 自由に利用してよいと解釈しました.
暗号の実装は, Ganymed SSH-2 for Java を利用しています(私は再配布していません).
ローカルホストにid:test, password:test というユーザを作成して, 「ls」コマンドを実行してみた結果です. 外からアクセスできるホストにこのようなユーザは作らないようにしましょう.
このWikiでの解説は, 20110713 branch を元に行ないます.
- haruyama/ssh_client_sample at 20110713
- 2011/07/13 以降もコメントの追加を行なう予定です.
このプログラムは, SSHプロトコルの理解を助けることを目的としています. 実用的なSSHの実装を作成するつもりはありません.
src/main/scala/org/unixuser/haruyama/ssh/SSHClientSample.scala at master from haruyama/ssh_client_sample - GitHub を眺めるとなんとなくSSHプロトコルについてわかる, このWikiを見るともうちょっとわかる, というのが目的です.
Public domain です.
Byte列のパースのために以下に挙がっている実装を利用しています. Scala本体のForumに挙がっているものなので, 自由に利用してよいと解釈しました.
暗号の実装は, Ganymed SSH-2 for Java を利用しています(私は再配布していません).
- テストで利用したサーバの出力するメッセージの順番に依存しています. 特にコネクションプロトコルの実装は, 別の環境では動作しないかもしれません.
- 各メッセージの受信時に Scalaの asInstance で型を指定しているのは, ソース閲覧時に理解しやすくするためです. プロトコル上問題がない別のメッセージが来る可能性があるので, 本来はもっと柔軟に処理できなければなりません.
sbt 0.10.* を利用します.
Ganymed SSH-2 for Java を取得し 'ganymed-ssh2-build210/ganymed-ssh2-build210.jar' を 'lib/ganymed-ssh2-build210.jar' として配置する必要があります.
sbt compile でビルドできます.
Ganymed SSH-2 for Java を取得し 'ganymed-ssh2-build210/ganymed-ssh2-build210.jar' を 'lib/ganymed-ssh2-build210.jar' として配置する必要があります.
sbt compile でビルドできます.
ローカルホストにid:test, password:test というユーザを作成して, 「ls」コマンドを実行してみた結果です. 外からアクセスできるホストにこのようなユーザは作らないようにしましょう.
% ls -l ~test 合計 0 -rw-r--r-- 1 test test 0 2011-06-21 13:33 a -rw-r--r-- 1 root root 0 2011-06-21 13:25 hotate -rw-r--r-- 1 root root 0 2011-07-04 15:11 ほげ % scala -cp lib/ganymed-ssh2-build210.jar target/scala-2.9.0.final/ssh-client-sample_2.9.0-1.0.jar localhost 22 test test "ls -l" 合計 0 -rw-r--r-- 1 test test 0 2011-06-21 13:33 a -rw-r--r-- 1 root root 0 2011-06-21 13:25 hotate -rw-r--r-- 1 root root 0 2011-07-04 15:11 ほげ
- カテゴリ:
- インターネット
- インターネットセキュリティ
最新コメント