VSCodeで仮想マシン（VM）にSSH接続しターミナルソフトとして使ってみる話

## はじめに

**環境**
- Windows 11 Home
- VSCode：1.73.1
- VirtualBox：7.0.2
- VirtualBox で 作成した VM (Cnetos 7)

**事前準備**
- VirtualBox などが既にインストール済みなこと
- 手ごろな VM が作成されていること（OSは何でも大丈夫です）

### 説明
先日フォロワーさんが「わい、ターミナルソフトは VSCode だぜ」みたいなことを仰っており、出来ることは知っていましたが実際にやった事はなかったので、興味本位でやってみよ！となりこの記事を書きました。
本記事では、Remote - SSH という VSCode の拡張機能について解説します。

以降は、インストール方法や実際に SSH接続する方法のやり方を記載してます。
「1. 事前準備」は、VirtualBox のネットワークアダプタを追加して割り当てをブリッジに変更する作業なので、手ごろな VM があって不要な方は「2. 拡張機能のインストール」から進んで下さいませ。

## 手順

### 1. 事前準備

1.1　VirtualBox を立ち上げ、該当の VM のネットワークアダプタを追加します。電源オフなのを確認してから「設定」をクリック。
![1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/8d3b5869-0123-3955-c4bd-3f5d4c86702f.png)



1.2　ネットワーク欄のアダプター2を選択。「ネットワークアダプタを有効化」にチェックを入れ、割り当てのプルダウンから「ブリッジアダプター」を選択して「OK」をクリック。
![1-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/93de00d1-720e-e4ac-febd-2ba09c0b6e74.png)



1.3　アダプター2にブリッジアダプターが追加された事を確認する。
![1-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/bd038cc3-5b09-000a-25f0-aabd2549f6d9.png)



1.4　VMを起動し、下記コマンドを実行。3番目の enp●●●（環境によって異なる。当環境の場合は、enp0s8 をさす） に IPアドレスがDHCPによって割り振られている事を確認する。
（DHCPと言うのは、IPアドレスを自動割り当てする仕組みのこと）

- コマンド
    
    ```bash
    ip addr show　（ip a でも省略可）
    ```
    
- 実行結果
    
    ```bash
    [test-centos@localhost ~]$ ip addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:a7:60:12 brd ff:ff:ff:ff:ff:ff
        inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
           valid_lft 85961sec preferred_lft 85961sec
        inet6 fe80::b8fb:6a0c:2cf5:4b97/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 08:00:27:ef:23:f7 brd ff:ff:ff:ff:ff:ff
        inet **192.168.2.108**/24 brd 192.168.2.255 scope global noprefixroute dynamic enp0s8
           valid_lft 172363sec preferred_lft 172363sec
        inet6 2408:210:2e27:7b00:2794:bee:a53c:bf50/64 scope global noprefixroute 
           valid_lft forever preferred_lft forever
        inet6 fe80::2fff:cb2f:1c7:be06/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    [test-centos@localhost ~]$
    ```
    

### 2. 拡張機能のインストール

2.1　vs code を立ち上げ、赤矢印の部分をクリック（Ctrl + Shift + x でも可）
![2-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/18ac767f-6559-f1a8-e19b-3b7750b6ab3f.png)

2.2　検索バーに「Remote - SSH」と入力しインストールをクリック
![2-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/51437627-d46c-aff7-18a6-e6cd32373ebd.png)

2.3　インストールされると、画面左下に緑背景のマークが表示される。（画像参照）
![2-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/5c740719-ce62-9d2c-011e-1f35e884c66c.png)

### 3. 実際にSSH接続してみる

3.1　画面左下の緑背景のマークをクリックし、「ホストに接続する」を選択
![3-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/3204f013-1092-93cb-5dde-b17d248e52ff.png)

3.2　「新規 SSH ホストを追加する」をクリック
![3-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/3cd440cf-0e4a-a42d-a2d2-89b6e85ff16f.png)

3.3　SSH接続コマンドを入力する。以下のコマンド書式を参考にしてください。

- コマンド書式（文中の括弧は不要）
    
    ```
    ssh [ユーザー名] @ [ipアドレス]
    ```
    
- 私の場合
    
    ```
    ssh test-centos@192.168.2.108
    ```

![3-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/27fcdf65-5166-02dd-d6da-47172b0af573.png)

3.4　SSH構成ファイルの選択は、デフォルトで選択されていた、「c:\Users/username\.ssh\config」を選択します。
![3-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/2ac14198-59c6-a55f-0786-46758bdee232.png)

3.5　画面右下に、ホストが追加された旨のメッセージが飛びます。「接続」をクリック。
![3-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/fcfa1d5f-03ef-35f5-1fde-8272230a9fa1.png)

3.6　VMのパスワードを入力します。
![3-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/64318a6f-1f81-99db-bc24-822a654d2b7e.png)

3.7　別ウインドウが立ち上がり、接続完了です！
![3-7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3282990/ad775b18-e7e3-3ed9-abef-371494c323b1.png)

これで、VSCode で操作することが可能になりました！

## まとめ

お疲れ様でした！
今回は、VSCode の拡張機能、 Remote - SSH についてレビューしてみました。

普段は、Rlogin というターミナルソフトを使っていますが、例えば用途的にエディタがセットで必要な場合とかは VSCode の方が利便性高いな。と思いました。

知識として知っておく事は絶対に損ではないので、お勉強がてらやってみました。
気になった方は、是非お試しくださいませ！

ここまで見ていただきありがとうございました！