2012-03-16 13 views
12

キーが正しくの〜/ .ssh/authorized_keysにRedHatの6 /オラクルのLinux 6は

しかし、sshはパスワードの入力を要求し続けている内に配備されているssh経由で鍵認証を許可していません。

+1

チェックは/ var/log /公開鍵は、認証のために失敗した場合、それは情報を持っています固定します。ほとんどのファイルは〜/ .sshで読み書きの権限が間違っています。 – mguymon

+0

私の場合、パーマはうまくいきました。それはSELinuxに関連していました。 –

答えて

28

いくつかの問題、ほとんどの権限 - だけでなく、RedHatの6上のSELinuxに関連

次のスクリプトは、それらすべてを修正する必要があり、あなたのマッチングのユーザーIDとグループ

chown -R <user>:<group> ~/.ssh 
chmod 700 ~/.ssh 
chmod 600 ~/.ssh/* 
restorecon -R -v ~/.ssh 
+3

を参照してください。保護されたディレクトリの中にあっても、ファイルのアクセス許可を変更することはできません。 'restorecon -R -v $ HOME/.ssh'は私の秘訣でした – feniix

+0

はい、それは所有者アクセスのみでなければなりません。私のrhel6ボックスではまだ600と動作します – feniix

+0

あなたは私の提案が悪いという意味ですか?私はあなたがあなたの応答をファイル600で編集したのを見るからです。 – feniix

1

<user>:<group>を交換してください上記の答えがありますかなり良い、私は追加&提案があります。 ssh鍵認証では、ホームディレクトリのアクセス権がrwxr-xよりも許容されないため、この行は以下の行2に追加されています。

cd ~ 
chmod g-w,o-rwx . 
chmod 700 .ssh 
cd .ssh 
chmod 600 * 
chmod 644 authorized_keys 
chmod 644 known_hosts 
chmod 644 config 
restorecon -R -v ../.ssh 

テスト時に-vvオプションを使用することをお勧めします。

+0

おそらく、 '' u-rwx''ではなく '' o-rwx''を意味します:) – darkk

+0

良いキャッチ!私は、chmod/chownコマンドで 'u'と 'o'の繰り返しニーモニックの問題があります。 'o'は 'owner'ではなく 'other'です! – nortally

5

私はrootアカウントのほとんどのLinuxの亜種で動作する上記の変更に同意します。 RedHat 6.3でDSA認証を使用するためにpostgresユーザーアカウントを取得しようとすると問題が発生しました。 (6.3 VirtualBoxで実行中)

基本的なselinux権限が間違っている可能性があります。この場合、Restoreconは役に立たない。これは、問題のこのインスタンスを解決

chcon -R -t ssh_home_t .ssh 

(After restorecon) 
drwx------. postgres postgres unconfined_u:object_r:var_lib_t:s0 .ssh 

私はこれを修正しました。

+0

私はこの回答を3日間探しています!私がファイル上のSELinuxコンテキストに気づいた、認証済みキーファイルでstatを実行するまではありませんでした。私はそれを違うユーザーのために許可されたキーファイルと比較し、違いに気付きました!ありがとう、グレッグ! – BamaPookie

+0

私が発見したもう一つのポイント:この.sshディレクトリでrestoreconを実行すると、chconコマンドで行った変更が失われます。また、ファイルシステムのラベルにコンテキストを適切に再適用するポリシーを追加する必要があります。私は次のコマンドでこれを行いました:semanage fcontext -a -t ssh_home_t "/path/to/service/home/.ssh(/.*)?" – BamaPookie

+1

修正されたコマンド:semanage fcontext -a -t ssh_home_t "/path/to/service/home/¥.ssh(/.*)?" – BamaPookie

1

私もこの同じ問題がありましたが、上記の提案された解決策は私の場合を解決しませんでした。要約するとの命令が一緒にabowe:

  1. エラーの可能詳細については、ターゲットシステム上のログファイルを、次のチェック:ユーザーの〜/ .sshディレクトリ内のファイルの
  2. は/ var/log /セキュアなアクセス許可が600である必要があり、ファイルがなければなりません所有者 "user:group"
  3. 〜/ .sshディレクトリのアクセス許可は700で、所有している必要があります。 "user:group"
  4. ユーザーのホームディレクトリのアクセス許可。 "〜"(= "〜/ .ssh/..")は755でなければなりません。もしアクセス権がf.ex 775ならば、私のシステムではssh鍵の認証が失敗しました。

BR ブルーノ

+0

この指示があなたを解決しましたか?それとも単なるコンパイルですか? –

関連する問題