Si ejecuto esto:
ssh user@server 'mysql -u user -p'
Cuando me pide la contraseña de MySQL y empiezo a escribir, la contraseña está visible en la pantalla. ¿Cómo puedo prevenir esto? Si inicio sesión ssh
y luego ejecuto el comando MySQL, todo funciona bien.
Respuestas:
Si proporciona un comando remoto para ejecutar, SSH no asigna un tty, por lo que el comando remoto no puede deshabilitar echo. Puede forzar a SSH a proporcionar un tty usando la
-t
opción:La opción equivalente (para
-o
o para el archivo de configuración) esRequestTTY
. Advierto contra usarlo en la configuración porque puede tener efectos no deseados para comandos no interactivos .fuente
RequestTTY
enman 5 ssh_config
.Almacenar la contraseña en un archivo de opciones protegido
Si puede confiar en [*] la seguridad de la computadora remota, puede almacenar la contraseña en un archivo de opciones debidamente protegido, como se sugiere en el capítulo Pautas para el usuario final para la seguridad de la contraseña del manual, sin la necesidad de comunicarse
ssh
o escribir hora.Específicamente, puede agregar una línea en la sección [cliente] del archivo
.my.cnf
en su directorio de inicio:Por supuesto, tiene que evitar que ese archivo sea accesible para nadie más que para usted, configurando el modo de acceso a archivos a 400 o 600 con, por ejemplo,
Entonces puedes usar algo como
¿Dónde
user110971
está el nombre de usuario de su cuenta?Obligar a ssh a asignar un pseudo tty (
ssh -t
)Este problema ocurre cada vez que envía un comando
ssh
y necesita insertar la entrada porque, por defecto,ssh
no asignará un pseudo-tty.Puede forzar la asignación de tty con la opción
-t
(incluso más de una si es necesario):Como puede leer en esta publicación de Debian (Jul_11_2008) sobre
sudo
, es un viejo problema que le encanta volver a aparecer:Nota:
[*] Si puedes confiar en dejar la contraseña en un archivo accesible solo para ti y rootear en elcliente en funcionamiento .
Si es posible reiniciar la computadora remota cambiando el sistema operativo o eliminar el HDD, la computadora no puede considerarse completamente segura ... pero en ese caso la base de datos en sí misma no será segura.
fuente
La opción de montaje "hidepid" para procesos también es valiosa. Hace que sus líneas de comando sean invisibles en la lista de procesos para otros usuarios. Ejemplo de fstab:
fuente