我想克隆一個開放的公共倉庫到不同的目錄。要在命令行裏這麼做I型:爲什麼我可以從命令行克隆而不是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'或者其他? –
我以'sudo'的身份運行bash腳本!有沒有辦法解決這個問題? – Startec
'git clone [email protected]:...'通過SSH連接。它必須在遠程SSH守護進程**之前進行身份驗證**它能夠與任何特定的git進行通信,因此無論是否驗證了repo都是完全不相關的:它尚未完成傳輸層協商和身份驗證當它失敗時,所以是否有任何類型的應用層訪問控制是沒有意義的。 –