0

어떤 시점에서 실행중인 컴퓨터에서 다른 컴퓨터로 파일을 전송해야하는 작업을 위해 JAVA 프로그램을 작성 중입니다. 요구 사항은 FTP, SFTP 또는 인증이 안전하지만 데이터는 암호화되지 않은 상태로 전송되는 연결을 통해 전송하도록 구성 할 수 있습니다.SSH를 통한 FTP 터널링 시도

처음 두 개 구현시 타사 JAVA 라이브러리를 사용해서는 안됩니다. 내가 가지고있는 문제는 세 번째 옵션입니다. 그렇게하는 유일한 방법은 SSH를 통한 FTP 터널링입니다.

나는이 문제에 대해 상당히 경험이 없기 때문에 누구에게 도움이되는 제안이 있는지 궁금합니다. 이것은 신뢰할 수있는 JAVA 라이브러리 (선호) 나 프로그램 내에서 별도의 프로세스로 호출하는 다른 도구를 사용하여 수행 할 수 있습니다.

감사

답변

1

당신은 파일 업로드 및 다운로드를 Apache Commons VFS를 사용할 수 있습니다. FTPFTPS이 있습니다. 유일한 필수 조건은 원격 시스템이 FTP 서버를 실행해야한다는 것입니다. 외부 프로세스를 호출 할 필요가 없습니다. 자신의 응용 프로그램을 작동 시키십시오. 방화벽에주의하십시오.

FTPS를 사용하면 제어 세션 만 암호화됩니다. 데이터는 일반 FTP를 통해 전송됩니다. 암호화 여부는 귀하의 책임입니다. PROT 및 CDC 명령을 사용하여 암호화를 제어 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. Apache Commons를 살펴 봤는데, 내가하려고하는 일을 할 수 있다고 생각할 수도 있습니다. 그러나 언급 한대로 FTP 및 FTPS 만 지원합니다. FTP는 완전히 암호화되지 않은 반면 FTPS는 인증 및 데이터 전송을 암호화합니다. 내가 필요한 것은 인증이 암호화 된 중간 솔루션이지만 그 이후에 한 세션에 대한 실제 데이터 전송은 모두 암호화되지 않은 것입니다. 아파치 커먼즈 자체만으로이 기능을 제공하는지, 아니면이를 달성하기 위해 뭔가 다른 것을해야하는지 궁금하다. – Anonymous

+0

방금 ​​답변을 업데이트했습니다. –

관련 문제