Openssh

MacOS:通過 brew 安裝了 openssh,如何將密鑰添加到鑰匙串?

  • May 4, 2021

我通過brew install openssh. 我將以下內容添加到我的 .profile 中:

export SSH_AUTH_SOCK="~/.ssh/agent.$HOST.sock"
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
 ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi

然後我必須執行以下操作:

ssh-add ~/.ssh/id_ecdsa_sk
Enter passphrase for /Users/myuser/.ssh/id_ecdsa_sk:
Identity added: /Users/myuser/.ssh/id_ecdsa_sk

即使我的 ~/.ssh/config 中有以下內容:

Host *
   IgnoreUnknown UseKeychain
   UseKeychain yes
   AddKeysToAgent yes
   IdentityFile ~/.ssh/id_ecdsa_sk

(我必須添加 IgnoreUnknown 位 b/c 來自 brew 的安裝會安裝一個破壞 UseKeychain 位的版本。)但是現在:如何連接它以便將密鑰添加到我的鑰匙串?

幫助表示讚賞!

鑰匙串集成是 Apple 添加的一項功能,它不在 OpenSSH 的標準版本中。由於您現在已經安裝了 HomeBrew 的標準 OpenSSH 版本,因此您將不再擁有此功能。您已經發現了這一點,因為該UseKeychain選項現在給出了配置錯誤 - 添加IgnoreUnknown配置只會使錯誤消息消失,它實際上不會帶回任何功能。

為了獲得鑰匙串集成,您需要解除安裝 OpenSSH 的 HomeBrew 版本並使用 Apple 提供的版本。

HomeBrew 中的版本在可預見的未來不會集成 Keychain - 並不是他們根本無法使其工作,而是他們發現實施對項目的風險太大,因為它是並非來自 OpenSSH 項目本身的重大變化。您可以在此處閱讀有關該討論的內容。

如果您查看連結,您會發現您仍然可以下載舊更新檔,如果您願意,可以嘗試一下。但是,由於它不再維護,因此存在安全風險。

同樣,您可以在此處下載第三方 mod 以添加鑰匙串支持。然而,自 2017 年以來似乎沒有更新,因此也存在安全風險。

引用自:https://unix.stackexchange.com/questions/647897