最初は、rootユーザーとしてのみインストールされたUbuntu 16.04サーバーのインストールがあるため、rootユーザーのホームディレクトリは/root
。別のユーザー(bobなど)を追加すると、bobホームディレクトリが/home/
期待どおりに作成されます。 SSH用のbobの公開鍵を追加するには、/home/bob/.ssh/authorized_keys
bob公開鍵を追加してそれを認証された鍵ファイルに入れることができます。これがこれまで正しいアプローチですか?問題は私が試したときです。
ssh [email protected]
わかりました。
Permission denied (publickey)
ディレクトリ.ssh
権限は700に設定され、authorized_key
ファイル権限は600に設定されます。私のsshd_config
キーファイルパスはデフォルトです
#AuthorizedKeysFile %h/.ssh/authorized_keys
SSHロギングをverboseに設定しましたが、表示のみが表示されます。
Failed publickey for....
私は何を間違えることができましたか?ただ/root/.ssh
キーファイルを探していますか?
答え1
sshd_configファイルに基づいて使用すると、サーバーは正しい場所(つまり)を探しています。ssh [email protected]
/home/bob/.ssh/authorized_keys
しかし、あなたの説明では、authenticate_keysファイルに貼り付けたキーが実際にクライアントがsshに接続したいキーと同じであるかどうかはわかりません。クライアントシステムで使用すると、sshクライアントが使用する公開鍵をAuthorized_keysファイルに手動で貼り付けるのではなく、サーバーのAuthorized_keysファイル(ユーザーbob用)に正しく追加することができます。ssh-copy-id [email protected]
答え2
正しいキーを使用していることを確認することが最初のステップです。また、sshd設定を確認して公開鍵認証が有効になっていることを確認してください。
RSAAuthentication yes
PubkeyAuthentication yes
次に、そのグループやユーザーに属していない人がログインするのを防ぐAllowGroups、DenyGroups、AllowUsers、およびDenyUsersなどの許可/拒否設定があることを確認してください。別の設定は、公開鍵認証が単独で機能するのを防ぐことができる「AuthenticationMethods」です。