Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Автоматическая вставка пароля. Соединение X2Go Client с терминальным сервером без ввода пароля и настроек клиента.

Что бы пользователь мог подключаться к терминальному серверу, необходимо:

1. Скопировать личный ключ на компьютер.
2. Установить клиент X2Go Client Windows.
3. Создать в нём новую сессию и настроить её для соединения с терминальным сервером.
4. Пользователю придётся вводить пароль при каждом подключении, так как не рекомендуется создавать ключ без парольной фразы.

Как это упростить ?

Допустим у Вас локальная сеть под управлением контролера домена или обычная сеть, но у каждого пользователя логин в операционную систему уникальный. Так что при создании пользователя на терминальном сервере, его логин должен соответствовать логину в ОС windows.

Совсем не обязательно каждому пользователю создавать свои уникальные ключи (личный и публичный). Так что публичный ключ можно разместить в файле /etc/skel/.ssh/authorized_keys и при создании пользователя, папка с ключом копируется в директорию нового пользователя.

Как создать ключ и разметить его на сервере, можно почитать в статье Интернет через терминальный сервер в локальной сети в разделе "Создание ключей для подключения из Windows" так что не будем на этом останавливаться.

Напишем один файл соединения с сервером для всех пользователей. Предыдущая статья X2Go Client Windows - автоматическая вставка пароля (парольной фразы) при авторизации по ключу на терминальном сервере X2Go с несколькими примерами. Но этот вариант мне кажется более удачным.

Файл запуска клиента X2Go позволит не вводить пароль, кроме того, пользователям не обязательно сообщать этот пароль. Личный ключ ssh подключения и настройки клиента, не надо хранить на компьютере.

Скрипт на AutoIT который я хорошо прокомментировал, так что разобраться в нём не составит труда.

; прячем иконку из трея
Opt("TrayIconHide", 1)
; временный файл сессии
Local $sDir = "d:\sk"
; удаляем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "-H")
; Создаём файл сессии, 2 = Открыть только для записи в конец файла, удалив предыдущее содержание
FileOpen($sDir, 2)
FileWriteLine($sDir,"[20151226123530987]")
FileWriteLine($sDir,"name=myses")
FileWriteLine($sDir,"host=192.168.100.101")
FileWriteLine($sDir,"key=d:/sk")
; применяем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "+H")
; запускаем клиент
Run ('"c:\Program Files\x2goclient\x2goclient.exe" --session-conf=d:\sk --session=myses --no-menu --no-session-edit --hide')
; Изменяем метод сопоставления заголовков окон при операции поиска, 2 = Соответствие любой подстроке в заголовке
Opt("WinTitleMatchMode", 2)
; Приостанавливаем выполнение скрипта до появления указанного окна TITLE, с классом окна программы CLASS
WinWait("[TITLE:192.168.100.101:22; CLASS:QWidget]", "")
; Проверяем, существует и активно ли указанное окно, активируем указанное окно (передаём ему фокус).
If Not WinActive("[TITLE:192.168.100.101:22; CLASS:QWidget]", "") Then WinActivate("[TITLE:192.168.100.101:22; CLASS:QWidget]", "")
; Приостанавливаем выполнение скрипта до активизации указанного окна
WinWaitActive("[TITLE:192.168.100.101:22; CLASS:QWidget]", "")
; переносим мышку в левый верний угол мгновенно
MouseMove(0,0,0)
; блокируем мышку и клавиатуру
BlockInput(1)
; удаляем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "-H")
; Создаём временный файл ключа, 2 = Открыть только для записи в конец файла, удалив предыдущее содержание
FileOpen($sDir, 2)
FileWriteLine($sDir,"-----BEGIN RSA PRIVATE KEY-----")
FileWriteLine($sDir,"Proc-Type: 4,ENCRYPTED")
FileWriteLine($sDir,"DEK-Info: DES-EDE3-CBC,057D2C3C374810CA")
FileWriteLine($sDir,"")
FileWriteLine($sDir,"LCbaJFRuEVUnFKrTGTeaaBu/LK5H9P/rRMsBlDdnwpxvVO9O1OEuf0kaMKbtjy39")
FileWriteLine($sDir,"dQTbKYXQX/W7GVb8htT3Kv1L/8/xdqQamlFX52e1q6s8TyUtvAKEe7/H+1QS6Pjw")
FileWriteLine($sDir,"obiLetdabVPmhiqH3Eg15SIvjtfQ4HGsf0SOfnMhiWGWPPtHLmv28BIduF36gGkd")
FileWriteLine($sDir,"c5yczxqeMxfxl09Pm0kGUVjLGJHgFPfeuPcyYnled3Ob8+SPOjnysdqsnPsKf+Ok")
FileWriteLine($sDir,"RRHb+xoKTw1DGkpIZuLXZNUuixuF9+2V9k0i8rriwz6NJPo+SoK+poqf510dZm6s")
FileWriteLine($sDir,"AmPRP8IuwIiQydu3P27PIV9/aL4nacJF3xcYvpBp6p9YRfwqWMo+4OSfhWZbZ+Vf")
FileWriteLine($sDir,"zpwgeRHzDD1qGJi7LirPuxtycvZpBe1wBHlsCN5LbaebOIby6pUrPA/9jX4aEiAw")
FileWriteLine($sDir,"EpTOlFGMnqbgS5385atZ3SUZ47vIJNzSId6jfPypRg/mZCZw+W10EaEsbah8L0hf")
FileWriteLine($sDir,"Y6QtAysHNQMO0f/EqAeMuG5i5HlzinaRMUKWWbwi3LX+zMo009V6LciJi3WoXtR3")
FileWriteLine($sDir,"fyICMGFl8YVnH2Q+/tRbJ8Z49gE97ioJ0bPr/cc8feefyzuiZ9j+FXi/vXO/hQSG")
FileWriteLine($sDir,"AVg0rKwaggOH/vgDipKUVnE5RVJKiXhQkeCYB17A6rvxNcbM3xccrofQtJ0/wDa7")
FileWriteLine($sDir,"Io8pTG6o/UivA1m7euBr/jc4wVrUeRhNKgjTLaKQ3m4mwFltXCSLGO+v+0mi716z")
FileWriteLine($sDir,"KRNt3uGZdxMAZ/VpFX89x4gGMlCi5n2WkKKjgUDs00E=")
FileWriteLine($sDir,"-----END RSA PRIVATE KEY-----")
; применяем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "+H")
; переносим мышку в левый верний угол мгновенно
MouseMove(0,0,0)
; блокируем мышку и клавиатуру
BlockInput(1)
; вводим парольную фразу и жмём ENTER
Send("{CAPSLOCK on}p{CAPSLOCK off}a{CAPSLOCK on}{s 2}{CAPSLOCK off}w0rd1234{ENTER}")
; переносим мышку в левый верний угол мгновенно
MouseMove(0,0,0)
; блокируем мышку и клавиатуру
BlockInput(1)
; подождать 100 мс
Sleep (100)
; удаляем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "-H")
; Создаём временный файл сессии, 2 = Открыть только для записи в конец файла, удалив предыдущее содержание
FileOpen($sDir, 2)
FileWriteLine($sDir,"[20151226123530987]")
FileWriteLine($sDir,"rootless=true")
FileWriteLine($sDir,"command=runff.sh")
FileClose($sDir)
; применяем атрибут скрытый к файлу сессии
FileSetAttrib($sDir, "+H")
; переносим мышку в координаты 400,400, скорость по умолчанию
MouseMove(400,400)
; разблокируем мышку и клавиатуру
BlockInput(0)

Теперь этот скрипт можно конвертировать в start.exe что бы его можно было запустить на любом компьютере с ОС Windows

Администратору достаточно установить пользователю X2Go Client на Windows и поместить на рабочий стол скомпилированный скрипт.

Пользователю для подключения к серверу, достаточно запустить start.exe

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить