簡體   English   中英

在Windows下使用帶有SSH密鑰文件的GIT時出現問題

[英]Problems using GIT w/ SSH key file under Windows

我在將GIT與外殼,Visual Studio Code和Visual Studio 2015(社區版)一起使用時遇到問題。

今年早些時候,我開始將GIT與eGit一起使用(當然是在Eclipse下),沒有任何問題。 我在服務器上安裝了GIT,創建了一個ssh密鑰對,並在進行了幾次測試后仍然有效(並且仍然有效)。

但是,現在我想在服務器上將GIT與Visual Studio Code一起使用,也許以后再與Visual Studio 2015一起使用。

我遇到了這個問題:GIT嘗試使用我的PPK並要求我輸入密碼(這是空的)。 如果我輸入了錯誤的短語,它會再次詢問,並且僅在我回答正確(僅輸入鍵)時才繼續。 所以我認為到這里一切都還可以。 但是隨后,它要求服務器上的git-user(右邊的一個順便說一句)的用戶密碼,但失敗了。 為什么?

在服務器的日志中,我看不到任何有關使用密鑰文件登錄的條目,僅看到有關嘗試使用密碼(已禁用)登錄的錯誤。

如果我將膩子與該密鑰文件一起使用,則可以連接到我的GIT服務器,並且還會在日志文件中獲得一個條目。 因此,我確定服務器一切正常。

我想念什么? 我將不勝感激!

在Visual Studio 2015中使用它(當我在Bernardo Pastorelli的著名博客條目之后嘗試重新編譯GIT模塊時,無法解決libssh找不到libssh的問題)或保存回車鍵將是一個獎勵,但是,如果可以在Shell / Visual Studio Code下的密鑰文件中使用GIT,我將非常高興。

操作系統:Windows 7 64 bit
GIT 2.10.2.windows.1
VSC:V 1.7.2

TIA!

我將嘗試在您的帖子中回答更簡單的問題:

如果可以在Shell下將GIT與密鑰文件一起使用,我會很高興

一旦完成,就可以在此基礎上進行構建。


Windows的Git使用Openssh,因此將無法直接使用膩子PPK文件。

兩種前進方式

選項1:將PPK文件轉換為OpenSSH格式

步驟如下:

  1. 在PuTTYGen中打開您的私鑰
  2. 頂部菜單“轉換”->“導出OpenSSH密鑰”。
  3. 出現提示時,保存新的OpenSSH密鑰。

要將這個新的openssh密鑰用於git服務器,請執行以下操作:

打開Git Bash shell,然后編輯~/.ssh/config (如果不存在,則創建~/.ssh/ )並定義以下主機:

Host AuxBurgerGitServer
   Hostname whatevers-your-git-remote-is
   User     the-git-user
   IdentityFile ~/.ssh/the-open-ssh-key-exported-before

通過執行ssh -T AuxBurgerGitServer進行測試,該ssh -T AuxBurgerGitServer不應顯示任何錯誤。

如果采用這種方式,則在引用此主機上的任何存儲庫時都應使用上面定義的HOST 因此,例如,要克隆存儲庫,您可以執行以下操作:

git clone ssh://AuxBurgerGitServer/some-repo-name

選項2:將您的GIT配置為使用選美

您可以將PPK文件加載到頁面中,並將GIT配置為使用頁面進行身份驗證。

為此,您唯一需要做的就是使用以下方法設置環境變量:
Control Panel → System → Advanced system settings → Environment variables
(或在Windows 10上: Control Panel → Search → Environment variables

GIT_SSH=c:\Program Files\Putty\plink.exe

暫無
暫無

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

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