master
Долгий Артём 2024-04-03 10:01:52 +03:00
parent 2fc65cae76
commit f125130270
1 changed files with 72 additions and 0 deletions

72
ssh.md
View File

@ -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 - <https://www.opennet.ru/man.shtml?topic=ssh_config&category=5&russian=0>
Конфигурационный файл клиента распологается в домашнем каталоге пользователя - `~/.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
```
- отступы не обязательны, просто для удобочитаемости