Linux отключить вход по ключу

Как настроить аутентификацию по ключу SSH в Linux

Как сделать ваши соединения Secure Shell еще более безопасными

Secure Shell является наиболее широко используемым средством входа на удаленный сервер Linux (или компьютер). Используя этот инструмент, вы получаете доступ к командной строке на удаленном компьютере через безопасный туннель. Из коробки вам будет предложено ввести пароль удаленного пользователя. Хотя это все еще более безопасно, чем использование более старых методов (таких как telnet), его можно сделать еще более безопасным с помощью SSH Key Authentication.

Что такое аутентификация по ключу?

Понимание аутентификации ключей на самом деле довольно просто. Представьте, что у вас есть замок, и единственный способ открыть его – использовать определенный ключ, который, как вам известно, принадлежит вам. Как замок узнает, что ключ принадлежит вам? Потому что ключ содержит уникальную для вас подпись. Внутри замка есть соответствующая подпись, которую ключ использует для сравнения. Если подписи совпадают, они откроются. Если ключ подходит, но подписи не совпадают, замок не открывается.

Это основа для аутентификации по ключу SSH. В реальной жизни это работает так, что вы создаете пару ключей (которая содержит закрытый и открытый ключи) и копируете открытый ключ на сервер, на который хотите войти. Если вы попытаетесь войти с аутентификацией по ключу, а у сервера нет открытого ключа, соответствующего вашему личному ключу, он не разрешит вам доступ.

Давайте заставим это работать.

Генерация пары ключей SSH

Первое, что нужно сделать, это создать пару ключей SSH. Для этого выполните следующие действия:

Откройте окно терминала на рабочем столе.

Присвойте ключу имя и местоположение (используйте настройки по умолчанию, используя Enter/Return на клавиатуре).

Введите и подтвердите ключевую фразу для ключа (убедитесь, что она является надежной и уникальной)

Теперь у вас есть пара ключей SSH. Эти два файла будут найдены в

/.ssh и будут называться:

  • id_rsa – закрытый ключ
  • id_rsa.pub – открытый ключ.

Скопируйте ваш открытый ключ на удаленный компьютер

Затем вы должны скопировать файл открытого ключа на удаленный компьютер, на который хотите войти. Это можно сделать с помощью команды:

Где USER – это имя пользователя на удаленном компьютере, а REMOTE_IP – это IP-адрес удаленного компьютера.

Если вы впервые зашли в безопасное место на удаленном компьютере, вам будет предложено ввести да , чтобы продолжить подключение, в противном случае вам будет предложено ввести пароль пользователя на удаленном компьютере. машина. После успешного ввода удаленного пароля ключ будет скопирован, и вы будете готовы проверить соединение.

Тестирование соединения

Проверьте соединение, введя команду:

Где USER – это имя пользователя на удаленном компьютере, а REMOTE_IP – это IP-адрес удаленного компьютера. Вместо запроса пароля пользователя вам будет предложено ввести ключевую фразу пары ключей SSH. После того, как вы ввели правильную ключевую фразу, вам будет разрешен доступ к удаленному компьютеру. Поздравляем, SSH Key Authentication запущена и работает.

Читайте также:  Ноутбук ошибка windows не удалось подключится

Отключение аутентификации по паролю

Вы можете сделать этот шаг дальше, отключив аутентификацию по паролю. С этой конфигурацией единственный способ получить доступ к удаленному компьютеру – с компьютера, содержащего закрытый ключ из соответствующей пары. Другими словами, нет пары ключей, нет доступа.

Чтобы отключить аутентификацию по паролю, войдите на удаленный компьютер и введите команду:

В этом файле найдите строку:

Измените эту строку на:

Сохраните и закройте файл. Перезапустите SSH с помощью команды:

Теперь, если вы попытаетесь войти на эту удаленную машину с любого рабочего стола (или сервера), который не содержит закрытый ключ, доступ будет запрещен.

Поздравляем, вы успешно сделали вход в удаленную систему Linux более безопасным с помощью SSH.

Источник

SSH Без Пароля, или Как Настроить SSH-доступ по Ключу в Linux

SSH, или Secure Shell — это сетевой протокол с открытым исходным кодом, который можно использовать для входа на серверы и удалённого выполнения команд, что отлично подходит для пользователей VPS.

Есть два способа включить SSH:

  • Вход на основе пароля
  • Аутентификация на основе открытого ключа

Аутентификация на основе открытого ключа также известна как вход в SSH без пароля, или беcпарольный доступ по SSH.

Преимущества Входа в SSH Без Пароля

Защищённое паролем подключение пользователи зачастую находят неудобным. Пароли сложно запоминать, к тому же, если вы работаете в среде, где вам часто приходится вводить пароль, вы просто тратите на это лишнее время.

Здесь можно выделить несколько преимуществ входа в SSH без пароля:

  • Простой и не интерактивный вход в систему. Пользователям не нужно вводить пароль для каждого нового сеанса
  • Более безопасный по сравнению с паролями, криптографическая защита (открытый/закрытый ключ шифрования)
  • Более надёжный
  • Лучшее управление аутентификацией и авторизацией
  • Подходит, как для маленькой, так и для большой инфраструктуры
  • Легко настроить и поддерживать

Чтобы начать использовать SSH без пароля, вам нужно сгенерировать открытый SSH-ключ. В этом руководстве мы сосредоточимся на SSH версии 2, последнем и более безопасном протоколе.

Подключитесь к вашему VPS-серверу по SSH и мы начнём!

Во-первых, нам нужно проверить, существует ли SSH-ключ для клиентского компьютера. Это предотвратит перезапись текущей конфигурации. Чтобы узнать, используйте следующую команду:

Если ключ уже существует, вы можете а). пропустить следующий шаг — генерацию SSH-ключа; б). отменить текущую настройку; в). создать резервную копию существующего ключа. Если ключ не существует, вы увидите следующий вывод:

Далее мы можем приступить непосредственно к генерации SSH-ключа.

SSH-доступ по Ключу в Ubuntu и CentOS:

Чтобы сгенерировать открытый и закрытый SSH-ключ в Ubuntu или CentOS, используйте команду:

Параметр -t означает тип, а RSA — протокол, используемый для генерации ключей. RSA является типом по умолчанию, поэтому вы также можете использовать упрощённую версию команды — ssh-keygen.

Длина ключа по умолчанию — 2048 бит. Однако, если вы хотите усилить защиту, измените значение на 4096 бит. В этом случае команда будет выглядеть так:

Это интерактивный процесс генерации ключей, и вас попросят выполнить несколько действий, таких как:

  • Enter file in which to save the key (/home/.ssh.id_rsa), или «Ввести файл для сохранения ключа (/home/.ssh.id_rsa)»
  • Enter passphrase (empty for no passphrase), или «Ввести кодовую фразу (оставьте пустым для отключения кодовой фразы)»

Если вы хотите, чтобы были заданы значения по умолчанию, просто нажмите Enter в ответ на каждый из этих запросов. Кодовая фраза используется для шифрования закрытого ключа; однако она не является обязательной и может быть пропущена. Закрытый ключ будет сохранён в папке по умолчанию — .ssh/id_rsa.

Открытый ключ будет сохранён в файле .ssh/id_rsa.pub. На этом генерация ключа будет завершена. Вы можете проверить файлы с помощью любого редактора.

Читайте также:  Темная тема для окон windows 10

Копирование Открытого Ключа для Включения Беспарольного SSH

Скопировать открытый ключ на машину предназначения можно тремя способами:

  • С помощью команды ssh-copy-id
  • С помощью SSH
  • Вручную

Первый вариант является наиболее оптимальным и быстрым. Команда ssh-copy-id по умолчанию включена в большинство дистрибутивов Linux. Однако, если вы столкнулись с проблемами при использовании ssh-copy-id или не имеете доступа к этой команде, вы можете попробовать следующие опции.

Метод 1: С Помощью Команды ssh-copy-id

Основной синтаксис этой команды:

На этом этапе вам нужно будет ввести пароль удалённого компьютера. Если аутентификация пройдёт успешно, сгенерированный открытый ключ SSH будет добавлен в файл author_keys удалённого компьютера. После добавления записи соединение закроется автоматически.

Метод 2: Копирование Закрытого Ключа с Помощью SSH

При этом методе, мы копируем закрытый ключ, используя SSH. Этот вариант сработает только в том случае, если у вас есть SSH-доступ к серверу на основе пароля. Команда ниже сделает всю работу. Вам нужно только ввести имя и IP-адрес удалённого пользователя.

Запись будет добавлена в файл author_keys удалённой машины.

Метод 3: Копирование Открытого Ключа Вручную

Третий метод немного сложнее, так как вам придётся всё делать вручную. Однако, вариант вполне рабочий и вы можете использовать его в отдельных случаях, когда другие методы не работаю. Вам нужно будет вручную добавить содержимое файла id_rsa.pub в файл

/.ssh/authorized_keys удалённого сервера.

Вы можете посмотреть содержимое файла id_rsa.pub с помощью редактора vi или команды cat:

Команда выведет ключ, он начинается с ssh-rsa. Скопируйте эго! Затем на удалённом сервере войдите в систему и создайте файл .ssh, если он не существует.

Также само вы можете создать файл author_keys. Добавьте скопированный открытый SSH-ключ в пустой файл, как показано ниже:

SSH_public_key — это открытый ключ, который вы скопировали с исходного компьютера. Он должен начинаться с ssh-rsa.

После того как ключ будет скопирован, вы сможете настроить необходимые разрешения для каталога .ssh удалённых серверов с помощью команды chmod.

Проверка Входа в SSH Без Пароля

К этому моменту SSH-доступ по ключу должен быть успешно активирован и настроен. Чтобы протестировать эту функцию, можно попробовать подключится к удалённому серверу через исходный сервер. Синтаксис команды будет выглядеть так:

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

Как Отключить SSH-доступ по Ключу

Если вы решите, что беспарольный SSH вам не подходит, вы можете отключить эту функцию, выполнив следующие действия. Для этого откройте файл конфигурации SSH — /etc/ssh/ssh_config. Подойдёт любой текстовый редактор, мы используем nano. Здесь вы найдёте запись с PasswordAuthentication. Измените строки, как показано ниже:

Чтобы изменения вступили в силу, сохраните файл и перезапустите SSH. Вот как это сделать в Ubuntu 18.04:

Команда для CentOS 7:

Итоги

На этом мы завершаем наше руководство о том, как настроить вход в SSH без пароля, а также отключить SSH-доступ по ключу, если вы решите, что вам не подходит эта функция. Надеемся, что эта инструкция была полезной! Успехов, берегите себя и свои данные!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

вход только по ключам ssh

Подскажите пожалуйста как можно заблокировать вход по паролю
и оставить вход только по ключам ssh. Это удалённый вход.
А с локальной консоли только по pam_usb

Я ответ нашёл только не знаю правильно или нет.

По команде usermod -L имя пользователя
можно заблокировать пользователя.
Насколько я понял, она всего навсего ставит в файле /etc/shadow
перед хешем пароля восклицательный знак и всё. Но тогда по ключам
ssh не войти, а вот если поставить перед хешем пароля звёздочку, то тогда по ключам ssh войти можно. На сколько я знаю не существует такого хеша пароля в котором встречалась бы звёздочка. ТАК ЛИ ЭТО.
Если так то тогда по паролю войти будет не возможно а по ключам ssh войти можно, а также при соответствующих настройках и с локальной
консоли по pam_usb
Вопрос мой, правильно ли я рассуждаю?

Читайте также:  Очистка кеш памяти компьютера windows 10

просто выстави «PasswordAuthentication no» в sshd_config

«Проверить» ssh-сервер можно примерно таким образом:

просто выстави «PasswordAuthentication no» в sshd_config

просто выстави «PasswordAuthentication no» в sshd_config

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

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

Может тогда вообще выкосить модуль pam_unix.so из /etc/pam.d/common-auth?

Может тогда вообще выкосить модуль pam_unix.so из /etc/pam.d/common-auth?

а как насчёт звёздочки в файле /etc/shadow. если это верно так ведь проще всего

а как насчёт звёздочки в файле /etc/shadow. если это верно так ведь проще всего

Звёздочка в /etc/shadow — это для отдельных пользователей, а настройка PAM — это глобально и надёжно =). Хотя по идее да, результат один.

mironov_ivan я и имел ввиду для одного пользователя
спасибо за подтверждение моих догадок

спасибо за подтверждение моих догадок

После того, как всё настроишь — лучше перепроверь. Я могу ошибаться.

Источник

Как отключить связку ключей Ubuntu

В Ubuntu существует специальное защищенное хранилище, куда приложения могут сохранять конфиденциальные данные, например, пароли, личные данные и другую информацию. Это хранилище по умолчанию зашифровано и открывается с помощью пароля пользователя при входе в систему.

Однако если вы включили автоматический вход, то либо после загрузки компьютера, либо при запуске приложения, которому необходим доступ к хранилищу, система попросит ввести пароль чтобы разблокировать связку ключей. Я думаю вы не для того включали автоматический вход в систему. чтобы каждый раз, при входе вводить пароль. Но есть решение. В этой статье мы рассмотрим как отключить связку ключей Ubuntu.

Как отключить связку ключей Ubuntu

Первое и самое простое решение — отключить автоматический вход в систему. Тогда связка ключей будет разблокироваться тем паролем, который вы будете вводить для авторизации пользователя. Для этого откройте утилиту Параметры, затем перейдите в раздел Сведения о системе, а затем — Пользователи:

Здесь нажмите кнопку Разблокировать и введите пароль вашего пользователя.

Затем переключите выключатель Автоматический вход в положение выключено. Теперь связка ключей Ubuntu будет разблокироваться при входе в систему.

Но я думаю, это не то решение, которое вы искали. Также можно задать пустой пароль чтобы разблокировать связку ключей Ubuntu. Тогда она будет всегда разблокирована, это снижает безопасность хранимых там данных, но делает использование системы более удобным.

Откройте главное меню Ubuntu и наберите в поиске Seahorse. В списке приложений выберите Пароли и ключи:

Кликните правой кнопкой по пункту связка ключей по умолчанию в левой части окна, и в открывшемся контекстном меню выберите Изменить пароль:

Введите текущий пароль, а когда программа спросит новый, оставьте его пустым:

Затем подтвердите, что вы хотите создать пустой пароль:

Все, теперь запрос пароля для разблокировки связки ключей больше вас не побеспокоит.

Выводы

В этой статье мы разобрали как отключить связку ключей Ubuntu, как видите, это очень просто.

Источник

Оцените статью