3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VSCodeのRemote SSHでVM環境で開発するまでの手順

Last updated at Posted at 2019-07-07

毎度メモ程度ですが、VSCodeのremote sshという拡張機能を使ってVMにSSHする方法を書きます。
MSの公式拡張機能です。

メリット

リモート環境を使い開発する際に、ローカルにほとんど何もいれなくて済みます。

  • Pythonで開発していた人の場合
    Remote上のPythonのpathを指定して、remote上でデバグができる。
  • 今までRemote FSを使ってremote上のファイルを管理していた人も、それを使うことなく同様のことができる。ファイルをremoteで変更した時Remote FSにくらべ、にファイルの更新が早い。

前提条件

  • VMにファイルを転送できる状態
  • Ubuntu LTS 18.04

方法

※GCPのインスタンスを使用する場合は、簡略化した方法でRemote SSHを使うことができる。GCPがAuthorized_keyの設定などをしてくれるため。
その場合、以下の記事の内容をフォローした後に、本記事のローカルのpcからコマンドライン経由でsshしてみるから実行すればできる。

1. 公開鍵と秘密鍵の作成

Local terminal
$ ssh-keygen -t rsa -b 4096

2. リモートサーバーに公開鍵を転送(.pubファイル)

リモートVMにSCPやSFTPなどで鍵を転送する。もちろん、さっき作ったユーザでは転送できないので、VMにすでにアクセスできるユーザで転送する。
※GCPやAWSでは、GUIコンソールから鍵を追加することもできる。以下を参照。

3. リモートサーバーの"~/.ssh/"ディレクトリのパーミッションを変更(読み取り、書き込み、実行)

Remote terminal
$ chmod 700 .ssh

.sshがないときは自分で作る

4. ファイル"authorized_key"のパーミッションを変更(読み取り、書き込み)

リモートサーバーの"~/.ssh/"ディレクトリにある、なかったらつくる

Remote terminal
$ chmod 600 authorized_key

5. 公開鍵を"authorized_key"に登録

ここではid_rsa.pubファイルを例に

Remote terminal
$ mv id_rsa.pub ./.ssh/id_rsa.pub
$ cat id_rsa.pub >> authorized_key

6. sshdの設定を変更

Remote terminal
$ sudo vi /etc/ssh/sshd_config

以下の設定をオンにする

/etc/ssh/sshd_config(変更前)
#PubkeyAuthentication yes
#AuthorizedKeysFile      .ssh/authorized_keys
/etc/ssh/sshd_config(変更後)
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

7. sshdのサービスを再起動する

Remote terminal
$ sudo service sshd restart

8. ローカルのpcからコマンドライン経由でsshしてみる

9. VScodeのremote developmentの拡張機能をインストール

以前は、Vscode Insidersでのみ使用可能だったが、2019年のGWあたりのVScodeの更新でVSCodeでも使用できるようになった。

10. VScodeのデスクトップマークが現れるのでそこを押すと、歯車マークそこを押して、設定ファイルを作る

VScodeの設定ファイル
Host [host-alias]
    HostName [XX.XX.XX.XXX]
    User [your-username]
    IdentityFile [C:/Users/user/.ssh/id_rsa]

host-aliasを

VScodeの設定ファイル
Host [your-username@XX.XX.XX.XX]

のようにすると、怒られました。なんでだろう。(2019.07.10追記)

11. SSH開始

無題.png

スクショのようなHostが現れるので、ここを右クリックするとSSHができる

以上です。
ありがとうございました。
何かご指摘があれば、ぜひお願いします。

3
5
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
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?