База знаний по Open Source
Авторизация
Поиск по базе знаний

Достаточно часто приходится работать с одного компьютера по SSH с разными серверами: кучей локальных виртуальных машин, физическими серверами, внешними VDS/VPS и т.п. Они имеют разные IP-адреса, совершенно незапоминаемые полные доменные имена, слушают SSH на разных портах, заходить на них нужно под разными именами и с различными файлами ключей (identity-file) и т.д. и т.п.

Файл глобальных настроек клиента ssh (/etc/ssh/ssh_config) содержит кучу настроек, но они действуют для всех пользователей и для всех серверов.

В SSH присутствует прекрасная возможность – создать локальный файл настроек и для каждого сервера, с которым приходится работать, определить необходимые параметры. В нем можно переопределить все параметры из файла глобальных настроек (или определить, так как они, по умолчанию, практически все закомментированы).

Файл локальных настроек с именем config нужно создать в домашней директории в поддиректории .ssh – ~/.ssh/config.

Файл может иметь например такую структуру:

### Параметры, общие для всех хостов ##
Host *
     ForwardAgent no
     ForwardX11 no
     ForwardX11Trusted yes
     User main_admin
     Port 22
     Protocol 2
     ServerAliveInterval 60
     ServerAliveCountMax 30
 
## Параметры для локального DNS сервера ##
Host maindns
     HostName dns1.example.loc
     User sub_admin
     Port 8888
     IdentityFile /mnt/glasterfs/shared/users/sub_admin/keys/dns1/id_rsa
 
## Сербаз данных MySql ##
Host mysql
     HostName 192.168.1.100
     Port 6754
     User first_admin
     IdentityFile /home/first_admin/.ssh/mysql.key
 
## Login firstvds ##
Host firstvds
     HostName 1.2.3.4
     Port 6758
     User main_admin
     IdentityFile ~/.ssh/firstvds.key

Использование локального конфигурационного файла с разбивкой по серверам позволяет подстроить все “под себя” и избавится от запоминания или поиска информации для коннекта и набора достаточно длинных параметров. Например, вместо:

ssh -i /mnt/glasterfs/shared/users/sub_admin/keys/dns1/id_rsa -p 8888 first_admin@dns1.example.loc

при таком локальном конфигурационном файле достаточно набрать:

ssh maindns

В качестве провайдера VDS/VPS мы используем ihor.ru и vdsina. Очень дешевые и надежные хостеры.

Добавить комментарий