Ещё немного про отладку SSH-ключей, но уже в контексте интеграции со всякими гитлабами/гитхабами.

Чтобы работать с приватными репами, ты добавляешь в настройки GitLab/GitHub свою публичную часть ключа.

Хорошо, если такой ключ один, запутаться особо негде.

Но что, если добавлено 20–100 ключей?

Порой возникает ситуация, когда какой-нибудь раннер отказывается клонировать репу и начинает орать на доступы.

Ты проверяешь, видишь в табличке «Заголовок — gitlab-runner-1», и вроде всё хорошо, ключ прописан, и в раннере его приватная часть есть. Чо за хуйня?

Тут нам и пригодится команда:

ssh-keygen -l -E md5 -f ~/.ssh/id_rsa

Выполняем её для ключа, с которым подключаемся (работает и для приватной, и для публичной части одинаково).

И по итогу видим фингерпринт, отпечаток:

2048 MD5:03:62:23:ca:ce:1b:8c:ad:60:1f:66:16:05:43:d8:a7 shuba@server (RSA)

Сравниваем этот отпечаток с тем, что прописан в GitLab/GitHub, и видим, что он НЕ совпадает.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
А это значит, что твой раннер использует не тот приватный ключ для подключения.

Фиксим и радуемся. Как фиксить? Прописать актуальную публичную часть ключа в GitLab/GitHub. Дело закрыто.