SSHの認証メカニズム

この時点で実際の認証が発生します。 最も単純な形式の認証は、前述のようにパスワードを入力することからなっています。SSHの目標は、使いやすく安全なソフトウェアを提供することでした。これは、rshおよびrloginにとって代わるという側面もあるため、SSHは日常的な使用に適した認証方式も提供できるようにする必要があります。そのために、SSHはもう1つ、ユーザが生成する鍵のペアを使用します。SSHパッケージには、そのためのヘルパープログラム「ssh-keygen」が用意されています。ssh-keygen -t rsaまたはssh-keygen -t dsaを入力すると鍵のペアが生成され、鍵を格納するベースファイルの名前を求めるプロンプトが表示されます。

デフォルト設定を確認し、パスフレーズ要求に応答します。ソフトウェアから空のパスフレーズが提示された場合も、ここで説明する手順には10~30文字のテキストを使用することをお勧めします。短くて単純な語句は使用しないでください。また、パスフレーズを再入力して確認してください。その後、秘密鍵と公開鍵の格納場所(この例ではファイルid_rsaおよびid_rsa.pub)が表示されます。

古いパスフレーズを変更するには、ssh-keygen -p -t rsa または ssh-keygen -p -t dsaを使用します。公開鍵コンポーネント(この例ではid_rsa.pubファイル)をリモートマシンにコピーし、~/.ssh/authorized_keysファイルに保存します。次回の接続確立時には、パスフレーズで自己認証するように要求されます。このプロンプトが表示されない場合は、これらのファイルの位置と内容を確認してください。

長時間実行する場合、この手順はその都度パスワードを入力するよりも煩雑です。そのため、SSHパッケージにはssh-agentというツールが用意されており、Xセッションの存続期間中は秘密鍵が保持されます。Xセッション全体はssh-agentの子プロセスとして開始されます。この場合に最も簡単な方法は、.xsessionファイルの先頭にある変数usesshyesに設定し、KDMやXDMなどのディスプレイマネージャを介してログインすることです。また、ssh-agent startxと入力する方法もあります。

これで、sshまたはscpを通常どおり使用できます。前述のように公開鍵を配布している場合、パスワードを求めるプロンプトは表示されなくなります。Xセッションを終了するか、xlockなどのパスワード保護アプリケーションでロックすることに注意してください。

バージョン2のSSHプロトコル導入に関連する変更は、すべてファイル/usr/share/doc/packages/openssh/README.SuSEにも記載されています。