Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【VirtualBox】ゲストOSのCentOSにホストPCからSSH接続するための超簡単設定手順

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

VirtualBox上にCentOSの仮想環境を作った後、毎回VirtualBoxのコンソール画面を開いて黒い画面をポチポチ操作していませんか?

  • コピペがしづらい

  • 画面のサイズ調整が面倒

  • いつものSSHクライアント(VS Codeやターミナルなど)を使いたい!

今回は、そんなストレスを瞬時に解決する「ポートフォワーディング」を使ったSSH接続設定を解説します。

複雑なネットワーク構築は不要で、VirtualBoxの設定を数箇所いじるだけで完了します!

スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

🛠️ SSH接続を可能にする3ステップ設定

今回は、ホストPC(あなたが実際に使っているPC)から、VirtualBox内のCentOSにSSHで繋ぐための最短ルートをご紹介します。

ステップ 1:VirtualBox側で「ポートフォワーディング」を設定する

VirtualBoxの「NAT」という標準のネットワークモードを維持したまま、特定のポート(通り道)だけを繋ぐ設定をします。これにより、セキュリティを保ったまま安全に接続できます。

1.仮想マシンの設定を開く:手順 1。

VirtualBox上で対象のCentOSを**停止(シャットダウン)**させた状態で、対象のマシンを選択して 「設定(歯車マーク)」 をクリックします。

2.ネットワーク設定へ進む:手順 2。

左メニューから 「ネットワーク」 を選択し、「アダプター1」 タブを開きます。

  • ※「ネットワークアダプターを有効化」にチェックが入っており、割り当てが「NAT」になっていることを確認してください。

3.ポートフォワーディングのルールを追加する:手順 3。

「詳細」 をクリックしてメニューを展開し、一番下にある 「ポートフォワーディング」 ボタンをクリックします。

4.ルールを新規作成する:手順 4。

右側にある「緑色のプラス(+)アイコン」をクリックして、新しいルールを以下のように追加します。

項目 設定値 理由

名前

SSH

任意の分かりやすい名前でOK

プロトコル

TCP

デフォルトのままでOK

ホストIP

空欄(または 127.0.0.1

空欄で問題ありません

ホストポート

2222

ホストPC側で待ち受けるポート(22以外を指定)

ゲストIP

空欄

空欄のままで自動解決されます

ゲストポート

22

CentOSのSSH標準ポート番号

設定できたら 「OK」 をクリックして閉じ、仮想マシン(CentOS)を起動します。

 

ステップ 2:CentOS側でSSHサービスが動いているか確認する

基本的にはCentOSインストール時にデフォルトでSSH(sshd)が有効になっていますが、念のため起動しているかコマンドで確認します。

CentOSのターミナルで以下を実行してください。

Bash

# SSHサービスのステータス確認
systemctl status sshd

💡 もし動いていなかったら(Active: inactive など)

以下のコマンドで起動&自動起動設定をしておきます。

Bash

systemctl start sshd
systemctl enable sshd

ステップ 3:ホストPCからSSH接続してみる

設定はこれですべて完了です!

ホストPC(WindowsのコマンドプロンプトやMacのターミナル、またはお好みのSSHクライアント)を開き、以下の宛先に対して接続テストを行います。

💻 コマンドで接続する場合の例:

Bash

ssh [CentOSのユーザー名]@127.0.0.1 -p 2222

🛠️ 各種SSHクライアント(設定ソフト)で入力する項目:

  • ホスト名(IPアドレス): 127.0.0.1(または localhost

  • ポート番号: 2222(※通常の 22 ではなく、ステップ1で設定したホストポートを指定します)

  • ユーザー名 / パスワード: CentOSに作成してあるユーザーアカウント情報

初回接続時に「Are you sure you want to continue connecting…」と確認が出たら yes と入力し、パスワードを入力して無事にCentOSのログインプロンプトが表示されれば大成功です!

📝 まとめ

「VirtualBoxのCentOSにSSHする」と聞くと、ホストオンリーアダプターを追加してIPアドレスを固定して……という面倒なネットワーク設定を想像しがちですが、「NAT + ポートフォワーディング」なら、既存の環境を一切汚さずに秒速で接続環境が作れます。

一度SSH経由の接続に慣れてしまうと、画面間のファイルのコピペやコマンドの流し込みが驚くほどスムーズになり、Linuxの学習や開発作業が何倍も快適になりますよ。ぜひ試してみてください!

【参考】もうひとつの選択肢:ホストオンリーアダプター方式でSSH接続する

ポートフォワーディング方式に加え、開発環境でよく使われるのがこの「ホストオンリーアダプター」を組み合わせる方法です。

この方式の最大のメリットは、「ゲストOS(CentOS)に専用のIPアドレスが割り当てられること」です。本番環境のサーバーを操作する感覚に最も近く、Webサーバー(Apache/Nginx)やデータベース(MySQL)を立ち上げた際にも、ブラウザやツールから直接アクセスしやすくなります。

🛠️ ホストオンリーアダプター設定の3ステップ

この設定は、「VirtualBoxの設定」➔「CentOSのネットワーク設定(IP固定)」の順に進めます。

ステップ 1:仮想マシンの設定にアダプターを追加する

ホストPCと仮想マシン(CentOS)の間だけで通信できる「専用の専用線」を追加します。

1.仮想マシンのネットワーク設定を開く:手順 1。

CentOSをシャットダウンした状態で、VirtualBoxの 「設定」 ➔ 「ネットワーク」 を開きます。

2.アダプター2を有効化する:手順 2。

「アダプター2」 タブを開き、以下のように設定します。

  • 「ネットワークアダプターを有効化」:チェックを入れる

  • 割り当てホストオンリーアダプター

  • 名前VirtualBox Host-Only Ethernet Adapter(通常は標準で用意されているこれでOK)

 

💡 なぜアダプターを2つ使うの?

  • アダプター1(NAT):CentOSがインターネットからアプデなどをダウンロードするため。

  • アダプター2(ホストオンリー):あなたのパソコン(ホスト)とCentOSが1対1で通信(SSHなど)するため。

この「2本挿し」にすることで、**「ネットも繋がるし、手元のPCからも直接SSHできる」**という最強の環境が出来上がります。

ステップ 2:CentOS側で追加したカードを有効にする(IP設定)

CentOSを起動し、追加した2つ目のネットワークカードにIPアドレスを設定します。

(※ここではCentOS 7以降の一般的なコマンド/設定ファイルをベースに解説します)

Bash

# ネットワークインターフェース(カード)の一覧を確認
ip a

実行すると、enp0s3(NAT用)のほかに、新しく追加された enp0s8 などのカード名(IPアドレスがまだ割り当てられていないもの)が見つかります。

この新しいカード(例:enp0s8)を有効化し、接続できるようにします。設定ファイルを直接書き換えるのが一番確実です。

Bash

# 設定ファイルの編集(カード名が enp0s8 の場合)
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

中身を以下のように書き換えるか、新規作成します(IPアドレスはVirtualBoxの設定値に合わせます。通常は 192.168.56.xxx です)。

Ini, TOML

TYPE=Ethernet
BOOTPROTO=static
NAME=enp0s8
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.101
NETMASK=255.255.255.0

保存して閉じたら、ネットワーク設定を反映(再起動)させます。

Bash

# ネットワークサービスの再起動
sudo systemctl restart network
# ※CentOS 8以降やAlmaLinuxなどの場合は以下
# sudo nmcli connection reload
# sudo nmcli connection up enp0s8

これで ip a を叩き、enp0s8192.168.56.101 が割り当てられていればCentOS側の準備は完了です!

ステップ 3:ホストPCから設定したIPに直接SSHしてみる

あとはホストPC(WindowsやMac)のターミナルやクライアントソフトを開き、設定した固定IPアドレスへ直接アクセスするだけです。

💻 コマンドで接続する場合:

Bash

ssh [CentOSのユーザー名]@192.168.56.101

ポートフォワーディングの時のように -p 2222 のようなポート番号の指定は不要になり、標準の 22 ポート(指定なし)でスマートにログインできるはずです!

⚖️ 「ポートフォワーディング」と「ホストオンリー」どっちがいい?

最後に、どちらを使うべきか迷ったときの比較です。

特徴 ポートフォワーディング方式 ホストオンリーアダプター方式
手軽さ 🌟 抜群に簡単(VirtualBoxの設定のみ) CentOS側の設定ファイルを触る必要がある
接続ポート 2222 などのカスタムポートになる 22 ポートで直接繋がる
IPアドレス 127.0.0.1(すべてlocalhost共有) 仮想マシンごとに固有のIPを持てる
こんな人向け とりあえず手軽にSSHできれば満足な方 複数台の仮想マシンを連携させたり、Webサーバー等の構築も行う本格派

まずは手軽なポートフォワーディングで試し、開発環境が本格化してきたらホストオンリー方式でIPアドレスをしっかり切り分ける、というステップを踏むのがおすすめです!

タイトルとURLをコピーしました