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. 接続

  1. VSCode でコマンドパレット(Cmd + Shift + P)を開く
  2. 「Remote-SSH: Connect to Host…」を選択
  3. 設定したホスト名(例:myserver)を選択
  4. 新しいウィンドウが開き、サーバに接続

3. フォルダを開く

接続後、File > Open Folder でサーバ上のフォルダを開けます。

便利な機能

ターミナル

View > Terminal でサーバ上のターミナルが使えます。 R や Python をサーバで実行できます。

ポートフォワーディング

サーバで起動した Web アプリ(Shiny、Jupyter など)をローカルのブラウザで確認できます。

  1. サーバでアプリを起動(例:ポート 8888)
  2. VSCode の「PORTS」パネルで「Forward a Port」
  3. ポート番号(8888)を入力
  4. ローカルのブラウザで localhost:8888 にアクセス

拡張機能

リモート接続中に拡張機能をインストールすると、サーバ側にインストールされます。 R 拡張機能をインストールすれば、サーバの R 環境を使って作業できます。

トラブルシューティング

接続できない

  • サーバが起動しているか確認
  • ネットワーク接続を確認(VPN が必要な場合も)
  • ファイアウォールの設定を確認
  • SSH の設定(ユーザー名、IP アドレス)を確認

接続が切れる

~/.ssh/config に以下を追加:

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3