SSH 터널에 대해 알아보기

SSH 터널에 대해 알아보기

저는 Linux(Ubuntu) 서버를 가지고 있고 SSH(포트 22)를 통해서만 루트 액세스 권한을 갖고 있습니다. 이 서버의 포트 3306에서 수신 대기하는 MySQL 데이터베이스가 있습니다. 내 컴퓨터의 퍼티와 Linux 컴퓨터의 터널을 사용하여 내 컴퓨터의 로컬 포트(예: 4000)에서 포트 22의 Linux 서버로, 그리고 서버에서 자체로 세션을 생성하는 것이 가능합니까? 포트 3306에서?

답변1

나는 몇 가지 스케치를 만들었다.

ssh 터널 명령을 입력하는(또는 귀하의 경우: 터널로 Putty를 시작하는) 머신이 호출됩니다."당신의 주인".

로컬에서 시작하는 SSH 터널


원격에서 시작하는 SSH 터널

소개하다

  1. 현지의:-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost의미: SSH를 사용하여 연결 connectToHost하고 모든 연결 시도를 전달합니다.현지의 sourcePortonPort포트에 접근할 수 forwardToHost있는 이름의 컴퓨터 포트에 연결합니다 .connectToHost

  2. 외딴:-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost의미: SSH를 사용하여 연결 connectToHost하고 모든 연결 시도를 전달합니다.외딴 sourcePortonPortforwardToHost로컬 컴퓨터에서 액세스할 수 있는 컴퓨터의 포트에 연결합니다 .

당신의 모범

첫 번째 사진은 귀하의 상황을 나타냅니다. 명명된 파란색 상자는 Ubuntu 서버( 내 이미지에서는 서버라고 함) your host로 Putty를 실행하는 Windows 시스템입니다 . 녹색 포트(귀하의 경우 포트 번호)에 대한 연결은 Ubuntu 서버 시스템(즉, Ubuntu 서버 자체)의 분홍색 MySQL 포트 remotehost로 전달됩니다 .40003306localhost

Putty를 사용하여 설정

Putty를 시작하고 일반적인 연결 설정(호스트 이름 또는 IP 주소)을 입력하십시오. 왼쪽 트리에서 다음으로 이동하십시오.

연결 → SSH → 터널

그리고 새로 생성현지의소스 포트 4000(이미지의 123)와 대상 포트 localhost:3306(이미지의 localhost:456)가 있는 터널입니다.

클릭하는 것을 잊지 마세요다음에 추가.

그런 다음 다시 탐색하여회의그런 다음 클릭구하다다음에 사용할 수 있도록 설정을 저장하세요. 이제 저장된 연결을 사용하여 서버에 로그인할 수 있으며, 로그인에 성공하면 호스트 시스템의 포트 4000에 연결할 때마다 실제로 Ubuntu 서버의 포트 3306에 연결됩니다.

퍼티를 사용하여 정방향 터널 만들기

답변2

간단한 대답은 '예'입니다. 하지만 터널은 실제로 컴퓨터에서 시작된다는 점에 유의하세요. 작동 방식은 서버에 대한 SSH 연결(안전함)을 만든 다음 SSH에 사용자 측 포트에서 수신 대기하고 들어오는 연결을 서버의 특정 호스트 주소에 있는 특정 포트로 전달하도록 지시하는 것입니다. 서비스 터미널. 터널의 대상은 동일한 서버일 필요는 없습니다. 다른 유효한 주소일 수 있으며, SSH 서버 자체를 실행하는 서버가 아닌 경우 들어오는 연결은 SSH 서버에서 온 것처럼 표시되며 당신의 고객이 아닙니다.

이를 설정하려면 Putty 구성 대화 상자를 열고 일반적으로 서버에 액세스하는 데 사용하는 연결 설정을 선택한 다음 로드(열기 아님)를 클릭합니다. 그런 다음 왼쪽 트리에서 연결->SSH->터널로 이동하여 소스 포트가 4000이고 대상이 "localhost:3306"인 새 "로컬" 터널을 만듭니다(대상 주소는 서버에서 확인되므로 서버의 관점에서 MySQL 포트는 localhost에 있습니다). 그런 다음 세션으로 다시 이동하고 저장을 클릭하여 다음 번에 설정을 유지합니다. 이제 저장된 연결을 사용하여 서버에 로그인할 수 있으며, 로그인에 성공하면 컴퓨터의 포트 4000에 연결할 때마다 실제로 서버의 포트 3306에 연결됩니다.

MS-Windows 클라이언트 터널링 및 실행에 대해 진지하게 생각한다면 확인해 보는 것이 좋습니다.퍼티 터널 관리자Putty를 사용하면 Putty 콘솔을 열지 않고도 터널을 쉽게 설정하고 실행할 수 있습니다.

관련 정보