VNC+ v1.3.5 & SSH [SOLVED]
Copa 13 июня, 2010 - 10:52
Всем привет. Помогите решить такую задачку: имеется мобила с установленным клиентом 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 извне, то команда с телефона может быть такой:
После этого телефонный vnc-клиент коннектится к localhost:5901
Если порт ssh не стандартный, то он прописывается там где port в квадратных скобках.
GPRS бывает EDGE, а tight-vnc -- изначально проектировался с поддержкой диалапа )
Впрочем, это представляет лишь академический интерес.
(Sir) * Windows looks like an open door, but no way to go *
Проблема в том, что на мобиле
Проблема в том, что на мобиле нельзя задать вышеуказанную команду: только адрес сервера с портом, логин и пароль (аутентификация в мидлете vnc+ реализована только по паролю, по публичному ключу нет). Поэтому все пробросы портов нужно выполнять на самом сервере.
Copa написал(а):Проблема в
Я жабскими программами не работал, но 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
А вот дальше вы оказались совершенно правы:
Прописав в /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.
Слепой да прозреет :)
Благодарю за советы!