CentOSは私の公開鍵を無視しています


8

SSHを使用して自分のCentOSサーバーに接続しようとしています。パスワードでうまく接続できます。公開鍵で接続しようとしていますが、サーバーが公開鍵認証を試みていません。CentOS wikiのこのページのすべての指示に従い、次のことを確認しました。

  • CentOS 6.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/*
    

回答:


13

CentOS Webサイトのこの問題レポートによると、これはSELinuxのアップストリーム「機能」が原因です。SELinuxが適用されている場合、サーバーはpubkey認証を使用できなくなります。この動作が近い将来変更されることを示すものはありません。この問題が自分に当てはまるかどうかを確認するには、sestatus「現在のモード」がと表示されているかどうかを入力して確認しenforcingます。

2つの回避策を知っています。

  • SELinuxをpermissiveモードに設定できます。入力setenforce 0してポリシーをすぐに変更し、開い/etc/selinux/configて確認しSELINUX=permissiveます。
  • ファイルを正しいセキュリティコンテキストに復元します。

    restorecon -R -v ~$USER/.ssh
    

これは本当に問題でしたか?
アンディ・シン、

それはそうでしたが、私のシステム管理者は後で、SELinuxがそもそも実行されているはずがないことを教えてくれました。
ILikeFood 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.