
Actualmente estoy trabajando desde casa y necesito conectarme a un servidor de producción. La política de seguridad vigente no permite que los clientes VPN se conecten a instancias de producción. Como tal, pensé que podría configurar el reenvío de agentes a través del servidor de desarrollo (al que puedo acceder), ya que está permitido.
Para hacer esto, primero habilité el reenvío de agentes para el servidor de desarrollo:
- Agregué
ForwardAgent yes
para~/.ssh/config
la entrada del servidor de desarrollo en mi computadora - Corrí
eval 'ssh-agent'
para iniciar el agente ssh. - Agregué mi clave ssh al agente usando
ssh-add ~/.ssh/id_rsa
- Me conecté al servidor de desarrollo usando
ssh -A <devserver>
- En el servidor de desarrollo, intenté conectarme al servidor de producción usando
ssh -T me@<prodserver>
Después de esto, pude ejecutar comandos en el servidor de producción. Sin embargo, nunca veo el mensaje de bash real.
¿Hay algo que pueda hacer para asegurarme de que aparezca el mensaje?
Respuesta1
En el último paso, ejecute ssh
sin la -T
opción:
-T Disable pseudo-terminal allocation.
El uso de la -T
opción en realidad desactiva la asignación de un TTY, lo que a su vez hace que no obtenga un shell.
mtak@rubiks:~/bla(develop)$ ssh gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
Last login: Tue Mar 10 10:45:25 2020 from vpn-int-2.int.mtak.nl
mtak@gen1:~$ logout
Connection to gen1 closed.
mtak@rubiks:~/bla(develop)$ ssh -T gen1
THIS IS A PRIVATE COMPUTER SYSTEM. Unauthorized access prohibited.
You have mail.
date
ma mrt 16 16:12:53 CET 2020
Respuesta2
Intenté conectarme al servidor de producción usando
ssh -T me@<prodserver>
No recibes ningún mensaje porque al usar la -T
opciónle dijo a ssh que deshabilitara el modo terminal(asignación de tty).
La presencia de un tty es la forma en que todos los programas determinan si se ejecutan de forma interactiva (es decir, conectados a una terminal/teclado) o si reciben comandos desde un archivo o una tubería. En el último caso, es decir, en modo "por lotes", es normal que los shells deshabiliten todas las indicaciones; herramientas como 'ls' pierden su elegante formato y su salida coloreada; etcétera.