The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Автоматизация запуска PuTTY и XMing"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Автоматизация запуска PuTTY и XMing"  +/
Сообщение от auto_tips (??) on 27-Янв-11, 20:21 
[]Задача:[] Организовать автоматизированное подключение Windows-клиента
к Linux-серверу терминалов через программу [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]] (по ssh-протоколу) в связке с [[http://sourceforge.net/projects/xming/ XMing]]. Windows-клиент имеет в домене гостевой профиль (все настройки после выхода из системы сбрасываются). Имена пользователей из домена Windows и на сервере терминалов совпадают(!).

[]Основная проблема:[] все свои настройки PuTTY хранит в реестре Windows, что делает невозможным их повторное использование после гостевого входа.

[]Пути решения.[]

1. Перед выходом из сеанса работы с PuTTY сохранять его ветку рееестра с настройками. Недостаток: решение не является универсальным и гибким. Например, старт X сервера необходимо выполнять отдельно указывая каждый раз пользовательские настройки, что есть длинный путь для гостя.

2. Создать специальный скрипт(ы), автоматизирующий подключение PuTTY.

Рассмотрим второй вариант.

Пусть IP-адрес Linux-сервера 10.0.0.1,
локаль пользователя Linux в кодировке UTF-8,
X сервер XMing установлен в каталог "C:\Program Files\Xming".

Создадим, например, следующую структура каталогов и файлов:

    каталог XServer
        файл StartTerminal.cmd
        каталог config
            файл do_start_terminal.cmd
            файл start_XServer.js
            файл config.xlaunch
            файл putty.prog (переименованный putty.exe)

Скрипт StartTerminal.cmd:

   @echo off
   SET XMING_SRV_PATH="C:\Program Files\Xming"

   SET REMOTE_SERVER=10.0.0.1

   SET REMOTE_CODEPAGE_LOCALE=UTF-8

   cmd /C %CD%\config\do_start_terminal.cmd %XMING_SRV_PATH% %REMOTE_SERVER% %REMOTE_CODEPAGE_LOCALE%

Скрипт config\do_start_terminal.cmd:

   @echo off

   cmd /C %CD%\config\start_XServer.js %1

   reg add HKCU\Software\SimonTatham\PuTTY\Sessions\User /v HostName /t REG_SZ /d %2 /f

   reg add HKCU\Software\SimonTatham\PuTTY\Sessions\User /v LineCodePage /t REG_SZ /d %3 /f

   reg add HKCU\Software\SimonTatham\PuTTY\Sessions\User /v X11Forward /t REG_DWORD /d 1 /f

   reg add HKCU\Software\SimonTatham\PuTTY\Sessions\User /v UserName /t REG_SZ /d %USERNAME% /f

   reg add HKCU\Software\SimonTatham\PuTTY\Sessions\User /v X11Display /t REG_SZ /d %COMPUTERNAME% /f

   start %CD%\config\putty.prog

Скрипт config\start_XServer.js:

   var XLaunchPath = WScript.Arguments(0);

   var WshShell = WScript.CreateObject("WScript.Shell");

   var cfgPath= WshShell.CurrentDirectory+"\\config\\config.xlaunch";

   var execPath = XLaunchPath + "\\XLaunch.exe -run " + cfgPath;

   WshShell.Exec(execPath);


Файл настроек XMing config\config.xlaunch (можно заранее подготовить при помощи программы XLaunch):

   <?xml version="1.0"?>

   <XLaunch xmlns="http://www.straightrunning.com/XmingNotes"  
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.straightrunning.com/XmingNotes XLaunch.xsd"
     WindowMode="MultiWindow" ClientMode="NoClient" Display="0" Clipboard="true"
     ExtraParams="-xkblayout us,ru -xkbvariant basic,winkeys -xkboptions grp:caps_toggle -dpi 96"/>


После запуска скрипта StartTerminal.cmd в окне программы PuTTY необходимо выбрать из списка настройки User, нажать на кнопку Load, а затем на Open. Далее согласиться с диалогом по поводу ssh и в окне терминала ввести пароль пользователя.

Представленная скриптовая схема является гибкой и позволяет проводить всю необходимую автоматизацию настроек PuTTY, а также запуск X сервера XMing с нужными параметрами.


URL:
Обсуждается: https://www.opennet.ru/tips/info/2523.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Аноним (??) on 27-Янв-11, 20:21 
Зачем это? Не секьюрно же!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Stax (ok) on 27-Янв-11, 22:49 
Что-то я туплю, зачем так сложно, почему просто X11 форвардинг в putty не использовать?? И запускаемые проги сами будут рисовать на локальном X сервере..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Аноним (??) on 28-Янв-11, 20:49 
> Что-то я туплю, зачем так сложно, почему просто X11 форвардинг в putty
> не использовать?? И запускаемые проги сами будут рисовать на локальном X
> сервере..

В примере как раз forwarding используется. Я так понимаю, что это все для случая, если у юзера виндового вообще никаких прав , корме как временно в свою ветку реестра писать, нет.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от dq0s4y71 (??) on 27-Янв-11, 23:19 
> После запуска скрипта StartTerminal.cmd в окне программы PuTTY необходимо
> выбрать из списка настройки User, нажать на кнопку Load, а затем на Open.

putty.exe -load "User"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Аноним (??) on 28-Янв-11, 20:55 
>> После запуска скрипта StartTerminal.cmd в окне программы PuTTY необходимо
>> выбрать из списка настройки User, нажать на кнопку Load, а затем на Open.
> putty.exe -load "User"

-load (?)

Откуда "User"-гость возьмет свои настройки если их изначально нет и он не знает что вводить? Ведь и такое бывает. Автоматизация на то и направлена , чтобы изначально у юзера уже что-то было подготовлена для запуска PuTTY и ему, я так понимаю, осталось ввести только пароль.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от zxalexis on 30-Янв-11, 19:58 
Имелось в виду вызывать putty -load "User" уже после занесения в реестр значений.

Вопрос 2й - чем plink не устроил?

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

4. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Горлов (ok) on 28-Янв-11, 07:28 
>Основная проблема: все свои настройки PuTTY хранит в реестре Windows

PortablePutty?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от McLeod095 (ok) on 28-Янв-11, 11:05 
Putty можно заменить вот на эту программу
http://www.9bis.net/kitty/?zone=ru
по оатсльному ничего не скажу т.к. статью после второго абзаца перестал читать
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Аноним (??) on 28-Янв-11, 20:46 
> Putty можно заменить вот на эту программу
> http://www.9bis.net/kitty/?zone=ru
> по оатсльному ничего не скажу т.к. статью после второго абзаца перестал читать

KiTTY ничего так, но она хранит настройки в каталоге профайла пользователя, а в случае виндового гостя все будет потеряно.

В случае с портативной версией PuTTY, если диск куда он ставится для юзера защищен, то это тоже не вариант.


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Аноним (??) on 03-Фев-11, 23:01 
>Основная проблема: все свои настройки PuTTY хранит в реестре Windows, что делает >невозможным их повторное использование после гостевого входа.

ИМХО, но PuTTY и гостевой вход вещи несовместимые. За такое увольняют по позорной статье, и это правильно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Алексей Волков on 07-Фев-11, 22:13 
Не совсем понял магии, если xming уже где то есть, то что мешает прописать в xmingrc что то вроде
# Xming Server Default Resource File
Menu apps {
    "IM" exec "plink.exe -X -agent user@host.net pidgin"
}
}
RootMenu apps
SilentExit
Debug "Using the default Xmingrc configuration file."

И после запуска xming через иконку в трее вызывать приложение (в данном случае запускается pidgin)?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Автоматизация запуска PuTTY и XMing"  +/
Сообщение от Igor Garkusha on 19-Фев-11, 21:13 
Спасибо публике за такое живое обсуждение.
Действительно, много странного здесь и как автор я это признаю и как админ поддерживаю. Однако задача решалась в следующем контексте. Есть несколько компьютерных классов, в которых установлен Windows. Linux установить нет возможности. Однако есть комп с достойными характеристиками, на котором установлен Linux и куча полезного софта. На нем же около ста пользователей. Подключаются к нему студенты. Выполняют лабы по разным дисциплинам, изучают азы Linux. В доменах Windows студенты - гости. Так проще - все профайлы чистятся сами, а данные студентов хранятся на выделенных сетевых дисках. Для студентов на машинах закрыто практически все. Настроить XMing заранее конечно можно, но вот с PuTTY увы - все варианты были перепробованы. В связке они представлены, поскольку XMing бывает вылетает при работе на некоторых приложениях и студенту иногда приходится перегружать PuTTY и перезапускать XMing. Далеко не все студенты готовы постоянно вбивать данные в PuTTY. :)
По поводу портативных версий - спасибо за информацию. Также попробую. Однако описанная схема работает и никаких проблем за долгое ее время использования выявлено не было. Еще раз спасибо всем за участие.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру