Sobald die E-Mail mit Ihren Zugangsdaten eingetroffen ist, sollten Sie innerhalb von 5 Minuten im Remote-Desktop sein. Diese Seite erklärt Grafikzugriff, Kommandozeilenzugriff, Latenzwerte und Sicherheitshärtung – einfach der Reihe nach befolgen.
Jeder Mac mini wird standardmäßig mit aktiviertem VNC (5900) und SSH (22) ausgeliefert, die Zugangsdaten stecken in derselben verschlüsselten E-Mail. Tailscale ist optional – Installation und Verwaltung übernehmen Sie selbst.
Sie sehen den vollständigen macOS-Desktop. Ideal für Zertifikatsinstallation, die Xcode-Oberfläche oder 4K-Videoschnitt – alles, was ohne Maus nicht geht. Empfohlene Bandbreite: ≥10 Mbit/s.
Der Hauptkanal für Build-Skripte, die Registrierung von CI-Runnern und rsync-Übertragungen. Unempfindlich gegenüber Latenz, funktioniert sogar über 2G – unsere Empfehlung für den Alltag.
Bindet den Cloud Mac in Ihr privates Netzwerk ein, Direktverbindung per interner IP, keine offenen Ports nach außen. Sie haben volle Administratorrechte – ein einzeiliger brew-Befehl reicht zur Installation.
| Methode | Protokoll / Port | Geeignet für | Ungeeignet für | Latenzempfindlichkeit |
|---|---|---|---|---|
| VNC | RFB / 5900 | Grafische Bedienung, Zertifikatsinstallation, Simulator-Interaktion, Videoschnitt | Lang laufende Automatisierungsaufgaben | Hoch, empfohlen <120ms |
| SSH | SSH / 22 | Skripte, CI-Runner, Dateisynchronisation, lang laufende tmux-Sitzungen | Einmalige Konfigurationen, die eine grafische Oberfläche erfordern | Niedrig, funktioniert auch bei 300ms |
| Tailscale | WireGuard / UDP | Zugriff von mehreren Geräten, Tunnel-Basis nach Schließung öffentlicher Ports | Minimalszenarien ohne zusätzliche Software | Abhängig von der zugrunde liegenden Leitung |
Wenn Sie lokal ebenfalls einen Mac nutzen, müssen Sie nichts installieren. Drücken Sie im Finder ⌘K (Gehe zu → Mit Server verbinden), geben Sie die Adresse aus der Zugangsdaten-E-Mail im folgenden Format ein und tragen Sie anschließend das VNC-Passwort ein.
Geben Sie beim Anlegen der Verbindung Knoten-IP:5900 ein, wählen Sie bei Encryption Prefer on, stellen Sie Picture Quality zunächst auf Automatic und passen Sie sie nach dem Verbindungsaufbau anhand der folgenden Tabelle manuell an. Für Scaling empfiehlt sich 100%, um unscharfen Text durch erneute Skalierung zu vermeiden.
Wird beim ersten Verbindungsaufbau eine Fingerprint-Bestätigung angezeigt, vergleichen Sie diese mit dem Host-Fingerprint am Ende der Zugangsdaten-E-Mail, bevor Sie akzeptieren. Nach 5 falschen Passworteingaben greift eine 60-sekündige Sperre – das ist die Standard-Schutzmaßnahme gegen Brute-Force-Angriffe, kein Fehler.
# Per Finder-Shortcut ⌘K oder direkt im Terminal öffnen
$ open vnc://203.0.113.10:5900
# Auflösung während der Sitzung anpassen (auf dem Remote-Host ausführen)
$ displayplacer "id:main res:1920x1080 hz:60"
✓ connected: mini-tokyo-07 (M4, 24GB)
Die VNC-Performance wird durch drei Variablen bestimmt: Auflösung × Farbtiefe × Kompressionsqualität. Grundsatz: zuerst die Auflösung senken, dann die Farbtiefe, erst zuletzt die Kompressionsqualität – Kompressionsartefakte beeinträchtigen das Lesen von Code stärker als eine niedrige Auflösung.
| Stufe | Auflösung | Farbtiefe | JPEG-Qualität | Geschätzte Bandbreite | Geeignetes Netzwerk |
|---|---|---|---|---|---|
| Flüssigkeit priorisieren | 1280×720 | 16-bit | 4/9 | 3–5 Mbit/s | Mobiler 4G-Hotspot, transkontinentale Leitungen |
| Ausgewogen (Standardempfehlung) | 1920×1080 | 16-bit | 6/9 | 8–12 Mbit/s | Heim-Breitband, nahegelegener Knoten |
| Bildqualität priorisieren | 2560×1440 | 24-bit | 9/9 | 20–35 Mbit/s | Gigabit-LAN + Latenz <60ms |
Die Reduzierung der Farbtiefe von 24-bit auf 16-bit spart rund 40 % Bandbreite und ist beim Programmieren praktisch nicht wahrnehmbar; für Schnitt und Farbkorrektur wieder auf 24-bit umschalten.
Wenn Sie bei der Bestellung bereits einen SSH-Public-Key hinterlegt haben, ist bei Auslieferung direkt der Key-Login aktiv. Falls nicht, melden Sie sich zunächst mit dem Initialpasswort aus der E-Mail an und deaktivieren Sie anschließend das Passwort-Login mit dem ersten Terminal-Block.
# Lokal: Public Key hochladen (erste Anmeldung per Passwort)
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@203.0.113.10
# Remote: Passwort-Login deaktivieren
$ sudo sed -i '' 's/^#\{0,1\}PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
$ sudo launchctl kickstart -k system/com.openssh.sshd
✓ Ab jetzt wird ausschließlich Key-Authentifizierung akzeptiert
# Projektverzeichnis inkrementell hochladen (fortsetzbar)
$ rsync -avzP --exclude .git ./MyApp admin@203.0.113.10:~/work/
# Remote-Verzeichnis lokal einbinden (macFUSE erforderlich)
$ sshfs admin@203.0.113.10:/Users/admin/work ~/remote-work
# Nach Gebrauch aushängen
$ umount ~/remote-work
# Sitzung für einen vollständigen Archive-Build starten
$ tmux new -s build
$ xcodebuild archive -scheme MyApp -destination 'generic/platform=iOS'
# Mit Strg-b d trennen – läuft auch bei Verbindungsabbruch weiter
# Später wieder anhängen
$ tmux attach -t build
~/.ssh/config einen Alias für den Knoten an und ergänzen Sie ServerAliveInterval 30 – danach reicht ssh tokyo, und auch NAT-Timeouts sind damit gelöst.Prüfen Sie diese Tabelle, bevor Sie einen Standort wählen: Die Werte sind ICMP-Ping-Mediane in Millisekunden – je niedriger, desto direkter das Gefühl. Faustregel: <60ms fühlt sich beim Ziehen fast wie lokal an, 60–120ms sind für den Entwickleralltag unproblematisch, >150ms sprechen für reines SSH oder Headless-Betrieb.
| Ausgangsstadt | → Standort Tokio | → Standort Seoul | → Standort Silicon Valley | Empfehlung |
|---|---|---|---|---|
| Peking | 52 | 46 | 152 | Seoul bevorzugt, Tokio als Backup |
| Shanghai | 38 | 42 | 148 | Tokio bevorzugt |
| Shenzhen | 48 | 44 | 158 | Seoul oder Tokio, beide geeignet |
| Tokio | 2 | 34 | 108 | Lokale Direktverbindung |
| Seoul | 33 | 2 | 132 | Lokale Direktverbindung |
| Singapur | 68 | 74 | 168 | Tokio leicht im Vorteil, für VNC ausgewogene Stufe empfohlen |
| Los Angeles | 102 | 128 | 6 | Silicon Valley bevorzugt |
Möchten Sie selbst nachmessen? Die Test-IPs der einzelnen Standorte und die mtr-Nutzung finden Sie im Abschnitt zur Netzwerk-Selbstdiagnose auf der Seite Bei Problemen, inklusive Vorlage für Traceroute-Support-Tickets.
Physische Distanz lässt sich nicht softwareseitig lösen. Der Unterschied zwischen 40ms und 150ms in der obigen Tabelle holt keine Kompressionseinstellung wieder auf. Nutzer in Asien wählen üblicherweise Tokio oder Seoul, Nutzer in Nord- und Südamerika Silicon Valley.
Bei durchschnittlicher Leitung VNC auf die Stufe „Flüssigkeit priorisieren“ umstellen: 16-bit Farbtiefe + mittlere JPEG-Qualität heben die Framerate meist von 12fps auf über 25fps – kein Nachziehen mehr beim Scrollen durch Code.
2,4-GHz-WLAN schwankt oft um ±30ms, Kabel lässt sich auf ±3ms drücken. VNC reagiert empfindlicher auf Jitter als auf die absolute Latenz – 50ms im Schnitt mit starkem Jitter fühlen sich schlechter an als stabile 80ms.
Kompilieren, Packaging und Dateiübertragung laufen im Hintergrund über SSH, VNC bleibt reserviert für Aktionen, die wirklich die Maus brauchen. Ohne Bildschirm-Refresh steht die Bandbreite ganz der Datenübertragung zur Verfügung.
Die Maschine ist Ihr exklusiver physischer Knoten – die Absicherung liegt in Ihrer Verantwortung. Arbeiten Sie diese fünf Punkte der Reihe nach ab, dann ist die öffentliche Angriffsfläche weitgehend geschlossen.
Port 22 in /etc/ssh/sshd_config durch einen hohen Port (z. B. 2222) – automatisierter Scan-Traffic sinkt dadurch um rund 90 %.brew install fail2ban die sshd-Jail aktivieren – standardmäßig 5 fehlgeschlagene Versuche führen zu einer 10-minütigen Sperre, CI-Läufe bleiben unbeeinflusst.# Lokal Tunnel aufbauen: Remote-Port 5900 auf lokalen Port 5901 mappen
$ ssh -N -L 5901:localhost:5900 admin@203.0.113.10
# In einem weiteren Fenster den lokalen Port verbinden
$ open vnc://localhost:5901
✓ VNC-Datenverkehr läuft vollständig SSH-verschlüsselt
Dient die Maschine ausschließlich als Self-Hosted Runner, empfiehlt sich der durchgängige Verzicht auf eine grafische Sitzung: kleinere Angriffsfläche, geringerer Speicherverbrauch, keine VNC-Bandbreite.
svc.sh-Skript des GitHub-Actions-Runners erzeugt automatisch einen LaunchDaemon – Autostart, automatischer Neustart nach Absturz, automatische Wiederverbindung nach Verbindungsabbruch.security unlock-keychain ausführen – die Signierung ist dann nicht mehr auf ein Popup in einer grafischen Sitzung angewiesen.# Bildschirmfreigabe deaktivieren (bei Bedarf jederzeit wieder aktivierbar)
$ sudo launchctl disable system/com.apple.screensharing
# GitHub-Actions-Runner registrieren und dauerhaft betreiben
$ ./config.sh --url https://github.com/org/repo --token XXXX
$ sudo ./svc.sh install && sudo ./svc.sh start
# Signierungs-Schlüsselbund vor dem Build entsperren
$ security unlock-keychain -p "$KC_PASS" ci.keychain-db
✓ runner online, no GUI session
Symptom zuordnen, zuerst den Ein-Zeilen-Befehl ausprobieren; hilft das nicht, Symptom und bereits versuchte Schritte per Support-Ticket melden – Erstreaktion innerhalb von 2 Stunden.
| Symptom | Häufigste Ursache | Ein-Zeilen-Fix |
|---|---|---|
| Schwarzer VNC-Bildschirm | Bildschirmfreigabe-Dienst unerwartet beendet | sudo launchctl kickstart -k system/com.apple.screensharing |
| VNC ruckelt, Frames fehlen | Bildqualitätsstufe übersteigt die Leitungskapazität | Farbtiefe auf 16-bit, JPEG-Qualität auf 4/9, Auflösung auf 1280×720 reduzieren |
| SSH-Verbindung läuft in Timeout | Verbindung erfolgt weiterhin über Port 22 nach Portwechsel, oder lokale Firewall blockiert | ssh -p 2222 admin@203.0.113.10 -v ausführen, um zu sehen, wo der Handshake stoppt |
| SSH verweigert Key | Berechtigungen des lokalen Private Keys zu offen | chmod 600 ~/.ssh/id_ed25519 |
| SSH trennt häufig | NAT-Idle-Timeout kappt lang laufende Verbindungen | printf "ServerAliveInterval 30\n" >> ~/.ssh/config |
| Zwischenablage synchronisiert nicht | Remote-Zwischenablage-Dienst hängt | Per SSH killall pboard ausführen, der Dienst startet automatisch neu |
| Tunnel erreicht Port 5901 nicht | Tunnel-Prozess bereits beendet | ssh -N -L 5901:localhost:5900 admin@203.0.113.10 erneut ausführen |
Eine ausführlichere Schritt-für-Schritt-Diagnose (inklusive fehlgeschlagener Xcode-Signierung und Schlüsselbund-Entsperrung) finden Sie im Handbuch zur Fehlerbehebung
VNC-/SSH-Zugangsdaten kommen in der Regel innerhalb von 10 Minuten nach Zahlung, Abrechnung tageweise, Rückerstattung nicht genutzter Tage innerhalb von 7 Tagen.