スポンサーリンク

VSCodeからSSHでリモートサーバ上のファイルを編集する

VSCodeからSSHでリモートサーバ上のファイルを編集する Linux

スポンサーリンク

概要

VSCode(2019/05/05時点ではInsider版のみ)でリモートサーバ上のファイルをSSH経由で編集することができるようになったそうです。
ざっくり言うとリモート環境としてコンテナ、WSL、リモートサーバ上での編集が可能になり、拡張機能なども動かせるようになるそうです。
これを試してみました。

また、初期のセットアップでハマったところがあったのでそれについても触れます。


https://code.visualstudio.com/blogs/2019/05/02/remote-development

試した環境

ローカル

  • macOS Mojava 10.14

リモートサーバ

  • Ubuntu 14.04

Insider build

ここから手に入れられます。


https://code.visualstudio.com/insiders/

SSH:Remoteのインストール

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers

remote containerを検索します。

remoteって打てば出てくると思います。


いこれをインストールするといくつかの関連パッケージもインストールされました。

ssh_configの設定

接続するSSHの設定を行います。
macの場合であれば~/.ssh/configに記述します。
~/.ssh/config

Host test.my-server1  # 任意のホスト名
    HostName my-server1.example.com  # host名
    User your_name  # ユーザネーム 
    Port 22  # ポート番号
    IdentityFile ~/.ssh/xxxx_key.pem  # 鍵のパス

VSCodeからの接続

左下のターミナルのようなアイコンをクリックしRemote-SSH:COnnect to hostからssh_configに設定した接続先を選択して接続することができます。



接続時の設定ファイルなどはリモートの~/.vscode-remote/に置かれます。

接続成功後

接続が成功したらOpen Folderから編集したいファイルを選ぶことができます。




接続がうまくいかなかった時

上記の手順通りに試してもうまくいかない時がありました。

logを見ると、SSH接続後に行われるshellの実行に失敗していました。

~/.vscode-remote/bin/******/server.sh

#!/usr/bin/env sh
#
# Copyright (c) Microsoft Corporation. All rights reserved.
#

case "$1" in
        --inspect*) INSPECT="$1"; shift;;
esac

ROOT="$(dirname "$(realpath "$0")")"

"$ROOT/node" ${INSPECT:-} "$ROOT/out/remoteExtensionHostAgent.js" "$@"

realpath と node がなかったのでインストールしました。

sudo apt install realpath

aptでインストールしたnodejsは動かなかったのでこの辺りを参考にしました。

Ubuntuに最新のNode.jsを難なくインストールする - Qiita
この記事は ( の10日目の記事です。 --- [UbuntuにNode.js...

参考

Dockerで立ち上げた開発環境をVS Codeで開く! - Qiita
待望のリモート開発機能がやってきました! Introducing Remote Deve...
VSCode公式の機能で、リモートサーバにSSHして編集する【Insiders Preview】 - Qiita
(
タイトルとURLをコピーしました