В .ssh/config можно включить вывод RandomArt-а, такого какой вы видите при генерации ключа:
The key's randomart image is:
+--[ RSA 2048]----+
| o=. |
| o o++E |
| + . Ooo. |
| + O B.. |
| = *S. |
| o |
| |
| |
| |
+-----------------+
Для этого в конфиг нужно добавить:
Host *
VisualHostKey yes
Это позволит визуально определять на какой хост вы заходите. Некоторым намного легче сразу заметить разницу, если картинка поменялась
X11-форвардинг
Можно прокидывать вывод гуев приложений, запущенных на удаленной машине. Для этого:
Запустите Х-сервер на локальной машине
Запустите удаленный клиент (например xload для мониторинга загрузки на удаленной машине):
ssh -X wayne@mother xload
Примечание: может понадобится xhost или xauth чтоб разрешить подключение
Для разрешения форвардинга Х-ов в конфиге sshd на сервере надо включить
X11Forwarding yes
Несколько алиасов для хоста
Host alice
HostName alice.example.com
Port 8183
User waseem
это хорошо, но в таком случае когда иногда забудешь про него и случайно наберешь просто alice.example.com, то оно работать не будет.
Поэтому лучше сделать так:
Host alice alice.example.com another_name foobar
HostName alice.example.com
Port 8183
User waseem
тогда настройки для хоста будут работать под любым из этих алиасов
ssh-agent
ssh-agent это программа хранящая приватные ключи, используемые для публичной аутентификации (RSA, DSA). Идея ssh-agent состоит в том, что он запускается в начале Х-сессии или при входе в систему, и все другие окна или программы запускаются как клиенты программы ssh-agent. Посредством переменных окружения агент может быть найден и автоматически использован для аутентификации при подключении к другим машинам с использованием ssh. (русский man ssh-agent на OpenNet)
Вот нашлась хорошая статья по ssh-agent. Если кому будет интересно, то можно будет потом тоже перевести :)
Отключение проверки ключа
Для тех кому необходимо часто переустанавливать некоторые сервера (например для теста чего-то), есть путь отключить проверку ключей:
Host test-server.example.org
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
UserKnownHostsFile - отправит ключ не в файл known_hosts, а в какой-то другой (в данном случае в черную дыру :) ) StrictHostKeyChecking -заставит ssh не спрашивать yes/no при подключений к хосту, которого нет в известных, а сразу дописывать его в файл
Конвертация known_hosts в новый формат
Для того чтоб конвертировать существующий файл known_hosts в новый формат (с хешами вместо имен хостов и адресов) можно воспользоваться командой:
ssh-keygen -H
Не забудьте после этого удалить файл known_hosts.old, когда удостоверитесь что все нормально работает.
SSH over SSH
Опция ssh -t поможет также, когда вы хотите, например одной командой снаружи подключится к шлюзу во внутренней сети, а с него уже к какой-то машине в сети:
ssh -t gateway_at_work ssh workstation
З.Ы. у ssh есть еще куча прекрасных возможностей :) Не забывайте про ssh-copy-id, reversed forwarding и т.п.