OracleVM VirtualBox_SSH接続方法(NAT)

# 1. ホストOSのIPアドレスを確認する


[Windowsマーク]+[R]→「cmd」と記入しコマンドプロンプトを開く。
下記コマンドを投下し、自身が接続しているネットワークのIPアドレスを確認する。

「192.168.100.100」が今回のホストOSのアドレスとなる。
※「～」・・省略
```ruby
C:\Users\user>ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
～
Wireless LAN adapter ローカル エリア接続* 1:
～
Wireless LAN adapter ローカル エリア接続* 2:
～
Wireless LAN adapter Wi-Fi:

   接続固有の DNS サフィックス . . . . .:
   IPv6 アドレス . . . . . . . . . . . .: ～
   IPv6 アドレス . . . . . . . . . . . .: ～
   一時 IPv6 アドレス. . . . . . . . . .: ～
   リンクローカル IPv6 アドレス. . . . .: ～
   IPv4 アドレス . . . . . . . . . . . .: 192.168.100.100
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: ～
```


# 2.ゲストOSのIPアドレスを確認する
OracleVM VirtualBoxを起動する。
対象マシンを選択して[起動]を押下し、ログインする。
[アプリケーション] → [システムツール] → [端末]でDoSを開く。
下記コマンドを入力しipv4を確認する。

「10.0.2.15」が今回のゲストOSのアドレスとなる。
※「～」・・省略
```ruby
[ope@localhost ~]$ ip a
1: lo: ～
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:06:9e:a7 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 86193sec preferred_lft 86193sec
    inet6 fe80::cbc9:5449:2c68:1d62/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
～
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 
～
```

もしくは下記アドレスで確認する
```ruby
[ope@testlinux ~]$ hostname -I
10.0.2.15 192.168.122.1
```

# 3.ネットワーク設定
対象のマシンを選択した状態で[設定]→[ネットワーク]→[アダプター1]を選択。
その後[▽高度]から[ポートフォワーディング]を選択し、下記の通り記載する。
```ruby:設定その1
名前　　　　：SSH　[なんでもOK]
プロトコル　：TCP
ホストIP　　：192.168.100.100　[(1)で確認したアドレス]
ホストポート：2222 [1024~65535の範囲でお好みの数字)]
ゲストIP　　：10.0.2.15　[(2)で確認したアドレス]
ゲストポート：22
```
```ruby:設定その2
名前　　　　：SSH2　[なんでもOK]
プロトコル　：TCP
ホストIP　　：127.0.0.1 [ループバックアドレス ]
ホストポート：2223 [1024~65535の範囲でお好みの数字)]
ゲストIP　　：空欄
ゲストポート：22
```

▼参考画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2528418/28cfe43a-a070-e728-21bf-0a67e0199e92.png)


# 4.CentOS上でsshdの動作確認
下記コマンドでsshdが動作しているか確認する。
active(runnning)になっており、動作していることを確認。
```ruby
[ope@localhost ~]$ su -
[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 木 2022-03-03 07:46:49 JST; 28min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 1096 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           mq1096 /usr/sbin/sshd -D

 3月 03 07:46:49 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
 3月 03 07:46:49 localhost.localdomain sshd[1096]: Server listening on 0.0.0.0 port 22.
 3月 03 07:46:49 localhost.localdomain sshd[1096]: Server listening on :: port 22.
 3月 03 07:46:49 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
 3月 03 08:06:26 localhost.localdomain sshd[3835]: Accepted password for mameope from 10.0.2.2 port 58936 ssh2
```

※inactiveとなっている場合は、下記を実施する。
```ruby
[root@localhost ~]# systemctl start sshd
```

ネットワーク設定を再起動する。
```ruby
[root@localhost ~]# systemctl restart NetworkManager
[root@localhost ~]# systemctl restart network
```

# 5.TeratermからCentOSへSSH接続する

下記サイトからteratermをインストールする
https://forest.watch.impress.co.jp/library/software/utf8teraterm/

「ttermpro.exe」をクリックして開き、下記の通り記入する。
```ruby:設定その1
●TCP/IP
ホスト　　　：192.168.100.100　[1で確認したアドレス]
サービス　　：SSH
TCPポート　 ：2222　[3で設定したホストポート]
SSHヴァージョン：SSH2
IPバージョン：AUTO
```

もしくは
```ruby:設定その2
●TCP/IP
ホスト　　　：127.0.0.1　[ 3で設定したループバックアドレス ]
サービス　　：SSH
TCPポート　 ：2223　[ 3で設定したホストポート ]
SSHヴァージョン：SSH2
IPバージョン：AUTO
```

ユーザ/パスはCentOSと同じものを使用し、[OK]でログインする。

# 6.接続不可の場合

ゲストOS上でアドレスを確認すると、プライベートアドレスの192.168~だった。
またホストOS上のTeraTermから接続不可であった。

右上のファイルマークから [ 有線 ]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2528418/d308c33f-4418-46bc-4763-f271d9a4c90c.png)

ネットワークから [ 有線 ]を [ オン ]にする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2528418/f1af2ca4-e076-cce0-649f-45ddb91351f1.png)

再度ゲストOS上でアドレスを確認すると、192.168.~だったゲストアドレスが
10.0.~に変わり、接続が可能となった。

(2023.03.19追記)