Назад | Перейти на главную страницу

Обратный туннель SSH через сервер-посредник - как подключиться за один шаг?

Мой вопрос в основном заключается в том, как превратить мои существующие два шага в один.

У меня есть рабочий SSH-туннель, настроенный между двумя компьютерами с использованием промежуточного сервера, например:

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

В настоящее время я делаю SSH от Kubuntu_laptop к Debian_Server, а затем от Debian_Server к Kubuntu_desktop. Я хотел бы сделать эту одну команду SSH, выпущенную на моем Kubuntu_laptop в bash, которая приводит к тому, что я подключаюсь к Kubuntu_desktop (shell / bash).

Сейчас я использую следующие команды.

Шаг 1:

me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server  

Шаг 2:

admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost 

Затем я подключаюсь к kubuntu_desktop через SSH (из kubuntu_laptop).

Ключи RSA необходимы для всех соединений SSH. Логин по паролю полностью отключен. Обратите внимание, что учетные записи пользователей на двух компьютерах разные.

По поводу подключения этой ноги:

Debian_Server<--nat_fw<--Kubuntu_desktop

Вот как это установлено.

Шаг 0:

autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22

Обратите внимание, что Kubuntu_desktop подключается к посреднику как user@mydebian.com (не admin @ debian_server). Но когда я подключаюсь к Kubuntu_desktop, я подключаюсь как пользователь admin.

Я не могу изменить существующий порт мониторинга (5234) или номер удаленного (- R) порта (1234 в этом примере). Я не могу изменить безопасность SSH, чтобы разрешить вход по паролю. Я не могу открыть новые порты брандмауэра. Я не могу изменить учетные записи пользователей (кроме ноутбука).

(Когда у меня это заработает, я хочу, чтобы vnc или какое-либо решение для поддержки удаленного рабочего стола работало через туннель SSH.)

Убедитесь, что netcat установлен на сервере Debian, и используйте ProxyCommand в вашей локальной конфигурации SSH (~/.ssh/config).

Host Kubuntu_desktop
  User admin
  IdentityFile ~/.ssh/Kubuntu_desktop.rsa
  ProxyCommand ssh -i ~/.ssh/id_rsa admin@Debian_Server nc localhost 1234