Unter Verwendung der Code-SchnipselWie beide ‚exec‘ verwenden und ‚sftp‘ Kanäle in JSch zur gleichen Zeit eine Sitzung
JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
config.put("PreferredAuthentications","publickey,keyboard-interactive,password");
session.setConfig(config);
session.connect();
zu einer Sitzung nach dem Anschließen ich root wechseln, um benötigen zu kopieren eine Datei (da die Berechtigungen nicht aktiviert sind und es auch keine Option gibt, die Anmeldung direkt zu rootgen).
channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("dzdo -iu root");
und jetzt kann ich Kopieren von Dateien
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd(SFTPWORKINGDIR);
System.out.println("connected successfully");
channelSftp.put(FILETOTRANSFER, SFTPWORKINGDIR);
Hier bin mit beiden „exec“ und „sftp“ Kanäle, aber es funktioniert nicht für mich. Irgendwelche Hilfe wie man einen Befehl ausführt und dann Dateien mit "sftp" kopiert?
Verwenden Sie nicht 'StrictHostKeyChecking = nein'! –
Bitte beachten Sie: "funktioniert nicht für mich" ist nicht wirklich eine hilfreiche Beschreibung! Lesen Sie über [mcve] - Sie möchten immer eine detaillierte Problembeschreibung angeben! – GhostCat