2013-03-29 2 views
2

Так что я просто установил экземпляр Amazon EC2. И установлен git ..Разрешение отказано при клонировании git-хранилища

sudo yum install git 

Затем я установил свой ключ ssh с github. Теперь, когда я пытаюсь клонировать мой репозиторий в/вар/WWW/HTML папку я получаю эту ошибку ..

fatal: could not create work tree dir 'example.com'.: Permission denied 

и когда я бегу как корень ...

Cloning into 'example.com'... 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

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

Но я убедился, что Мой открытый ключ github соответствует моему ключу ~/.ssh/id_rsa.pub. Есть что-то, чего я здесь не хватает?

ответ

9

Ваша первая ошибка связана с тем, что ваш пользователь не имеет доступа к записи в/var/www/html. Вы можете предоставить свои разрешения для пользователей.

Ваша вторая ошибка при запуске с правами администратора, вероятно, что у вас есть ваши ssh-ключи в домашнем каталоге пользователя, а не в /root/.ssh/, или в вашем каталоге .ssh или ~/.ssh/id_rsa. pub имеют неправильные разрешения. ~/.ssh/должен иметь бит разрешения 0700 и должен иметь ~/.ssh/id_rsa.pub, например. 0600

+0

, так что если у меня нет// ss-каталога в моем/root (/root/.ssh), я должен просто создать это, а затем ssh-keygen и т. Д. Оттуда? На данный момент cd ~/.ssh приводит меня к моему ключу. – coryj

+0

@coryjacik. Вы могли бы это сделать, да. Хотя лучшие практики говорят, что вы не должны делать это как root. Лучше изменить группу/var/www/html, чтобы быть группой, членом которой является ваш пользователь, и предоставить групповой доступ к этому каталогу. – nos

+0

хорошо, имеет смысл. Спасибо. – coryj

1

Является ли id_rsa закрытым ключом в ~/.ssh/id_rsa парам вам открытый ключ (~/.ssh/id_rsa.pub)?

Если это не так (или вы не уверены), я предлагаю вам восстановить новую частную/открытую пару ключей с помощью ssh-keygen -t dsa.

1

Вы пробовали это:

git: fatal: Could not read from remote repository

Вы можете указать имя пользователя, SSH должен отправить в удаленную систему как часть URL вашего пульта. Поместите имя пользователя, за которым следует @, перед удаленным именем хоста.

git remote set-url website [email protected]***.com:path/to/repo 
0

Мое решение совпадает с решением №. Добавление открытого ключа пользователя root исправляет его. Другим вариантом будет изменение разрешения каталога и выполнение команды как обычного пользователя.

Смежные вопросы