Часть 1. SSH. Подключение к удаленной машине (REMOTEHOST) с серым ip.
http://www.ietf.org/rfc/rfc1918.txt
(192.168.*.*; 172.16.*.*-172.31.*.*; 10.*.*.*)
1. Необходим HOST1 с белым ip.
2. Настройки сервера HOST1 (sshd_config)
|===================================|
| PermitRootLogin without-password | Доступ root по ключам (если использовать ключи)
| PubkeyAuthentication yes | Доступ по ключам (по умолчанию да)
| PasswordAuthentication yes | Доступ по паролю (по умолчанию да)
| TCPKeepAlive yes | Проверка соеденения (по умолчанию да)
| ClientAliveInterval 25 | Проверка через каждые 25с (по умолчанию 0)
|===================================|
3. Настройка сервера REMOTEHOST (sshd_config)
|===================================|
| PubkeyAuthentication yes | Доступ по ключам (по умолчанию да)
| PasswordAuthentication yes | Доступ по паролю (по умолчанию да)
|===================================|
4. На REMOTEHOST производим проброс порта (данную команду должен запустить локальный пользователь (remoteuser)):
$ssh -f -N -R 2222:localhost:22 username1@HOST1
Вводим пароль для username1 (или используем ключи и не вводим пароль)
Здесь ssh подключается к HOST1 и передает ему на порт 2222 свой порт 22.
Опция -f оставляет процесс (клиент ssh) висеть в фоне.
username1 пользователь с HOST1.
5. На HOST1 запускаем клиента ssh:
$ssh -p2222 remoteuser@localhost
Вводим пароль. remoteuser это имя пользователя на REMOTEHOST
Часть 2. Запуск x11vnc сервера и подключение к нему.
1. На REMOTEHOST производим проброс порта (данную команду запускаем удаленно или локально):
$ssh -f -N -R 5900:localhost:5900 username1@HOST1
Вводим пароль для username1 (или используем ключи и не вводим пароль)
Пробросили еще один порт.
Здесь ssh подключается к HOST1 и передает ему на порт 5900 свой порт 5900.
Опция -f оставляет процесс (клиент ssh) висеть в фоне.
username1 пользователь с HOST1.
2. На REMOTEHOST выполняем:
$x11vnc
3. На HOST1 запускаем remmina (или любой клиент vnc)
Выбираем протокол vnc, пишем адрес: localhost и жмем Connect !
Часть 3. Администрирование REMOTEHOST с HOST2 по vnc, оба имеют серый ip.
1. Нужен транзитный сервер HOST1 с белым ip.
2. На REMOTEHOST производим проброс порта (данную команду должен запустить локальный пользователь (remoteuser)):
$ssh -f -N -R 5900:localhost:5900 username1@HOST1
Вводим пароль для username1 (или используем ключи и не вводим пароль)
Здесь ssh подключается к HOST1 и передает ему на порт 5900 свой порт 5900.
Опция -f оставляет процесс (клиент ssh) висеть в фоне.
username1 пользователь с HOST1.
3. На REMOTEHOST запускаем x11vnc сервер.
4. На HOST2 производим проброс порта (данную команду должен запустить локальный пользователь (host2user)):
$ssh -f -N -L 5900:localhost:5900 username1@HOST1
Вводим пароль для username1 (или используем ключи и не вводим пароль)
Здесь ssh подключается к HOST1 и подключает его порт 5900 на свой порт 5900.
Опция -f оставляет процесс (клиент ssh) висеть в фоне.
username1 пользователь с HOST1.
5. На HOST2 запускаем клиента vnc, например remmina. Пишем адрес: localhost и жмем Connect !