Este proyecto se configuró como de solo lectura porque ya no hay un mantenedor activo en la organización.
Herramienta para ayudar a mantener automáticamente las configuraciones del cliente SSH. Se puede utilizar para mantener una base de datos de sus inicios de sesión en hosts remotos.
SSH-Config tiene la capacidad de buscar (nuevos) hosts utilizando el servicio DNS y agregar los hosts a su configuración SSH. A partir de eso, puede conectarse a servidores SSH y descubrir qué servidores son accesibles y cuáles no.
El propósito de SSH-Config es simplificar el mantenimiento de configuraciones de clientes SSH que contienen muchos hosts. Existen mecanismos de finalización de shell de Unix que ayudan a expandir los nombres de host mientras escribe si tiene una configuración de cliente SSH bien mantenida. Aquí es donde entra en juego la herramienta.
Úselo en su línea de comando. Hay múltiples casos de uso implementados:
Parámetros completos de la línea de comando:
-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
Para agregar nuevos hosts a su configuración ssh, normalmente emite un comando como este:
$ ssh-config -d vm-alpha vm-beta vm-gamma
$
Después de esto hay entradas en la base de datos $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"
]
},
...
y en tu $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}
...
Para actualizar los hosts existentes a su configuración ssh, normalmente emite un comando como este:
$ ssh-config -u
$
Después de esto hay entradas actualizadas en la base de datos $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"
]
},
...
Y el host se elimina debido a que ya no se puede acceder a él en su $HOME/.ssh/config.
Los archivos involucrados son:
~/.ssh/config
: la configuración SSH que se lee y se escribe. Las partes específicas de SSH-Config están marcadas con marcadores mágicos especiales para que la configuración no se estropee por completo.~/.sshconfig.json
: un archivo JSON que contiene los datos de todos los hosts. Se utiliza para rastrear qué hosts son accesibles o no, porque solo los hosts accesibles se incluyen en la configuración del cliente SSH anterior. Se proporciona un paquete Debian y CentOS para la instalación. Consulte la sección Lanzamientos en Github. Ambos instalan un contenedor de shell en /usr/bin/ssh-config
.
Los requisitos del sistema para la construcción son
La construcción se puede activar con el comando.
mvn clean package
Copyright 2018 1&1 Internet SE Copyright 2019 1&1 Ionos SE
Licenciado bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puede utilizar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia.