簡體   English   中英

Git 配置上 windows 用於 ssh 訪問 ZE1ADBCBB92C622D0B3E619F9D0703

[英]Git configuration on windows for ssh access to Github

我有一個包含多個項目的 Github 帳戶。

我已使用 ssh 密鑰將這些項目克隆到我的 windows 10 計算機。

一段時間后,似乎我的 ssh 密鑰被泄露,所以我在 Github 和本地刪除了我的 ssh,然后重新生成新的:

  • 4096 位
  • rsa2
  • 將 pub 保存為 ~/.ssh/git_id_rsa.pub
  • 將 pub 密鑰添加到我的 Github ssh 密鑰
  • 將 priv 保存為 ~/.ssh/git/git_id_rsa.ppk
  • 轉換為 Openssh 格式為 ~/.ssh/git_id_rsa

事實是我想要不同的 ssh 密鑰用於我的不同 web 工具(一個用於 GitHub,一個用於 DigitalOcean,一個用於 OVH 雲等...)我想指定何時連接每個主機。 這就是為什么我更改使用 PuttyGen 生成的 ssh 的默認名稱(並使用相同的轉換)。

我在 git_id_rsa.ppk(也不是 git_id_rsa)鍵上沒有密碼,因為 GitHub 似乎不喜歡它們(很久以前看到的)。

我已經像下面這樣配置了我的 (projecytdir)/.git/config:

[remote "origin"]
    url = git@github.com:hdGuild/JenkinsServerOnDO.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    identityfile= ~/.ssh/git_id_rsa

但是當我嘗試使用 Git Pull 時,出現以下錯誤:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

按照以下答案,我使用以下內容創建了 ~/.ssh/config 文件(使用 GitHub 的 OpenSSH 密鑰),它可以工作:

Host github.com
IdentityFile ~/.ssh/git_id_rsa

事實是,如果我需要 ~/.ssh/config 文件,為什么我需要像上面描述的那樣使用 (projecytdir)/.git/config 配置我的本地 git?

我想將我的本地 git 配置為使用 Github 的正確 ssh 密鑰,而不必在我的 ~/.ssh/config 文件中解釋它。

我確定它(再次)是一個配置問題,我在某個地方錯過了一些東西,但我找不到在哪里。

請幫忙:)

謝謝你

好的,和以前一樣,我回答我自己的問題:D

經過更多研究,我發現這篇文章解釋了如何在 Git 本地配置文件中指定用於 git sh 連接的 ssh 密鑰。

該命令很簡單,在上面解釋的情況下,在項目目錄中的以下內容:

git config core.sshCommand "ssh -i ~/.ssh/git_id_rsa -F /dev/null"

這樣, git_id-rsa 將被 git 用於此特定項目上的 ssh 連接(因為它是本地配置)。 謝謝你的閱讀。

暫無
暫無

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

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