Puttyを使用してローカルVM UbuntuにSSHしようとしています


145

UbuntuサーバーのVMをセットアップし、OpenSSHをインストールし、Puttyを使用して接続しようとしています。Putty内で、「ホスト名」の下に「Ubuntu」と入力しました。これは、VMをセットアップしたときにこれが呼び出されたと思ったものだからです。ただし、「接続がタイムアウトしました」というエラーが表示されるだけです。

また、Putty内のホスト名に「127.0.0.1」を入力しようとしましたが、「接続拒否」になります。Oracle VM内でSSHとHTTPのポート転送を行っているため、実行方法については迷っています。


FWIWブリッジ/ホストは私には機能しませんでしたが、本質的にはSSHを「アウト」するだけで回避できたので(結局、scpは双方向に移動できます)、SSHアクセスは必要ありませんでしたゲスト内。
rogerdpack 16

回答:


183

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

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

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


20
おかげで、これは私のために働いた。cygwinのからの私ができるようになりましたssh username@127.0.1.1し、私がいるよあなたが必要とするパネルが設定- >ネットワーク- >ポートフォワーディングで、鉱山は今で示されているように見えます:。imgur.com/BjGh3N2
user7543

38
ポートが重複しているため、ホストですでにsshを実行している場合、これは機能しません。ポート127.0.1.1:2222を10.0.2.X:22にリダイレクトし、ホストから「ssh 127.0.1.1 -p 2222」を実行します
dzlatkov

8
また、クライアントOSにopenssh-serverがインストールされていることを確認してください。sudo apt-getインストールopenssh-server
イルミナティ

17
自分でこの問題を抱えていた-説明してくれてありがとう。私は基本的にあなたが言ったことに従った。[設定]に移動すると、接続に「NAT」と表示されました。画面下部の「ポート転送」オプションをクリックしました。名前に「PuTTY-port-fwd」、プロトコルTCP、ホストIP 127.0.0.1ホストポート2222ゲストIP 10.0.2.15ゲストポート22を付けました。次に、PuTTYを起動して127.0.0.1ポート2222に設定し、接続しましたOpenSUSE vm。おかげで、これが将来の誰にも役立つことを願っています;-)
BubbleMonster

3
これは私にとってはうまくいきましたが、VirtualBoxに127.0.0.1のポート2222を開くように指示する必要がありました。その後、次を使用してログインできましたssh -p 2222 user@127.0.0.1
-mchen.ja

44

仮想ボックスでUbuntuに接続するために、パテを使用したかった(快適な理由、VBは奇妙です。適切な端末上でなければ作業できません)。とにかく、

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

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

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


4
「ブリッジ」は、ローカルインターフェイスにIPを配置し、インターネットへのアクセスをブリッジします。
デューク

2
ここで説明されているように、ブリッジ経由で2つのインターフェイスを使用する利点は、ローカルのdhcpサーバーが要求を受け入れることに依存しないことです。公共の場所(港、飛行機、ホテル、さらにはほとんどの企業ネットワーク)のほとんどのdhcpサーバーは、同じwifiアダプターを介して2番目のIPを提供しないため、ブリッジされたVMはそれらの環境では機能しません。この特定の構成をセットアップする方法について、非常に優れたステップバイステップを示します
。christophermaier.name/ 2010/09/01

魅力のように機能しますが、NATをそのままにするために、アダプター2を3番目のオプションに配置する必要があります
user3502626

どうもありがとう。
ルーク

どうもありがとう。私はからUbuntuのネットワーク設定を変更するときにはNAThost only adapterそれ、もはやインターネットにすべてのソリューションを接続することはできませんか?
ルーク

19

まず、VMがブリッジ接続またはNAT経由でホストマシンに接続されているかどうかを判断する必要がありますが、VMターミナルでIPに接続するには、VM IPアドレスをパテに入れる必要がありますこのコマンドは、マシンの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タイプの端末でrootとしてsshサービスがVMで実行されていることを確認してください。

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自体から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

それを試してみたところ、明らかに私のIPアドレスは10.0.2.15です。私はそれをPuttyに入力しようとしましたが、connection timed out再びエラーが発生しました。私も試したnvLもの、あなたが言及するコマンドを、そして(もっと良い言葉がないために)の負荷を取得- Chain INPUT (policy accept......chain FORWARD.....など
wickywills

確認できるポイントをいくつか追加して回答を書き直しました。お知らせください。
ラビン14

2
ping 10.0.2.15がタイムアウトした場合はどうなりますか?NATを使用します。
ダンダスカレスク14


便宜上iptables -A INPUT -p tcp --dport ssh -j ACCEPT、iptablesにtcpが表示されない場合、着信トラフィックを許可します。
エリックホジンズ

15

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

Host Only Adapterを試してみると、マシンにSSH接続できますが、インターネットにアクセスできません。

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

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

方法

VMの電源がオフの状態

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

VMを起動します

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

    ifconfig -a
    
  2. ネットワークアダプタにIPではなくMACアドレスが追加されているのを見ることがありますか?

  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接続できるかどうかを確認します

ソリューションを試しましたが、新しいインターフェイスにIPが割り当てられていません。さらに、VBoxでDHCPを有効にしています。
アスラン

12

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

VirtualBoxでこれを行います。

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

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

仮想マシン内でこれを実行します。

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

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

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

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


2

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
    

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

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

  4. VMへのSSH

    私。sshVMにインストールしていない場合:sudo apt install ssh

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


ありがとう、私の一日を救った!
anber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.