Linux에서 SSH 터널링을 설정하는 방법

How Setup Ssh Tunneling Linux



일반적으로 SSH 포트 포워딩으로 알려진 SSH 터널링은 원격 호스트에서 암호화된 SSH를 통해 로컬 네트워크 트래픽을 라우팅하는 기술입니다. SSH 터널을 통한 네트워크 트래픽 라우팅은 특히 FTP와 같은 암호화되지 않은 네트워크 프로토콜의 경우 높은 수준의 데이터 암호화 및 보안을 보장합니다. 이것은 특히 보안되지 않은 네트워크에 연결된 경우 매우 유용합니다.

이 자습서에서는 SSH 터널을 설정하고 보안 터널을 통해 트래픽을 안전하게 라우팅하는 방법을 설명합니다. SSH 포트 포워딩의 세 가지 방법에 대해 설명합니다.







  1. 로컬 포트 ​​포워딩
  2. 원격 포트 포워딩
  3. 동적 포트 포워딩

전제 조건

이 튜토리얼에서는 다음이 필요합니다.



  1. 로컬 머신
  2. VPS와 같은 원격 호스트

로컬 포트 ​​포워딩

이 유형의 포트 전달을 사용하면 로컬 컴퓨터의 포트를 원격 컴퓨터의 특정 포트로 전달한 다음 대상 주소로 전달할 수 있습니다.



로컬 포트 ​​포워딩을 사용하면 로컬 시스템이 지정된 포트에서 수신 대기하고 특정 포트에 대한 모든 트래픽을 원격 서버에 지정된 포트로 터널링할 수 있습니다. 원격 서버가 트래픽을 수신하면 설정된 대상 주소로 전달됩니다.





로컬 포트 ​​포워드를 생성하려면 SSH 명령에 -L 플래그를 사용합니다.

일반 구문은 다음과 같습니다.



SSH -NS [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT[사용자@]SSH_SERVER

LOCAL_IP를 지정하지 않으면 로컬 SSH 클라이언트가 자동으로 localhost에 바인딩됩니다. 또한 루트 사용자에게만 제한되지 않으므로 1024보다 큰 포트를 지정해야 합니다.

포트 5000의 my.service 머신에서 실행 중인 서비스가 있고 머신 access.machine에서만 액세스할 수 있다고 가정합니다. 로컬 시스템에서 서비스에 연결하려면 연결을 다음과 같이 전달해야 합니다.

SSH -NS 5555:my.service:5000사용자@접근 기계

명령을 실행하면 지정된 사용자의 SSH 암호를 제공해야 합니다. 사용 편의성을 위해 SSH 키를 사용하여 비밀번호 없는 로그인을 설정할 수 있습니다.

이제 access.machine이 중간 역할을 하는 지정된 포트(5555)를 사용하여 로컬 시스템에서 서비스에 액세스할 수 있습니다.

127.0.0.1:5555