6.5. スマートカード認証で SSH アクセスの設定
SSH 接続には認証が必要です。パスワードまたは証明書を使用できます。スマートカードに保存されている証明書を使用した認証を有効にするには、次の手順に従います。
authselect
を使用したスマートカードの設定の詳細は Configuring smart cards using authselect を参照してください。
前提条件
- スマートカードに、証明書と秘密鍵が含まれている。
- カードがリーダーに挿入され、コンピューターに接続されている。
- ユーザー名が、証明書の SUBJECT の CN (Common Name) または UID (User ID) と一致する。
pcscd
サービスがローカルマシンで実行している。詳細は スマートカードを管理および使用するツールのインストール を参照してください。
手順
スマートカード認証を使用するユーザーのホームディレクトリーで、SSH キー用の新しいディレクトリーを作成します。
# mkdir /home/example.user/.ssh
opensc
ライブラリーでssh-keygen -D
コマンドを実行して、スマートカードの秘密鍵とペアの既存の公開鍵を取得し、そのユーザーの SSH キーディレクトリーのauthorized_keys
リストに追加し、スマートカード認証を使用した SSH アクセスを有効にします。# ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~example.user/.ssh/authorized_keys
SSH では、
/.ssh
ディレクトリーおよびauthorized_keys
ファイルのアクセス権が必要です。アクセス権を設定または変更するには、以下を入力します。# chown -R example.user:example.user ~example.user/.ssh/ # chmod 700 ~example.user/.ssh/ # chmod 600 ~example.user/.ssh/authorized_keys
必要に応じて、キーを表示します。
# cat ~example.user/.ssh/authorized_keys
端末にキーが表示されます。
以下のコマンドを使用して、SSH アクセスを確認できます。
# ssh -I /usr/lib64/opensc-pkcs11.so -l example.user localhost hostname
設定に成功すると、スマートカードの PIN を入力するように求められます。
設定がローカルで機能するようになりました。これで、公開鍵をコピーして、SSH を使用するすべてのサーバーにある authorized_keys
ファイルに配布できます。