You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统下能否用安卓手机替代YubiKey作为SSH安全密钥?

用安卓手机替代YubiKey实现SSH登录弹窗确认(Ubuntu系统)

前提条件

  • Ubuntu系统已安装OpenSSH 8.2及以上版本(FIDO2支持从该版本开始)
  • 安卓手机安装支持FIDO2的应用,比如Google Authenticator(需更新到支持Passkey/FIDO2的版本)或YubiKey Authenticator
  • 手机和Ubuntu设备已通过蓝牙配对,或处于同一局域网

操作步骤

1. 配置安卓手机的FIDO2密钥

  • 打开手机上的FIDO2应用,添加新的安全密钥(部分应用标注为“Passkey”),选择“跨设备使用”模式
  • 确保蓝牙连接正常(若用蓝牙),或手机与Ubuntu在同一WiFi环境下

2. 在Ubuntu生成绑定手机的SSH密钥

打开终端执行以下命令:

ssh-keygen -t ed25519-sk -O resident -O verify-required

参数说明:

  • -t ed25519-sk:指定采用FIDO2标准的ED25519算法密钥
  • -O resident:将密钥存储在手机的FIDO2应用中,而非本地系统
  • -O verify-required:强制每次使用密钥时触发手机的确认弹窗

执行命令后,终端会提示授权,此时手机会弹出允许/拒绝的确认框,点击允许即可完成密钥生成。

3. 上传公钥到目标SSH主机

生成的公钥默认路径为~/.ssh/id_ed25519-sk.pub,将其内容添加到目标主机的~/.ssh/authorized_keys文件中,或用以下命令快速上传:

ssh-copy-id -i ~/.ssh/id_ed25519-sk.pub 你的用户名@目标主机IP

4. 测试SSH登录

执行登录命令:

ssh 你的用户名@目标主机IP

此时安卓手机会立即弹出确认弹窗,点击允许后即可完成登录。

常见问题排查

  • 手机无弹窗:检查蓝牙连接状态,或确保FIDO2应用在后台运行;也可尝试用USB线连接手机与Ubuntu,选择“文件传输”模式后重试
  • OpenSSH版本过低:执行sudo apt update && sudo apt install openssh-client升级到最新版本
  • 密钥不生效:确认目标主机的sshd_config中已开启PubkeyAuthentication yes,且AuthorizedKeysFile路径配置正确

内容的提问来源于stack exchange,提问作者Nihal Sanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 02:42:08