답변:
ssh tunnel 명령이 입력 된 머신 (또는 터널링이있는 Putty가 시작된 머신)은 »host 입니다.
현지: -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
모든 연결 시도를 라는 컴퓨터 의 로컬 sourcePort
포트 onPort
로 전달하십시오. 이 포트 는 컴퓨터 forwardToHost
에서 도달 할 수 있습니다 connectToHost
.
먼: -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 to connectToHost
에 연결하고 모든 연결 시도를 원격 컴퓨터 로 전달하여 로컬 컴퓨터에서 도달 할 수있는 컴퓨터의 sourcePort
포트 onPort
로 전달하십시오 forwardToHost
.
첫 번째 이미지는 상황을 나타냅니다. 파란 상자 는 내 이미지에서 your host
호출 remotehost
된 우분투 서버에 퍼티를 시작하는 Windows 컴퓨터입니다 . 녹색 포트 (귀하의 포트 번호 4000
)에 대한 연결 3306
은 localhost
Ubuntu 서버 시스템 (즉, Ubuntu 서버 자체) 의 분홍색 MySQL 포트 로 전달됩니다 .
퍼티를 시작하고 일반적인 연결 설정 (호스트 이름 또는 IP 주소)을 입력하십시오. 왼쪽의 트리에서
연결 → SSH → 터널
소스 포트 (이미지에서 123)와 대상 (이미지에서 localhost : 456 ) 으로 새 로컬 터널을 만듭니다 .4000
localhost:3306
추가 를 클릭하는 것을 잊지 마십시오 .
그런 다음 세션으로 돌아가서 저장 을 클릭 하여 다음에 설정을 유지하십시오. 이제 저장된 연결을 사용하여 서버에 로그인 할 수 있으며 성공적으로 로그인 한 후 호스트의 포트 4000에 연결할 때마다 실제로 Ubuntu 서버의 포트 3306에 연결됩니다.
간단한 대답은 그렇습니다. 그러나 실제로 터널은 컴퓨터에서 시작됩니다. 작동 방식은 서버에 대한 SSH 연결 (보안)을 생성 한 다음 SSH가 사용자 측의 포트를 듣고 들어오는 연결을 전달하도록 지시하는 것입니다. 서버 측. 터널의 대상은 동일한 서버 일 필요는 없습니다. 다른 유효한 주소 일 수도 있습니다.이 주소는 SSH 서버 자체를 실행하는 서버가 아닌 경우 SSH 서버에서 온 것처럼 들어오는 연결을 볼 수 있습니다. 당신의 클라이언트에서.
이를 설정하려면 Putty 구성 대화 상자를 열고 서버에 액세스하는 데 일반적으로 사용하는 연결 설정을 선택한 다음 "로드"( "열기"아님)를 클릭하십시오. 그런 다음 왼쪽의 트리에서 Connection-> SSH-> Tunnels로 이동하여 소스 포트 4000과 대상 "localhost : 3306"을 사용하여 새 "로컬"터널을 만듭니다 (대상 주소는 서버에서 확인되므로, 서버 관점에서 MySQL 포트는 localhost에 있습니다. 그런 다음 "세션"으로 돌아가서 "저장"을 클릭하여 다음에 설정을 유지하십시오. 이제 저장된 연결을 사용하여 서버에 로그인 할 수 있으며 성공적으로 로그인 한 후 컴퓨터의 포트 4000에 연결할 때마다 실제로 서버의 포트 3306에 연결됩니다.
터널을 심각하게 사용하고 MS-Windows 클라이언트를 실행하는 경우 퍼티 콘솔을 사용하지 않고도 퍼티를 사용하여 터널을 쉽게 설정하고 실행하는 퍼티 터널 관리자 를 살펴 보시기 바랍니다 .