virt-manager でリモート ホストに接続できない

virt-manager でリモート ホストに接続できない

ラップトップ (コンピュータ 1) からホスト (リモート 1) に接続しようとしています。コンピュータ 1 にはユーザー 1 がいて、ホストには別のユーザー (ユーザー 2) がいます。両方のシステムで Debian が実行されており、リモート 1 システムは 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 で接続するだけで機能しますが、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 デーモンが実際に実行されていることを確認した後、Kamil が上記のコメントで推測したように、サーバーに nc (netcat) をインストールしてこのエラーを修正します。

Arch Linux では gnu-netcat または openbsd-netcat のオプションが与えられましたが、gnu バージョンは virt-manager が必要とする '-U' オプションをサポートしていないため、openbsd バージョンを使用する必要がありました。

まさにこの問題を解決する道を示してくれた Kamil に感謝します。

関連情報