Estoy en macOS Sierra y mi versión SSH es:OpenSSH_7.5p1, OpenSSL 1.0.2l 25 May 2017
Tengo este contenido en mi .ssh/config
:
Host db
User user
HostName 192.168.1.111
ProxyCommand ssh user@db -W %h:%p
Host website
User user
HostName 192.168.1.100
ProxyCommand ssh user@Website -W %h:%p
También tengo un servidor con una IP pública, que tiene conexión directa con estos dos servidores, quiero reenviar mi conexión SSH a través de este servidor público a mis servidores privados (base de datos y sitio web).
Cuando uso este comando:
ssh user@db -W %h:%p
me sale este error:
Bad stdio forwarding specification '%h:%p'
Ahora, ¿qué debo hacer para resolver este problema y conectar mi host macOS a mis servidores privados?
Su archivo de configuración, así como el comando, son incorrectos.
La línea ProxyCommand debe contener el nombre de usuario/host de JumpHost , pero no el destino final.
Archivo de configuración:
Host db
User dbuser
HostName 192.168.1.111 #db host name/IP
ProxyCommand ssh user_public_server@public_server -W %h:%p
Host website
User websiteuser
HostName 192.168.1.100 #website host name/IP
ProxyCommand ssh user_public_server@public_server -W %h:%p
Entonces, el comando es simplemente ssh db
o ssh website
porque el nombre de host fácil de usar (p. ej., db) como se define en el archivo de configuración se expande a HostName/IP (p. ej., 192.168.1.111).
bmike
-W %h:%p
en la línea de comando. ¿No debería elegir uno u otro y no ambos?