Java에서 SFTP를 통해 파일 검색
SFTP(Secure File Transfer Protocol)는 안전한 파일 전송 프로토콜로, SSH 연결. 이는 표준 TCP 연결을 통해 TLS/SSL을 활용하는 FTPS와 같은 다른 프로토콜과 대조됩니다.
Java를 사용하여 SFTP를 통해 서버에서 파일을 검색하려면 JSch 라이브러리를 활용할 수 있습니다. JSch는 강력한 기능과 사용자 친화적인 인터페이스로 인해 Eclipse, Ant, Apache Commons HttpClient와 같은 프로젝트에서 널리 사용됩니다.
사용자/패스 및 인증서 기반 로그인을 지원하며 다양한 SSH2 기능을 제공합니다. 다음은 SFTP를 통해 원격 파일을 검색하는 데 사용할 수 있는 기본 코드 예제입니다.
import com.jcraft.jsch.*; public class SftpFileRetriever { public static void main(String[] args) throws JSchException { JSch jsch = new JSch(); String knownHostsFilename = "/home/username/.ssh/known_hosts"; jsch.setKnownHosts(knownHostsFilename); Session session = jsch.getSession("remote-username", "remote-host"); { // Interactive version // This version allows you to selectively update specified known_hosts file. // You'll need to implement the UserInfo interface, and MyUserInfo is a swing implementation provided in JSch's Sftp.java example. UserInfo ui = new MyUserInfo(); session.setUserInfo(ui); // Non-interactive version // This version relies on the host key being in the known-hosts file. // session.setPassword("remote-password"); } session.connect(); Channel channel = session.openChannel("sftp"); channel.connect(); ChannelSftp sftpChannel = (ChannelSftp) channel; sftpChannel.get("remote-file", "local-file"); sftpChannel.exit(); session.disconnect(); } }
이 코드는 SSH 세션을 설정하고, 알려진 호스트를 설정하고, 채널에 연결합니다. 그런 다음 원격 파일을 검색하고 세션 연결을 끊습니다. 오류 처리 및 사용자 상호 작용의 구체적인 세부 사항은 연습 과제로 남겨 둡니다.
위 내용은 Java를 사용하여 SFTP 서버에서 파일을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!