Especificación de reenvío estándar incorrecta '%h:%p

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?

No entiendo por qué tiene una entrada ProxyCommand y también agrega -W %h:%pen la línea de comando. ¿No debería elegir uno u otro y no ambos?

Respuestas (1)

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 dbo ssh websiteporque 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).

sigue siendo el mismo error