Quiero configurar el túnel ssh para el servidor mysql que está en la computadora que tiene una máquina virtual. Además, el túnel debe funcionar si se reinicia la máquina.
Digamos que A es una computadora con software de Linux. B - máquina virtual en la computadora A.
MySQL está en B.
C - es una máquina virtual en la computadora A que quiere conectarse a MySQL en B.
Ahora por este artículo: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Intento copiar la clave pública al servidor remoto. Supongo que necesito copiarlo en la computadora A.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Ahora intenté ingresar la frase de contraseña del archivo id_rsa.pub.bak. Negado
Luego veo que usa la clave en /home/[userfont>/.ssh/id_rsa que es diferente de la clave pública que estoy tratando de copiar, quiero decir, por supuesto, la clave privada es diferente, pero quiero decir que copio la clave pública de otra llave privada. Así que intenté usar la frase de contraseña. También negado.
¿Cómo podría depurar por qué se deniega la frase de contraseña?
Actualizar
Basado en comentarios, creé un nuevo archivo público llamado id_rsa.pub donde todo está en una línea ahora
y ejecutar y aún obtener error.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Actualizar
Se verificaron los permisos en la carpeta .ssh y el archivo autorizado de claves en la computadora A: son 700 y 600, por lo que el comentario dice que son buenos.
Actualizar
Intenté configurar la autenticación de contraseña sí en una computadora y reiniciar el servicio. Reiniciando como por la respuesta no funcionó, escribió sshd no reconocido, así que reinicié usando:
sudo /etc/init.d/ssh restart
Luego intenté nuevamente en la máquina C para copiar en una máquina.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
y sigue igual:
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Si voy a copiar la clave manualmente a claves_autorizadas, veo que la clave pública ya existe, la misma que quiero copiar. Le pregunté a mi compañero de trabajo, dijo que no lo copió. Así que ni siquiera entiendo cómo puede estar allí.
Ok, si está allí, sería bueno, pero permanecer allí no me permite conectarme con ssh sin ingresar la frase de contraseña. Pero pude conectarme con ingresar la frase de contraseña. Entonces, algo está claramente mal aquí. Y la clave que estoy tratando de copiar es con una frase de contraseña vacía. Cuando me conecté con ssh, ingresé una frase de contraseña que no estaba vacía.
La misma clave pública no puede aceptar una frase de contraseña vacía y una contraseña no vacía, eso tiene sentido. Pero entonces, ¿por qué la clave pública que estoy tratando de cargar es la misma que la del archivo autorizado_claves si las frases de contraseña son diferentes? No revisé todos los caracteres, pero es poco probable que las teclas sean tan similares que el principio y el final sean los mismos, incluso cuando la frase de contraseña sea diferente, creo.
id_rsa
? Esperaríassh-copy-id
fallar con un mensaje de error como lo llamas, ya que espera que un archivo termine con.pub
. Como el suyo termina con.bak
él, probablemente lo usaríaid_rsa.pub.bak.pub
.