VirtualBox + CentOS 7 に SSH 接続できるようにする方法

はじめに

実務にて、VirtualBox のゲスト OS(CentOS 7)にホスト OS(macOS)から SSH 接続してファイル操作する必要があり、それを解決した情報になります。

環境

解説

結論から言うと、VirtualBox のネットワーク設定をするだけです。

1. VirtualBox を起動します。

2. VirtualBox のメニュー「ファイル」から「ホストネットワークマネージャー」を開きます。

3. 「作成(C)」をクリックしてホストネットワークを新規作成します。

4. 「プロパティ(P)」をクリックしてホストネットワークのプロパティを表示します。

5. 基本的にはそのままで大丈夫です、必要に応じて設定を変更しましょう。

6. 「閉じる」をクリックします。

7. マネージャーから仮想マシンを選択して「設定」をクリックします。

8. 「ネットワーク」をクリックします。

9. 「アダプター 1」を選択、割り当てが NAT に設定されているか確認します。

10. 「高度」をクリックして追加のネットワークアダプターのオプションを表示します。

11. 「ポートフォワーティング」をクリックします。

12. + アイコンをクリックしてポートフォワーディングルールを新規作成します。

13. ポートフォワーディングルールのセルをクリックして、プロトコル を「TCP(Transmission Control Protocol)」、ホスト IP を「127.0.0.1(localhost)」、ホストポートを 2222、ゲストポートを 22 に指定します。

14. 「OK」をクリックします。

15. 「アダプター 2」を選択、割り当てを「ホストオンリーアダプター」、名前は初めに新規作成したホストネットワークを選択します。

16. 「OK」をクリックします。

17. 仮想マシンを起動します。

18. 仮想マシンのターミナルから下記のコマンドを実行して、sshd の状態が active (running) になっているか確認します。

systemctl status sshd

sshd の状態が inactive になっている場合は下記のコマンドで起動させます。

systemctl start sshd

GUI でターミナルを表示するには、ログイン後にアプリケーションから端末をクリックします。

そもそも SSH が未インストールの場合は、ここで解説するとかなり長くなるので割愛します。

18. macOS のターミナルを起動して ssh コマンドを実行します。ユーザー名の部分はご自身の設定に合わせて書き替えてください。

ssh -p 2222 ユーザー名@127.0.0.1

19. パスワードを入力してログインできることを確認します。

ログインに失敗する場合は下記の確認をしましょう。

  1. ポートフォワーディングルールに間違いがないか確認する。
  2. ssh コマンドで指定しているポート番号に間違いがないか確認する。
  3. SELinux(Security-Enhanced Linux)で拒否されていないか確認する。
  4. firewalld で拒否されていないか確認する。
  5. sshd が起動しているか確認する。
  6. /etc/hosts.allow, /etc/hosts.deny ファイルによるアクセス制御がされていないか確認する。

20. ログアウトは下記のコマンドを実行します。

exit

以上です。

おわりに

今日は、東京ドームシティホールでホロライブ 3 期生の初ライブイベント「HOLOLIVE FANTASY 1st LIVE FAN FUN ISLAND」が開催されました。

初ライブがキャパ 3000 の箱ってすごいです、私の所属していたメジャーバンドはワンマンライブでキャパ 500 埋めるのに 2 年かかりました。