Estoy tratando de hacer un túnel a un servidor a través de un servidor puente. Hasta ahora, he podido hacer que funcione desde el shell de comandos correctamente usando el siguiente comando:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
Pero he estado tratando de incluir esto en mi ~/.ssh/config
archivo y tengo problemas. He intentado:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
Pero cuando lo hago, recibo el siguiente mensaje de error remoteserver.com
y no estoy seguro de qué lo está causando:
ksh: SSH-2.0-OpenSSH_6.8 ^ M: no encontrado
Sé que cuando inicio sesión remoteserver.com
, mi shell es /usr/bin/ksh
.
Intenté agregar argumentos de ruta a los comandos ssh en el archivo de configuración, pero no hizo ninguna diferencia.
Alguna idea de lo que puede ser?
ssh
ssh-tunneling
ssh-config
Eric B.
fuente
fuente
ProxyCommand
es así como se debe usar. Por lo general, se usa con netcat donde ssh está canalizando su salida a través de él y netcat actúa como el túnel hacia el puerto SSH del servidor remoto . Necesita un ProxyCommand similar assh -W %h:%p [email protected]
si desea usar esa función.ssh -A [email protected]
como un comando para ejecutar en la máquina del puente, config no le proporciona una forma de proporcionar comandos predeterminados. Lo que intenta hacerworks
en sí mismo, pero luego ssh intenta usar suProxyCommand
como un túnel y comienza a disparar el protocolo SSH hacia abajo donde hay un shell esperando en el otro extremo en lugar de un sshd que escucha el protocolo SSH.Respuestas:
La respuesta de Jakuje es correcta, pero desde OpenSSH
7.3
, ahora puede usar-J
ProxyJump
cuál es más fácil. Ver mis notas:OpenSSH
7.3
o superiorUso
ProxyJump
. Como se explica en el manual:~/.ssh/config
Ejemplo de ProxyJump~/.ssh/config
Conectar con
Agregar
-v
para salida detalladaEjemplo de
-J
línea de comando de ProxyJump~/.ssh/config
Conectar con
O usar
-o
OpenSSH
5.4
o superiorUsar
ProxyCommand
con-W
~/.ssh/config
Conectar con
O usar
-o
Abajo OpenSSH
5.4
~/.ssh/config
Conectar con:
O usar
-o
Fuentes
-J
agregado en OpenSSH 7.3-W
agregado en OpenSSH 5.4fuente
No necesitas
netcat
en tu puente. Como DanSut propuso en los comentarios, puede usar lassh -W
opción de línea de comando, esta configuración debería funcionar para usted:fuente