랩탑(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에서 원격 1로 SSH로 연결할 수 있습니다.
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와 sys-admin을 처음 접했기 때문에 3일간의 시도와 끊임없는 인터넷 검색 끝에 헤매었습니다.
답변1
libvirtd 데몬이 실제로 실행 중인지 확인한 후 Kamil이 위 설명에서 추측한 대로 서버에 nc(netcat)를 설치하여 이 오류를 수정하세요.
Arch Linux에서 gnu-netcat 또는 openbsd-netcat 옵션이 주어졌고 openbsd 버전을 사용해야 했습니다. 왜냐하면 gnu 버전은 분명히 virt-manager가 요구하는 '-U' 옵션을 지원하지 않기 때문입니다.
이 정확한 문제를 해결할 수 있도록 도와준 Kamil에게 감사드립니다!