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
.Respuestas:
En realidad, necesita iniciar sesión para copiar su clave, no tiene acceso a la máquina remota (autenticación de clave y contraseña no válida deshabilitada):
Vuelva a habilitar la autenticación passwd en / etc / ssh / sshd_config:
Luego reinicie el servicio:
Copia tu clave pública:
Intente iniciar sesión nuevamente, no se requiere contraseña.
Luego deshabilite la autenticación de contraseña.
fuente
Permission denied (publickey)
es el servidor SSH remoto que dice "Solo acepto claves públicas como método de autenticación, vete".Ese es su principal desafío: ingresar al sistema remoto. Una vez que pueda hacer eso, puede cargar su clave:
ssh-copy-id
: le permitirá especificar una clave diferente si está en proceso de reemplazar la anterior, por ejemplo.~/.ssh/authorized_keys
para agregar su clave manualmente.fuente
Encontré el problema finalmente.
En realidad no necesité copiar la clave pública. La misma clave pública es para ambas claves privadas, con frase de contraseña y sin frase de contraseña. Pensé que tenía una clave privada sin frase de contraseña, pero en realidad no la tenía. Solo tenía .ppk sin frase de contraseña. Esa fue la falta de comunicación. Entonces el compañero de trabajo creó una clave privada sin frase de contraseña y ahora podía iniciar sesión usando ssh sin frase de contraseña. Leí que tener sin frase de contraseña es malo, pero el compañero de trabajo dice que está bien. Necesitaba sin frase de contraseña porque necesito ejecutar el script de shell al reiniciar; quiero iniciar autossh en el reinicio de la computadora.
Este tipo de solución es esta vez: si desea iniciar sesión sin frase de contraseña, compruebe si su clave privada realmente no tiene frase de contraseña.
fuente