The OpenNET Project / Index page

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

Автоматизация запуска PuTTY и XMing
Задача: Организовать автоматизированное подключение Windows-клиента
к Linux-серверу терминалов через программу PuTTY (по ssh-протоколу) в связке с
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 с
нужными параметрами.
 
26.01.2011 , Автор: Igor Garkusha
Ключи: putty, xming, windows, ssh / Лицензия: CC-BY
Раздел:    Корень / Безопасность / SSH

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 20:21, 27/01/2011 [ответить] [смотреть все]
  • +/
    Зачем это? Не секьюрно же!
     
  • 1.2, Stax, 22:49, 27/01/2011 [ответить] [смотреть все]
  • +/
    Что-то я туплю, зачем так сложно, почему просто X11 форвардинг в putty не использовать?? И запускаемые проги сами будут рисовать на локальном X сервере..
     
     
  • 2.7, Аноним, 20:49, 28/01/2011 [^] [ответить] [смотреть все]
  • +/
    В примере как раз forwarding используется Я так понимаю, что это все для случая... весь текст скрыт [показать]
     
  • 1.3, dq0s4y71, 23:19, 27/01/2011 [ответить] [смотреть все]  
  • +/
    > После запуска скрипта StartTerminal.cmd в окне программы PuTTY необходимо
    > выбрать из списка настройки User, нажать на кнопку Load, а затем на Open.

    putty.exe -load "User"

     
     
  • 2.8, Аноним, 20:55, 28/01/2011 [^] [ответить] [смотреть все]  
  • +/
    -load Откуда User -гость возьмет свои настройки если их изначально нет и он... весь текст скрыт [показать]
     
     
  • 3.9, zxalexis, 19:58, 30/01/2011 [^] [ответить] [смотреть все]  
  • +/
    Имелось в виду вызывать putty -load "User" уже после занесения в реестр значений.

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

     
  • 1.4, Горлов, 07:28, 28/01/2011 [ответить] [смотреть все]  
  • +/
    >Основная проблема: все свои настройки PuTTY хранит в реестре Windows

    PortablePutty?

     
  • 1.5, McLeod095, 11:05, 28/01/2011 [ответить] [смотреть все]  
  • +/
    Putty можно заменить вот на эту программу
    http://www.9bis.net/kitty/?zone=ru
    по оатсльному ничего не скажу т.к. статью после второго абзаца перестал читать
     
     
  • 2.6, Аноним, 20:46, 28/01/2011 [^] [ответить] [смотреть все]  
  • +/
    KiTTY ничего так, но она хранит настройки в каталоге профайла пользователя, а в... весь текст скрыт [показать]
     
  • 1.10, Аноним, 23:01, 03/02/2011 [ответить] [смотреть все]  
  • +/
    ИМХО, но PuTTY и гостевой вход вещи несовместимые За такое увольняют по позорно... весь текст скрыт [показать]
     
  • 1.12, Алексей Волков, 22:13, 07/02/2011 [ответить] [смотреть все]  
  • +/
    Не совсем понял магии, если 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)?

     
  • 1.13, Igor Garkusha, 21:13, 19/02/2011 [ответить] [смотреть все]  
  • +/
    Спасибо публике за такое живое обсуждение Действительно, много странного здесь ... весь текст скрыт [показать]
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor