diff --git a/ssh.md b/ssh.md index 1801582..44f748c 100644 --- a/ssh.md +++ b/ssh.md @@ -8,6 +8,8 @@ - [SCP](#scp) - [Не стандартный порт](#не-стандартный-порт) - [ssh\_config](#ssh_config) + - [Общие параметры](#общие-параметры) + - [Пример конфигурации](#пример-конфигурации) ## Подключение @@ -144,3 +146,73 @@ scp -P 227 ./wlt.py pi@da2001.ru:/home/pi ## ssh_config +Документация - `man 5 ssh_config` +Перевод man - + +Конфигурационный файл клиента распологается в домашнем каталоге пользователя - `~/.ssh/config` + +Для изменения значений клиента по-умолчанию, можно задать свои значения. Также можно задать шаблоны для подключения к определённым хостам с указанием отличных значений для каждого подключения или группы подключений. + +В общем виде подобная настройка может выглядеть подобным образом: + +```bash +Host firsthost +SSH_OPTION_1 custom_value +SSH_OPTION_2 custom_value +SSH_OPTION_3 custom_value + +Host secondhost +ANOTHER_OPTION custom_value + +Host 192.168.13.24 +ANOTHER_OPTION custom_value + +Host 192.168.13.* +ANOTHER_OPTION custom_value + +Host *host +ANOTHER_OPTION custom_value + +Host * +CHANGE_DEFAULT custom_value +``` + +Стоит иметь ввиду - анализ файла осуществляется сверху вниз до соответствия параметрам. Таким образом, если вверху будет указана директива `Host *`, для всех хостов будут применены значения определённые для этой директивы и анализ файла будет остановлен, т.к. `*` подходит для любого хоста. + +### Общие параметры + +Параметры определяются в порядке ключ-значение, при этом нет чёткого требования для разделения между ключом и значением, одинаково будут распознаны подобные определения: + +```bash +Port 4567 +Port=4567 +Port = 4567 +``` + +### Пример конфигурации + +```bash +Host home + User da2001 + VisualHostKey yes + PasswordAuthentication no + IdentityFile ~/.ssh/personal_id_rsa + +Host test* + User testuser + StrictHostKeyChecking no + UserKnownHostsFile /dev/null + LogLevel QUIET + +Host srv1 srv2 srv3 + User jorn + +Host * +User anotheruaser +StrictHostKeyChecking ask +UserKnownHostsFile ~/.ssh/known_hosts +LogLevel INFO +ServerAliveInterval 120 +``` + +- отступы не обязательны, просто для удобочитаемости