So verhindern Sie, dass ssh-agent beim Anmelden/Booten gestartet wird

Mir ist aufgefallen, ssh-agentdass es beim Login automatisch gestartet wird. Ich würde es lieber nicht tun, da ich es vorziehen würde, oh-my-zsh stattdessen den ssh-agent zu starten (da er automatisch my hinzufügt, id_rsawas eine nette Funktion ist).

Ich habe versucht herauszufinden, wo das beginnt, aber ich sehe nichts. Wie deaktiviere ich es?

Antworten (1)

Der Launch-Daemon ( launchd) ist verantwortlich für das Starten von Prozessen beim Booten, bei Bedarf, nach Zeitplan, als Reaktion auf eingehende Netzwerk-Port-Verbindungen und wenn ein Benutzer angemeldet ist.

Vielleicht haben Sie Glück mit grep:

launchctl list | grep ssh-agent

In diesem Fall ist es die openssh-Einstellung, mit der die Dinge beginnen:

launchctl list com.openssh.ssh-agent

Ich ziehe es ernsthaft vor, diese Einstellungsdateien mit einem Tool wie LaunchControl oder Lingon zu bearbeiten . Sie bieten Kontexthilfe, grafische Angebote und Syntaxprüfung. Die launchd/launchctl-Dokumentation von Apple existiert, ist aber dicht und beschreibend (eher als erzählerisch / lehrreich / vorschreibend oder im Grunde einfach zu erlernen und zu verwenden).

Hier ist ein Beispiel, wie es einen Fehler mit diesem bestimmten Agenten auf meinem Mac anzeigt, und eine hilfreiche Warnung, dass ich SIP deaktivieren muss, bevor ich mit diesem bestimmten Job oder Agenten herumfummele.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie dies entladen / deaktivieren möchten, müssen Sie herausfinden, wo die Einstellung gespeichert ist, und sie dann bearbeiten oder launchctl anweisen, dieses Element (dauerhaft) zu entladen:

mdfind ssh-agent|grep plist
launchctl unload -w /System/Library/LaunchAgents/com.openssh.ssh-agent.plist
sudo launchctl disable system/com.openssh.ssh-agent

Die Daemons wie dieses System werden von der alten „unload“-Syntax auf die neue „enable|disable“-Syntax umgestellt, sodass Sie möglicherweise unterschiedliche Ergebnisse von meinen obigen Befehlen auf verschiedenen Versionen und Builds von macOS erhalten. Da Sie sehen können, wann es läuft, und es manuell beenden können ( killall ssh-agent), sollten Sie mit diesen zusätzlichen Informationen zum Start-Daemon, die nicht in den meisten Artikeln zur Unix-Verwaltung dieses SSH-Tools enthalten sind, guten Erfolg haben.

Angesichts all der oben genannten Punkte, insbesondere wenn SIP Sie daran hindert, dies direkt zu deaktivieren, würde ich es wahrscheinlich anders angreifen. Die erste Idee, die mir in den Sinn kommt, wäre, meine eigene launchd plist zu schreiben und sie unter Last laufen zu lassen, damit sie die Befehle zum automatischen Stoppen ausführt , und dann zu sehen, ob Sie sie dann neu starten / steuern ssh-agentkönnen . oh-my-zshSie können eine Startliste in /Library/LaunchDaemons/ einfügen und sie als root ausführen lassen, was wahrscheinlich das ist, was Sie brauchen. Ich hoffe das hilft. Übrigens, wenn Sie mit launchd arbeiten, empfehle ich LaunchControl. Es ist eine großartige Anwendung.
Ebenso, wenn Sie killalles ssh-agent(aus Gründen) tun würden, launchctl start com.openssh.ssh-agentist es wahrscheinlich der "richtige" Weg, es neu zu starten.