我已经在最新的ubuntu20.04上安装了qemu/kvm,并且希望使用virt管理器远程管理客人。
我可以成功地连接到: virt-manager -c -c
看到所有的客人,并可以配置他们。但是,当试图打开来宾(VNC或spice)的显示时,我得到:
SSH tunnel error output: USERNAME@IP: Permission denied (publickey).当更改sshd_config以允许基于密码的身份验证时,所有操作都很好(VNC向我询问了1次密码,spice ~8次,但我知道这一点)。
VNC被配置为"localhost only“和Port "auto”。
顺便说一句:如果我将其更改为“倾听所有接口”,则会在一段时间后得到一个“来宾断开连接”(而不是SSH隧道错误输出: USERNAME@IP: Permission (公钥))。
/var/log/auth.log显示:
sshd[10383]: Connection closed by authenticating user myqemuuser1 XmyipX port XmyportX [preauth]/var/log/syslog中没有显示错误,/var/log/libvirt/qemu/XXguestXX.log中的来宾日志中也没有显示错误。
我为proxmox找到了一种关于在authorized_keys中重复检查键格式的解决方案:
https://forum.proxmox.com/threads/connection-closed-by-ip-port-xxxx-preauth.46734/
因此,我再次检查了该文件的格式,它在我看来是正常的(用ssh-keygen -b 4096 -t rsa -f“/home/mylocaluser/.ssh/id_rsa_SERVERNAME”创建的键盘):
.公开密钥-数据.w==myqemuuser1 1@IP
我还确保任何用户(其他用户)都可以读取它,直到/home/xxx/..ssh/授权键。
我还将其复制到/root/..ssh/authorized_keys,但也出现了相同的错误。
似乎错误消息“权限被拒绝”是非常正确的,所以对于VNC/spice,我可能不得不在其他地方复制公钥,或者创建一个符号链接?我没有在谷歌上找到任何东西..。
我对/etc/ssh/sshd_config的默认更改如下:
Port XcustomX
PermitRootLogin no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no(我沿途也尝试了virt查看器,但这也不起作用)
我在~/..cache/virt/virt-Manager.log上查看了virt调试日志:
[Do, 03 Dez 2020 10:53:27 virt-manager 262723] DEBUG (xmleditor:12) Using GtkSource 4
[Do, 03 Dez 2020 10:53:27 virt-manager 262723] DEBUG (serialcon:17) Using VTE API 2.91
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (vmwindow:177) Showing VM details:
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (engine:391) window counter incremented to 2
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (console:715) Starting connect process for proto=vnc trans=ssh connhost=XqemuIPX connuser=XqemuUserX connport=XsshportX gaddr=127.0.0.1 gport=5900 gtlsport=None gsocket=None
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (sshtunnels:253) Pre-generated ssh command for ginfo: ssh -p XsshportX -l XqemuUserX XqemuIPX sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then CMD="nc -q 0 127.0.0.1 5900";else CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (sshtunnels:277) Generated tunnel fd=20 for viewer
[Do, 03 Dez 2020 10:53:28 virt-manager 262723] DEBUG (sshtunnels:201) Opened tunnel PID=262803 ERRFD=18
[Do, 03 Dez 2020 10:53:35 virt-manager 262723] DEBUG (console:838) Viewer connected没有一个谷歌搜索结果与一些关键字..。我认为唯一缺少的是一些权限/符号链接到服务器端的公钥,以便VNC/spice访问?
[Do, 03 Dez 2020 10:44:12 virt-manager 260859] DEBUG (xmleditor:12) Using GtkSource 4
[Do, 03 Dez 2020 10:44:12 virt-manager 260859] DEBUG (serialcon:17) Using VTE API 2.91
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (vmwindow:177) Showing VM details:
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (engine:391) window counter incremented to 2
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (console:715) Starting connect process for proto=vnc trans=ssh connhost=XqemuIPX connuser=XqemuUserX connport=XsshportX gaddr=127.0.0.1 gport=5900 gtlsport=None gsocket=None
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (sshtunnels:253) Pre-generated ssh command for ginfo: ssh -p XsshportX -l XqemuUserX XqemuIPX sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then CMD="nc -q 0 127.0.0.1 5900";else CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (sshtunnels:277) Generated tunnel fd=20 for viewer
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (sshtunnels:201) Opened tunnel PID=260956 ERRFD=18
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (sshtunnels:154) Close tunnel PID=260956 ERRFD=18
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (console:829) Viewer disconnected
[Do, 03 Dez 2020 10:44:14 virt-manager 260859] DEBUG (console:821) SSH tunnel error output: XqemuUserX@XqemuIPX: Permission denied (publickey).发布于 2022-01-19 14:59:18
我今天碰到了这个..。我使用自定义密钥文件做了同样的事情:
virt-manager -c 'qemu+ssh://user@server:port/system?keyfile=~/.ssh/custom_private_key'调试后,我发现这里的问题是在连接到显示器时没有使用自定义密钥文件.
因此,我在远程服务器上做了一些更改,并将我的默认公钥(id_rsa.pub)复制到authorized_keys文件中.中提琴!现在,我可以使用以下方法连接并连接到显示器:
virt-manager -c 'qemu+ssh://user@server:port/system'发布于 2022-05-06 15:58:33
将远程计算机信息添加到~/.ssh/config中:
Host remotebox
Hostname a.b.c.d
User someuser
IdentityFile ~/.ssh/custom_key_name然后连接到virt-manager -c 'qemu+ssh://remotebox/system'
https://askubuntu.com/questions/1296963
复制相似问题