ubuntu Настройка SSH для подключения к сайту, генерация ключей напр. для Git доступа к репозиториям. Инструкция

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

  1. Если SSH на локальной машине нет - то устанавливаем SSH.
  2. Добываем ключи

  3. Если ключей у вас нет (а для каждой пары сервер-машина рекомендуется использовать отдельный ключ), то сгенерируем RSA ключи для SSH.

    Если вы все-таки почему-либо хотите использовать уже существующие ключи, то поместите их в папку ~/.ssh (также может потребоваться выставить права)

  4. Указываем настройки SSH для адреса на локальной машине

  5. Далее отредактируйте или создайте и, опять же, отредактируйте файл:
    nano ~/.ssh/config

    Добавив туда инструкцию для связи адреса сервера/сервиса и того, какой именно приватный ключ использовать для подключения (путь к файлу):

    Host bitbucket.org
     IdentityFile ~/.ssh/g_rsa
     
    Host github.com
     IdentityFile ~/.ssh/g_rsa
    

    -- то есть укажем, что для подключения к гитхабу и битбакету будем использовать со своей машины приватную часть ключа (для разных адресов ключи могут, а по-хорошему, и должны быть разными).

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

    Host github.com
     IdentityFile ~/.ssh/g_rsa
    
  6. Передаем публичный ключ серверу, к которому будем подключаться

  7. Теперь нам надо передать публичный ключ (из пары, что мы сгенерировали выше) на сервер, к которому мы будем подключаться по SSH, и тут можно выделить в т.ч. такие варианты:
    1. Разместить ключ на сервере, где есть графическая админка для работы с SSH ключами (сюда входят git-сервисы: Github, Bitbucket, Gitlab и возм. др.)
    2. Передать ключ на сервер, куда уже есть возможность подключиться по SSH с паролем (а хочется теперь еще и по ключу)
  8. И для проверки тестируем подключение по SSH по ключу

Источник первой версии этой инстркции: http://jeka.by/post/1051/setup-ssh-keys-...

sid's picture

Если вы используете другую систему например gitlab, то нужно писать так:

ssh -T gitlab@gitlab.example.com

vedro-compota's picture

(в конфиге можно указать и больше параметров для хоста (адреса в сети), но в рамках этой статьи это не обязательно)

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

_____________
матфак вгу и остальная классика =)