“输入身份验证器的 PIN”与 SSH 相关的问题

问题描述 投票:0回答:5

简介

我尝试在 Macbook Pro 上为我的 Github 生成 SSH 密钥。然而,当我将其添加到 ssh-agent 的步骤时,我遇到了“输入身份验证器的 PIN”问题。这个奇怪的问题来自以下命令:

$ ssh-add -K ~/.ssh/id_rsa
Enter PIN for authenticator:

我完全不知道我应该输入什么来回答这个问题。然而,当我输入以下命令时,一切都如此页面所示。

$ /usr/bin/ssh-add -K ~/.ssh/id_rsa
Identity added: /Users/${user_name}/.ssh/id_rsa ([email protected])

为什么会存在这种差异?当询问“输入验证器的 PIN 码:”时,您到底需要输入什么?

一些信息

  1. 版本信息
$ ssh -V
OpenSSH_8.3p1, OpenSSL 1.1.1g  21 Apr 2020

$ sw_vers -productVersion
10.15.6
  1. 我用ed25519算法生成了密钥。
macos github ssh
5个回答
108
投票

如果您使用此命令

$ ssh-add -K ~/.ssh/id_rsa 

您将被要求输入 PIN 码进行身份验证 所以代替那个使用

$ ssh-add ~/.ssh/id_rsa

35
投票

您的 shell 的 $PATH 中有第二个(Brew 安装的?)ssh-add,它与 Apple 版本不同。在 Apple 版本中,

-K
将密码存储在您的钥匙串中,因此您不必每次都输入密码。在非 Apple 版本中
-K
“从 FIDO 身份验证器加载常驻密钥。”

ssh-add
位于:

/usr/bin/ssh-add

是 Apple 提供的,可与

-K
配合使用。

macOS Monterey (v12) 更新

-K
-A
标志已弃用,并分别由
--apple-use-keychain
--apple-load-keychain
标志取代。


29
投票

我在 - https://www.ssh.com/academy/ssh/add 上看到,发现如果我们使用 -'k'(小 k),那么它会询问我在 ssh 密钥生成过程中添加的密码.

例如我创建 ssh 密钥时的密码是 - Pass@123# 之后当我执行命令时 -

$ssh-add -k ~/.ssh/id_rsa 
Enter passphrase for ~/.ssh/id_rsa: (typed here - Pass@123# and press enter)
Identity added: ~/.ssh/id_rsa ([email protected])

12
投票

如 man ssh-add 页面所指定,

-K
选项为:

-K 从 FIDO 身份验证器加载驻留密钥。

所以你基本上告诉它使用身份验证器。


0
投票

1820是我使用的密码,但未能开通我的代理帐户0743201449

© www.soinside.com 2019 - 2024. All rights reserved.