Wednesday, July 7, 2010

Cygwin SSH keygen (1024 bit, DSA)


$ ssh-keygen -t dsa -b 1024

Enter twice (empty for no passphrase)

Setting up Password-less Authentication

Client Machine
Default private key file : /home/<client-user>/.ssh/id_dsa
Default public key file : /home/<client-user>/.ssh/id_dsa.pub

Server Machine
Append the public key to the "/home/<server-user>/.ssh/authorized_keys" file (ubuntu server in this case)

Java SSH Client Code

//Set file system options
FileSystemOptions fsOptions = new FileSystemOptions();
SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(fsOptions, "yes");
SftpFileSystemConfigBuilder.getInstance().setIdentities(fsOptions, new File[]{new File("C:\\cygwin\\home\\<client-user>\\.ssh\\id_dsa")});

FileSystemManager fsManager = VFS.getManager();
FileObject textFile = fsManager.resolveFile( "sftp://<server-user>@<server-name>/", fsOptions );
for(FileObject fObject : textFile.getChildren()) {
System.out.println( fObject.getName());
}