====== Passwordless authentication using ssh-keys ======
===== Linux client =====
You'll need to generate a SSH key via the ssh-keygen command. Please choose which key you want to generate (we recommend dsa):
$ ssh-keygen -t rsa
or
$ ssh-keygen -t dsa
This will create following files inside your $HOME/.ssh/ directory:
~/.ssh/id_{rsa,dsa}
~/.ssh/id_{rsa,dsa}.pub
You'll need to transfer the public part of the key to the wanted server. You can do this using the ssh-copy-id command:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote-system
or
$ ssh-copy-id -i /.ssh/id_dsa.pub user@remote-system
After the transfer you can add the path to the private part of the key to the session preferences inside x2goclient. x2goclient should now establish the connection without asking for a password by simply clicking on the session card view.
===== Windows client =====
Start a command prompt and navigate to the x2goclient folder, in this example it is **C:\Program Files\x2goclient**.
First we generate a DSA key pair (use an empty password phrase if you want SSO):
C:\Program Files\x2goclient>ssh-keygen.exe -t dsa
:!: ssh-keygen.exe prints the path to the key file(s), you will need that in the next step.
You'll need to transfer the public key file to the wanted server. You can do this using the scp.exe command with the path that ssh-keygen.exe printed (make sure you transfer the id_dsa**.pub** file):
C:\Program Files\x2goclient>scp.exe /cygdrive/C/DOCUME~1//.x2go/.ssh/id_dsa.pub username@remoteserver:
When the file has been transferred, log on to the remote server with ssh.exe:
C:\Program Files\x2goclient>ssh.exe username@remoteserver
Go to your .ssh folder, add the contents of the public key file to your authorized_keys file and then remove the public key file:
cd ~/.ssh
cat ~/id_dsa.pub >> authorized_keys
rm ~/id_dsa.pub
You can now add the path to the id_dsa file (the private part of the key) to the session preferences inside x2goclient. x2goclient should now establish the connection without asking for a password by simply clicking on the session card view.
You can also create a desktop shortcut which starts the session with the client window hidden; in x2goclient select Session -> "Create session icon on desktop..." -> select session from the list and click the "Create session icon on desktop..."-button.
:!: The path to x2goclient.exe in the shortcut may be wrong, edit the shortcut and remove "bin\" from the path and the working directory.