Archaea

AuthorizedKeysFileで公開鍵を参照するとパーミッションエラーが発生する場合

NFSマウント環境などでサービス権限と公開鍵を保管したファイルの読込権が合わない場合は、パーミッションエラーとなり認証ができないことがあります。

[user2@hcp-client ~]$ hcp-ls hcp_user@192.168.30.100
Authenticating with a key of /home/user2/.hcp/id_rsa for public key at hcp_user@192.168.30.100
Passphrase for the key:
Permission denied.
hcp-ls: Authentication failed
[user2@hcp-client ~]$

 
このような問題が発生する場合に、hcpdサーバの設定AuthorizedKeysCommandを使用して対処する方法の例を以下に示します。// hcpd.conf を以下に設定
[root@hcp-server ~]# cat /etc/hcp/hcpd.conf

AuthorizedKeysFile NONE
AuthorizedKeysCommand /etc/hcp/hcp_get_authorized_keys.sh %u
AuthorizedKeysCommandUser root
…   
[root@hcp-server ~]#

// AuthorizedKeysCommand に指定したスクリプト
[root@hcp-server ~]# cat /etc/hcp/hcp_get_authorized_keys.sh
#!/bin/sh

su $1 -c "cat ~/.hcp/authorized_keys"

[root@hcp-server ~]#

サーバ側の公開鍵の読込処理をユーザ権限で行うことで、鍵の参照が可能となり認証できるようになります。

以下の様にクライアントからサーバへの接続が可能になります。
[user2@hcp-client ~]$ hcp-ls hcp_user@192.168.30.100
Authenticating with a key of /home/user2/.hcp/id_rsa for public key at hcp_user@192.168.30.100
Passphrase for the key:
hcp-ls starts :
file.txt

ExitCode : 0
[user2@hcp-client ~]$

 
各種設定の詳細についてはオンラインドキュメントも参考にしてください。
【オンラインドキュメント】コマンドリファレンス – サーバ設定項目 (AuthorizedKeysFile)
【オンラインドキュメント】コマンドリファレンス – サーバ設定項目 (AuthorizedKeysCommand)
【オンラインドキュメント】コマンドリファレンス – サーバ設定項目 (AuthorizedKeysCommandUser)

TOP