How to Fix the Long Delay After Logging in via SSH on LinuxFor a while now I have been plagued with long delay after entering username each time I log into my Ubuntu server via SSH. Very annoying!
After a bit of Googling, I found out that the delay after entering the username is caused by the SSH daemon being set to do a reverse DNS lookup to the host connecting to it. A reverse DNS lookup converts the IP address to a hostname.
There are two ways to get around this problem. Firstly you can add the client IP and hostname to the host tables, thus preventing a lookup or secondly, you can disable reverse DNS lookups altogether.
To Add IP address to host table
On the command line, run:
$ sudo pico /etc/hosts
When prompted enter your password and add an entry for your client IP address and hostname.
127.0.0.1 localhost
192.168.0.2 ubuntu
192.168.0.3 windows7desktop
Save and close the file by pressing Ctrl+O followed by Ctrl+X. Changes should be picked up immediately.
To disable reverse DNS lookups
On the command line, run:
$ sudo pico /etc/ssh/sshd_config
And at the bottom of the file add "UseDNS no" (excluding quotes). Save and exit as described above, then restart the SSH daemon by executing:
$ sudo /etc/init.d/ssh restart
If successful, the next time you log in you will not have any delay after entering your username and password.