無法使用 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-ing,但嘗試 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」選項。

感謝卡米爾讓我走上解決這個問題的軌道!

相關內容