環境
Windows 10
Windows PowerShell
やりたいこと
EC2のインスタンスに接続したいがキーファイルのパーミッションでエラーが出る
windowsなのでchmodが使えないのでファイルのプロパティから変更を行う
PS C:> ssh -i C:\key\test\test\KeyFile.pem root@000.000.00.00
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\key\\test\\test\\KeyFile.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 "C:\\key\\test\\test\\KeyFile.pem": bad permissions
root@000.000.00.00: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
やったこと
先ずはキーファイルのプロパティからセキュリティタブを押下
設定が下記の様になっているはず
「編集(E)」を押下して現状のすべてのグループ名またはユーザ名を「削除(R)」から削除し
その後に現行のアカウントを追加してフルコントロールを許可します
削除の際に下記メッセージが表示された場合は一旦「OK」を押下して前画面に戻ります
Authenticated Users は親からアクセス許可を継承しているので、このオブジェク
トを削除することはできません。Authenticated Users を削除するには、アクセス
許可の継承を妨げる必要があります。アクセス許可の継承のオプションをオフに
して、Authenticated Users の削除を再試行してください。
「詳細設定(V)」を押下してセキュリティの詳細設定を開き、「継承の無効化(I)」を押下
↓
「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します。」を選択
「継承の無効化(I)」が「継承の有効化(I)」に変わったら「OK」で画面を閉じる
↓
再度「編集(E)」を押下してすべてを削除
「追加(D)」からユーザ または グループ の選択を開き
選択するオブジェクト名を入力してくださいの枠内にログオンしているアカウント名を入力して「名前の確認(C)」押下
↓
複数表示される場合は正しい方を選び「OK」で閉じる
↓
残った現行ユーザにフルコントロールを与えて「OK」
結果
これでSSH可能になります
尚、フルコントロールを与えていないと下記のPermission deniedになります
PS C:> ssh -i C:\key\test\test\KeyFile.pem root@000.000.00.00
Load key "C:\\key\\test\\test\\KeyFile.pem": Permission denied
root@000.000.00.00: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).