Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:bash:ssh-keygen_macos
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
linux:bash:ssh-keygen_macos [2020/02/25 16:06] – внешнее изменение 127.0.0.1 | linux:bash:ssh-keygen_macos [2021/06/17 12:53] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== SSH: подключение по ключу без пароля на примере macOS ====== | ||
+ | <note important> | ||
+ | |||
+ | Минимум теории и максимум хауту. За теорией лучше обратиться на сайт wikipedia или на [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Шаг 1. Создать пару ключей ===== | ||
+ | |||
+ | Нужно создать пару ключей: | ||
+ | |||
+ | < | ||
+ | $ ssh-keygen -t rsa -b 4096 -C " | ||
+ | Generating public/ | ||
+ | Enter file in which to save the key (/ | ||
+ | </ | ||
+ | |||
+ | Здесь | ||
+ | * -t - алгоритм шифрования | ||
+ | * -b - размера ключа | ||
+ | * -C - комментарий. Ъ администраторы, | ||
+ | |||
+ | Пр желании можно дать ключу другое имя (ключ '' | ||
+ | |||
+ | Следующий пункт passphrase. Это парольная фраза или проще говоря пароль для ключа. | ||
+ | |||
+ | Минусы. Его нужно будет вводить каждый раз, когда используется ключ.\\ | ||
+ | Очевидный плюс. Если файл окажется в чужих руках без парольной фразы использовать его не получится. Ну и не стоит использовать пароли admin111 или qwerty123. | ||
+ | |||
+ | < | ||
+ | Enter passphrase (empty for no passphrase): | ||
+ | Enter same passphrase again: | ||
+ | Your identification has been saved in / | ||
+ | Your public key has been saved in / | ||
+ | The key fingerprint is: | ||
+ | SHA256: | ||
+ | The key's randomart image is: | ||
+ | +---[RSA 4096]----+ | ||
+ | | ooo*oo.o. . .+| | ||
+ | | ..+ +.= * ..E | | ||
+ | | . o = * o..* .. | | ||
+ | |. + o * *....+o | ||
+ | | . o o *S . =.+ | | ||
+ | | . . o * | | ||
+ | | + . | | ||
+ | | o | | ||
+ | | | | ||
+ | +----[SHA256]-----+ | ||
+ | </ | ||
+ | |||
+ | ===== Шаг 2. Скопировать открытый ключ на удаленный хост ===== | ||
+ | |||
+ | Как всегда в unix есть множество вариантов для этого. | ||
+ | |||
+ | ==== Долгий путь ==== | ||
+ | |||
+ | В macOS можно скопировать содержимое файла в буфер обмена с помощью pbcopy | ||
+ | |||
+ | < | ||
+ | |||
+ | Подключаемся к удаленному серверу, | ||
+ | |||
+ | Добавляем ключ из буфера обмена. | ||
+ | |||
+ | Кстати каждый ключ должен быть на отдельной строке. И никаких пустых строк между ключами. | ||
+ | |||
+ | ==== ssh-copy-id ==== | ||
+ | |||
+ | Начиная с Sierra утилита уже есть в составе системы и не нужно [[https:// | ||
+ | |||
+ | < | ||
+ | |||
+ | или с указанием имени ключа | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== cat + ssh ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== Шаг 3. Локальный конфиг SSH и тест подключение ===== | ||
+ | |||
+ | Добавим локальный файл конфигурации для SSH клиента в файл '' | ||
+ | |||
+ | < | ||
+ | Host rtfm | ||
+ | | ||
+ | Port 31337 | ||
+ | user dx | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | * HostName – IP адрес или FQDN. | ||
+ | * User – Имя учетной записи на удаленном сервере. | ||
+ | * IdentityFile – Локальный путь к приватному ключу | ||
+ | * Host - назовем его алиасом. | ||
+ | |||
+ | Проверка подключения | ||
+ | |||
+ | < | ||
+ | |||
+ | Особый интерес представляют опции **UseKeychain** и **AddKeysToAgent**. | ||
+ | |||
+ | Пароль приватного ключа можно хранить в " | ||
+ | |||
+ | В каком-то релизе (Sierra? у меня не Linux, чтобы отслеживать это) всё сломали и Terminal теперь по-умолчанию не использует keychain. | ||
+ | |||
+ | Подробности | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | Опция **AddKeysToAgent** вышла в OpenSSH 7.2 еще в 2016 году, но я узнал про нее только сейчас. | ||
+ | |||
+ | Из changelog' | ||
+ | |||
+ | //В клиент ssh добавлена опция AddKeysToAgent, | ||
+ | |||
+ | Что еще важного в ссылках выше? | ||
+ | |||
+ | * Добавить private key вручную в keychain **ssh-add -K ~/ | ||
+ | * Проверить права **chmod 600 ~/ | ||
+ | |||
+ | Буду рад если кто-то более подробно разобрался в данном вопросе и дополнит заметку. | ||
+ | |||
+ | EOM | ||
+ | |||
+ | {{tag> |