Ich versuche, von einem Laptop (Computer1) aus eine Verbindung zu einem Host (Remote1) herzustellen. Auf Computer1 habe ich Benutzer1, auf dem Host habe ich einen anderen Benutzer (Benutzer2). Auf beiden Systemen läuft Debian, das Remote1-System ist eine Neuinstallation von Debian Buster.
Ich erhalte die folgende Fehlermeldung:
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
Ich kann mit Benutzer 1 von Computer 1 per SSH auf Remote1 zugreifen mit:
user1@computer1:~$ ssh [email protected]
und ich werde mit einer Passwortabfrage aufgefordert. Ich habe auch versucht, eine passwortlose Anmeldung mit einem privaten und einem öffentlichen Schlüssel einzurichten, und das funktioniert einfach per SSH, aber beim Versuch mit dem virtuellen Manager erhalte ich den Fehler.
Sobald ich es versuche:
user1@computer1:~$ virt-manager -c 'qemu+ssh://[email protected]/system'
Ich erhalte den Fehler.
Da es keine Rolle spielt, ob ich die Authentifizierung mit öffentlichem Schlüssel oder mit Kennwort verwende (ich erhalte den Fehler in beiden Fällen), bin ich wieder zur Kennwortauthentifizierung zurückgekehrt.
Auf remote1 habe ich nur Folgendes in /etc/ssh/sshd_config:
Port 22
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
In /var/log/auth.log kann ich scheinbar keine fehlgeschlagene Authentifizierung finden.
Irgendeine Idee/ein Vorschlag, was das ist und warum?
End of file while reading data: sh: 1: nc: not found: Input/output error
Ich bin neu bei Linux und als Systemadministrator, daher bin ich nach drei Tagen voller Versuche und ständigem Googeln ratlos.
Antwort1
Nachdem Sie sichergestellt haben, dass der libvirtd-Daemon tatsächlich ausgeführt wird, installieren Sie nc (netcat) auf dem Server, um diesen Fehler zu beheben, wie Kamil im obigen Kommentar vermutet hat.
Unter Arch Linux hatte ich die Wahl zwischen gnu-netcat und openbsd-netcat und musste die OpenBSD-Version verwenden, da die GNU-Version anscheinend die Option „-U“ nicht unterstützt, die virt-manager offenbar erfordert.
Danke an Kamil, der mir den Weg zur Lösung genau dieses Problems gezeigt hat!