- Сообщений: 3
- Спасибо получено: 0
Как настроить доступ на VDS под обычным пользователем
- dinos
-
Автор темы
- Не в сети
- Новый участник
-
Less
Больше
2 нед. 6 дн. назад - 2 нед. 6 дн. назад #1
от dinos
dinos создал тему: Как настроить доступ на VDS под обычным пользователем
Пример конфигурирования VDS (centos), сделал из него веб-сервер, на котором крутятся несколько сайтов. Захожу по ssh, используя сертификат (настроено), но под рутом. Опишу как сделал так, чтобы под этим сертификатом заходить под обычным юзером (директория cloud-user там уже есть), а требующие административных привилегий действия делались из под sudo.
т.е., cloud-user уже есть.
Меняем в /etc/ssh/sshd_config:
на
Если
показывает, в числе прочего,
, находим этот файл в /etc/ssh, его в большинстве случаев надо удалить без лишних вопросов, там всего одна эта запись, "permitrootlogin yes":
Пробуем зайти под рутом (приходит отлуп), пробуем зайти под cloud-user (все получилось).
Code:
cat /etc/passwd | awk -F: '$3 >= 1000 {print $1}'
nobody cloud-user
ls /home
cloud-user
т.е., cloud-user уже есть.
Code:
id cloud-user
ls -ld /home/cloud-user
mkdir -p /home/cloud-user/.ssh
chmod 700 /home/cloud-user/.ssh
chown cloud-user:cloud-user /home/cloud-user/.ssh
cp /root/.ssh/authorized_keys /home/cloud-user/.ssh/authorized_keys
chmod 600 /home/cloud-user/.ssh/authorized_keys
chown cloud-user:cloud-user /home/cloud-user/.ssh/authorized_keys
whoami
pwd
usermod -aG wheel cloud-user
Меняем в /etc/ssh/sshd_config:
Code:
# PermitRootLogin prohibit-password
на
Code:
PermitRootLogin no
Если
Code:
sudo sshd -T | grep permitrootlogin
показывает, в числе прочего,
Code:
permitrootlogin yes
, находим этот файл в /etc/ssh, его в большинстве случаев надо удалить без лишних вопросов, там всего одна эта запись, "permitrootlogin yes":
Code:
sudo grep -R "PermitRootLogin" /etc/ssh
sudo systemctl restart sshd
Пробуем зайти под рутом (приходит отлуп), пробуем зайти под cloud-user (все получилось).
Последнее редактирование: 2 нед. 6 дн. назад пользователем p.rishard. Причина: Исправлен синтаксис
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- p.rishard
-
- Не в сети
- Администратор
-
Less
Больше
- Сообщений: 58
- Спасибо получено: 2
2 нед. 6 дн. назад #2
от p.rishard
p.rishard ответил в теме Как настроить доступ на VDS под обычным пользователем
Молодец. Сам дошел или AI подсказал?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- dinos
-
Автор темы
- Не в сети
- Новый участник
-
Less
Больше
- Сообщений: 3
- Спасибо получено: 0
2 нед. 6 дн. назад #3
от dinos
dinos ответил в теме Как настроить доступ на VDS под обычным пользователем
Да сам практически. Сертификат то я сам устанавливал.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- evgenij
-
- Не в сети
- Завсегдатай
-
Less
Больше
- Сообщений: 240
- Спасибо получено: 39
2 нед. 4 дн. назад #4
от evgenij
Have a lot of fun!
evgenij ответил в теме Как настроить доступ на VDS под обычным пользователем
1. Поиск обычных пользователей в системе.
Команда выводит имена пользователей, под которыми потенциально можно заходить по SSH.
2. Проверка домашних директорий.
Показывает список домашних каталогов пользователей.
3. Проверка групп и идентификаторов пользователя.
Выводит UID, GID и все группы пользователя.
4. Проверка прав на домашний каталог.
Критично для SSH: если каталог принадлежит не пользователю или имеет слишком открытые права, SSH может отказать во входе.
5. Создание SSH-директории.
Создаёт каталог .ssh в домашней директории пользователя.
Права: владелец: чтение / запись / вход, все остальные: никакого доступа. Это обязательное требование SSH.
Делает пользователя cloud-user владельцем каталога. Без этого SSH не будет доверять ключам.
6. Копирование SSH-ключей.
Вариант 1 (перезапись файла):
Вариант 2 (добавление ключей):
7. Проверка содержимого ключей.
Показывает количество строк (ключей). Удобно для проверки: ключи реально добавились.
Показывает первый ключ.
8. Корректировка владельца и прав.
Назначает владельца файла.
Критично: SSH игнорирует файл, если владелец неправильный.
Права: владелец: чтение / запись, все остальные: нет доступа. Строгое требование OpenSSH.
chmod 700 /home/cloud-user/.ssh
Повторная фиксация прав (на случай, если что-то изменилось).
9. Проверка SELinux (если включён).
Показывает SELinux-контекст файла.
Если контекст неправильный (не ssh_home_t), SSH может не пускать, даже при правильных правах.
10. Финальная проверка прав.
Комплексная проверка.
11. Выдача sudo-доступа.
Добавляет пользователя cloud-user в группу wheel.
На RHEL / CentOS / Alma / Rocky: группа wheel обычно имеет право на sudo.
После этого пользователь может выполнять команды от root (через sudo), если это разрешено в /etc/sudoers.
Важно: изменение вступает в силу только после нового входа в систему.
Code:
cat /etc/passwd | awk -F: '$3 >= 1000 {print $1}'
Команда выводит имена пользователей, под которыми потенциально можно заходить по SSH.
2. Проверка домашних директорий.
Code:
ls /home
Показывает список домашних каталогов пользователей.
3. Проверка групп и идентификаторов пользователя.
Code:
groups cloud-user
Выводит UID, GID и все группы пользователя.
4. Проверка прав на домашний каталог.
Code:
ls -ld /home/cloud-user
Критично для SSH: если каталог принадлежит не пользователю или имеет слишком открытые права, SSH может отказать во входе.
5. Создание SSH-директории.
Code:
mkdir -p /home/cloud-user/.ssh
Создаёт каталог .ssh в домашней директории пользователя.
Code:
chmod 700 /home/cloud-user/.ssh
Права: владелец: чтение / запись / вход, все остальные: никакого доступа. Это обязательное требование SSH.
Code:
chown cloud-user:cloud-user /home/cloud-user/.ssh
Делает пользователя cloud-user владельцем каталога. Без этого SSH не будет доверять ключам.
6. Копирование SSH-ключей.
Вариант 1 (перезапись файла):
Code:
cp /root/.ssh/authorized_keys /home/cloud-user/.ssh/authorized_keys
Вариант 2 (добавление ключей):
Code:
cat /root/.ssh/authorized_keys >> /home/cloud-user/.ssh/authorized_keys
7. Проверка содержимого ключей.
Code:
wc -l /home/cloud-user/.ssh/authorized_keys
Показывает количество строк (ключей). Удобно для проверки: ключи реально добавились.
Code:
head -n 1 /home/cloud-user/.ssh/authorized_keys
Показывает первый ключ.
8. Корректировка владельца и прав.
Code:
chown cloud-user:cloud-user /home/cloud-user/.ssh/authorized_keys
Назначает владельца файла.
Критично: SSH игнорирует файл, если владелец неправильный.
Code:
chmod 600 /home/cloud-user/.ssh/authorized_keys
Права: владелец: чтение / запись, все остальные: нет доступа. Строгое требование OpenSSH.
chmod 700 /home/cloud-user/.ssh
Повторная фиксация прав (на случай, если что-то изменилось).
9. Проверка SELinux (если включён).
Code:
ls -Z /home/cloud-user/.ssh/authorized_keys
Показывает SELinux-контекст файла.
Если контекст неправильный (не ssh_home_t), SSH может не пускать, даже при правильных правах.
10. Финальная проверка прав.
Code:
ls -ld /home/cloud-user
ls -ld /home/cloud-user/.ssh
ls -l /home/cloud-user/.ssh/authorized_keys
Комплексная проверка.
11. Выдача sudo-доступа.
Code:
usermod -aG wheel cloud-user
Добавляет пользователя cloud-user в группу wheel.
На RHEL / CentOS / Alma / Rocky: группа wheel обычно имеет право на sudo.
После этого пользователь может выполнять команды от root (через sudo), если это разрешено в /etc/sudoers.
Важно: изменение вступает в силу только после нового входа в систему.
Have a lot of fun!
Спасибо сказали: serge
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
-
- Не в сети
- Модератор
-
Less
Больше
- Сообщений: 1011
- Спасибо получено: 150
2 нед. 4 дн. назад #5
от serge
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Как настроить доступ на VDS под обычным пользователем
Уже как бы и неважно.Молодец. Сам дошел или AI подсказал?
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.