Dieses Projekt wurde auf schreibgeschützt gesetzt, da es in der Organisation keinen aktiven Betreuer mehr gibt.
Tool zur automatischen Verwaltung von SSH-Client-Konfigurationen. Es kann verwendet werden, um eine Datenbank Ihrer Anmeldungen bei Remote-Hosts zu verwalten.
SSH-Config bietet die Möglichkeit, mithilfe des DNS-Dienstes nach (neuen) Hosts zu suchen und die Hosts zu Ihrer SSH-Konfiguration hinzuzufügen. Dadurch kann es eine Verbindung zu SSH-Servern herstellen und herausfinden, welche Server erreichbar sind und welche nicht.
Der Zweck von SSH-Config besteht darin, die Wartung von SSH-Client-Konfigurationen mit vielen Hosts zu vereinfachen. Es gibt Unix-Shell-Vervollständigungsmechanismen, die dabei helfen, Hostnamen während der Eingabe zu erweitern, wenn Sie über eine gut gepflegte SSH-Client-Konfiguration verfügen. Hier kommt das Werkzeug ins Spiel.
Verwenden Sie es in Ihrer Befehlszeile. Es sind mehrere Anwendungsfälle implementiert:
Vollständige Befehlszeilenparameter:
-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
neue Hosts hinzuUm neue Hosts zu Ihrer SSH-Konfiguration hinzuzufügen, geben Sie normalerweise einen Befehl wie diesen ein:
$ ssh-config -d vm-alpha vm-beta vm-gamma
$
Danach gibt es Einträge in der Datenbank $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"
]
},
...
und in Ihrer $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}
...
Um die vorhandenen Hosts auf Ihre SSH-Konfiguration zu aktualisieren, geben Sie normalerweise einen Befehl wie diesen ein:
$ ssh-config -u
$
Danach gibt es aktualisierte Einträge in der Datenbank $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"
]
},
...
Und der Host wird entfernt, da er in Ihrer $HOME/.ssh/config nicht mehr erreichbar ist.
Die betroffenen Dateien sind:
~/.ssh/config
: Die SSH-Konfiguration, in die gelesen und geschrieben wird. Die SSH-Konfigurationsspezifischen Teile sind mit speziellen magischen Markierungen gekennzeichnet, damit die Konfiguration nicht völlig durcheinander gerät.~/.sshconfig.json
: Eine JSON-Datei, die die Daten für alle Hosts enthält. Wird verwendet, um zu verfolgen, welche Hosts erreichbar sind und welche nicht, da nur erreichbare Hosts in die obige SSH-Client-Konfiguration übernommen werden. Zur Installation stehen ein Debian- und ein CentOS-Paket zur Verfügung. Weitere Informationen finden Sie im Abschnitt „Releases“ auf Github. Beide installieren einen Shell-Wrapper in /usr/bin/ssh-config
.
Die Systemvoraussetzungen für den Bau sind
Der Bau kann mit dem Befehl ausgelöst werden
mvn clean package
Copyright 2018 1&1 Internet SE Copyright 2019 1&1 Ionos SE
Lizenziert unter der Apache-Lizenz, Version 2.0 (die „Lizenz“); Sie dürfen diese Datei nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz erhalten Sie unter
http://www.apache.org/licenses/LICENSE-2.0
Sofern nicht durch geltendes Recht vorgeschrieben oder schriftlich vereinbart, wird die im Rahmen der Lizenz vertriebene Software „WIE BESEHEN“ und OHNE GEWÄHRLEISTUNGEN ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, vertrieben. Die spezifische Sprache, die die Berechtigungen und Einschränkungen im Rahmen der Lizenz regelt, finden Sie in der Lizenz.