Melden Sie sich als Benutzer an, wenn Sie sich über ssh unter MacOS verbinden

Ich habe eine MacOS Sierra-Maschine zu einer Active Directory-Domäne des Unternehmens hinzugefügt und die Remote-Anmeldung für mehrere Benutzer in einer AD-Gruppe aktiviert.

Diese Benutzer können sich lokal über die Benutzeroberfläche anmelden und sich sogar über geöffnetes SSH bei Mac anmelden.

Die geschäftliche Anforderung, für die dies durchgeführt wurde, besteht darin, Benutzern das Herstellen einer Verbindung mit einem Xamarin Build-Host von Visual Studio aus zu ermöglichen, um für iOS zu entwickeln, aber dies liegt außerhalb des Bereichs dieser Frage. Die Verbindung aus Visual Studio erfolgt also letztlich über reines SSH. Sobald der entfernte MacOS-Rechner die ssh-Anmeldeinformationen akzeptiert, die in der VS-Benutzeroberfläche eingegeben wurden, versucht er, einen Programmteil bereitzustellen, der von VS benötigt wird, um erforderliche Aufgaben auszuführen, eine Broker-Anwendung. Das Protokoll des Versuchs lautet wie folgt:

Starting connection to Mac mac.mydomain.net... Starting Broker
4.3.0.795 in port 58116... 
The user must be logged in on the Mac in order to execute an SSH command. 
Disconnected from the Mac mac.mydomain.net (IP of mac.mydomain.net)

Das Problem ist dieser Eintrag:

The user must be logged in on the Mac in order to execute an SSH command. 

Wenn ich über die Benutzeroberfläche auf das MacOS gehe und mich anmelde, verschiebe ich den Bildschirm mit der schnellen Benutzerumschaltung einfach zurück zum Anmeldefenster, während ich die Benutzeroberflächensitzung des Benutzers aufrechterhalte, könnte ich problemlos eine Verbindung über Visual Studio herstellen .

Die SSH-Anmeldung ist also nicht dasselbe wie die UI-Anmeldung. Wie kann ich die Ereignisse oder etwas so einrichten, dass bei der SSH-Anmeldung ein Benutzer auch "wie in der Benutzeroberfläche" angemeldet ist?

Update: Wahrscheinlich Duplikat von https://superuser.com/questions/39322/induce-mac-graphical-login-from-ssh

Besuchen Sie unseren „Ask Different“-Chatraum . Möglicherweise sind Sie kurz vor einer Lösung oder meilenweit entfernt und benötigen einige Hin- und Herbewegungen, um Annahmen zu Ihrem Geschäftsszenario auseinanderzuhalten. Auch wenn wir Lizenzprobleme außer Acht lassen und an technischen Hindernissen arbeiten – Anzeigenbindung und Systemleistung wirken sich auf die Skalierbarkeit Ihrer Lösung aus.
Welche Installationsanleitung hast du befolgt? Dieses hier: Xamarin.iOS unter Windows installieren ?
@klanomath, ja, ich bin mehrere Monate nach diesem Tutorial. Es ist einfach und funktioniert super. In meinem Szenario ist ein Benutzer, der auf der VS-Seite eingegeben wird, nicht an einem System auf MacOs-Seite angemeldet. Tutorial geht davon aus, dass dies der Fall ist. Meine Frage bezieht sich auf die automatische Anmeldung des Benutzers über den SSH-Anmeldehaken.
@ MaximV.Pavlov Ich werde versuchen, es in einem LAB einzurichten, wenn ich Zeit habe. Sie (und/oder Ihre Entwickler) programmieren auf Windows-Rechnern und der Mac wird als Build-Host benötigt. Wie viele Entwickler sollen mit dem Mac verbunden werden? Ich bin nicht sehr erfahren mit Xamarin - daher muss ich einige grundlegende Fragen stellen ...
@klanomath, sagen wir, ich brauche nur einen Benutzer, der bei einem Mac angemeldet ist - aber nicht den, der sich beim Start von Mac OS "automatisch anmeldet".

Antworten (1)

Kurzfristig müssen Sie wahrscheinlich die angemeldeten Benutzer auf ein oder zwei beschränken, da Mac OS kein Terminaldienstmodell für viele entfernte Benutzer implementiert. Ihre Einrichtung verstößt wahrscheinlich nicht nur gegen die ausdrücklichen Bedingungen in Bezug auf die Remotedesktopfunktionalität in der Softwarelizenz (vorausgesetzt, Ihr Unternehmen hat keine benutzerdefinierte Lizenzvereinbarung mit Apple ausgehandelt), viele Subsysteme, Optimierungsparameter und Skripte sind für jeweils einen Hauptbenutzer konzipiert Zeit.

Langfristig werden Sie sich wahrscheinlich dafür entscheiden, Ihr Build-Toolset neu zu gestalten, um eine Mischung aus Folgendem einzurichten:

  • ein Continuous-Integration-Server, der ohne GUI erstellt wird
  • Apples server.app und nutzen Sie den Xcode-Serverdienst, um die Anmeldung bei der GUI zu handhaben, sodass Sie die lokale Fenstersitzung für das freigegebene Build-Konto nicht skripten und automatisieren müssen
  • mehrere Macs für jeden Entwickler, damit sie lokal statt remote entwickeln können.

TLDR; Das System wurde nicht für 5 Remote-Benutzer entwickelt - Sie werden Kuriositäten und Probleme erleben, wenn Sie so lange laufen

Ich kann alle fünf Entwickler gleichzeitig über die Benutzeroberfläche anmelden, zum Anmeldebildschirm wechseln und alle werden bis zum nächsten Neustart des Computers einwandfrei funktionieren. Das CI ist bereits eingerichtet und interagiert oder bezieht sich nicht auf den Entwicklungsprozess, für den ich eine Remote-Build-Host-Verbindung benötige.
Sobald Sie in die Produktion gehen, werden Sie technische Probleme bekommen – offene Dateibeschränkungen, Systemskripte, andere Dinge werden kaputt gehen. Ich habe die Lizenzierungsanforderungen hinzugefügt, die Sie in den Business Case übernehmen können. Möglicherweise haben Sie mehr Glück beim Virtualisieren mehrerer Betriebssysteme zum Testen, anstatt 5 Benutzer auf einem Betriebssystem zu platzieren, wenn Sie sich nicht von benannten Benutzern befreien können und einen Build-Benutzer die GUI steuern lassen, @MaximV.Pavlov
danke, immer noch völlig irrelevant für das eigentliche Problem. Bei dieser Frage geht es um die Anmeldung des Benutzers, wenn er sich über SSH mit MacOS verbindet. Der Grund, warum dies erforderlich ist, kann für die Fälle anderer Personen unterschiedlich sein.
Ich verstehe, was Sie wollen - mal sehen, ob die Änderungen beim mehrschichtigen Schutz / SIP / Schlüsselbundzugriff von ssh überhaupt eine synthetische Anmeldung zulassen, bevor wir die längerfristige Stabilität der Lösung oder Lizenzierungsprobleme diskutieren. Ich hoffe wirklich, dass jemand anderes eine technische Möglichkeit hat, dies zu tun - es wäre faszinierend, es in einer Laborumgebung zu duplizieren - also gebe ich Ihrem Beitrag bereits +1.