sshd
は一定時間ごとに、暗号化された通信路を経由してクライアントに
応答を要求するメッセージ (client alive message)
を送ります。その
際、何もデータが送られてこなかったらタイムアウトする時間を秒数で
指定します。デフォルトの値は 0
で、これはメッセージを送らないこと
を意味します。このオプションは プロトコル バージョン 2
でのみサ ポートされています。
ClientAliveCountMax
(クライアントの生存チェック最大カウント数)
sshd が無反応のクライアントに対して client alive message
(上記参 照) を送ってみる最大数を指定します。 client alive
message に対す る応答が連続してこの回数だけなかった場合、
sshd は接続を切り、 セッションを終了します。 client
alive message は、 KeepAlive (下 記)
とはまったく違うことに注意してください。 client alive
message
は暗号化された経路を介して送られるので、偽造されることはありませ
ん。 KeepAlive によって設定される TCP の keepalive
オプションは偽 造される可能性があります。client alive
のメカニズムはクライアント
あるいはサーバが、いつ接続が切れたのかを知りたいときに役立ちま
す。
デフォルトの値は 3 です。もし ClientAliveInterval
(上記) が 15 に 設定され、 ClientAliveCountMax
がデフォルトのままである場合、これ に反応できない ssh
クライアントはおよそ 45 秒後に接続が切られま す。
Compression
圧縮を許可するかどうかを指定します。この引数がとりうる値は
‘‘yes’’ または
‘‘no’’ です。デフォルトでは
‘‘yes (圧縮を許可す る)’’
になっています。
DenyGroups (拒否するグループ)
このキーワードにはいくつかのグループ名パターンをスペースで区切っ
て指定します。ユーザの基本グループがこのパターンのどれかにマッチ
するユーザはログインを禁止されます。パターン中では
‘*’ および ‘?’
がワイルドカードとして使えます。有効なのはグループの「名前」だけ
で、数字で表されたグループ ID
は認識されません。デフォルトでは、
ログインはすべてのグループに許可されています。
DenyUsers (拒否するユーザ)
このキーワードにはいくつかのユーザ名パターンをスペースで区切って
指定します。これが指定されると、このパターンのどれかにマッチする
ユーザはログインを禁止されます。 ‘*’ および
‘?’ がワイルドカード
として使えます。有効なのはグループの「名前」だけで、数字で表され
たグループ ID
は認識されません。デフォルトでは、ログインはすべて
のユーザに許可されています。もしこのパターンが USER@HOST
という形 をとっている時は、ユーザ名 USER と ホスト名 HOST
を別々にチェック
でき、特定のホストからの特定のユーザのログインを制限することがで
きます。
GatewayPorts (ポート中継の許可)
リモートホストがクライアント側に転送されたポートに接続することを
許可するかどうか指定します。デフォルトでは、 sshd
はリモート転送 ポートをループバックアドレスに bind
します。これは他のリモートホ
ストが、転送されたポートに接続してしまうのを防いでいます。
GatewayPorts は sshd
にリモート転送ポートをワイルドカードアドレス に bind
させるときに使います。これによってリモートホストが転送さ
れたポートに接続できるようになります。この引数の値は
‘‘yes’’ ある いは
‘‘no’’ です。デフォルトは
‘‘no’’ になっています。
HostbasedAuthentication
(ホストベース認証の許可)
公開鍵ホスト認証が成功したときに、 rhosts あるいは
/etc/hosts.equiv 認証を許可するかどうか指定します
(ホストベース認 証)。このオプションは
RhostsRSAAuthentication (RhostsRSA 認証の許
可) に似ており、プロトコル バージョン 2
のみに作用します。デフォ ルトの値は
‘‘no’’ になっています。
HostKey (ホスト鍵)
SSH
で使われる、ホスト秘密鍵が格納されているファイルを指定しま
す。デフォルトでは、プロトコル バージョン 1 用の鍵が
/etc/ssh/ssh_host_key であり、プロトコル バージョン 2
用の鍵が /etc/ssh/ssh_host_dsa_key
です。このファイルがグループあるいは他
人からアクセス可能になっていると、 sshd
はその使用を拒絶するので
注意してください。複数のホスト鍵を使うことも可能です。
‘‘rsa1’’ 鍵はバージョン 1 に使われ、
‘‘dsa’’ または
‘‘rsa’’ はバージョン 2 の SSH
プロトコルに使われます。
IgnoreRhosts (rhosts の無視)
RhostsAuthentication, RhostsRSAAuthentication
または HostbasedAuthentication の各認証で、
.rhosts および .shosts ファ
イルを使わないようにします。
この状態でも、 /etc/hosts.equiv および
/etc/ssh/shosts.equiv は依
然として有効です。デフォルトでは
‘‘yes’’ になっています。
IgnoreUserKnownHosts (ユーザ用
known_hosts の無視)
RhostsRSAAuthentication または
HostbasedAuthentication の各認証 で、ユーザの
$HOME/.ssh/known_hosts ファイルを使わないようにしま
す。デフォルトは ‘‘no’’ です。
KeepAlive (接続を生かしておく)
システムが相手のマシンに TCP keepalive
メッセージを送るかどうか指
定します。これが送られると、接続の異常終了や相手マシンのクラッ
シュが正しく通知されるようになります。しかしこれを使うと、たとえ
経路が一時的にダウンしていても接続が死んでいるということになって
しまい、これが邪魔になる場合もあります。その一方で、もし
keepalive
が送られないとすると、セッションはサーバ上で永久に残っ
てしまことがあり、 ‘‘幽霊’’
ユーザを居座らせてサーバ資源を消費す ることがあります。
デフォルトは ‘‘yes’’ (keepalive
を送る) です。そのためクライアン
トはネットワークがダウンするか、リモートホストがクラッシュすると
通知してきます。これは永久に残るセッションを防ぎます。
Keepalive を禁止するには、この値を
‘‘no’’ にする必要があります。
KerberosAuthentication (Kerberos
認証)
Kerberos 認証をおこなうかどうか指定します。この認証は
Kerberos チ ケットか、あるいはもし
PasswordAuthentication が yes になっている
場合なら、ユーザが入力して Kerberos KDC
経由で批准されたパスワー
ドが使われます。このオプションを使うには、サーバに KDC
のアイデン ティティを批准するための Kerberos servtab
が必要です。デフォルト では ‘‘no’’
になっています。
KerberosOrLocalPasswd (Kerberos
あるいはローカルパスワード)
これが指定されている場合、Kerberos
経由のパスワード認証が失敗する と、そのパスワードは
/etc/passwd などの別のローカルな機構によって
確認されます。デフォルトは ‘‘yes’’
です。
KerberosTgtPassing (Kerberos TGT
パス)
Kerberos TGT
をサーバに転送してもよいかどうか指定します。デフォル トは
‘‘no’’
です。なぜなら、これがまともに動くのは Kerberos KDC が実際の
AFS kaserver であるときだけだからです。
KerberosTicketCleanup (Kerberos
チケット自動除去)
ユーザのチケット用キャッシュをログアウト時に自動的に消去するかど
うか指定します。デフォルトは ‘‘yes’’
です。
KeyRegenerationInterval
(鍵の再生成間隔)
プロトコル バージョン 1 では、サーバ鍵は
(一度でも使われると) こ
こで指定された間隔ごとに自動的に再生成されます。このように鍵を再
生成する目的は、あとでそのマシンに侵入して盗聴したセッションを解
読されたり、鍵を盗まれたりするのを防ぐためです。この鍵はどこにも
格納されません。値として 0
を指定すると、鍵はまったく再生成されな
くなります。デフォルトでは 3600 (秒) になっています。
ListenAddress (接続受付アドレス)
sshd が接続を受けつける (listen する)
ローカルアドレスを指定しま
す。ここでは以下の形式が使えます:
ListenAddress
host|IPv4_addr|IPv6_addr
ListenAddress
host|IPv4_addr:port
ListenAddress [
host|IPv6_addr]:port
port が指定されていないときは、 sshd
はそのアドレスで、それまでの Port
オプションで指定されたすべてのポートで接続を受けつけます。デ
フォルトではすべてのローカルアドレスに対して接続を受けつけるよう
になっています。 ListenAddress
項目は複数指定してもかまいません。 また Port
オプションは、ポートつきでないアドレス指定に対してはこ
のオプションよりも前に指定しておく必要があります。
LoginGraceTime
(ログイン猶予時間)
ユーザがここで指定された時間内にログインできないと、サーバは接続
を切ります。この値を 0
にすると、時間制限はなくなります。デフォル トの値は 120 (秒)
です。
LogLevel (ログレベル)
sshd
が出力するログメッセージの冗長性レベルを指定します。とりうる
値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE,
DEBUG, DEBUG1, DEBUG2 および DEBUG3。デフォルトでは INFO
です。DEBUG と DEBUG1 は等価です。 DEBUG2, DEBUG3
はそれぞれさらに冗長なログにな ります。 DEBUG
レベル以上のログはユーザのプライバシを侵害するの
で、勧められるものではありません。
MACs (メッセージ認証コード)
使用する MAC (メッセージ認証コード)
アルゴリズムの優先順位を指定 します。 MAC
アルゴリズムはプロトコル バージョン 2 で使われる、
データの改竄を防ぐ機構 (data integrity protection)
です。複数のア
ルゴリズムをコンマで区切って指定します。デフォルトは
‘‘hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96’’
の 順になっています。
MaxStartups (最大起動数)
認証されていない段階の接続を sshd
デーモンが最大でどれだけ受けつ
けるかを指定します。この値を超えた (認証されていない段階の)
接続 は捨てられます。この状態は
(すでに接続したクライアントの) 認証が 成功するか、その
LoginGraceTime (ログイン猶予時間) が切れるまで続
きます。デフォルトではこの数は 10 です。
もうひとつの方法は、早いうちからランダムに接続を拒否するよう指定
することです。これはこのオプションにコロンで区切った
3つの値を与 えることによりおこないます。この値は
‘‘start:rate:full’’
(‘‘開始 時:確率:最大数’’)
の形をとります (例: "10:30:60" など)。 sshd
は 認証されていない段階の接続が
‘‘start’’ (この例では 10) 個を超える
と、これ以後の接続要求を
‘‘rate/100’’ (この例では 30%)
の確率で拒 否しはじめます。この確率は
‘‘full’’ (この例では 60)
個の接続が来
るまで線形に増えつづけ、最大数に達した時点でそれ以降すべての接続
を拒否するようになります。 PasswordAuthentication
(パスワード認 証)
が禁止されているかどうかにかかわらず、パスワード認証も許可さ
れます。デフォルトでは ‘‘no’’
になっています。
PasswordAuthentication
(パスワード認証)
パスワード認証を許可するかどうか指定します。デフォルトでは
‘‘yes’’ になっています。
ChallengeResponseAuthentication が
‘‘yes’’ であり、 sshd の PAM
認証ポリシに pam_unix(8) が含まれる 場合、
PasswordAuthentication
の値に関係なく、チャレンジ・レスポ
ンス機構によるパスワード認証が許可されます。
PermitEmptyPasswords
(空のパスワードを許可)
パスワード認証が許可されているとき、パスワード文字列が空のアカウ
ントに対してサーバがログインを許可するかどうか指定します。デフォ
ルトは ‘‘no’’ です。
PermitRootLogin (root
ログイン許可)
ssh(1) を使って、root
がログインできるかどうか指定します。この引 数の値は
‘‘yes’’,
‘‘without-password’’
(パスワード認証なし)、
‘‘forced-commands-only’’
(強制コマンドのみ)、あるいは ‘‘no’’
のい ずれかです。デフォルトは ‘‘no’’
です。 ChallengeResponseAuthentication が
‘‘yes’’ の場合、
PermitRootLogin が
‘‘without-password’’
に設定されていたとして も、root
ユーザはそのパスワードで許可されます。このオプションを
‘‘without-password’’ にすると、root
だけパスワード認証ではログイ ンできなくなります。
このオプションを
‘‘forced-commands-only’’
にすると、root は公開鍵
認証を使ってログインできますが、その鍵に command
オプションが指定 されている場合にかぎります (これは通常の
root ログインを許可して
いなくても、リモートバックアップをとりたいときなどに有用です)。
root
に対してはこれ以外の認証方法はすべて禁止になります。
このオプションを ‘‘no’’
にすると、root のログインは許可されませ ん。
PermitUserEnvironment
(ユーザの環境変数変更を許可する)
sshd が ~/.ssh/environment ファイルおよび
~/.ssh/authorized_keys における environment=
オプションを処理すべきかどうかを指定しま す。デフォルトでは
‘‘no’’
です。環境変数の変更は、ユーザに LD_PRELOAD
などの設定を使ったある種のアクセス制限を回避させてしま
う可能性があります。
PidFile (pid ファイル)
sshd デーモンのプロセス ID
を格納するファイルを指定します。デフォ ルトでは
/var/run/sshd.pid になっています。
Port (ポート番号)
sshd が接続を受けつける (listen する)
ポート番号を指定します。デ フォルトは 22
です。複数指定することも可能です。 ListenAddress の
項も参照してください。
PrintLastLog (LastLog の表示)
ユーザが対話的にログインしたとき、そのユーザが前回ログインした日
付と時刻を表示するかどうか指定します。デフォルトでは
‘‘yes’’ に なっています。
PrintMotd (motd の表示)
ユーザが対話的にログインしたとき、 /etc/motd
(今日のお知らせ)
ファイルの内容を表示するかどうか指定します。
(システムによって は、これはシェルや /etc/profile
に相当するものが表示します)。デ フォルトは
‘‘yes’’ です。
Protocol (プロトコル)
サポートするプロトコルのバージョンを指定します。とりうる値は
‘‘1’’ と
‘‘2’’
です。複数のバージョンをコンマで区切って指定するこ
ともできます。デフォルトは ‘‘2,1’’
です。ここでのプロトコルの順番
は、優先度を指定するものではないことに注意してください。なぜなら
複数のプロトコルがサーバで使用可能な場合、選択するのはクライアン
ト側だからです。よって ‘‘2,1’’
という指定は、 ‘‘1,2’’ と同じで
す。
PubkeyAuthentication
(公開鍵認証)
公開鍵認証を許可するかどうか指定します。デフォルトは
‘‘yes’’ で す。このオプションは
プロトコル バージョン 2 にのみ適用されること
に注意してください。
RhostsAuthentication (rhosts
認証)
rhosts や /etc/hosts.equiv
だけを使った認証でログインを許可してし
まってもよいかどうか指定します。これは安全でないため、ふつうは許
可すべきではありません。かわりに RhostsRSAAuthentication
(rhosts-RSA 認証)
を使うべきです。こちらは通常の rhosts や
/etc/hosts.equiv 認証に加えて、RSA
ベースのホスト間認証をおこない ます。デフォルトは
‘‘no’’
です。このオプションはプロトコル バー ジョン 1
にのみ適用されることに注意してください。
RhostsRSAAuthentication (rhosts-RSA
認証)
RSA ホスト間認証が成功しているとき、rhosts や
/etc/hosts.equiv を
使った認証をおこなってよいかどうか指定します。デフォルトは
‘‘no’’
です。このオプションはプロトコル バージョン 1
にのみ適用されるこ とに注意してください。
RSAAuthentication (RSA 認証)
純粋な RSA 認証を許可するかどうかを指定します。デフォルトは
‘‘yes’’
になっています。このオプションはプロトコル バージョン 1
にのみ適用されることに注意してください。
ServerKeyBits
(サーバ鍵のビット数)
プロトコル バージョン 1
で短期的に使われるサーバ鍵のビット数を指 定します。最小値は
512 で、デフォルトは 768 です。
StrictModes (厳格なモード)
sshd
がログインを許可する前に、ユーザのファイルおよびホームディレ
クトリの所有権とパーミッションをチェックすべきかどうかを指定しま
す。これはふつう初心者が、しばしば自分のディレクトリを誰でも書き
込めるようにしてしまう事故を防ぐために有効です。デフォルトでは
‘‘yes’’ になっています。
Subsystem (サブシステム)
外部サブシステム (ファイル転送デーモンなど)
を設定します。このオ
プションへの引数にはサブシステム名と、そのサブシステムに要求が
あったとき実行されるコマンドを与えます。 sftp-server(8)
はファイ ル転送サブシステム ‘‘sftp’’
を実装したものです。デフォルトではサ
ブシステムは何も定義されていません。このオプションはプロトコル
バージョン 2 にのみ適用されることに注意してください。
SyslogFacility (syslog 分類コード)
sshd が出力するログメッセージで使われるログの分類コード
(facility) を指定します。とりうる値は次のとおりです: DAEMON,
USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,
LOCAL6, LOCAL7。デフォルトは AUTH です。
UseLogin (login の使用)
対話的ログインセッションのさい、 login(1)
プログラムを使うかどう かを指定します。デフォルトでは
‘‘no’’ になっています。対話的でな
いリモートコマンド実行のときに login(1)
が使われることは決してあ
りません。また、これが許可されていると X11Forwarding
(X11 転送)
は許可されなくなるということに注意してください。なぜなら、
login(1) は xauth(1) クッキーの扱いを知らないからです。
UsePrivilegeSeparation
が指定されている場合は、認証のあとで禁止さ れます。
UsePrivilegeSeparation (root
権限を分離)
sshd
が、受けつけるネットワークトラフィックを処理するために root
権限を分離するかどうかを指定します。これは root
権限をもたない子
プロセスをつくることによっておこなわれます。認証が成功すると、そ
のユーザの権限をもつ別のプロセスが新たに作られます。これの目的
は、まずそうな部分を root
権限をもたないプロセスのみに限定するこ とによって、 root
権限による被害の拡大を防ぐためです。デフォルト では
‘‘yes (root権限を分離する)’’
になっています。
VerifyReverseMapping
(逆引きチェック)
このオプションを ‘‘yes’’ にすると、
sshd_config はリモートホスト
名を逆引きしたあとにそのホスト名を解決 (resolve)
しなおして、本当 に同じ IP
アドレスになっているかどうかを検証します。デフォルトは
‘‘no’’ です。
VersionAddendum
(バージョンに付加するもの)
OS
もしくはサイトに特化した修正を示すために、通常のバージョン文字
列に付け加える文字列を指定します。デフォルトは
‘‘FreeBSD-20030924’’ です。
X11DisplayOffset (X11
ディスプレイ番号のオフセット値)
sshd が X11
転送をするときに最初に使われるディスプレイ番号を指定
します。これは sshd が X11
転送で使うディスプレイ番号が、本物の X
サーバのディスプレイ番号と衝突してしまうのを防ぐためです。デフォ
ルトの値は 10 です。
X11Forwarding (X11 転送)
X11 転送を許可するかどうかを指定します。この引数の値は
‘‘yes’’ あ るいは
‘‘no’’ で、デフォルトは
‘‘yes’’ です。
X11 転送が許可されており、転送された sshd
のディスプレイが任意の アドレス (下の X11UseLocalhost
参照) からの接続を受けつけるように
設定されていると、サーバやクライアントのディスプレイは余計な危険
にさらされることになります。なので、デフォルトではそうなっていま
せん。また、認証におけるなりすまし、認証データの確認や差し替えな
どがクライアント側で起こります。X11
転送を使うセキュリティ上のリ スクは、 ssh
クライアントが転送を要求したときに、クライアント上の X11
サーバが攻撃にさらされるかもしれないということです (
ssh_config(5) の ForwardX11
注意書きを参照)。システム管理者はクラ イアントがうっかり X11
を転送して、余計な危険性を増すことのないよ
うに、これをかならず ‘‘no’’
に設定させるような立場をとることもで きます。
注意: X11 転送機能を禁止しても、ユーザが X11
の通信を転送できなく
なるというわけではありません。なぜならユーザはいつでも自前の転送
プログラムをインストールして使うことができるからです。
UseLogin が許可されていると、X11
転送は自動的に禁止されます。
X11UseLocalhost (X11 で localhost
のみを許可)
sshd が転送された X11 サーバをループバックアドレス
(localhost) に bind
するかどうかを指定します。デフォルトでは、 sshd
は転送された X11 をループバックアドレスに bind し、環境変数
DISPLAY のホスト名 の部分を
‘‘localhost’’
に設定します。こうすると、(訳注: SSHサーバ 以外の)
リモートホストから転送された Xサーバに接続することはでき
なくなります。しかし、ふるい X11
クライアントだと、この設定では動
作しないことがあります。そのようなときは
X11UseLocalhost を ‘‘no’’
に設定して、転送された X サーバがワイルドカードアドレスに
bind されるようにできます。このオプションの引数は
‘‘yes’’ あるい は
‘‘no’’ です。デフォルトでは、これは
‘‘yes (localhost にしか bind
しない)’’ になっています。
XAuthLocation (xauth の位置)
xauth(1) プログラムのフルパス名を指定します。デフォルトでは
/usr/X11R6/bin/xauth になっています。
時間の表現
sshd
のコマンドライン引数や設定ファイルオプションで時間を指定する場合、次
の構文を並べた書式を使うことができます:
time[qualifier]
ここで time は正の整数であり、 qualifier
は次のうちのどれかです:
<なし>
seconds (秒)
s | S
seconds (秒)
m | M
minutes (分)
h | H
hours (時間)
d | D
days (日)
w | W
weeks (週)
これらの形式を組み合わせることもでき、その場合は各形式の時間が合計されま
す。
時間表現の例:
600
600 秒 (10 分)
10m
10 分
1h30m
1 時間 30 分 (90 分)
関連ファイル |