Удаленный доступ к рабочей станции Linux за брандмауэром


8

Допустим, у меня есть рабочая станция с Linux за брандмауэром. Таким образом, даже несмотря на то, что у меня может быть настроен сервер удаленного доступа (например, самый превосходный сервер NoMachine NX), я не могу получить к нему доступ из дома.

В моей домашней сети есть сервер Linux. Можно ли выполнить ssh с работы на домашнюю Linux-машину и настроить туннель, чтобы, находясь дома, я мог запустить NX-клиент, указать его на свой домашний Linux-порт на каком-нибудь порте, например 9000, и получить его вперёд? через туннель к порту 22 на моей рабочей Linux-коробке? Как бы я это настроил?


Ваша компания не предоставляет какой-либо доступ к VPN?
Кит

Ответы:


8

С компьютера на работе создайте туннель к вашей машине с ssh дома:

randolf@workserver:~$ ssh -vvv randolf@myhomeserver -R 44455:localhost:22

Это перенаправит удаленный порт 44455 с вашего домашнего сервера на порт 22 (или любой порт, который прослушивает ssh) на вашей рабочей машине.

Из дома, проверьте, если что-то слушает на 44455

randolf@homeserver:~$ netstat -an | grep 44455
tcp        0      0 127.0.0.1:44455         0.0.0.0:*               LISTEN 

Далее, чтобы подключиться из дома к вашей рабочей машине, с вашего домашнего сервера:

randolf@homeserver:~$ ssh localhost -p 44455
Password: ******

Оттуда вы должны быть подключены к вашей рабочей машине через туннель.


Идеально, именно то, что я искал. Затем я могу использовать NX для удаленного входа.
CaptSaltyJack

Круто, рад, что помог!
CJ Трэвис

1

Вы можете настроить переадресацию портов с помощью своего брандмауэра или даже использовать инструмент типа «bounce» для перенаправления портов, если есть некоторые ограничения на то, что вам разрешено делать с брандмауэром, но вот что я бы сделал на твоем месте:

Установите отличное бесплатное программное обеспечение OpenVPN с открытым исходным кодом. Настройте целевой сервер в качестве клиента OpenVPN (и настройте бесконечные повторные попытки подключения), а свой домашний сервер Linux в качестве сервера OpenVPN. Таким образом, целевой сервер, на котором работает клиент OpenVPN, будет подключен к вашему домашнему Linux-серверу, когда он работает, и подключен к Интернету - через это VPN-подключение вы можете иметь полный доступ к вашему рабочему / целевому серверу (работает клиент OpenVPN). ,

  OpenVPN (полнофункциональное бесплатное решение с открытым исходным кодом, VPN для пользователей)
  http://www.openvpn.net/index.php/open-source.html


Так что просто для того, чтобы убедиться, что у меня есть это право: мой домашний Linux-сервер работает на сервере OpenVPN, а мой Linux-компьютер на работе запускает клиент OpenVPN, который остается подключенным к моей домашней Linux-сети VPN? И что позволит мне (дома) удаленно войти в мою рабочую коробку Linux?
CaptSaltyJack

@CaptSaltyJack: Да. Цель VPN - расширить сеть до другого компьютера или другой сети с большим количеством компьютеров, и связь может идти обоими способами. Вы можете установить любой из них в качестве сервера VPN (и, вероятно, было бы более полезно настроить свой рабочий сервер как сервер, но то, как вы задали свой вопрос, побудило меня предположить обратное - на самом деле не имеет значения, каким образом Вы делаете это все же). Частный IP-адрес сервера OpenVPN будет 10.8.0.1 (по умолчанию), а первым клиентом OpenVPN будет 10.8.0.6 (по умолчанию) - они смогут пинговать / соединяться друг с другом.
Рэндольф Ричардсон,

@CaptSaltyJack: Сервер, который имеет статический IP-адрес, должен также быть сервером OpenVPN (если только у него нет имени хоста, которое автоматически меняется с IP).
Рэндольф Ричардсон,

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

@CaptSaltyJack: Как я и подозревал. В любом случае, если вы настроите его (какой бы стороной ни был сервер OpenVPN), ваши приложения (включая ssh) не будут знать разницу.
Рэндольф Ричардсон,

1

Как подключиться к коробке Linux на порт 3389 (RHEL5)

К сожалению, порт 22 заблокирован многими брандмауэрами, и туннели могут открыть дыры в безопасности, поэтому лучше всего настроить ssh и NX на прослушивание порта 3389 вместо стандартного 22, что может сбить с толку большинство хакеров.

Настройте OpenBSD для прослушивания порта 3389

vim /etc/ssh/sshd_config

Port 3389

service sshd restart

Загрузите NX Client для Windows на сайт RHEL ftp

wget http://64.34.173.142/download/3.5.0/Windows/nxclient-3.5.0-9.exe

Скачать NX Free Edition для Linux

wget http://64.34.173.142/download/3.5.0/Linux/nxclient-3.5.0-7.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/nxnode-3.5.0-9.i386.rpm
wget http://64.34.173.142/download/3.5.0/Linux/FE/nxserver-3.5.0-11.i386.rpm

Как root - установите NX в этом порядке

rpm –ivh nxclient-3.5.0-7.i386.rpm
rpm –ivh nxnode-3.5.0-9.i386.rpm
rpm –ivh nxserver-3.5.0-11.i386.rpm

Настройте NX для порта 3389

vim /usr/NX/etc /node.cfg
#
# Specify the TCP port where the NX node SSHD daemon is running.
#
SSHDPort = "3389"

vim /usr/NX/etc /server.cfg
#
# Specify the TCP port where the NX server SSHD daemon is running.
#
SSHDPort = "3389"

service nxsensor restart
nxserver --daemon restart
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.