6.3. スマートカード認証を使用した SSH アクセスの設定
SSH 接続には認証が必要です。パスワードまたは証明書を使用できます。スマートカードに保存されている証明書を使用した認証を有効にするには、次の手順に従います。
authselect
を使用したスマートカードの設定の詳細は、authselect を使用したスマートカードの設定 を参照してください。
前提条件
- スマートカードに、証明書と秘密鍵が含まれている。
- カードがリーダーに挿入され、コンピューターに接続されている。
pcscd
サービスがローカルマシンで実行している。詳細は、スマートカードを管理および使用するツールのインストール を参照してください。
手順
スマートカード認証を使用するユーザーのホームディレクトリーで、SSH キー用の新しいディレクトリーを作成します。
mkdir /home/<example_user>/.ssh
# mkdir /home/<example_user>/.ssh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow opensc
ライブラリーでssh-keygen -D
コマンドを実行して、スマートカードの秘密鍵とペアの既存の公開鍵を取得し、そのユーザーの SSH キーディレクトリーのauthorized_keys
リストに追加し、スマートカード認証を使用した SSH アクセスを有効にします。ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~<example_user>/.ssh/authorized_keys
# ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~<example_user>/.ssh/authorized_keys
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# chown -R <example_user:example_user> ~<example_user>/.ssh/ # chmod 700 ~<example_user>/.ssh/ # chmod 600 ~<example_user>/.ssh/authorized_keys
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
鍵を表示します。
cat ~<example_user>/.ssh/authorized_keys
# cat ~<example_user>/.ssh/authorized_keys
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ターミナルに鍵が表示されます。
次のコマンドで SSH アクセスを確認できます。
ssh -I /usr/lib64/opensc-pkcs11.so -l <example_user> localhost hostname
# ssh -I /usr/lib64/opensc-pkcs11.so -l <example_user> localhost hostname
設定に成功すると、スマートカードの PIN を入力するように求められます。
設定がローカルで機能するようになりました。これで、公開鍵をコピーして、SSH を使用するすべてのサーバーにある authorized_keys
ファイルに配布できます。