This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Терминалы - X2Go

Не работает? Начинай читать инструкцию.

Автоматическая вставка пароля. Соединение 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

Предлагаю ознакомиться с предложениями моих партнёров