Ответы:
Для всего, что основано на ssh (включая rsync поверх ssh), вы можете добавить записи в ваш файл ~ / .ssh / config
например
Host myhost
Hostname myhost.example.com
Тогда ssh myhost свяжет вас с myhost.example.com
Определенные приложения могут иметь что-то, что вы можете использовать, как предложил Ник, но пользовательский файл homedir не эквивалентен файлу / etc / hosts.
Когда приложения пытаются разрешить имена хостов, они обрабатываются NSS. Вы можете проверить, как NSS обрабатывает имена хостов в вашей системе, посмотрев /etc/nsswitch.conf
$ grep host /etc/nsswitch.conf
hosts: files dns
Это означает, что имена хостов будут сначала разрешаться в файловой базе данных (/ etc / hosts), а в противном случае - в подробностях DNS, указанных в /etc/resolv.conf.
Мне было интересно то же самое, и коллега нашел это решение: http://blog.tremily.us/posts/HOSTALIASES/
В основном это включает установку переменной окружения (HOSTALIASES), которая указывает на файл, который будет использоваться для псевдонимов хоста (вы можете использовать ~ / .hosts, например).