Туннель ssh решил бы эту проблему, предоставив «прямой» маршрут от вашего компьютера к серверу C, но вам нужно иметь возможность войти на сервер B ...
user@serverA:~/ $ ssh -L2222:serverC:22 user@serverB
Войдите в систему как обычно, откройте новый терминал и
user@serverA:~/ $ ssh -p 2222 serverCusername@localhost
Когда вы подключаетесь к порту 2222 на вашем локальном хосте (то есть, serverA), ваше соединение проходит через ваше SSH-соединение с serverB, после чего оно открывает новый случайный высокий порт на serverB и обращается как новое соединение, исходящее от serverB и пытается подключиться к серверуC
В первой команде ssh, когда вы ссылаетесь на serverC, используйте любое имя / ip, которое serverB видит как / может разрешить / может подключиться