Розпочина́ю серію пості́в про SSH з чогось дуже бана́льного. Бана́льно і очевидно, але конфіги SSH можна зберігати в системі контролю версій, і це бува зручно.
У мене є кілька робочих станцій. Кожна має своє ім’я і свої окремі ключі SSH. А от зміст конфігураці́йного файлу .ssh/config
на всіх цих робочих станціях однаковий, адже я з цих робочих станцій ходжу на одні й ті самі хости́ з однаковими налаштува́ннями. Цей файл лежить десь в системі контролю версій.
Крім то́го, у мене один загальний .ssh/known_hosts
. На мою думку, так робити безпечніше, ніж формува́ти його на кожній робочій станції окремо.
І, нарешті, ще у мене є загальний .ssh/authorized_keys
, що включає всі публічні ключі всіх довірених, надійно захищених робочих станцій. Цей файл також потрапляє до менш захищених хостів, типу всяких хмарних віртуа́лок, але вже не через систему контролю версій, а якимось іншим чином.
Невеличка технічна деталь. Як на мій смак, краще робочій каталог репозита́рія не тримати в ~/.ssh
, а покласти в окреме місце і спрямувати симлі́нки зі всих цих .ssh/config
на my-ssh-repo/config
. Зокрема, щоб попри всі .gitignore
якось випадково не закомі́тити приватний ключ.