ログイン時にユーザーのホームディレクトリがマウントされるセットアップが必要です(autofs
)。これは、パスワードベースの認証で機能しています。ただし、公開鍵を生成して、パスワードなしの認証が必要です。
パスワードなしの認証は、ユーザーのホームディレクトリがローカルに保存されている場合(autofs
なし)にうまく機能します。
私の場合、キーはリモートサーバー上にあり、ホームディレクトリはアクセスされたときにのみマウントされ、サーバーは公開キーを持っていない限りユーザーを確認できません。
これも可能ですか?
(両方のサーバーがVirtualBox上でSolaris 10 x86を実行しています。)
AuthorizedKeysFile
をホームディレクトリの外にあるもの、たとえば/etc/ssh/keys/%u/authorized_keys
に変更できます。そうすると、/home/%u
がマウントされる前にキーが使用可能になります。
sshd_config
のマニュアルページから:
AuthorizedKeysFile
Specifies the file that contains the public keys that can be used
for user authentication. The format is described in the AUTHO-
RIZED_KEYS FILE FORMAT section of sshd(8). AuthorizedKeysFile
may contain tokens of the form %T which are substituted during
connection setup. The following tokens are defined: %% is
replaced by a literal '%', %h is replaced by the home directory
of the user being authenticated, and %u is replaced by the user-
name of that user. After expansion, AuthorizedKeysFile is taken
to be an absolute path or one relative to the user's home direc-
tory. Multiple files may be listed, separated by whitespace.
The default is ``.ssh/authorized_keys .ssh/authorized_keys2''.
SELinuxを有効にしている場合は、次の方法でNFSマウントされたホームディレクトリを有効にする必要があります。
setsebool -P use_nfs_home_dirs=true
RHELでこの問題が発生し、/ var/log/messagesで解決策を見つけました。
SELinuxは、/ usr/sbin/sshdがauthorized_keysファイルへの読み取りアクセスを阻止しています。#012#012 *****プラグインcatchall_boolean(89.3信頼度)は*****************を示唆しています*#012#012 nfs home dirsの使用を許可する場合#012次に、「use_nfs_home_dirs」ブール値を有効にして、SELinuxにこれを通知する必要があります。#012詳細については、「なし」のマニュアルページを参照してください。 1#012#012 *****
これは、autofsがマウントしているものによって異なります。それはNFSですか?どのようなセキュリティモデルですか? AUTH_SYS(IPベース)セキュリティの場合、これは機能するはずです。ただし、krb5の場合、ホスト上のSSHサーバーには、ディレクトリをマウントするためのKerberosチケットがありません。