1
0

More than 1 year has passed since last update.

wslで.ssh/をコピペしたらUNPROTECTED PRIVATE KEY FILE!と怒られた件について

Posted at

ssh/をコピペすると怒られた

Windows PCを買い替えたので、古いPCのWSL環境から新しいPCのWSL環境に.ssh/のディレクトリをコピーしたのだけれど、その際にパーミッション周りで少し詰まったのでメモ。

結論から言えば、例えば鍵のパスが/root/.ssh/keys/id_rsaであるなら下記の様に設定すればよかった

chmod 600 /root/.ssh/keys/id_rsa

簡単な説明

まず、コピーしてそのまま

ssh hogehoge

とssh接続しようとすると、

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/root/.ssh/keys/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/keys/id_rsa": bad permissions
git@github.com: Permission denied (publickey).

と怒られた

エラー文を軽く訳せば

/root/.ssh/keys/id_rsa' のパーミッション 0644 は開きすぎています。
秘密鍵のファイルは、他人がアクセスできないようにする必要があります。
この秘密鍵は無視されます。
……

つまりパーミッションを変更して他人がアクセス出来ないようにすればいいということらしい

パーミッションに関しての説明は省くが、Linuxの権限確認と変更(chmod)(超初心者向け)等を読めば理解出来ると思う

なので、もし仮に鍵を /root/.ssh/keys/ に保存していたのなら、

chmod 600 /root/.ssh/keys/id_rsa
# 一斉に変更するなら chmod 600 /root/.ssh/keys/*rsa とか?

と入力すればいい
※chmod 600……をchmod 700……にしても問題はない

つまり、別パターンとして鍵を /root/.ssh/ に保存していたのなら

chmod 600 /root/.ssh/id_rsa
# 一斉に変更するなら chmod 600 /root/.ssh/*rsa とか?

ということだと思う
※chmod 600……をchmod 700……にしても問題はない

参考資料

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0