Прозора автентифікація до Ubuntu Server

Продовжуючи тему інтеграції системи на базіUbuntu Server 12.04.5 в доменну інфраструктуруActive Directory (AD), у цій нотатці я розгляну таке питання як налаштування безпарольного підключення до системиUbuntu з клієнтських комп'ютерів під керуваннямWindows 7, тобто це свого роду налаштуванняSingle sign-on (SSO).

Таку прозору аутентифікацію я показував у себе на блозі, як для

цим ініціалізувалося підключення до термінального серверуWindows. А ця практична нотатка покаже ще один варіант використанняSingle sign-on.

Отже, в доменіPolygon.local створив групуLinuxAdmin і включив до неї користувача з обліковим записомadmin.

Ця нотатка спирається на наступні:

Активуємо підтримкуGSSAPI для службиOpenSSH і зумовлю обмеження за групами доступу на підключення з поза:

$ sudo nano /etc/ssh/sshd_config

AllowGroups adm LinuxAdmin

Зберігаємо внесені зміни.

На замітку: Дозволені групи вказують з роздільником у вигляді пробілу. У списку можуть фігурувати як локальні (для локальних користувачів) так і доменні (для доменних користувачів) групи доступу, при цьому їх назви мають бути вказані в нижньому регістрі, оскільки їх повертає командаgroups для поточного користувача.

Прикмет виведення груп, у яких складається поточний користувач:

ekzorchik adm cdrom sudo dip plugdev lpadmin sambashare domain users schema admins enterprise admins domain admins BUILTIN\administrators BUILTIN\users

domain users domain admins BUILTIN\administrators BUILTIN\users linuxadmin

, Висновокпоказує, що користувачadmin належить групі linuxadmin.

Для набуття чинності змін перезапускаємо службу сервераSSH :

$ sudo service ssh restart

ssh start/running, process 3283

Далі реалізую можливість дляKerberos — підсистеми представлятися різним службам від імені запису виду:(SPN) HOST/@.

$ sudo rm /etc/krb5.keytab

$ sudo net ads keytab create -U ekzorchik

Enter ekzorchik's password: вказую пароль - 712mbddr@

$ sudo net ads keytab add HOST/[email protected] -U ekzorchik

Processing principals to add.

Enter ekzorchik's password: 712mbddr@

, деU ekzorchik ( замість цього облікового запису вказується будь-який доменний користувач, що перебуває в групі “Domain Admins ” )

Тепер подивимося, що отримаємо з висновку команди:

$ sudo net ads keytab list

Vno Type Principal

2 DES cbc mode with CRC-32 host/[email protected]

2 DES cbc mode with RSA-MD5 host/[email protected]

2 ArcFour with HMAC/md5 host/[email protected]

2 DES cbc mode with CRC-32 host/[email protected]

2 DES cbc mode with RSA-MD5 host/[email protected]

2 ArcFour with HMAC/md5 host/[email protected]

2 DES cbc mode with CRC-32 [email protected]

2 DES cbc mode with RSA-MD5 [email protected]

2 ArcFour with HMAC/md5 [email protected]

2 DES cbc mode with CRC-32 HOST/[email protected]

2 DES cbc mode з RSA-MD5 HOST/[email protected]

2 ArcFour with HMAC/md5 HOST/[email protected]

Даліредагую конфігураційний файлSamba 3.6.3 :

$ sudo nano /etc/samba/smb.conf

kerberos method = secrets and keytab

Зберігаємо внесені зміни

Host Name (або IP-адреса) = srv-serv

, де srv-serv – це запис вже через оснастку DNS заведена на домен контролера вручну зіставленням IP та DNS.

Use system username (admin)

, де admin – ім'я поточного користувача Windows

Connection – SSH – Auth – GSSAPI (включаємо опції)

Привід GSSAPI authentication (SSH-2 тільки)

Allow GSSAPI credential delegation

Після цього знову переходимо вSession і зберігаємо налаштування даного підключення:

Saved Sessions – вказуємо на ім'я сервера до якого підключаємося та натискаємо Save

sudo

Пробую здійснити підключення кнопкою «Open », на запит про прийняттяSSH токена погоджуюсь натиснувши «ТА »

ubuntu

Підключення має пройти прозоро без запиту введення пароля в контексті користувача, з якого в даний момент запущеноSSH — клієнтPuTTY, у мене пройшло:

sudo

Якщо ж Ви все ж таки виводиться пропозиція ввести пароль:

Для розслідування цього інциденту потрібно включити докладне логування в файлі конфігураціїsshd_config :

$ sudo nano /etc/ssh/sshd_config

Зберігаю внесені зміни.

На робочій станції знову ініціалізуємо підключення через клієнтPutty і переключившись на консоль роботи з серверомUbuntu дивимося розширені логи підключення з метою позначити проблеми та вирішити :

$ sudo tail -f /var/log/auth.log grep w7x86.polygon.local

Sep 14 16:03:26 srv-serv sshd[3369]: User admin from w7x86.polygon.localListed in AllowGroups

Як видно у мене в конфізі/ etc/ssh/sshd_config група задана з використання великого написання, а потрібно було вказати просто без цього, сам же собі вище в замітці навів приклад виведення командиgroups - ось і моя неуважність., Виправляю:

$ sudo nano /etc/ssh/sshd_config

AllowGroups adm linuxadmin

Зберігаю зміни та перезапускаю демонSSH :

$ sudo service ssh restart

ssh start/running, process 3381

Перевірю знову підключення через клієнтPutty і цього разу проблем немає. Так перед тим як панікувати, раджу почитати логи, а вже потім якщо все ж таки не вдається вирішити проблеми на основі повідомлень логів вже Google.

Пробую повторити під облікомalektest і отримую помилку, ну не зовсім щоб помилку, а запит введення пароля для аутентифікації:

За допомогою username «alektest».

вводжу пароль: Aa1234567

За допомогою username «alektest».

, а воно і правильно, адже він не перебуває ні в якій групі, крім "Domain Users ". Та й до того ж у логах фіксую:

$ sudo tail -f /var/log/auth.log grep alektest

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: userauth-request for user alektest service ssh-connection method none [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: User alektest from w7x86.polygon.local

Sep 14 17:46:32 srv-serv sshd[5455]: input_userauth_request: invalid user alektest [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: userauth-request for user alektest service ssh-connection метод gssapi-with-mic [preauth]

Sep 14 17:46:32 srv-serv sshd[5455]: debug1: PAM: initializing for "alektest"

Використовуйте проксі ((заблоковано розкомнаглядом, використовуйте vpn або proxy)) під час використання Telegram клієнта:

з'являтимуться частіше :)

Карта МКЛ: 4432-7300-2472-8059 Yandex-гроші: 41001520055047