역방향 SSH 터널을 사용하여 PC에 대한 외부 연결을 허용하는 방법

역방향 SSH 터널을 사용하여 PC에 대한 외부 연결을 허용하는 방법

ISP(인터넷 서비스 공급자)가 전용 IP 주소를 제공할 만큼 운이 좋다면 홈 서버를 설정하고 라우터에 몇 가지 포트 전달 규칙을 추가하여 인터넷에서 사용할 수 있도록 할 수 있습니다. 그러나 ISP가 해당 IP를 이웃과 공유하도록 강요하는 경우 포트 전달은 도움이 되지 않습니다. 다른 공급자는 단순히 방화벽 규칙을 통해 들어오는 연결을 차단합니다.

사용자는 가상 개인 서버의 도움으로 이러한 모든 제한을 극복할 수 있습니다. 네트워크 트래픽을 리디렉션하기만 하면 되므로 모든 것이 512MB 미만의 RAM에서도 작동합니다. RAM과 CPU를 많이 소모하지 않습니다. 서버는 들어오는 연결을 수신하고 " 역방향 SSH 터널 " 을 통해 컴퓨터로 리디렉션합니다 . 이 방법을 사용하면 매우 적은 월 비용으로 모든 유형의 홈 서버를 설정할 수 있습니다.

파일을 업로드하거나 동기화하기 위해 NextCloud 서버를 만든다고 상상해 보세요. 파일이 홈 서버에 있을 때 파일의 개인 정보를 보호할 수 있으며, 필요한 경우 6TB 하드 드라이브를 구입하여 저장 용량을 늘릴 수 있습니다. 가상 개인 서버의 월 전기 요금은 월 $5(115,000 VND) 미만입니다. 6TB 용량의 서버 월별 요금보다 저렴합니다.

참고 : 이 방법은 TCP 네트워크 트래픽을 리디렉션하는 데에만 사용됩니다. TCP는 웹 서버(포트 80/tcp)에서 사용됩니다. UDP는 Counter Strike(포트 27015/UDP)와 같은 일부(전부는 아님) 게임 서버에서 사용됩니다. UDP 터널링도 가능하지만 몇 가지 트릭이 필요합니다.

PC에 대한 외부 연결 허용

Windows 10에는 이제 SSH 클라이언트가 내장되어 있습니다.

SSH 연결을 시작하기 위해 더 이상 PuTTY를 사용할 필요가 없습니다 . 이 튜토리얼에서는 내장된 SSH 클라이언트를 사용하여 터널을 설정합니다. 자세한 내용은 LuckyTemplates의 Windows 10에 OpenSSH를 설치하는 방법 문서를 읽어보세요 .

터널 연결을 위한 가상 사설 서버 준비

선호하는 제공업체를 통해 가상 사설 서버를 만드세요. 가장 중요한 것은 네트워크 대기 시간을 최소화하기 위해 가능한 한 가까운 서버 위치를 선택하는 것입니다. SSH 키를 사용하여 루트 계정에 직접 로그인할 수 있는 방식으로 서버를 설정해 보십시오. SSH 키가 더 안전하기 때문입니다. 서버가 권한 있는 포트라고도 하는 1024 미만의 포트에서 들어오는 연결을 "수신"하도록 하려면 이 작업이 필요합니다.

명령 프롬프트 (또는 Linux를 사용하는 경우 터미널)를 열고 SSH를 통해 서버에 로그인합니다.

OpenSSH 서버 설정을 편집합니다.

nano /etc/ssh/sshd_config

루트로 로그인하지 않고 일반 사용자로 로그인한 경우 파일을 저장하려면 다음 명령을 사용해야 합니다.

sudo nano /etc/ssh/sshd_config

GatewayPorts 라는 변수를 찾을 때까지 아래로 스크롤합니다 . 이 줄은 다음과 같습니다.

#GatewayPorts no

#을 제거하고 (주석에서 프로그램의 일부로 변경하려면) 행을 다음과 같이 변경합니다.

GatewayPorts yes

이 줄을 찾을 수 없으면 맨 아래로 스크롤하여 직접 줄을 추가하세요.

GatewayPorts yes

역방향 SSH 터널을 사용하여 PC에 대한 외부 연결을 허용하는 방법

Ctrl + X를 누른 다음 y를 누르고 마지막으로 Enter를 눌러 파일을 저장합니다.

SSH 데몬을 다시 로드하여 새 설정을 선택합니다.

systemctl reload ssh.service

SSH 세션을 종료합니다.

exit

역방향 SSH 터널을 설정하는 방법

명령 매개변수는 Linux, Windows, 심지어 BSD에서도 동일합니다. 일반적인 구문은 다음과 같습니다.

ssh -R remote_port:host:localport your_username@IP-of-server
  • remote_port는 서버에게 해당 포트의 연결을 리디렉션하도록 지시합니다.
  • 호스트는 연결이 리디렉션될 IP 주소를 서버에 알려줍니다. 여기서는 127.0.0.1을 사용하여 사용자 자신의 컴퓨터로 리디렉션합니다.
  • localport는 어떤 포트 패킷이 리디렉션되어야 하는지 지시합니다. 여기서 사용자는 로컬 컴퓨터에 설치된 애플리케이션이 "수신"하는 포트 번호를 설정해야 합니다.

예를 들어 포트 80의 모든 연결을 서버로 전달하고 이를 로컬 컴퓨터의 포트 8080으로 보내려면 명령은 다음과 같습니다.

ssh -R 80:127.0.0.1:8080 [email protected]

이는 로컬로 포트 8080을 수신하는 Apache 또는 Nginx와 같은 웹 서버가 있다고 가정합니다. 그러나 Apache/Nginx가 기본 포트 80에서 수신 대기하는 경우 이전 명령에서 동일한 포트를 두 번 사용하는 데 문제가 없습니다(다른 서버의 포트 80을 참조하기 때문입니다).

ssh -R 80:127.0.0.1:80 [email protected]

이 시점에서 누군가가 가상 사설 서버의 IP 주소를 브라우저의 주소 표시줄에 입력하면 해당 연결이 로컬 컴퓨터에 의해 리디렉션되고 처리됩니다.

역방향 SSH 터널을 사용하여 PC에 대한 외부 연결을 허용하는 방법

위 이미지에서는 기본적으로 포트 8887에서 수신 대기하는 간단한 Chrome용 웹 서버가 사용되었습니다. 사용자는 그림에 표시된 대로 앱을 설치한 다음 명령을 사용하여 이 설정을 직접 시도할 수 있습니다.

터널을 활성 상태로 유지하려면 SSH 세션이 활성 상태로 유지되어야 한다는 점을 언급할 가치가 있습니다. 터널을 닫으려면 터미널이나 명령 프롬프트 창에 exit를 입력하세요.

보시다시피 역방향 SSH 터널을 만드는 것은 어렵지 않지만 웹 사이트 보안은 다릅니다. 따라서 로컬 NextCloud 서버와 같은 아이디어를 구현하기로 선택한 경우 최소한 가상 머신에서 격리하십시오. 이렇게 하면 웹사이트가 해킹당하더라도 최소한 운영 체제의 나머지 부분은 손상되지 않습니다.

그리고 기억해야 할 또 다른 중요한 점은 잃어버릴 위험이 없는 것을 항상 백업하는 것입니다!

당신이 성공하기를 바랍니다.


Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chromebook을 별도의 화면이나 TV에 연결하는 방법

Chrome OS는 사용자가 Chromebook을 별도의 화면이나 TV에 연결할 수 있는 다양한 방법을 지원합니다.

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

ITop Data Recovery를 사용하여 컴퓨터 데이터를 복원하는 방법

iTop Data Recovery는 Windows 컴퓨터에서 삭제된 데이터를 복구하는 데 도움이 되는 소프트웨어입니다. 이 가이드에서는 iTop Data Recovery 사용 방법에 대해 자세히 설명합니다.

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

Cleaner One Pro로 Mac, Windows PC 속도를 높이는 방법

느린 PC와 Mac의 속도를 높이고 유지 관리하는 방법과 Cleaner One Pro와 같은 유용한 도구를 알아보세요.

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX란 무엇인가요? Windows의 새로운 파일 형식에 대해 알아보기

MSIX는 LOB 애플리케이션부터 Microsoft Store, Store for Business 또는 기타 방법을 통해 배포되는 애플리케이션까지 지원하는 크로스 플랫폼 설치 관리자입니다.

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

키보드 없이 Windows 컴퓨터 화면에 로그인하는 방법

컴퓨터 키보드가 작동을 멈춘 경우, 마우스나 터치 스크린을 사용하여 Windows에 로그인하는 방법을 알아보세요.

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

AMD Ryzen Master로 RAM을 쉽게 오버클럭하는 방법

다행히 AMD Ryzen 프로세서를 실행하는 Windows 컴퓨터 사용자는 Ryzen Master를 사용하여 BIOS를 건드리지 않고도 RAM을 쉽게 오버클럭할 수 있습니다.

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

MS Edge를 실행하고 명령줄에서 URL을 여는 방법

Microsoft Edge 브라우저는 명령 프롬프트와 같은 명령줄 도구에서 열 수 있도록 지원합니다. 명령줄에서 Edge 브라우저를 실행하는 방법과 URL을 여는 명령을 알아보세요.

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

컴퓨터에서 가상 드라이브를 생성하는 최고의 소프트웨어

이것은 컴퓨터에 가상 드라이브를 생성하는 많은 소프트웨어 중 5개입니다. 가상 드라이브 생성 소프트웨어를 통해 효율적으로 파일을 관리해 보세요.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

이제 Windows Store에서 Surface 노트북 하드웨어 테스트 도구를 사용할 수 있습니다.

Microsoft의 공식 Surface 하드웨어 테스트 도구인 Surface Diagnostic Toolkit을 Windows Store에서 다운로드하여 배터리 문제 해결 등의 필수 정보를 찾으세요.

USB에 숨겨진 파일과 폴더를 표시하는 방법

USB에 숨겨진 파일과 폴더를 표시하는 방법

바이러스가 USB 드라이브를 공격하면 USB 드라이브의 모든 데이터를 "먹거나" 숨길 수 있습니다. USB 드라이브의 숨겨진 파일과 폴더를 표시하는 방법은 LuckyTemplates의 아래 기사를 참조하세요.