Powered by Cloudflare

SSHで秘密鍵のパーミッションがエラーになるとき

サーバー

タイトルだけ決めて、下書きのまま3年以上WordPressに眠っていた記事を見つけました。

3年以上たった今、「SSHで秘密鍵のパーミッションがエラーになるとき」どうしたら良いのか、答えを書きます。

SSHで使う秘密鍵のパーミッションを600にする

結論としては、秘密鍵のパーミッションを600にすればよいです。

公開鍵認証においては、秘密鍵は、名前の通り秘密にしなければなりません。他の人が盗むことができたらアウト。

そのため、秘密鍵ファイルの最適なパーミッションは、

  • 所有者:読み取りも書き込みもできる(rw)
  • グループ:読み書き不可
  • 他者:読み書き不可

となります。だから、秘密鍵ファイルのパーミッションを数字で表記すると、600となるのです。

具体的なコマンド「chmod 600 ~/.ssh/id_ecdsa」

秘密鍵のファイルが~/.ssh/id_ecdsaにあるなら、

chmod 600 ~/.ssh/id_ecdsa

を実行すれば良いです。これで安心してSSHできますね。

しかし、もし秘密鍵ファイルを他の人が見れるパーミッションで放置していたのなら、念のため秘密鍵を作り直すべきです。

自分のPCの中ではなく、レンタルサーバー上に放置していた場合は注意してください。