2
Я хочу насмешливый ssh-сервер для передачи файла. Для этого я использую Apache Mina SSHD. Для передачи в системе используйте JSch. с закрытым ключом.Apache SSHD & JSCH
Код клиента JSch.
JSch jSch = new JSch();
jSch.addIdentity(privateKeyPath, passPhrase);
Session session = jSch.getSession(usernamePlans, remoteHost);
session.setHost(remoteHostPort);
config.setProperty("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setUserInfo(new StorageUserInfo(passPhrase));
session.connect();
Apache Mina SSHD код
sshd = SshServer.setUpDefaultServer();
sshd.setPort(22999);
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(privateKeyPath));
sshd.setPasswordAuthenticator(new PasswordAuthenticator() {
public boolean authenticate(String username, String password, ServerSession session) {
// TODO Auto-generated method stub
return true;
}
});
CommandFactory myCommandFactory = new CommandFactory() {
public Command createCommand(String command) {
System.out.println("Command: " + command);
return null;
}
};
sshd.setCommandFactory(new ScpCommandFactory(myCommandFactory));
List<NamedFactory<Command>> namedFactoryList = new ArrayList<>();
namedFactoryList.add(new SftpSubsystem.Factory());
sshd.setSubsystemFactories(namedFactoryList);
sshd.start();
Может кто-нибудь помочь мне подключиться JSch и Apache Mina SSHD для файла переноса?
StackTrace
com.jcraft.jsch.JSchException: java.net.SocketException: Invalid argument or cannot assign requested address
Caused by: java.net.SocketException: Invalid argument or cannot assign requested address
Хотя мне недостаточно эксперта, чтобы помочь, я не уверен, вижу ли я какое-либо насмешку над вашим кодом (или необходимость такого). –