Terminal Befehle speichern

yxy

Lieutenant
Registriert
Juli 2014
Beiträge
556
Hallo,

ich benutze in letzter Zeit öfter ssh um mich auf einem Server einzuloggen.
Dabei muss ich jedes Mal die Adresse abtippen und das Passwort eingeben.
Wenn ich mehrere Terminals parallel öffnen will, muss ich das für jedes Terminal wiederholen.

Meine Frage an euch wäre nun: Kann ich das irgendwie automatisieren, dass ich z.B. nur eine Teste drücken muss und bin sofort auf dem Server eingeloggt?
Das mit dem public/private key habe ich schon ausprobiert. Dann fällt wenigstens die Passwoteingabe weg. Aber das lästige Eintippen der Adresse bleibt.

Bin für Ideen offen :)
 
alias bla="ssh -i keyfile user@server" in ~/.bashrc eintragen. dann verbindet "bla" gleich per ssh zum server (neue konsole öffnen damits wirksam wird). gibt auch putty für linux oder manager wie diesen wenns grafisch sein soll.
 
  • Gefällt mir
Reaktionen: wesch2000 und memmex
~/.ssh/config ist das Zauberwort. https://linux.die.net/man/5/ssh_config

Alternativ PuTTY unter Windows oder die WSL oder SSH in den Features von Win 10 nachinstallieren oder Cygwin SSH nutzen oder Git SSH nutzen oder ...
 
  • Gefällt mir
Reaktionen: Old Knitterhemd
0x8100 schrieb:
alias bla="ssh -i keyfile user@server" in ~/.bashrc eintragen. dann verbindet "bla" gleich per ssh zum server (neue konsole öffnen damits wirksam wird). gibt auch putty für linux oder manager wie diesen wenns grafisch sein soll.

Also "bla" ist mein Name den ich beliebig wählen kann.
keyfile ist die Public/Private Key Datei
Wie ist der hintere Teil zu verstehen?
 
na das ist doch der ganz normale ssh aufruf. "ssh 1.2.3.4" verbindet dich mit deinem aktuellen usernamen mit dem server (wenn nichts anderes in ~/.ssh/config konfiguriert ist). wenn du dich mit einem anderen usernamen verbinden will, dann musst du eben "ssh yxy@1.2.3.4" nehmen. und mit key eben "ssh -i /pfad/zum/private/key yxy@1.2.3.4". als alias-namen kannst du nehmen was du willst.
 
in ~/.bashrc
bedeutet bei mit lokal am Rechner?
Ergänzung ()

Sry für die vermutlich dumme Frage, aber befasse mich erst seit kurzem mit Linux ;)
 
auf dem rechner, auf dem du den alias nutzen willst. also wahrscheinlich dein lokaler rechner :) du kannst den alias befehl auch so in der shell benutzen, dann gilt der alias aber nur in dieser shell und ist nach beenden dieser shell auch wieder weg.
 
0x8100 schrieb:
auf dem rechner, auf dem du den alias nutzen willst. also wahrscheinlich dein lokaler rechner :) du kannst den alias befehl auch so in der shell benutzen, dann gilt der alias aber nur in dieser shell und ist nach beenden dieser shell auch wieder weg.

Ok, wo genau muss ich das in die Datei eintragen?
Da gibt es eine Zeile mit:
alias usage='du -sk *....
 
Wenn man die Shell nicht mit haufenweise hostspezifischen ssh-Aliases zumüllen will, kann man Aliasnamen für die ssh-Zielhosts auch in die ~/.ssh/config (oder für alle Nutzer /etc/ssh/ssh_config) eintragen. Etwa so

Code:
host e ein mailserver
    hostname  ein.viel.zu.langer.name.zum.immer.wieder.eintippen.domain.tld

host n nas
  hostname noch.ein.langer.name.com

In der Shell würde ich (nein, würde ICH nicht, aber vielleicht der Threaderöffner) eher nur ssh auf s aliasen. Auf den zuerst genannten Zielrechner kommt man dann mit dem Kommando "s e" oder "s ein" oder "s mailserver". Lies "man 5 ssh_config" für mehr Details.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben