OpenSSHの認証手順:実践でも役立つLPICドリル(12)(3/3 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
問題5
問題3の認証方式の中で、ログイン時にパスワードもパスフレーズも入力することなくサーバにログインできる認証方式を選んでください(1つ選択)。
ただし、設定ファイルの中で“PermitEmptyPasswords no”が設定され、ユーザーの秘密鍵は暗号化されてファイルに格納されているものとします。またssh-agentは起動していないものとします。
[試験対策の重要度:(level1)***、(level2)***]
a.password
b.hostbased
c.publickey
正解
b
解説
ホストの秘密鍵/公開鍵ペアで認証するホストベース認証では、ホストの秘密鍵が暗号化されていないのでパスフレーズは要求されません。認証時に何も入力する必要がないので、scpコマンドでファイルを繰り返しコピーするときなどには便利です。
問題6
クライアントとサーバの設定ファイルでパスワード認証を設定する正しい記述を選んでください(1つ選択)。
[試験対策の重要度:(level1)**、(level2)**]
a.GSSAPIAuthentication yes
b.HostbasedAuthentication yes
c.PasswordAuthentication yes
d.KerberosAuthentication yes
e.PubkeyAuthentication yes
正解
c
解説
サーバの/etc/passwdと/etc/shadowや、LDAPに登録されたユーザー名とパスワードで認証するのがパスワード認証です。
クライアントとサーバの設定ファイルで“PasswordAuthentication yes”と記述することにより使えます。
(注)パスワード認証はユーザー名/パスワードを推測される危険があるため、インターネット上のホストでの使用は推奨されません。
問題7
プロトコルバージョン2での公開鍵認証の設定方法についての説明の中からデフォルトの設定かどうかにかかわらず、正しい説明を選んでください(4つ選択)。
[試験対策の重要度:(level1)***、(level2)***]
a.クライアントとサーバの設定ファイルで“PubkeyAuthentication yes”と記述する
b.ユーザーはサーバ側に自分の秘密鍵と公開鍵を生成しておく
c.ユーザーはクライアント側に自分の秘密鍵と公開鍵を生成しておく
d.ユーザーはサーバ側のファイルauthorized_keysに自分の公開鍵をコピーしておく
e.ユーザーはクライアント側のファイルauthorized_keysに自分の公開鍵をコピーしておく
f.ユーザーはssh-keygenコマンドで秘密鍵と公開鍵を生成する
g.ユーザーはssh-agentコマンドで秘密鍵と公開鍵を生成する
正解
a、c、d、f
解説
プロトコルバージョン2で公開鍵認証を使う場合、クライアントとサーバの設定ファイルで“PubkeyAuthentication yes”と記述します。
(注)プロトコルバージョン1の場合は、“RSAAuthentication yes”と記述します。
ユーザーはssh-keygenコマンドでクライアント側に自分の秘密鍵と公開鍵を生成しておきます。公開鍵はサーバにコピーしておきます。
問題8
プロトコルバージョン2でのホストベース認証の設定方法についての説明の中から、デフォルトの設定かどうかにかかわらず、正しい設定を選んでください(6つ選択)。
[試験対策の重要度:(level1)***、(level2)***]
a.クライアントとサーバの設定ファイルで“HostbasedAuthentication yes”と記述する
b.クライアントの設定ファイルで“EnableSSHKeysign yes”と記述する
c.サーバの設定ファイルで“EnableSSHKeysign no”と記述する
d.クライアントホストの秘密鍵を読むためにssh-keysignにsuidビットが設定されている必要がある
e.サーバのホストの秘密鍵を読むためにssh-keysignにsuidビットが設定されている必要がある
f.サーバの/etc/sshディレクトリの下のssh_known_hostsにクライアントホスト公開鍵をコピーしておく
g.クライアントの/etc/sshディレクトリの下のssh_known_hostsにサーバのホストの公開鍵をコピーしておく
h.サーバの設定ファイルに“IgnoreUserKnownHosts no”と記述すれば、~/.ssh/known_hostsのホスト公開鍵も参照される
i.サーバの設定ファイルに“IgnoreUserKnownHosts yes”と記述すれば、~/.ssh/known_hostsのホスト公開鍵も参照される
j.サーバの/etc/hosts.equivにクライアントのホスト名を記述しておく。またサーバの設定ファイルに“IgnoreRhosts no”と記述すれば、~/.rhosts または ~/.shostsに書かれたクライアントホスト名も有効になる。ただしユーザーがrootの場合は/etc/hosts.equivは参照されない
k.サーバの/etc/hosts.equivにクライアントのホスト名を記述しておく。またサーバの設定ファイルに“IgnoreRhosts yes”と記述すれば、~/.rhosts または ~/.shostsに書かれたクライアントホスト名も有効になる。ただしユーザーがrootの場合は/etc/hosts.equivだけが参照される
正解
a、b、d、f、h、j
解説
プロトコルバージョン2でホストベース認証を使う場合、クライアントとサーバの設定ファイルで“HostbasedAuthentication yes”と記述します。
(注)プロトコルバージョン1の場合は、“RhostsRSAAuthentication yes”と記述します。
クライアント上のユーザーが起動したsshコマンドがssh-keysignを使って、クライアントのrootにしかアクセス権のないホストの秘密鍵を読む必要があるので、ssh-keysignにはset uidビットが立っていなければなりません。
サーバ側ではホストベース認証のアクセスを許す許可ファイル /etc/hosts.equiv、~/.shosts、 ~/.rhostsがあります。この3つのファイルのいずれかに登録されたクライアントがアクセスを許可されます。ただしユーザーがrootの場合は/etc/hosts.equivは参照されません。
今回で「実践でも役立つLPICドリル」は最終回です。ご愛読ありがとうございました。
筆者プロフィール
大竹龍史
有限会社ナレッジデザイン 代表取締役。1980年代に日本コンピュータビジョン社にてサン・マイクロシステムズのWorkstation、Sun2に出合って以来、サン関連のサポート、社内教育、ユーザー教育に従事。1998年、Netscape(現在はサンのSJESプロダクトに引き継がれている)とLinuxのトレーニングを提供する有限会社ナレッジデザインを設立。現在はLinuxとSolarisのシステム管理、ネットワーク管理、サーバ構築を担当。
Copyright © ITmedia, Inc. All Rights Reserved.