Vagrantで作成したゲストマシンにssh接続した際に出力される「UNPROTECTED PRIVATE KEY FILE!」の対処方法を解説します。
事象
Vagrant環境で作成したゲストマシンに接続する際の方法として、「ssh」コマンドがあります。
sshコマンドで接続する際に鍵ファイル(秘密鍵やプライベートキーファイルとも呼ばれるようです)を指定しますが、その鍵ファイルが以下のエラーにより、読み込めない場合があるため、今回はその対処方法を説明します。
また、Vagrantの実行環境としては、Windows環境となります。
C:\VM\Vagrant\VMwareTest01>ssh -i ./insecure_private_key vagrant@192.168.254.200 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions for './insecure_private_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 "./insecure_private_key": bad permissions vagrant@192.168.254.200: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
原因と対処方法
ここでは、原因と対処方法について説明します。
まず、原因ですが、鍵ファイルの権限設定に問題があります。
鍵ファイルは全てのユーザーが読み込めるような設定になっている場合はエラーとなるようです。
なので、対処方法としては、
鍵ファイルの権限設定を見直し、権限を強くする(読み込める範囲を狭める)ということになります。
ここで、問題があります。
Linux環境であれば、chmodコマンドなどで、権限を「600」などに設定すればよいのですが、
Windows環境の場合は、権限設定が複雑で簡単に設定出来ません。
しかし、簡単な対処方法があり、それは個人ユーザーのフォルダに鍵ファイルを配置することです。
個人ユーザーのフォルダは、権限がそのユーザーごとに設定されているため、
そこに鍵ファイルを格納することで、権限を強くした状態にすることが出来ます。
では、鍵ファイルの格納フォルダを変更した状態で、sshコマンドを実行してみます。
C:\VM\Vagrant\VMwareTest01>ssh -i "C:\Users\<ユーザー名>\Documents\insecure_private_key" vagrant@192.168.254.200 [vagrant@localhost ~]$
はい、無事に接続することが出来ました。
記事は以上となります。
リンク
コメント