用root用戶,可以成功免密碼使用git進行push pull了。
新的專案名稱:newstart。
下面是root user的設定。
su root
ssh-keygen -t rsa -f /root/.ssh/id_rsa.github -P ''
將id_rsa.github.pub 貼到 ssh key 的githhub web page.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Cloning into '/tmp/newstart'...
root user可以成功使用,一點問題沒有。
現在對一個普通用戶debian8
進行設置,剛才的設置全部重新設置了。
su debian8
ssh-keygen -t rsa -f /home/debian8/.ssh/id_rsa.github -P ''
這個key id_rsa.github.pub 貼到 ssh key in githhub web page.
git config --global user.name "someone"
git config --global user.email "sbd@gmail.com"
git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
#注意,在普通用户下,无法使用config.
error: could not lock config file .git/config: Permission denied
sudo git config remote.origin.url git+ssh://git@github.com/someone/newstart.git
ssh -T git@github.com
Permission denied (publickey).
我通过-i 参数,可以让这个普通用户连接上github.
ssh -i ./id_rsa.github.pub -vT git@github.com
You've successfully authenticated, but GitHub does not provide shell access.
可惜,连接上没有用,无法clone.
git clone git+ssh://git@github.com/someone/newstart.git /tmp/newstart
Cloning into '/tmp/newstart'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
請問,如何針對一般用戶,對我的步驟進行修改?什麼原因會導致這樣的事情發生?
建議檢查一下你的HOME環境變量,可能是你之前修改過它,導致git找不到
.gitconfig
了;另外,你可以检查一下你的用户主目录下有没有.gitconfig
,在你的用戶目錄下使用:如果顯示沒有
.gitconfig
,说明很可能是因为git在当前用户的主目录下找不到gitconfig
。或是你可以用
locate
命令搜索一下.gitconfig
,如果很不幸,你用locate沒搜尋的話,那就使用
updatedb
更新下locate資料庫吧,如果你的硬碟速度夠快的話,可以很快就完成。當然用
find
指令也可以,但是速度比較慢:上述操作有結果後,你看一下
.gitconfig
文件的所在路径是否是echo $HOME
的結果,如果不是,說明的確是你的$HOME環境變數的問題,建議將其重新設定成你的目前使用者主目錄的路徑。