LoginSignup
15
7

More than 3 years have passed since last update.

VSCode で remote-ssh するには相手先の platform を指定せねばならんらしい

Last updated at Posted at 2020-07-25

※個人的なメモです。知ってる人はどんどん先へ進んでください。

MQTTを使用して、Lambdaからブラウザを更新する方法〜aws-iot-device-sdk(aws-iot-sdk-browser-bundle.js)を使用する場合〜 の例を自分でも試してみようと思って手元の環境を準備していたら、 https://github.com/aws/aws-iot-device-sdk-js の browserize の段で bash 登場…。あかん、私はまだ Windows 使いなのだ。

仕方ないと、久しぶりに EC2 と VSCode をつないで remote-ssh で作業しようかと思い立って(どうせ bundle 作るだけなんだからシンプルに ssh すりゃいいのに、わざわざ苦労を買い込む質)、EC2 立てて ssh key の設定して VSCode から接続!…あれ、つながらない。

[16:25:47.592] Log Level: 2
[16:25:47.599] remote-ssh@0.51.0
[16:25:47.599] win32 x64
[16:25:47.601] SSH Resolver called for "ssh-remote+dev", attempt 1
[16:25:47.601] SSH Resolver called for host: dev
[16:25:47.601] Setting up SSH remote "dev"
[16:25:47.624] Using commit id "17299e413d5590b14ab0340ea477cdd86ff13daf" and quality "stable" for server
[16:25:47.626] Install and start server if needed
[16:25:49.135] getPlatformForHost was canceled
[16:25:49.136] Resolver error: Connecting was canceled
[16:25:49.145] ------

解決策をあちこち探してなかなか見つからず、諦めかけてた頃にようやく、 同じエラーに遭遇している人 を発見。コメントに「設定を追加すればいい」とあるのでやってみたら、確かにつながった。

settings.json に次のような記述を追加する。

  "remote.SSH.remotePlatform": {
    "$remote_server_name": "linux"
  }

$remote_server_name には接続先のホスト名を、値には接続先のプラットフォームの種別 ( linux, macOS, windows のいずれか) を指定するということらしい。以前こんな設定あったかな?

画面からだとこんな感じになる。
remote-platform-config.png
このエラーメッセージだけで原因がわかった人はエラいなと思う。

(追記) これをやるきっかけになった AWS IoT Device SDK、もう v2 が出てる じゃん :frowning2:

15
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
7