Я хотел бы настроить ssh-туннель, включающий 3 машины. Одна машина, с которой я хочу делать HTTP-запросы, но могу подключаться только к центральному серверу и исходящим запросам порта 80. Сервер - это Linux-сервер, к которому у меня есть полный root-доступ. Третьей машиной будет мой ноутбук. Я думал о настройке цепочки ssh, в которой http-машина будет перенаправлять удаленный порт на сервер, то есть ssh -R 9999: localhost: 9999 user @ server_ip_address. Затем со своего ноутбука я мог "ssh -D8080 user @ server-ip-address" с некоторым netcat посередине, но я не знаю, какую команду использовать посередине.
Может ли кто-нибудь показать мне, где мое мышление пошло не так? Или как я могу это сделать ...
Я немного запутался ... вы говорите, что у вас есть веб-сервер Linux, и вы хотите подключиться к нему через туннель SSH?
Вы можете сделать это с помощью ключей -L и -g для SSH. Если у вас есть удаленная система Linux с открытым портом 22, и вы находитесь в удаленном режиме с двумя компьютерами на месте ... вызовите сервер A и две другие удаленные машины с помощью B и C ... вы можете создать туннель между A и B с использованием -g и -L с соответствующей командной строкой (например, ssh -g -L 5000: remote-ip: 80 yourname @ remoteIP) на машине B для подключения к машине A, затем на B укажите на порт localhost 5000, чтобы откройте веб-сайт A, и ноутбук C может подключиться к порту 5000 с помощью веб-браузера на компьютере B, который также откроет веб-страницу компьютера A. -L обрабатывает переадресацию и сопоставление портов, -g позволяет другим машинам получать доступ к туннелю, кроме хоста, на котором работает SSH.
Это помогает?
Помните, что шифрование выполняется только между A и B. Трафик между C и B не зашифрован.
Разве вы не хотите просто запускать со своего ноутбука следующее:
ssh -L 9080:веб сервер: 80 пользователей @ центральный сервер
затем укажите в браузере ноутбука