Профили SSH: понятные подключения без длинных команд
Сохраняем пользователя, порт и ключ в SSH-профиле и проверяем, какие настройки клиент выбрал на самом деле.
- HostВыбираем профиль из ~/.ssh/config
- ПараметрыHostName, User, Port и IdentityFile
- Проверкаssh -G показывает итоговую конфигурацию
Для одного сервера нужен нестандартный порт, для другого — отдельный ключ, для третьего — другое имя пользователя. Вместо длинных команд эти настройки можно записать в ~/.ssh/config. Тогда короткое имя профиля выберет нужное подключение. Разберём порядок правил и способ увидеть итоговую конфигурацию до входа на сервер.
Создаём отдельный профиль
# ~/.ssh/config
Host journal-stage
HostName stage.example.com
User deploy
Port 2222
IdentityFile ~/.ssh/journal_stage
IdentitiesOnly yes
Host *
ServerAliveInterval 30
ServerAliveCountMax 3Теперь команда ssh journal-stage выбирает этот блок. Значение Host — локальное имя профиля, а HostName — адрес назначения. Приватный ключ в примере должен уже существовать, а соответствующий открытый ключ должен быть разрешён сервером. IdentitiesOnly ограничивает предлагаемые идентификаторы согласно настройкам клиента; этот параметр не создаёт ключ и не предоставляет доступ сам по себе.
Проверяем порядок правил
ssh -G journal-stage
ssh -v journal-stageПервый вызов выводит вычисленную конфигурацию без обычного подключения. Для большинства параметров используется первое полученное значение, поэтому специфические блоки располагают выше общих. Если широкий Host звёздочка оказался первым, последующее правило может не переопределить ожидаемую настройку. Проверьте адрес, пользователя, порт и список ключей до запуска команды на рабочей машине.
Второй вызов показывает подробности настоящего соединения. Такой журнал полезен при выборе ключа и поиске неправильного адреса, но перед публикацией его нужно просмотреть: там встречаются имена машин, пользователей и локальные пути. Не вставляйте в конфигурацию пароль или содержимое приватного ключа. Проверку ключа сервера сохраняют: неожиданная смена отпечатка требует выяснения причины.
Проверка подключения
Подключитесь к тестовому узлу и выполните безвредную команду, которая показывает текущего пользователя. Убедитесь, что это действительно нужная среда. После переименования профиля проверьте скрипты, которые могли использовать старое имя. Удачный вход через один профиль не подтверждает доступность другого и не проверяет резервный канал администрирования.
SSH-профиль сокращает команду, но ключи и доступы по-прежнему нужно обслуживать и отзывать. Общие настройки лучше держать короткими. Если маршрут идёт через промежуточный сервер, проверьте поддержку параметров своей версией OpenSSH и всё соединение целиком. Не переносите старый конфиг без просмотра его правил.
