Мой собственный сервер git (на EC2) git clone через ssh (в разрешении отказано) почему?

Я могу подключиться со своего компьютера к серверу EC2 git с помощью ssh (я указал порт 22, потому что порт по умолчанию - другой):

$ ssh -p22 dev@xxxxxxxxxxxx.compute.amazonaws.com

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

sudo git clone ssh://dev@xxxxxxxxxx.compute.amazonaws.com:22/home/dev/some/stuff.git

это результат:

dev@xxxxxxxxxxxxxxxxxx.compute.amazonaws.com: Permission denied (publickey).

Почему????

1 ответ

Причина в том, что вы используете sudo. OpenSSH использует открытые ключи текущего пользователя для входа в систему, а когда вы используетеsudo, это открытые ключи root, а не ваш обычный пользователь.

Если вы хотите клонировать как root, вам нужно либо настроить ключи для root, либо установить /root/.ssh/config файл, который использует ключи обычного пользователя через IdentityFileвариант. Например, если ваш обычный пользовательexample и вы используете ключ Ed25519, файл может выглядеть так:

Host xxxxxxxxxx.compute.amazonaws.com
    IdentityFile /home/example/.ssh/id_ed25519
Другие вопросы по тегам