Last modified: Thu Jan 10 11:25:26 2008 +0900 (JST)
6.2.1.1 (p.247) には、OpenSSH の ssh-keygen について「新しい鍵を生成する場合、-t オプションを使って鍵の形式(DSAまたはRSA)を指定しなければならない」と書かれています。しかしこれは、OpenSSH 4.3 以降では正しくありません。OpenSSH 4.3 以降では、無指定時には -t rsa が仮定されるようになりました。
これに伴い、--help オプションを指定したときの ssh-keygen の挙動 (7.1.1、p.284) も変化しています。OpenSSH における --help オプションの挙動には、OpenSSH が使用する getopt(3) ライブラリ関数が関係しています。OpenSSH 4.2 以前においては、getopt(3) がどのように動作しても、結果としてはオプション一覧が表示されました。しかし OpenSSH 4.3 以降では、次のようになります。
getopt(3) が --help を異常なオプションと認識する場合には、 オプション一覧が表示されます。
getopt(3) が --help を異常なオプションではなく「オプションの終了」として認識する場合には、-t rsa を指定したものとして処理が継続されます。結果として、RSA 形式の鍵を生成しようとします。
ここで注意しなければならないのは、OpenSSH は必ずしも OS 付属の getopt(3) を使うわけではない点です。portable 版の OpenSSH は、OS 付属の getopt(3) が optreset に対応しているか否かを検査し、対応していないと判断した場合には、portable 版 OpenSSH に添付されている openbsd-compat/getopt.c を使用します。この getopt(3) は『--help を異常なオプションではなく「オプションの終了」として認識する』ため、OS 付属の getopt(3) とはオプションの扱いに微妙な違いが発生することがあります。
以上に関連して、7.1.1 (p.284) の注に関する訂正を、訂正ページに載せました。_o_
SSH のパスワード認証に対する総当たり攻撃への対応については付録 G にあるとおりなのですが、 現実問題として
についてはできかねる、という場合も多々あろうかと思います。 そのような場合には、パケットフィルタなどと組みあわせて、複数回ログインに失敗した場合にはアクセスを禁止する、ようにすると効果的です。 このためのツールが複数存在します。
この他にもいろいろあると思います。SSH パスワード認証に対する総当たり攻撃への対抗ツール にまとめておきました。
Poderosa 4.1.0 が出ています。エージェントフォワーディングへの対応などが追加されました。
SECSH 公開鍵ファイル形式 (p.245) が RFC4716: The Secure Shell (SSH) Public Key File Format (IETF) として標準化されました。
GnuPG 2.0 が登場しました (リリースアナウンス)。
GnuPG 2.0 には gpg-agent というツールが含まれており、これは SSH エージェントとしても動作するそうです。また、SSH のためのスマートカードのサポートが含まれるそうです。