За замовчуванням, SSH вже використовує захищений зв'язок даних між віддаленими машинами, але якщо ви хочете додати додатковий рівень безпеки до своїх з'єднань SSH, ви можете додати Google Authenticator (двофакторна автентифікація) модуль, що дозволяє ввести випадковий одноразовий пароль (TOTP) код підтвердження під час підключення до SSH серверів. Вам потрібно буде ввести код підтвердження зі свого смартфон або ПК при підключенні.
Google Authenticator -це модуль з відкритим кодом, що включає реалізації одноразових паролів (TOTP) маркер перевірки, розроблений Google. Він також підтримує кілька мобільних платформ PAM (модуль автентифікації, що підключається). Ці одноразові паролі генеруються за допомогою відкритих стандартів, створених КЛІТВАІніціатива відкритої автентифікації).
У цій статті я покажу вам, як налаштувати та налаштувати SSH для двофакторної автентифікації за червоний капелюх, CentOS, Fedora та Ubuntu, Linux Mint та Debian.
Відкрийте апарат, на якому потрібно налаштувати двофакторну автентифікацію, і встановіть наступне ПАМ бібліотеки разом із бібліотеками розробки, необхідними для ПАМ модуль для коректної роботи Автентифікатор Google модуль.
Увімкнено червоний капелюх, CentOS та Fedora системи встановлюють "пам-девель‘Пакет.
# yum install pam-devel make automake libtool gcc-c ++ wget
Увімкнено Ubuntu, Linux Mint та Debian встановлення систем "libpam0g-dev‘Пакет.
# apt-get install libpam0g-dev make automake libtool gcc-c ++ wget.
Тепер клонуйте та встановіть Автентифікатор Google модуль під Додому каталог (припустимо, що ви вже увійшли в домашній каталог домену корінь) за допомогою наступного команда git.
# git клон https://github.com/google/google-authenticator-libpam.git. # cd google-authentication-libpam/ # ./bootstrap.sh. # ./конфігурація. # зробити. # зробити встановлення. # google-автентифікатор.
Як тільки ви запустите "google-автентифікатор"Команда, вона запропонує вам серйозне запитання. Просто введіть "y” (так) як відповідь у більшості ситуацій. Якщо щось піде не так, ви можете ввести ще раз "google-автентифікатор'Команда скидання налаштувань.
Після цього питання ви отримаєтесекретний ключ"І"екстрені коди‘. Запишіть десь ці деталі, нам знадобиться "Секретний ключ"Пізніше до налаштування Google Authenticator додаток.
[[захищена електронною поштою] google-authentication-libpam]# google-authentication Ви хочете, щоб маркери автентифікації базувались на часі (y/n) y https://www.google.com/chart? chs = 200x200 & chld = M | 0 & cht = qr & chl = otpauth: // totp/[захищена електронною поштою]%3Fsecret%3DXEKITDTYCBA2TLPL. Ваш новий секретний ключ це: XEKITDTYCBA2TLPL Ваш код підтвердження це 461618. Ваш екстрені коди скретча є: 65083399 10733609 47588351 71111643 92017550.
Далі дотримуйтесь майстра налаштування та в більшості випадків введіть відповідь як “y” (так), як показано нижче.
Хочете, щоб я оновив ваш файл "/root/.google_authenticator" (да/н) y Ви хочете заборонити багаторазове використання однієї автентифікації. жетон? Це обмежує вас до одного входу приблизно кожні 30 років, але це збільшується. ваші шанси помітити або навіть запобігти нападам "людина посередині" (да/н) y За замовчуванням маркери діють протягом 30 секунд і для того, щоб компенсувати їх. можливий розрив часу між клієнтом і сервером, ми допускаємо додатковий. маркер до та після поточного часу. Якщо у вас проблеми з бідними. синхронізації часу, ви можете збільшити вікно за замовчуванням. розмір від 1: 30хв до приблизно 4хв. Ви хочете це зробити (да/н) y Якщо комп’ютер, на якому ви входите, не захищений від грубої сили. спроби входу, ви можете включити обмеження швидкості для модуля автентифікації. За замовчуванням це обмежує зловмисників не більше ніж до 3 спроб входу кожні 30 секунд. Увімкнути обмеження швидкості (р/п) y.
Відкрийте файл ПАМ файл конфігурації "/etc/pam.d/sshd"І додайте наступний рядок у верхню частину файлу.
потрібна автентифікація pam_google_authenticator.so
Далі відкрийте файл SSH файл конфігурації "/etc/ssh/sshd_config'І прокрутіть вниз, щоб знайти рядок, у якому написано.
ChallengeResponseAuthentication no
Змінити на "так“. Отже, воно стає таким.
ChallengeResponseAuthentication так
Нарешті, перезавантажте SSH сервіс для внесення нових змін.
# /etc/init.d/sshd перезапуск
Запуск Google Authenticator додаток у вашому смартфоні. Натисніть Меню і виберіть "Налаштуйте обліковий запис“. Якщо у вас немає цієї програми, її можна завантажити та встановити Google Authenticator додаток на вашому Android/iPhone/Blackberry пристроїв.
Натисніть “Введіть наданий ключ”.
Додайте свій обліковий запис "Назва"І введіть"секретний ключ‘Створено раніше.
Він генерує одноразовий пароль (код підтвердження), які будуть постійно змінюватися 30 секунд на телефоні.
Тепер спробуйте увійти через SSH, вам буде запропоновано Код Google Authenticator (Код підтвердження) і Пароль щоразу, коли ви намагаєтесь увійти через SSH. У вас є тільки 30 секунд щоб ввести цей код перевірки, якщо ви його пропустите, буде відновлено новий код підтвердження.
увійдіть як: tecmint. У доступі відмовлено. Використання клавіатурно-інтерактивної автентифікації. Код підтвердження: Використання клавіатурно-інтерактивної автентифікації. Пароль: Останній логін: Вт, 23 квітня 13:58:29 2013 від 172.16.25.125. [[захищена електронною поштою] ~]#
Якщо у вас немає смартфона, ви також можете скористатися Firefox викликається надбудова GAuth Authenticator зробити двофакторну автентифікацію.
Важливо: Двофакторна автентифікація працює з логіном SSH на основі пароля. Якщо ви використовуєте будь -який сеанс SSH із закритим/відкритим ключем, він проігнорує двофакторну автентифікацію та ввійде у вас безпосередньо.