Я пытаюсь подключиться с ноутбука (computer1) к хосту (remote1). На computer1 у меня есть user1, на host у меня другой пользователь (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
Я могу подключиться по ssh с пользователем 1 с компьютера 1 на remote1 с помощью:
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) на сервере, чтобы исправить эту ошибку, как предположил Камил в комментарии выше.
Мне предоставили выбор gnu-netcat или openbsd-netcat в Arch Linux, и мне пришлось использовать версию openbsd, поскольку версия gnu, по-видимому, не поддерживает опцию «-U», которую, по-видимому, требует virt-manager.
Спасибо Камилу за то, что он направил меня на путь решения этой проблемы!