web-dev-qa-db-ja.com

ローカルにSSH接続するVM UbuntuとPutty

VM=を設定し、OpenSSHをインストールして、PuTTYを使用してそれに接続しようとしています。PuTTY内の「ホスト名」の下に、「Ubuntu」を指定しますこれは、VMのセットアップ時に呼び出されたと思っていたものですが、「接続がタイムアウトしました」というエラーが表示されるだけです。

また、PuTTY内のホスト名に「127.0.0.1」を入力してみましたが、「接続が拒否されました」と表示されました。 Oracle VM内でSSHとHTTPのポート転送を行ったので、それを実行する方法について途方に暮れていることに注意してください。

157
wickywills

VirtualBoxは [〜#〜] nat [〜#〜] を使用してホストネットワークに接続されるプライベートネットワーク(10.0.2.x)を作成します。 (特に構成されていない限り)。

つまり、ホストネットワークからプライベートネットワークのホストに直接アクセスすることはできません。そのためには、いくつかのポート転送が必要です。 VMのネットワーク設定で、たとえば、VirtualBoxを設定して127.0.1.1のポート22を開き( ループバック ホストのアドレス)、 10.0.2.1のポート22へのトラフィック(VMの内部アドレス)

このようにして、PuTTYを127.0.1.1のポート22にポイントすると、VirtualBoxはこの接続をVMにリダイレクトし、そこでsshデーモンが応答して、ログインできるようにします。

196
michas

PuTTYを使用して仮想ボックスのubuntuに接続したいと思いました(快適さの理由から、VBは奇妙です。適切な端末上になければ動作できません)。とにかく、

  1. Linuxにsshクライアントがインストールされていることを確認してください。インストールされていない場合は、インストールしてくださいSudo apt install ssh
  2. OSの電源を切ります。
  3. VB go to Settings->Network-> オン Adapter 1選択Host-only adapter-> OKをクリックします。
  4. OSを起動します。 ifconfigを実行します。これで、inetアドレスがIPになります。
  5. これを使用して、PuTTYで実行します。資格情報でログインします。

ホストオンリーアダプターを使用する唯一の欠点は、ゲストOSがより広いネットワーク(インターネットなど)にアクセスできないことです。

VMでインターネットにアクセスする必要がある場合は、アダプター1をNATのままにし、ホストオンリーアダプターとして構成されたアダプター2を有効にします。これにより、 VM NATを使用してインターネットに接続し、Host-Onlyを使用してホストにローカル接続します。

49

最初に、VMがブリッジ接続またはNAT経由でホストマシンに接続されているかどうかを決定する必要がありますが、イーサーウェイではVM = IPに接続できるようにするPuTTYのIPアドレス、VM端末でこのコマンドを実行して、マシンのIPアドレスを表示します(127.0.0.1はマシンのIPアドレスではありません)

VM # ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
       valid_lft forever preferred_lft forever

この場合、私のIPアドレスは10.0.2.15になります。

まず、VMと基本レベルで通信できることを確認し、ホストでターミナルウィンドウを開いて、VMにpingを実行してみます

Host # ping 10.0.2.15

PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms

Antの結果が表示された場合は、VM type as root、

VM # netstat -lnpt | grep 22
tcp   0  0  0.0.0.0:22  0.0.0.0:*  LISTEN  2361/sshd

これは、ポート22をリスンするsshd(OpenSSHデーモン)と呼ばれるPID(2361)のサービス/プロセスがあるためです。

VM it selfからsshを実行して、サービスが正しく機能するかどうかをテストできます。

VM # ssh 127.0.0.1

次に、ファイアウォール/ iptablesでポート22をブロックしていないことを確認する必要があります。信じられませんが、とにかくチェックしてください。 VMにこのコマンドを入力して、iptablesを表示します。

VM # iptables -nvL INPUT

出力では、次のような行が必要です。

0  0  ACCEPT  tcp  --  *  *  0.0.0.0/0  0.0.0.0/0  tcp  dpt:22  ctstate  NEW
22
Rabin

私の解決策はRoman Tの解決策に似ていましたが、いくつかの追加の手順を追加する必要がありました。私の場合、Windows 2008ドメインのWindows 8デスクトップでUbuntu Server 14 VMを実行していました。 NATまたはBridgeを試した場合、インターネットにはアクセスできましたが、SSH経由で接続できませんでした。

Host Only Adapterを試した場合、SSHでマシンにアクセスできますが、インターネットにアクセスできませんでした。

私もポートフォワーディングを試しましたが、喜びはありませんでした。 Wiresharkを開きましたが、VMが見つかりませんでした。

したがって、私の解決策は、2つ目のネットワークアダプターを追加することでした。

方法

VMの電源がオフの場合

  1. 設定>ネットワーククリックアダプター1をクリックし、ブリッジアダプターを選択します。
  2. アダプター2をクリックし、ホストのみのアダプターを選択します。
  3. NATネットワークが表示されていない場合は、[ファイル]> [設定]> [ネットワーク]をクリックします。NATネットワークが表示されない場合は、+アイコンをクリックしてNATネットワークを追加します。
  4. ホストオンリーネットワークが表示されない場合は、[ホストオンリーネットワーク]をクリックし、[+]アイコンをクリックして追加します。

VMを起動

  1. 入力する必要があるネットワークアダプターを表示するには

    ifconfig -a
    
  2. ネットワークアダプターにMACアドレスが追加されていて、IPが追加されていないことがわかりますか?

  3. その場合、DHCPを構成するために/ etc/network/interfacesを編集する必要があります。以下の例はVI/VIMを使用していますが、任意のエディターを使用できます

    Sudo vi /etc/network/interfaces
    
  4. 行を追加

    auto eth1
    iface eth1 inet dhcp
    
  5. ファイルを保存して終了します。
  6. 次に、以下のコマンドを使用してネットワークサービスを再起動してみてください

    Sudo service networking restart
    
  7. または、それが失敗した場合は、VMを再起動します。
  8. 再起動したら、以下を入力して、eth1にIPアドレスが割り当てられているかどうかを確認します

    ifconfig -a
    
  9. もしそうなら、あなたはVMにSSHで接続できるかどうかを確認してください
15
mrjamesmyers

次の手順は、Ubuntu 14.04およびOracle VirtualBox 4.3.30で機能しました。

VirtualBoxでこれを行います。

  1. 仮想マシンを右クリックし、[設定]、[ネットワーク]の順に選択します。

  2. 「接続先」の横にある「ホストオンリーアダプター」を選択します。補足として、「ブリッジアダプタ」も機能します。各オプションの詳細については、VirtualBoxのドキュメントを確認してください。

仮想マシン内でこれを行います:

  1. ターミナルを開いてifconfigと入力し、ネットワークIPアドレスを見つけます。 「inet addr」の下のeth0の横に表示されるIPアドレスを確認します。デスクトップの右上隅にあるネットワークアイコンをクリックして[接続情報]を選択しても、IPアドレスが表示されます。

  2. 端末で次のように入力してopenssh-serverをインストールします。

    Sudo apt-get install openssh-server
    
  3. 念のため、仮想マシンを再起動します。

これで、上記のステップ1のIPアドレスとポート22を使用してPuTTYから接続できます。

14
Roman T

Ubuntu 18.04およびVirtualBox 5.2の場合:

  1. ホストネットワークインターフェイスの作成

    私。 Virtualboxで、File/Host Network Managerをクリックします。

    ii。ホストネットワークアダプター(デフォルトはvboxnet0)がない場合は、Createをクリックします。

  2. VMのホストのみのアダプター設定を有効にする

    私。 Virtualboxで、VMを右クリックして、Settingsを選択します。

    ii。 Networkをクリックし、Adapter 2を選択します。

    iii。 Enable Network Adapterをクリックします。

    iv。 Attached to:Host-only Adapterを選択します。手順1で作成したアダプタの名前が表示されます(デフォルトはvboxnet0)。

  3. VMでネットワーク設定を構成する

    私。 VMを開始し、追加されたインターフェースを確認します:ip ainetアドレスを持たないインターフェースを探します。私のものでは、それはenp0s8でした。

    ii。 /etc/netplan/01-netcfg.yamlを編集します。例えばSudo vi /etc/netplan/01-netcfg.yaml

    iii。元のアダプターの設定で、構成の詳細を追加します。

    enp0s8:
        addresses: [192.168.56.2/24]
        gateway4: 192.168.56.1
        dhcp4: no
    

    これにより、VMに静的IPアドレスが割り当てられます。代わりにdhcpでアドレッシングを処理する場合は、アドレスとゲートウェイの構成を省略し、dhcp4yesに設定します。

    iv。構成ファイルを再ロードします:Sudo netplan apply

  4. SSHからVMへ

    私。 VMにsshをインストールしていない場合:Sudo apt install ssh

    ii。ホストマシンからVMにSSH接続します:ssh <username>@192.168.56.2

3
ooknosi