WindowsのSSHで鍵ファイルを任意の場所へ配置する方法

0 件のコメント

今回は「WindowsのSSHで鍵ファイルを任意の場所へ配置する方法」についてまとめます。

発生する事象

Windowsで鍵ファイルを使ったSSH接続をしようとすると以下のようなメッセージに遭遇することがあります。 ととえば、AWSのEC2に対してWindowsのPowerShellやコマンドプロンプトを使ってSSH接続しようとするようなケースです。

鍵ファイルを好きな場所に置きたいのだけれど特定フォルダ以外に配置すると権限が広すぎるというエラーで接続できない事象が発生します。 今回はこの事象を解消し、自分の好きな場所に鍵ファイルを置いたうえでコマンドを使ってSSH接続する方法をまとめます。

Warning: Permanently added '54.238.108.195' (ECDSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for '.\\keypair.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key ".\\keypair.pem": bad permissions
ec2-user@54.238.108.195: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

解決策1:ユーザーフォルダ以下に置く

一番簡単な解決策は %HOMEPATH% (例: C:\Users\YOUR_NAME) 以下に配置することです。 %HOMEPATH% 以下であれば権限が制限されているので特にエラーにならず利用可能です。

解決策2:フォルダの権限を見直す

実際作業しているとどうしても D:\ など他のフォルダに配置したいこともあります。 以下では任意フォルダに対して鍵ファイルを配置してSSH接続を実現させる手順になります。

といってもやることは「鍵ファイルを配置したいフォルダの権限を見直す」だけになります。

  1. 任意の場所にフォルダを作成

  2. 作成したフォルダを右クリック「プロパティ」を選択

  3. 「セキュリティ」タブへ移動

  4. 「詳細設定」を選択

  5. 「継承の無効化」を選択

  6. 「このオブジェクトから継承されたアクセス許可をすべて削除します」を選択

  7. 「OK」を選択

  8. 「はい」を選択

  9. 「編集」を選択

  10. 「追加」を選択

  11. 「選択するオブジェクト名を入力してください」に利用しているユーザー名を入力して「名前の確認」を選択

  12. 自身の名前が選択されていることを確認して「OK」

  13. 「OK」

  14. 「フルコントロール」を選択して「OK」

    自分自身にフルコントロールが付いており、他のユーザーが存在しない状態(Admin含めて存在しない)になっていることを確認します。

ここまで出来たらあとは鍵ファイルを作成したフォルダへ移動してSSHするだけです。 きっと接続できるハズ!

今回は「WindowsのSSHで鍵ファイルを任意の場所へ配置する方法」についてまとめました。 参考になったでしょうか? 本記事がお役に立っていると嬉しいです!!

最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!