Leichter SSH-Client, der Gruppierung, Suche und Batch-Anmeldung unterstützt, veröffentlicht in Version 0.1.14

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 . SpaceCtrl+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 

Demonstration der Bildschirmaufzeichnung

Ich denke du magst

Origin www.oschina.net/news/268302/tssh-0-1-14
Empfohlen
Rangfolge