VS Code で Remote SSH
VS Code で Remote SSH する方法を記載しておきます。
はじめに
本家のチュートリアルは以下のサイトにあります。
- 概要
- チュートリアル
要約
やったこと
1. VS Code に Remote SSH の拡張機能をインストール
拡張機能のボタンをクリックし、Remoteと入力。表示された Remote-SSH をインストールする。
すると、以下のようなマークが左下に「><」が表示されることを確認する。
2. VS Code を利用しているマシンで SSH Key を作成
ssh-keygen を使って、公開鍵と秘密鍵のペアを作成する。
今回は" ssh-keygen -t rsa -b 2048 -f ~/.ssh/kazuma_konosuba"を実行し、公開鍵と秘密鍵を作成。
3. 接続先サーバーの /home/user名/.ssh/authorized_keys に公開鍵の内容を入力
接続先に公開鍵を登録する。authorized_keys は権限変更しておく。
(権限変更しないと ssh 実行時にログインできない。log は /var/log/secure あたりに吐かれる)
4. VS Code を利用しているマシンの ssh config に ssh 接続情報を追加
/Users/ユーザ名/.ssh/config に以下の内容を追加する。
config
# Host kazuma@aqua-konosuba
Host kazuma
HostName 127.0.0.1
User kazuma
Port 2222
UserKnownHostsFile /dev/null
PreferredAuthentications publickey
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile /Users/ユーザ名/.ssh/kazuma_konosuba
IdentitiesOnly yes
LogLevel FATAL
[追記]VS Code で ssh-add 秘密鍵へのパスをしないと接続できない
$ ssh-agent
$ ssh-add -l
The agent has no identities.
$ ssh-add -K /Users/ユーザ名/.ssh/kazuma_konosuba
$ ssh-add -l
2048 SHA256:XXXXXXXXXXXXXXXXX ユーザ名@VS Code 利用しているマシン名(RSA)
5. VS Code で SSH 接続する
- VS Code の左下の「><」をクリック
- Connect to Host. をクリック
- SSH接続情報に記載した Host 名をクリック
- 新しく VS Code のウィンドウが立ち上がる。左下に接続先のホスト名が表示される。
- あとはお好みでリモート先の VS Code で使う拡張機能をインストールする
おわりに
いくつかの罠があったので、はまったところと調査方法を箇条書きで。
- config の hostname に @ がつくと VS Code の Remote-SSH は使えない。
例えば kazuma@aqua-konosuba みたいな名前にしていると、VS Code ではうまくいかない。
なお、ssh コマンドでは接続できる模様。 - ssh で接続でうまくいかなかったときは、 ssh -vvv ホスト名 で接続しに行くと詳細な情報が表示される。
- サーバー側では、/var/log/secure に ssh 接続に関する情報が表示される。
- Vagrant で立ち上げたマシンが利用している port 番号は Vagrant port で確認できる。
以上です。