Я давно замечал, что при подключении по SSH ИЗ машинки с убунтой и НА машинку с убунтой SSH-клиент как-то противоестественно тупит, секунд 10-15. Причём списать это на медленную сеть было нельзя, так как такие таймауты были даже при подключении в пределах гигабитной локальной сети. В то время как при прочих равных условиях в той же CentOS такое подключение происходит сразу, за 1-2 секунды. В один прекрасный день меня это задолбало и я полез разбираться, вооружившись strace-ом. Оказалось, что дело в резолвинге. Файл /etc/nsswitch.conf
в Ubuntu выглядит так:
passwd: compat group: compat shadow: compat hosts: files wins mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
А в CentOS вот так:
passwd: files shadow: files group: files hosts: files dns bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: nisplus publickey: nisplus automount: files nisplus aliases: files nisplus
Тут стоит обратить внимание на отличия в строчке с hosts
. Когда я в Ubuntu убрал из неё всё кроме "files
" и "dns
", SSH сразу заработал так же шустро, как в CentOS.
Источник: http://avz.org.ua/wp/2013/02/27/slow-ssh-connect-process-in-ubuntu/