SSH-туннель: продолжение. Избавляемся от батника.

agabekov 2012 M07 14
1523
0
3
0

Здесь мы сделали батник для подключения к серверу через SSH и последующего его использования в качестве прокси-сервера. А недавно передо мной встала немного другая задачка - недоброе "Акадо" в...

Здесь мы сделали батник для подключения к серверу через SSH и последующего его использования в качестве прокси-сервера. А недавно передо мной встала немного другая задачка - недоброе "Акадо" в Москве отказалось мне давать внешний IP, только внутренний (к которому, естественно, извне не подключиться). Программы типа TeamViewer-а, LogMeIn отбрасываем сразу - они подходят для того, чтобы зайти ненадолго, быстро  что-то сделать и сразу выйти, но не для постоянной работы.

Хотелось нормальный RDP. Сразу подумал об SSH-туннеле, но тут есть маленькая проблемка - так как мне нужен RDP, не факт, что когда я подконнекчусь извне к удалённому рабочему столу, plink не вылетит. То есть нужно plink выполнять как службу. Небольшой гуглинг привёл к следующей программке: NSSM (да, расшифровка весёленькая, но оно лучше стандартных средств instsrv и srvany, которые туннель пускают, а дальше хоть трава не расти - никак состояние не мониторят).

Пускаем cmd от имени администратора (в Windows 7 с включенным UAC нужно зайти в программы-стандартные и правой кнопкой щёлкнуть по "командной строке", потом "запуск от имени администратора"). Переходим в тот каталог, куда запихнули nssm.exe, делаем nssm install. Указываем путь к plink,

в Options вводим нужные параметры (сервер, имя пользователя, пароль и т. д.), в Service name - имя службы. Жмём Install service, у нас появляется новая служба, названная в моём случае ssh-tunnel, это и есть наш туннель. Пробуем её пустить - и тут возникают заботливо расставленные разработчиками Putty грабли - служба пускается, но туннель не создаётся. Дело в чём - служба пускается от имени  пользователя SYSTEM, а не того, под которым мы зашли. У каждого пользователя при первом подключении к серверу putty и plink выводят server fingerprint и спрашивают, а к тому ли ты серверу, мил-человек, подключился. Естественно, службе никакого экрана не полагается, и yes ответить не получается. Делаем так - выполняем regedit, экспортируем ветку [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys], меняем  HKEY_CURRENT_USER на HKEY_USERS\.DEFAULT и импортируем получившийся reg-файл обратно. После этого туннель пускается нормально, и не нужно пускать даже батник.

Оцените пост

-6