0
我必须调用Java的unix命令,我必须使用ProcessBuilder。我想通过使用密钥认证的SFTP登录,我想从本地目录到远程位置SFTP文件。SFTP Processbuilder
ProcessBuilder pb = new ProcessBuilder("sftp","-oIdentityFile=privateKey","-b","commands.txt","[email protected]");
含量commands.txt中是
put localFileDirectory remoteDirectory
exit
有什么办法,我可以给localFileDirectory和remote目录中的ProcessBuilder?这些应该是动态的,我必须给它processbuilder。
谢谢@AndrewMedico。我尝试了第一个选项,它说“执行请求在通道0失去连接失败”。看起来像SCP没有安装在我的目标机器上 – vssrnr
呵呵。我认为scp和sftp客户端使用相同的服务器端机制,但可能不是。 –
@AndrewMedico实际上不是,SFTP是SSH的一个子系统,而scp需要在SSH服务器上打开shell或执行命令的权限; shell和sftp是两个完全不同的东西。 – FjodrSo