我可以使用私钥/公钥从笔记本电脑通过 SSH 连接到服务器,如下所示:
$ ssh -i ~/.ssh/ed25519 [email protected] -p 22XX
我的公钥位于
~/.ssh/authorized_keys
的服务器上。
当我尝试
virsh
时,我无法连接:
$ virsh -c qemu+ssh://[email protected]:22XX/system
error: failed to connect to the hypervisor
error: Cannot recv data: [email protected]: Permission denied (publickey).: Connection reset by peer
我在
PasswordAuthentication yes
中更改了 sshd_config
,并且能够使用上述命令连接到服务器。
但问题是现在我的服务器上有我不想要的 SSH 密码身份验证。
这是来自笔记本电脑的
journalctl
尝试连接而无需密码:
$ journalctl --lines=100
Jan 25 18:06:05 arch polkitd[462]: Registered Authentication Agent for unix-process:1237:24897 (system bus name :1.52 [/usr/bin/pkttyagent --process 1237 --notify-fd 4 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Jan 25 18:06:05 arch polkitd[462]: Unregistered Authentication Agent for unix-process:1237:24897 (system bus name :1.52, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
我没有在笔记本电脑或服务器上运行
polkit.service
。我将 libvirtd_config
更改为 auth_rw="none"
和 auth_ro="none"
,并且安装了 qemu-ssh-block-agent
软件包。
请帮忙。
我有人建议使用
ssh-agent
,我昨天尝试过但没有成功。我昨晚重新启动了服务器和笔记本电脑并重试ssh-agent
并能够连接。
对于其他人:我在笔记本电脑上运行:
[[email protected]][~]
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXN8xmnw/agent.1538; export SSH_AUTH_SOCK;
SSH_AGENT_PID=1539; export SSH_AGENT_PID;
echo Agent pid 1539;
[[email protected]][~]
$ eval $(ssh-agent -c) //fish needs -c
Agent pid 1569
[[email protected]][~]
$ ssh-add ~/.ssh/ed25519
Identity added: /home/chris/.ssh/ed25519 (chris@arch)
[[email protected]][~]
$ virsh -c qemu+ssh://[email protected]:220/system
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh #
剩下的唯一问题是,从 virt-manager GUI 我仍然收到相同的连接问题。所以我必须从以下开始:
virt-manager -c qemu+ssh://[email protected]:220/system