VNC+ v1.3.5 & SSH [SOLVED]

Всем привет. Помогите решить такую задачку: имеется мобила с установленным клиентом VNC+ v1.3.5, который через SSH Protocol_2 посредством GPRS соединяется с компом(Gentoo Linux)+ADSL-модемом. На компе стоит TightVNC-server, который слушает порт 5901. SSH-туннель устанавливается, проверено, но дальше ssh перебрасывает соединение с порта 5901 на другой порт и vnc, естественно, ничего не видит. Пробовал перебросить порты посредством ssh, чотбы vnc запрашивал, например, порт 5903, а ssh уже перебрасывал с порта 5903 на порт vnc-server 5901:

ssh -R 5903:192.168.1.2:5901 user@server

а получается:

# netstat -ctuwpn
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 192.168.1.2:22          90.150.65.203:21203     ESTABLISHED 27396/sshd: user 
tcp        0      1 192.168.1.2:55183       192.168.1.2:5903        SYN_SENT    27407/sshd: user	

в sshd_config опции включены: AllowTcpForwarding yes , AllowAgentForwarding yes, GatewayPorts yes.
Полный конфиг SSH
Вопрос: что я делаю не так?

Извините за OffTop, но vnc

Извините за OffTop, но vnc через gprs рассчитано на очень усидчивых людей :)

Я Gentoo & Funtoo

Да, я в курсе :) Данный

Да, я в курсе :) Данный эксперимент - только для изучения vnc и ssh на собственном опыте. Для удаленного управления мне хватит и MidpSSH.

Если маршрутизатор нормально

Если маршрутизатор нормально принимает и передает пакеты ssh извне, то команда с телефона может быть такой:

ssh -fN -L5901:localhost:5901 <server_user>@server.fqdn[:non_standart_ssh_port]

После этого телефонный vnc-клиент коннектится к localhost:5901
Если порт ssh не стандартный, то он прописывается там где port в квадратных скобках.
GPRS бывает EDGE, а tight-vnc -- изначально проектировался с поддержкой диалапа )
Впрочем, это представляет лишь академический интерес.

(Sir) * Windows looks like an open door, but no way to go *

Проблема в том, что на мобиле

Проблема в том, что на мобиле нельзя задать вышеуказанную команду: только адрес сервера с портом, логин и пароль (аутентификация в мидлете vnc+ реализована только по паролю, по публичному ключу нет). Поэтому все пробросы портов нужно выполнять на самом сервере.

Copa написал(а):Проблема в

Copa написал(а):
Проблема в том, что на мобиле нельзя задать вышеуказанную команду: только адрес сервера с портом, логин и пароль (аутентификация в мидлете vnc+ реализована только по паролю, по публичному ключу нет). Поэтому все пробросы портов нужно выполнять на самом сервере.

Copa написал(а):
Для удаленного управления мне хватит и MidpSSH.

Я жабскими программами не работал, но ssh телефона как-то коннектится к серверу? Или там туннели вообще не поддерживаются?

Посмотрите на свой первый пост. Там наружу, к которой телефон коннектится, только ssh-порт смотрит, а впн остался на внутреннем интерфейсе. А как вы туда попадете? Если только роутер проброс порта сделает. Что-то не так.

Дополнено:
Midpssh КЛИЕНТ А к клиенту вы не законнектитесь. А туннели он не поддерживает. Во всяком случае, на этой страничке не видно.

(Sir) * Windows looks like an open door, but no way to go *

Давайте разберем все снова и

Давайте разберем все снова и по-порядку. Для меня vnc и ssh внове, возможно я не замечаю очевидных вещей.
Итак, у меня есть мобильник с установленными на нем java-мидлетами: VNC+ v1.3.5 (http://www.rdmplus.com/vnc/java/) и MidpSSH (хотя эта тема вовсе не про этот клиент - http:// www.xk72.com/midpssh/download.php). Есть РС с Gentoo на борту (Linux version 2.6.31-gentoo-r10 (gcc version 4.3.4 (Gentoo 4.3.4 p1.0, pie-10.1.5)), OpenSSH-5.3_p1-r1, tightvnc-1.3.10-r1. Есть ADSL-модем, который дает инет и пробрасывает пакеты ssh с внешнего порта 9922 на внутренний порт 22 (т.е. sshd на компе слушает порт 22, а в настройках подключения vnc-клиента на мобиле я указываю порт 9922).
Подключение VNC+ клиента на мобиле без SSH проходит без проблем: я вижу удаленный дисплей. Теперь с SSH. Начнем сначала - сделаем первоначальные настройки: конфиг sshd я уже указывал ранее, он не поменялся. TightVNC я запускаю на дисплее :1 (т.е. он слушает порт 5901). При таком раскладе мы видим следующую картину:
# lsof -i +r 5
Настройки VNC+ на мобиле:
Host: My.Server.com:5901, password_for_tightvnc
Security: SSH2, SSH2 Host: My.Server.com:9922, SSH2 User name: login, SSH2 Password: password.

Для большей наглядности - запустим демон sshd в режиме отладки+вывод информации на стандартный вывод:
user ~ # /etc/init.d/sshd stop
* Stopping sshd ... [ ok ]
user ~ # /usr/sbin/sshd -de
debug information
При этом наблюдаем следующее:
# lsof -i +r 5

А вот дальше вы оказались совершенно правы:

Sir написал(а):
впн остался на внутреннем интерфейсе. А как вы туда попадете? Если только роутер проброс порта сделает. Что-то не так.

Прописав в /etc/hosts строку:
192.168.1.2 My.Server.com
я смог подключить vnc через ssh.
Вот что получилось в итоге: netstat -ctuwpn

Но это не панацея. У меня динамический IP с DDNS. Если оставить эту строку в /etc/hosts - при получении нового айпишника я вообще не смогу достучаться извне до My.Server.com. Буду дальше разбираться. Всем спасибо!

P.S. По поводу MidpSSH - я и не говорил что хочу законнектиться к клиенту. Данный клиент на моей мобиле позволяет подключиться к компу и получить доступ к консоли через ssh.

Всё, разобрался! Нужно было в

Всё, разобрался! Нужно было в настройках клиента VNC+ на телефоне вместо Host: My.Server.com:5901 просто написать: Host: localhost:5901.

Sir написал(а):
После этого телефонный vnc-клиент коннектится к localhost:5901

Слепой да прозреет :)
Благодарю за советы!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".