
¿Hay alguna forma de pasar una contraseña usando .ssh/config
? Estoy intentando configurar una forma de iniciar sesión en un servidor con un usuario específico y luego cambiar automáticamente a root cuando me conecto (es necesario ingresar la contraseña).
Por ahora tengo:
Host server
HostName hostname.server.com
User not-root
Port 1234
RemoteCommand su
- Tengo que seguir estos pasos (usuario -> su)
- Tengo que usar esta clave (con frase de contraseña)
Respuesta1
En general, la mayoría de los administradores de sistemas configurarían las cosas para que su automatización no dependa de contraseñas.
SSH
Para la autenticación SSH, lo más fácil es crear un par de claves donde la clave privada no esté protegida con contraseña.
Si necesita una frase de contraseña en la clave SSH privada, agregar esa clave/frase de contraseña a ssh-agent (o un llavero de Mac OSX) es una acción única después de la cual ya no necesitará que se le solicite la frase de contraseña.
Si esa no es una opción, usesshpass
en sus scripts/comandos use una contraseña/frase de contraseña desde la línea de comando
en el servidor
Nuevamente, la solución más fácil/convencional es evitar tener que ingresar una contraseña.
Tus opciones para eso dependen del nivel de control que tengas.
configure una política sudo NOPASSWD (idealmente solo para los comandos relevantes) que le permitirá ejecutar
sudo some-command --with args
unasudo -i
sesión de inicio de sesión interactiva sin ingresar una frase de contraseña.configure la cuenta raíz para inicios de sesión ssh remotos directos (no es la mejor solución, pero cuando no permite la autenticación con contraseña, solo la autenticación basada en clave...)
Dependiendo de la configuración, simplemente agregue su cuenta a un grupo "sudo", "wheel" o "admin" y obtendrá todos los derechos de administrador.
Cuando realmente desea enviar una contraseña, expect
¿está disponible la utilidad para automatizarla?