Windows 7マシンでUbuntu VMを実行しています。 SSHを使って外部からWebサーバーにアクセスできるように設定するにはどうすればよいですか?
私は自分のホストから私のゲストにsshできるようにするための手順(VirtualBoxホストとゲストVM間のSSHアクセスの設定)を見つけましたが、それでも私のルーターからアクセスする問題が残ります。 。
私は自分のWindowsマシンにSSHサーバーをインストールしてから数回トンネリングすることができると思います(ローカル、動的などの観点から何を使うべきか、または複数のトンネルをどのように設定するかは100%わかりませんか?)しかし、VMを私のルーターから直接アクセスできるようにして直接転送できるようにする方法はありますか?
ゲストの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内のあなたのユーザ名です。
NATアダプタを保持し、2つ目のHost-onlyアダプタを追加することは驚くべきことであり、ラップトップ(外部ネットワークが常に変わる)には欠かせません。
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guest/ /
バーチャルボックス自体にホストオンリーネットワーク(GUI - >設定 - >ネットワーク)を作成することを忘れないでください。そうしないと、ゲスト上にホストオンリーインターフェイスを作成できません。
Cmd.exeを起動してipconfig /all
を実行します。あなたはラインを見るべきです:
Ethernet adapter VirtualBox Host-Only Network:
...
IPv4 Address. . . . . . . . . . . : 192.168.59.1
ゲストの2番目のアダプタも192.168.59です。
VMを起動します。
ifconfig -a
を確認してください。 e1000g0とe1000g1が見えるはずです。 e1000g1に興味があります。ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot
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]
リストインタフェース:
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
ネットワーク設定 に Bridged Network (または新しいバージョンでは "Bridge Adapter")を使用することもできます。これはあなたのVMをあなたのマシンのVLANに入れます。そのため、このようにVMにsshすることができます。
sshユーザー@ IP_OF_VM
ホストマシンからVirtualBoxで実行中のUbuntu VMにSSH接続するには、VM用に2つのネットワークアダプタを設定する必要があります。
まず最初に、VMを停止します。
次にVMを選択し、VirtualBoxツールバーの設定メニューをクリックします。
(注:ポート転送を設定する必要はありません。)
それでおしまい。セットアップしたら、VMを起動できます。あなたのVMでは、ネットワーク設定は以下のようになり、インターネットにもアクセスできるようになります。
あなたのホストマシンでも、あなたはあなたのVMにsshすることができます。
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
またあなたの情報のために:
Windowsホストの場合は、次のことができます。
PuTTYを使用してホストマシンから仮想ボックスで実行しているubuntu VMにログインするには、以下の手順に従ってください(ポート転送なし):
Virtualbox ManagerでVMを選択し、設定アイコンをクリックします。次に、[ネットワーク]に進み、以下のように2つのアダプタを有効にします。
Ubuntu vmを起動します。
以下のようにファイル '/ etc/network/interfaces'を編集して保存します。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
VMを再起動してください。
VMにログインし、以下のコマンドを実行してeth1に割り当てられているIPを確認します。
ifconfig
このIPを使用してVMのPuTTYセッションを開きます。
ゲストから、ホスト[OR他のサーバーへのポートフォワード]を開始することもできます。これは、あなたのゲストが「ロック」されている場合、または他の方法でModifyVMオプションを完了できない場合(例えばVBoxManageへの許可がない場合)に特に便利です。
3つのマイナーな要件は、1)VirtualBox Guestにログインできる(コンソールGUI、別のGuestなどを介して)、2)VirtualBox Host(または他のServer)にアカウントを持っている、3)SSHおよび_です。TCP転送はブロックされていません。
あなたが3つの要件を満たすことができると仮定すると、これらはステップです:
netstat -rn
を実行し、デフォルトルートの宛先0.0.0.0へのゲートウェイアドレスを見つけます。それが "10.0.2.2"だとしましょう。この「ゲートウェイ」アドレスは、VirtualBoxホストの仮想IPアドレスの1つです。ssh -R 2222:localhost:22 10.0.2.2
を実行します。ここで、 "10.0.2.2"はVirtualBoxサーバーのIPアドレス、または移植先の他のサーバーIPです。ssh 10.0.2.2 -p2222
を実行します。ここで10.0.2.2は手順1で見つけたデフォルトゲートウェイ/ VBHost仮想IPです。これがポート転送先のVirtualBoxホストでない場合、コマンドはssh localhost -p2222
です。NATを使ってポート転送を設定する方法についての良い説明はVirtualBoxドキュメントにあります: http://www.virtualbox.org/manual/ch06.html#natforward
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
ネットワーク設定をブリッジに設定するだけで、うまくいきました。
これを行うとあなたのIPアドレスが変わります。しかし、私の場合はすぐには変わりませんでした。 ifconfig
は同じIPを返しました。私はvmとブームを再起動しました、ipは192で1つのスタートにそれ自身を設定しました。*そして私はすぐにsshアクセスを許可されました。
NATネットワークアダプタを使用して、ポートを前方に追加します。実際のホストipに言及してください。127.0.0.1またはlocalhostを使用しないでください。
安全なネットワークでは、ネットワークをブリッジに設定してもうまくいかないことがあります。管理者は、ポートごとに1つのMACアドレスしか許可しないか、スイッチが1つのポートで複数のMACを検出した場合、ポートをさらにブロックすることができます。
私の考えでは、最善の解決策は、あなたがあなたのマシンで実行したい追加のサービスを処理するために追加のネットワークインターフェースを設定することです。ラップトップから家に持ち帰ってネットワーク上の他のデバイスからSSHで接続できるブリッジインターフェースと、ラップトップからVMにSSH接続する場合はホスト専用アダプタがあります。私はキャンパス内のeduroam wifiネットワークに接続しています。