This is an old revision of the document!
To login to any machine with SSH, you need to install the ssh server. The client is installed on Debian by default. Terminology used is “Server” for the remote machine to get access to, and “Host” for the local machine which needs access to a server. This guide was updated 8th August 2020.
apt install ssh
Port 22 LoginGraceTime 20 AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no PermitRootLogin without-password
Match Address my.host.subnet.ip PermitRootLogin without-password
X11Forwarding yes X11DisplayOffset 10 PrintMotd no PrintLastLog yes TCPKeepAlive yes
sudo /etc/init.d/ssh restart
ssh-keygen -t ecdsa -b 521
I have machines in a location without fixed IP address, and where external access is only possible through a relais host which disconnects after 2+ minutes of inacitivity. I solve this by adding the following to the sshd_config of each machine which need to be accessed.
ClientAliveInterval 300 ClientAliveCountMax 2
Alternatively, it could also be handled on the client side with the following lines in ssh_config.
Host * ServerAliveInterval 300 ServerAliveCountMax 2
ssh -X <user>@<Xclient> sensible-browser
sensible-browser