[英]setting up git public key on apache virtual host
我有一個運行CentOS 7 Apache服務器的VPS。 我的網站位於/var/www/domain.com目錄中,設置git時遇到問題。
我想使用公共密鑰連接到我的git存儲庫,但我不斷
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
每當我嘗試運行任何類型的git命令,提取,提取,克隆...
我在/var/www/.ssh/id_rsa.pub
設置了.ssh公鑰,使用
sudo ssh-keygen
我將密鑰添加到BitBucket,但是無論我嘗試什么,都會遇到錯誤。
有什么建議么?
PS分配給/var/www/.ssh的所有者和組是apache:apache,該文件夾以及=> /var/www/.ssh/下的所有文件的權限為0700
另外,我確實在/var/www/.ssh/id_rsa中有一個私鑰,而我的/var/www/.ssh/config文件如下所示:
Host bitbucket.org
IdentityFile /var/www/.ssh/id_rsa
公鑰應該轉到BitBucket,而私鑰很可能應該轉到默認位置~/.ssh/id_rsa
。
請注意,如果您覆蓋那里的任何現有私鑰,則將失去對最初有權訪問的那些系統的訪問權限。 更好地生成匹配的公鑰或將其提供給~/.ssh/id_rsa
已存在的任何~/.ssh/id_rsa
。
如果您確實想將自定義私鑰與其默認位置分開存儲,則必須在git設置中對其進行自定義。
總結一下:
~/.ssh/id_rsa
。 ~/.ssh/id_rsa/pub
,以確保安全。 但是不會使用。 ~
) ~/.ssh
目錄 ~/.ssh/id_rsa
。 ~/.ssh
下的其他幾個重要文件。 如果權限損壞,可以使用以下腳本來修復權限:
chmod go-w ~
[[ ! -d ~/.ssh ]] && mkdir ~/.ssh
chmod 700 ~/.ssh
[[ -f ~/.ssh/id_rsa ]] && chmod 600 ~/.ssh/id_rsa
[[ -f ~/.ssh/id_rsa.pub ]] && chmod 640 ~/.ssh/id_rsa.pub
[[ -f ~/.ssh/authorized_keys ]] && chmod 640 ~/.ssh/authorized_keys
chown ${USER}: ~
chown -R ${USER}: ~/.ssh
在大多數情況下,這應該可以解決與特權相關的問題,因為如果設置不正確,ssh將拒絕工作。 如果采用其他方法,則可能會使系統容易受到攻擊,即使ssh仍無法正常工作,您的私鑰也可能因攻擊而損壞或被盜。
確保示例腳本未從其原始版本進行修改(其他人未進行stackoverflow編輯),除非已正確記錄了為什么進行編輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.