Я хочу клонировать открытый публичный репо в другой каталог. Для этого в командной строке набираю:Почему я могу клонировать из командной строки, но не скрипт bash?
git clone [email protected]:computersarecool/dotfiles.git documents/gitprojects/dotfiles
, который работает.
Однако, теперь я хочу сделать это из сценария bash
. В сценарии у меня буквально тот же код:
#!/bin/bash
git clone [email protected]:computersarecool/dotfiles.git documents/gitprojects/dotfiles
но теперь я получаю сообщение об ошибке:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Может кто-нибудь объяснить этот вопрос для меня? Я даже не понимаю, почему он просит публики в первую очередь, поскольку репо открыто.
Вы делаете это с помощью 'sudo' или другого пользователя или из' cron' или somesuch? –
Я запускаю сценарий bash как 'sudo'! Есть ли способ объяснить это? – Startec
'git clone [email protected]: ...' подключается через SSH.Он должен аутентифицироваться на удаленном SSH-демоне ** до **, он может говорить со всем, что связано с git-спецификой, поэтому проверка подлинности репо или нет полностью не имеет значения: он не завершил переговоры и аутентификацию транспортного уровня в точке когда это не удается, так есть ли какой-либо вид контроля доступа на прикладном уровне или не является спорным. –