Используйте Remmina 1.2.0 с SSH-туннелированием

Прежде всего, пожалуйста, извините меня, если я задаю вопрос новичку. Я пытался найти похожую проблему, но не смог найти ответ.

Я использую туннель SSH и клиент Remmina для подключения к удаленной машине.

Сначала я открываю туннель в моем терминале:

ssh -L 3309:<server_address>:3389 user@<aws_bastion>

А потом я просто подключаюсь через remmina к порту localhost:3309 с именем пользователя и паролем для этого сервера. Работает просто отлично.

Интересно, могу ли я установить этот бит ssh-туннеля напрямую в remmina?

Я пытался указать следующее

Экран настройки туннеля

А затем подключиться к моему серверу, и это не работает. Интересно, как мне перевести эту туннельную команду в клиент GUI?

5 ответов

Это работает в моем случае, и я думаю, что странные конфигурации:

  • В туннеле SSH лучше всего использовать SSH Agent на основе аутентификации.
  • В базовых настройках сервер должен начинаться с localhostхотя я помещаю IP сервера в туннель SSH.

Надеюсь это поможет.


Обновите конфигурацию, которая сработала для меня:

  • Вкладка "Основные".

    Это зависит от настройки сервера vnc на удаленном компьютере.

    • Сервер: localhost:5900 (при условии, что сервер vnc слушает localhost на порту 5900)
    • Пароль пользователя: Ваш пароль vnc
  • SSH-туннель:

    • Tick Включить SSH туннель.
    • Выберите обычай: VNC_SERVER_IP_ADDRESS:22 (22 - порт для SSH)
    • При аутентификации SSH: в зависимости от конфигурации удаленного ssh используйте пароль или агент SSH.

Вам больше не нужно открывать ssh-туннель самостоятельно (больше?). Remmina, по крайней мере, текущая версия 1.4.2, сделает это за вас.
Вот моя конфигурация, которая просто работает:

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

!/bin/bash ssh -L 3309:<server_address>:3389 user@<aws_bastion> remmina -c (connectionname)

Конечно, вам нужно будет создать файл подключения, специфичный для вашего подключения, но после этого этот сценарий должен инициировать туннель и подключиться к указанной машине одним махом.

https://superuser.com/questions/628371/how-to-run-linux-remmina-from-the-terminal

Эта ссылка подробно описывает, как создать такой файл конфигурации.

Сценарий: localhost => jumpbox => RDP-host

Если вы хотите подключиться через Jumpbox к изолированному RDP-серверу (который принимает только RDP-соединения, исходящие из Jumpbox), мне удалось выполнить следующую конфигурацию Remmina.

Шаг 1: В терминале gnome введите

ssh my.jumpbox.com -L 1111:my.rdp.server:3389

(Предполагается, что у вас есть запись в файле ~/.ssh/config. Чтобы сделать подключение более явным, введите

ssh -l jumpboxloginname -i ~/.ssh/private-key-to-jumpbox my.jumpbox.com -L 1111:my.rdp.server:3389, или,
Если у вас включен вход на основе пароля, используйте
ssh -l jumpboxuser my.jumpbox.com -L 1111:my.rdp.server:3389)

Это открывает интерактивный терминал для переходника, а также открывает локальный туннель SSH для переходника. Этот sshКоманда указывает Jumpbox пересылать любой трафик, поступающий с вашего локального порта 1111 (на котором работает Remmina), на хост RDP.

Шаг 2: Используйте Remmina для подключения к хосту RDP через Jumpbox: откройте профиль подключения в графическом интерфейсе Remmina. В Remmina на вкладке «Основные» введите localhost:1111(и учетные данные пользователя Windows). Во вкладке «SSH Tunnel» ничего не вводите.


Обратите внимание, что на вкладке ниже все выделено серым цветом. Записи из предыдущих экспериментов.

По желанию. (Если вы запустили tmux или byobu) Нажмите F6, чтобы отсоединить (не отсоединить) от Jumpbox. Если Remmina все еще открыта, окно терминала зависает. Тип CTRL-z. Тип bg. чтобы вернуть свой терминал. Однако туннель остается открытым. - Если вы ранее закрыли Remmina, и терминальное соединение, и туннель SSH будут закрыты. И вы немедленно получите назад свой терминал.

Информация в других ответах не работала или была неясной.

Для следующей ситуации:

      your local host --> ssh server (tunnel) --> Windows VM supporting RDP

и предполагая, что порт RDP открыт на виртуальной машине Windows, и предполагая, что ssh настроен на ssh-сервере, у вас есть два варианта использования remmina для RDP через ssh-туннель через ssh-сервер:

  1. создайте туннель за пределами remmina и используйте remmina только для RDP через этот туннель
  2. создайте туннель в Remmina, и Remmina использует его для своего RDP

Сначала запустите метод 1, так как его проще настроить IMO.

Для метода 1 вам сначала понадобится следующее:

      ssh -i PATH_TO_PRIV_KEY_OF_SSH_SERVER -L LOCAL_PORT:PRIVATE_RDP_IP:RDP_PORT SSH_SERVER_USER@SSH_SERVER_DOMAIN_NAME

Вы можете поместить эти параметры командной строки в свой~/.ssh/configтак что ты можешь просто написатьssh YOUR_ALIAS. Но метод 2 бесполезен, и эту информацию легко найти в сети (chatGPT хорошо справляется с преобразованием параметров CLI в синтаксис файла конфигурации ssh).

Но в основном для метода 1 вам нужно указать ssh

  • какой закрытый ключ использовать (PATH_TO_PRIV_KEY_OF_SSH_SERVER)
  • локальный порт для использования (LOCAL_PORT)
  • частный IP-адрес виртуальной машины Windows (PRIVATE_RDP_IP), к которому вы хотите получить доступ через SSH-туннель
  • порт, который RDP прослушивает на виртуальной машине Windows (RDP_PORT)
  • имя пользователя на SSH-сервере ()
  • доменное имя SSH-сервера ()

Предполагается, что ssh на SSH-сервере прослушивает порт 22, в противном случае укажите и это.

Как только эта команда ssh заработает, вы окажетесь в приглашении терминала на SSH-сервере. Пока у вас есть оболочка с этим приглашением, туннель активен.

Теперь настройте Remmina с помощью метода 1, поскольку эта настройка очень проста: установите вкладку «In» наlocalhost:$LOCAL_PORT, а также имя пользователя и пароль для удаленного рабочего стола на виртуальной машине Windows. Вкладка BASIC в Remmina 1.4 выглядит так:

Сложнее всего для меня оказался метод 2:

  1. После установки метода 1 щелкните правой кнопкой мыши конфигурацию соединения Remmina RDP в окне Remmina, сделайте копию, дайте ей новое имя (я добавляю слово «туннелируемый» к моему)
  2. Редактировать запись
  3. НаBasicвкладка, изменитьServerк значениюPRIVATE_RDP_IP:RDP_PORT, например10.0.0.1:3389
  4. НаSSH Tunnelвкладка,
    • Включить SSH-туннель
    • ВCustom, поставьте значениеSSH_SERVER_DOMAIN_NAME
    • ВUsernameпоставьте значениеSSH_SERVER_USER
    • ВSSH Identity fileперейдите к файлу закрытого ключа и выберите его

SSH-туннель выглядит следующим образом:

Сохраните и нажмите «Подключиться». В первый раз вам будет предложено принять хост, после чего запустится RDP. Последующие подключения не просят принять.

Чтобы это работало, вам не нужно добавлять закрытый ключ к ssh-агенту. По сути, после того, как вы загрузите локальный хост и откроете Remmina, вы сможете подключиться.

Другие вопросы по тегам