VirtualBoxゲストへのSSH:接続拒否


21

セットアップ

  • VirtualBox 4.2を実行するWindows 7 64ビットホストOS、Ubuntu 12.04ゲストOS。
  • OpenSSHサーバーがインストールされ、実行されていますssh -v localhostはゲストマシンでローカルに接続します)。
  • 外部サーバーにSSH接続できます(ポート22をブロックする送信Windowsファイアウォールルールなし)
  • ゲストのIPをpingできます(192.168.56.101)

問題

PuTTYを使用してゲストOSのIP(192.168.56.101)にSSHで接続すると、PuTTYはほとんどすぐに戻ります。

ネットワークエラー:接続が拒否されました

この問題を診断および解決するにはどうすればよいですか?

回答:


10

IPはゲストOS用のものですか?私は同じ問題を抱えており、私がずっと使っていたIP、192.168.56.101は実際にはWindowsインターフェースIPであり、ホストOS IPは192.168.56.103であることが判明しました。

両方でipconfig / ifconfigを実行することで確認できます。

注:静的IPもセットアップしましたが、まったく必要ありませんでした。最初から試す場合、このチュートリアルの方が優れていることがわかりました。


6
+ 1、VirtualBoxのデフォルトでは、VirtualBox自体によって仮想ネットワークアダプターがNATされるゲストを作成します。したがって、このようなお客様には、SSHすることができるだろうアウト、およびSSHのことができるようになり、それ自体が、ポート転送ルールはVirtualBoxの中で作成されたまで、SSH接続を受信することができません。
ゴードトンプソン

+1 1時間のGoogle混乱の後、ついに!.101はホストではなくゲストだと思いました!
14

6

他の解決策はどれも優れていません:

  1. ゲストがインターネットへのアクセスを失う場合、ブリッジを介してゲストにsshしても意味がありません
  2. 上記の他のすべてのソリューションは、道路を横断するロケットを構築するように指示します。

シナリオ

  • ホストUbuntu Desktop 16.04
  • ゲストUbuntuサーバー16.04(仮想ボックス5で実行)

問題

SSH接続が拒否されました

溶液

  1. ゲストUbuntuをシャットダウンします
  2. Virtualboxで、[設定]> [ネットワーク]> [Adapter1]> [詳細]> [ポート転送]に移動します。
  3. Name = SSH Hostport = 2022(または22以外のポート)Guestport(22)
  4. ゲストを再起動します
  5. ホストでパテまたはSSHに使用するものを開きます
  6. ssh user@127.0.0.1 -p2022(またはホストポートとして言及したポート)
  7. 楽しんでください

私はこれに問題があります:Virtualbox設定>ネットワーク>アダプター1>詳細設定>ポートフォワーディングで灰色をクリックできません imgur.com/seT3p02
SL5net

@ SL5netはVMをオフにします
アロングールドマン

2

以下は私のために働く:

前:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

後:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

そのため、基本的に、ファイル{/ etc / network / interfaces}の一部を次のように変更しました。

前:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

後:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

作品: ssh username@192.168.56.101


なぜかわからない、これは私のために働いた。ありがとう@Mause
murarisumit

2

Secure Shell(SSH)は、リモートマシンにログインしてコマンドを実行するためのプロトコルです。安全な暗号化通信を提供します。ファイアウォールインターフェイスを介してSSH経由でマシンにリモートアクセスする予定がある場合は、このオプションを有効にします。このオプションを使用するには、openssh-serverパッケージがインストールされている必要があります。

パッケージopenssh-serverをインストールする必要があるという情報があります。ゲストでそれを行い、vmを再起動したら、sshを使用できます。


Ubuntu 16.04を再起動しませんでしたが、まだ機能していました。ありがとう:)
オーレンミルマン

1

ゲストOSファイアウォールがポート22の着信接続をブロックしていないことを確認する必要があります。


1
ゲストOSファイアウォールは無効になっています。これがデフォルトであり、で無効になっていることを確認しましたsudo ufw status
エリックJ.

1

多分それはアクセス制御の問題です。無効にしてフルアクセスを許可するには、rootとして:

xhosts +

VNCビューアーで同様の問題が発生しました


1
私は本当に疑っています、私見sshdはXとは何の関係もありません-vncとは対照的です。
mpy

1

VirtualBoxネットワークアダプターでDHCPサーバーを有効にすることで問題は解決しました。

VirtualBox(最新バージョン、バージョン5)-> ファイル -> 設定 -> ネットワーク -> ホスト専用ネットワーク(タブ)->ホスト専用ネットワークの詳細(アイコンツール)-> DHCPサーバー

  1. サーバーを有効にする
  2. IPアドレスを入力してください
  3. はいはい
  4. 仮想マシンを再起動します

ステップ2の設定

  1. サーバーアドレス:192.168.56.100
  2. サーバーマスク:255.255.255.0
  3. 下限アドレス:192.168.56.101
  4. 上限アドレス:192.168.56.200

1

ちょっとしたトラブルシューティングと調査のミニサガで見つけた最初のページに戻りました。このチュートリアルが他の誰かの手間を省けることを願っています。

Oracle VMを使用したCentOSサーバーの設定に関するスタート・ツー・エンドのガイド:

パートI –仮想マシンのセットアップ

  1. ここに Oracle VM VirtualBoxと拡張パックをインストールします。
  2. CentOSの最小インストールをここからダウンロードします
  3. このチュートリアルでは、Ubuntuクライアントを使用しています。そのためのISOはここにあります
  4. CentOSサーバーとクライアント仮想マシンを作成します。
  5. CentOS VMをセットアップします。a。インストール先を開き、戻るを押します。b。ホスト名を変更する場合は、[ネットワークとホスト名]に移動します。これをお勧めします。c。ローカリゼーションの下で項目を自由に設定してください。それ以外はすべてVirtualBoxによって自動的に処理されます。d。[インストール開始]を押します。e。ルートアカウントと通常アカウントの両方を作成します。後者に管理者権限があることを確認してください。f。読み込みバーがいっぱいになったら、再起動を押します。
  6. クライアントVMをセットアップします。a。VirtualBoxゲストの追加をインストールします。

パートII –仮想ネットワークの構成

  1. VirtualBoxで、Ctrl + Wキーを押します。
  2. 新しいホストネットワークを作成します。a。エラーが表示される場合は、ホストOSがドライバーをインストールするVirtualBoxの問題を引き起こしている可能性があります。VirtualBoxを完全にアンインストールして、最新バージョンを再インストールする必要があります。必ず管理者としてインストールを実行してください。
  3. [アダプタ]タブで、[アダプタを手動で設定]を選択します
  4. Windowsの場合、コマンドプロンプトを開き、ipconfigと入力します。
  5. 作成したホストオンリーネットワークの名前が見つかるまで、出力をスクロールします。VirtualBoxネットワーク設定にこのIPv4アドレスとマスクを使用します。
  6. ホストネットワークマネージャーを閉じます。
  7. クライアントVMの設定を開きます。[ネットワーク]、[アダプター2を有効にする]で、[ホスト専用アダプター]を選択します。名前は、新しく作成されたホスト専用ネットワークの名前です。
  8. CentOSサーバーVMに対して最後の手順を繰り返します。さらに、[詳細設定]タブでアダプター1のポート転送に移動し、新しいルールを作成します。ホストポートとゲストポートの両方を22に設定します。
  9. 詳細設定を閉じる前に、MACアドレスをメモしてください。

パートIII –サーバー構成

  1. CentOS VMを起動します。
  2. ファイル名を指定して実行yum check-updateyum upgradeyum clean all
  3. を実行しますnmtui
  4. [接続の編集]でEnterキーを押します。
  5. 「enp03s」と「有線接続1」が表示されます。a。2つの接続オプションがあるが、どちらがどちらかわからない場合は、どちらかを編集します。デバイス値がパートIIのアダプタ1で見られるMACアドレスと一致する場合、それはNAT接続です。それ以外の場合はホストオンリー接続です。
  6. ホストオンリー接続を編集します。IPv4構成を「手動」に設定します。IPv4構成を表示c。VirtualBoxで、Ctrl + Wキーを押します。ホストオンリーネットワーク名の横に、「[ip] / [mask]」という形式のIPアドレス/マスクの組み合わせが表示されます。IPv4構成のサーバーでは、を押してから入力し<Add…>ます。d。下に移動して[OK]を押します。
  7. ホストオンリー接続とNAT接続の両方で「自動接続」がチェックされていることを確認してください。
  8. うち移動nmtuireboot

パートIV –クライアントの構成と使用

  1. クライアントVMを起動します。
  2. (オプション)/ etc / hostsを編集して、次の形式の行を含めます。[serv_ip_addr] [hostname] serv_ip_addrは、CentOSサーバーのIPアドレスです(hostname -ICentOS端末の2番目の出力)。これにより、[ホスト名]に選択したものをサーバーのIPアドレスと交換可能に使用できます。通常、これはパートIIで選択したホスト名に設定するだけです。
  3. すべてがこの時点までうまくいけば[user]@[hostname]、CentOSサーバーにSSH接続できるはずです。そうでない場合は、インストールする必要があるかもしれないopenssh-clientopenssh-server、あなたのマシン上で。

パートV – Webサイトの提供

  1. これは、上記のセットアップから独自のWebサイトをホストするための優れたガイドです。

0

2番目のアダプターにufwルールを追加して、この問題を解決する必要がありました。

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

ここで、enp0s8は2番目のアダプターの名前です(古いUbuntuディストリビューションではeth1でした)。


-1

Linuxボックス(VirtualBox Ubuntu)で、ターミナルを開き、次のコマンドを入力します。 sudo service ssh start

この後、もう一度接続してみてください

私の悪い点は、グロノスタジが指摘したことを見逃した

時々、解決策は本当に簡単です。最近、Windows 7ホスト上のSlackwareゲストで同じ問題に直面しました。ifconfig up eth'X 'とIP 192.168.56.xxxサブネット255.255.255.0(ホストのみのアダプターの場合)を割り当てるだけですこのページで「ssh connection refused」を検索します;-)


OPは、ローカルSSH接続が機能するため、サーバーが稼働していると述べていました。
グローノスタジ

-2

同じ問題が発生した場合、仮想ハードドライブをVMに追加して解決しましたが、仮想ハードドライブには何もありませんでした。


それはあなたの問題が異なっていたことを意味します。VMにハードドライブがない場合は、OSから起動されませんでした。OPsVMはそうでした。回答する前に質問をよく読んで理解してください。
music2myear

これは質問に対する答えを提供しません。十分な評判たら、投稿コメントできるようになります。代わりに、askerからの説明を必要としない回答を提供してください。- レビューから
music2myear

VMがLinux 32ビットISOファイルで起動され、追加の仮想ハードドライブはありませんでした
Louis Garczynski

これは、「ライブ」Linuxセッションを実行していたことを意味します。これは、OPが扱っていたものではないことは明らかです。問題を解決できたことをうれしく思いますが、あなたの解決策は、OPが経験しているものに近い解決策ではなく、特に近いものです。
music2myear

あなたは絶対に正しいです、私はOPの問題がそれほど具体的であることを知りませんでした。とはいえ、同じエラーメッセージが表示されることを考慮して、私の問題を抱えている人がここにいる場合に備えて、ここで答えを続けます。
ルイ・ガルチンスキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.