web-dev-qa-db-ja.com

ホストを介してVirtualBoxゲストに外部からSSHで接続する方法

Windows 7マシンでUbuntu VMを実行しています。 SSHを使って外部からWebサーバーにアクセスできるように設定するにはどうすればよいですか?

私は自分のホストから私のゲストにsshできるようにするための手順(VirtualBoxホストとゲストVM間のSSHアクセスの設定)を見つけましたが、それでも私のルーターからアクセスする問題が残ります。 。

私は自分のWindowsマシンにSSHサーバーをインストールしてから数回トンネリングすることができると思います(ローカル、動的などの観点から何を使うべきか、または複数のトンネルをどのように設定するかは100%わかりませんか?)しかし、VMを私のルーターから直接アクセスできるようにして直接転送できるようにする方法はありますか?

606
Jordan

ゲストのLinux VirtualBox VMにログインするための最良の方法は ポート転送 です。デフォルトでは、 _ nat _ を使用しているインターフェースがすでに1つあります。それから Network 設定に行き、 Port Forwarding ボタンをクリックしてください。新しい 規則 を追加します。ルール名として "ssh"を挿入してください。 「ホストポート」として、3022を挿入します。「ゲストポート」として、22を挿入します。他のすべてのルールは空白のままにできます。

またはコマンドラインから

VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"

'myserver'は作成されたVMの名前です。追加した規則を確認してください。

VBoxManage showvminfo myserver | grep 'Rule'

それで全部です! VMに _ ssh _ サーバーをインストールすることを忘れないでください。

Sudo apt-get install openssh-server

ゲストVMにSSHで接続するには、次のように書きます。

ssh -p 3022 [email protected]

userはVM内のあなたのユーザ名です。

1233
vkostromin

VirtualBoxのアダプタタイプをブリッジに変更し、ゲストが _ dhcp _ を使用するように設定するか、DHCPの境界の外側に静的 IPアドレス を設定します。これにより、仮想マシンはホームネットワーク上の通常のゲストのように動作します。その後、ポートフォワードすることができます。

127
JohnD

NATアダプタを保持し、2つ目のHost-onlyアダプタを追加することは驚くべきことであり、ラップトップ(外部ネットワークが常に変わる)には欠かせません。

http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guest/ /

バーチャルボックス自体にホストオンリーネットワーク(GUI - >設定 - >ネットワーク)を作成することを忘れないでください。そうしないと、ゲスト上にホストオンリーインターフェイスを作成できません。

65
orip

Solaris 10およびUbuntu 16.04でホストオンリーネットワーク( より良い ブリッジされたものより/より良い)を実行する方法

ホストオンリーインターフェースを追加

  1. 仮想ボックス>ファイル>設定>ネットワーク>ホストオンリーネットワーク>追加
  2. シャットダウンvm。
  3. VMの[設定]> [ネットワーク]最初のアダプタはNat、2番目のホストのみにします。
  4. Cmd.exeを起動してipconfig /allを実行します。あなたはラインを見るべきです:

    Ethernet adapter VirtualBox Host-Only Network:
       ...
       IPv4 Address. . . . . . . . . . . : 192.168.59.1
    

    ゲストの2番目のアダプタも192.168.59です。

  5. VMを起動します。

Solaris 10

  1. 設定ifconfig -aを確認してください。 e1000g0とe1000g1が見えるはずです。 e1000g1に興味があります。
  2. ifconfig e1000g down
  3. ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
  4. このインターフェースが到達可能かどうかをホストから確認します。ping 192.168.56.10

再起動時にそれらの設定を保存する

# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot

rootとしてログインするようにssh service( administration )を設定します(推奨されません)。

Sshが有効になっているか確認してください

# svcs -a | grep ssh
online         15:29:57 svc:/network/ssh:default

/ etc/ssh/sshd_configを修正します。

PermitRootLogin yes

Sshサービスを再起動します

svcadm restart ssh

ホストからチェックする

ssh [email protected]

Ubuntu 16.04

リストインタフェース:

ip addr

Lo、enp0s3、enp0s8のような3つのインターフェースが表示されるはずです。 3番目を使います。

/ etc/network/interfacesを編集します。

auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

それからSudo ifup enp0s8。 enp0s8が正しいアドレスを取得したかどうかを確認してください。あなたのIPアドレスが表示されるはずです。

 $ ip addr show enp0s8
 ...
    inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8

そうでなければ、あなたはSudo ifdown enp0s8 && Sudo ifup enp0s8を実行するかもしれません

https://superuser.com/questions/424083/virtualbox-Host-ssh-to-guest/424115#424115

22
rofrol

ネットワーク設定 Bridged Network (または新しいバージョンでは "Bridge Adapter")を使用することもできます。これはあなたのVMをあなたのマシンのVLANに入れます。そのため、このようにVMにsshすることができます。

sshユーザー@ IP_OF_VM

20

ホストマシンからVirtualBoxで実行中のUbuntu VMにSSH接続するには、VM用に2つのネットワークアダプタを設定する必要があります。

まず最初に、VMを停止します。

次にVMを選択し、VirtualBoxツールバーの設定メニューをクリックします。

enter image description here

アダプター1をセットアップする

enter image description here

アダプター2をセットアップする

enter image description here

(注:ポート転送を設定する必要はありません。)

それでおしまい。セットアップしたら、VMを起動できます。あなたのVMでは、ネットワーク設定は以下のようになり、インターネットにもアクセスできるようになります。

enter image description here

あなたのホストマシンでも、あなたはあなたのVMにsshすることができます。

enter image description here

SSHサーバーがVMにインストールされ、稼働していることを確認してください。

$ ps aux | grep sshd
root 864 0.1 0.5 65512 5392 ? Ss 22:10 0:00 /usr/sbin/sshd -D

そうでなかったら、それをインストールして下さい:

$ Sudo apt-get install openssh-server

またあなたの情報のために:

  • 私のVirtualBoxバージョン:5.2.6 r120293(Qt5.6.2)、2018
  • 私のUbuntuのバージョン:Ubuntu 16.04.3 LTS
  • 私のホストマシン:Windows 10
8
Yuci

Windowsホストの場合は、次のことができます。

  1. Virtualbox Managerの場合:
    1. 選択する ctrl+G 仮想ボックスマネージャで
    2. その後、ネットワークパネルに移動します
    3. プライベートネットワークを追加する
      1. dHCPの有効化が選択されていないことを確認してください。
  2. ネットワーク管理(Windows)の場合
    1. 新しく作成した仮想ボックスのホスト専用アダプタと物理ネットワークカードを選択します。
    2. 右クリックして "Make bridge"を選択
  3. 楽しい
5

PuTTYを使用してホストマシンから仮想ボックスで実行しているubuntu VMにログインするには、以下の手順に従ってください(ポート転送なし):

  1. Virtualbox ManagerでVMを選択し、設定アイコンをクリックします。次に、[ネットワーク]に進み、以下のように2つのアダプタを有効にします。

    • アダプタ1(インターネットアクセス用)に接続 - > NAT、詳細 - >接続されているケーブルを確認してください。
    • アダプター2: - >ホストオンリーアダプターに接続、詳細設定 - >接続されているケーブルと無差別モードをチェック - >すべて許可。
  2. Ubuntu vmを起動します。

  3. RootとしてVMにログインします。
  4. 以下のようにファイル '/ etc/network/interfaces'を編集して保存します。

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    
    auto eth1
    iface eth1 inet dhcp
    
  5. VMを再起動してください。

  6. VMにログインし、以下のコマンドを実行してeth1に割り当てられているIPを確認します。

    ifconfig
    
  7. このIPを使用してVMのPuTTYセッションを開きます。

4
Piyush Raj

ゲストから、ホスト[OR他のサーバーへのポートフォワード]を開始することもできます。これは、あなたのゲストが「ロック」されている場合、または他の方法でModifyVMオプションを完了できない場合(例えばVBoxManageへの許可がない場合)に特に便利です。

3つのマイナーな要件は、1)VirtualBox Guestにログインできる(コンソールGUI、別のGuestなどを介して)、2)VirtualBox Host(または他のServer)にアカウントを持っている、3)SSHおよび_です。TCP転送はブロックされていません。

あなたが3つの要件を満たすことができると仮定すると、これらはステップです:

  1. ゲストで、netstat -rnを実行し、デフォルトルートの宛先0.0.0.0へのゲートウェイアドレスを見つけます。それが "10.0.2.2"だとしましょう。この「ゲートウェイ」アドレスは、VirtualBoxホストの仮想IPアドレスの1つです。
  2. ゲスト上でssh -R 2222:localhost:22 10.0.2.2を実行します。ここで、 "10.0.2.2"はVirtualBoxサーバーのIPアドレス、または移植先の他のサーバーIPです。
  3. ホスト上でssh 10.0.2.2 -p2222を実行します。ここで10.0.2.2は手順1で見つけたデフォルトゲートウェイ/ VBHost仮想IPです。これがポート転送先のVirtualBoxホストでない場合、コマンドはssh localhost -p2222です。
4
Andrew

NATを使ってポート転送を設定する方法についての良い説明はVirtualBoxドキュメントにあります: http://www.virtualbox.org/manual/ch06.html#natforward

2
rodrunner

Ubuntu 18.04 LTS

サーバのIPを確認し、「ポート転送」なしで接続するようにブリッジされた設定

VirtualBox>サーバーを右クリック>設定>ネットワーク>アダプタ2を有効にする> "ブリッジ"を選択>無差別モード:すべて許可>接続されているケーブルを確認>サーバーを起動

Ubuntuサーバー上で、Sudo nano /etc/netplan/*init.yamlファイルを編集します。

私のサンプルファイル:

network:
    ethernets:
        enp0s3:
            addresses: []
            dhcp4: true
        enp0s8:
            addresses: [192.168.0.200/24]
            dhcp4: no
            dhcp6: no
            nameservers:
               addresses: [8.8.8.8, 8.8.4.4]
    version: 2

役に立つコマンド

nano /etc/netplan/file.yaml   # file to specify the rules of network
reboot now          # restart ubuntu server right now
netplan apply       # do after edited *.yaml, to apply changes
ifconfig -a         # show interfaces with ip, netmask, broadcast, etc...
ping google.com     # to see if there is internet

Ubuntu 18.04 LTSサーバーで静的IPアドレスを設定する - NetPlanを使用する

1
DarckBlezzer

ネットワーク設定をブリッジに設定するだけで、うまくいきました。

これを行うとあなたのIPアドレスが変わります。しかし、私の場合はすぐには変わりませんでした。 ifconfigは同じIPを返しました。私はvmとブームを再起動しました、ipは192で1つのスタートにそれ自身を設定しました。*そして私はすぐにsshアクセスを許可されました。

0
boulder_ruby

NATネットワークアダプタを使用して、ポートを前方に追加します。実際のホストipに言及してください。127.0.0.1またはlocalhostを使用しないでください。

0
anunaki

安全なネットワークでは、ネットワークをブリッジに設定してもうまくいかないことがあります。管理者は、ポートごとに1つのMACアドレスしか許可しないか、スイッチが1つのポートで複数のMACを検出した場合、ポートをさらにブロックすることができます。

私の考えでは、最善の解決策は、あなたがあなたのマシンで実行したい追加のサービスを処理するために追加のネットワークインターフェースを設定することです。ラップトップから家に持ち帰ってネットワーク上の他のデバイスからSSHで接続できるブリッジインターフェースと、ラップトップからVMにSSH接続する場合はホスト専用アダプタがあります。私はキャンパス内のeduroam wifiネットワークに接続しています。

0
tensai