¿Puede establecer contraseñas en .ssh/config para permitir el inicio de sesión automático?
Estoy usando Ubuntu 11.10. I'm usando ssh
para conectarse a muchos servidores diariamente, así que puse sus parámetros en el archivo .ssh/config
así:
Host Home
User netmoon
Port 22
HostName test.com
¿Hay alguna forma de poner contraseñas para cada conexión en este fichero, de forma que, cuando el servidor pida la contraseña, el terminal introduzca su contraseña y la envíe al servidor?
Lo necesito porque a veces me alejo del PC y cuando vuelvo, tecleo una contraseña y pulso Enter el terminal dice CONEXIÓN CERRADA
.
P.D. No quiero usar un par de claves pública/privada.
93
3
Si realmente no quieres usar un par de claves pública/privada, puedes escribir un script
expect
para que introduzca la contraseña por ti automáticamente dependiendo de la dirección de destino.Edit: Lo que quiero decir es que puedes tener un script que, por un lado, use
expect
para introducir la contraseña por ti y, por otro lado, lea la contraseña para un usuario y host dados desde un fichero de configuración. Por ejemplo, el siguiente script python funcionará para el escenario del día soleado:y el formato del fichero de configuración sería el siguiente:
Nota: Como se ha explicado, el script python necesitaría ser mucho más complejo para manejar todos los posibles errores y mensajes de pregunta de ssh y todas las posibles URLs (en el ejemplo se asume que será algo como
user@host
, pero la parte del usuario no se usa la mayoría de las veces), pero la idea básica seguiría siendo la misma. Respecto al fichero de configuración, puedes usar un fichero de configuración diferente o usar.ssh/config
y escribir tu propio código para analizar ese fichero y obtener la contraseña para un usuario y host dados.No. Me temo que no es posible.
La única alternativa real es utilizar claves privadas, pero usted ha dicho que no quiere (¿por qué no?).
La respuesta de @BrunoPereira a esta pregunta muestra un método alternativo para conectarse sin introducir explícitamente una contraseña y evitando las claves ssh.
Podrías crear un script, un alias o una función en tu
~/.bashrc
para ejecutar rápidamente ese comando.Obviamente, hay consideraciones de seguridad que debes tener en cuenta con este enfoque.