簡體   English   中英

Tortoisegit問密碼

[英]Tortoisegit asking password

我剛開始研究Git。 我使用Windows 7並安裝了msysgit(1.7.8)和Tortoisegit(1.7.6)。 存儲庫在Linux服務器上創建,可通過LAN訪問。 我面臨的問題是我無法使用Tortoisegit克隆存儲庫,它要求輸入密碼,我不確定它要求的密碼。 同時我可以使用Git Gui克隆存儲庫並執行所有操作。 任何人都可以幫助我理解為什么當Git Gui沒有時,Tortoisegit會問密碼。 我嘗試卸載Git和Tortoisegit然后重新安裝但沒有成功。

Tortoisegit錯誤

我的同事解決了這個問題。 腳步:

  1. 右鍵單擊 - > TortoiseGit - >設置 - >網絡
  2. SSH客戶端指向C:\\Program Files\\TortoiseGit\\bin\\TortoisePlink.exe
  3. 更改了C:\\Program Files (x86)\\Git\\bin\\ssh.exe

備用路徑: C:\\Users\\...\\AppData\\Local\\Programs\\Git\\usr\\bin\\ssh.exe

如果您需要使用用戶名/密碼,那么有一個比當前#2答案簡單得多的解決方案:

Right-click --> Tortoise Git --> Settings --> Git --> Credential --> Choose "Wincred, all Windows users" --> Hit apply

下次輸入回購密碼時,將自動保存該密碼。


如果您使用的是需要SSH密鑰而不是用戶名/密碼的存儲庫(這聽起來像是OP的原始問題) ,那么您需要

  1. 在PuTTY gen中打開SSH密鑰(與Tortoise Git一起安裝)
  2. 在PuTTY gen中,將密鑰保存為PuTTY密鑰。
  3. 在存儲庫中, Right-click --> Tortoise Git --> Settings --> Git --> Remotes 找到你的遙控器(通常是'origin')然后從步驟2加載PuTTY鍵。

要做到沒有鑰匙......

右鍵單擊您的文件夾
選擇tortoiseGit-> settings-> Git-> Remote
選擇原點(或您標記主遙控器的任何內容)

在URL下使用此格式。

Https://USERNAME:PASSWORD@URL

USERNAME是您的用戶名
:冒號分隔用戶名和密碼,必須在那里
密碼是您的密碼
@用您的網址分隔憑據
URL是您用於連接.git資源的URL

謝謝Kamaci

使用TortoiseGit保存用戶名和密碼

在TortoiseGit中保存您的登錄詳細信息非常簡單。 每次執行拉動或推動時,都必須輸入用戶名和密碼。

  1. 使用以下內容創建名為_netrc的文件:

    機器github.com
    登錄你的登錄
    密碼你的密碼

  2. 將文件復制到C:\\ Users \\(或其他位置;這恰好是我放的位置)

  3. 轉到命令提示符,鍵入setx home C:\\ Users \\

注意:如果您使用的是早於Windows 7的內容,則setx命令可能不適合您。 改為使用set,並使用“我的電腦”下的“高級設置”將主環境變量添加到Windows。

信用證: http//www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

一種方法是

  • 使用PuttyGen生成密鑰對,(如果已有密鑰,則導入.ppk)
  • 將私鑰加載到peagent
  • 將公鑰導入您的gitosis服務器(將您的公鑰提供給您的管理員)
  • 然后使用plink作為SSH客戶端

plink與peagent本機工作以檢索加載的密鑰。

你可以在標准膩子發行版中找到plink.exe以及peagent和其他好東西

使用它去:

TortoiseGit設置 - >網絡 - > SSH客戶端。

默認情況下,它包含TortoisePlink.exe的路徑,而不是提供plink.exe的路徑

或者,你可以在msys(git)發行版中使用ssh(.exe),但是你不能使用.ppk格式/ Peagent組合的私鑰。 您需要通過PuttyGen將密鑰導出為OpenSSH格式,或者使用ssh-keygen創建密鑰對。

要自動進行身份驗證,請使用:

  1. 像其他人已經指出的SSH密鑰,或
  2. 內置的憑證助手。

顯然,除非repo不重要,否則不要將密碼存儲在文本文件中。

TortoiseGit> 1.8.1安裝幫助程序git-credential-winstore ,它提供本地API,以便在現有的本地Windows憑據存儲中訪問和存儲您的登錄信息。

您可以通過轉到“控制面板”→“用戶帳戶”→“憑據管理器”並選擇“Windows憑據”來查看存儲的憑據。 以“git:”開頭的條目來自git-credential-winstore。

您可以通過以下方式設置每個存儲庫的wincred:

(GUI)

  1. 在文件資源管理器中導航到存儲庫。
  2. 上下文單擊→TortoiseGit→設置→Git→憑據
  3. 憑證助手:wincred - 僅限此存儲庫
  4. 下次使用repo進行身份驗證時,將存儲憑據。

(CLI,POSH)

  1. cmdkey /add:git:https://USERNAME@github.com /user:USERNAME /pass:PASSWORD
  2.  @" [credential] helper = wincred "@ | Out-File -FilePath $repoRoot\\.git\\config -Append 

您可以使用cmdkey /list:git:*為repos存儲的所有憑據cmdkey /list:git:*
存儲后,cmdkey不會顯示密碼( http://ss64.com/nt/cmdkey.html

要列出所有帶密碼的憑據,您需要使用Windows API 對於powershell,有CredMan

. .\CredMan.ps1
.\CredMan.ps1 -ShoCred

我遇到過同樣的問題。 我的環境是使用TortoiseGit 2.3.0.0和git版本2.11.0.windows.1的Windows 10

以下解決了我的問題:

  • 右鍵單擊 - > TortoiseGit - >設置 - >網絡
  • 將SSH客戶端更新到C:\\ Program Files \\ Git \\ usr \\ bin \\ ssh.exe

在此輸入圖像描述

我做了什么來解決這個問題(windows):

  1. 打開PuttyGen導入我的ssh密鑰並將其轉換為putty密鑰,將公共和私有部分保存在.ssh文件夾中(%userprofile%.ssh)
  2. 打開Putty並轉到Connection-> SSH-> Auth,然后在那里設置您的私鑰文件。
  3. 返回Session,選擇Default Settings並點擊Save。
  4. 現在嘗試再次克隆,您將被要求在您的ssh密鑰上輸入密碼,輸入密碼並且它應該可以正常工作。

URL和窗口標題TortoisePlink都表明烏龜試圖使用ssh作為傳輸協議。 git支持多種傳輸協議,包括文件系統訪問和ssh訪問。 在您的問題中,您描述的是您希望通過文件系統訪問來訪問遠程倉庫。 在這種情況下,您的遠程URL應該類似於file://server/path/to/repo 請再次檢查您的遠程repo URL。

不幸的是,在我使用Windows 8的計算機上,具有重新映射SSH客戶端的解決方案不起作用。 解決這個問題的解決方案是: http//www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/

由於這里提供的解決方案沒有為我工作,並且在我在網上找到解決方案很多失望之后我終於設法在我的機器上修復了這個問題。

我不知道何時或如何設置我的TortoiseGit putty總是使用一個特定的密鑰,當然,當我嘗試使用新的密鑰連接到不同的服務器時,這會產生所有問題。

那么如何解決問題以及如何判斷您是否確實遇到了與我相同的問題:

  1. 這里下載您機器上的plink.exe
  2. 在您下載plink.exe的同一目錄中打開Windows命令提示符
  3. 運行以下命令: plink -v <path_to_your_git_clone_repo_link>
  4. 查看輸出,看看你是否有像Reading private key file "C:\\Path\\To\\Some\\privateKey.ppk"
  5. 如果您看到這樣的行,並且它不是您想要使用的putty密鑰文件,那么只需去重命名/刪除/移動該文件,以便plink下次無法加載它
  6. 重命名有問題的文件后,它應該按預期工作,如果你從第3點運行命令。你應該看到plink現在無法加載該ppk文件,之后它應該輸出像Pageant is running. Requesting keys.東西Pageant is running. Requesting keys. Pageant is running. Requesting keys. 我們其實想要這個

就是這樣,如果有人知道如何禁用這個“全局默認膩子鍵”,請在評論中告訴我,我將用信息更新這個答案。

使用當前版本的官方Windows Git客戶端, Pramodtech的答案停止了我的工作。 它將ssh可執行文件存儲在Git\\usr\\bin而不是Git\\bin (自2015年8月發布的版本2.5)。

所以轉到TortoiseGit > Settings > Network並將SSH客戶端路徑更改為:

C:\\Program Files\\Git\\usr\\bin\\ssh.exe (或者Git安裝的路徑是什么)

在此輸入圖像描述

請注意,repo遠程源的URL不會導致此問題。 我有一個完美的舊回購和一個我剛剛克隆的新回購,它要求我輸入密碼。

在比較Settings > Git > Remote > Url的信息后,我看到有效的那個:

git@github.com:githubAccount/repoName.git

新的無效的地址有https地址。

請看下面的截圖。

在此輸入圖像描述

我將私鑰和公鑰放在C:\\ Users \\ .ssh目錄后,Tortoise GIT DOS命令行停止詢問我的密碼。 我在Windows 7上。

有同樣的問題。 在我的情況下,我沒有密碼可以進入那里。 連接配置為SSH,但沒有為repo定義密鑰。

退房: TortoiseGIT SSH配置 這些說明適用於cloudforge,但對於其他服務,您必須執行相同操作,只需將您的公鑰提供給您的git存儲庫提供程序即可。

我今天剛遇到類似的問題,並且能夠修復它從https://git-scm.com/download/win安裝最新版本的git

暫無
暫無

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

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