Ce projet a été défini en lecture seule car il n'y a plus de responsable actif dans l'organisation.
Outil permettant de maintenir automatiquement les configurations des clients SSH. Il peut être utilisé pour maintenir une base de données de vos connexions aux hôtes distants.
SSH-Config a la capacité de rechercher de (nouveaux) hôtes à l'aide du service DNS et d'ajouter les hôtes à votre configuration SSH. Grâce à cela, il peut se connecter aux serveurs SSH et découvrir quels serveurs sont accessibles et lesquels ne le sont pas.
Le but de SSH-Config est de simplifier la maintenance des configurations client SSH contenant de nombreux hôtes. Il existe des mécanismes de complétion du shell Unix qui permettent de développer les noms d'hôte lors de la saisie si vous disposez d'une configuration client SSH bien entretenue. C’est là que l’outil entre en jeu.
Utilisez-le dans votre ligne de commande. Plusieurs cas d'utilisation sont implémentés :
Paramètres complets de la ligne de commande :
-database (-D) FILE : The database to use. (default: /home/$USER/.sshconfig.json
)
-discover (-d) : Discover hosts given in the command line using DNS.
(default: false)
-export (-e) : Export the database. Writes to stdout or file argument.
User and group parameters can be used for filtering.
(default: false)
-group (-G) GROUP : The group name to use for the entry for discovery or
export filtering.
-help (-h) : Show this command line help. (default: true)
-import (-i) : Import a database. Reads either from argument or stdin.
(default: false)
-sshcfg (-s) FILE : The ssh config to update. (default:
/home/$USER/.ssh/config)
-update (-u) : Update all database hosts IP addresses. (default: false)
-user (-U) USER : The user name to use for the entry for discovery or
export filtering.
$HOME/.ssh/config
Pour ajouter de nouveaux hôtes à votre configuration ssh, vous exécutez généralement une commande comme celle-ci :
$ ssh-config -d vm-alpha vm-beta vm-gamma
$
Après cela, il y a des entrées dans la base de données $HOME/.sshconfig.json
...
{
"name" : "vm-alpha",
"createdAt" : 1504778353193,
"enabled" : true,
"fqdn" : "vm-alpha.foo.domain",
"sshServerVersion" : "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3",
"id" : "a7369847-e833-49bd-af95-e0d1292b3ed6",
"updatedAt" : 1520958429041,
"ips" : [
"10.123.123.123"
]
},
...
et dans votre $HOME/.ssh/config :
...
# <<< BEGIN{a7369847-e833-49bd-af95-e0d1292b3ed6}
Host vm-alpha
Hostname vm-alpha.foo.domain
Hostname 10.123.123.123
# >>> END{a7369847-e833-49bd-af95-e0d1292b3ed6}
...
Pour mettre à jour les hôtes existants vers votre configuration ssh, vous exécutez généralement une commande comme celle-ci :
$ ssh-config -u
$
Après cela, il y a des entrées mises à jour dans la base de données $HOME/.sshconfig.json
...
{
"name" : "vm-alpha",
"createdAt" : 1504778353193,
"enabled" : false,
"fqdn" : "vm-alpha.foo.domain",
"sshServerVersion" : "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3",
"id" : "a7369847-e833-49bd-af95-e0d1292b3ed6",
"updatedAt" : 1520959605730,
"ips" : [
"10.123.123.123"
]
},
...
Et l'hôte est supprimé car il n'est plus joignable dans votre $HOME/.ssh/config.
Les fichiers concernés sont :
~/.ssh/config
: La configuration SSH en cours de lecture et d'écriture. Les parties spécifiques à SSH-Config sont marquées avec des marqueurs magiques spéciaux afin que la configuration ne soit pas complètement gâchée.~/.sshconfig.json
: Un fichier JSON qui contient les données de tous les hôtes. Est utilisé pour suivre quels hôtes sont accessibles ou non, car seuls les hôtes accessibles sont pris en compte dans la configuration du client SSH ci-dessus. Un package Debian et CentOS sont fournis pour l'installation. Veuillez consulter la section Versions sur Github. Les deux installent un wrapper shell dans /usr/bin/ssh-config
.
La configuration système requise pour la construction est
Le bâtiment peut être déclenché avec la commande
mvn clean package
Copyright 2018 1&1 Internet SE Copyright 2019 1&1 Ionos SE
Sous licence Apache, version 2.0 (la « Licence » ); vous ne pouvez pas utiliser ce fichier sauf en conformité avec la licence. Vous pouvez obtenir une copie de la licence à
http://www.apache.org/licenses/LICENSE-2.0
Sauf disposition contraire de la loi applicable ou accord écrit, le logiciel distribué sous la licence est distribué « TEL QUEL », SANS GARANTIE OU CONDITION D'AUCUNE SORTE, expresse ou implicite. Consultez la licence pour connaître la langue spécifique régissant les autorisations et les limitations en vertu de la licence.