pkttyagent scheint bei virt-manager über ssh -X nicht zu funktionieren?

1880
BRPocock

TL; DR: Ich bin zu dumm, um die PolKit-Authentifizierung über ssh zu verwenden.


Ich habe zwei Maschinen (Lauf Fedora) mit ssh Public-Key - Logins zu einem Benutzer mit Administratorrechten (Gruppen zB wheel, adm).

Wenn ich mich lokal auf dem Server-Server anmelde, kann ich virt-managerauf verschiedene VMs zugreifen, die auf dem Server vorhanden sind. Beim Herstellen einer Verbindung über einen ssh -X -CServer stelle ich jedoch fest, dass virt-managerdie Verbindung zu den virtuellen Maschinen sofort abgelehnt wird und Folgendes gesagt wird:

Virtual Machine Manager-Verbindungsfehler (auf dem Server )

Es kann keine Verbindung zu Libvirt hergestellt werden.

Authentifizierung fehlgeschlagen: Polkit: Polkit \ 56retains_authorization_after_challenge = 1 Die Autorisierung erfordert eine Authentifizierung, es ist jedoch kein Agent verfügbar.

Ich habe den naiven Ansatz ausprobiert, ihn so zu starten:

 virt-manager & pkttyagent -p $(pgrep virt-manager) 

… Aber alles, was mir bleibt, ist:

  • pkttyagent ist leise;
  • virt-manager wird beendet, sobald ich das Fehlerdialogfeld schließe.

Kann jemand eine Möglichkeit vorschlagen, sich pkttyagentvor der Ausführung zu virt-managerregistrieren, oder einen anderen Authentifizierungsagenten neu registrieren ssh -X?

→ Es ist zu beachten, dass das Ausführen virt-managerals rootRemotezugriff (effektiv) nicht einmal eine Option ist, da ich VMs habe, die unter meinem eigenen Benutzerkonto ( qemuBenutzermodus, Zugriff über Gnome-Boxen) sowie systemweit und lokal ausgeführt werden -Benutzerdefinitionen sind nicht über zugänglich root. Auch wenn ich keine Angst vor der Idee hatte, eine X-App als rooterste zu betreiben …

1

2 Antworten auf die Frage

1
grawity

Haben Sie versucht, einen grafischen Agenten auszuführen? Zum Beispiel lxpolkit, polkit-gnome-authentication-agent-1oder polkit-kde-authentication-agent-1.

Alternativ können Sie eine Polkit-Regel schreiben, die die Authentifizierungsanforderung entweder für einen bestimmten Benutzer oder für Mitglieder des Typs 'wheel' aufhebt.


(Beachten Sie, dass 'adm' normalerweise nicht 'Administratorrechte ' bedeutet ; es bedeutet Zugriff auf Systemprotokolle und Abrechnungsdaten.)

(: facepalm :) Ich hatte es versucht, aber ich habe die Fehlermeldungen falsch interpretiert. `/ usr / libexec / polkit-gnome-authentication-agent-1` stöhnt darüber, dass keine Verbindung zu einem DBus-Socket hergestellt werden konnte - aber wenn ich es * im Hintergrund * setze und dann` virt-manager` betreibe, funktioniert es * tatsächlich * . Anscheinend hängt die WARNUNG, die es druckt, mit a11y zusammen, und es gibt keine positiven Anzeichen dafür, dass es trotzdem funktioniert hat. ** bearbeiten ** maaaybe. Es scheint zu hängen, bevor ich ein Passwort eingeben darf, aber es kann aus irgendeinem Grund * super * langsam sein. BRPocock vor 10 Jahren 0
1
Abdelouahed Haitoute

Dieser Befehl hat auf meinem System funktioniert:

virt-manager ; pkttyagent --process $(pgrep virt-manager) 
Das war etwas, was ich versucht hatte (mit dem "&" anstatt mit ";", damit es im Hintergrund laufen kann), aber es schien nicht zu funktionieren ... BRPocock vor 10 Jahren 0
Es gibt einen Unterschied zwischen & und; Das ; ist in meinem Fall der richtige Weg. Bekommst du übrigens eine Fehlermeldung bei der Benutzung;; Abdelouahed Haitoute vor 10 Jahren 1