PuTTY ist ein großartiges Windows-Frontend, ganz zu schweigen von der Notwendigkeit eines SSH-Clients. Unter Linux, OS X und den meisten anderen UNIX-basierten Umgebungen ist SSH im Allgemeinen eine reine Befehlszeile, aber immer noch erstaunlich leistungsfähig.
Mit dem SSH-Client können Sie eine erstaunliche Anzahl von Eigenschaften basierend auf einem bestimmten Hostnamen, selbst globalen Standardwerten, in der Client-Datei "ssh_config" speichern. Diese Datei existiert standardmäßig nicht (gemäß den Kommentaren zur Frage), sollte aber unter geschrieben werden ~/.ssh/config
.
Dieser Pfad entspricht:
~
Ihrem Home-Verzeichnis, das auf meinem System erweitert wird /Users/jason
.
.ssh
, der führende Punkt macht es versteckt. Wenn Sie sich im Terminal und in Ihrem Home-Verzeichnis befinden, können Sie es einfach ausführen cd .ssh
und eingeben.
config
ist der Dateiname, es ist eine Klartextdatei mit Konfigurationsparametern.
Ich verwende diese Datei, um Tunnel zu steuern, die ich immer verwende, den für die Verbindung benötigten privaten Schlüssel, den Benutzernamen (falls er sich von meinem lokalen Benutzernamen unterscheidet) usw.
Sehen Sie sich die Manpage entweder man ssh_config
auf Ihrem eigenen Computer an, der die am besten geeignete Version enthält, oder Sie können sie online auf der OpenBSD-Site ansehen .
Einige Beispielinhalte aus meiner ssh-Konfigurationsdatei sind:
ControlMaster auto
ControlPath ~/.ssh/sockets/master-%r-%h-%p
VisualHostKey yes
Host serve
Hostname 8.8.8.8
User jason
IdentityFile ~/.ssh/id_rsa
LocalForward 5901 localhost:5901
Whitespace ist eine rein persönliche Präferenz. Es ist nur erforderlich, Schlüssel von Werten zu trennen.
Die ersten drei Zeilen sind globale Eigenschaften und wirken sich auf jede SSH-Verbindung aus. Der zweite Abschnitt ist eine hostspezifische Konfiguration.
Die Host
Zeile gibt das Host-Tag an, das Sie beim Aufrufen verwenden ssh
. Ex. ssh serve
. Wenn Sie das ausführen, werden alle aufgelisteten Eigenschaften bis zur nächsten Host
Zeile geladen.
Da serve
es sich nicht unbedingt um einen DNS-Namen handelt, gebe ich den an, mit dem Hostname
die Verbindung hergestellt werden soll (nein, eigentlich nicht meiner). User
ist selbsterklärend und muss nur explizit angegeben werden. Dabei IdentityFile
handelt es sich um den Pfad zu der privaten Schlüsseldatei, mit der die Verbindung hergestellt wird.
Zuletzt wird LocalForward
eine Portweiterleitungsregel eingerichtet, die ich über den SSH-Tunnel sende.
Die verschiedenen Syntaxen sind alle auf der Manpage dokumentiert.
Es gibt keinen Mechanismus zum Definieren eines Klartextkennworts. Die Passworteingabe ist beim Einrichten der SSH-Verbindung IMMER interaktiv. Wenn Sie sich automatisch anmelden möchten, richten Sie die Authentifizierung mit privatem Schlüssel ein . Das Speichern von Klartext-Passwörtern ist immer dumm.
Ich benutze dies mit großer Wirkung. Und das Beste daran? Alle Ihre SSH-Konfigurationen sind unglaublich portabel, es ist nur eine Datei, die Sie sichern / aufbewahren und von System zu System verschieben müssen! Nicht so portabel für Windows, aber wer kümmert sich schon gerne um die Registrierung?
ssh_config
(~/.ssh/config
), aber ich werde meinen Nackenbart in Schach halten und verstehen, dass das Bearbeiten einer einfachen Textdatei mit einem definierten Format nicht jedermanns Sache ist. Ich gebe PuTTY eine Menge Anerkennung für das Setup (und zugegebenermaßen auch eine Menge Kummer).