无法使用 virt-manager 连接到远程主机

无法使用 virt-manager 连接到远程主机

我正在尝试从笔记本电脑(computer1)连接到主机(remote1)。在computer1上我有user1,在主机上我有另一个用户(user2)。两个系统都运行Debian,remote1系统是Debian Buster的全新安装。

我收到的错误如下:

Unable to connect to libvirt.

End of file while reading data: sh: 1: nc: not found: Input/output error

Verify that the 'libvirtd' daemon is running
on the remote host.

Libvirt URI is: qemu+ssh://[email protected]/system

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/connection.py", line 904, in _do_open
    self._backend.open(self._do_creds_password)
  File "/usr/share/virt-manager/virtinst/connection.py", line 148, in open
    open_flags)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 105, in openAuth
    if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: End of file while reading data: sh: 1: nc: not found: Input/output error

我可以使用用户 1 从计算机 1 通过 ssh 连接到远程 1:

user1@computer1:~$ ssh [email protected]

然后系统提示我输入密码。我还尝试使用私钥-公钥设置无密码登录,只需 ssh 即可,但尝试 virt-manager 时出现错误。

我一尝试:

user1@computer1:~$ virt-manager -c 'qemu+ssh://[email protected]/system'

我得到了错误。

由于无论我使用公钥还是密码验证都无所谓(两种情况下都会出现错误),所以我恢复到了密码验证。

在 remote1 上,我仅在 /etc/ssh/sshd_config 中有以下内容:

Port 22
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_*
Subsystem       sftp    /usr/lib/openssh/sftp-server

在 /var/log/auth.log 中我似乎找不到失败的身份验证。

对于这是什么以及为什么,您有什么想法/建议吗?

End of file while reading data: sh: 1: nc: not found: Input/output error

我是 Linux 和系统管理的新手,所以经过 3 天的尝试和不断的谷歌搜索后,我还是不知所措。

答案1

确保 libvirtd 守护进程确实在运行后,在服务器上安装 nc(netcat)来修复此错误,正如 Kamil 在上面的评论中所推测的那样。

在 Arch Linux 上,我可以选择 gnu-netcat 或 openbsd-netcat,但必须使用 openbsd 版本,因为 gnu 版本显然不支持 virt-manager 似乎需要的“-U”选项。

感谢 Kamil 帮助我解决这个确切的问题!

相关内容