Перед началом давайте разберемся какие ключи нужно давать, если их просят, а какие требуется «зажать».

Многие не понимая отдают не тот ключ, который требуется, при создании ключа генерируется 2 ключа id_rsa и id_rsa.pub,

так вот:

id_rsa.pub — только этот ключ можно передавать в чужие руки, чтоб его прописали на сервере!!!!!!!!!

id_rsa — данный ключ не смейте никому отдавать, он ваш личный, его потеря означает, что вам придется пересоздать ключ!!!!!

И так, приступим.

Создаем ключ -f указываем его расположение и название, -t указываем его тип, -b указываем его длинну в битах

ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 2048

Нас попросит ввести пароль и подтвердить его

Копируем ключ на сервер

 

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

если порт нестандартный, то пользуемся следующей командой указав ключем -p порт

ssh-copy-id -i ~/.ssh/id_rsa.pub -p 443 user@server

Проверяем подключение

ssh -v -i ~/.ssh/id_rsa use@server

Такую большую фразу нам неудобно вводить, для этого создаем файл ~/.ssh/config

Host server_name

HostName server_ip

Port 22

IdentityFile ~/.ssh/id_rsa

User user_name

Теперь нас раздражает постоянно вводить пароль ключа 🙂

Для этого нам нужно запустить ssh-agent

ssh-agent bash

И добавить ключи в него

ssh-add — добавит все ключи, которые надйдет по стандартным путям

кастомное добавление указав какой ключ добавить

ssh-add -k ~/.ssh/id_rsa

также нам может понадобиться удалить все ключи из агента

ssh-add -D

или удалить отдельный ключ предварительно посмотрев в списке ключей

ssh-add -l

ssh-add -d ~/.ssh/id_dsa

после всего этого мы можем свободно подключаться к нашему удаленному серверу командой

ssh server

Единственно неудобство данного метода, это то, то вам при каждом запуске консоли потребуется вводить секретную фразу и ваш агент будет клонировать при каждой открытой консоли.