Ssh
De Blogx Populi - Wiki Hispano
Este artículo necesita desarrollarse más. Ampliándolo ayudarás a mejorar Blogx Populi.
Tal vez puedas ayudarte con los wikis catalán e inglés si tienen una página equivalente.
Contenido |
[editar] funciones implementadas con ssh.-
- emulación de terminal
ssh login@máquina
- transferencia de archivos
scp login@maquina_origen:/ruta/archivo_origen login@maquina_destino:/ruta/archivo_destino
- administración remota de servidores
ssh login@máquina código
- gestión centralizada de crontabs
00 05 * * * ssh login@máquina código
- centralización de copias de seguridad
rsync máquina_origen:/datos_origen máquina_destino:/datos_destino
[editar] servidores con ssh en producción.-
el servidor central de copias de seguridad bbb está autorizado para ejecutar código con credenciales de root en cualquiera del resto de servidores GNU/Linux sin solicitar password interactivamente; gracias a esta posibilidad ofrecida por OpenSSH, hemos podido plantear la implementación de los servicios que comentamos abajo;
[editar] implementación.-
con:
root@bbb# ssh-keygen -t rsa
generamos las claves para este usuario en la máquina cliente; se generan los archivos
$HOME/.ssh/id_rsa $HOME/.ssh/id_rsa.pub
para autorizar definitivamente a este usuario en la(s) máquina(s) servidor(es) ssh, copiaremos el contenido de éste último archivo $HOME/.ssh/id_rsa.pub al final del archivo $HOME/.ssh/authorized_keys de los servidores; a partir de este momento el usuario root de bbb puede ejecutar comandos con credenciales de root en el resto de máquinas sin petición interactiva de password
[editar] ejemplos de uso.-
- ejecutar código en otra máquina
guardamos en variables de entorno las cadenas de código a ejecutar en la máquina destino
export borra_congelados='for a in `mailq|grep frozen|cut -c11-26`; do exim -Mrm $a; done'
y después ejecutamos desde la máquina central
ssh host_destino $borra_congelados
- sincronizar datos
sincronizar la carpeta /var/serveis del servidor aaa sobre el primer disco SCSI del servidor bbb, incremental, verbose, comprimido, recursivo y mostrando progresión de la copia
rsync -auvzr --progress root@aaa.dominio.com:/var/serveis/* /Scsi1/destino/
[editar] estado de desarrollo
- en producción:
- en desarrollo
generando nuevos objetos de código para administración y pensando en el interfaz ideal de administración de servidores
[editar] comentarios.-
aunque puede desarrollarse todo un sistema de gestión de servidores, servicios y comunicaciones basado simplemente en ssh y bash, también podría pensarse en el desarrollo de interfaces de administración de sistemas más depurados -por ejemplo, basados en Python, o Python/Blender-;
[editar] apuntes.-
desde Python, por ejemplo, podemos ejecutar scripts y leer las variables de objeto allí asignadas ...
>>> import os
>>> os.system('. /home/admin/domini')
>>> os.system(os.getenv('edita_cron'))
o ejecutar aplicaciones enteras de monitorización ...
>>> import os
>>> os.system('export PATH=$PATH:.;/home/admin/voidsyslog')
y desde Blender podemos ejecutar cualquier script Pyhton recogiendo sus valores en objetos 3D del escenario ...
>>> import Blender >>> import os

