再び共通のスレッドを投稿して申し訳ありません。似たような質問を複数読んだが、なぜ動作しないのかはまだ見つかっていない。それでは私がしたことを説明します。クライアント/サーバー以外のシステムでプライベート/公開鍵rsa鍵ファイルを生成しました。
その後、ディレクトリを作成し、~/.ssh
クライアントに秘密鍵をコピーして、適切な所有者とファイル権限を設定しました。id_rsa
サーバー側で接続するユーザーの下に再生成し、公開~/.ssh
鍵を認証鍵に入れます。
SSHクライアントホスティングを試みると、鍵がパスワードなしで生成されたにもかかわらず、まだパスワードが必要です。
私は明らかなことを見落としていますか?
また、passwd が必要な詳細についてサーバー側の ssh ログを確認しようとしましたが、/var/log/auth または /var/log/ssh は存在しません。デフォルトでは有効になっていないか、sshd設定を変更してサービスを再起動する必要がありますか?
CentOS 6を使用しています。
質問に答えるには:サーバー側で〜/ .ssh:
rw-------. hdfs hadoop authorized_keys
rw-------. hdfs hadoop config
rw-------. hdfs hadoop id_rsa.pub
構成には以下が含まれます。
Host *
StrictHostKeyChecking no
クライアントの ~/.ssh:
rw-------. hdfs hadoop authorized_keys
rw-------. hdfs hadoop config - the content is the same
rw-------. hdfs hadoop id_rsa
rw-r--r--. hdfs hadoop known_hosts
- 私の試みによって発生した可能性があります。
答え1
CentOS 6ではSSH RSA認証が機能しないバグselinuxが適用モードの場合は、必要に応じて設定してください。
selinuxを無効にするか、次の回避策を試してください。
restorecon -R -v ~$USER/.ssh
答え2
これらの2行はSSH Centos操作ガイド私のために問題を解決しました。
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
答え3
これを試すことができますか?次の行を追加します~/.ssh/config
。
Host remotehost
IdentityFile ~/.ssh/your_private_key