як тунелювати віддалений робочий стіл Windows через ssh за допомогою linux box?


17

У мене в домашній мережі є два фізичні сервери, linux ( 192.168.8.x) та Windows Server 2008 ( 192.168.8.y).

Сервер Linux доступний ззовні за допомогою ssh на нестандартному порту (скажімо, 23008). Як встановити постійний тунель RDP через ssh на вікні linux? Я знаю, що я можу використовувати шпаклівку на зовнішній машині, але я не знаю, як правильно встановити sshd на вікні linux. Дякуємо за будь-які підказки!

Відповіді:


18

Якщо припустити, що ваш вікно linux доступний з Інтернету за адресою 1.2.3.4 на порту 23008, у зовнішній системі я би зробив:

external% ssh -p 23008 -L 13389:192.168.8.y:3389 username@1.2.3.4

Потім я підключуся до системи RDP, що передається портом

external% rdesktop localhost:13389

Якщо ваше зовнішнє вікно не є вікном Linux, для інструментів, які ви маєте, будуть еквівалентні команди; ідея залишається такою ж: переслати зовнішній порт 13389 на порт 3389 192.168.8.y, а потім використовувати зовнішній RDP-клієнт для підключення localhost:13389.

Ви посилаєтесь на правильну настройку sshd linux box, але якщо ви не переконфігурували його, стандартна настройка sshd, ймовірно, підтримує це добре.


Ви маєте рацію, я думав, що мені доведеться налаштувати sshd для тунельних конкретних портів. Але це все робиться за допомогою клієнтської команди. (ssh або шпаклівка на windows). I
elsni

14
ssh -L 3389:<ip of windows server>:3389 <ip of ssh server> -l <ssh user> -N

Якщо припустимо, що 3389 - це порт, на якому працює RDP, і ssh-сервер має доступ до вказаного порту, потім можна підключитися до 127.0.0.1:3389, як якщо б це був віддалений сервер.


ip у ssh-сервер внутрішній чи зовнішній? Зовнішні зміни щодня, але сервер доступний vie dyndns ззовні
elsni

У такому випадку: ssh -L 3389:<ip of windows server>:3389 <dydns of ssh server> -l <ssh user> -Nімена хостів можна використовувати замість припущення ip, звичайно, ви маєте переадресацію порту 22 на ssh-сервер, що на бічній ноті може бути поганим, якщо ви використовуєте інший порт і пересилаєте, що на 1212 використовується -p 1212 прапор.
Онейрой

<prdp> - порт rdp на внутрішньому сервері Windows <pssh> - порт загальнодоступного сервера Linux Linux (нестандартний у моєму випадку) <ptunnel> - порт для тунелю <ipwserver> - це внутрішня ip адреса сервера Windows. Я зробив ssh -L <prdp>: <ipwserver>: <ptunnel> myserver.gotdns.com -l myusername -N -p <pssh> правильно?
elsni

3

Можна також використовувати внутрішній ssh- тунелінг від клієнта віддаленого робочого столу Remmina .

Якщо ви можете запустити ssh на якийсь Linux-сервер за допомогою ssh-ключів, а на цьому сервері відкритий порт 3389 (RDP) для пакетів, що надходять з вашої машини, ви можете скористатися наступними налаштуваннями на RDP через тунель ssh.

В редакторі профілю встановіть вкладку Основні як для прямого з'єднання. Перейдіть на вкладку Тунель SSH і налаштуйте настройку так:


[x] Увімкнути тунель SSH

(o) Нестандартне [ip / ім'я хоста на сервері ssh / linux]

Аутентифікація SSH:

Ім'я користувача: [ім'я користувача на сервері ssh / linux]

(o) Відкритий ключ (автоматичний)


Використовуючи ці параметри, відкриється Remmina

ssh -L 3389:[target windows server]:3389 [linux server] -N

а потім з'єднує сеанс RDP по каналу ssh.

Якщо ви входите на сервер linux за допомогою імені користувача / пароля або використовуєте інший ідентифікаційний файл, вам потрібно змінити розділ SSH Authentication of setup profile.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.