Мой собственный сервер 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