簡體   English   中英

OSX 上的 VScode - GIT ssh 密鑰密碼 - 從終端中的構建工作而不是從命令面板

[英]VScode on OSX - GIT ssh key passphrase - working from build in terminal put not from command palette

我可以連接到 Git 服務器並從終端中的 VSCode 構建做任何我想做的事情,但是,一旦我使用命令面板並想要執行推送,它就會失敗,因為現在顯示密碼提示。

有什么辦法可以避免在每次推送時輸入密碼?

考慮到遠程開發提示和技巧部分,這似乎是意料之中的:

啟用備用 SSH 身份驗證方法#

如果您連接到 SSH 遠程主機並且是:

  • 連接兩因素身份驗證
  • 使用密碼驗證
  • 當 SSH 代理未運行或無法訪問時,使用帶有密碼的 SSH 密鑰

然后 VS Code 應該會自動提示您輸入所需的信息。

所以請確保SSH 代理在本地運行

VS Code 會自動將您的密鑰添加到代理,因此您不必每次打開遠程 VS Code window 時都輸入密碼。

要驗證代理是否正在運行並且可以從 VS Code 的環境訪問,請在本地 VS Code window 的終端中運行ssh-add -l
您應該會看到代理中的密鑰列表(或它沒有密鑰的消息)。
如果代理未運行,請按照以下說明啟動它。 啟動代理后,一定要重啟 VS Code。

為了使它工作,我必須將密鑰添加到 OSX 鑰匙串並在.ssh/config 中配置它

自動將密鑰加載到 ssh-agent 並將密碼短語存儲在鑰匙串中:(請參閱第 2 步)

如果您使用的是 macOS Sierra 10.12.2 或更高版本,您將需要修改您的 ~/.ssh/config 文件以自動將密鑰加載到 ssh-agent 並將密碼短語存儲在您的鑰匙串中。

首先,檢查您的 ~/.ssh/config 文件是否存在於默認位置。

$ open ~/.ssh/config
> The file /Users/YOU/.ssh/config does not exist.

如果該文件不存在,則創建該文件。

$ touch ~/.ssh/config

打開 ~/.ssh/config 文件,然后修改該文件以包含以下行。 如果您的 SSH 密鑰文件的名稱或路徑與示例代碼不同,請修改文件名或路徑以匹配您當前的設置。

Host *.github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

暫無
暫無

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

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