我试图在Macbook Pro上为我的 Github 生成一个 SSH 密钥。然而,当我进行将其添加到 ssh-agent 的步骤时,我遇到了“输入身份验证器的 PIN”问题。奇怪的询问来自以下命令:
$ ssh-add -K ~/.ssh/id_rsa
Enter PIN for authenticator:
Run Code Online (Sandbox Code Playgroud)
我完全不知道我应该输入什么来回答这个问题。然而,当我输入以下命令时,一切都如此页面所示。
$ /usr/bin/ssh-add -K ~/.ssh/id_rsa
Identity added: /Users/${user_name}/.ssh/id_rsa (your_email@example.com)
Run Code Online (Sandbox Code Playgroud)
为什么会存在这种差异?您究竟需要输入什么来询问“输入身份验证器的 PIN:”?
$ ssh -V
OpenSSH_8.3p1, OpenSSL 1.1.1g 21 Apr 2020
$ sw_vers -productVersion
10.15.6
Run Code Online (Sandbox Code Playgroud)
Pra*_*mar 28
我在 - 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 (xxxxxxx@xxxx.com)
Run Code Online (Sandbox Code Playgroud)
小智 15
您在 shell 的 $PATH 中有第二个(Brew 安装的?)ssh-add,这与 Apple 版本不同。在 Apple 版本中 -K 将密码存储在您的钥匙串中,因此您不必每次都键入它。在非 Apple 版本中 -K“从 FIDO 身份验证器加载常驻密钥。”
ssh-add 在
/usr/bin/ssh-add
Run Code Online (Sandbox Code Playgroud)
是 Apple 提供的,将与 -K 一起使用。
小智 12
如果你使用这个命令
$ ssh-add -K ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
您将被要求输入 PIN 进行身份验证,而不是使用
$ ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13797 次 |
| 最近记录: |