1. 現象
- Windows 端末から VirtualBoxのCentOS7 に対して
ssh root@192.168.10.30
などで接続できない -
Test-NetConnection
やping
が失敗 - VirtualBox のブリッジアダプタを使用している場合に発生
2. 原因
-
IPv4 が有効になっていない
-
nmcli con show
で確認すると IPv4 関連の情報が表示されない場合がある - この場合、ブリッジ経由で Windows からアクセスしても IP が割り当たられず、SSH 接続できない
-
-
ファイアウォールでポート 22 がブロックされている
-
firewalld
が有効で、SSH ポートが開放されていない場合
-
-
SELinux による制限
- 通常は影響しにくいが、SSH デーモンの設定が特定のネットワークからの接続を拒否している場合がある
-
VirtualBox のブリッジアダプタ設定が不適切
- ホスト OS 側のネットワークカードと正しくブリッジされていない場合
- DHCP から IP が取得できない場合がある
3. 解決策
3-1. ネットワーク接続の確認
nmcli con show
-
TYPE
がethernet
またはwifi
の接続名を確認
nmcli con show "接続名"
-
ipv4.method
がdisabled
でないか確認 -
ipv4.addresses
が空の場合は IP 割り当てがない
3-2. IPv4 を有効化して DHCP で自動取得する
sudo nmcli con mod "接続名" ipv4.method auto
sudo nmcli con up "接続名"
- 自動的に IP を取得して、Windows からアクセス可能になる
3-3. 静的 IP を設定する場合
sudo nmcli con mod "接続名" ipv4.addresses 192.168.10.30/24
sudo nmcli con mod "接続名" ipv4.gateway 192.168.10.1
sudo nmcli con mod "接続名" ipv4.method manual
sudo nmcli con up "接続名"
-
/24
はサブネットマスク 255.255.255.0 に相当 -
192.168.10.1
はルーターの IP
3-4. ファイアウォールの確認
sudo firewall-cmd --list-all
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
- SSH ポート(22)を開放する
3-5. 接続確認
ip addr show
- CentOS7 側で 192.168.10.x の IP が割り当たっているか確認
Windows 側から:
Test-NetConnection -ComputerName 192.168.10.30 -Port 22
ssh root@192.168.10.30
- TCP 接続と SSH が成功すれば完了