Git клон с помощью ssh из репозитория в AWS EC2? - PullRequest
0 голосов
/ 23 ноября 2018

В моем экземпляре EC2 я создаю проект rails (my_app), а затем его репозиторий:

deploy@ip-ec2: ~/my_app$ git init  

(затем git add-A, затем git commit -m "initialized", и всеок)

также на этом сервере добавьте открытый ключ моей локальной машины: id_rsa.pub, в файл author_keys на стороне сервера.

Теперь на локальной машине я хочу клонировать созданныйхранилище, которое находится в выводе ec2:

local@machine:~/repos$ sudo git clone ssh://deploy@ec2-01-007-53-134.xx-east-1.compute.amazonaws.com/~/my_app

на локальном компьютере:

Clonar en «my_app»...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Чего мне не хватает?Должен ли я изменить некоторые разрешения в проекте сервера?спасибо заранее

1 Ответ

0 голосов
/ 23 ноября 2018

Когда вы используете SSh для узла EC2, вы используете ssh -i /path/to/key?Чтобы использовать закрытый ключ на узле EC2, вам необходимо настроить ssh-agent и переслать его через соединение SSH с помощью переключателя -A.

Если вы запустите: ssh-add -l, он должен показатьвсе ключи, известные агенту.

$ ssh-add -l
4096 SHA256:xxxxxxxxxxxxxx /home/matt/.ssh/id_rsa (RSA)

Если вы запустите это с вашего узла EC2 без переадресации агента, вы увидите, что агент не найден или что нет известных ключей.

На вашем первом хосте проверьте, запущен ли агент с помощью вышеуказанной команды.

Если он работает и у вас есть ключ, все, что вам нужно сделать, - это переслать.Если агент не запущен, вам нужно запустить новый экземпляр, просто запустив ssh-agent, однако при этом будут напечатаны некоторые команды, которые вам нужно будет выполнить:

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-jZBbs4yRG03w/agent.6708; export SSH_AUTH_SOCK;
SSH_AGENT_PID=16496; export SSH_AGENT_PID;
echo Agent pid 16496;

Самый простой способ справиться с этим, для запуска агента и оценки одновременно с помощью одной команды:

$ eval `ssh-agent`
Agent pid 16496

Теперь добавьте ваши ключи, если они являются путем / именем по умолчанию:

ssh-add
or
ssh-add /path/to/key

Теперь выможно переслать агента на ваш узел EC2.

...