私はリモートシェルを使用し、sshfsをインストールするためにしばらくリモートサーバーで公開鍵認証を使用してきました。 sshfsディレクトリを強制的にマウント解除した後、sshはパスワードを求めるメッセージを表示し始めました。ローカルコンピュータへの言及からリモート.ssh / authorized_keysを消去し、リモートコンピュータへのローカルコンピュータの参照を消去しました。その後、ssh-copy-idを繰り返すと、パスワードの入力を求められ、正常に返されます。ところで、リモートサーバーにSSH経由で接続しても、まだパスワードの入力を求められます。少し混乱し、問題が何であるかわかりません。提案はありますか?
答え1
sshdは、$ HOME、$ HOME / .ssh(両方のディレクトリ)、および$ HOME / .ssh / authorized_keysに対する権限に関して奇妙に機能します。
私のLinuxシステムの1つに私の$ HOMEディレクトリに対するdrwxrwxrwx権限がありました。 $ HOMEディレクトリ内の他のグループに対する「w」権限を削除しない限り、Arch Linuxボックスは公開キーを使用してログインしません。
$HOME と $HOME/.ssh/ をグループやその他のグループに対してさらに制限してみてください。これがsshdがそれをすることを許可しないことを確かめなさい。
答え2
次の権限が必要です。
- フォルダ
.ssh
:700 (drwx------)
- 公開鍵:
644 (-rw-r--r--)
- 秘密鍵:
600 (-rw-------)
答え3
私も最近この問題に直面しました。
ディレクトリ権限を変更することで修正されました$HOME
。しかし、単に走るだけではchmod g-w ~/
問題は解決されません。これに加えて、次のコマンドを実行してディレクトリのchmod g-w ~/
権限を変更する必要があります。others
$HOME
chmod o-wx ~/
一緒に:
chmod g-w ~/
chmod o-wx ~/
必要かどうかはわからず、o-x
予防レベルで実行しています。
答え4
権限が正しく設定されたら、SSHエージェントに秘密鍵を追加してみることができます。
起動していない場合は、ssh-agentを起動します。
eval $(ssh-agent)
次のコマンドを使用して、SSH エージェントに秘密鍵を追加します
ssh-add
(id_rsa_key
秘密鍵名に置き換えます).ssh-add ~/.ssh/id_rsa_key
ssh
リモートサーバーに接続してみてください。