OpenSSH にできること(の一部)ヒストリ

全面的に OpenSSH情報 頼みです! 5.0 から 3.9 までのリリースノート中の変更点の和訳からつまみ食いしました。

自分の興味ないところ、分からないところはスルーしてしまいました。

5.0

bug fix のみ

4.9

  • chroot対応
    • shell session が必要な場合は従来の方法通り /dev の設定とか必要
    • chroot するディレクトリは root 所有で permission を緩めちゃダメ
  • internal-sftp が実装され1、これを chroot と組み合わせて使う場合、chroot ディレクトリ以下に特別なセットアップが必要なくなる
    • scponly, rssh を使う面倒から解放される!(?)
  • no-user-rc キーワード2が authorized_keys 内で使えるように
  • PermitRootLogin で Match ブロックを利用できるようになり、例えばローカルネットワークからのみ root 接続許可という形が実現可能に
  • ProxyCommands が $SHELL を優先して実行するように

4.8

OpenBSD のみのリリース。

4.7

  • デフォルトの接続受付 protocol を 2 のみに(これまでは 1, 2 両方)
  • scp で表示できないファイル名をエンコードして "protocol error" によるコピー中断を防ぐようになった
  • LocalCommand うにゃうにゃ
    • ごめんなさい、よく分かりませんorz

4.6

  • Match ブロックを利用してユーザー、グループ、ホスト、ネットワークごとに認証方法の有効/無効を設定できるようになった

4.5

bug fix のみ

4.4

  • sshd_config の Match の追加
    • Match にどの設定が対応するのかはバージョンによって異なるらしい
  • sshd_config に ForceCommand 追加。これは authorized_keys の command="" と同等
  • sshd_config に PermitOpen 追加。転送できる port を制限できるようになった。
  • sftp-server がトランザクションログを取れるように
  • ExitOnForwardFailure で指定のポートフォワード接続が失敗したときに終了する設定が可能に(クライアント側の設定)
  • SubSystem がコマンドライン引き数を指定できるように
  • SELinux サポートが configure 時の –with-selinux オプションとして追加された
  • Solaris の proccess contracts サポートが configure 時の –with-solaris-contracs オプションとして追加された
  • configure 時の –with-ssl-engine オプションで OpenSSL のハードウェアアクセラレーションサポートが追加された

4.3

bug fix のみ

4.2

  • Compression delayed の追加。
    • これはユーザーが認証を通るまでzlib圧縮の開始を遅らせることで zlib の脆弱性を突く攻撃を防ぐためのもの。
    • OpenSSH 3.5 より古いバージョンのクライアントと組み合わせて使うにはクライアント側で Compression no にするかサーバ側で Compression yes にする必要がある。
  • 接続の多重化周りであれこれ書いてあるんだけど自分が理解できてませんorz

4.1

bug fix のみ

4.0

  • LocalForward, RemoteForward の書式拡張、GatewayPorts の設定項目拡張によりポートフォワードするアドレスの制限などができるように
  • sshd でのアカウント期限のサポートが改善され、警告されるように
  • allow, deny で拒否した接続元をログに残すように
  • AddressFamily の追加
  • sftp クライアントで ls コマンドの最適化や libedit による編集の強化
  • ssh 接続の多重化の改善

3.9

  • IdentitiesOnly の追加
    • ssh-agent よりも ssh_config で指定された鍵を優先して使うべきか否かの指定
  • ssh_config を厳しくチェック
  • AcceptEnv, SendEnv の追加
  • MaxAuthTries 追加
    • ※ 同一ユーザーの認証の try に対する制限
  • セッションの多重化 ( ControlMaster, ControlPath )

端折りまくって

3.7

  • dynamic forward に SOCKS5 サポートが追加された

なんでこんなもん作ったかと言うと

OpenSSH ってすっげー便利で、おかげで最近の大半の Linux じゃ標準で入ってるんだけど、おかげでいつまでも古いバージョン使わされるハメになることがよくある。

つまり、あーそういえば ssh ってこんなことできなかったっけ? と思うんだけどサーバ側が古くて使えないという状況が往々にしてあるよね、ということでどのバージョンで何ができるようになったか一覧がほしいなと思ったわけです。

これを見ると 4.5 以上が使えると結構便利だなーと思うんだけど、今使ってる sshd は自宅の FreeBSD 以外 4.3 が最新という状況…。うーんなんだかなんだかな。

  1. Subsystem で internal-sftp を指定する必要あり。 

  2. ~/.ssh/rc を無効にする 

More