SSH でリモート接続
VSCode Remote-SSH とは
VSCode の Remote-SSH 拡張機能を使うと、リモートサーバに SSH 接続し、まるでローカルで作業しているかのようにファイル編集やターミナル操作ができます。
前提条件
- VSCode がインストールされていること
- Remote-SSH 拡張機能がインストールされていること
- 接続先サーバのアカウントがあること
- サーバに SSH 接続できるネットワーク環境であること
SSH キーの準備
パスワード認証でも接続できますが、SSH キーを使うと毎回パスワードを入力する必要がなくなります。
キーの生成(まだ持っていない場合)
ターミナルで以下を実行:
ssh-keygen -t ed25519- 保存場所はデフォルト(
~/.ssh/id_ed25519)で OK - パスフレーズは空欄でも OK(セキュリティを高めたい場合は設定)
公開鍵をサーバに登録
ssh-copy-id ユーザー名@サーバのIPアドレスまたは、手動で ~/.ssh/id_ed25519.pub の内容をサーバの ~/.ssh/authorized_keys に追加します。
VSCode での接続
1. SSH 設定ファイルの作成
~/.ssh/config ファイルに接続先の情報を記述します:
Host myserver
HostName サーバのIPアドレス
User ユーザー名
IdentityFile ~/.ssh/id_ed25519
2. 接続
- VSCode でコマンドパレット(
Cmd + Shift + P)を開く - 「Remote-SSH: Connect to Host…」を選択
- 設定したホスト名(例:
myserver)を選択 - 新しいウィンドウが開き、サーバに接続
3. フォルダを開く
接続後、File > Open Folder でサーバ上のフォルダを開けます。
便利な機能
ターミナル
View > Terminal でサーバ上のターミナルが使えます。 R や Python をサーバで実行できます。
ポートフォワーディング
サーバで起動した Web アプリ(Shiny、Jupyter など)をローカルのブラウザで確認できます。
- サーバでアプリを起動(例:ポート 8888)
- VSCode の「PORTS」パネルで「Forward a Port」
- ポート番号(8888)を入力
- ローカルのブラウザで
localhost:8888にアクセス
拡張機能
リモート接続中に拡張機能をインストールすると、サーバ側にインストールされます。 R 拡張機能をインストールすれば、サーバの R 環境を使って作業できます。
トラブルシューティング
接続できない
- サーバが起動しているか確認
- ネットワーク接続を確認(VPN が必要な場合も)
- ファイアウォールの設定を確認
- SSH の設定(ユーザー名、IP アドレス)を確認
接続が切れる
~/.ssh/config に以下を追加:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3