SSHでUNPROTECTED PRIVATE KEY FILEと言われたら
更新日:2023/02/23
SSHでサーバーにログインしようとしたら、次のようなエラーが出た。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\Users\\aaa\\.ssh\\id.key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\aaa\\.ssh\\id.key": bad permissions
aaaa@abcdefg.com: Permission denied.
秘密鍵のパーミッションに問題があるようだ。
対処法は、パーミッションを600にすればいい。
え!?
Windowsなんですけど??
Windowsは、パーミッションを600にできない。
どうすればいいのか調べてみた。
同じ場所で接続できるキーファイルがあった
調べてみると、ユーザーフォルダのDocumentに置けばいいとあったのでやってみた。
Warning: Identity file C:\Users\aaa\OneDrive\繝峨く繝・繝。繝ウ繝・id.key not accessible: No such file or directory.
aaaa@abcdefg.com: Permission denied.
文字化けです(ため息
よく考えてみると、最初に実行したフォルダ内で別のキーファイルは、問題なくSSH接続できている。
そこでファイルのプロパティを見比べてみた。
まずは、SSH接続できている秘密鍵ファイル。
そしてこちらが、接続できなかった秘密鍵ファイル。
どうやら、アクセスの可否を設定しているユーザーの数が多いようだ。
減らせばいいと、推測できた。
アアクセスの可否を設定しているユーザーを減らす
まずは編集ボタンを押して、表示された画面上で削除をしようとしたが、エラーが出て削除できなかった。
「親からアクセス許可を継承しているので、このオブジェクトを削除することができません」
調べてみると、詳細設定でできるようだ。
継承の無効化を押す。
「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します。」を選択。
(下を選ぶと、継承元が「なし」以外のものがすべて消えるので注意。)
継承元がすべて「なし」になる。
SYSTEM・Administrators・ユーザー以外、全て削除する。
SSHしてみる。
>ssh aaaa@abcdefg.com -i "C:\Users\aaa\.ssh\id.key"
Enter passphrase for key 'C:\Users\aaa\.ssh\id.key':
Last login: Tue Oct 9 20:23:25 2018 from aa012345.rrr.dddd.ne.jp
[aaaa@abcdefg.com ~]$
ログインできた。
更新日:2023/02/23
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。