LoginSignup
7
7

More than 3 years have passed since last update.

Windows版VSCodeで秘密鍵の位置に関係なくSSHログインするには

Last updated at Posted at 2019-11-09

普段、Windows版VSCodeのリモートエクスプローラから開発する人は、sshの秘密鍵をどこに保管しているだろうか。
というのも、秘密鍵が他者から容易に見られる状態にあると、VSCodeではエラーになってサーバに接続できない。

エラーメッセージ例
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\XXXXX\\YYYYY\\zzzzzz.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:\\XXXXX\\YYYYY\\zzzzzz.pem": bad permissions
xxxxx@yyy.zzz.com: Permission denied (publickey).
プロセスが、存在しないパイプに書き込もうとしました。

なお、UNIX系(macOSを含む)だと chmod 600 で解決する。

Windowsだとユーザーフォルダの下に置くのが正解のようだが(ACLを適切に設定したら突破できるかもしれないけど未確認)、ときとして、そこに置きたくない場合もあるだろう。
そんなときはシンボリックリンクで対処できる。

そう、あまり知られていないが、Windowsもシンボリックリンクを作成できるのだ。

コマンド例
mklink C:\Users\xxxxx\.ssh\zzzzzz.pem E:\MW_Documents\開発\Aプロジェクト\設定情報\zzzzzz.pem

管理者として起動したコマンドプロンプトから投入すること。
UNIXのlnコマンドとは引数が逆になるので注意。

mklink  リンク名  実ファイル

アイコンの見た目は、ショートカットと同じになる。

image.png


:grinning:「ファイル名を指定して実行」で Ctrl+Shift+Enter すると管理者で実行できる。
image.png

7
7
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
7
7