今天在本機windows7上測試個git,想將git代碼推送到代碼服務器。結果git總是報錯
$ git push -u origin master
git@192.168.0.208's password:
Permission denied, please try again.
git@192.168.0.208's password:
Connection closed by 192.168.0.208 port 22
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
都試了幾次都是同樣的報錯,嘗試過修改git服務器上的用戶的密碼,嘗試更換git上的賬號,報錯依然存在,git一直報權限被拒絕,請重試。
實在沒辦法了,想試試使用ssh-key免密登錄看是否能解決。
1.首先在項目根目錄的空白處右鍵單擊【git bash here】
2.在bash命令行內輸入以生成ssh的公鑰和私鑰,默認會放在C:\Users\Administrator\.ssh目錄下
#進到ssh根目錄
cd ~/.ssh/
#設定git賬號和郵箱
git config --global user.name "zhangsan"
git config --global user.email "45090436@qq.com"
#生成ssh密鑰,可選是否加郵箱,如果不加就去掉-C參數和郵箱(正常情況下一路回車)
ssh-keygen -t rsa -C "45090436@qq.com"
#假如以前可能生成過密鑰,所以她可能會提醒你是否要覆蓋(y/n)?輸入y並回車即可。
"
3.查看公鑰,並將查看到的一坨密鑰全部拷貝走(連同郵箱)備用。
cat id_rsa.pub
4.登錄git服務器zhangsan賬號(剛才bash里敲的用戶也是zhangsan),然后在該用戶的“設置---SSH KEY”里添加上剛才查到的公鑰。
5.在bash里別忘記退回到我們的項目目錄
#我的項目放在d盤的目錄里,先進d盤
cd /d/
#再進項目根目錄
cd CsharpTemp/20200518hellowordNetCore/HelloworldForLinuxDocker/
6.再次提交代碼
git add .
git commit -m "x the first commit netcore code for linux docker"
git push -u origin master
可以看到我們這次確實免密推送代碼到git服務器成功了。
不知道是啥原因,猜測可能是因為其他的git賬號我做過免密登錄。不管了,反正問題解決了,就這樣吧。
----------川建國:沒有人比我更懂git----------------------
————————————————
版權聲明:本文為CSDN博主「瀟灑哥Kahn」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xoofly/article/details/106392249