인터넷을 통해 2 개의 Ubuntu 20.04 장치 간 원격 데스크톱 액세스
홈 오피스에 Ubuntu 20.04 (즉, 원격)를 실행하는 워크 스테이션이 있는데, 이것은 이더넷 케이블로 인터넷에 연결되어 있습니다. 여행하는 동안 저는 일반적으로 더 가벼운 장치를 휴대합니다. 노트북도 Ubuntu 20.04 (즉, 클라이언트)를 실행합니다.
내 목표는 인터넷을 통해 내 노트북에서 내 워크 스테이션에 원격 데스크톱 액세스 (예 : 파일, 터미널 등에 액세스)하는 것입니다.
내 첫 번째 시도는 여기에 설명 된대로 Remmina를 사용하여 VNC를 설정하는 것이 었습니다 . 이것은 효과가 있었고 이제 두 장치가 동일한 네트워크에 연결되어있을 때 랩톱에서 내 워크 스테이션에 액세스 할 수 있습니다. 나는 장치가 동일한 네트워크에 연결하고 난으로 그렇게 할 수 있다는 것을 발견하지 않을 때 VNC를 사용하는 방법에 대해 검색 ' 원격 우분투 시스템과 네트워크에 가상 개인 네트워크 (VPN) 서버를 설정하는 ' .
그래서 저는 VyprVPN 에서 30 일 환불 보장 으로 VPN 서비스를 구입했습니다 . 여기에 설명 된대로 원격 및 클라이언트 모두에서 VPN 연결을 구성했습니다 . 이제 두 장치 모두 VPN에 연결하여 문제없이 웹 서핑을 할 수 있지만 더 이상 VNC를 사용할 수 없습니다.
VPN 제공 업체에 대한 설명을 요청하면 고객 서비스 (봇)에서 '현재 VyprVPN에서 원격 액세스가 지원되지 않습니다'라고 알려주고 내 라우터에 앱을 설치하도록 제안했습니다. 내가 아는 한, 내 홈 라우터 가 VPN 공급자 의 요구 사항 을 충족하지 않습니다 . VyprVPN 요구 사항을 충족하기 위해 새 라우터를 구입하는 것은 괜찮지 만, 이것이 제 문제를 해결할 것이라고 확신하지도 않고 제 경우에 가장 적합한 솔루션이라고 확신하지도 않습니다. 내가 단순히 다른 장치에서 한 장치에 원격 데스크톱 액세스를 설정하는 것을 목표로한다는 점을 고려하면 약간 과잉 인 것 같습니다.
인터넷을 통해 하나의 랩톱 (Ubuntu 20.04)에서 하나의 워크 스테이션 (Ubuntu 20.04)에 대한 원격 데스크톱 액세스에 권장되는 솔루션은 무엇입니까? 오픈 소스 솔루션이 선호됩니다.
친절한 지원에 미리 감사드립니다!
답변
VPN의 두 가지 용도
1. 엔터프라이즈 VPN
VPN은 기업 (회사)에서 원격 사용자가 사무실 네트워크 및 컴퓨터 리소스에 액세스 할 수 있도록하는 데 사용됩니다. 예를 들어 회사의 원격 직원은 VPN을 사용하여 사무실의 내부 네트워크 드라이브에 액세스 할 수 있습니다. 이 컨텍스트에서 원격 사용자가 회사 VPN 서버에 로그인하면 원격 컴퓨터가 사무실 로컬 네트워크의 일부가됩니다. 그런 다음 원격 직원은 VNC를 사용하여 사무실 데스크톱 컴퓨터에 액세스 할 수 있습니다.
나는 이것이 당신이 구상 한 VPN 사용의 종류라고 생각합니다. 그러나 여행하는 동안 원격 컴퓨터가 집에 있고 개인 VPN 서버를 설정할 IT 부서가 없습니다. 직접 설정할 수 있지만 홈 네트워크 컨텍스트에서 하나의 원격 컴퓨터를 안전하게 연결하는 것은 너무 많은 문제라고 생각합니다.
2. 소비자 VPN
VyperVPN과 같은 소비자 VPN 서비스 제공 업체는 동일한 기술을 사용하여 가정 사용자에게 약간 다른 종류의 서비스를 제공합니다. 이러한 서비스 제공 업체는 다양한 위치와 국가에 VPN 서버를 설정하고 가정 사용자가 이러한 서버에 로그인 할 수 있도록합니다.
이를 통해 가정 사용자는 자신의 인터넷 서비스 제공 업체, 정부 등으로부터 인터넷 활동을 숨길 수 있습니다. 또한 가정 사용자가 다른 국가에있는 것처럼 "가장"하고 비디오 스트리밍 서비스를 "바보"할 수 있습니다.
소비자 등급 VPN 서비스 공급자는 홈 네트워크에 VPN 서버를 설정하지 않습니다. 실제로 홈 데스크톱의 VyperVPN에서와 같이 VPN 클라이언트를 사용하는 경우 여행 할 때 해당 데스크톱에 원격으로 연결할 수 없습니다. VPN 서비스가 데스크탑을 다른 곳에있는 것처럼 "가장"하게 만들기 때문입니다! 따라서 VNC를 사용하여 원격으로 연결하기 전에 여행 할 때 집에있는 데스크톱에서 VPN 서비스를 꺼야합니다.
왜 VNC를 사용하지 않습니까?
안전하지 않습니다. VNC는 다소 오래된 프로토콜이며 보안은 현대 표준에 미치지 못합니다. 홈 네트워크 외부에서 연결을 허용하도록 홈 데스크톱에 VNC 서버를 설정할 수 있습니다. 그러나 인터넷 사용자는 누구나 홈 데스크톱에 쉽게 침입 할 수 있으므로 이렇게하는 것은 권장되지 않습니다.
SSH를 통한 VNC
ssh
먼저 가정용 데스크톱 컴퓨터에 서버 를 설정해야합니다 . 이를 수행하는 방법 은 홈 LAN에서 SSH로 두 대의 컴퓨터 연결을 참조 하십시오 .
당신은 일단 ssh
홈 네트워크 내에서 작업 및 작업을 수행 할 수 있습니다 ssh
모두가 홈 네트워크에 연결되어있는 동안 홈 바탕 화면에 노트북에서, 당신은 SSH를 통해 VNC를 사용하여 설치 Remmina해야합니다.
랩톱에서 이미 생성 한 Remmina 데스크톱 환경 설정 창을 열어 홈 네트워크 내에서 데스크톱으로 VNC로 이동합니다.
서버 필드는 위의 LAN IP 주소로 채워져 있습니다. 당신은 다를 것입니다. SSH 터널 탭으로 이동합니다 .
위 그림과 같이 모든 상자를 선택하십시오. 포트 22는의 기본 포트입니다 ssh
. 단순화를 위해이 포트를 사용합니다. 기본값을 다른 포트로 변경하고 나중에 다르게 설정하는 방법에 대해 읽을 수 있습니다.
설정하는 동안 공개 키 를 ssh
설정했습니다. 그렇게 한 경우 인증 방법으로 공개 키를 선택합니다.
그렇지 않으면 암호를 선택하십시오 .
두 컴퓨터가 홈 네트워크에 연결되어있을 때 SSH 터널을 사용하여 랩톱에서 데스크톱으로 VNC 할 수 있는지 확인하십시오.
여행 할 때
집 밖에있을 때 SSH를 통해 VNC를 수행하려면 두 가지 사항을 알아 내야합니다.
- 포트 포워딩
- 동적 도메인 이름 시스템 (DDNS)
1. 포트 포워딩
이것은 라우터 설정의 일부입니다. 요청이 포트 22를 통해 들어올 때 원격 연결 요청이 이동해야하는 장치를 라우터에 알려야합니다.
위 그림에서 내 홈 데스크톱의 IP 주소는 192.168.0.101입니다. 이것은 내 홈 네트워크 내의 로컬 IP 주소입니다. 내 홈 네트워크 외부에서는 의미가 없습니다. 라우터는이 IP 주소를 내 홈 데스크톱에 할당합니다.
포트 22를 통해 전송 된 모든 패키지를 홈 데스크톱 로컬 IP 주소의 포트 22로 전달하도록 라우터를 설정해야합니다.
정확한 프로세스는 라우터마다 다르며이 작업을 정확히 수행하는 방법은 Ubuntu와 관련이 없기 때문에이 사이트의 범위를 벗어납니다.
2. 동적 도메인 이름 시스템 (DDNS)
대부분의 가정용 인터넷 서비스는 ISP (인터넷 서비스 공급자)로부터 고정 IP 주소를받지 않습니다. ISP에서 할당 한 고정 IP 주소가있는 경우이 섹션을 무시하십시오.
Remmina의 원격 데스크톱 기본 설정을 새 것으로 복사하고 서버 IP 주소를 ISP에서 제공 한 고정 IP 주소로 변경할 수 있습니다.
ISP가 귀하의 집에 IP 주소를 동적으로 할당하면 집 (외부) IP 주소가 수시로 변경 될 수 있습니다. 홈 네트워크에 연결되어있을 때 내 IP 주소가 무엇인지 검색하여 외부 IP 주소를 찾을 수 있습니다 .
문제는 여행 중에 ISP가 외부 IP 주소를 변경할 때 그것이 무엇인지 알 방법이 없다는 것입니다. 따라서 홈 데스크톱에 연결할 수 없습니다.
DDNS 서비스 제공 업체를 사용해야합니다. duckdns.org와 같은 무료 서비스 가 있습니다. 그중 하나에서 계정을 만들어야합니다. 계정이 있으면 원하는 DDNS 서비스 제공 업체와 주기적으로 통신하고 홈 IP 주소의 변경 사항을 업데이트하도록 홈 데스크톱을 설정해야합니다. DDNS 서비스 제공 업체는 ivapshome.duckdns.org와 같은 귀하의 집에 대한 인터넷 주소를 생성 ivanpshome
할 것입니다.
홈 데스크톱에서 DDNS 클라이언트를 설정하는 정확한 방법은 DDNS 서비스 공급자에 따라 다릅니다. 이 사이트를 검색하여 DDNS 설정에 문제가 있으면 다른 질문 (필요한 경우)을하십시오.
참고 : 일부 라우터는 일부 특정 DDNS 서비스를 업데이트 할 수 있습니다. 라우터와 사용중인 특정 DDNS 서비스를 확인해야합니다. 정확한 방법은 다양하며이 사이트의 범위를 벗어납니다.
Remmina의 서버 필드에 DDNS 제공 인터넷 주소 (예 : ivapshome.duckdns.org
.
이제 여행 중에 노트북에서 가정용 데스크톱 컴퓨터에 연결할 수 있습니다.
도움이 되었기를 바랍니다
한 네트워크의 장치에서 다른 네트워크의 장치로 원격 연결하기 위해 VPN을 사용할 필요가 없습니다. 해야 할 일은 대상 머신이있는 라우터에서 포트 포워딩을 설정하는 것입니다 (정확하게 수행하는 방법은 라우터에 따라 다르므로 라우터 설명서를 확인해야합니다).
대상 컴퓨터의 포트 5900에서 작동하는 VNC 서버가있는 경우 해당 컴퓨터의 내부 IP 주소에있는 포트 5900에서 라우터의 외부 인터페이스에있는 포트 5900 (또는 다른 포트)으로 포트 전달을 설정하면됩니다.
그런 다음 다른 시스템에서 Remmina를 대상 라우터의 공용 IP 주소 인 포트 5900 (또는 설정 한 다른 포트 번호)에 연결합니다.
ISP가 들어오는 연결을 방화벽으로 보호하지 않는다고 가정하면 작동합니다.
VNC 프로토콜이 안전하지 않다는 아래의 설명과 관련하여 맞습니다. 그렇지 않습니다. 여기서는 가장 간단한 해결책 만 설명했습니다.
이미 언급했듯이 ssh를 통해 VNC 트래픽을 터널링 할 수 있습니다. 즉, 대상 시스템에 ssh 서버를 설치하고 포트 5900이 아닌 포트 22 (ssh 포트)를 전달하십시오.
다른 컴퓨터에서는 ssh를 통해 공용 IP 주소 및 전달 된 포트에 연결하고 ssh를 대상 컴퓨터의 터널 포트 5900, 예를 들어 로컬 컴퓨터 (연결중인 컴퓨터)의 포트 5901에 알리십시오. 다음 명령을 사용하여이를 수행 할 수 있습니다.
ssh -L 5901:localhost:5900 -l <username> <ip_address>
은 ( <username>
는) 대상 컴퓨터의 사용자 이름이며 (로컬 컴퓨터와 동일한 경우 해당 -l <username>
부분을 건너 뛸 수 있음 ) <ip_address>
대상 라우터의 공용 IP 주소입니다.
(대상 머신의 포트 22를 라우터의 22가 아닌 다른 포트로 전달한 경우 -p <port>
위 명령에 해당 부분 을 추가로 포함해야합니다 ).
ssh 세션을 설정 한 후 Remmina를 사용하여 로컬 컴퓨터의 포트 5901에 연결합니다. 로컬 머신의 포트 5901은 ssh를 통해 대상 머신의 포트 5900에 안전하게 연결됩니다.
Remmina는 ssh 세션을 수동으로 설정하지 않고 내부적으로 ssh 터널링을 사용할 수있는 옵션이 있지만 여기에서 설명한 것처럼 특정 응용 프로그램이 어떻게 구성되어 있고 어떤 매개 변수가 어떤 매개 변수인지 해독하는 것보다 명시 적으로 터널링을 수행하는 것이 항상 더 쉽습니다. 입력해야합니다 :)