[OpenSSH]

プロジェクトの歴史と実績


OpenSSH は、Tatu Ylönen によるオリジナルのフリー ssh 1.2.12 から 派生しました。私たちのプロジェクトで再利用できるものとしては、 これが最後のバージョンでした。OpenSSH の一部には、 このリリースで含まれていた Tatu のライセンスがまだ重くのしかかっています。 このバージョンおよび以前のバージョンでは libgmp ライブラリの 算術関数を使っていました。初期バージョンの ssh には、このライブラリが 含まれていました。現在、libgmp ライブラリは GNU 劣等一般公共使用ライセンス (LGPL) のもとで使用可能になっています。けれどもこの時期のバージョンは まだ標準の GNU 一般公共使用ライセンス (GPL) だったんですけどねえ。 (訳注: GPL でライセンスされたライブラリを使ったソフトウェアは、 すべて GPL のライセンスを継承しなければならないのですが、ssh はそうしていなかったということです)

各部分のライセンスを合わせたものは、 http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/LICENCE で見ることができます。

ssh 1.2.12 がリリースされてすぐ、より新しいバージョンはだんだんと 厳しいライセンスになっていきました。初期のころの制限されたライセンスでは、 Windows 版および DOS版を作ることは禁止されていました。後のほうに なると商業環境での利用が禁止され、かわりに企業は Datafellows から 出ていた高額なバージョンを買うよう要求されました。

1999年の始めに Björn Grönvall はこの特定のリリースを再発見し、 バグフィックスを始めました。彼の ssh のバージョンは OSSH と呼ばれています。 当初彼はそのバージョンの中で、プロトコル バージョン 1.3 しかサポートしませんでしたが、 彼は独自にプロトコル バージョン 1.5 のサポートを開発しました。スウェーデンでは いくつかの商用プロダクトが OSSH を塔載したそうです。 現在、OSSH はまだプロトコル バージョン 2 をサポートしていません。

OpenBSD プロジェクトのメンバーは OpenBSD 2.6 リリース の 2ヶ月ほど前に、Björn の仕事に気がつきました。私たちは ssh を 2.6 リリースに入れたいと思ったのですが、まずそれを完璧に きちんとする必要がありました。そのため私たちはすぐに OSSH のリリースを 分岐させることを決め、元々の OpenBSD セキュリティ監査でやっていたのと 同じようなやり方で、素早い開発を追及したのです。この結果、多くの ssh ソースコードファイルがすでに RCS リビジョン 1.34 になっており、 そのうちのいくつかは 1.66 にまで高まっていました。実際、開発は ほんとうに早く進んだのです。守るべき締め切りがあったからですね。

以下のチームメンバーが参加しています:

つまり、OpenSSH は古いバージョンの ssh を元にはしていますが、 ずっと多くのバグがとり除かれ、より新しい機能が追加されているのです:

ここで OpenSSH 1.2.2 リリースが決まりました。これは 1999年 12月1日に、OpenBSD 2.6 とともに出荷されました。この時点までにおける OpenSSH のほとんどの開発は、Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt, そして Dug Song らによってなされました。 バグを発見し、彼らに報告してくれた多くの人々に感謝します。

OpenSSH の移植

私たちがプロトコル バージョン 1 の実装を出荷するとすぐに、 OpenBSD 以外のグループがこれに多大な感心をよせてきました。 Damien Miller や Philip Hands、その他少数の人々が OpenSSH を Linux や その他いろいろな Unix オペレーティングシステムに移植しはじめました。 私たちは、自分たち自身の苦労から、オリジナルの ssh のコードがあまりに 複雑すぎると感じはじめていました。書き換えなければならない オペレーティングシステム依存の部分がとにかく多すぎるのです。 私たちの、絶対安全で岩のように堅実なコードを書くというアプローチは このような極端な差異を避けています。そのため、開発プロセスすべてが 私たち全員にとって簡単になるように、私たちは核となる開発と移植版の開発とを 分けることにしました。これは今のところ非常にうまく行っています。 (基本となるコードの行数と、移植版のコードの行数を比べると その違いがよくわかるでしょう。)

SSH プロトコル バージョン 2

OpenBSD 2.6 のリリースが世に出てから、Markus Friedl は
SSH プロトコル バージョン 2 のサポートを追及することを 決めました。何ヶ月かにわたる苦労の末、とうとう彼は OpenSSH をスリム なままで、余計なぜい肉をつけずに、バージョン 1 も 2 も ひとつのソフトウエアで処理できるものをつくりあげたのです。 このバージョンは OpenSSH 2.0 と呼ばれていますが、2000年 7月 15日に OpenBSD 2.7 とともに出荷されました。Markus の変更のほとんどは Niels Provos と Theo de Raadt によってチェックが済んでいます。 OpenSSL を新しいバージョンにアップデートしてくれた Bob Beck にも感謝しています。

SFTP のサポート

Markus Friedl は SFTP サブプロトコルのサーバ側でのサポートを 書き、2.3.0 リリースでこれを公開しました。2000年 11月のことです。 すぐに Damien Miller が sftp クライアントの製作にとりかかり、 これは 2.5.0 で最初に出荷されました。

SSH サーバのバージョンをスキャンする

企業ネットワークなどですでに広まっている SSH サーバを 検査できるよう、 Niels Provos は scanssh ツールを書きました。scanssh は SSH サーバを動かしている ネットワークやアドレスのリストをスキャンし、そのバージョン番号を 調べます。これは大規模なネットワークの範囲からランダムに IP アドレスを選んで検査することができ、ある企業やインターネット全体に おける SSH サーバ使用の統計的な情報を集めるのに適しています。 またこの統計は、使っている SSH のプロトコルやソフトウエアの バージョン情報も含んでいます。

scanssh はインターネットにおける SSH の普及と使用状況に関する 統計を集めるのに利用されています。 この測定によって、 互いに異なった SSH プロトコルがどれくらい普及しているか、および 特定のサーバ市場でどのように浸透しているかがわかります。


SSH: ついに完全にフリー。


OpenSSH www@openbsd.org
$OpenBSD: history.html,v 1.18 2005/09/03 16:41:44 saad Exp $