Keep SSH Connected
There is always one issue that bothers me when using SSH to access server (e.g. EC2) which is that the ssh connection can disconnect very soon. I tried to make changes in the local ssh config: ~/.ssh/config
Host remotehost
HostName remotehost.com
ServerAliveInterval 50
Then do a permission change
chmod 600 ~/.ssh/config
However, this doesn’t work for me on Mac, and I don’t know why. :(
Then I tried to make changes on server side.
In /etc/ssh/sshd_config
, add or uncomment the following lines:
ClientAliveInterval 50
ClientAliveCountMax 10
Then restart or reload SSH server to help it recognize the configuration change
sudo service ssh restart # for ubuntu linux
sudo service sshd restart # for other linux dist
Finally, log out and try to login again
logout
This time it works! :)
Adding SSH Public Key to Server
Adding ssh public key to server sometimes can make the connections eaiser. The command is simple:
cat ~/.ssh/id_ras.pub | ssh -i "my-keypair.pem" ubuntu@myserver 'cat >> ~/.ssh/authorized_keys'
SSH Config
We can add the following into the ssh config file so that we can directly ssh pdn
into the server. Note that here hostname doesn’t have username, i.e. it’s not Hostname ubuntu@my.compute.aws.com
.
# in .ssh/config
Host pdn
Hostname my.compute.cloud.com
User ubuntu
IdentityFile ~/.ssh/id_rsa
...