संपादित करें: मैं अपने पिछले जवाब रखने के लिए, के रूप में JSch अभी भी कई स्थानों में प्रयोग किया जाता है जा रहा हूँ, लेकिन अगर आप एक बेहतर से प्रलेखित पुस्तकालय की जरूरत है, तो आप sshj उपयोग कर सकते हैं। यह कैसे उपयोग करने के लिए SFTP करने के लिए एक उदाहरण है:
Session session = null;
Channel channel = null;
try {
JSch ssh = new JSch();
ssh.setKnownHosts("/path/of/known_hosts/file");
session = ssh.getSession("username", "host", 22);
session.setPassword("password");
session.connect();
channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftp = (ChannelSftp) channel;
sftp.put("/path/of/local/file", "/path/of/ftp/file");
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
} finally {
if (channel != null) {
channel.disconnect();
}
if (session != null) {
session.disconnect();
}
}
:
SSHClient ssh = new SSHClient();
ssh.loadKnownHosts();
ssh.connect("host");
try {
ssh.authPassword("username", "password");
SFTPClient sftp = ssh.newSFTPClient();
try {
sftp.put(new FileSystemFile("/path/of/local/file"), "/path/of/ftp/file");
} finally {
sftp.close();
}
} finally {
ssh.disconnect();
}
JSch (एक जावा ssh lib, उदाहरण के लिए चींटी द्वारा प्रयुक्त) का उपयोग करना, आप ऐसा कुछ कर सकते हैं
एसएसटीपी करने के लिए जेएसएच का उपयोग कर another link है।
आप सीधे इस तरह से जेएसच का उपयोग कर सकते हैं, या Commons VFS के माध्यम से, लेकिन फिर आपको कॉमन्स vfs jar और jsch jar दोनों को रखना होगा।
स्रोत
2010-02-27 09:45:48
एक एसएस सुरंग पर ftp? –
http://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol –
यदि आप इसका मतलब है तो कृपया "एसएफटीपी" शब्द का उपयोग करें। एफ़टीपी, एसएफटीपी/एसएसएच, एफटीपीएस, और एसएसएच पर नियमित रूप से एफ़टीपी सुरंग के बीच, शब्दकोष संदिग्ध हो जाते हैं। – prestomation