Как включить и настроить удалённый доступ к серверу

Как включить и настроить удалённый доступ к серверу

В этой статье — всё о настройке удалённого доступа к серверу: от обзора протоколов подключения до советов по защите данных. Узнайте, как дать доступ к серверу по SSH, RDP и VNC и не потерять контроль над инфраструктурой.

Современные серверы редко находятся в соседней комнате — они расположены в облаках или удалённых дата-центрах (и, бывает, даже на другом континенте). Физически управлять ими невозможно, поэтому удалённый доступ становится единственным способом взаимодействовать с ними. Администраторам удалённый доступ к серверу нужен для настройки, обновления и мониторинга без необходимости находиться рядом с железом. Для разработчиков это возможность тестировать приложения в реальных условиях. А для бизнеса — сокращение затрат на инфраструктуру и её поддержку.

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

Аренда VPS/VDS от 219 руб/месяц

Преимущества VPS в AdminVPS:

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

От чего зависит выбор протокола подключения

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

  • SSH (Secure Shell) — для работы с командной строкой Linux/Unix, туннелирования трафика, передачи файлов (SCP/SFTP). SSH имеет минимальные требования к качеству интернет-соединения, высокую безопасность (шифрование AES), поддерживает ключи вместо паролей, но у него нет возможности работать с GUI.
  • RDP (Remote Desktop Protocol) — удалённый рабочий стол Windows. С RDP вы получите полный доступ к GUI Windows, интеграцию с буфером обмена и локальными дисками. Однако протокол требователен к пропускной способности сети и работает без сбоев только при быстрых соединениях.
  • VNC (Virtual Network Computing) — технология подойдёт для удалённого управления любыми операционными системами (Linux, macOS, Windows). Преимущества VNC — кроссплатформенность, GUI, возможность работы через веб-браузер. Но по умолчанию информация передаётся без шифрования, поэтому для её защиты потребуется настройка TLS.

Для удалённых серверов с Linux обычно используют SSH, для Windows — RDP. VNC — универсальный, но менее безопасный вариант; он выручает, когда нужен доступ к GUI Linux.

Как включить удалённый доступ к серверу

Доступ по SSH к серверу с Linux/Unix

  1. Установка OpenSSH-сервера

На большинстве дистрибутивов Linux пакет OpenSSH уже предустановлен. Если нет, то установите его из-под root:

Ubuntu/Debian:

apt update && apt install openssh-server  

CentOS/RHEL:

yum install openssh-server  

CentOS 8+, RHEL 8+:

dnf install -y openssh-server

Проверьте статус службы:

systemctl status sshd 

или 

systemctl status ssh

В CentOS/RHEL служба называется sshd, в Ubuntu и Debian просто ssh.

  1. Настройка файла конфигурации

Основной файл — /etc/ssh/sshd_config. Отредактируйте его с помощью nano или vim:

nano /etc/ssh/sshd_config  

Измените следующее:

  • Port 22 — смените на нестандартный порт, чтобы снизить количество автоматических атак. У нас в примерах будет Port 2222.
  • PermitRootLogin yes — измените на no, чтобы запретить вход под root.
  • PasswordAuthentication yes — установите no после настройки SSH-ключей.

Примените изменения:

systemctl restart sshd  
  1. Генерация SSH-ключей

Пароли уязвимы к брутфорсу, поэтому используйте асимметричное шифрование. В приложении-клиенте (на вашем ПК) выполните:

ssh-keygen -t ed25519 

или

ssh-keygen -t rsa -b 4096

Ed25519 безопаснее и быстрее RSA, однако если у вас старая версия OpenSSH, то используйте RSA.

При запросе введите путь к файлам, по умолчанию это:

~/.ssh/id_ed25519

Не устанавливайте парольную фразу, если не нужна двухфакторная аутентификация.

Скопируйте публичный ключ на сервер:

ssh-copy-id -p 2222 user@server_ip  

Проверьте соединение:

ssh -p 2222 user@server_ip  

Доступ к серверу с Windows по RDP

RDP есть во всех серверных версиях Windows, а также в Pro и Enterprise из коробки. Для домашних версий используйте альтернативные приложения (RDP Wrapper).

  1. Активируйте RDP на сервере

Перейдите по пути «Пуск» → «Параметры» → «Система» → «Удалённый рабочий стол».

Активируйте «Включить удалённый рабочий стол».

Скопируйте имя компьютера (или его IP-адрес).

  1. Настройка брандмауэра

Зайдите в «Панель управления» → «Брандмауэр Защитника Windows» → «Дополнительные параметры».

Дайте разрешение на входящие подключения для правил «Удалённое управление рабочим столом (TCP-In)».

  1. Как подключиться с клиентского ПК и защитить RDP-соединение

На Windows используйте штатную программу «Подключение к удалённому рабочему столу» (mstsc.exe). На Linux или Mac используйте Remmina или Vinagre.

Включите Network Level Authentication (NLA). Команда через PowerShell:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "UserAuthentication" -Value 1

Используйте VPN или измените порт (через реестр:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber).

После изменения порта обязательно перезапустите службу:

Restart-Service TermService

Доступ к серверу по VNC

Удалённый доступ по VNC подходит, когда нужно работать в графическом окружении Linux. Одни из самых популярных приложений для этого — TigerVNC, RealVNC, VNCViewer, TightVNC. Для примера рассмотрим установку и настройку TigerVNC на Ubuntu.

  1. Установка
apt install tigervnc-standalone-server tigervnc-xorg-extension  
  1. Создание конфигурации

Запустите VNC-сервер в первый раз:

vncserver -localhost no -geometry 1920x1080 -depth 24

Установите пароль (8 символов минимум).

Остановите VNC-сервер:

vncserver -kill :1  

Отредактируйте конфиг ~/.vnc/xstartup для запуска DE (например, GNOME):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
exec gnome-session &
  1. Запуск через systemd

Создайте файл /etc/systemd/system/vncserver@.service:

[Unit]
Description=VNC Server for %i
[Service]
User=%i
WorkingDirectory=/home/%i
ExecStart=/usr/bin/vncserver -fg -localhost no  
ExecStop=/usr/bin/vncserver -kill :%i  
[Install]  
WantedBy=multi-user.target  

Запустите сервис:

systemctl start vncserver@1.service  

Защита удалённого доступа

Настраивая удалённый доступ к серверу, не забывайте, что безопасность — главный приоритет. Даже если вы подключаетесь по SSH и используете ключи вместо пароля, сервер может быть уязвим. Не пренебрегайте дополнительными мерами: настройте брандмауэр, включите 2FA и используйте VPN.

  1. Настройка брандмауэра

UFW (Linux):

ufw allow 2222/tcp  # для SSH
ufw enable 

Firewalld (CentOS):

firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload  
  1. Двухфакторная аутентификация (2FA) для SSH

Установите Google Authenticator:

apt install libpam-google-authenticator

Настройте PAM-модуль в /etc/pam.d/sshd:

auth required pam_google_authenticator.so  

Измените sshd_config:

ChallengeResponseAuthentication yes  

AuthenticationMethods publickey,keyboard-interactive  

Убедитесь, что параметр UsePAM yes активен.

  1. VPN (в примере — WireGuard)

Установка приложения:

apt install wireguard  

Сгенерируйте ключи:

wg genkey | tee privatekey | wg pubkey > publickey  

Настройте интерфейс (/etc/wireguard/wg0.conf):

[Interface] 
Address = 10.0.0.1/24  
PrivateKey = <ваш_приватный_ключ>  
ListenPort = 51820  
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]  
PublicKey = <открытый_ключ>  
AllowedIPs = 10.0.0.2/32

Вместо eth0 укажите ваш сетевой интерфейс.

Разрешайте доступ только через ВПН.

Типичные проблемы и их решение

Даже опытные админы сталкиваются с ошибками. Разберём частые сценарии.

  1. «Connection refused» при подключении по SSH

Причины:

  • Сервис SSH не запущен.
  • Брандмауэр блокирует порт.
  • Неправильный IP или порт.

Решение:

systemctl status sshd  # проверьте статус 
ufw status verbose    # посмотрите правила 
nc -zv server_ip 2222     # проверьте доступность порта  
  1. Чёрный экран при подключении через VNC

Причины:

  • Неправильный DE в xstartup.
  • Отсутствие прав на файл конфигурации. 

Решение:

Убедитесь, что в xstartup указана корректная сессия (gnome, xfce и т.д.).

Выставьте права:

chmod +x ~/.vnc/xstartup  
  1. RDP-клиент не подключается к Windows

Причины:

  • Отключён NLA (Network Level Authentication).
  • Неправильная версия протокола.

 Решение:

  • Включите NLA в настройках Windows.
  • Обновите клиент (например, используйте последнюю версию Remmina).

Заключение

Теперь вы знаете, как включить удалённый доступ, и можете управлять серверами из любой точки мира, не жертвуя безопасностью! Используйте SSH с ключами для Linux, RDP с NLA для Windows и не забывайте про VPN. Регулярно обновляйте софт, настройте брандмауэр и мониторьте логи (например, через journalctl -u sshd).

Главные правила:

  • Никогда не оставляйте аутентификацию по паролю для SSH.
  • Меняйте стандартные порты.
  • Создавайте резервные копии конфигураций и ключей.

Аренда VPS/VDS от ₽449/месяц

Преимущества VPS для VPN в AdminVPS:​

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

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

VPN на VPS-сервере

Узнайте, как создать собственный VPN на VPS-сервере для защиты ваших конфиденциальных данных!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях