Как подключиться к другому компьютеру через Wi-Fi в Linux: 5 рабочих способов

Удалённое управление компьютером через Wi-Fi в Linux — задача, с которой сталкиваются системные администраторы, разработчики и даже обычные пользователи, нуждающиеся в доступе к файлам или программам на другом устройстве. В отличие от Windows с её встроенным RDP, в Linux выбор протоколов шире, но настройка требует знания командной строки и особенностей сетевых служб. Эта статья покрывает все актуальные способы подключения — от классического SSH до графических решений вроде VNC и RDP, а также рассказывает, как обойти типичные ошибки при работе с Wi-Fi-сетями.

Главное отличие удалённого подключения по Wi-Fi от проводного — потенциальная нестабильность соединения и необходимость учитывать настройки роутера (например, NAT или firewall). Мы разберём, как обеспечить безопасность передаваемых данных, какие порты открывать, и что делать, если устройства не видят друг друга в локальной сети. Особое внимание уделено дистрибутивам на базе Debian/Ubuntu и Arch Linux, но принципы применимы и к другим системам.

Если вам нужно не просто передать файлы (для этого хватит SCP или SFTP), а полноценно работать с графическим интерфейсом или терминалом другого ПК — этот гайд поможет выбрать оптимальный метод. А для тех, кто боится командной строки, мы подготовили альтернативы с графическими утилитами.

1. Подготовка сети: проверка соединения и настройки роутера

Прежде чем настраивать удалённое подключение, убедитесь, что оба компьютера находятся в одной Wi-Fi-сети и могут «видеть» друг друга. Это базовый шаг, который часто упускают, из-за чего последующие попытки подключения заканчиваются ошибками.

Для проверки связи используйте команду ping в терминале. На целевом компьютере (к которому будете подключаться) выполните:

ip a

Запомните его локальный IP-адрес (например, 192.168.1.105). Затем с другого устройства в той же сети выполните:

ping 192.168.1.105

Если пакеты не проходят (100% packet loss), проблема может быть в:

  • 🔌 Брандмауэре на целевом ПК (проверьте ufw или firewalld).
  • 📡 Настройках роутера (отключена функция AP Isolation?).
  • 🖥️ Режиме энергосбережения Wi-Fi-адаптера (особенно актуально для ноутбуков).

Если компьютеры в разных подсетях (например, один подключён к роутеру по кабелю, другой — по Wi-Fi с другим IP-диапазоном), может потребоваться настройка STATIC ARP или проброс портов. Для домашних сетей проще всего использовать один роутер и отключить гостевой режим Wi-Fi.

📊 Какой протокол вы чаще используете для удалённого доступа?
SSH
VNC
RDP
TeamViewer/AnyDesk
Другой

2. Способ 1: Подключение через SSH (терминал)

SSH (Secure Shell) — самый надёжный и безопасный способ удалённого управления Linux-машиной по сети. Он позволяет работать с терминалом, передавать файлы и даже запускать графические приложения через X11 Forwarding.

Для настройки SSH-сервера на целевом компьютере:

  1. Установите пакет openssh-server:
    sudo apt install openssh-server  # Для Debian/Ubuntu
    

    sudo pacman -S openssh # Для Arch Linux

  2. Запустите службу и добавьте в автозагрузку:
    sudo systemctl enable --now ssh
  3. Проверьте статус:
    sudo systemctl status ssh

Теперь с другого компьютера подключитесь по команде:

ssh username@192.168.1.105

Где username — имя пользователя на целевом ПК, а 192.168.1.105 — его локальный IP.

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

  • 🔑 Правильность пароля (или настройте ключи SSH для безопасного входа без пароля).
  • 🚪 Порт 22 должен быть открыт в брандмауэре:
    sudo ufw allow 22
  • 🌐 Если подключаетесь из другой сети — настройте проброс портов на роутере.

Установлен пакет openssh-server

Служба SSH запущена (systemctl status ssh)

Порт 22 открыт в брандмауэре

IP-адрес целевого ПК корректен

-->

Как сгенерировать SSH-ключи для безопасного входа?

На клиентском ПК выполните:

ssh-keygen -t ed25519

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

ssh-copy-id username@192.168.1.105

Теперь вход будет возможен без пароля, что удобно для скриптов и автоматизации.

3. Способ 2: Графический доступ через VNC

Если нужен не только терминал, но и полноценный графический интерфейс (GNOME, KDE, XFCE), используйте VNC (Virtual Network Computing). Этот протокол передаёт изображение экрана по сети, позволяя управлять удалённым рабочим столом.

Для настройки VNC-сервера на целевом ПК:

  1. Установите tigervnc-standalone-server (или x11vnc для существующей сессии):
    sudo apt install tigervnc-standalone-server
  2. Запустите сервер с разрешением 1920x1080 и глубиной цвета 24:
    vncserver -geometry 1920x1080 -depth 24

    При первом запуске вам предложат задать пароль (максимум 8 символов!).

  3. Подключитесь с другого ПК с помощью клиента Remmina, TigerVNC Viewer или RealVNC, указав IP:5901 (где 5901 — порт по умолчанию для первого рабочего стола).

Важные нюансы:

  • 🖼️ VNC без шифрования уязвим для перехвата трафика. Используйте SSH-туннель:
    ssh -L 5901:localhost:5901 username@192.168.1.105

    Затем подключайтесь к localhost:5901.

  • 🔄 Для постоянного доступа добавьте vncserver в автозагрузку (см. systemd).
  • 🎨 Если используете Wayland вместо X11, VNC может не работать — потребуется Xorg или альтернативы вроде NoMachine.

4. Способ 3: RDP (xrdp) для совместимости с Windows

Протокол RDP (Remote Desktop Protocol) чаще ассоциируется с Windows, но в Linux его можно настроить с помощью xrdp. Это удобно, если нужно подключаться к Linux-машине с Windows-клиента или наоборот.

Установка xrdp на целевом ПК:

sudo apt install xrdp

sudo systemctl enable --now xrdp

Для подключения с Windows используйте стандартное приложение Подключение к удалённому рабочему столу (mstsc), указав IP-адрес Linux-машины. Для подключения с другого Linux-ПК подойдёт Remmina (выберите протокол RDP).

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

Протокол Порт Шифрование Графика Сложность настройки
SSH 22 ✅ Да ❌ Только терминал (или X11 Forwarding) Низкая
VNC 5900+ ❌ Нет (если без SSH-туннеля) ✅ Полный рабочий стол Средняя
RDP (xrdp) 3389 ✅ Да ✅ Полный рабочий стол Высокая
NoMachine 4000 ✅ Да ✅ Оптимизирован для мультимедиа Низкая

5. Способ 4: NoMachine — альтернатива для мультимедиа

Если вам нужно не только управлять удалённым ПК, но и транслировать видео, звук или 3D-графику (например, для Blender или Gimp), стандартные VNC/RDP будут тормозить. В этом случае лучше использовать NoMachine — проприетарное, но бесплатное для личного использования ПО.

Установка на целевом ПК:

  1. Скачайте .deb или .rpm-пакет с официального сайта.
  2. Установите его:
    sudo dpkg -i nomachine_*.deb  # Для Debian/Ubuntu
    

    sudo rpm -i nomachine_*.rpm # Для Fedora/OpenSUSE

  3. Запустите службу:
    sudo /etc/NX/nxserver --startup

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

  • 🎥 Поддержка аппаратного ускорения (включая NVIDIA CUDA).
  • 🔊 Передача звука в обе стороны.
  • 🖱️ Низкая задержка ввода (критично для игр или дизайна).

Для подключения используйте клиент NoMachine на другом ПК, указав IP-адрес сервера. Протокол по умолчанию использует порт 4000.

6. Решение типичных проблем

Даже при правильной настройке подключение может не работать. Вот самые распространённые ошибки и их решения:

Проблема 1: «Connection refused» при подключении по SSH/VNC.

  • 🔌 Проверьте, запущена ли служба (sudo systemctl status ssh).
  • 🚪 Убедитесь, что порт открыт в брандмауэре (sudo ufw status).
  • 📡 Если подключаетесь из другой сети — настройте проброс портов на роутере.

Проблема 2: Медленная работа VNC или артефакты на экране.

  • 🎨 Уменьшите глубину цвета (-depth 16) или разрешение экрана.
  • 🔄 Используйте SSH-туннель для шифрования трафика.
  • 🖥️ Отключите визуальные эффекты в графической оболочке (например, Compiz в Ubuntu).

Проблема 3: Не работает RDP через xrdp.

  • 🖼️ Проверьте, что используется Xorg, а не Wayland (в файле /etc/gdm3/custom.conf раскомментируйте строку WaylandEnable=false).
  • 🔄 Перезапустите службу:
    sudo systemctl restart xrdp

7. Безопасность: как защитить удалённое подключение

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

  • 🔑 Отключите вход по паролю в SSH, используйте только ключи:
    sudo nano /etc/ssh/sshd_config
    

    Замените на:

    PasswordAuthentication no

  • 🔄 Измените стандартный порт для SSH (например, на 2222):
    Port 2222

    Не забудьте открыть новый порт в брандмауэре!

  • 🛡️ Ограничьте доступ по IP в /etc/hosts.allow:
    sshd: 192.168.1.0/24
  • 🔍 Обновляйте ПО регулярно:
    sudo apt update && sudo apt upgrade -y

Предупреждение о публичных сетях: Никогда не открывайте порты SSH/RDP/VNC напрямую в интернет (например, через проброс на роутере), если у вас белый IP. Это сделает ваш ПК уязвимым для брутфорс-атак. Вместо этого используйте VPN (например, WireGuard) или SSH-туннель.

Как настроить WireGuard для безопасного доступа?

1. Установите WireGuard на сервер и клиент:

sudo apt install wireguard

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

wg genkey | tee privatekey | wg pubkey > publickey

3. Настройте конфиг /etc/wireguard/wg0.conf на сервере и клиенте.

4. Подключитесь к VPN, затем используйте локальные IP для SSH/VNC.

8. Альтернативы: TeamViewer, AnyDesk, RustDesk

Если настройка SSH/VNC/RDP кажется сложной, можно воспользоваться кроссплатформенными решениями с графическим интерфейсом:

  • 🌍 TeamViewer — простой, но требует регистрации для коммерческого использования.
  • 🖥️ AnyDesk — быстрый, поддерживает передачу файлов и звука.
  • 🦀 RustDesk — открытая альтернатива TeamViewer с самохостингом.

Установка RustDesk (рекомендуем для приватности):

wget https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.deb

sudo dpkg -i rustdesk-*.deb

Преимущества таких решений:

  • ⚡ Нет нужды настраивать порты или роутер.
  • 🔒 Встроенное шифрование трафика.
  • 📱 Поддержка мобильных устройств (управление с телефона).

Недостатки:

  • 🕵️ Закрытый исходный код (кроме RustDesk).
  • 📶 Зависимость от серверов разработчика (может лагать при плохом интернете).

FAQ: Частые вопросы

Можно ли подключиться к Linux с Android/iOS?

Да. Для Android используйте приложения JuiceSSH (для SSH) или bVNC (для VNC). На iOS подойдёт Termius (SSH) или VNC Viewer. Для RDP на обеих платформах есть Microsoft Remote Desktop.

Для NoMachine и RustDesk также есть мобильные клиенты.

Как подключиться к Linux из другой сети (не локальной)?

Есть несколько способов:

  1. Проброс портов на роутере (например, порт 22 для SSH или 5901 для VNC). Опасно, если у вас белый IP — лучше комбинировать с fail2ban.
  2. VPN (например, WireGuard или OpenVPN). Наиболее безопасный вариант.
  3. Облачный сервис вроде Ngrok:
    ngrok tcp 22

    Даст вам публичный URL для доступа к SSH.

Для TeamViewer/AnyDesk дополнительные настройки не нужны — они работают через свои серверы.

Почему VNC тормозит, а SSH работает быстро?

VNC передаёт изображение экрана, что требует большой пропускной способности сети. SSH передаёт только текстовые команды, поэтому работает даже при медленном соединении.

Чтобы ускорить VNC:

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

Для работы с графикой лучше подойдёт NoMachine или RDP.

Как передавать файлы между компьютерами?

Способы передачи файлов:

  • По SSH:
    scp файл.txt user@192.168.1.105:/путь/на/сервере
  • По SFTP (графически): используйте FileZilla или WinSCP (для Windows).
  • Через VNC/RDP: в большинстве клиентов есть встроенная функция передачи файлов (например, в Remmina или NoMachine).
  • Через Samba: настройте сетевую папку:
    sudo apt install samba
    

    sudo smbpasswd -a username

Можно ли управлять Linux-компьютером без графического интерфейса?

Да, если вам нужен только терминал. Для этого достаточно SSH. Если же требуется запускать графические приложения (например, Firefox или GIMP), используйте X11 Forwarding:

ssh -X user@192.168.1.105

firefox

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

Для Wayland (вместо X11) потребуется XWayland или альтернативные решения вроде NoMachine.