Open-Source-Adresse: https://github.com/trzsz/trzsz-ssh
Neue Version v0.1.14 Grundlegende Verwendung von Gruppen-Tags und Suche:
-
Wenn es eine große Anzahl von Servern gibt, können Gruppierungs-Tags den Zielserver schnell finden, wenn Sie auf „Suchen“ klicken.
GroupLabels
/
-
Nachdem Sie gedrückt haben, um eine Gruppierungsbezeichnung einzugeben, kann diese gesperrt werden. Durch erneutes Drücken können Sie eine andere Gruppierungsbezeichnung eingeben und diese erneut sperren.
/
回车
/
回车
-
Drücken Sie im Nicht-Suchmodus, um das aktuelle Suchtag zu löschen. Drücken Sie im Suchmodus, um den gleichen Effekt zu erzielen.
E
Ctrl + E
-
Unterstützt die Konfiguration mehrerer durch Leerzeichen getrennter Gruppierungsbezeichnungen; unterstützt die Konfiguration mehrerer Gruppen .
GroupLabels
GroupLabels
-
Unterstützt die Konfiguration von Gruppenbezeichnungen auf mehreren Hostknoten in Form von Platzhaltern *, und
tssh
alle Bezeichnungen werden zusammengefasst.# 以下 testAA 具有标签 group1 group2 label3 label4 group5 ,可以加上 `#!!` 前缀,以兼容标准 ssh Host test* #!! GroupLabels group1 group2 #!! GroupLabels label3 Host testAA #!! GroupLabels label4 group5
v0.1.14 unterstützt die neue Gruppenbezeichnungsmethode, die ein Problem löst:
-
Es stellt sich heraus , dass sich eindeutige Konfigurationselemente (z. B. „Passwort merken“) in einer separaten Konfigurationsdatei ( ) befinden, da nicht erkannte Konfigurationen darin nicht erscheinen dürfen . Danach wird die Konfiguration einzigartiger Konfigurationselemente unterstützt. Fügen Sie diese einfach wie zuvor vor dem Konfigurationselement hinzu . Für ist dies ein Kommentar; für ist dies ein normales Konfigurationselement.
tssh
~/.ssh/password
openssh
~/.ssh/config
v0.1.14
~/.ssh/config
tssh
#!!
#!! GroupLabels label
openssh
tssh
Einführung in tssh
Verfügt Ihr bevorzugtes SSH-Terminal über nützliche Serververwaltungsfunktionen? Unterstützt es das Merken von Passwörtern? Gibt es nützliche Dateiübertragungstools?
tssh unterstützt die Auswahl oder Suche des konfigurierten Servers, unterstützt die Betriebsgewohnheiten von vim und löst das Serververwaltungsproblem des SSH-Terminals. ~/.ssh/config
tssh unterstützt die gleichzeitige Auswahl mehrerer Server, die stapelweise Anmeldung und die stapelweise Ausführung vorab festgelegter Befehle, wodurch es einfach ist, Batch-Servervorgänge schnell abzuschließen.
tssh unterstützt die Konfiguration von Server-Anmeldekennwörtern, wodurch die Mühe der manuellen Eingabe von Kennwörtern entfällt (es wird empfohlen, öffentliche und private Schlüssel zu verwenden, um sich bei Servern anzumelden, die Sie steuern können).
tssh verfügt über eine integrierte Unterstützung für das Dateiübertragungstool trzsz (trz /tsz), das auch das Problem der langsamen Upload-Geschwindigkeit in Windows löst. trzsz ssh
Auf dem MacOS des Autors beträgt die Upload-Geschwindigkeit etwa 10 MB/s und kann mehr als 80 MB/s erreichen. trzsz ssh
tssh
Installationsmethode
Die Client-Installationsmethode ist wie folgt (wählen Sie eine aus): trzsz-ssh ( tssh )
-
Windows kann mit scoop / winget / choco installiert werden
scoop install tssh
/ /winget install tssh
choco install tssh
scoop install tssh
winget install tssh
choco install tssh
-
MacOS kann mit Homebrew installiert werden
brew install trzsz-ssh
brew update brew install trzsz-ssh
-
Ubuntu kann mit apt installiert werden
sudo apt install tssh
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install tssh
-
Debian kann mit apt installiert werden
sudo apt install tssh
sudo apt install curl gpg curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \ | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \ | sudo tee /etc/apt/sources.list.d/trzsz.list sudo apt update sudo apt install tssh
-
Linux kann mit yum installiert werden
sudo yum install tssh
-
Es wird empfohlen, die WLNMP- Quelle in China zu verwenden . Um tssh zu installieren, müssen Sie nur die WLNMP-Quelle hinzufügen (die Epel-Quelle muss nicht konfiguriert werden). Nehmen Sie CentOS als Beispiel:
sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm sudo yum install tssh
-
Sie können auch die Gemfury- Quelle verwenden (allen Betriebssystemen gemeinsam, solange eine Netzwerkverbindung besteht).
echo '[trzsz] name=Trzsz Repo baseurl=https://yum.fury.io/trzsz/ enabled=1 gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo sudo yum install tssh
-
-
ArchLinux kann mit yay installiert werden
yay -S tssh
yay -Syu yay -S tssh
-
Direkt mit Go installieren (erfordert Go 1.20 oder höher)
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
Nach der Installation
tssh
befindet sich das Programm normalerweise in einem Verzeichnis (normalerweise in Windows ).~/go/bin/
C:\Users\your_name\go\bin\
-
Die entsprechende Version kann direkt unter Releases heruntergeladen werden
或者用 Go 编译( 要求 go 1.20 以上 )
git clone https://github.com/trzsz/trzsz-ssh.git cd trzsz-ssh go build ./cmd/tssh
Sie müssen trzsz auf dem Server installieren , um Upload und Download nutzen zu können. Sie können eine beliebige Version zur Installation auswählen: Go-Version (⭐ empfohlen), Py-Version , Js-Version . trz / tsz
Wenn trzsz nicht auf dem Server installiert ist , kann es weiterhin verwendet werden , das Hoch- und Herunterladen wird jedoch nicht verwendet. tssh
trz / tsz
Anweisungen
~/
Stellt das HOME-Verzeichnis dar. Ersetzen Sie unter Windows Folgendes durch . ~/
C:\Users\your_name\
-
Generieren Sie auf dem Client ein Schlüsselpaar, das normalerweise wie folgt (nur ein Typ reicht aus):
~/.ssh/
ssh-keygen -t ed25519
Generieren Sie den privaten Schlüssel und den öffentlichen Schlüssel von ED25519 .~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
ssh-keygen -t rsa -b 4096
Generieren Sie einen privaten und einen öffentlichen RSA-Schlüssel .~/.ssh/id_rsa
~/.ssh/id_rsa.pub
-
Melden Sie sich beim Server an und hängen Sie den öffentlichen Schlüssel (d. h. den Dateiinhalt des Suffixes bei der vorherigen Generierung des Schlüsselpaars ) an die Datei auf dem Server an .
.pub
~/.ssh/authorized_keys
Eine Zeile stellt den öffentlichen Schlüssel eines Clients dar. Achten Sie darauf, die richtigen Berechtigungen festzulegen:
~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
-
Konfigurieren Sie die Datei auf dem Client, zum Beispiel:
~/.ssh/config
Host -Alias1 Hostname 192.168.0.1 Port 22 Benutzer Ihr_Name Host -Alias2 Hostname 192.168.0.2 Port 22 Benutzer Ihr_Name
-
Verwenden Sie den Befehl, um sich beim Server anzumelden. Der Befehl meldet sich beim entsprechenden Server an.
tssh
tssh alias1
~/.ssh/config
alias1
-
Um den Befehl direkt (ohne Parameter) auszuführen , können Sie den in (Suchen) konfigurierten Server auswählen und sich anmelden.
tssh
~/.ssh/config
Batch-Login
-
Unterstützt die gleichzeitige Auswahl mehrerer Server (um die Python-API zu aktivieren , ist jedoch nicht erforderlich ) , die Batch-Anmeldung und unterstützt die Batch-Ausführung vorab festgelegter Befehle.
iTerm2
Allow all apps to connect
tmux
Windows Terminal
-
Drücken Sie usw. , um den aktuellen Server auszuwählen oder abzubrechen. Wenn er nicht ausgewählt werden kann, bedeutet dies, dass das aktuelle Terminal noch nicht unterstützt wird. Bitte führen Sie es zuerst aus .
Space
Ctrl+X
tmux
-
Durch Drücken von wird eine Batch-Anmeldung mit geteiltem Bildschirm geöffnet, ein neues Fenster wird für die Batch-Anmeldung geöffnet und eine neue Registerkarte wird für die Batch-Anmeldung geöffnet.
Ctrl+P
Ctrl+W
Ctrl+T
-
tssh
Wenn Sie ohne Parameter starten, können Sie sich stapelweise beim Server anmelden. Wenn Sie mit Parametern beginnen, können Sie bestimmte Befehle stapelweise ausführen. Es unterstützt den Aufruf der interaktiven Shell nach der Ausführung des angegebenen Befehls, Semikolon wird jedoch nicht unterstützt und kann durch Semikolon ersetzt werden. Beispiel:-o RemoteCommand
Windows Terminal
;
|cat&&
tssh -t -o RemoteCommand = 'ping -c3 trzsz.github.io ; bash' tssh -t -o RemoteCommand = "ping -c3 trzsz.github.io |cat&& bash"
Gruppenbezeichnungen
-
Wenn es eine große Anzahl von Servern gibt, können Gruppierungs-Tags den Zielserver schnell finden, wenn Sie auf „Suchen“ klicken.
GroupLabels
/
-
Nachdem Sie gedrückt haben, um eine Gruppierungsbezeichnung einzugeben, kann diese gesperrt werden. Durch erneutes Drücken können Sie eine andere Gruppierungsbezeichnung eingeben und diese erneut sperren.
/
回车
/
回车
-
Drücken Sie im Nicht-Suchmodus, um das aktuelle Suchtag zu löschen. Drücken Sie im Suchmodus, um den gleichen Effekt zu erzielen.
E
Ctrl + E
-
Unterstützt die Konfiguration mehrerer durch Leerzeichen getrennter Gruppierungsbezeichnungen; unterstützt die Konfiguration mehrerer Gruppen .
GroupLabels
GroupLabels
-
Unterstützt die Konfiguration von Gruppenbezeichnungen auf mehreren Hostknoten in Form von Platzhaltern *, und
tssh
alle Bezeichnungen werden zusammengefasst.# Das folgende testAA hat die Labels Gruppe1, Gruppe2, Label3, Label4, Gruppe5, denen „#!!“ vorangestellt werden kann, um mit dem Standard-SSH-Hosttest* kompatibel zu sein. #!! GroupLabels, Gruppe1, Gruppe2 #!! GroupLabels, Label3, Host - TestAA # !! GroupLabels , Label4, Gruppe5
Passwort merken
-
Um mit Standard-SSH kompatibel zu sein, kann das Passwort separat konfiguriert oder mit diesem Präfix versehen werden .
~/.ssh/password
~/.ssh/config
#!!
-
Es wird empfohlen, die vorherige Schlüsselauthentifizierungsmethode zu verwenden, da die Passwortsicherheit schwächer ist. Wenn Sie ein Passwort verwenden müssen, wird empfohlen, die Berechtigungen festzulegen , wie zum Beispiel:
~/.ssh/password
chmod 700 ~/.ssh && chmod 600 ~/.ssh/password
-
Das Passwort für die folgende Konfiguration lautet und andere Passwörter beginnen mit :
test1
test2
123456
test
111111
# Wenn in ~/.ssh/config konfiguriert, können Sie das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein. Host test1 #!! Passwort 123456 # Wenn in ~/.ssh/password konfiguriert, müssen Sie das nicht berücksichtigen ob kompatibel mit dem Standard-SSH- Host - Test2 -Passwort 123456 # ~/.ssh/config und ~/.ssh/password unterstützen Platzhalter, und tssh verwendet den ersten übereinstimmenden Wert. # Hier hoffen wir, dass test2 ein anderes Passwort verwendet als andere test*, sodass test* nach test2 platziert wird. Host- Test* Passwort 111111
-
Unterstützt das Merken privater Schlüssel (empfohlen ). Unterstützt die Konfiguration mit und unterstützt die Verwendung des Dateinamens des privaten Schlüssels anstelle des Host-Alias, um einen gemeinsamen Schlüssel festzulegen . Beispiel:
Passphrase
ssh-agent
IdentityFile
Passphrase
# IdentityFile und Passphrase werden zusammen konfiguriert. Sie können das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein. Host test1 IdentityFile /path/to/id_rsa #!! Passphrase 123456 # Konfigurieren Sie den universellen privaten Schlüssel in ~/.ssh/ config~/ Die Passphrase #, die .ssh/id_ed25519 entspricht, kann den Platzhalter * hinzufügen, um zu verhindern, dass der Dateiname in der Serverliste erscheint, wenn tssh sucht und auswählt. Host id_ed25519* #!! Passphrase 111111 # Wenn in ~/.ssh/password konfiguriert, ist der Platzhalter * nicht erforderlich und wird nicht in der Serverliste angezeigt. Host -id_rsa -Passphrase 111111
Merken Sie sich die Antwort
-
Neben privaten Schlüsseln und Passwörtern gibt es eine weitere Anmeldemethode, die auf Englisch „Keyboard Interactive“ genannt wird. Der Server gibt einige Fragen zurück und der Client kann sich anmelden, indem er die richtigen Antworten eingibt. Auf diese Weise werden viele benutzerdefinierte Einmalpasswörter implementiert .
-
Wenn die Antwort feststeht,
tssh
unterstützen Sie „Antwort merken“. Meistens gibt es nur ein Problem: Konfigurieren Sie es einfach . Bei mehreren Fragen kann die Antwort auf jede Frage entsprechend der Seriennummer oder dem Hex-Code der Frage konfiguriert werden.QuestionAnswer1
-
Wenn Sie sich anmelden, wird die Hex-Kodierung des Problems ausgegeben, sodass Sie wissen, wie Sie die Hex-Kodierung für die Konfiguration verwenden. Konfigurationsbeispiel:
tssh --debug
# Wenn in ~/.ssh/config konfiguriert, können Sie das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein. Host test1 FrageAntwort1 Antwort eins Host test2 FrageAntwort1 Antwort eins FrageAntwort2 Antwort zwei FrageAntwort3 Antwort drei Host test3 6e616d653a20 mein_name # Darunter „6e616d653a20“ ist der Hex-Code der Frage „Name:“ 636f64653a20 my_code # wobei „636f64653a20“ der Hex-Code der Frage „Code:“ ist
Optional
-
Die folgenden benutzerdefinierten Konfigurationen werden in Windows unterstützt (ja ):
~/.tssh.conf
C:\Users\your_name\.tssh.conf
# SSH-Konfigurationspfad, der Standard ist ~/.ssh/config ConfigPath = ~/.ssh/config # Erweiterter Konfigurationspfad, der Standard ist ~/.ssh/password ExConfigPath = ~/.ssh/password # Wenn trz hochgeladen wird, Das Dialogfeld wird geöffnet. Der Pfad wird geöffnet. Wenn er leer ist, öffnen Sie den letzten Pfad. Der Standardwert ist leer. DefaultUploadPath = ~/Downloads # tsz Beim Herunterladen wird der Pfad automatisch gespeichert. Wenn er leer ist, wird ein Dialogfeld zur manuellen Auswahl angezeigt Der Standardwert ist leer DefaultDownloadPath = ~/Downloads # tssh search Und bei der Auswahl des Servers beträgt die Anzahl der auf jeder Seite angezeigten Datensätze standardmäßig 10 PromptPageSize = 10
Andere Funktionen
-
Wenn Sie die Ausführung im Hintergrund verwenden , können Sie Parameter hinzufügen, sodass die Verbindung automatisch wiederhergestellt wird, wenn der Hintergrundprozess aufgrund einer Verbindungsunterbrechung usw. beendet wird.
-f
--reconnect
-
Verwenden Sie die Drag-and-Drop-Upload-Funktion, um sie zu aktivieren. Wenn Sie sie standardmäßig aktivieren möchten, können Sie sie in der oder Erweiterungskonfiguration konfigurieren :
--dragfile
~/.ssh/config
ExConfigPath
Host * # Wenn in ~/.ssh/config konfiguriert, können Sie das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein. EnableDragFile Ja
-
Verwenden Sie die Funktion „trzsz deaktivieren“. Wenn Sie sie standardmäßig deaktivieren möchten, können Sie sie in der oder erweiterten Konfiguration konfigurieren :
-oEnableTrzsz=No
~/.ssh/config
ExConfigPath
Hostserver1 # Wenn in ~/.ssh/config konfiguriert, können Sie das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein . EnableTrzsz Nr
-
Solange Sie vor den Konfigurationselementen „Passwort merken“ und „Antwort merken“ hinzufügen, können Sie den Chiffriertext konfigurieren, um zu verhindern, dass Personen auf dem Bildschirm herumschnüffeln. Chiffretext kann das Problem der Passworteinbindung lösen.
enc
#
Führen Sie aus , geben Sie den Klartext des Passworts oder der Antwort ein (wird nicht wiedergegeben), und Sie können den Chiffretext für die Konfiguration abrufen (dasselbe Passwort führt jedes Mal zu unterschiedlichen Verschlüsselungsergebnissen):
tssh --enc-secret
Hostserver2 # Wenn in ~/.ssh/ config konfiguriert, können Sie das Präfix „#!!“ hinzufügen, um mit Standard-SSH kompatibel zu sein 7e9f2 aef3af7d6a61f7046dddf14aa4bbd9845dbb836fe3782b62ac0d89f
Tastenkürzel
arbeiten | Globale Tastenkombinationen | Nicht suchbare Tastenkombinationen | Beschreibung der Tastenkombination |
---|---|---|---|
Bestätigen | Eingeben | Bestätigen Sie und melden Sie sich an | |
Beenden/Beenden | Strg+C Strg+Q | q Q | Abbrechen und beenden |
Verschieben Vorher | Strg+K Umschalt+Tab ↑ | k K | Cursor nach oben bewegen |
Weiter bewegen | Strg+J Tab ↓ | kein Wort | Cursor nach unten bewegen |
Seite nach oben | Strg+H Strg+U Strg+B Bild nach oben ← | h H u U b B | blättere eine Seite nach oben |
Bild nach unten | Strg+L Strg+D Strg+F Bild nach unten → | l L d D f F | Eine Seite weiterblättern |
Zur Startseite | Heim | G | Springe zur ersten Zeile |
Muss zu Ende sein | Ende | G | Zur letzten Zeile springen |
EraseKeys | Strg+E | und und | Suchbegriffe löschen |
TglSearch | / | Suchfunktion umschalten | |
Tgl-Hilfe | ? | Hilfeinformationen wechseln | |
TglSelect | Strg+X Strg+Leertaste Alt+Leertaste | Leerzeichen x X | Ausgewählten Status umschalten |
Wählen Sie Alle | Strg+A | ein A | Alle aktuellen Seiten auswählen |
Wählen SieOpp | Strg+O | Das Ö | Aktuelle Seite umkehren |
Offene Siege | Strg+W | w W | Neues Fenster für die Batch-Anmeldung |
Tabs öffnen | Strg+T | t T | Neue Tab-Batch-Anmeldung |
Bereich öffnen | Strg+P | p P | Batch-Anmeldung mit geteiltem Bildschirm |
Fehlerbehebung
-
Im Warp-Terminal muss die Blocks-Funktion in umbenannt werden , und es wird empfohlen, einen Softlink zu erstellen (freundlich für Updates):
tssh
ssh
sudo ln -sv $( which tssh) /usr/ local /bin/ssh
-
--dragfile
Parameter können die Warp-Chunking-Funktion deaktivieren. Bitte beziehen Sie sich auf die vorherige Konfiguration , um die Drag-and-Drop-Funktion zu aktivieren.EnableDragFile
-
Nach dem Ziehen von Dateien oder Verzeichnissen in das Warp-Terminal wird der Upload möglicherweise nicht sofort ausgelöst und Sie müssen
回车
zum Hochladen die Taste noch einmal drücken.
-
-
Wenn Sie Windows 7 oder eine ältere Version von Windows 10 usw. verwenden, tritt der Fehler auf.
enable virtual terminal failed
-
Wenn ein eindeutiges Konfigurationselement in konfiguriert ist , wird ein Standardfehler gemeldet .
~/.ssh/config
tssh
ssh
Bad configuration option
- Sie können dem Fehlerkonfigurationselement ein Präfix hinzufügen . Der Standard behandelt es dann als Kommentar und betrachtet es als eine der gültigen Konfigurationen.
#!!
ssh
tssh
- Sie können dem Fehlerkonfigurationselement ein Präfix hinzufügen . Der Standard behandelt es dann als Kommentar und betrachtet es als eine der gültigen Konfigurationen.