- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 FIDO2 在 Yubikey 5 Nano 上创建了 SSH key :
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519-sk
Yubikey 设置了用户和管理员 PIN。
Confirm user presence for key ...
在详细模式下,SSH 客户端显示:
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /.../.ssh/id_ed25519-sk ED25519-SK SHA256:... explicit authenticator agent
debug1: Server accepts key: /.../.ssh/id_ed25519-sk ED25519-SK SHA256:... explicit authenticator agent
此时 Yubikey 开始闪烁。一旦我触摸它,SSH 登录就会使用该 key 成功,随后的消息将是:
debug1: Authentication succeeded (publickey).
Authenticated to github.com (via proxy).
当使用
git clone
等 Git 操作的 key 时或
git pull
,它只是默默地等待按键。这种行为的问题是我不知道 SSH 客户端是在等待网络/服务器/代理还是让我触摸 key 。
ssh-keygen
从 OpenSSH 9.0p1 可移植源编译,我可以看到公钥的标志设置为 0x1(需要用户在场):
$ ./ssh-keygen -vvv -y -f ~/.ssh/id_ed25519-sk
sk-ssh-ed25519@openssh.com AAAAGnNrLX...mAAAABHNzaDo= foo@bar
debug1: sk_application: "ssh:", sk_flags 0x01
该标志理论上应该触发消息,但它不会。
identity_sign()
在
sshconnect2.c
,我可以看到它调用了
ssh_agent_sign()
并返回。查看
process_sign_request2()
的源代码在
ssh-agent.c
,它包含为“sk”键发出消息的代码。
gnome-keyring-d(57868)-+-ssh-agent(58517)---ssh-sk-helper(79174)
|-{gnome-keyring-d}(57869)
|-{gnome-keyring-d}(57870)
|-{gnome-keyring-d}(57982)
`-{gnome-keyring-d}(79173)
一旦按键发生,
ssh-sk-helper
过程消失。
ssh-agent
发出消息,它没有到达
ssh
过程。
最佳答案
这更像是一种解决方法,而不是正确的答案,但是它提供了一种修复行为的方法。这有多个因素(原文如此!):
首先,在 Ubuntu 中有一些东西会自动在 ~/.ssh
中添加 key 。目录到 ssh-agent
登录时开始 - 一旦我使用 ssh-keygen
创建 key , key 自动出现在 ssh-add -l
的输出中.可能不是ssh本身,因为我没有AddKeysToAgent
设置在我的 ~/.ssh/config
(或全局配置),该指令的默认值为 no
.
为了克服这种行为,我在不同的位置(~/altssh
)生成了 key 文件。
接下来,ssh 更喜欢存储在 ssh-agent 中的 key ,因此这也需要更改,使用 IdentitiesOnly
指令设置为 yes
.
发出“确认用户存在”消息的 ssh 配置片段:
Host *github.com
User git
# ssh will prefer the keys stored in ssh-agent to the one from
# the identity file so this behavior needs to be changed.
IdentitiesOnly yes
# for a good measure
IdentityAgent none
# The keys from ~/.ssh will be added to the ssh-agent automatically
# which I want to avoid because then the 'Confirm user presence'
# message will not be displayed.
IdentityFile ~/altssh/id_ed25519-sk
有了这个,它就可以工作了:
$ ssh-add -l | grep 25519 | wc -l
0
$ ssh -T github.com
Confirm user presence for key ED25519-SK SHA256:...
Hi ...! You've successfully authenticated, but GitHub does not provide shell access.
不过,我认为这是 ssh-agent 通信在 OpenSSH 中工作方式的一个限制。另外,也许 Ubuntu 不应该添加
sk
ssh-agent 的 key 作为第二级解决方法。
关于ubuntu - "Confirm user presence for key"使用 Yubikey 进行 SSH 连接时不显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72545585/
假设我想在浏览器中加密数据(通过 JavaScript,使用 PGP)。由于将 key 存储在浏览器 (LocalStorage) 中并不能保存,因此我想将它们保存在外部设备上,例如 YubiKey。
我对 PGP 加密相当陌生。上周我在 Yubikey 上生成了一个新的 key 对,而之前我只使用了我在我的机器上生成的私钥。我使用雷鸟 enigmail 进行 key 管理。这可能是一个愚蠢的问题,
我正在测试 Yubico Yubikeys 5 NFC,一般来说,我们使用 KeePassXC 来保存敏感信息。 KeePassXC 接受 yubikey 但只接受一个...有人知道是否可以向 kdb
有没有人成功使用Yubikey for sudo ?看起来很有希望,但似乎有一个 weird bug这使得设置变得亲切或脆弱。使用 nscd 进行 DNS 缓存的变通方法并不鼓舞人心。 最佳答案 我是
当我使用 WebAuthn 和我的 YubiKey 进行身份验证时,response.userHandle 属性始终为 null。那是我注册凭据的用户 ID 和显示名称不会返回。这是因为我在注册/身份
我需要生成一个新的 key 对来在 Yubikey 上签名,但我想“备份”旧 key 。 yubico-piv-tool文档提到了用于退休 key 管理的插槽 82-95,这似乎是为了这个目的。但是我
我想使用存储在我 Yubikey 的 OpenPGP 小程序中的 OpenPGP key 签署 APK 文件。 我知道,有一个 solution for APK signing using Yubik
本文整理了Java中org.apereo.cas.adaptors.yubikey.web.flow.YubiKeyAccountSaveRegistrationAction类的一些代码示例,展示了Y
本文整理了Java中org.apereo.cas.adaptors.yubikey.web.flow.YubiKeyMultifactorTrustWebflowConfigurer类的一些代码示例,
我们有一个带有静态 OTP 密码的 yubikey 5 NFC,其中第一个字母是小写字母。在 Ubuntu 20.04.2 LTS 设备上运行的 Qt5 应用程序中使用此密码时,第一个字母会转换为大写
我使用 FIDO2 在 Yubikey 5 Nano 上创建了 SSH key : ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519-sk Yubikey 设
我目前的设置如下: sec# rsa4096/E97E8047 2016-07-18 [C] uid [ultimate] Jonas Finnemann Jensen uid
我是一名优秀的程序员,十分优秀!