Я хотел бы узнать, есть ли способ назначить шлюз ssh по умолчанию для имени хоста, так что всякий раз, когда вы пытаетесь подключиться к имени хоста по ssh, он будет использовать шлюз для доступа к хосту. В идеале это должно быть сделано в ssh_config
например: клиент C пытается достичь цели T с помощью
ssh T
Единственный способ установить это соединение — через шлюз GW.
ssh -tA GW ssh T
EDIT: Я забыл упомянуть, что у вас могут быть разные шлюзы, которые будут достигать разных хостов.
EDIT: Я попробовал использовать конфигурацию ssh:
Host my-target-host
ProxyCommand ssh -tA GW ssh %h
Но затем я получаю сообщение «Псевдотерминал не будет выделен, поскольку stdin не является терминалом».
EDIT: Хорошо, я понял :-) Правильная конфигурация выглядит так:
Host my-target-host
ProxyCommand ssh my-gateway-host exec nc %h %p
Хотя не совсем понимаю, почему это работает...
решение1
После некоторых экспериментов и поисков я обнаружил, что это работает (по причинам, которые мне не понятны):
В вашем ssh_config:
Host my-target-host
ProxyCommand ssh my-gateway-host exec nc %h %p