SSH の基本
SSH (Secure Shell の略) は、2 台のコンピュータ間の通信を暗号化するために使用されるネットワーク プロトコルであり、さまざまな認証メカニズムをサポートしています。
実際には、主にリモート ログインとリモート通信のセキュリティを確保するために使用されます。このプロトコルを使用すると、あらゆるネットワーク サービスを暗号化できます。
SSH とは何ですか?
これまで、ネットワーク ホスト間の通信は暗号化されておらず、平文通信でした。これにより、通信が非常に安全でなくなります。典型的な例はサーバーへのログインです。リモートサーバーにログインする場合、ユーザーが入力したパスワードをサーバーに送信する必要がありますが、このプロセスが平文通信の場合、送信プロセス中に回線を通過する中間コンピュータがパスワードを確認できることになります。それはとても怖いことです。
SSH は、この問題を解決するために生まれました。コンピュータ間の通信を暗号化して、盗聴や改ざんを防ぐことができます。オペレーターを認証(authentication)および認可(authorization)することもできます。平文ネットワークプロトコルを適用して暗号化を実現できます。
歴史
1995 年、フィンランドのヘルシンキ工科大学の研究者である Tatu Ylönen は、SSH プロトコルの最初のバージョン (現在は SSH 1 と呼ばれています) を設計し、最初の実装 (SSH1 と呼ばれています) を作成しました。
当時、大学のネットワークでパスワード スニッフィング攻撃が発生していたので、サーバーに対するより安全なログイン方法を考案する必要がありました。このツールを作成した後、彼はそのツールを公開し、他の人が無料で使用できるようにしました。
SSH は、rlogin、TELNET、FTP、rsh などの安全でないプロトコルを置き換えることができるため、非常に人気があり、そのユーザーは 1995 年末までに 50 か国の 20,000 人にまで増加しました。 SSH 1 プロトコルは IETF 標準文書にもなっています。
1995 年 12 月、顧客サービスへの需要の高まりを受けて、Tatu Ylönen は SSH の販売と開発を専門とする会社 SCS を設立しました。このソフトウェアの後続のバージョンは、フリー ソフトウェアからプロプライエタリな商用ソフトウェアに徐々に変更されました。
SSH 1 プロトコルにはセキュリティ上の脆弱性があったため、1996 年に SSH 2 プロトコル (または SSH 2.0) が提案されました。このプロトコルはバージョン 1.0 と互換性がなく、1997 年に標準化され、ソフトウェア実装 SSH2 が 1998 年に発売されました。ただし、正式なSSH2ソフトウェアは独自ソフトウェアのため無料では使用できず、SSH1の一部の機能は提供されていません。
1999 年、OpenBSD の開発者は、SSH 2 プロトコルのオープンソース実装を作成することを決定しました。これが OpenSSH プロジェクトです。このプロジェクトは元々、当時の SSH1 の最後のオープンソース バージョンであった SSH バージョン 1.2.12 に基づいていました。しかし、OpenSSH はすぐに元の公式コードから完全に離れ、多くの開発者の参加を得て独自の方針に沿って開発されました。 OpenSSH は OpenBSD バージョン 2.6 に同梱され、その後他のオペレーティング システムに移植され、最も一般的な SSH 実装になりました。現在、ほぼすべての Linux ディストリビューションには OpenSSH が付属しています。
現在、SSH-2 の実装は無料と有料の両方で複数あります。本書では、主に OpenSSH に焦点を当てています。
SSH アーキテクチャ
SSHのソフトウェアアーキテクチャは、サーバー-クライアントモデル(Server - Client)です。このアーキテクチャでは、SSHソフトウェアは2つの部分に分かれています。サーバーにリクエストを送信する部分をクライアント(client)と呼び、OpenSSHの実装はsshです。クライアントから送信されたリクエストを受信する部分をサーバー(server)と呼び、OpenSSHの実装はsshdです。
このチュートリアルで合意されているように、大文字の SSH はプロトコルを表し、小文字の ssh はクライアントソフトウェアを表します。
さらに、OpenSSH は、いくつかの補助ツールソフトウェア (ssh-keygen、ssh-agent など) および特殊なクライアントツール (scp や sftp など) も提供します。これらについてもこのチュートリアルで紹介します。
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0