dodaの日記: ssh:// URL
トラッカーのFeature Requestsで、ssh:// スキームをサポートしてほしいという要望が出ていたので、ちょっと前(既に2ヶ月前だけど)に永田さんが対応した。
数日前に、ふとrlogin/rsh等のr系コマンドの場合はrlogin:// スキームを使うよなと思い、それならばとslogin:// スキームも登録できるようにしようと確認してみた。
すると、ssh://host/というホストのみの指定は対応しているけれど、ssh://user:passwd@host/ のようなユーザ名/パスワードの指定に対応していない事に気が付いた。
そこで、slogin://を追加するのと一緒にユーザ名/パスワード指定にも対応させてみた。
ssh://の解釈部分をTera Term本体からttsshに移動したりしているうちに永田さんが書いたコードを全部置き換えるような感じになってしまったけれど、まあよしとしよう。
ついでに、ssh1://, ssh2://, slogin1://, slogin2:// のようなSSHバージョン指定版も解釈出来るようにしたけれど、これらに関しては独自拡張っぽいのでインストーラでの関連付けは行わないようにした。
とりあえず対応させておけば、判る人は勝手にやるだろうと期待。
あと、ssh://host/command でコマンドを実行できるようにとか、ssh://host/option でオプションを指定できるようにとかも考えたけれど、独自拡張をやりすぎるともし将来RFCで標準が決まった時に整合性を取るのが面倒なので、見送った。
それに、ssh://host/commandでコマンドを実行するなんてやりすぎだとも思うし。
とりあえず動くところまで確認したけれど、まだ以下の点がToDoとして残っている。
- ユーザ名/パスワードはパーセントエンコーディングされている可能性があるので、デコードする。
- ポートが指定されていなかった場合、22を使うようにする。
ssh:// URL More ログイン