kremote ist ein einzelnes Programm mit Unterbefehlen. Wer PuTTY kennt, findet die Schalter von plink, pscp, psftp, puttygen und Pageant wieder; wer
OpenSSH kennt, die von ssh und scp. Die alten Namen gelten als Aliase.
| Befehl | Alias | Zweck |
|---|---|---|
kremote ssh | plink | Terminal, entfernte Befehle, Tunnel; auch Telnet, Rlogin, Raw, SUPDUP und seriell |
kremote scp | pscp | Dateien kopieren |
kremote psftp | sftp | interaktiv oder mit Befehlsdatei wie psftp |
kremote keygen | puttygen | Schlüssel erzeugen und umwandeln |
kremote agent | pageant | SSH-Agent |
kremote sitzungen | sessions | gespeicherte Sitzungen auflisten |
kremote [adresse] … | Datei-Befehle interaktiv oder als Skript, siehe Skripte |
Jeder Befehl zeigt mit -h bzw. --help seine Hilfe; kremote --version nennt die Fassung.
Gemeinsame Schalter
Diese Schalter gelten für ssh und scp; psftp kennt die mit einem Stern.
-P port– Port (beisshauch-p) *-l benutzer– Benutzer *-i datei– Schlüsseldatei (OpenSSH, PEM, PKCS#8 oder PPK) *-pw kennwortoder-pwfile datei– Kennwort; aus der Datei gilt die erste Zeile *-hostkey SHA256:…– genau diesen Hostschlüssel erwarten (beisshauch-o HostKey=…) *-load sitzung– gespeicherte Sitzung als Vorlage; weitere Schalter überschreiben sie *-batch– nie nachfragen: kein Kennwort, keine Passphrase, kein unbekannter Hostschlüssel *-accepthostkey– einen unbekannten Hostschlüssel annehmen und speichern (einen geänderten nie)-J sprunghost– über einen Sprunghost verbinden; auch der Name einer gespeicherten Sitzung-proxycmd befehl– über einen lokalen Befehl verbinden, mit%hostund%port-agent,-noagent– Agent benutzen (Vorgabe) bzw. nicht-C– Kompression;-4,-6– nur IPv4 bzw. IPv6-v– Ablauf auf Standardfehler
Kennwörter auf der Befehlszeile sind für andere Benutzer desselben Rechners sichtbar; besser sind Schlüssel, der Agent oder -pwfile mit einer Datei, die
nur man selbst lesen darf.
kremote ssh
kremote ssh [schalter] [benutzer@]host [befehl]
- Ohne Befehl öffnet
sshein Terminal; mit Befehl führt es ihn aus und endet mit dessen Rückgabewert. -terzwingt ein Terminal,-Tverhindert es. Ohne Angabe gibt es eines, wenn kein Befehl angegeben und die Eingabe nicht umgeleitet ist.-m dateiliest den Befehl aus einer Datei,-sruft ein Subsystem auf (etwasftp).-L [bind:]port:ziel:portleitet einen lokalen Port weiter,-R …einen entfernten,-D [bind:]portöffnet einen SOCKS-Proxy. Jede Weiterleitung meldet ihren Port auf Standardfehler.-Nöffnet nur die Weiterleitungen, ohne Befehl, bis die Verbindung endet.-W host:port(oder-nc) verbindet Standardein- und -ausgabe mit host:port – fürProxyCommandanderer Programme.-Aleitet den Agenten weiter,-Xdie X11-Anzeige,-Kmeldet sich mit GSSAPI/Kerberos an.-sessionlog dateischreibt alles mit,-sessionlog-text dateinur den druckbaren Text,-logappendhängt an. Platzhalter im Namen:&Y,&M,&D,&T,&H,&P.
Andere Protokolle
-telnet, -rlogin, -raw, -supdup und -serial wählen statt SSH ein anderes Protokoll. Bei -serial ist das Ziel die Leitung, etwa /dev/ttyUSB0
oder COM3; -sercfg stellt sie ein: Baudrate, Datenbits (5 bis 8), Parität (n, o, e), Stoppbits (1, 2) und Flusssteuerung (N keine, X
XON/XOFF, R RTS/CTS), etwa -sercfg 19200,8,n,1,X.
Beispiele
kremote ssh -i ~/.ssh/id_ed25519 anna@server.example
kremote ssh anna@server.example "df -h /srv"
kremote ssh -N -L 5432:localhost:5432 -J sprung anna@db.intern
kremote ssh -batch -hostkey SHA256:Qm9… -pwfile ~/.geheim sicherung@nas "./sichern.sh"
kremote ssh -serial /dev/ttyUSB0 -sercfg 115200,8,n,1,N
kremote scp
kremote scp [schalter] quelle… ziel
Eine Seite ist entfernt ([benutzer@]host:pfad), die andere lokal; zwischen zwei Servern kopiert scp nicht. Alle Quellen liegen auf demselben Host.
C:\… und Pfade mit / vor dem Doppelpunkt gelten als lokal, IPv6-Adressen stehen in eckigen Klammern. * und ? im letzten Pfadteil wirken auf
beiden Seiten.
-r– Ordner samt Inhalt (ohne-rwerden Ordner übersprungen)-p– Änderungszeit und Rechte übernehmen-q– ohne Fortschrittsanzeige-ls– den entfernten Ordner auflisten-limit KB/s– Tempo begrenzen-sftp(Vorgabe) oder-scp– das Protokoll darunter
Vorhandene Ziele werden überschrieben.
kremote scp -r bilder/ anna@server.example:/srv/web/bilder
kremote scp "anna@server.example:/var/log/*.log" ./protokolle/
kremote scp -load web -ls web:/srv/web
kremote psftp
kremote psftp [schalter] [benutzer@]host
Öffnet eine SFTP-Sitzung mit der Eingabeaufforderung kremote> und den Befehlen aus Skripte. Zusätzlich zu den gemeinsamen Schaltern:
-b datei– Befehle aus der Datei ausführen-bc– jeden Befehl vor dem Ausführen zeigen-be– bei Fehlern weitermachen
kremote keygen
kremote keygen -t ed25519 [-C kommentar] [-o datei]
kremote keygen eingabe [-O format] [-o datei]
-t ed25519,-t ecdsaoder-t rsa– neuen Schlüssel erzeugen-b bits– RSA: Vorgabe 3072; ECDSA: 256, 384 oder 521-C kommentar– Vorgabebenutzer@rechner-o datei– Ausgabe; beim Erzeugen entsteht danebendatei.pub. Unter Linux und macOS bekommt die private Datei die Rechte 600.-O format–private-openssh(Vorgabe),privatebzw.ppk(PuTTY PPK v3),private-ppk2,private-pkcs8,public-opensshoderfingerprint-N– neue Passphrase (ohne-Nfragtkeygenbeim Schreiben nach; leer heisst keine)-P– bisherige Passphrase der Eingabe-l– Fingerabdruck und Randomart zeigen-Lbzw.-y– öffentlichen Schlüssel im OpenSSH-Format zeigen
kremote keygen -t ed25519 -C "anna@laptop" -o ~/.ssh/id_ed25519
kremote keygen alt.ppk -O private-openssh -o ~/.ssh/id_rsa
kremote keygen ~/.ssh/id_ed25519 -l
kremote agent
kremote agent [-a ort] [-t sekunden] [-c] [schlüsseldatei …]
Startet einen SSH-Agenten mit den angegebenen Schlüsseln (verschlüsselte fragen nach der Passphrase) und läuft bis Strg+C.
-a ort– Socket bzw. Pipe. Vorgabe unter Windows\\.\pipe\openssh-ssh-agent(die Pipe von OpenSSH für Windows), sonst$XDG_RUNTIME_DIR/agent.sockbzw.~/.kuonen-remote/agent.sock-t sekunden– so lange bleiben die Schlüssel geladen-c– jede Nutzung auf der Konsole bestätigen
Unter Linux und macOS gibt der Agent SSH_AUTH_SOCK=…; export SSH_AUTH_SOCK; aus; wer die Variable in seiner Shell setzt, dessen ssh, git und
kremote finden ihn. Unter
Windows antwortet er zusätzlich als Pageant, wenn keiner läuft.
kremote agent -t 3600 ~/.ssh/id_ed25519
# in einem zweiten Terminal die ausgegebene Zeile übernehmen, etwa:
export SSH_AUTH_SOCK=/run/user/1000/agent.sock
kremote sitzungen
kremote sitzungen listet die gespeicherten Sitzungen der App als Name und Adresse, nach Namen sortiert. kremote sitzungen --ssh-config gibt sie im
Format von ~/.ssh/config aus.
Eine gespeicherte Sitzung benutzen ssh, scp und psftp mit -load name; Gross- und Kleinschreibung spielt keine Rolle. Ein blosser Name als Ziel ohne
-load gilt als Hostname. -J nimmt Sitzungsnamen direkt.
Unbekannte Hostschlüssel
Beim ersten Kontakt zeigt kremote Typ, Länge, Fingerabdruck (SHA256) und Randomart des Hostschlüssels und fragt: j speichern und verbinden, e nur
dieses Mal, n abbrechen. Hat sich ein bekannter Schlüssel geändert, erscheint eine deutliche Warnung – dahinter kann ein Angriff stecken.
Im Stapelbetrieb (-batch) fragt kremote nie, sondern bricht ab. Für Skripte darum den Fingerabdruck mit -hostkey SHA256:… vorgeben oder den Schlüssel
einmal interaktiv annehmen. Fremde TLS-Zertifikate bei FTPS und WebDAV behandelt kremote genauso.
Rückgabewerte
| Wert | Bedeutung |
|---|---|
| 0 | Erfolg; bei ssh mit Befehl der Rückgabewert des Befehls |
| 1 | Fehler: Verbindung, Anmeldung, Übertragung, Skriptabbruch |
| 2 | falscher Aufruf (fehlendes Ziel, zu wenige Pfade); die Hilfe steht auf Standardfehler |
| 128 | ssh: der entfernte Befehl endete durch ein Signal |
| 130 | abgebrochen mit Strg+C bzw. SIGTERM |
Umgebungsvariablen
TERM– Terminaltyp fürssh(Vorgabexterm-256color)SSH_AUTH_SOCK– der AgentDISPLAY,XAUTHORITY– für die X11-WeiterleitungAWS_PROFILE,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN,AWS_REGION,AWS_DEFAULT_REGION– Zugang fürs3://
In lokalen Pfaden (-i, lcd …) werden ~ und Umgebungsvariablen aufgelöst.