キー フォルダーとキー自体の両方を、ユーザーだけが読み取れるようにする必要があります。私はいつも chmod 700 ~/.ssh; chmod 600 ~/.ssh/* をしています 自分のユース ケースに合わせてこれらのディレクトリを変更したいことは明らかです。
または、 chown -R $USERNAME ~/.ssh; chmod -R go-rwx ~/.ssh もできます
chown たとえば、キー ファイルがルートとしてダウンロードまたはインストールされたときに必要になる場合があります。
chmod 777 は絶対にしないでください あなたの秘密鍵に!それは(おそらく)一般に公開されますが、それは望ましくありません。さらに、SSH は場合によっては、許可が緩すぎるファイルの使用を拒否することさえあります。
ファイルのアクセス許可が問題でない場合は、他にいくつかの原因が考えられます。ディレクトリ ~/.ssh のいずれかに誤った権限が設定されている可能性があります または ~/.ssh/keyfolder (技術的には ~ でも しかし、これが唯一の症状ではありません)。 ls -adl を使用 それらのディレクトリを検査します。 rwx である必要があります あなたのために、しかし --- グループと世界の両方に。
もう 1 つの問題として、(これは非常にまれですが) ssh-add バイナリには setuid があります ビットが設定されているため、別のユーザーとして実行されるため、秘密鍵を読み取る権利がありません。 ls -lh $(which ssh-add) を使用 これを調べます。