Connecting Remotely to Linux Servers
Aug 3, 20120 access_time1 min read.
You often see users connecting to a server using
ssh remote_username@remote_host. Although
this does the job, there is an alternate method you could employ. This method makes your life easier
if you have different connections. Make sure that the ssh directory is only accessible to you by typing
chmod 700 ~/.ssh.
Identify the Keys
When you generate the ssh key pair, append
the remote server identification to the key. For example, if you have Digital Ocean, Github, and GitLab,
you would identify the keys as
id_rsa_gl respectively. Of course, the public keys would be
Setting Up Connections
Edit the config file
# Digital Ocean web server. Host do_web User jsmith Hostname 188.8.131.52 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.do Port 22 # Digital Ocean Postgres database. Host do_db User jsmith Hostname 184.108.40.206 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa.do Port 22
Connecting to the Server
Once the keys have been configured:
- To connect to the web server, on the terminal type:
- ssh do_web
- When you need to access the database server, type:
- ssh do_db
There are security practitioners who recommend changing port 22 to a different port number (i.e., 24318). Since you are using another port number, you created the administrative task of keeping a reference to that specific number rather than the well known port 22. This is equivalent to using a different port to serve secure web applications rather than the standard port 443.
An attacker targeting ssh login will do a port scan in case port 22 is closed or not responding. You are better off applying the required OS patches, using the appropriate chmod, disabling remote logon, etc. In other words, implement best practices and not security through obscurity.