• Главная
  • Документация

АГИС Администрирование

Главная/Документация/АГИС Администрирование
Развернуть все Свернуть все
  • О разделе АГИС Администрирование
  •  Установка АГИС
    • Инсталяция Ubuntu
    • Установка LVM
    • Установка Docker
    • Установка модулей АГИС
    • Резервные копии
  • Запуск, перезапуск и останов АГИС
  •  Администрирование
    •   Ubuntu
      •   LVM&Snapshot
        • Snapshot
        • agis_backup_lvm_xfs
        • Ошибки
      •   Nginx, ssl, letsencrypt
        • Сертификат ssl
        • Letsencrypt
      •   NAS
        • Synology
        • Qnap
      •   SSH
        • SSH доступ без пароля по ключу
        • Клиент ssh
      •   Разные команды
        • Основные команды Linux
        • Расширенные команды
        • Работа с сервером
      • FTP server
      • VPN server
    •   Базы данных
      • Запуск базы данных АГИС
      •   Mongo
        • mongodump-mongorestore
        • Основы
        • Test mongo db
        • Запросы mongodb
        • Запуск mongodb
        • Studio 3T for Mongo DB
        • Тестовый контейнер mongodb
        • mongodb формат даты
        • Replica set
      •   PostgreSQL
        • Test postgis
        • Dump&Restore PostgreSQL
        • Установка и запуск
        • PostgreSQL разное
      •   Elastic search
        • Команды elasticsearch
        • Tools to backup and restore ElasticSearch indices
      • Troubleshooting базы данных АГИС
      • MySql
    •   Docker
      • Команды Docker
      • Команды Docker (admin)
      • docker ps
      • .env
      • docker images save load
    •   Troubleshhoting
      • Mobaxterm
      • Проблема с дисками после raid
    •   Pfsense
      • Установка
      • Openvpn client
    •   Разное
      • Сколько байт(бит) в килобайте, мегабайте, гигабайте
      • Save bookmarks Studio 3T Mobaxterm
      • Acronis true image
      • Кодировки
  •  АГИС ГИС сервер
    • Запуск и остановка Tile сервера
    • Экспорт шейпа из АГИС ГИС
    • Импорт шейпа в АГИС ГИС
    • Backup&restore postgis(postgres)
    • Запуск pgAdmin4
    • Troubleshooting postgis
  •  АГИС Администрирование
    •   Пользователи
      • Добавление нового пользователя
    •   Роли
      • Добавление новой роли
    •   Перевод
      • Добавления перевода
    • АДС (Автоматизированная дисп служба)

SSH

70 просмотров 0

Аутентификация на основе ключей

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

ssh-keygen

К примеру, если пользователь локальной машины называется localuser, команда вернёт такой результат:

ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Чтобы принять предложенное имя файла и путь, нажмите return.

После этого будет запрошен пароль (или парольная фраза) для защиты ключей. Его устанавливать необязательно.

Примечание: Если пропустить парольную фразу, вы будете иметь возможность использовать секретный ключ для аутентификации без ввода пароля. Если же вы установите пароль для ключей, то при входе вам нужно будет вводить и ключ, и этот пароль. Конечно, парольная фраза обеспечивает более надёжную защиту. Однако, принимая решение об использовании пароля для ключей, следует исходить из требований и целей сервера.

Команда создаст закрытый ключ (id_rsa) и открытый ключ (id_rsa.pub) в каталоге .ssh в домашнем каталоге пользователя localuser.

Важно! Закрытый ключ нельзя разглашать.

Копирование ключей
Сгенерировав SSH-ключи, скопируйте открытый ключ на новый сервер. Для этого существует два метода.

Метод 1: Сценарий ssh-copy-id

Если на локальной машине установлен сценарий ssh-copy-id, его можно использовать для установки открытого ключа для любого пользователя, чьи учётные данные вам известны.

Запустите сценарий ssh-copy-id, указав имя целевого пользователя и IP-адрес сервера.

ssh-copy-id 8host@SERVER_IP_ADDRESS

Укажите пароль пользователя, после чего открытый ключ будет добавлен в файл .ssh/authorized_keys удалённого пользователя.

Метод 2: Установка ключа вручную

Чтобы добавить ключ вручную, введите следующую команду в терминал локальной машины:

cat ~/.ssh/id_rsa.pub

Команда выведет на экран открытый ключ:

id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

Скопируйте ключ в буфер обмена.

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

Перейдите на сервер в сессию пользователя root и введите следующую команду, чтобы временно перейти в сессию нового пользователя (не забудьте указать правильное имя):

su – 8host

Это откроет домашний каталог пользователя 8host.

Создайте новый каталог .ssh и ограничьте доступ к нему:

mkdir ~/.ssh
chmod 700 ~/.ssh

Откройте файл authorized_keys в каталоге .ssh:

nano ~/.ssh/authorized_keys

Вставьте в него открытый ключ. Нажмите CTRL-x, y и Enter, чтобы закрыть и сохранить файл.

Заблокируйте доступ к файлу authorized_keys:

chmod 600 ~/.ssh/authorized_keys

Чтобы вернуться в сессию root, введите:

exit

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

Примечание: Больше информации о ключах – в руководстве «Как настроить SSH-ключи».

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

Теперь для аутентификации сервер использует SSH-ключи. Отключите аутентификацию на основе пароля. Это ограничит доступ к серверу, так как SSH-ключи станут единственным способом подключиться к нему.

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

В сессии пользователя root или 8host откройте настройки демона SSH.

sudo nano /etc/ssh/sshd_config

Найдите строку PasswordAuthentication, раскомментируйте её и измените значение на no.

PasswordAuthentication no

В этом файле есть ещё две настройки по умолчанию, важные для аутентификации на основе ключей. Если вы не изменяли их ранее, не изменяйте их:

PubkeyAuthentication yes
ChallengeResponseAuthentication no

Сохраните и закройте файл (Ctrl-X, Y, Enter).

Перезапустите SSH:

sudo systemctl reload sshd

Теперь аутентификация на основе пароля отключена. Получить доступ к серверу можно только при помощи SSH-ключей.

Тестирование настройки

Прежде чем прервать соединение с сервером, проверьте настройки.

Важно! Не отключайтесь от сервера, пока не убедитесь в том, что SSH-ключи работают.

На локальной машине откройте новый терминал и попробуйте подключиться к серверу.

ssh 8host@SERVER_IP_ADDRESS

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

Примечание: Если вы защитили ключи парольной фразой, сначала система запросит эту фразу, а затем уже выполнит аутентификацию при помощи ключей. Если парольной фразы нет, система сразу использует ключи.

После успешной аутентификации вы получите доступ к сессии пользователя 8host.

Чтобы запустить команду с правами root, начните её с sudo:

sudo command_to_run

Если проблема с постоянным разрывом SSH сессий присутствует только на одном определенном сервере, то тогда можно в его конфигурации sshd сделать небольшие изменения, чтобы решить эту проблему. Для этого открываем файл /etc/ssh/sshd_config и в самый низ конфигурации дописываем следующие настройки:

ClientAliveInterval 60
ClientAliveCountMax 5
ClientAliveInterval 60 – Данный параметр определяет как часто сервер, к которому вы подключены, будет отправлять на ваш компьтер (клиент) пакет, говорящий “я живой”. В нашем примере это будет происходить каждые 60 секунд.
ClientAliveCountMax 5 – Данный параметр определяет, сколько раз такой пакет “я живой” будет отправлен от сервера на ваш клиентский ПК, когда от вашего ПК не последовало ответа, прежде чем принудительно разорвать соединение. В нашем примере 5 раз.
С такими настройками сессия будет висеть 60 * 5 = 300 секунд, после чего автоматически оборвется (только в случае, когда клиент не отвечает 5 раз подряд).

После внесения изменений в конфиг, необходимо перезапустить службу sshd на сервере, сделать это можно следующей командой:

sudo service sshd restart

Вам может быть интересно
  • Сертификат ssl
  • Replica set
  • VPN server
  • MySql
  • Кодировки
  • АДС (Автоматизированная дисп служба)
  • Copyright 2020 AGIS. Все права защищены