
Я хочу подключиться к своему аккаунту на сервере моего университета. Когда я там, мне нужно сделать только
“ssh user@FinalServer/home/user”
или создайте папку, используя
“sftp://user@FinalServer/home/user”.
Но проблема возникает, когда я дома. Здесь мне нужно сначала подключиться к конкретному серверу в конкретном порту, а затем подключиться к FinalServer.
1st. “ssh user@IntermediateServer:54022”
2nd. “ssh user@FinalServer/home/user”
И чтобы сделать sftp сначала мне нужно сделать это на промежуточном сервере, а затем на конечном сервере. Если это возможно, я хочу сделать папку, как в первом примере, но я не знаю как.
Я ищу решение в Linux и другое в Windows.
Я пытаюсь что-то сделать с Putty или WinSCP, но не знаю как. Большое спасибо и извините за мой плохой английский.
решение1
Если ваш промежуточный хост разрешает TCP-пересылку, вы можете добиться желаемого, но ssh-подключение к промежуточному серверу все равно необходимо. Обе эти команды будут запущены из вашего дома:
ssh -f -p 54022 user@IntermediateServer -L 2000:FinalServer:22 -N
ssh -p 2000 user@localhost
Первая устанавливает туннель от вашего домашнего ПК на порту 2000 до конечного сервера на порту 22 (стандарт для SSH) через промежуточный сервер на порту 54022. Запустите первую команду и проверьте, есть ли новый LISTENing порт на вашем домашнем ПК ( netstat -na | grep LIST | grep 2000
), если это так, ваш туннель запущен и работает. Просто выполняйте команды так, как будто ваш локальный ПК был конечным сервером (на порту 2000)
ПРИМЕЧАНИЕ: Я использую порт 2000, поскольку предполагаю, что на вашем ПК запущен SSH-сервер, но вы можете использовать любой другой порт.