我使用 virt-manager 通过 SSH 连接到远程 KVM/libvirt 虚拟机管理程序。连接到服务器后,我可以像在本地计算机上一样与机器进行交互(在后台使用 SPICE)。
但是,由于我已经加密了 SSH 密钥,因此每次 virt-manager 连接到虚拟机管理程序时,我都必须输入解密密码。对于 spice,有 7 个连接,因此每次连接到虚拟机的显示器时,我都会收到 7 次密码提示。其他人将这种疯狂描述为“提示循环”,但这只是 SPICE 有那么多连接,每次输入密码后连接都能正常工作。
对于所有其他工具,例如常规 ssh,我可以使用 gnome-keyring,它会在登录后提示我输入密钥环密码。我已经启用了 gcr-ssh-agent 并将密码添加到我的加密 SSH 密钥中,因此每当我使用 SSH 时,它只会向密钥环询问密码,而无需与我进行任何交互。
长话短说,我如何指示 virt-manager 使用 gnome-keyring 来解密我的 SSH 密钥?
答案1
经过长时间的挖掘,我找到了解决方案。
virt-manager
症状:从终端启动时可以工作,但从dmenu
xorg 上的 i3 wm 下启动时则不行。这促使我调查环境变量,并找到了缺失的线索:我的 X-session 不知道密钥环。
解决方案:将以下行添加到~/.xsessionrc
:
export SSH_AUTH_SOCK='/run/user/1000/keyring/ssh'
请注意,您必须用您的用户 ID 替换数字 1000(使用命令查找id
)。