【完全版】VS Code × エックスサーバーでSSH接続する方法|SFTP設定・秘密鍵認証まで徹底解説

VS CodeとXserverの接続イメージ

実案件で実際に使用しているリアルな設定例をベースに、初心者にもわかりやすく構成しています。

目次

✅ このガイドでできること

  • エックスサーバーでSSHを有効化する方法
  • 鍵ペア(公開鍵・秘密鍵)の生成と設定方法
  • VS CodeとSFTP拡張機能による自動アップロード設定
  • MacとWindowsそれぞれの注意点と対応方法

1. なぜSSH接続が便利なのか?

Web制作やWordPress案件で、サーバーに毎回FTPでファイルをアップするのは面倒ですよね。

そんなときに便利なのが、VS Code × SFTP(SSH)による自動アップロードです。

✅ 主なメリット:

  • ファイル保存でそのままサーバーへ反映
  • 公開鍵認証でセキュアに接続
  • 複数環境(本番/テスト)も簡単に切り替え可能

2. 準備するもの

項目説明
エックスサーバーのアカウントサーバーパネルにログインできる状態
VS Code最新版をインストールしておく
拡張機能「SFTP」作者:Natizyskunk(Marketplaceで検索)

※ 以前は liximomo 版が主流でしたが、現在は開発が止まっており、Natizyskunk によるフォーク版が安定して利用されています。

3. エックスサーバーでSSHを有効にする

  1. サーバーパネルにログイン
  2. 「SSH設定」をクリック
  3. 「ON(国内からのアクセスのみ許可)」に設定

🔍 ポイント:XserverのSSHポートは「10022」です。22では接続できません。

📎 公式マニュアルはこちら

4. 鍵ペアを生成して秘密鍵をダウンロード

方法①:Xserver上で生成(初心者向け)

  1. サーバーパネル > SSH設定 > 「公開鍵認証用鍵ペアの生成」
  2. 任意のパスフレーズを入力(例:MyStr0ngPass!
  3. 秘密鍵(.keyファイル)をダウンロードしてPCに保存

方法②:手動で生成(中〜上級者)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

.pub ファイルをXserverにアップロードすればOK。

5. VS CodeのSFTP設定(sftp.json)

  1. VS Code に「SFTP」(作者:Natizyskunk)をインストール
  2. プロジェクト直下に .vscode/sftp.json を作成
  3. 以下のように記述します:
{
  "name": "本番環境",
  "host": "sv16186.xserver.jp",
  "protocol": "sftp",
  "port": 10022,
  "username": "huktest",
  "remotePath": "/home/huktest/huk-demo.com/public_html/terumi-html",
  "privateKeyPath": "F:/arisa/Documents/ssh/huktest.key",
  "passphrase": "9bgJ2eNprWtJ",
  "uploadOnSave": true,
  "ignore": [".vscode", ".git", ".DS_Store", "sftp.json"]
}

補足説明

項目内容
remotePathサーバー側のディレクトリ(常に / スラッシュ使用)
privateKeyPathローカルPC上の秘密鍵パス(Windowsでもスラッシュで)
passphrase鍵作成時に設定した補助パスワード
uploadOnSaveファイル保存時に自動アップロード

6. MacとWindowsの違いは?

✅ 結論:記述の大部分は共通

項目MacWindows
remotePath/home/...(共通)共通(変更不要)
privateKeyPath/Users/... 形式C:/Users/... または F:/... 形式
パスの区切り/ スラッシュ/ を使えば安定(\ は非推奨)

✅ Windowsでもスラッシュ / を使えばOK!

7. よくあるエラーと原因

症状原因と対処
接続できない.key ファイルの場所 or 中身 or passphrase が間違っている可能性
アップロードされない"uploadOnSave": true の記述ミスや無効化
sftp.json が認識されない.vscode/sftp.json の配置ミス、JSON構文エラー
Permission denied鍵がサーバーに登録されていない or 合っていない

8. パスの調べ方(Windows / Mac)

SFTP設定の中でも重要なのが、privateKeyPath に正しい絶対パスを記述することです。
ここでは、Windows / Mac の両方で正しいパスを調べる方法をご紹介します。

💻 Windowsの場合

方法①:Shiftキー + 右クリックで「パスのコピー」

  1. .key ファイルをエクスプローラーで選択
  2. Shift キーを押しながら右クリック
  3. パスのコピー」を選択
  4. VS Codeやメモ帳に貼り付けて / スラッシュに修正
例:
コピー結果:F:\arisa\Documents\ssh\huktest.key  
→ 修正:F:/arisa/Documents/ssh/huktest.key

方法②:アドレスバーから手動でコピー

  1. .key ファイルがあるフォルダを開く
  2. アドレスバーをクリックするとパスがテキスト形式になる
  3. コピーしてファイル名を手動で追加

🍎 Macの場合

方法①:ファイルをFinderで右クリック →「情報を見る」

  1. .key ファイルをFinderで右クリック
  2. 情報を見る」を選択
  3. 「場所」欄に表示されたパスと「ファイル名」を組み合わせて使用
例:
場所:/Users/uetashinji/Documents/ssh  
ファイル名:huktest.key  
→ /Users/uetashinji/Documents/ssh/huktest.key

方法②:ファイルをターミナルにドラッグ&ドロップ

  1. ターミナルを起動
  2. .key ファイルをウィンドウ内にドラッグ
  3. パスが自動で入力されるのでコピー

✅ 注意点(両OS共通)

  • sftp.json ではパスの区切りを必ず /(スラッシュ)で統一しましょう
    Windowsでも \(バックスラッシュ)はエスケープ文字になり、エラーの原因になります。
  • パスはダブルクオーテーションで囲む必要があります(JSONの構文)

✅ まとめ

項目内容
セキュリティ鍵認証+国内IP制限で安全
効率保存するだけで即アップロード可能
対応OSMac / Windows 両対応(記述の違いはパスの扱いだけ)

💬 補足・ヒント

  • passphrasepasswordどこに保存していても関係ありません。内容が合っていればOK。
  • OneDriveや外付けドライブ上の.keyファイルは、同期状態やドライブ接続に注意。
  • 接続できないときは、VS Codeの「出力」パネル → SFTPを選んでログ確認が第一歩!

✍️ あとがき

「公開鍵って難しそう」「SFTPは上級者向けでは?」と思っていた方も多いと思いますが、手順を押さえれば実はとてもシンプルです。

ローカル開発と本番環境の橋渡しとして、VS Code × SFTPの組み合わせは本当に強力。
この記事があなたの制作業務を少しでもラクにする助けになれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Web制作会社勤務、業界歴10年以上。現場を走り回ってきた制作者。
これからWeb制作を学ぶ人に寄り添いながら、実務で役立つ知識をわかりやすくシェアします。
「ゼロぐらいから学べる!」をモットーに、あなたの“がんばろ”を応援します!

目次