SFTP를 통해 원격 서버에 연결하고 파일을 풀어 파일을 처리해야하는 작은 프로그램을 작성하고 있습니다. 여기에 몇 가지 답변을 통해 JSch를 발견 했으므로 작업이 완벽 해 보였습니다. 지금까지 사용하기 쉽고 해결해야 할 사소한 점이 있습니다. 다음 코드를 사용하여 연결하고 파일을 당깁니다.이상한 인증을 요구하는 Java를 통한 SFTP 연결
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("username", "127.0.0.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
sftpChannel.cd(REMOTE_FTP_DIR);
sftpChannel.lcd(INCOMING_DIR);
sftpChannel.get(TMP_FILE, TMP_FILE);
sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
이 작동하고 파일을 가져옵니다. 리눅스 서버에서이 코드를 실행하고 있습니다. JSch가 코드를 실행하면 Kerberos 사용자 이름과 암호를 묻습니다. 그것은 외모와 같은 :
의 Kerberos 사용자 이름 [조지] 조지에 대한
Kerberos 암호 :
난 그냥 두 질문에 대해 입력 한 다음 프로그램이 문제없이 계속 것 같습니다했다. 그러나이 코드는 cron 작업을 통해 자동화되어야하므로이 두 가지 질문에 대해 프로그램을 일시 중지하지 않는 것이 좋습니다. 이 질문을하지 않도록 내가 공급하지 않는 것이 있습니까? 질문하는 것을 멈추기 위해 내가해야 할 일이 있습니까? 잘만되면 누군가는 약간의 생각을 가지고 있습니다. 감사.
, thuis가 관련 될 수있다 /show_bug.cgi?id=53437 – Aaron