Стоит прочесть
Создание ключа на локальной машине
Для начала проверим нет ли у нас уже созданных ключей:
ls -al ~/.ssh
Если ключи найдены, то можно воспользоваться ими, если их нет, то нужно их создать.
Для создания ключей используем команду:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# -t - тип ключа
# -b - биты шифрования
# -C - комментарий
После ее ввода в консоли будут появляться вопросы, ответы на которые можно оставить по умолчанию или ввести нужные Вам значения.
Теперь созданный Вами ключ можно использовать для передачи в нужный сервис, например github.com, bitbucket.org или gitlub.com, а так же использовать его для подключения к серверам по SSH.
Получение значения ключа для использования его в сервисах
После ответа на все вопросы команды создания rsa ключа у Вас в папке появиись два файла, если Вы не меняли значения по умолчанию, то они будут называться:
- id_rsa - секретная часть ключа
- id_rsa.pub - публичная часть ключа
Секретную часть никогда и ни при каких обстоятельствах нельзя передавать третьим лицам, а вот публичную часть напротив нужно передать в тот сервис, на котором вы хотите иметь доступ по SSH.
Для отображения информации из публичного ключа в консоли нужно ввести команду:
cat ~/.ssh/id_rsa.pub
Она отобразит содержимое ключа на экране. Именно полученный текст и нужно вставить в админку сервиса.
Это просто текстовый файл, поэтому его можно открыть люмым удобным вам текстовым редактором, например sublime:
subl ~/.ssh/id_rsa.pub
Передача ключа на сервер для доступа по SSH
Добавление информации о публичном ключе на сервер можно выполнить двумя вариантами, и в обоих случаях Вам понадобятся логин и пароль с достаточными привилегиями для добавления ключа на этом сервере.
Вариант 1
ssh-copy-id [-i <your_pub_key_path>] <user_name>@<server_ip_on_domain>
**-i <путь_к_публичному_файлу_ключа>** используется, если у Вас файл ключа называется не стандартным образом или расположен в не стандартной директории.путь_к_публичному_файлу_ключа>
Вариант 2
cat ~/.ssh/<your_ssh_key_name>.pub | ssh <user_name>@<server_ip_on_domain> "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"