Teamarbeit (gemeinsame Verbindungen)¶
Teilen Sie SSH-Verbindungen mit Ihrem Team, indem Sie sie aus einem Git-Repository oder einer gemeinsamen Datei synchronisieren. Teamwork-Quellen werden zusammen mit Ihren lokalen Verbindungen in den Connection-Manager geladen, automatisch synchron gehalten und sicher von Inline-Passwörtern bereinigt, sodass die Anmeldedaten ausschließlich aus Ihrem lokalen verschlüsselten Speicher stammen. Die Synchronisation erfolgt einseitig: korTTY liest von einer Quelle und schreibt niemals zurück.
Übersicht¶
Teamwork ermöglicht es Teams, eine zentrale Bibliothek von Verbindungskonfigurationen zu verwalten:
- Git-Repositorys – Klonen Sie ein Git-Repository, das eine
kortty-teamwork-connections.xml-Datei (oder eine ältere Dateiconnections.xml) enthält, und bleiben Sie mit diesem synchron. - Gemeinsame Dateien — Verbindungen aus einem lokalen oder Netzwerkpfad laden. korTTY liest die Datei nur.
- Automatischer Synchronisierung — Hintergrund-Synchronisierung in einem konfigurierbaren Intervall überprüft nach Aktualisierungen.
- Sicherheit der Anmeldeinformationen — Gemeinsame Verbindungen enthalten keine Passwörter direkt; lediglich Anmeldeinformationen-IDs und SSH-Schlüssel-Referenzen.
- Local-Überwachungen — Ihre lokalen Anmeldeinformationen und SSH-Schlüssel werden mit den gemeinsamen Verbindungsbestimmungen kombiniert.
- Einweg-Synchronisation — korTTY pusht nie in ein Repository oder schreibt in eine gemeinsame Datei. Gemeinsame Verbindungen werden in der Quelle selbst geändert und kommen mit der nächsten Synchronisation.
Einrichten von Teamwork-Quellen¶
Öffnen Sie Teamarbeit → Teamarbeit-Einstellungen… (oder Konfiguration → Globale Einstellungen… → Teamarbeit) zur Konfiguration der Quellen.
Fügen Sie eine Quelle hinzu¶
- Klicken Sie auf Hinzufügen, um eine neue Quelle zu erstellen.
- Wählen Sie die Quelle Typ:
- Git — Aus einem HTTPS-, SSH- oder git://-URL-Link klonen.
- Gemeinsames Datei — Lesen aus einem lokalen oder Netzwerkpfad (z. B.
file:///mnt/share/connections.xmloder//host/share/connections.xml). - Geben Sie den Standort ein:
- Für Git: die Klon-URL.
- Für freigegebene Dateien: ein lokaler/Netzwerk-Dateipfad (kann ein file://-URI oder ein UNC-Pfad sein).
- Legen Sie das Prüfintervall fest (1–1440 Minuten; Standard: 15).
- Klicken Sie zum Speichern auf OK.
Quellen verwalten¶
Im Dialogfeld „Teamwork-Einstellungen“ werden alle Quellen mit Typ, Standort und Synchronisierungsintervall aufgelistet:
| Spalte | Bedeutung |
|---|---|
| Geben Sie | ein Git oder Shared File |
| Standort | Repository-URL oder Dateipfad |
| Intervall | Minuten zwischen Synchronisierungsprüfungen |
| Aktiviert | Umschalten zum Aktivieren/Deaktivieren ohne Löschen |
Verwenden Sie die Schaltflächen, um: - Hinzufügen – Erstellen Sie eine neue Quelle. - Bearbeiten – Ändern Sie die ausgewählte Quelle. - Entfernen – Die ausgewählte Quelle löschen. - Aktivieren/Deaktivieren – Schaltet den aktivierten Status für die ausgewählten Quellen um.
Legen Sie unten das Standardprüfintervall fest (gilt für neue Quellen, die keins angeben).
So funktioniert die Synchronisierung¶
Hintergrundsynchronisierung¶
Sobald Sie die Teamwork-Einstellungen gespeichert haben:
- KorTTY startet einen Hintergrundsynchronisierungsthread.
- Alle N Minuten (basierend auf dem Mindestintervall zwischen aktivierten Quellen) geschieht Folgendes:
- Zieht/klont jede Quelle (Git) oder liest die Datei (Shared File).
- Lädt die XML-Verbindungen.
- Ersetzt die zwischengespeicherte Kopie jeder abgerufenen Quelle und aktualisiert den Connection-Manager.
- Wenn eine Quellaktualisierung fehlschlägt, wird die vorherige zwischengespeicherte Version beibehalten.
Durch das Speichern der Teamwork-Einstellungen wird sofort einmal synchronisiert. Ein geändertes Prüfintervall gilt ab dem nächsten Start von korTTY.
Manuelle Synchronisierung¶
Verwenden Sie Teamwork → Teamwork-Einstellungen… und klicken Sie auf OK, um sofort eine Synchronisierung auszulösen.
Versionsverfolgung¶
Bei jeder Synchronisierung wird ein Versionstoken aufgezeichnet: - Git – Der aktuelle Commit-Hash. - Freigegebene Datei – Der zuletzt geänderte Zeitstempel der Datei.
Wenn sich das Versions-Token einer gemeinsamen Verbindung zwischen Synchronisationen ändert, wurde eine neue Version abgerufen. Bei jeder erfolgreichen Synchronisation ersetzt korTTY seine zwischengespeicherte Kopie der Quelle durch die gerade abgerufene Version; es werden keine lokalen Änderungen zusammengeführt. Für eine Git-Quelle setzt korTTY sein eigenes Klon auf den Remote-Branch zurück, sodass alles, was innerhalb dieses Klons geändert wurde, verworfen wird. Lokale Überschreibungen betreffen ausschließlich Anmeldeinformationen und SSH-Schlüssel (siehe Lokale Überschreibungen).
Gemeinsam genutztes Verbindungsdateiformat¶
Erstellen Sie eine kortty-teamwork-connections.xml-Datei (oder connections.xml für Abwärtskompatibilität) im Stammverzeichnis Ihres Git-Repositorys oder Ihrer freigegebenen Datei:
<?xml version="1.0" encoding="UTF-8"?>
<connections>
<connection id="prod-web-1">
<name>Prod Web Server 1</name>
<host>web1.example.com</host>
<port>22</port>
<username>deploy</username>
<group>Production/Web</group>
<authMethod>SSH_KEY</authMethod>
<sshKeyId>key-prod-deploy</sshKeyId>
<credentialId>cred-prod-user</credentialId>
</connection>
</connections>
Inline-Geheimnisse nicht einbeziehen
Teamwork-Verbindungen dürfen nicht encryptedPassword, privateKeyPath oder privateKeyPassphrase enthalten. Stattdessen:
- Verwenden Sie credentialId, um auf gespeicherte Anmeldeinformationen in Sicherheit → Anmeldeinformationen… zu verweisen.
- Verwenden Sie sshKeyId, um auf einen gespeicherten SSH-Schlüssel in Sicherheit → SSH-Schlüssel… zu verweisen.
Wenn in der freigegebenen Datei Inline-Geheimnisse gefunden werden, entfernt KorTTY diese automatisch (sie werden nicht geladen).
Teamwork-Verbindungen nutzen¶
Sobald eine Quelle synchronisiert ist:
- Öffnen Sie Verbindungen verwalten… (oder drücken Sie Ctrl+M).
- Wählen Sie Teamwork-Verbindungen in der Bibliothek links aus.
- Doppelklicken Sie auf eine Teamwork-Verbindung, um sich zu verbinden.
- Nur lesen — Teamwork-Verbindungen sind nur lesbar, und korTTY schreibt Änderungen niemals an eine Quelle zurück: Bearbeiten steht für sie nicht zur Verfügung, eine Verbindung kann nicht in einen anderen Ordner gezogen werden, und ein Rechtsklick auf einen Ordner oder eine leere Fläche öffnet kein Menü, sodass es keine Möglichkeit gibt, Ordner hinzuzufügen, umzubenennen oder zu löschen oder deren Host-Key-Verifizierung zu lockern. Um eine geteilte Verbindung zu ändern, bearbeiten Sie sie im Repository oder in der gemeinsamen Datei; die Änderung wird mit der nächsten Synchronisierung übernommen.
Teamwork-Verbindungen erscheinen auch in den allgemeinen Listen des Connection-Manager (Alle Verbindungen, Favoriten, Zuletzt verwendet, Gerade offen und die Tags), mit einem kleinen Personensymbol markiert und ebenfalls nur lesbar; siehe Bibliothek.
Die Befehlspalette listet die Teamwork-Verbindungen ebenfalls auf, gekennzeichnet mit Geteilt (Teamwork), sodass Sie sich auch verbinden können, indem Sie @ und einen Teil eines Namens eingeben.
Eine gemeinsame Verbindung kann auch die Terminaleinstellungen tragen, die die Datei ihr gibt, wie z. B. ihre Tabfarbe und Einfüge-Schutz. Ihre eigene Sitzungsisolierung kann ihre Sitzungen nur strenger machen als Ihr Ordner oder die Einstellungen, wie unter Auswahl eines Levels beschrieben.
Das Löschen einer Teamarbeit-Verbindung blendet sie nur auf diesem Computer aus, auch in der Befehlspalette; die Quelle wird nicht verändert. In der Gruppe Teamarbeit in der Symbolleiste des Connection-Manager stellt Gelöschte wiederherstellen ausgeblendete Verbindungen wieder her und Aktualisieren lädt die Liste aus der letzten Synchronisierung neu, ohne die Quelle erneut abzurufen.
Lokale Überschreibungen¶
- Die Referenzen für Anmeldeinformationen und SSH-Schlüssel (
credentialId,sshKeyId) einer geteilten Verbindung werden aus Ihrem lokalen Speicher aufgelöst. - Für geteilte Verbindungen, die keine der beiden angeben, wählen Sie Anmeldung für alle Teamwork-Verbindungen oberhalb der Liste, während in der Bibliothek Teamwork-Verbindungen ausgewählt ist: ein gespeichertes Anmeldezeichen, ein SSH-Schlüssel oder ein Temporärer SSH-Key. Ein gespeichertes Anmeldezeichen mit einem Benutzernamen verwendet diesen; bei einem SSH-Schlüssel oder einem temporären Schlüssel ersetzt ein optionaler Standard-Benutzername (SSH-Schlüssel) den Benutzernamen aus der Quelle.
- Wenn lokal keine Anmeldeinformationen oder Schlüssel gefunden werden, werden Sie beim Herstellen der Verbindung aufgefordert, diese anzugeben.
- Nur die Authentifizierung, einschließlich des Benutzernamens, kann lokal überschrieben werden. Host, Port, Gruppe und die übrigen Verbindungsparameter stammen immer aus der Quelle.
Quellen unterscheiden¶
Verbindungen aus jeder aktivierten Quelle werden gemeinsam unter Teamwork-Verbindungen angezeigt, angeordnet nach den in den gemeinsamen Dateien definierten Gruppen. Die Liste zeigt nicht an, aus welcher Quelle eine Verbindung stammt – nur der Inspektor benennt sie für die ausgewählte Verbindung. Weisen Sie jeder Quelle eigene Gruppennamen zu, wenn Ihr Team sie voneinander unterscheiden muss.
Git-Repository-Setup¶
So teilen Sie Verbindungen über Git:
- Erstellen Sie ein Repository (z. B.
ssh-connections). - Fügen Sie eine
kortty-teamwork-connections.xml-Datei mit Ihren Verbindungsdefinitionen zum Stammverzeichnis hinzu. - Commit und Push.
- Teilen Sie die Repository-URL (HTTPS oder SSH) mit den Teammitgliedern.
- Teammitglieder fügen die URL unter Teamwork → Teamwork-Einstellungen… → Hinzufügen hinzu.
SSH im Vergleich zu HTTPS¶
- HTTPS – Funktioniert ohne SSH-Schlüsseleinrichtung; Möglicherweise ist ein GitHub Personal Access Token oder ein Benutzername/Passwort erforderlich (bewahren Sie das Token sicher auf).
- SSH – Erfordert
gitund einen lokalen SSH-Schlüssel in~/.ssh/id_rsa(oder konfiguriert inssh-add).
Beispiel-Repository-Layout¶
Versionstoken¶
korTTY verwendet automatisch den Commit-Hash des überwachten Branches als Versionstoken. Um zu sehen, welche Version Ihr Team verwendet, führen Sie aus:
Einrichtung einer freigegebenen Datei¶
So teilen Sie Verbindungen über eine Datei:
- Exportieren Sie Ihre Verbindungen in eine Datei: Verbindungen → Exportieren… → Verbindungen auswählen → Speichern als
.xml. - Platzieren Sie die Datei auf einem freigegebenen Netzwerkpfad (z. B.
//server/share/connections.xml). - Geben Sie Teammitgliedern Lesezugriff auf die Datei. korTTY liest sie nur, daher benötigt ausschließlich derjenige, der die Datei pflegt, Schreibzugriff.
- Teammitglieder fügen den Dateipfad unter Teamwork → Teamwork-Einstellungen… → Hinzufügen hinzu.
Beispielpfade¶
| Plattform | Pfadformat |
|---|---|
| Windows (Netzwerkfreigabe) | //server/share/connections.xml oder file:////server/share/connections.xml |
| Linux/macOS (NFS-Mount) | /mnt/teamshare/connections.xml oder file:///mnt/teamshare/connections.xml |
| SMB/CIFS (gemountet) | /Volumes/teamshare/connections.xml (macOS) |
Sicherheitsüberlegungen¶
Anmeldeinformationen sind nur lokal
Gemeinsame Verbindungen übertragen keine Passwörter oder Schlüsselpassphrasen. Ihr lokaler verschlüsselter Speicher (Master-Passwort geschützt) enthält die tatsächlichen Geheimnisse. Teammitglieder müssen ihre eigenen Anmeldeinformationen lokal eingerichtet haben.
Git-Repositorys sollten keine Geheimnisse speichern
Übergeben Sie niemals Passwörter, SSH-Schlüsselinhalte oder API-Tokens an das Teamwork-Repository. Verwenden Sie nur Anmeldeinformations-IDs und Schlüsselreferenzen.
Dateiberechtigungen
Für gemeinsam genutzte Dateien auf Netzwerkpfaden geben Sie nur Teammitgliedern Lesezugriff und nur demjenigen, der die Datei pflegt, Schreibzugriff. Stellen Sie sicher, dass der Pfad nicht für alle lesbar ist. Wer die Datei ändern oder in den überwachten Git-Branch pushen kann, entscheidet, welche Hosts, Sprungserver und Tunnel die geteilten Verbindungen auf jedem Computer des Teammitglieds verwenden.
Prüfpfad
Für die Git-basierte Zusammenarbeit liefert der Commit-Verlauf eine Prüfliste. korTTY übernimmt, was immer sich im verfolgten Branch bei der nächsten Synchronisation befindet, sodass Sie Änderungen prüfen, bevor sie in diesen Branch gepusht werden.
Fehlerbehebung¶
Quelle wird nicht synchronisiert¶
- Öffnen Sie Teamwork → Teamwork-Einstellungen….
- Stellen Sie sicher, dass die Quelle Aktiviert ist.
- Überprüfen Sie, ob der Standort korrekt und zugänglich ist:
- Git – Führen Sie
git clone <url>zum Testen manuell aus. - Freigegebene Datei – Stellen Sie sicher, dass die Datei vorhanden und auf Ihrem Computer lesbar ist.
- Klicken Sie auf OK, um eine manuelle Synchronisierung auszulösen.
- Überprüfen Sie das Anwendungsprotokoll (
~/.kortty/kortty.log) auf Fehler.
Verbindungen werden angezeigt, aber Anmeldeinformationen fehlen¶
- Öffnen Sie Sicherheit → Anmeldeinformationen… und Sicherheit → SSH-Schlüssel….
- Stellen Sie sicher, dass die Anmeldeinformations-IDs oder SSH-Schlüssel-IDs in den gemeinsam genutzten Verbindungen lokal vorhanden sind.
- Wenn sie fehlen, fügen Sie sie manuell hinzu oder bitten Sie Ihren Teamadministrator, die IDs bereitzustellen.
Dateipfad wird nicht erkannt (Windows/UNC)¶
Verwenden Sie Schrägstriche oder das URI-Format „file://“:
//server/share/connections.xml✓\\server\share\connections.xml✗ (Backslashes werden möglicherweise nicht richtig analysiert)file:////server/share/connections.xml✓ (UNC-Notation)