PuTTY est une excellente interface Windows, sans parler du besoin d'un client SSH. Sous Linux, OS X et la plupart des environnements UNIX-y, SSH est généralement purement en ligne de commande, mais reste incroyablement puissant.
Le client SSH vous permet de stocker dans le fichier client "ssh_config" une quantité incroyable de propriétés basées sur un nom d'hôte donné, même par défaut global. Ce fichier n'existe pas par défaut (d'après les commentaires de la question), mais doit être écrit à l'adresse ~/.ssh/config
.
Ce chemin équivaut à:,
~
votre répertoire personnel, il s’étend sur mon système /Users/jason
.
.ssh
, le point principal le rend caché. Si vous êtes dans Terminal et dans votre répertoire personnel, vous pouvez simplement l’exécuter cd .ssh
et le saisir.
config
est le nom du fichier, il s’agit d’un fichier texte avec des paramètres de configuration.
J'utilise ce fichier pour contrôler les tunnels que j'utilise toujours, la clé privée nécessaire à la connexion, le nom d'utilisateur (s'il diffère de mon nom d'utilisateur local), etc.
Consultez la page de manuel, soit man ssh_config
sur votre propre machine, qui contiendra la version la plus appropriée, soit vous pouvez la visualiser en ligne à partir du site OpenBSD .
Voici un exemple de contenu de mon fichier de configuration ssh:
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
L'espace est une préférence purement personnelle, il n'est pas nécessaire sauf de séparer les clés des valeurs.
Les trois premières lignes sont des propriétés globales, elles affectent toutes les connexions SSH. La deuxième section est une configuration spécifique à l'hôte.
La Host
ligne spécifie la balise d'hôte que vous utiliserez lors de l'appel ssh
. Ex. ssh serve
. Lors de l’exécution, toutes les propriétés répertoriées jusqu’à la Host
ligne suivante sont chargées.
Comme ce serve
n’est pas nécessairement un nom DNS, je précise le nom Hostname
auquel il doit se connecter (non, pas le mien). User
est explicite et il suffit d’être explicite, et IdentityFile
c’est le chemin du fichier de clé privée qu’il utilise pour se connecter.
Enfin, LocalForward
configurez une règle de transfert de port que j'envoie via le tunnel SSH.
Les différentes syntaxes sont toutes documentées dans la page de manuel.
Il n'y a pas de mécanisme pour définir un mot de passe en texte brut. La saisie du mot de passe est TOUJOURS interactive lors de la configuration de la connexion SSH. Si vous souhaitez vous connecter automatiquement, configurez l' authentification par clé privée . Stocker des mots de passe en clair est toujours stupide.
J'utilise cela à bon escient. Et la meilleure partie? Toutes vos configurations SSH sont incroyablement portables. Ce n’est qu’un fichier que vous devez sauvegarder / conserver et passer d’un système à l’autre! Pas si portable vers Windows, mais qui aime vraiment traiter avec le registre de toute façon?
ssh_config
(~/.ssh/config
), mais je vais garder mon cou pour ne pas m'inquiéter et comprendre que modifier un fichier texte avec un format défini ne convient pas à tout le monde. Je donne beaucoup de crédit à PuTTY pour sa configuration (et beaucoup de chagrin aussi, certes).