簡體   English   中英

git 從哪里檢索憑證信息?

[英]where does git retrieve credential information from?

我用 ssh 克隆了一個 repo,做了一些更改並嘗試推送,但我得到了

remote: Permission to repo.git denied to <account_1>.

我注意到account_1不是我一直在使用的 user_id。 用戶id很熟悉,好像是很久以前遺留下來的

這真是一個驚喜,因為我注意到我的其他現有存儲庫似乎工作正常。

我檢查了git config -l但帳戶用戶電子郵件都很好。

有誰知道可能會發生什么?

Git沒有。

我已經用 ssh 克隆了一個 repo ...

它是處理授權和憑據的ssh Git 沒有內置 ssh:Git 只運行ssh。 1這意味着您只需運行 ssh 即可診斷此問題。

使用 SSH 通過git login 對服務器進行身份驗證是很常見的——因為 GitHub 這樣做了——就像你將通過運行ssh -Tvvv git@github.com看到的調試輸出ssh -Tvvv git@github.com 當你做這種事情時,GitHub 決定你是誰的方式是檢查你發送的密鑰。 如果您有多個不同的密鑰並希望將一個特定的密鑰發送到 GitHub(或任何其他站點),您可以使用這種詳細測試查看您實際發送的是哪個密鑰。 像這樣重復-v三次-Tvvv相當於-T -v -v -v -v——將 ssh 調試輸出的詳細程度提高到最大。 -T禁用 pty 分配,這在此處很合適,因為 GitHub 無論如何都不允許您運行 shell。

要了解如何配置您自己的 ssh,請參閱您特定系統的 ssh 文檔,因為這會有所不同。 通常,它們中的大多數使用主目錄中或下方的目錄(或文件夾,如果您更喜歡該術語)來存儲配置信息和密鑰:例如$HOME/.ssh$XDG_CONFIG_HOME/.config/ssh


1 Git確實內置了 libcurl,但 https 身份驗證更復雜,因此通常 Git 依賴於特定於操作系統的幫助程序。 無論出於何種原因,Https 身份驗證都比 ssh 多得多; 對於 ssh,您通常只說在此系統上使用此用戶名,並且可以通過一次 ssh 調用提供所有參數。 使用 libcurl,它變得……更加混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM