Как создать SSH-ключ?
При генерации ключа нужно:
- Cгенерировать новый ключ.
- Добавить его в SSH-агент (не обязательно).
- Прописать ключ в
config(не обязательно).
Затем публичный ключ id_rsa.pub отправить на сервер,
с которым будет происходить соединение.
Внимание, если ключ сохраните в файл с именем отличном от
id_rsa, то не забудьте его прописать в файлеconfig.
Генерация SSH-ключа
ssh-keygen -t rsa -b 4096 -C "khusamov@yandex.ru" -f ~/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -C "khusamov@yandex.ru" -f ~/.ssh/id_rsa_github
ssh-keygen -t rsa -b 4096 -C "khusamov@yandex.ru" -f ~/.ssh/id_rsa_bitbucket
Вместо khusamov@yandex.ru укажите адрес своего ящика.
Добавление ключа SSH в SSH-агент
Убедитесь, что SSH-агент включен:
eval "$(ssh-agent -s)"
Добавьте ваш ключ SSH в SSH-агент:
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_github
Как прописать SSH-ключ в config?
Допустим у вас есть ключ для github.com в файле ~/.ssh/id_rsa_github.
Тогда его следует прописать в файле ~/.ssh/config следующим образом:
Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_github
Особенности на github.com
Публичный ключ id_rsa.pub следует отправить на сервер, с которым будет происходить соединение.
См. статью Как добавить ключ на гихабе?
Особенности на c9.io
Внимание, для сервиса c9.io ключ обязательно создавать в файле отличном
от ~/.ssh/id_rsa (например ~/.ssh/id_rsa_github), а в файле ~/.ssh/config
прописать путь к нему.
cloud9 puts an autogenerated ssh key into ~/.ssh/id_rsa.
You can add that to github, or put your key into ~/.ssh/id_rsa_github, and add a ~/.ssh/config like
Host github.com User git Port 22 Hostname github.com IdentityFile ~/.ssh/id_rsa_github TCPKeepAlive yes IdentitiesOnly yes
Подробности см. на community.c9.io.
Проверка отпечатка (Fingerprint) ключа
С помощью следующей команды можно узнать md5-отпечаток ключа, чтобы можно было его сверить с тем, что на сервере:
ssh-add -l -E md5
Ссылки
https://help.github.com/categories/ssh/
https://help.github.com/articles/generating-an-ssh-key/
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/