Tengo tres sistemas, un cliente que solo instala ssh client y server_1 y server_2. Estoy usando autenticación pública ssh y puedo enviar ssh desde el cliente al servidor_1 y al servidor_2. Guardé la misma clave de publicación para el servidor 1 y ahora quiero realizar ssh desde el servidor 1 al servidor 2 usando el reenvío de agentes y quiero que mi clave privada permanezca solo en el cliente. Por favor, ayúdenme lo antes posible. ¿Cómo puedo hacer este escenario? Utilizo este enlace pero no sé cómo hacerlo.
Una guía ilustrada para el reenvío de agentes SSH: acceso a clave pública con reenvío de agentes
Respuesta1
Primero tienes que invocar ssh-agent
a tu cliente para que recuerde tu clave.
ssh-agent -t 3600 ~/.ssh/private_key_rsa
(suponiendo que su clave esté almacenada en ~/.ssh/private_key_rsa
, también puede omitirla -t 3600
si desea una vida útil infinita)
luego simplemente ingresa a uno de sus servidores usando la -A
opción
ssh -A server1
desde allí podrás acceder por ssh al servidor2
ssh server2
Si no desea especificar la -A
opción cada vez, puede agregar lo siguiente a su ~/.ssh/config
(en el cliente y opcionalmente en ambos servidores)
Host server1
ForwardAgent yes
Host server2
ForwardAgent yes
Esto funciona para cualquier número de servidores. Para ser ~/.ssh/config
breve, puede introducir comodines, por ejemplo
Host server?
ForwardAgent yes
Respuesta2
Reenviar el host del servidor a localhost:
ssh -L localhost:22:localhost:22 user@host
o
ssh -N -f -L serverhost:22:localhost:22 user@server1
Después de leer tu pregunta nuevamente.
Quieres ingresar por ssh al servidor1:
ssh user@server1
Entonces quieres ingresar por ssh al servidor2:
En la nueva terminal del cliente haga:
ssh user@server1
ssh user@server2
Entonces tienes 2 conexiones:
- cliente al servidor 1
- cliente a servidor 1 ==> servidor 2
Si quieres tener:
- cliente al servidor 1
- Cliente al servidor 2 (con la misma clave).
Simplemente haga el siguiente comando.
En cliente:
Utilice tmux o abra 2 terminales
ssh user@server1
En nueva terminal:
ssh user@server2
Respuesta3
La respuesta simple es agregar una bandera -A
como esta:
ssh -A [user]@[hostname]