我需要管理SFTP服务器上的文件,该服务器已注册了我的OpenSSH公共密钥。现在,我应该使用私钥建立连接。 除了本机库,我只有Apache Commons可以使用,因此我尝试与FTPSClient连接。
我不明白如何将Java keytool与OpenSSH密钥一起使用,我正在寻求帮助以使代码正常工作。
这是我想要工作的常规代码
final String URL = 'my.ftp.url'
final String PASSWORD = ""
final String KEYSTORE_PASSWORD = ""
final String USER = 'myUser'
final String DIR = ''
KeyManager km = KeyManagerUtils.createClientKeyManager(new File("../openssh-priv-key"), KEYSTORE_PASSWORD)
new FTPSClient().with {
println "connect to $URL"
connect "$URL"
println replyString
setKeyManager(keyManager)
println replyString
enterLocalPassiveMode()
login USER, PASSWORD
println replyString
if(DIR)
changeWorkingDirectory DIR
fileType = FTPClient.BINARY_FILE_TYPE
println replyString
disconnect()
println "Disconnected from the server"
}