← Все статьи

Как безопасно передать доступ к серверу специалисту

Разбираем, как дать специалисту временный доступ к серверу, чтобы он мог проверить, настроить или исправить проблему — без передачи основного пароля и лишних рисков.

Как безопасно передать временный доступ к серверу специалисту



Если сайт, почта или приложение перестали работать, специалисту может понадобиться доступ к серверу. Но передавать основной пароль от root или личного аккаунта небезопасно.

Правильный вариант — создать отдельного временного пользователя, дать ему доступ только на время работ, при необходимости выдать sudo-права, а после завершения — отключить или удалить аккаунт.

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

Если вы не уверены в команде — лучше сначала уточните у специалиста. Ошибка в настройках SSH, sudo или firewall может привести к потере доступа к серверу.


Что понадобится заранее



Перед началом подготовьте:

1. IP-адрес сервера.
2. Доступ к серверу под root или пользователем с sudo.
3. Публичный SSH-ключ специалиста.
4. Понимание задачи: что именно нужно проверить или настроить.

Публичный SSH-ключ специалиста обычно выглядит примерно так:


ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... user@example


или так:


ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... user@example


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

Шаг 1. Подключитесь к своему серверу



Откройте терминал и подключитесь к серверу под своим текущим пользователем.

Пример:


ssh root@IP_СЕРВЕРА


или:


ssh user@IP_СЕРВЕРА


Если SSH работает на нестандартном порту, команда будет такой:


ssh -p 2222 user@IP_СЕРВЕРА


Что ожидать:


user@server:~$


или:


root@server:~#


Если вы видите такую строку — вы на сервере и можете выполнять команды.

Шаг 2. Создайте временного пользователя



Создадим отдельного пользователя, например support.

Если вы зашли под обычным пользователем с sudo, выполните:


sudo adduser support


Если вы зашли под root, можно выполнить без sudo:


adduser support


Система попросит ввести пароль для нового пользователя:


New password:
Retype new password:


Введите временный пароль. При вводе пароль может не отображаться — это нормально.

Дальше система может спросить имя, телефон и другие поля. Их можно оставить пустыми, просто нажимая Enter.

В конце появится вопрос:


Is the information correct? [Y/n]


Введите:


Y


Что ожидать после успешного создания:


Adding user `support' ...
Adding new group `support' ...
Creating home directory `/home/support' ...


Пользователь support создан.

Шаг 3. Добавьте SSH-ключ специалиста



Теперь нужно разрешить специалисту подключаться по SSH-ключу.

Создайте папку .ssh для нового пользователя:


sudo mkdir -p /home/support/.ssh


Откройте файл authorized_keys:


sudo nano /home/support/.ssh/authorized_keys


Вставьте туда публичный SSH-ключ специалиста одной строкой.

Пример:


ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... specialist@example


Сохраните файл:

Ctrl + O — сохранить.
Enter — подтвердить имя файла.
Ctrl + X — выйти из редактора.

Теперь выставьте правильные права:


sudo chown -R support:support /home/support/.ssh
sudo chmod 700 /home/support/.ssh
sudo chmod 600 /home/support/.ssh/authorized_keys


Что ожидать:

Если команды ничего не вывели — это нормально. В Linux многие команды при успешном выполнении не показывают сообщений.

Проверить файл можно так:


sudo ls -la /home/support/.ssh


Пример нормального результата:


drwx------ 2 support support 4096 Jun 12 12:00 .
-rw------- 1 support support  120 Jun 12 12:00 authorized_keys


Шаг 4. Проверьте, нужен ли специалисту sudo



Для простой проверки логов или файлов sudo может быть не нужен. Но для настройки сервера sudo часто требуется.

Sudo нужен, если специалист должен:

перезапускать Nginx или Apache;
настраивать PHP-FPM;
работать с MySQL как администратор;
менять конфиги в /etc;
устанавливать пакеты;
настраивать SSL-сертификаты;
менять firewall;
исправлять системные ошибки.

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

Шаг 5. Если sudo нужен — добавьте пользователя в группу sudo



Чтобы специалист мог выполнять административные команды, добавьте пользователя support в группу sudo:


sudo usermod -aG sudo support


Что ожидать:

Обычно команда ничего не выводит. Это нормально.

Проверить можно так:


groups support


Нормальный результат должен содержать sudo:


support : support sudo


Теперь пользователь support сможет выполнять команды через sudo.

Например:


sudo systemctl status nginx


Шаг 6. Если sudo просит пароль



Обычно sudo попросит пароль пользователя support:


[sudo] password for support:


Это не root-пароль. Это пароль временного пользователя support, который вы создали на шаге 2.

Если вы выдаёте специалисту sudo-доступ, передайте ему временный пароль от support безопасным способом. Например, не в общем чате, а отдельным сообщением или через защищённый менеджер паролей.

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

Вариант: sudo без пароля, если так удобнее



Иногда специалисту удобнее работать без постоянного ввода пароля для sudo. Это можно сделать, но только если вы доверяете специалисту и понимаете риск.

Создайте отдельное sudoers-правило:


sudo visudo -f /etc/sudoers.d/support-temp


Вставьте строку:


support ALL=(ALL:ALL) NOPASSWD: ALL


Сохраните файл:

Ctrl + O
Enter
Ctrl + X

Проверьте права файла:


sudo chmod 440 /etc/sudoers.d/support-temp


Что это значит:

Пользователь support сможет выполнять sudo-команды без ввода пароля.

Например:


sudo whoami


Ожидаемый результат:


root


Такой вариант удобен для работ, но его обязательно нужно удалить после завершения настройки.


Шаг 7. Проверьте SSH-сервис и порт



Проверьте, работает ли SSH:


sudo systemctl status ssh


Ожидаемый результат:


Active: active (running)


Если команда не сработала, попробуйте:


sudo systemctl status sshd


Чтобы узнать IP сервера, можно выполнить:


hostname -I


Пример результата:


185.91.179.71


Чтобы посмотреть, на каком порту работает SSH:


sudo grep -i "^Port" /etc/ssh/sshd_config


Если ничего не вывело, чаще всего используется стандартный порт:


22


Шаг 8. Что отправить специалисту



После создания доступа отправьте специалисту такие данные:


IP сервера: 185.91.179.71
SSH-порт: 22
Пользователь: support
Доступ: по SSH-ключу
Sudo: да / нет
Задача: проверить Nginx, SSL, PHP, базу данных и ошибку сайта


Если вы создали временный пароль для sudo, отправьте его отдельно:


Временный пароль пользователя support: ********


Не отправляйте:

root-пароль;
пароль от личного кабинета регистратора домена;
пароль от основной почты;
доступы к банкам, платёжкам и личным аккаунтам, если это не нужно для задачи.

Шаг 9. Как специалист будет подключаться



Специалист подключится примерно такой командой:


ssh support@185.91.179.71


Если SSH-порт нестандартный:


ssh -p 2222 support@185.91.179.71


Если всё настроено правильно, специалист попадёт на сервер и увидит примерно такую строку:


support@server:~$


Если ему выдан sudo, он сможет проверить права:


sudo whoami


Ожидаемый ответ:


root


Это означает, что административные права работают.

Шаг 10. Что специалист обычно проверяет



После входа специалист может проверить состояние основных сервисов.

Например:


sudo systemctl status nginx
sudo systemctl status php8.3-fpm
sudo systemctl status mysql
df -h
free -h


Что можно увидеть:


Active: active (running)


Это означает, что сервис работает.

Если видно:


Active: failed


или:


No space left on device


значит найдена возможная причина проблемы.

Логи Nginx обычно смотрят так:


sudo tail -n 100 /var/log/nginx/error.log


Логи помогают понять, почему сайт отдаёт ошибку 500, не видит PHP, не подключается к базе или не может открыть нужный файл.

Шаг 11. Как контролировать, кто подключался



Посмотреть активных пользователей можно командой:


who


Пример результата:


support pts/0 2026-06-12 12:30


Посмотреть последние входы:


last -a | head


Пример результата:


support pts/0 Fri Jun 12 12:30 still logged in 185.91.179.10
root    pts/1 Fri Jun 12 10:00 - 10:20 185.91.179.20


Это помогает понять, был ли вход на сервер и с какого IP.

Шаг 12. После работ заберите sudo-права



Если вы хотите оставить пользователя support, но убрать административные права, выполните:


sudo deluser support sudo


или:


sudo gpasswd -d support sudo


Что ожидать:


Removing user `support' from group `sudo' ...


Проверьте:


groups support


Если sudo больше нет в списке, административные права убраны.

Шаг 13. Если включали sudo без пароля — обязательно отключите



Если вы создавали файл:


/etc/sudoers.d/support-temp


удалите его:


sudo rm /etc/sudoers.d/support-temp


Проверьте sudoers:


sudo visudo -c


Ожидаемый результат:


/etc/sudoers: parsed OK
/etc/sudoers.d/support-temp: parsed OK


Если файл уже удалён, строки про support-temp может не быть. Главное, чтобы было:


parsed OK


Шаг 14. Полностью удалите временного пользователя



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


sudo userdel -r support


Что ожидать:

Обычно команда ничего не выводит. Это нормально.

Проверить удаление можно так:


id support


Ожидаемый результат:


id: ‘support’: no such user


Это значит, что временный пользователь удалён.

Шаг 15. Если не хотите удалять пользователя, удалите SSH-ключ



Можно оставить аккаунт, но удалить ключ доступа:


sudo rm /home/support/.ssh/authorized_keys


После этого подключиться по старому SSH-ключу уже не получится.

Но для временного доступа безопаснее полностью удалить пользователя.

Короткая версия для клиента



Если специалист попросил доступ к серверу, безопасная схема такая:

1. Создать отдельного пользователя support.
2. Добавить SSH-ключ специалиста в authorized_keys.
3. Если нужно администрирование — временно добавить support в sudo.
4. Передать IP, порт, логин и задачу.
5. Не передавать root-пароль.
6. После работ удалить пользователя support.

Готовый текст, который можно отправить специалисту




Здравствуйте.

Создал временный доступ к серверу:

IP: 185.91.179.71
Порт SSH: 22
Пользователь: support
Доступ: по SSH-ключу
Sudo-права: да

Задача:
Проверить сайт, Nginx, SSL, PHP, базу данных и найти причину ошибки.

После завершения работ прошу написать коротко:

1. В чём была причина проблемы.
2. Какие файлы и настройки менялись.
3. Какие сервисы перезапускались.
4. Что рекомендуется сделать дополнительно.
   


Когда лучше не делать самому



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

В DevShtab мы можем подсказать, какой доступ нужен именно для вашей задачи, безопасно подключиться, проверить сервер, настроить сайт, почту, SSL, Nginx, PHP, базу данных и после работ помочь отключить временный доступ.

Главная идея простая: специалисту не нужен ваш root-пароль. Ему нужен временный доступ, понятная задача и права только на время работы.