D.

svn+ssh は利用できるが対話的なログインはできないユーザーを作成する。

svn+ssh は安全に svn を利用する方法のひとつとして広く知られている。このとき、対話的な ssh ログインを許可しておくと、そのユーザーアカウントの権限内でシステム内部を参照されてしまうことになる。単に svn サービスを他者に提供する場合、最小権限の法則に従い svn は利用できるが対話的なログインは不可能とするユーザーを作成するのが基本である。そこで、この方法を説明する。


公開鍵の登録ファイル ~/.ssh/authroized_keys の内容を編集し、冒頭に以下の文字列を追加する。

command="/usr/bin/svnserve -t",from="xxx.xxx.xxx.xxx",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA... (略)

command="/usr/bin/svnserve -t" によりサーバーサイドで起動できるコマンドを svnserve に限定する。これによりシェルの起動が不可能となり、対話的な ssh ログインができなくなる。
from="xxx.xxx.xxx.xxx" にはクライアントのドメイン名 (ワイルドカード可) もしくは IP アドレスを指定する。接続元を限定することにより、よりセキュアな環境を構築することができる。