SSHを使用して自分のCentOSサーバーに接続しようとしています。パスワードで問題なく接続できます。公開鍵で接続しようとしていますが、サーバーが公開鍵認証を試みません。 CentOS wikiの このページ のすべての指示に従い、次のことを確認しました。
CentOS6.0以降を実行しています
私のsshd_configには次のものがあります。
PermitRootLogin no
PubkeyAuthentication Yes
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
クライアントのホームディレクトリの.ssh /フォルダに秘密鍵を作成しました
ssh-keygen
によって生成される)は、サーバー上のホームディレクトリにある.ssh/authorized_keysファイルで1行を占めます。クライアントとサーバーの両方に次のアクセス許可モードを設定しています。
chmod 700 .ssh
chmod 600 .ssh/*
これによると 問題レポート CentOS Webサイトでは、これはSELinuxのアップストリーム「機能」が原因です。 SELinuxが強制している場合、サーバーがpubkey認証を使用できなくなります。この動作が近い将来変更されるという兆候はありません。この問題が当てはまるかどうかを確認するには、sestatus
と入力し、「現在のモード」がenforcing
として報告されるかどうかを確認します。
私は2つの回避策を知っています。
setenforce 0
と入力してポリシーをすぐに変更し、/etc/selinux/config
を開いて、SELINUX=permissive
を確認します。ファイルを正しいセキュリティコンテキストに復元します。
restorecon -R -v ~$USER/.ssh