내 Windows 7 컴퓨터에서 Ubuntu VM을 실행하고 있습니다. SSH를 통해 외부에서 웹 서버에 액세스 할 수 있도록 어떻게 설정합니까?
호스트에서 게스트 로 ssh 할 수있는 단계 ( VirtualBox 호스트와 게스트 VM 간의 SSH 액세스 설정)를 찾았 지만 여전히 라우터를 통해 호스트에 액세스하는 데 문제가 있습니다.
Windows 컴퓨터에 SSH 서버를 설치 한 다음 몇 번 터널링 할 수 있다고 가정합니다 (로컬, 동적 등의 측면에서 무엇을 사용 해야하는지 또는 여러 터널을 설정하는 방법은 100 % 확실하지는 않지만), 하지만 내 라우터에서 VM에 직접 액세스 할 수 있도록 직접 포트 전달할 수있는 방법이 있습니까?
답변
게스트 Linux VirtualBox VM에 로그인하는 가장 좋은 방법은 포트 전달 입니다. 기본적으로 NAT를 사용하는 하나의 인터페이스가 있어야합니다 . 그런 다음 네트워크 설정으로 이동 하여 포트 전달 버튼을 클릭하십시오 . 새 규칙을 추가하십시오 . 규칙 이름으로 “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 user@127.0.0.1
user
VM 내 사용자 이름은 어디에 있습니까 ?
답변
VirtualBox의 어댑터 유형을 브리지로 변경하고 게스트가 DHCP 를 사용하도록 설정하거나 DHCP 경계 외부 에서 고정 IP 주소를 설정하십시오 . 그러면 가상 머신이 홈 네트워크에서 일반 게스트처럼 작동합니다. 그런 다음 포트 포워드 할 수 있습니다.
답변
NAT 어댑터를 유지하고 두 번째 호스트 전용 어댑터를 추가하면 놀라운 효과가 있으며 랩톱 (외부 네트워크가 항상 변경되는)에 중요합니다.
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
가상 상자 자체 (GUI-> 설정-> 네트워크)에서 호스트 전용 네트워크를 만들어야합니다. 그렇지 않으면 게스트에서 호스트 전용 인터페이스를 만들 수 없습니다.
답변
Solaris 10 및 Ubuntu 16.04에 대해 호스트 전용 네트워크를 수행하는 방법 ( 브릿지보다 나은 방법 )
호스트 전용 인터페이스 추가
- Virtualbox> 파일> 환경 설정> 네트워크> 호스트 전용 네트워크> 추가
- VM을 종료합니다.
- VM의 설정> 네트워크. 첫 번째 어댑터는 Nat이고 두 번째는 호스트 전용이어야합니다.
-
cmd.exe를 시작하고를 실행하십시오
ipconfig /all
. 당신은 라인을 볼 수 있습니다 :Ethernet adapter VirtualBox Host-Only Network: ... IPv4 Address. . . . . . . . . . . : 192.168.59.1
게스트의 두 번째 어댑터도 192.168.59. *에 있어야합니다.
-
VM을 시작하십시오.
솔라리스 10
- 설정을 확인하십시오
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 서비스 ( 관리 ) 구성 (권장되지 않음)
ssh가 활성화되어 있는지 확인
# svcs -a | grep ssh
online 15:29:57 svc:/network/ssh:default
/ etc / ssh / sshd_config를 수정하여
PermitRootLogin yes
SSH 서비스를 다시 시작하십시오.
svcadm restart ssh
호스트에서 확인
ssh root@192.168.56.10
우분투 16.04
인터페이스 목록 :
ip addr
lo, enp0s3, enp0s8과 같은 세 가지 인터페이스가 표시되어야합니다. 우리는 세 번째를 사용할 것입니다.
/ 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
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
답변
네트워크 설정 에서 브리지 네트워크 (또는 최신 버전의 “브리지 어댑터”)를 사용할 수도 있습니다 . 그러면 머신과 함께 VM이 VM에 배치됩니다. 따라서 이와 같이 VM으로 ssh 할 수 있습니다.
ssh user @ IP_OF_VM
답변
호스트 컴퓨터에서 VirtualBox에서 실행되는 Ubuntu VM으로 ssh하려면 VM에 대해 두 개의 네트워크 어댑터를 설정해야합니다.
우선, 아직 VM을 중지하십시오.
그런 다음 VM을 선택하고 VirtualBox 도구 모음에서 설정 메뉴를 클릭하십시오.
어댑터 1 설정
어댑터 2 설정
(참고 : 포트 포워딩을 설정할 필요가 없습니다.)
그게 다야. 일단 설정되면 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
또한 귀하의 정보를 위해 :
- 내 VirtualBox 버전 : 5.2.6 r120293 (Qt5.6.2), 2018
- 내 우분투 버전 : Ubuntu 16.04.3 LTS
- 내 호스트 컴퓨터 : Windows 10
답변
다른 사용자가 제공 한 답변은 다음과 같습니다. How to SSH to a VirtualBox guest externally through a host?
… 인터넷에서 가정용 컴퓨터의 게스트 컴퓨터로 연결하는 작업을 수행하는 데 도움이되었습니다. 컴퓨터, 태블릿 및 스마트 폰 (android, Iphone 등)을 사용하여 연결할 수 있어야합니다. 다른 사람에게 도움이 될 수 있도록 몇 가지 단계를 더 추가합니다.
내 설정에 대한 간단한 다이어그램은 다음과 같습니다.
-
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
-
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
-
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
나를위한 열쇠는 모든 연결이 PASSING-THROUGH
원격 PC에서 집에있는 게스트 가상 머신 으로가는 중개 장치 라는 것을 깨달았습니다 .
참고 : * 보안 연결을 처리하려면 SSH 클라이언트가 필요하고 보안 연결을 처리하려면 실행중인 SSH 서버가 필요합니다.
-
위에서 선택한 답변에 사용 된대로 포트 3022를 전달하겠습니다.
-
필요한 곳에 IP를 입력하십시오 (가정용 모뎀 / 라우터, 호스트 IP, 게스트 IP 등). 선택된 이름은 단지 사용 또는 변경입니다.
1. 모뎀의 IP / 라우터 외부 IP 주소에서 포트 3022로 ssh 터널을 만듭니다.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2. 포트 포워드 = 라우터를 통해 호스트 컴퓨터로 연결을 통과합니다.
-
또한 라우터의 방화벽 / IPtable 규칙으로 포트를 전달할 수 있어야합니다 (필요한 경우 열림).
-
라우터의 Pfwd SCREEN 필수 항목 : AppName : SSH_Fwd, Port_from : 3022, Protocol : both (UDP / TCP), IP_address : hostIP_address, Port_to : 3022 (다른 모든 항목은 비워 둘 수 있음)
DD-WRT 라우터 소프트웨어 리소스 / 정보 :
3. 호스트 머신 방화벽 : 열린 포트 3022 # 전달 된 포트는 게스트 머신을 통과 할 수 있습니다
-
호스트 컴퓨터 : VirtualBox, 게스트 추가 및 게스트 컴퓨터를 아직 설치하지 않은 경우 설치
-
게스트 컴퓨터를 구성한 다음 아래 네트워크 섹션을 따르십시오.
-
CLI보다 게스트 네트워크를 설정하기 위해 VirtualBox GUI를 사용했습니다.
-
다른 방법을 사용하려면 다음을 참조하십시오.
VirtualBox/manual/ch06.html#natforward
4. 게스트를 위해 Network Bridge 어댑터를 사용하는 것이 좋습니다 = LAN 및 LAN의 다른 시스템에 대한 액세스. 방화벽이 제대로 설정되지 않으면 게스트 컴퓨터가 이제 LAN 컴퓨터와 인터넷 해커에 노출되기 때문에 보안 위험이 높아집니다. 따라서 브리지 된 보안 위험에 대한 노출을 줄이기 위해 NAT에 연결된 네트워크 어댑터를 선택했습니다.
게스트 컴퓨터에서 다음을 수행하십시오.
- 게스트 시스템 VirtualBox 네트워크 설정 : 어댑터 1 : NAT에 연결
- 게스트 시스템 VirtualBox 포트 전달 규칙 : 이름 : External_SSH, 프로토콜 : TCP, 호스트 포트 : 3022, 게스트 포트 22, 호스트 및 게스트 IP : 비워 두십시오.
- 네트워크 섹션에서 사전을 클릭 한 다음 포트 전달을 클릭하여 규칙을 입력하십시오.
- 게스트 컴퓨터 방화벽 : 열린 포트 22 #ssh 연결을 입력 할 수 있습니다
- 게스트 시스템 : ssh 서버가 설치되고 올바르게 구성되어 실행 중인지 확인하십시오.
- ssh 서버가 w / command를 실행 중인지 확인하기위한 Linux 테스트 : sudo service ssh status
- 게스트 시스템의 포트 22에 연결되어 있는지 netstat를 확인할 수 있습니다.
또한 플랫폼 사용에 따라 다른 ssh 서버와 클라이언트가 있습니다.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
우분투 사용자의 경우 :
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
그게 다야. 내가 실수를하거나 무언가를 추가하고 싶을 때-마음대로 할 수 있다면-나는 여전히 멍청하다.
이것이 누군가를 돕기를 바랍니다. 행운을 빕니다!
