import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.security.KeyPair;
-import java.security.PublicKey;
-import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Scanner;
-import java.util.Set;
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.sshd.agent.local.LocalAgentFactory;
import org.apache.sshd.agent.unix.UnixAgentFactory;
import org.apache.sshd.client.SshClient;
-import org.apache.sshd.client.channel.ClientChannel;
-import org.apache.sshd.client.channel.ClientChannelEvent;
-import org.apache.sshd.client.config.keys.ClientIdentityLoader;
import org.apache.sshd.client.future.ConnectFuture;
import org.apache.sshd.client.session.ClientSession;
-import org.apache.sshd.client.subsystem.sftp.SftpFileSystem;
-import org.apache.sshd.client.subsystem.sftp.SftpFileSystemProvider;
-import org.apache.sshd.common.config.keys.FilePasswordProvider;
-import org.apache.sshd.common.util.io.NoCloseInputStream;
-import org.apache.sshd.common.util.io.NoCloseOutputStream;
+import org.apache.sshd.client.subsystem.sftp.fs.SftpFileSystem;
+import org.apache.sshd.client.subsystem.sftp.fs.SftpFileSystemProvider;
public class SshSync {
private final static Log log = LogFactory.getLog(SshSync.class);
try (SshClient client = SshClient.setUpDefaultClient()) {
client.start();
- boolean osAgent = false;
+ boolean osAgent = true;
SshAgentFactory agentFactory = osAgent ? new UnixAgentFactory() : new LocalAgentFactory();
// SshAgentFactory agentFactory = new LocalAgentFactory();
client.setAgentFactory(agentFactory);
System.out.print(keyPath + ": ");
Scanner s = new Scanner(System.in);
String password = s.next();
- KeyPair keyPair = ClientIdentityLoader.DEFAULT.loadClientIdentity(keyPath,
- FilePasswordProvider.of(password));
- sshAgent.addIdentity(keyPair, "NO COMMENT");
+// KeyPair keyPair = ClientIdentityLoader.DEFAULT.loadClientIdentity(keyPath,
+// FilePasswordProvider.of(password));
+// sshAgent.addIdentity(keyPair, "NO COMMENT");
}
- List<? extends Map.Entry<PublicKey, String>> identities = sshAgent.getIdentities();
- for (Map.Entry<PublicKey, String> entry : identities) {
- System.out.println(entry.getValue() + " : " + entry.getKey());
- }
+// List<? extends Map.Entry<PublicKey, String>> identities = sshAgent.getIdentities();
+// for (Map.Entry<PublicKey, String> entry : identities) {
+// System.out.println(entry.getValue() + " : " + entry.getKey());
+// }
ConnectFuture connectFuture = client.connect(login, host, port);
connectFuture.await();
}
- static void openShell(ClientSession session) {
- try (ClientChannel channel = session.createChannel(ClientChannel.CHANNEL_SHELL)) {
- channel.setIn(new NoCloseInputStream(System.in));
- channel.setOut(new NoCloseOutputStream(System.out));
- channel.setErr(new NoCloseOutputStream(System.err));
- channel.open();
-
- Set<ClientChannelEvent> events = new HashSet<>();
- events.add(ClientChannelEvent.CLOSED);
- channel.waitFor(events, 0);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- session.close(false);
- }
- }
}