[ConoHa WING][Mac]VSCode で ConoHa WING のサーバーにリモート接続する
Webサービス を作ってみたいと思い立ち、勢いでConoHa WING パックのベーシックプランを契約してみました。
事前に Xserver の X10 プランの試用を使っていたのですが、ConoHa の初期費用なし!にひかれてこちらを選択。
ローカルPC (Mac) で開発しているときと同じように、 VSCode でリモートアクセスして開発したいと思ったのですが、 ConoHa VPS や Xserver の記事は見つかるものの、ConoHa Wing 向けのものは見つからず。
ひとまず VSCode の Remote-SSH を使ってみたところ、下記のエラーが消えない。
[18:08:55.024] Failed to set up socket for dynamic port forward to remote port 15934: Socket closed. Is the remote port correct?
[18:08:55.030] > channel 3: open failed: administratively prohibited: open failed
> channel 4: open failed: administratively prohibited: open failed
ターミナルからは ssh でログインできるので、いろいろ確認したところ、どうも sshd も /etc/ssh/sshd_config も見つからない。sudo と打っても「コマンドが見つかりません」と表示される。これはダメか。
ということで方針を変更。sftp でローカルにマウントして、VSCode でそのディレクトリを開いてみる。
下記から osxuse, sshfs の最新をダウンロード。
https://osxfuse.github.io
https://github.com/osxfuse/sshfs/releases
osxfuse はインストール時にチェックを全て入れる。
サポートページを参考に SSH アカウントを作成し、秘密鍵をダウンロード。
ダウンロードした秘密鍵を、例えば以下のように配置。
$ /home/name/.ssh/id_rsa_conoha
マウントするディレクトリを作成して、以下のようにマウント。
$ mkdir /home/name/mountdir
$ sshfs -o IdentityFile=/home/name/.ssh/id_rsa_conoha [user]@[hostname]:[mount_path] /home/name/mountdir -p 8022
VSCode ので[フォルダーを開く...]を選んで、マウントしたディレクトリを選択。手元ではOSXFUSE Volume 0 (sshfs) となっていました。
これで Remote-SSH でやりたかったことが実現できました。しばらくはこれで開発ができそう。
アンマウント方法は以下。
$ diskutil unmount /home/name/mountdir
おまけ。下記は Remote-SSH で Xserver にアクセスしている様子。同じようにいけると思って試行錯誤して、だいぶ時間をかけてしまった。
python でいろいろやるなら ConoHa VPS のほうがよかったのかな。 まあ Anaconda も入れられたし、気を取り直していきます。