1. 程式人生 > >Git push/pull的時候報403或者提交時報錯:Permission to XXX.git denied to user

Git push/pull的時候報403或者提交時報錯:Permission to XXX.git denied to user

情況大致是這樣的,最開始的時候,我註冊了一個github的賬號,暫且就叫A賬號吧,然後關聯了Android Studio,並用這個賬號建立了幾個遠端倉庫。然後有一天,我突然感覺A這個名字難聽還不好記,於是我就把A這個賬號刪了,重新又註冊了一個賬號B。最近在寫一個Demo,想把這個Demo上傳到github上,本地倉庫也建好了,專案也成功的commit到本地倉庫了,但在最後一步push到遠端倉庫的時候報錯了,一直顯示:

remote: Permission to B/Demo.git denied to A.fatal: unable to access 'https://github.com/A/Demo.git/': The requested URL returned error: 403大致意思就是沒有許可權原因分析其實具體原理我理解的也不是很清楚,根據這篇文章
Git 最著名報錯 “ERROR: Permission to XXX.git denied to
user”終極解決方案,所以原因大致是這樣的:我的A賬號和B賬號新增的是同一個公鑰,在操作的時候github就不能區分到底是哪個使用者在安全登陸網站。因為之前A賬號登過,所以B賬號這個時候再用這個公鑰去登就不被允許了。幸運的是,一個賬號可以擁有多個公鑰,那我把B賬號重新生成一個公鑰,然後用這個新的公鑰去操作就可以了。 畫了個醜醜的草圖(viso不會用了。。。)

Git--Git提交時報錯:Permission to XXX.git denied to user

解決方法

1.生成一個新的SSH KEY
git bash 終端輸入命令(後面”“裡面的內容可以自己取)

$ ssh-keygen -t rsa -C "IWindow_personnal_publicKey"

然後不要直接按回車,設定一下rsa檔案的名稱,用來和A賬號的rsa檔案進行區分,比如我輸入:

/Users/Apple/.ssh/id_rsa_bcount

然後後面的兩個直接按enter鍵,如果操作無誤的話就會生成rsa檔案了
整體的git命令截圖如下:

Git--Git提交時報錯:Permission to XXX.git denied to user
2. GitHub 上新增新 生成的 SSH key
開啟.ssh資料夾,找到我們之前生成的id_rsa_bcount檔案,然後開啟,複製裡面的內容,我這裡是用NotePad軟體開啟的。

Git--Git提交時報錯:Permission to XXX.git denied to user
然後點選github上的[New SSH key] 按鈕,將複製的rsa內容貼上到key輸入框中,然後 點選[Add SSH Key]就生成一個新的ssh key了。
Git--Git提交時報錯:Permission to XXX.git denied to user

3.開啟~/.ssh/config檔案
首先看一下.ssh資料夾下面有沒有config這個檔案,如果沒有就建立一個config檔案。
建立config的命令列:

$ git touch  config

然後我們就要重新新增一個Host,Host的名字我取github-bcount,
具體做法是用NotePad開啟config檔案,然後把下面的內容複製進去:

Host github-bcount
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_BCount

然後儲存config檔案。
我們可以使用$ cat config命令來檢視config裡面的內容,確認是否新增正確。

4.將GitHub SSH倉庫地址中的[email protected]替換成新建的Host別名
關於替換的規則:
原來的專案的ssh地址為:
$ [email protected]:A/Demo.git
那麼替換後的地址為:
$ github-bcount:A/BestoneGitHub.git
或者:
$ [email protected]:A/Demo.git
具體修改的命令列:

首先用$ git remote -v判斷一下現在連的是不是Demo這個地址的遠端倉庫,如果是的,修改host名稱:

$ git remote set-url origin github- bcount:A/Demo.git

然後可以使用$ ssh -T github-bcount命令看看是否修改成功
如果修改成功,再使用$ git remote -v命令時,下面應該顯示:

github    github- bcount:A/Demo.git (fetch)
github    github- bcount:A/Demo.git (push)

然後再次進行提交專案等操作,應該就可以了。
如果還不行,進行下一步操作:把你的金鑰加入sshAgent代理中:
首先執行命令:

eval "$(ssh-agent -s)"

然後新增金鑰 id_rsa_bcount:

ssh-add id_rsa_bcount

然後新增預設金鑰 id_rsa:

$ ssh-add id_rsa

這樣就應該ok了。可以使用$ ssh -T [email protected]來看一下金鑰isa是否連線成功github或者$ ssh -T [email protected]測試金鑰id_rsa_bcount是否連線成功github

如果操作無誤的話應該就可以了。

相關推薦

Git push/pull的時候403或者提交時報Permission to XXX.git denied to user

情況大致是這樣的,最開始的時候,我註冊了一個github的賬號,暫且就叫A賬號吧,然後關聯了Android Studio,並用這個賬號建立了幾個遠端倉庫。然後有一天,我突然感覺A這個名字難聽還不好記,於是我就把A這個賬號刪了,重新又註冊了一個賬號B。最近在寫一個Demo,想

使用git提交時報error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large

bubuko alt buffer 依然 ads .post oba con 分享圖片 Delta compression using up to 4 threads.Compressing objects: 100% (2364/2364), done.Writing

SVN提交時報Commit blocked by pre-commit hook (exit code 1) with no output.

code min commit asi tail log 提交 解決 case 可能的原因: 提交代碼的SVN命令中,Comment長度短了。參考:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-

svn提交時報 The working copy needs to be upgraded svn: Working copy 'E:\java\MyEclipse\Workspaces\fram

今天在myeclipse上用svn提交專案,突然報錯  The working copy needs to be upgraded svn: Working copy 'E:\java\MyEclipse\Workspaces\frameworkWeb\src\dic\di

Hibernate使用Gson時報org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?

Hibernate使用Gson時報錯:org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter? 主要是使用Hibernate查詢的實體類有多對一的關係,Hibernate預設延遲載入,不會查詢關聯的實體一方,只有

win10 ent安裝Django時報Could not install packages due to an EnvironmentError: [WinError 5] 拒絕訪問。

- Could not install packages due to an EnvironmentError: [WinError 5] 拒絕訪問。: 'c:\\program files\\python37\\Lib\\site-packages\\pytz'Consider using

BIEE遷移過後,在設置用戶登錄默認頁時報已拒絕用戶訪問路徑/user/......

拒絕 icon .com data data- gif class biee loading BIEE遷移過後,在設置用戶登錄默認頁時報錯:已拒絕用戶訪問路徑/user/......

Ubuntu/Debian(Raspbian)進入MySQLERROR 1698 (28000): Access denied for user 'root'@'localhost'的解決方法

樹莓派安裝MySQL未提示設定密碼,之後在sudo下無需密碼即可連線,其它輸入報錯ERROR 1698 (28000) 附:遠端連線MySQL出現1130錯誤解決方法 問題場景: 在樹莓派3B+,系統Raspbian(Debian9.4),安裝MySQL: sudo apt-g

啟動Tomcat時報Server at localhost was unable to start within 45 seconds

一、在Tomcat啟動時有時會報次錯 Server Tomcat v9.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing th

MySQLjava.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

1、使用者名稱密碼錯誤 開啟命令視窗,進入MySQL的bin目錄,一般是在C:\Program Files\MySQL\MySQL Server 5.7\bin,輸入命令: mysql -u [username] -p 如果能進不去,則是使用者名稱密碼錯誤。如果能進

MySQLERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

原因:mysql資料庫的user表裡,存在使用者名稱為空的賬戶可以視為匿名賬戶,導致登入的時候是雖然輸入的是root,但實際用匿名登入的; 解決辦法: 在my.cnf的[mysqld]欄位加入

安裝QScintilla時報Could not install packages due to an EnvironmentError: [Errno 13] Permission denied:

這幾天需要用PyQt編寫win GUI,參考了很好的教程,其中需要使用eric軟體,但它依賴 我使用了anaconda,其中在安裝QScintilla時報錯如下: 試了很久,發現是因為anaconda及相關軟體打開了的原因,關閉後成功如上。

解決git push/pull 每次都要輸入密碼、ssh-keygen

mage 打開終端 utf div span 中文亂碼 bubuko XA lob 一、問題描述 以github為例 每次在向github服務器 推送代碼(git push),都會提示輸入用戶名密碼 二、問題原因 在clone 代碼時使用的是HTTS協議 三、

在IDEA上 git push 一直Push rejected: Push master to origin/master was rejected by remote

我將別人建立的工程拉下來後進行了修改,然後commit,pull之類的都沒有問題,然後進行push就一直都是如下提示資訊,不知道什麼原因: 11:48    Push rejected: Push master to origin/master was reje

git push遠端倉庫時報fatal: remote origin already exists. (已解決)

   在做遠端倉庫除錯階段,突然發現修改後的專案無法push了:  如果輸入$ git remote add origin [email protected]:djqiang(github帳號名)/gitdemo(專案名).git   

git提交時報解決

部落格專區 >  Canaan_ 的部落格 > 部落格詳情 fatal: unable to get credential storage lock

git push 程式碼——(change 24610 closed)

           今天向遠端分支push程式碼的時候發現push失敗,具體失敗資訊如下: Counting objects: 132, done. Delta compression using up to

使用git push沒有,但是遠端倉庫沒有更新的問題

   今天在使用git push到遠端倉庫遇到一個很奇怪的問題,執行操作沒有報錯,但是遠端倉庫就是沒有更新,執行git push origin master 後顯示如下: zhydeMacBook-Air:netMonitor zhy$ git push -u origi

git push之後合併兩次提交

http://my.oschina.net/uniquejava/blog/496647 假設要合併最後的2個提交,可以按如下命令進行: 1. git rebase –i HEAD~2 執行完

Eclipse Neon git push時, 401 Authorization Required

使用最新版的eclipse neon, windows 7系統, 在進行git commit的時候, 報出了401未授權的錯誤, 而使用STS IDE時, 就不會報錯, 猜測是eclipse的bug 解決方案: Help -> Install New Software