서버가 로컬 IP 만 허용하는 가정에서 터널링 FTP 연결


11

직장에서 FTP 서버에 액세스해야하지만 서버는 로컬 IP 만 허용합니다. 가정용 컴퓨터에서 액세스 할 수 없습니다. PuTTY를 통해 Unix 작업 시스템에 ssh하고 FTP 서버에 대한 콘솔 FTP 연결을 성공적으로 열었습니다.

나는 이것을 통해 일할 수는 있지만, 그것은 나에게 매우 번거롭기 때문에 선호하지 않을 것이다. PuTTY를 통해 작업 시스템을 통해 FTP 연결을 터널링하여 서버에서 FTP 요구를 수행하기 위해 선택한 FTP 클라이언트 인 FileZilla를 사용할 수 있습니다. 물론 이것은 포트 21을 통해 이루어집니다.

PuTTY가 ssh를 통해 포트 전달할 수 있다는 것을 알고 있습니다. 사용 방법을 잘 모르겠습니다.

가정-> 작업-> 서버.


SOCKS 프록시 연결을 통한 업로드 및 다운로드와 본질적으로 다른 점은 없습니다. 가장 큰 차이점은 홈 인터넷 연결이 다운로드 (수신) 성능과 비교하여 업로드 (발신) 성능이 좋지 않을 수 있다는 것입니다. 진단하려면 더 많은 로그가 필요할 것입니다.
EightBitTony

나는 아마도 다른 문제에 전적으로 달려 있고이 특정 문제를 다루는 새로운 질문을 만들려고 노력할 것이라는 결론에 도달했다. 도와 주셔서 감사합니다 EightBitTony!
벤 제이콥슨

@ben
random

답변:


13

SOCKS 프록시를 사용하십시오.

PuTTY 창

소스 포트는 이제 (로컬로) SOCKS 프록시입니다. FileZilla를 SOCKS 프록시로 사용하도록 구성하십시오 (아래 참조). 그것을 통해 ssh 호스트 (작업 기계)에 연결 한 다음 거기에서 IP 주소로 연결합니다. SOCKS를 지원하고 FTP를 포함하는 모든 작업에 적합합니다.

나머지 PuTTY 구성은 동일하게 유지됩니다 (그림 참조). 포트를 구성한 다음 SSH를 통해 해당 PuTTY 세션을 작업 시스템에 연결하십시오.

FileZilla 옵션은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

FTP 연결 대상에 넣을 때는 DNS 확인이 여전히 로컬에서 발생할 수 있기 때문에 호스트 이름이 아닌 IP 주소를 사용하십시오.

모든 것이 안전하고 보이지 않습니다. 네트워크의 다른 것에 대한 기본 SSH 연결처럼 보입니다.

주의 : 명령 행에서이 작업을 수행하려면 PuTTY를 사용 plink.exe하여 다음을 수행 할 수 있습니다 .

plink -ssh -D 9090 you@your.work.laptop.example

PuTTY 프로파일을 작성하거나 GUI를 사용할 필요없이 동일한 작업을 수행합니다.


나는 내 대답보다 조금 더 그렇게하는 것을 좋아합니다. "일반 프록시"의 filezilla에서 SOCKS 프록시를 설정하고 "수동 모드"에서 사용해야합니다.
Philip Couling

2

첫째, SCP를 사용하는 것이 훨씬 쉬울 것입니다. SSH가 있으므로 SCP에 액세스하는 것이 일반적입니다. 그러나 나는 당신의 네트워크를 모르므로 질문에 ...

먼저 클라이언트가 활성 모드에서 FTP를 사용하도록 설정되어 있는지 확인하십시오. 수동 모드 사용을 제안하고 싶지만 사용할 포트를 제어 할 수 없습니다.

둘째, FTP 클라이언트가 활성 모드에서 사용할 포트 수를 소수로 제한하십시오. 10보다 적을 것입니다. 그리고 여기에 이유가 있습니다.

셋째, 이러한 모든 포트에 대해 원격 포트 전달을 작성하십시오.

그것은 작동해야합니다


2

게이트웨이 서버 (NAT 외부 )를 통해 SFTP (TCP 포트 22의 SSH 세션)를 사용하여 FileZilla 또는 Nautilus File Manager를 사용하여 내부 서버 (NAT 뒤에있는) 의 파일 시스템을 찾아 보는 방법은 다음과 같습니다 .

  1. 터미널에서 처음 실행 :

sudo ssh -L 9090 : {내부 서버 호스트 이름 또는 IP} : 22 root @ {게이트웨이 서버 호스트 이름 또는 IP}

  1. 그런 다음 새 연결을 작성하십시오.

    FileZilla에서 :

    • 호스트 : sftp : //127.0.0.1
    • 사용자 이름 / 비밀번호 : 내부 서버 의 자격 증명 .
    • 포트 : 9090 (터미널 명령에서와 동일한 포트).

또는 노틸러스에서 :

sftp://127.0.0.1:9090/내부 서버 자격 증명을 입력하라는 메시지가 표시됩니다.

이제 내부 서버 파일 시스템을 찾아 볼 수 있습니다.


여기에 이미지 설명을 입력하십시오

참고 : 보시다시피 Putty 또는 FileZilla에서 SOCKS 프록시 를 설정할 필요는 없습니다.


감사! 바로 내가 찾던 것입니다!
lorenzo-s
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.