import net.schmizz.sshj.xfer.InMemorySourceFile; import net.schmizz.sshj.xfer.scp.SCPFileTransfer; // allow any host ID and search for pw in JavaX-Secret // doesn't do mkdirs svoid scpUpload(S user, S host, S remotePath, long length, InputStream in) ctex { final SSHClient client = sshLogin(user, host); try { SCPFileTransfer fileTransfer = client.newSCPFileTransfer(); fileTransfer.upload(new InMemorySourceFile { public S getName() { ret "dummy"; } public long getLength() { ret length; } public InputStream getInputStream() { ret in; } }, remotePath); } finally { sshDisconnect(client); } } svoid scpUpload(S user, S host, S remotePath, byte[] data) { scpUpload(user, host, remotePath, l(data), byteArrayInputStream(data)); }