一、常用api

1.1 设置账号密码

SFtpOption option = new SFtpOption();
option.login(user, passw); // 账号密码登录

1.2 设置私钥、公钥

有的时候,你可能需要设置私钥、公钥才能进行登录,因此你需要调用api设置相应信息

SFtpOption option = new SFtpOption();
option.setPrvKey(prvKeyPath); // 设置私钥
option.setPrvKeyPass("123456"); // 设置私钥密码(如果没有密码,可以不设置)
option.setPubKey(pubKeyPath); // 设置公钥路径

1.3 设置know_hosts

某些请情况下,你可能需要免密登录,因此你需要设置know_hosts文件路径。 需要注意的时,如果你希望免密登录,那么你需要设置know_hosts文件路径,并且使用密码登录一次。

SFtpOption option = new SFtpOption();
option.setKnowHostPath(knowHostPath);

二、常见问题

JSchException: invalid privatekey sftp是使用jsch实现的,由于jsch (0.1.55)无法识别高版本(OpenSSH 7.8)创建的rsa证书。

解决:使用下面代码生成jsch可识别的rsa证书

ssh-keygen -t rsa -m PEM -f ./id_rsa

高版本rsa证书,头部如下:

-----BEGIN OPENSSH PRIVATE KEY-----

低版本rsa证书,头部如下:

-----BEGIN RSA PRIVATE KEY-----

Copyright © 2018 laoyuyu. | 蜀ICP备17031160号.            更新时间: 2020-01-17

results matching ""

    No results matching ""