로컬 포트인 21 FTP 포트를 전달하는 동안 SSH에 로그인하면 명령은 다음과 같습니다.
ssh -R 2101:localhost:21[이메일 보호됨]-p 8288
성공적으로 로그인한 후 SSH에서 다음 명령을 보냈습니다.
ftp ikiw@localhost -p 2101
명령이 제대로 실행되고 아무 문제 없이 FTP에 성공적으로 로그인했지만 FTP에 있는 동안 명령에 사용할 수 있는 파일 목록을 보고 싶 ls
거나 dir
다음 오류가 발생합니다.
ftp: '::1:27394'에 연결할 수 없습니다: 연결이 거부되었습니다.
뭐가 문제 야? 명령을 실행할 때 FTP가 무작위로 새 포트를 생성합니까 ls
?
로컬 FTP를 SSH/VPS로 전달하고 SSH/VPS에서 로컬 컴퓨터로 FTP를 정상적으로 실행하고 싶습니다. 누구든지 도와주고 솔루션을 제공할 수 있습니까? 매우 감사합니다! :디
답변1
FTP는 끔찍한 프로토콜입니다. 예, 여러 포트를 사용합니다. 제어 포트가 있고 모든 데이터 전송( ls
또는 기타) get
에 대해 두 번째 새로운 임의 포트가 열립니다 .
더 나쁜 것은 PASV를 사용하는지 아니면 활성 모드 FTP를 사용하는지에 따라섬기는 사람연결을 시작해 볼 수 있습니다.
FTP가 이러한 전달을 처리하는 것은 쉽지 않습니다. SSH 접속이 되어 있어서 사용할 수 없나요 sftp
? 이는 SSH에 직접 내장된 FTP와 유사한 프로토콜이므로 포트 전달이 필요하지 않습니다.
답변2
FTP가 IP6을 사용하려고 시도하는 것 같지만 IP4를 통해서만 터널링하고 있습니다. -4 옵션을 사용하여 ftp를 시작해 보십시오.