ssh-add <(echo 'pk content') が機能しないのはなぜですか?

ssh-add <(echo 'pk content') が機能しないのはなぜですか?

次のエラーが発生します。

「/dev/fd/63」の権限 0660 がオープンしすぎます。あなたの秘密鍵ファイルは他の人がアクセスできないはずです。秘密鍵は無視されます。

私がこれを実行したとき:

ssh-add <(echo '<private key content>')

「ファイル」の権限を変更する方法はありますか?

ベストアンサー1

エラーメッセージは非常に明確で、man ssh-add次のように表示されます。

 Identity files should not be readable by anyone but the user.  Note that
 ssh-add ignores identity files if they are accessible by others.

何らかの理由で、ファイル記述子は660を持っていますが、600の権限が必要です。これは私には当てはまりませんが、それを変更する方法を見つけることができませんでした(いくつかのudevルールかもしれません)。

代わりにパイプを使用できます。

printf '%s' '<private key content>' | ssh-add -

エマルジョン:

おすすめ記事