VirtualBox Guest 로의 SSH : 연결 거부


21

설정

  • Ubuntu 12.04 게스트 OS가 설치된 VirtualBox 4.2를 실행하는 Windows 7 64 비트 호스트 OS.
  • OpenSSH 서버가 설치되어 실행 중입니다 ( ssh -v localhost 는 게스트 시스템에서 로컬로 연결됨).
  • 외부 서버로 SSH 가능 (아웃 바운드 Windows 방화벽 규칙 차단 포트 22 없음)
  • 게스트의 IP를 Ping 할 수 있습니다 (192.168.56.101)

문제

PuTTY를 사용하여 게스트 OS (192.168.56.101)의 IP에 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 연결을 수신 할 수 없습니다.
Gord Thompson

+1 Google-mess 후 마침내! 나는 .101이 호스트가 아닌 손님이라고 생각했다!
Afr

6

다음과 같은 이유로 다른 솔루션은 없습니다.

  1. 손님이 인터넷에 접속할 수 없다면 다리를 통해 손님에게 ssh 할 필요가 없습니다.
  2. 위의 다른 모든 솔루션은 길을 건너 로켓을 구축하라고 말합니다.

대본

  • 호스트 우분투 데스크탑 16.04
  • 게스트 우분투 서버 16.04 (가상 상자 5에서 실행)

문제

SSH 연결이 거부되었습니다

해결책

  1. 손님 우분투를 종료
  2. Virtualbox에서 Setting> network> Adapter1> Advanced> Portforwarding으로 이동하십시오.
  3. 이름 = SSH 호스트 포트 = 2022 (또는 22 이외의 포트) Guestport (22)
  4. 손님 재부팅
  5. 호스트에서 퍼티 또는 SSH에 사용하는 모든 것을 엽니 다.
  6. ssh user@127.0.0.1 -p2022 (또는 hostport로 언급 한 모든 포트)
  7. 당신이에 재미를

이 문제가 있습니다 : Virtualbox 설정> 네트워크> 어댑터 1> 고급> 포트 포워딩이 회색으로 표시되지 않습니다. imgur.com/seT3p02
SL5net

@ SL5net VM 끄기
Alon Gouldman

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

SSH (Secure Shell)는 원격 시스템에 로그인하고 명령을 실행하기위한 프로토콜입니다. 안전한 암호화 통신을 제공합니다. 방화벽이있는 인터페이스를 통해 SSH를 통해 시스템에 원격으로 액세스하려는 경우이 옵션을 활성화하십시오. 이 옵션을 사용하려면 openssh-server 패키지가 설치되어 있어야합니다.

다음은 패키지 openssh-server를 설치해야 한다는 정보입니다 . 게스트에서 vm을 다시 시작한 후 ssh를 사용할 수 있습니다.


우분투 16.04를 다시 시작하지 않았지만 여전히 작동했습니다. 감사합니다 :)
오렌 Milman

1

게스트 OS 방화벽이 포트 22에서 들어오는 연결을 차단하지 않는지 확인해야합니다.


1
게스트 OS 방화벽이 비활성화되었습니다. 이것이 기본값이며로 비활성화되어 있음을 확인했습니다 sudo ufw status.
Eric J.

1

액세스 제어에 문제가있을 수 있습니다. 루트로 비활성화하고 전체 액세스를 허용하려면 다음을 수행하십시오.

xhosts +

VNC 뷰어와 비슷한 문제가있었습니다.


1
IMHO sshd는 vnc와 달리 X와는 아무런 관련이 없습니다.
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 서버 설정에 대한 시작 안내서 :

1 부 – 가상 머신 설정

  1. Oracle VM VirtualBox 및 확장 팩을 여기에 설치 하십시오 .
  2. 여기 에서 CentOS 최소 설치를 다운로드 하십시오 .
  3. 이 튜토리얼에서는 Ubuntu 클라이언트를 사용하고 있습니다. 이에 대한 ISO는 여기 에서 찾을 수 있습니다 .
  4. CentOS 서버 및 클라이언트 가상 머신을 작성하십시오.
  5. CentOS VM을 설정하십시오. ㅏ. 설치 대상을 열고 뒤로를 누르십시오. 비. 호스트 이름을 변경하려면 네트워크 및 호스트 이름으로 이동하십시오. 씨. 현지화에서 항목을 자유롭게 구성하십시오. 다른 모든 것은 VirtualBox에 의해 자동으로 처리됩니다. 디. 설치 시작을 누릅니다. 이자형. 루트 계정과 일반 계정을 모두 만듭니다. 후자가 관리자 권한을 가지고 있는지 확인하십시오. 에프. 로딩 바가 가득 차면 재부팅을 누릅니다.
  6. 클라이언트 VM을 설정하십시오. ㅏ. VirtualBox 게스트 추가를 설치하십시오.

2 부 – 가상 네트워크 구성

  1. VirtualBox에서 Ctrl + W를 누릅니다.
  2. 새 호스트 네트워크를 만듭니다. ㅏ. 오류가 발생하면 호스트 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-update, yum upgradeyum clean all.
  3. 를 실행하십시오 nmtui.
  4. “연결 편집”을 통해 Enter 키를 누르십시오.
  5. "enp03s"및 "Wired Connection 1"이 표시되어야합니다. ㅏ. 두 개의 연결 옵션이 있지만 어떤 것이 확실하지 않은 경우 하나를 편집하십시오. 장치 값이 파트 II의 어댑터 1에 표시된 MAC 주소와 일치하면 NAT 연결이고 그렇지 않은 경우 호스트 전용 연결입니다.
  6. 호스트 전용 연결을 편집하십시오. IPv4 구성을 "수동"으로 설정하십시오. b. IPv4 구성 표시 c. VirtualBox에서 Ctrl + W를 누릅니다. 호스트 전용 네트워크 이름 옆에 "[ip] / [mask]"형식의 IP 주소 / 마스크 조합이 표시됩니다. IPv4 구성의 서버에서을 누르면 입력 <Add…>합니다. 디. 내려 가서 OK를 누릅니다.
  7. 호스트 전용 및 NAT 연결 모두에 대해“자동 연결”이 선택되어 있는지 확인하십시오.
  8. nmtui및에서 탐색합니다 reboot.

IV 부 – 클라이언트 구성 및 사용법

  1. 클라이언트 VM을 부팅하십시오.
  2. (선택 사항) / etc / hosts를 편집하여 다음 형식의 행을 포함하십시오. [serv_ip_addr] [hostname] 여기서 serv_ip_addr은 CentOS 서버의 IP 주소입니다 ( hostname -ICentOS 터미널에서 두 번째 출력 ). 이렇게하면 [hostname]에 대해 선택한 것을 서버의 IP 주소와 상호 교환하여 사용할 수 있습니다. 나는 보통 이것을 II 부에서 선택한 호스트 이름으로 설정했다.
  3. 모든 것이이 시점까지 작동 [user]@[hostname]했다면 CentOS 서버 에 ssh 할 수 있어야 합니다. 그렇지 않은 경우, 당신은 설치해야 openssh-client하고 openssh-server당신의 컴퓨터에.

파트 V – 웹 사이트 서비스

  1. 안내서는 위에서 설명한 설정에서 자신의 웹 사이트를 호스팅하는 데 유용한 안내서입니다.

0

두 번째 어댑터에 ufw 규칙을 추가 하여이 문제를 해결해야했습니다.

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

여기서 enp0s8은 내 두 번째 어댑터의 이름입니다 (이전 Ubuntu 배포판에서는 eth1이었습니다).


-1

Linux 상자 (VirtualBox Ubuntu)에서 터미널을 열고 다음 명령을 입력하십시오. sudo service ssh start

이 후에 다시 연결하십시오

오 나의 나쁜 나는 gronostaj가 지적한 것을 놓쳤다.

때로는 솔루션이 정말 간단합니다. 최근에 나는 Windows 7 호스트에서 Slackware 게스트와 동일한 문제에 직면했습니다. 내가해야 할 일은 ifconfig up eth'X '이고 IP 192.168.56.xxx sub net 255.255.255.0 (호스트 전용 어댑터 인 경우)을 할당하는 것입니다. 이 페이지에서 "ssh 연결이 거부되었습니다"검색 ;-)


OP는 로컬 SSH 연결이 작동한다고 서버가 실행 중이라고 언급했습니다.
gronostaj

-2

같은 문제가 있었지만 가상 하드 드라이브를 VM에 추가하여 해결했습니다.


그것은 당신의 문제가 다르다는 것을 의미합니다. VM에 하드 드라이브가없는 경우 운영 체제로 부팅되지 않았으며 VM은 OP였습니다. 답변하기 전에 질문을주의 깊게 읽고 이해했는지 확인하십시오.
music2myear

이것은 질문에 대한 답변을 제공하지 않습니다. 평판 이 충분 하면 모든 게시물댓글 수 있습니다 . 대신 asker의 설명이 필요없는 답변을 제공하십시오 . - 리뷰에서
music2myear

내 VM은 추가 가상 하드 드라이브, 리눅스 32 비트 ISO 파일을 부팅 된
루이 Garczynski

이는 "실시간"Linux 세션을 실행 중임을 의미하며, 이는 OP가 다루지 않은 것이 아닙니다. 문제를 해결하게되어 기쁩니다. 그러나 솔루션이 OP가 겪고있는 솔루션이나 그보다 더 가까운 솔루션은 아닙니다.
music2myear

당신은 절대적으로 맞습니다. OP의 문제가 너무 구체적이라는 것을 몰랐습니다. 즉, 동일한 오류 메시지가 있다고 생각하면 문제가있는 사람이 여기에 올 때를 대비하여 여기에 답을 유지합니다.
Louis Garczynski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.