Один короткий SSH-псевдоним вместо длинной команды
Host, IdentityFile и диагностический режим для ежедневной работы с сервером.
Если для подключения приходится вспоминать пользователя, порт и путь к ключу, перенесите параметры в клиентский конфиг. Это уменьшит число опечаток и сделает рабочие команды одинаковыми на каждый день.
Добавить именованный хост
Создайте или дополните ~/.ssh/config. Пример использует зарезервированный для документации IP: замените его реальным адресом. Приватный ключ по указанному пути должен уже существовать.
Host notebook
HostName 203.0.113.10
User deploy
Port 22
IdentityFile ~/.ssh/id_ed25519_notebook
IdentitiesOnly yes
ServerAliveInterval 30
ServerAliveCountMax 3Теперь подключение выглядит как ssh notebook. Те же настройки хоста использует scp. IdentitiesOnly ограничивает выбор настроенными идентификаторами, что полезно при большом количестве ключей в агенте.
Проверить итоговые параметры
ssh -G notebook
ssh -v notebookПервая команда показывает вычисленную конфигурацию, вторая помогает разобраться в подключении. В диагностическом выводе могут быть имена пользователей и адреса: просмотрите его перед публикацией.
Порядок блоков имеет значение
Для большинства параметров используется первое полученное значение. Поэтому специфичные блоки Host удобно размещать раньше общих настроек Host *. Иначе общее значение может неожиданно победить настройку конкретного сервера.
Проверка ключа сервера
Псевдоним не заменяет проверку подлинности сервера. При первом подключении сравните отпечаток host key с доверенным источником, например консолью провайдера. Если ключ неожиданно изменился, выясните причину. Не отключайте StrictHostKeyChecking как постоянное решение. Keepalive помогает обнаружить обрыв соединения, но не гарантирует сохранение работающей удалённой команды.