[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/x11-forwarding-failed":3,"mdc-vqy6mj-key":972,"mdc--i2679x-key":997,"mdc-dhr6aq-key":1012,"mdc-89aq4j-key":1044,"mdc-ffuro4-key":1052,"mdc-1u79a9-key":1105,"mdc--scqho4-key":1141,"mdc--tko4ds-key":1177,"mdc--ab8e7z-key":1201,"mdc-8hxlxy-key":1224,"related-/guides/linux/ssh-tunnel-guide,/errors/linux/ssh-connection-refused,/guides/linux/vnc-server-setup":1262},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":903,"code":903,"createdAt":904,"description":905,"difficulty":906,"draft":907,"estimatedTime":908,"extension":909,"faq":910,"howToSteps":923,"howToTotalTime":942,"image":903,"keywords":943,"locale":954,"meta":955,"navigation":324,"path":956,"platform":957,"related":958,"section":962,"seo":963,"severity":903,"stem":964,"summary":965,"tags":966,"twitterCreator":903,"twitterSite":903,"type":970,"updatedAt":904,"__hash__":971},"content_ru/errors/linux/x11-forwarding-failed.md","X11 Forwarding не работает: пошаговая настройка в Linux",[7,8,9,10],"Ubuntu 22.04+","Debian 11+","CentOS 8+/RHEL 8+","OpenSSH 7.6+","FixPedia Team",{"type":13,"value":14,"toc":891},"minimark",[15,20,24,69,72,76,79,175,179,186,346,352,358,480,484,490,622,626,629,684,688,691,743,755,759,775,806,837,846,861,868,872,887],[16,17,19],"h2",{"id":18},"почему-x11-forwarding-не-работает","Почему X11 Forwarding не работает?",[21,22,23],"p",{},"X11 Forwarding — это механизм SSH, который позволяет запускать графические приложения на удалённом Linux-сервере, отображая их окна на вашем локальном компьютере. Проблемы с его работой возникают обычно из-за:",[25,26,27,36,43,51,62],"ul",{},[28,29,30,31,35],"li",{},"Отключённой опции в конфигурации SSH-демона (",[32,33,34],"code",{},"sshd_config",").",[28,37,38,39,42],{},"Отсутствия пакета ",[32,40,41],{},"xauth"," на сервере, который управляет X-авторизацией.",[28,44,45,46,50],{},"Конфликта с современной системой отображения ",[47,48,49],"strong",{},"Wayland"," на клиенте (особенно в Ubuntu 22.04+ и Fedora).",[28,52,53,54,57,58,61],{},"Неправильного использования флагов ",[32,55,56],{},"-X"," (недоверенный) и ",[32,59,60],{},"-Y"," (доверенный) при подключении.",[28,63,64,65,68],{},"Проблем с сетевым доступом или переменной окружения ",[32,66,67],{},"DISPLAY",".",[21,70,71],{},"Эта инструкция поможет последовательно диагностировать и исправить проблему на стороне как сервера, так и клиента.",[16,73,75],{"id":74},"шаг-1-проверка-локального-ssh-клиента","Шаг 1: Проверка локального SSH-клиента",[21,77,78],{},"Прежде чем менять настройки сервера, убедитесь, что ваш локальный SSH-клиент разрешает X11 Forwarding.",[80,81,82,85],"ol",{},[28,83,84],{},"Откройте терминал на вашем компьютере (Linux/macOS) или PowerShell/WSL на Windows.",[28,86,87,88,117,118,121,122,125,126,129,130,133,134,158],{},"Проверьте основной конфиг клиента:\n",[89,90,95],"pre",{"className":91,"code":92,"language":93,"meta":94,"style":94},"language-bash shiki shiki-themes github-light github-dark","grep -i forwardx11 /etc/ssh/ssh_config\n","bash","",[32,96,97],{"__ignoreMap":94},[98,99,102,106,110,114],"span",{"class":100,"line":101},"line",1,[98,103,105],{"class":104},"sScJk","grep",[98,107,109],{"class":108},"sj4cs"," -i",[98,111,113],{"class":112},"sZZnC"," forwardx11",[98,115,116],{"class":112}," /etc/ssh/ssh_config\n","\nДолжна быть строка ",[32,119,120],{},"ForwardX11 yes"," или ",[32,123,124],{},"ForwardX11Trusted yes",". Если строка отсутствует или стоит ",[32,127,128],{},"no",", добавьте её в конец файла (требуются права sudo) или создайте/дополните личный конфиг ",[32,131,132],{},"~/.ssh/config",":\n",[89,135,139],{"className":136,"code":137,"language":138,"meta":94,"style":94},"language-ini shiki shiki-themes github-light github-dark","Host *\n    ForwardX11 yes\n    ForwardX11Trusted yes\n","ini",[32,140,141,146,152],{"__ignoreMap":94},[98,142,143],{"class":100,"line":101},[98,144,145],{},"Host *\n",[98,147,149],{"class":100,"line":148},2,[98,150,151],{},"    ForwardX11 yes\n",[98,153,155],{"class":100,"line":154},3,[98,156,157],{},"    ForwardX11Trusted yes\n",[159,160,161],"blockquote",{},[21,162,163,164,167,168,170,171,174],{},"💡 ",[47,165,166],{},"Совет:"," Использование ",[32,169,124],{}," (соответствует флагу ",[32,172,173],{},"ssh -Y",") решает большинство проблем с правами доступа к X-серверу, но имеет меньшую изоляцию безопасности. Для доверенных внутренних сетей это допустимо.",[16,176,178],{"id":177},"шаг-2-настройка-ssh-демона-на-сервере-sshd_config","Шаг 2: Настройка SSH-демона на сервере (sshd_config)",[21,180,181,182,185],{},"На удалённом сервере нужно убедиться, что демон ",[32,183,184],{},"sshd"," настроен на приём X11-запросов.",[80,187,188,207,232,283,293],{},[28,189,190,191,193,194],{},"Подключитесь к серверу обычным способом (без ",[32,192,56],{},"):\n",[89,195,197],{"className":91,"code":196,"language":93,"meta":94,"style":94},"ssh user@ваш_сервер\n",[32,198,199],{"__ignoreMap":94},[98,200,201,204],{"class":100,"line":101},[98,202,203],{"class":104},"ssh",[98,205,206],{"class":112}," user@ваш_сервер\n",[28,208,209,210,212,213,193,216],{},"Отредактируйте конфигурационный файл ",[32,211,34],{}," (обычно ",[32,214,215],{},"/etc/ssh/sshd_config",[89,217,219],{"className":91,"code":218,"language":93,"meta":94,"style":94},"sudo nano /etc/ssh/sshd_config\n",[32,220,221],{"__ignoreMap":94},[98,222,223,226,229],{"class":100,"line":101},[98,224,225],{"class":104},"sudo",[98,227,228],{"class":112}," nano",[98,230,231],{"class":112}," /etc/ssh/sshd_config\n",[28,233,234,235,238,239,242,243,263],{},"Найдите и ",[47,236,237],{},"раскомментируйте"," (удалите ",[32,240,241],{},"#",") или добавьте следующие строки:\n",[89,244,246],{"className":136,"code":245,"language":138,"meta":94,"style":94},"X11Forwarding yes\nX11DisplayOffset 10\nX11UseLocalhost yes\n",[32,247,248,253,258],{"__ignoreMap":94},[98,249,250],{"class":100,"line":101},[98,251,252],{},"X11Forwarding yes\n",[98,254,255],{"class":100,"line":148},[98,256,257],{},"X11DisplayOffset 10\n",[98,259,260],{"class":100,"line":154},[98,261,262],{},"X11UseLocalhost yes\n",[25,264,265,271,277],{},[28,266,267,270],{},[32,268,269],{},"X11Forwarding yes"," — включает механизм.",[28,272,273,276],{},[32,274,275],{},"X11DisplayOffset 10"," — стандартный сдвиг для номеров дисплеев.",[28,278,279,282],{},[32,280,281],{},"X11UseLocalhost yes"," — привязывает форвардинг к localhost (безопаснее).",[28,284,285,288,289,292],{},[47,286,287],{},"Важно:"," Убедитесь, что в этом же файле нет строки ",[32,290,291],{},"X11Forwarding no"," или она не переопределяет нашу.",[28,294,295,296],{},"Сохраните файл и перезапустите службу SSH:\n",[89,297,299],{"className":91,"code":298,"language":93,"meta":94,"style":94},"# Для systemd (большинство современных дистрибутивов)\nsudo systemctl restart sshd\n\n# Или для старых систем (SysVinit)\nsudo service ssh restart\n",[32,300,301,307,320,326,332],{"__ignoreMap":94},[98,302,303],{"class":100,"line":101},[98,304,306],{"class":305},"sJ8bj","# Для systemd (большинство современных дистрибутивов)\n",[98,308,309,311,314,317],{"class":100,"line":148},[98,310,225],{"class":104},[98,312,313],{"class":112}," systemctl",[98,315,316],{"class":112}," restart",[98,318,319],{"class":112}," sshd\n",[98,321,322],{"class":100,"line":154},[98,323,325],{"emptyLinePlaceholder":324},true,"\n",[98,327,329],{"class":100,"line":328},4,[98,330,331],{"class":305},"# Или для старых систем (SysVinit)\n",[98,333,335,337,340,343],{"class":100,"line":334},5,[98,336,225],{"class":104},[98,338,339],{"class":112}," service",[98,341,342],{"class":112}," ssh",[98,344,345],{"class":112}," restart\n",[16,347,349,350],{"id":348},"шаг-3-установка-и-проверка-пакета-xauth","Шаг 3: Установка и проверка пакета ",[32,351,41],{},[21,353,354,355,357],{},"Пакет ",[32,356,41],{}," критически важен. Он хранит и управляет \"cookies\" (токенами) для аутентификации X-клиентов.",[80,359,360,457],{},[28,361,362,363,376,377,380,381],{},"Проверьте, установлен ли он:\n",[89,364,366],{"className":91,"code":365,"language":93,"meta":94,"style":94},"which xauth\n",[32,367,368],{"__ignoreMap":94},[98,369,370,373],{"class":100,"line":101},[98,371,372],{"class":108},"which",[98,374,375],{"class":112}," xauth\n","\nЕсли команда ничего не вывела или ",[32,378,379],{},"xauth not found",", устанавливайте:\n",[89,382,384],{"className":91,"code":383,"language":93,"meta":94,"style":94},"# Для Debian/Ubuntu\nsudo apt update && sudo apt install xauth\n\n# Для RHEL/CentOS 8+ / Rocky / AlmaLinux\nsudo dnf install xauth\n\n# Для CentOS 7 / RHEL 7\nsudo yum install xauth\n",[32,385,386,391,414,418,423,434,439,445],{"__ignoreMap":94},[98,387,388],{"class":100,"line":101},[98,389,390],{"class":305},"# Для Debian/Ubuntu\n",[98,392,393,395,398,401,405,407,409,412],{"class":100,"line":148},[98,394,225],{"class":104},[98,396,397],{"class":112}," apt",[98,399,400],{"class":112}," update",[98,402,404],{"class":403},"sVt8B"," && ",[98,406,225],{"class":104},[98,408,397],{"class":112},[98,410,411],{"class":112}," install",[98,413,375],{"class":112},[98,415,416],{"class":100,"line":154},[98,417,325],{"emptyLinePlaceholder":324},[98,419,420],{"class":100,"line":328},[98,421,422],{"class":305},"# Для RHEL/CentOS 8+ / Rocky / AlmaLinux\n",[98,424,425,427,430,432],{"class":100,"line":334},[98,426,225],{"class":104},[98,428,429],{"class":112}," dnf",[98,431,411],{"class":112},[98,433,375],{"class":112},[98,435,437],{"class":100,"line":436},6,[98,438,325],{"emptyLinePlaceholder":324},[98,440,442],{"class":100,"line":441},7,[98,443,444],{"class":305},"# Для CentOS 7 / RHEL 7\n",[98,446,448,450,453,455],{"class":100,"line":447},8,[98,449,225],{"class":104},[98,451,452],{"class":112}," yum",[98,454,411],{"class":112},[98,456,375],{"class":112},[28,458,459,460,465,466],{},"После установки переподключитесь к серверу ",[47,461,462,463],{},"с флагом ",[32,464,60],{}," (доверенный форвардинг):\n",[89,467,469],{"className":91,"code":468,"language":93,"meta":94,"style":94},"ssh -Y user@ваш_сервер\n",[32,470,471],{"__ignoreMap":94},[98,472,473,475,478],{"class":100,"line":101},[98,474,203],{"class":104},[98,476,477],{"class":108}," -Y",[98,479,206],{"class":112},[16,481,483],{"id":482},"шаг-4-диагностика-после-подключения","Шаг 4: Диагностика после подключения",[21,485,486,487,489],{},"После подключения с флагом ",[32,488,60],{}," выполните на сервере несколько команд для проверки состояния.",[80,491,492,529,555],{},[28,493,494,500,513,516,517,520,521,524,525,528],{},[47,495,496,497,499],{},"Проверка переменной ",[32,498,67],{},":",[89,501,503],{"className":91,"code":502,"language":93,"meta":94,"style":94},"echo $DISPLAY\n",[32,504,505],{"__ignoreMap":94},[98,506,507,510],{"class":100,"line":101},[98,508,509],{"class":108},"echo",[98,511,512],{"class":403}," $DISPLAY\n",[47,514,515],{},"Ожидаемый результат:"," ",[32,518,519],{},"localhost:10.0"," (или ",[32,522,523],{},"localhost:11.0"," и т.д.). Если вывод пустой или содержит ",[32,526,527],{},":0"," — форвардинг не активировался.",[28,530,531,534,546,547,550,551,554],{},[47,532,533],{},"Проверка токена xauth:",[89,535,537],{"className":91,"code":536,"language":93,"meta":94,"style":94},"xauth list\n",[32,538,539],{"__ignoreMap":94},[98,540,541,543],{"class":100,"line":101},[98,542,41],{"class":104},[98,544,545],{"class":112}," list\n","\nВывод должен содержать запись для дисплея, который указан в ",[32,548,549],{},"$DISPLAY"," (например, ",[32,552,553],{},"hostname/unix:10","). Если список пуст — проблема с генерацией cookies.",[28,556,557,560,561,564,565,579,580,583,584,587,588,591,592,133,594,615,616,121,619,68],{},[47,558,559],{},"Просмотр логов подключения:","\nНа ",[47,562,563],{},"клиенте"," при подключении можно добавить флаги подробного вывода:\n",[89,566,568],{"className":91,"code":567,"language":93,"meta":94,"style":94},"ssh -Yv user@ваш_сервер\n",[32,569,570],{"__ignoreMap":94},[98,571,572,574,577],{"class":100,"line":101},[98,573,203],{"class":104},[98,575,576],{"class":108}," -Yv",[98,578,206],{"class":112},"\nИщите в выводе строки ",[32,581,582],{},"X11 forwarding request accepted"," и ",[32,585,586],{},"Allocated X11 display",".\nНа ",[47,589,590],{},"сервере"," проверяйте логи ",[32,593,184],{},[89,595,597],{"className":91,"code":596,"language":93,"meta":94,"style":94},"sudo journalctl -u sshd -f\n",[32,598,599],{"__ignoreMap":94},[98,600,601,603,606,609,612],{"class":100,"line":101},[98,602,225],{"class":104},[98,604,605],{"class":112}," journalctl",[98,607,608],{"class":108}," -u",[98,610,611],{"class":112}," sshd",[98,613,614],{"class":108}," -f\n","\n(в отдельном терминале, пока вы пытаетесь подключиться). Ищите ошибки ",[32,617,618],{},"X11 connection refused",[32,620,621],{},"xauth:  unable to open display",[16,623,625],{"id":624},"шаг-5-решение-проблем-с-wayland-на-клиенте","Шаг 5: Решение проблем с Wayland на клиенте",[21,627,628],{},"Если ваш локальный компьютер (особенно Ubuntu 22.04, Fedora 36+) использует Wayland вместо Xorg по умолчанию, классический X11 Forwarding может не работать.",[80,630,631,641,664],{},[28,632,633,636,637,640],{},[47,634,635],{},"Временное решение:"," На экране входа в систему (GDM/LightDM) перед вводом пароля выберите сессию ",[47,638,639],{},"\"Ubuntu on Xorg\""," (или аналогичную) вместо \"Ubuntu on Wayland\". После этого перезайдите в систему и попробуйте подключиться заново.",[28,642,643,646,647,650,651,133,654,663],{},[47,644,645],{},"Постоянное решение (если возможно):"," Отключите Wayland в конфиге GDM, отредактировав ",[32,648,649],{},"/etc/gdm3/custom.conf"," (для Ubuntu) или ",[32,652,653],{},"/etc/gdm/custom.conf",[89,655,657],{"className":136,"code":656,"language":138,"meta":94,"style":94},"#WaylandEnable=false\n",[32,658,659],{"__ignoreMap":94},[98,660,661],{"class":100,"line":101},[98,662,656],{},"\n(раскомментируйте строку). Затем перезагрузите систему.",[28,665,666,669,670,675,676,679,680,683],{},[47,667,668],{},"Альтернатива для Wayland:"," Используйте ",[47,671,672],{},[32,673,674],{},"xwayland"," — слой совместимости, который обычно установлен по умолчанию. Убедитесь, что он работает: ",[32,677,678],{},"echo $XDG_SESSION_TYPE"," должен вывести ",[32,681,682],{},"x11"," после переключения на Xorg-сессию. Для чистого Wayland без переключения сессии X11 Forwarding работать не будет.",[16,685,687],{"id":686},"шаг-6-альтернативные-варианты-если-ничего-не-помогает","Шаг 6: Альтернативные варианты (если ничего не помогает)",[21,689,690],{},"Если настройки верны, но приложения всё равно не запускаются, попробуйте:",[25,692,693,712,731,737],{},[28,694,695,704,705,708,709,711],{},[47,696,697,698,701,702],{},"Использовать ",[32,699,700],{},"ssh -X"," вместо ",[32,703,60],{}," (и наоборот). Некоторые приложения (например, ",[32,706,707],{},"sudo gedit",") требуют ",[32,710,60],{}," для доверенного канала.",[28,713,714,516,717,720,721,724,725,728,729,68],{},[47,715,716],{},"Запускать приложения с отключённым доступом к ядру:",[32,718,719],{},"xhost +SI:localuser:root"," (на локальной машине, ",[47,722,723],{},"небезопасно!",") или используйте ",[32,726,727],{},"sudo -E"," на сервере, чтобы передать переменную ",[32,730,67],{},[28,732,733,736],{},[47,734,735],{},"Настроить туннель вручную:"," В крайнем случае можно вручную пробросить порт X11-сервера (обычно 6000+display), но это сложнее и менее безопасно.",[28,738,739,742],{},[47,740,741],{},"Использовать VNC или RDP:"," Если X11 Forwarding нестабилен, настройте VNC-сервер (например, TigerVNC) или RDP-сервер (xrdp) на удалённой машине. Это передаст весь рабочий стол, но потребует дополнительных ресурсов и отдельного клиента.",[159,744,745],{},[21,746,747,748,750,751,754],{},"⚠️ ",[47,749,287],{}," Никогда не используйте ",[32,752,753],{},"xhost +"," (разрешить всем) на рабочей машине. Это серьёзная уязвимость безопасности, позволяющая любому локальному приложению перехватывать ввод и экран.",[16,756,758],{"id":757},"частые-вопросы","Частые вопросы",[21,760,761,764,765,121,768,771,772,68],{},[47,762,763],{},"Можно ли использовать X11 Forwarding через Windows?","\nДа, но нужен X-сервер для Windows, например, ",[47,766,767],{},"VcXsrv",[47,769,770],{},"Xming",". Установите его, запустите, разрешив «Disable access control». Затем в WSL2 или PuTTY настройте X11 Forwarding. В PuTTY это опция в ",[32,773,774],{},"Connection -> SSH -> X11",[21,776,777,784,785,787,788,791,792,794,795,797,798,800,801,121,803,805],{},[47,778,779,780,783],{},"Что делать, если ошибка ",[32,781,782],{},"Can't open display","?","\nЭто классическая ошибка. Проверьте по порядку: 1) переменная ",[32,786,67],{}," установлена (",[32,789,790],{},"echo $DISPLAY","), 2) пакет ",[32,793,41],{}," установлен, 3) в ",[32,796,34],{}," стоит ",[32,799,269],{},", 4) вы подключались с флагом ",[32,802,56],{},[32,804,60],{},", 5) локальный X-сервер (на вашем ПК) запущен (в Linux он обычно есть, в Windows — VcXsrv).",[21,807,808,817,818,820,821,824,825,827,828,830,831,833,834,836],{},[47,809,810,811,813,814,816],{},"Почему ",[32,812,700],{}," работает, а ",[32,815,173],{}," нет (или наоборот)?","\nФлаг ",[32,819,56],{}," включает недоверенный форвардинг с ограничениями (например, запрет на подключение к X-серверу от ",[32,822,823],{},"root","). Флаг ",[32,826,60],{}," — доверенный, таких ограничений нет. Если приложение требует прав ",[32,829,823],{}," или расширенных возможностей X, оно может работать только с ",[32,832,60],{},". Если же на сервере есть вредоносный процесс, ",[32,835,60],{}," потенциально опаснее.",[21,838,839,842,843,845],{},[47,840,841],{},"Как отключить X11 Forwarding, если он включён по умолчанию?","\nВ ",[32,844,132],{}," добавьте для конкретного хоста:",[89,847,849],{"className":136,"code":848,"language":138,"meta":94,"style":94},"Host problematic-server\n    ForwardX11 no\n",[32,850,851,856],{"__ignoreMap":94},[98,852,853],{"class":100,"line":101},[98,854,855],{},"Host problematic-server\n",[98,857,858],{"class":100,"line":148},[98,859,860],{},"    ForwardX11 no\n",[21,862,863,864,867],{},"Или используйте флаг при запуске: ",[32,865,866],{},"ssh -x user@server"," (строчная буква X).",[16,869,871],{"id":870},"заключение","Заключение",[21,873,874,875,877,878,880,881,884,885,68],{},"Настройка X11 Forwarding — это цепочка из нескольких компонентов: корректная конфигурация ",[32,876,184],{}," на сервере, наличие ",[32,879,41],{},", правильные флаги при подключении и совместимость клиентской среды (Xorg vs Wayland). Следуя этому гайду шаг за шагом, вы сможете диагностировать и устранить большинство распространённых сбоев. Если проблема остаётся, проверьте сетевые политики (фаервол) и убедитесь, что на сервере нет ограничений через ",[32,882,883],{},"Match","-блоки в ",[32,886,34],{},[888,889,890],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":94,"searchDepth":148,"depth":148,"links":892},[893,894,895,896,898,899,900,901,902],{"id":18,"depth":148,"text":19},{"id":74,"depth":148,"text":75},{"id":177,"depth":148,"text":178},{"id":348,"depth":148,"text":897},"Шаг 3: Установка и проверка пакета xauth",{"id":482,"depth":148,"text":483},{"id":624,"depth":148,"text":625},{"id":686,"depth":148,"text":687},{"id":757,"depth":148,"text":758},{"id":870,"depth":148,"text":871},null,"2026-02-14 15:27:37","Не удаётся запустить графическое приложение через SSH? Наша инструкция поможет настроить X11 Forwarding на Linux-сервере и клиенте за 15 минут. Решения для Ubuntu, CentOS и других дистрибутивов.","medium",false,"15-30 мин","md",[911,914,917,920],{"question":912,"answer":913},"Почему X11 Forwarding работает на одном сервере, а на другом нет?","Чаще всего причина в разных настройках SSH-демона (`sshd_config`) или в отсутствии пакета `xauth` на целевом сервере. Также может влиять среда Wayland вместо Xorg на клиенте.",{"question":915,"answer":916},"Можно ли использовать X11 Forwarding через macOS?","Да, но потребуется X-сервер для macOS (XQuartz). После установки нужно включить опцию «Allow connections from network clients» в настройках XQuartz и использовать `ssh -Y`.",{"question":918,"answer":919},"Что делать, если `xauth` не найден?","Установите пакет `xauth` на удалённый сервер: `sudo apt install xauth` (Debian/Ubuntu) или `sudo yum install xauth` (RHEL/CentOS). Без него X11 Forwarding не будет работать.",{"question":921,"answer":922},"Чем X11 Forwarding отличается от VNC?","X11 Forwarding передаёт только графические данные отдельных приложений через зашифрованный SSH-канал, оставляя их запуск на сервере. VNC передаёт весь рабочий стол и обычно требует отдельный демон, работая менее безопасно без VPN.",[924,927,930,933,936,939],{"name":925,"text":926},"Проверьте поддержку X11 Forwarding в SSH-клиенте","Убедитесь, что в вашем локальном `ssh_config` (`/etc/ssh/ssh_config` или `~/.ssh/config`) не отключена опция `ForwardX11`. Она должна быть `yes` или `trusted`.",{"name":928,"text":929},"Настройте SSH-демон на сервере","Откройте `/etc/ssh/sshd_config` на удалённом сервере и проверьте/добавьте строки: `X11Forwarding yes` и `X11DisplayOffset 10`. Перезапустите `sshd` после изменений.",{"name":931,"text":932},"Установите и проверьте `xauth` на сервере","Установите пакет `xauth`, если его нет: `sudo apt install xauth` (Debian/Ubuntu) или `sudo dnf install xauth` (RHEL 8+). Проверьте наличие командой `which xauth`.",{"name":934,"text":935},"Подключитесь с флагами `-X` или `-Y`","Используйте `ssh -Y user@server` для доверенного форвардинга (рекомендуется, если сервер доверенный). Флаг `-X` — с ограничениями безопасности, что может вызвать ошибки у некоторых приложений.",{"name":937,"text":938},"Проверьте переменную окружения `DISPLAY`","После подключения на сервере выполните `echo $DISPLAY`. Должен вывестись адрес типа `localhost:10.0`. Если переменная пуста — форвардинг не активировался.",{"name":940,"text":941},"Протестируйте запуск графического приложения","Запустите простое приложение, например `xclock` или `gedit`. Если окно появится на вашем локальном экране — настройка успешна. При ошибках смотрите логи `ssh -vvv` и `journalctl -u sshd`.","PT30M",[944,945,946,947,948,949,950,951,952,953],"x11 forwarding не работает","ssh -x ошибка","cannot open display linux","настроить x11 forwarding ubuntu","xauth ошибка linux","wayland и x11 forwarding","ssh x11 forwarding refused","DISPLAY переменная не установлена","x11 forwardingcentos","forward x11 ssh config","ru_RU",{},"/errors/linux/x11-forwarding-failed","linux",[959,960,961],"/guides/linux/ssh-tunnel-guide","/errors/linux/ssh-connection-refused","/guides/linux/vnc-server-setup","Гайды Linux",{"title":5,"description":905},"errors/linux/x11-forwarding-failed","Эта статья объясняет, почему X11 Forwarding может не работать в Linux, и предоставляет пошаговые решения для настройки SSH, xauth и совместимости с Wayland. Вы сможете запускать графические приложения на удалённом сервере и видеть их интерфейс локально.",[957,203,682,967,968,969],"wayland","remote desktop","sysadmin","error","OGyxAUZ4sYEwy2vg7MDIic7q7SifILijoZn0eV5_T3k",{"data":973,"body":974},{},{"type":823,"children":975},[976],{"type":977,"tag":21,"props":978,"children":979},"element",{},[980,983,988,990,995],{"type":981,"value":982},"text","Чаще всего причина в разных настройках SSH-демона (",{"type":977,"tag":32,"props":984,"children":986},{"className":985},[],[987],{"type":981,"value":34},{"type":981,"value":989},") или в отсутствии пакета ",{"type":977,"tag":32,"props":991,"children":993},{"className":992},[],[994],{"type":981,"value":41},{"type":981,"value":996}," на целевом сервере. Также может влиять среда Wayland вместо Xorg на клиенте.",{"data":998,"body":999},{},{"type":823,"children":1000},[1001],{"type":977,"tag":21,"props":1002,"children":1003},{},[1004,1006,1011],{"type":981,"value":1005},"Да, но потребуется X-сервер для macOS (XQuartz). После установки нужно включить опцию «Allow connections from network clients» в настройках XQuartz и использовать ",{"type":977,"tag":32,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":981,"value":173},{"type":981,"value":68},{"data":1013,"body":1014},{},{"type":823,"children":1015},[1016],{"type":977,"tag":21,"props":1017,"children":1018},{},[1019,1021,1026,1028,1034,1036,1042],{"type":981,"value":1020},"Установите пакет ",{"type":977,"tag":32,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":981,"value":41},{"type":981,"value":1027}," на удалённый сервер: ",{"type":977,"tag":32,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":981,"value":1033},"sudo apt install xauth",{"type":981,"value":1035}," (Debian/Ubuntu) или ",{"type":977,"tag":32,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":981,"value":1041},"sudo yum install xauth",{"type":981,"value":1043}," (RHEL/CentOS). Без него X11 Forwarding не будет работать.",{"data":1045,"body":1046},{},{"type":823,"children":1047},[1048],{"type":977,"tag":21,"props":1049,"children":1050},{},[1051],{"type":981,"value":922},{"data":1053,"body":1054},{},{"type":823,"children":1055},[1056],{"type":977,"tag":21,"props":1057,"children":1058},{},[1059,1061,1067,1069,1075,1076,1081,1083,1089,1091,1097,1098,1104],{"type":981,"value":1060},"Убедитесь, что в вашем локальном ",{"type":977,"tag":32,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":981,"value":1066},"ssh_config",{"type":981,"value":1068}," (",{"type":977,"tag":32,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":981,"value":1074},"/etc/ssh/ssh_config",{"type":981,"value":121},{"type":977,"tag":32,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":981,"value":132},{"type":981,"value":1082},") не отключена опция ",{"type":977,"tag":32,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":981,"value":1088},"ForwardX11",{"type":981,"value":1090},". Она должна быть ",{"type":977,"tag":32,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":981,"value":1096},"yes",{"type":981,"value":121},{"type":977,"tag":32,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":981,"value":1103},"trusted",{"type":981,"value":68},{"data":1106,"body":1107},{},{"type":823,"children":1108},[1109],{"type":977,"tag":21,"props":1110,"children":1111},{},[1112,1114,1119,1121,1126,1127,1132,1134,1139],{"type":981,"value":1113},"Откройте ",{"type":977,"tag":32,"props":1115,"children":1117},{"className":1116},[],[1118],{"type":981,"value":215},{"type":981,"value":1120}," на удалённом сервере и проверьте/добавьте строки: ",{"type":977,"tag":32,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":981,"value":269},{"type":981,"value":583},{"type":977,"tag":32,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":981,"value":275},{"type":981,"value":1133},". Перезапустите ",{"type":977,"tag":32,"props":1135,"children":1137},{"className":1136},[],[1138],{"type":981,"value":184},{"type":981,"value":1140}," после изменений.",{"data":1142,"body":1143},{},{"type":823,"children":1144},[1145],{"type":977,"tag":21,"props":1146,"children":1147},{},[1148,1149,1154,1156,1161,1162,1168,1170,1176],{"type":981,"value":1020},{"type":977,"tag":32,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":981,"value":41},{"type":981,"value":1155},", если его нет: ",{"type":977,"tag":32,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":981,"value":1033},{"type":981,"value":1035},{"type":977,"tag":32,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":981,"value":1167},"sudo dnf install xauth",{"type":981,"value":1169}," (RHEL 8+). Проверьте наличие командой ",{"type":977,"tag":32,"props":1171,"children":1173},{"className":1172},[],[1174],{"type":981,"value":1175},"which xauth",{"type":981,"value":68},{"data":1178,"body":1179},{},{"type":823,"children":1180},[1181],{"type":977,"tag":21,"props":1182,"children":1183},{},[1184,1186,1192,1194,1199],{"type":981,"value":1185},"Используйте ",{"type":977,"tag":32,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":981,"value":1191},"ssh -Y user@server",{"type":981,"value":1193}," для доверенного форвардинга (рекомендуется, если сервер доверенный). Флаг ",{"type":977,"tag":32,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":981,"value":56},{"type":981,"value":1200}," — с ограничениями безопасности, что может вызвать ошибки у некоторых приложений.",{"data":1202,"body":1203},{},{"type":823,"children":1204},[1205],{"type":977,"tag":21,"props":1206,"children":1207},{},[1208,1210,1215,1217,1222],{"type":981,"value":1209},"После подключения на сервере выполните ",{"type":977,"tag":32,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":981,"value":790},{"type":981,"value":1216},". Должен вывестись адрес типа ",{"type":977,"tag":32,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":981,"value":519},{"type":981,"value":1223},". Если переменная пуста — форвардинг не активировался.",{"data":1225,"body":1226},{},{"type":823,"children":1227},[1228],{"type":977,"tag":21,"props":1229,"children":1230},{},[1231,1233,1239,1240,1246,1248,1254,1255,1261],{"type":981,"value":1232},"Запустите простое приложение, например ",{"type":977,"tag":32,"props":1234,"children":1236},{"className":1235},[],[1237],{"type":981,"value":1238},"xclock",{"type":981,"value":121},{"type":977,"tag":32,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":981,"value":1245},"gedit",{"type":981,"value":1247},". Если окно появится на вашем локальном экране — настройка успешна. При ошибках смотрите логи ",{"type":977,"tag":32,"props":1249,"children":1251},{"className":1250},[],[1252],{"type":981,"value":1253},"ssh -vvv",{"type":981,"value":583},{"type":977,"tag":32,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":981,"value":1260},"journalctl -u sshd",{"type":981,"value":68},[1263,1755,3132],{"id":1264,"title":1265,"appliesTo":1266,"author":11,"body":1269,"canonical":903,"code":94,"createdAt":1708,"description":1709,"difficulty":906,"draft":907,"estimatedTime":1710,"extension":909,"faq":1711,"howToSteps":1721,"howToTotalTime":1734,"image":903,"keywords":1735,"locale":954,"meta":1741,"navigation":324,"path":959,"platform":957,"related":1742,"section":962,"seo":1745,"severity":1746,"stem":1747,"summary":1748,"tags":1749,"twitterCreator":903,"twitterSite":903,"type":1753,"updatedAt":1708,"__hash__":1754},"content_ru/guides/linux/ssh-tunnel-guide.md","SSH Туннель: Практическое руководство по созданию безопасного соединения",[1267,1268],"Linux (любой дистрибутив)","OpenSSH 7.0+",{"type":13,"value":1270,"toc":1695},[1271,1276,1279,1283,1286,1300,1304,1307,1319,1322,1347,1350,1369,1374,1378,1381,1384,1402,1405,1425,1436,1439,1443,1446,1449,1466,1468,1481,1492,1496,1499,1502,1519,1521,1529,1536,1540,1543,1619,1623,1628,1631,1642,1646,1649,1664,1668,1671,1689,1692],[1272,1273,1275],"h1",{"id":1274},"введение","Введение",[21,1277,1278],{},"SSH туннель — это мощный инструмент для создания защищенного соединения через небезопасную сеть. Он позволяет перенаправлять сетевой трафик через зашифрованное SSH соединение, обеспечивая конфиденциальность данных и обходя сетевые ограничения. В этой статье мы рассмотрим различные типы SSH туннелей и их практическое применение.",[16,1280,1282],{"id":1281},"требования","Требования",[21,1284,1285],{},"Перед созданием SSH туннеля убедитесь, что у вас есть:",[25,1287,1288,1291,1294,1297],{},[28,1289,1290],{},"Доступ к удаленному серверу с установленным SSH сервером",[28,1292,1293],{},"SSH клиент на вашей локальной машине (обычно предустановлен в Linux)",[28,1295,1296],{},"Права доступа к необходимым портам",[28,1298,1299],{},"SSH учетные данные (пароль или SSH ключи)",[16,1301,1303],{"id":1302},"шаг-1-подготовка-ssh-клиента","Шаг 1: Подготовка SSH клиента",[21,1305,1306],{},"Сначала проверьте, что SSH клиент установлен и работает:",[89,1308,1310],{"className":91,"code":1309,"language":93,"meta":94,"style":94},"ssh -V\n",[32,1311,1312],{"__ignoreMap":94},[98,1313,1314,1316],{"class":100,"line":101},[98,1315,203],{"class":104},[98,1317,1318],{"class":108}," -V\n",[21,1320,1321],{},"Если SSH не установлен, установите его:",[89,1323,1325],{"className":91,"code":1324,"language":93,"meta":94,"style":94},"sudo apt update\nsudo apt install openssh-client\n",[32,1326,1327,1336],{"__ignoreMap":94},[98,1328,1329,1331,1333],{"class":100,"line":101},[98,1330,225],{"class":104},[98,1332,397],{"class":112},[98,1334,1335],{"class":112}," update\n",[98,1337,1338,1340,1342,1344],{"class":100,"line":148},[98,1339,225],{"class":104},[98,1341,397],{"class":112},[98,1343,411],{"class":112},[98,1345,1346],{"class":112}," openssh-client\n",[21,1348,1349],{},"Проверьте доступность удаленного сервера:",[89,1351,1353],{"className":91,"code":1352,"language":93,"meta":94,"style":94},"ping -c 3 remote-server.com\n",[32,1354,1355],{"__ignoreMap":94},[98,1356,1357,1360,1363,1366],{"class":100,"line":101},[98,1358,1359],{"class":104},"ping",[98,1361,1362],{"class":108}," -c",[98,1364,1365],{"class":108}," 3",[98,1367,1368],{"class":112}," remote-server.com\n",[159,1370,1371],{},[21,1372,1373],{},"💡 Совет: Для постоянных соединений рекомендуется настроить аутентификацию по SSH ключам вместо пароля.",[16,1375,1377],{"id":1376},"шаг-2-создание-локального-туннеля","Шаг 2: Создание локального туннеля",[21,1379,1380],{},"Локальный туннель перенаправляет трафик с вашей локальной машины на удаленный сервер. Это полезно для безопасного доступа к сервисам, запущенным на удаленном сервере.",[21,1382,1383],{},"Команда для создания локального туннеля:",[89,1385,1387],{"className":91,"code":1386,"language":93,"meta":94,"style":94},"ssh -L 8080:localhost:80 user@remote-server.com\n",[32,1388,1389],{"__ignoreMap":94},[98,1390,1391,1393,1396,1399],{"class":100,"line":101},[98,1392,203],{"class":104},[98,1394,1395],{"class":108}," -L",[98,1397,1398],{"class":112}," 8080:localhost:80",[98,1400,1401],{"class":112}," user@remote-server.com\n",[21,1403,1404],{},"В этой команде:",[25,1406,1407,1413,1419],{},[28,1408,1409,1412],{},[32,1410,1411],{},"8080"," — локальный порт на вашей машине",[28,1414,1415,1418],{},[32,1416,1417],{},"localhost:80"," — адрес и порт на удаленном сервере",[28,1420,1421,1424],{},[32,1422,1423],{},"user@remote-server.com"," — ваши учетные данные",[21,1426,1427,1428,1431,1432,1435],{},"После выполнения команды вы можете открыть ",[32,1429,1430],{},"http://localhost:8080"," в браузере, и трафик будет перенаправлен на ",[32,1433,1434],{},"http://remote-server.com:80"," через зашифрованный туннель.",[1437,1438],"in-article-ad",{},[16,1440,1442],{"id":1441},"шаг-3-создание-удаленного-туннеля","Шаг 3: Создание удаленного туннеля",[21,1444,1445],{},"Удаленный туннель позволяет предоставить доступ к сервисам на вашей локальной машине с удаленного сервера. Это полезно для демонстрации веб-сайтов или предоставления доступа к локальным сервисам.",[21,1447,1448],{},"Команда для создания удаленного туннеля:",[89,1450,1452],{"className":91,"code":1451,"language":93,"meta":94,"style":94},"ssh -R 8080:localhost:3000 user@remote-server.com\n",[32,1453,1454],{"__ignoreMap":94},[98,1455,1456,1458,1461,1464],{"class":100,"line":101},[98,1457,203],{"class":104},[98,1459,1460],{"class":108}," -R",[98,1462,1463],{"class":112}," 8080:localhost:3000",[98,1465,1401],{"class":112},[21,1467,1404],{},[25,1469,1470,1475],{},[28,1471,1472,1474],{},[32,1473,1411],{}," — порт на удаленном сервере",[28,1476,1477,1480],{},[32,1478,1479],{},"localhost:3000"," — адрес и порт на вашей локальной машине",[21,1482,1483,1484,1487,1488,1491],{},"Теперь, если вы откроете ",[32,1485,1486],{},"http://remote-server.com:8080"," с любой машины, трафик будет перенаправлен на ",[32,1489,1490],{},"http://localhost:3000"," на вашей локальной машине.",[16,1493,1495],{"id":1494},"шаг-4-создание-динамического-туннеля","Шаг 4: Создание динамического туннеля",[21,1497,1498],{},"Динамический туннель создает SOCKS прокси, который позволяет безопасно обходить интернет-ограничения и шифровать весь веб-трафик.",[21,1500,1501],{},"Команда для создания динамического туннеля:",[89,1503,1505],{"className":91,"code":1504,"language":93,"meta":94,"style":94},"ssh -D 1080 user@remote-server.com\n",[32,1506,1507],{"__ignoreMap":94},[98,1508,1509,1511,1514,1517],{"class":100,"line":101},[98,1510,203],{"class":104},[98,1512,1513],{"class":108}," -D",[98,1515,1516],{"class":108}," 1080",[98,1518,1401],{"class":112},[21,1520,1404],{},[25,1522,1523],{},[28,1524,1525,1528],{},[32,1526,1527],{},"1080"," — порт SOCKS прокси на вашей машине",[21,1530,1531,1532,1535],{},"После создания туннеля настройте ваш браузер или приложение на использование SOCKS прокси ",[32,1533,1534],{},"localhost:1080",". Весь трафик будет проходить через зашифрованный туннель.",[16,1537,1539],{"id":1538},"проверка-результата","Проверка результата",[21,1541,1542],{},"Чтобы убедиться, что туннель работает:",[80,1544,1545,1571,1590],{},[28,1546,1547,1548],{},"Проверьте активность SSH процесса:",[89,1549,1551],{"className":91,"code":1550,"language":93,"meta":94,"style":94},"ps aux | grep ssh\n",[32,1552,1553],{"__ignoreMap":94},[98,1554,1555,1558,1561,1565,1568],{"class":100,"line":101},[98,1556,1557],{"class":104},"ps",[98,1559,1560],{"class":112}," aux",[98,1562,1564],{"class":1563},"szBVR"," |",[98,1566,1567],{"class":104}," grep",[98,1569,1570],{"class":112}," ssh\n",[28,1572,1573,1574],{},"Проверьте соединение с сервисом через туннель:",[89,1575,1577],{"className":91,"code":1576,"language":93,"meta":94,"style":94},"curl -I http://localhost:8080\n",[32,1578,1579],{"__ignoreMap":94},[98,1580,1581,1584,1587],{"class":100,"line":101},[98,1582,1583],{"class":104},"curl",[98,1585,1586],{"class":108}," -I",[98,1588,1589],{"class":112}," http://localhost:8080\n",[28,1591,1592,1593],{},"Для динамического туннеля проверьте настройки прокси:",[89,1594,1596],{"className":91,"code":1595,"language":93,"meta":94,"style":94},"echo \"SOCKS5 localhost:1080\" | nc -zv localhost 1080\n",[32,1597,1598],{"__ignoreMap":94},[98,1599,1600,1602,1605,1607,1610,1613,1616],{"class":100,"line":101},[98,1601,509],{"class":108},[98,1603,1604],{"class":112}," \"SOCKS5 localhost:1080\"",[98,1606,1564],{"class":1563},[98,1608,1609],{"class":104}," nc",[98,1611,1612],{"class":108}," -zv",[98,1614,1615],{"class":112}," localhost",[98,1617,1618],{"class":108}," 1080\n",[16,1620,1622],{"id":1621},"возможные-проблемы","Возможные проблемы",[1624,1625,1627],"h3",{"id":1626},"ошибка-connection-refused","Ошибка \"Connection refused\"",[21,1629,1630],{},"Если вы получаете ошибку \"Connection refused\", проверьте:",[25,1632,1633,1636,1639],{},[28,1634,1635],{},"Доступность порта на удаленном сервере",[28,1637,1638],{},"Права доступа к портам (некоторые порты требуют права root)",[28,1640,1641],{},"Настройки файрвола на обеих машинах",[1624,1643,1645],{"id":1644},"туннель-постоянно-рвется","Туннель постоянно рвется",[21,1647,1648],{},"Если SSH туннель постоянно разрывается, попробуйте:",[25,1650,1651,1658,1661],{},[28,1652,1653,1654,1657],{},"Добавить параметр ",[32,1655,1656],{},"-o ServerAliveInterval=60"," для поддержания соединения",[28,1659,1660],{},"Настроить keep-alive на SSH сервере",[28,1662,1663],{},"Проверить стабильность интернет-соединения",[1624,1665,1667],{"id":1666},"недостаточно-прав-для-использования-порта","Недостаточно прав для использования порта",[21,1669,1670],{},"Если вы получаете ошибку о недостаточных правах при использовании портов ниже 1024, используйте порты выше 1024 или запускайте команду с правами root:",[89,1672,1674],{"className":91,"code":1673,"language":93,"meta":94,"style":94},"sudo ssh -L 80:localhost:80 user@remote-server.com\n",[32,1675,1676],{"__ignoreMap":94},[98,1677,1678,1680,1682,1684,1687],{"class":100,"line":101},[98,1679,225],{"class":104},[98,1681,342],{"class":112},[98,1683,1395],{"class":108},[98,1685,1686],{"class":112}," 80:localhost:80",[98,1688,1401],{"class":112},[21,1690,1691],{},"SSH туннели — это мощный инструмент для обеспечения безопасности и обхода сетевых ограничений. С практикой вы сможете создавать сложные конфигурации для различных сценариев использования.",[888,1693,1694],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":94,"searchDepth":148,"depth":148,"links":1696},[1697,1698,1699,1700,1701,1702,1703],{"id":1281,"depth":148,"text":1282},{"id":1302,"depth":148,"text":1303},{"id":1376,"depth":148,"text":1377},{"id":1441,"depth":148,"text":1442},{"id":1494,"depth":148,"text":1495},{"id":1538,"depth":148,"text":1539},{"id":1621,"depth":148,"text":1622,"children":1704},[1705,1706,1707],{"id":1626,"depth":154,"text":1627},{"id":1644,"depth":154,"text":1645},{"id":1666,"depth":154,"text":1667},"2026-04-09 15:31:36","Узнайте, как настроить SSH туннель для безопасного доступа к удаленным ресурсам. Пошаговые инструкции для Linux с примерами команд.","15-20 мин",[1712,1715,1718],{"question":1713,"answer":1714},"В чем разница между локальным и удаленным туннелем?","Локальный туннель перенаправляет трафик с локальной машины на удаленный сервер, а удаленный туннель делает наоборот — открывает доступ к локальным сервисам на удаленной машине.",{"question":1716,"answer":1717},"Как проверить, работает ли SSH туннель?","Вы можете проверить активность туннеля командой `ps aux | grep ssh` или попытаться подключиться к сервису через туннель.",{"question":1719,"answer":1720},"Можно ли создать SSH туннель без пароля?","Да, можно использовать аутентификацию по SSH ключам, что позволяет создавать туннели без ввода пароля.",[1722,1725,1728,1731],{"name":1723,"text":1724},"Подготовка SSH клиента","Убедитесь, что SSH клиент установлен и настроен на вашей системе. Проверьте доступность удаленного сервера.",{"name":1726,"text":1727},"Создание локального туннеля","Настройте перенаправление локального порта на удаленный сервер для безопасного доступа к сервисам.",{"name":1729,"text":1730},"Создание удаленного туннеля","Настройте обратное перенаправление для предоставления доступа к локальным сервисам с удаленного сервера.",{"name":1732,"text":1733},"Создание динамического туннеля","Настройте SOCKS прокси для безопасного обхода интернет-ограничений.","PT20M",[1736,1737,1738,1739,1740],"ssh туннель","ssh порт туннель","создать ssh туннель","linux ssh tunnel","безопасное соединение ssh",{},[1743,1744],"/guides/linux/ssh-key-setup","/guides/linux/firewall-setup",{"title":1265,"description":1709},"low","guides/linux/ssh-tunnel-guide","SSH туннель позволяет создать защищенное соединение через небезопасную сеть, обеспечивая безопасный доступ к удаленным сервисам. В этом гайде вы научитесь создавать туннели различных типов.",[957,203,1750,1751,1752],"network","security","tunnel","guide","1ZXHx1moKXO3Y-CcszDXMW7rNvTMDTcS66Wn0RtWzeo",{"id":1756,"title":1757,"appliesTo":1758,"author":11,"body":1764,"canonical":903,"code":1803,"createdAt":3076,"description":3077,"difficulty":906,"draft":907,"estimatedTime":908,"extension":909,"faq":3078,"howToSteps":3091,"howToTotalTime":942,"image":903,"keywords":3107,"locale":954,"meta":3116,"navigation":324,"path":960,"platform":957,"related":3117,"section":3121,"seo":3122,"severity":3123,"stem":3124,"summary":3125,"tags":3126,"twitterCreator":903,"twitterSite":903,"type":970,"updatedAt":3076,"__hash__":3131},"content_ru/errors/linux/ssh-connection-refused.md","SSH Connection Refused: причины и 5 способов исправить ошибку",[1759,1760,1761,1762,1763],"Ubuntu 20.04/22.04","Debian 11/12","CentOS 7/8/Rocky 8/9","RHEL 8/9","Any Linux with OpenSSH server",{"type":13,"value":1765,"toc":3053},[1766,1770,1789,1792,1820,1824,1827,1924,1928,1931,2020,2024,2029,2189,2193,2196,2204,2221,2280,2287,2302,2359,2370,2376,2406,2492,2499,2505,2621,2625,2629,2635,2665,2668,2698,2709,2713,2731,2745,2770,2774,2777,2792,2796,2851,2853,2857,2860,3025,3050],[16,1767,1769],{"id":1768},"что-означает-ошибка-ssh-connection-refused","Что означает ошибка \"SSH Connection refused\"",[21,1771,1772,1773,1776,1777,1780,1781,1784,1785,1788],{},"Ошибка ",[32,1774,1775],{},"ssh: connect to host \u003CIP> port 22: Connection refused"," — это сообщение от клиента SSH, которое означает, что сервер ",[47,1778,1779],{},"активно отклонил"," попытку TCP-соединения на порту 22 (или другом указанном порту). В отличие от ",[32,1782,1783],{},"Connection timed out"," (где пакеты просто теряются), ",[32,1786,1787],{},"refused"," — это прямой ответ от ядра операционной системы сервера: \"служба на этом порту не доступна\".",[21,1790,1791],{},"Симптомы:",[25,1793,1794,1805,1814],{},[28,1795,1796,1797,1800,1801,1804],{},"Команда ",[32,1798,1799],{},"ssh user@server_ip"," завершается с ошибкой ",[32,1802,1803],{},"Connection refused"," практически мгновенно.",[28,1806,1807,1808,1811,1812,68],{},"Утилита ",[32,1809,1810],{},"telnet server_ip 22"," также показывает ",[32,1813,1803],{},[28,1815,1816,1817,1819],{},"Пинг (",[32,1818,1359],{},") до сервера, как правило, проходит успешно, так как проблема на транспортном (TCP) уровне, а не сетевом (ICMP).",[16,1821,1823],{"id":1822},"причины-возникновения","Причины возникновения",[21,1825,1826],{},"Ошибка возникает на стороне сервера. Основные причины:",[80,1828,1829,1838,1851,1861,1873,1902,1911],{},[28,1830,1831,1837],{},[47,1832,1833,1834,1836],{},"Служба SSH (",[32,1835,184],{},") не запущена."," Это самая частая причина. Демон просто не слушает никакие порты.",[28,1839,1840,1846,1847,1850],{},[47,1841,1842,1843,35],{},"SSH-демон слушает только локальный интерфейс (",[32,1844,1845],{},"127.0.0.1"," В конфигурации может быть указан ",[32,1848,1849],{},"ListenAddress 127.0.0.1",", что разрешает подключения только с самого сервера.",[28,1852,1853,1856,1857,1860],{},[47,1854,1855],{},"Фаервол (брандмауэр) блокирует порт."," Правило фаервола может быть настроено на ",[32,1858,1859],{},"REJECT"," (активный отказ) для порта 22 с вашего IP или для всех.",[28,1862,1863,1866,1867,1869,1870,1872],{},[47,1864,1865],{},"Другой процесс уже использует порт 22."," Реже, но возможно, что другой сервис (например, старый ",[32,1868,184],{}," или другой демон) занял порт 22, и новый ",[32,1871,184],{}," не может его занять.",[28,1874,1875,1880,1881,1884,1885,1884,1888,1884,1891,121,1894,1896,1897,1901],{},[47,1876,1877,1878,68],{},"Конфигурационные ограничения в ",[32,1879,34],{}," Директивы ",[32,1882,1883],{},"AllowUsers",", ",[32,1886,1887],{},"DenyUsers",[32,1889,1890],{},"AllowGroups",[32,1892,1893],{},"DenyGroups",[32,1895,883],{},"-блоки могут запрещать подключение для вашего пользователя или IP-адреса, что может приводить к отказу ",[1898,1899,1900],"em",{},"после"," установки соединения, но иногда и на этапе handshake.",[28,1903,1904,1907,1908,1910],{},[47,1905,1906],{},"Проблемы с SELinux/AppArmor."," Системы mandatory access control могут запрещать ",[32,1909,184],{}," слушать сетевой порт или принимать соединения.",[28,1912,1913,1916,1917,1920,1921,68],{},[47,1914,1915],{},"Сервер за NAT/ балансировщиком, а проброс портов не настроен."," Клиент пытается подключиться к публичному IP, но пакеты не доходят до внутреннего сервера, а маршрутизатор сам отвечает ",[32,1918,1919],{},"RST"," (reset) или ",[32,1922,1923],{},"ICMP port unreachable",[16,1925,1927],{"id":1926},"способ-1-проверка-и-запуск-службы-ssh","Способ 1: Проверка и запуск службы SSH",[21,1929,1930],{},"Первым делом убедитесь, что служба работает.",[80,1932,1933,1972,1993,2014],{},[28,1934,1935,1938,1954],{},[47,1936,1937],{},"Проверьте статус службы:",[89,1939,1941],{"className":91,"code":1940,"language":93,"meta":94,"style":94},"sudo systemctl status sshd\n",[32,1942,1943],{"__ignoreMap":94},[98,1944,1945,1947,1949,1952],{"class":100,"line":101},[98,1946,225],{"class":104},[98,1948,313],{"class":112},[98,1950,1951],{"class":112}," status",[98,1953,319],{"class":112},[25,1955,1956,1963],{},[28,1957,1958,1959,1962],{},"Если статус ",[32,1960,1961],{},"active (running)"," — служба работает, переходите к следующему способу.",[28,1964,1958,1965,121,1968,1971],{},[32,1966,1967],{},"inactive (dead)",[32,1969,1970],{},"failed"," — служба не запущена.",[28,1973,1974,1977],{},[47,1975,1976],{},"Запустите службу:",[89,1978,1980],{"className":91,"code":1979,"language":93,"meta":94,"style":94},"sudo systemctl start sshd\n",[32,1981,1982],{"__ignoreMap":94},[98,1983,1984,1986,1988,1991],{"class":100,"line":101},[98,1985,225],{"class":104},[98,1987,313],{"class":112},[98,1989,1990],{"class":112}," start",[98,1992,319],{"class":112},[28,1994,1995,1998],{},[47,1996,1997],{},"Включите автозагрузку (чтобы служба запускалась после перезагрузки):",[89,1999,2001],{"className":91,"code":2000,"language":93,"meta":94,"style":94},"sudo systemctl enable sshd\n",[32,2002,2003],{"__ignoreMap":94},[98,2004,2005,2007,2009,2012],{"class":100,"line":101},[98,2006,225],{"class":104},[98,2008,313],{"class":112},[98,2010,2011],{"class":112}," enable",[98,2013,319],{"class":112},[28,2015,2016,2019],{},[47,2017,2018],{},"Попробуйте подключиться снова."," Если ошибка осталась, проверьте, на каком порту служит служба (Способ 2).",[16,2021,2023],{"id":2022},"способ-2-проверка-на-каком-порту-и-интерфейсе-служит-ssh","Способ 2: Проверка, на каком порту и интерфейсе служит SSH",[21,2025,2026,2027,68],{},"Узнайте, какие порты и сетевые интерфейсы слушает ",[32,2028,184],{},[80,2030,2031,2116],{},[28,2032,2033,2041,2082,2085,2086,2093],{},[47,2034,1185,2035,121,2038,499],{},[32,2036,2037],{},"ss",[32,2039,2040],{},"netstat",[89,2042,2044],{"className":91,"code":2043,"language":93,"meta":94,"style":94},"sudo ss -tlnp | grep sshd\n# или\nsudo netstat -tlnp | grep sshd\n",[32,2045,2046,2062,2067],{"__ignoreMap":94},[98,2047,2048,2050,2053,2056,2058,2060],{"class":100,"line":101},[98,2049,225],{"class":104},[98,2051,2052],{"class":112}," ss",[98,2054,2055],{"class":108}," -tlnp",[98,2057,1564],{"class":1563},[98,2059,1567],{"class":104},[98,2061,319],{"class":112},[98,2063,2064],{"class":100,"line":148},[98,2065,2066],{"class":305},"# или\n",[98,2068,2069,2071,2074,2076,2078,2080],{"class":100,"line":154},[98,2070,225],{"class":104},[98,2072,2073],{"class":112}," netstat",[98,2075,2055],{"class":108},[98,2077,1564],{"class":1563},[98,2079,1567],{"class":104},[98,2081,319],{"class":112},[2083,2084],"br",{},"Пример вывода для корректной настройки:",[89,2087,2091],{"className":2088,"code":2090,"language":981},[2089],"language-text","tcp   LISTEN  0  128  0.0.0.0:22  0.0.0.0:*  users:((\"sshd\",pid=1234,fd=3))\ntcp   LISTEN  0  128  [::]:22  [::]:*  users:((\"sshd\",pid=1234,fd=4))\n",[32,2092,2090],{"__ignoreMap":94},[25,2094,2095,2101,2107],{},[28,2096,2097,2100],{},[32,2098,2099],{},"0.0.0.0:22"," — слушает на всех IPv4-интерфейсах.",[28,2102,2103,2106],{},[32,2104,2105],{},"[::]:22"," — слушает на всех IPv6-интерфейсах.",[28,2108,2109,2112,2113],{},[32,2110,2111],{},"127.0.0.1:22"," — слушает только локальный интерфейс (loopback). ",[47,2114,2115],{},"В этом случае внешние подключения невозможны.",[28,2117,2118,2124,2129,2141,2161,2176],{},[47,2119,2120,2121,2123],{},"Если слушает только ",[32,2122,1845],{},", исправьте конфигурацию:",[25,2125,2126],{},[28,2127,2128],{},"Откройте файл конфигурации SSH-сервера:",[89,2130,2131],{"className":91,"code":218,"language":93,"meta":94,"style":94},[32,2132,2133],{"__ignoreMap":94},[98,2134,2135,2137,2139],{"class":100,"line":101},[98,2136,225],{"class":104},[98,2138,228],{"class":112},[98,2140,231],{"class":112},[25,2142,2143,2158],{},[28,2144,2145,2146,520,2149,2152,2153,2155,2156,68],{},"Найдите строку ",[32,2147,2148],{},"#ListenAddress 0.0.0.0",[32,2150,2151],{},"ListenAddress ::","). Раскомментируйте её (удалите ",[32,2154,241],{},") или добавьте, если её нет. Убедитесь, что нет строк ",[32,2157,1849],{},[28,2159,2160],{},"Сохраните файл и перезапустите службу:",[89,2162,2164],{"className":91,"code":2163,"language":93,"meta":94,"style":94},"sudo systemctl restart sshd\n",[32,2165,2166],{"__ignoreMap":94},[98,2167,2168,2170,2172,2174],{"class":100,"line":101},[98,2169,225],{"class":104},[98,2171,313],{"class":112},[98,2173,316],{"class":112},[98,2175,319],{"class":112},[25,2177,2178],{},[28,2179,2180,2181,2183,2184,2186,2187,68],{},"Проверьте вывод ",[32,2182,2037],{}," снова — теперь должны быть ",[32,2185,2099],{}," и/или ",[32,2188,2105],{},[16,2190,2192],{"id":2191},"способ-3-проверка-и-настройка-фаервола","Способ 3: Проверка и настройка фаервола",[21,2194,2195],{},"Фаервол может блокировать входящие соединения на порт 22.",[1624,2197,2199,2200,2203],{"id":2198},"для-ufw-ubuntudebian-по-умолчанию","Для ",[32,2201,2202],{},"ufw"," (Ubuntu/Debian по умолчанию)",[89,2205,2207],{"className":91,"code":2206,"language":93,"meta":94,"style":94},"sudo ufw status verbose\n",[32,2208,2209],{"__ignoreMap":94},[98,2210,2211,2213,2216,2218],{"class":100,"line":101},[98,2212,225],{"class":104},[98,2214,2215],{"class":112}," ufw",[98,2217,1951],{"class":112},[98,2219,2220],{"class":112}," verbose\n",[25,2222,2223,2267,2274],{},[28,2224,1958,2225,2228,2229,520,2232,2234,2235],{},[32,2226,2227],{},"Status: active",", проверьте, есть ли правило для ",[32,2230,2231],{},"22/tcp",[32,2233,203],{},"). Если нет, добавьте:\n",[89,2236,2238],{"className":91,"code":2237,"language":93,"meta":94,"style":94},"sudo ufw allow ssh\n# или явно по порту\nsudo ufw allow 22/tcp\n",[32,2239,2240,2251,2256],{"__ignoreMap":94},[98,2241,2242,2244,2246,2249],{"class":100,"line":101},[98,2243,225],{"class":104},[98,2245,2215],{"class":112},[98,2247,2248],{"class":112}," allow",[98,2250,1570],{"class":112},[98,2252,2253],{"class":100,"line":148},[98,2254,2255],{"class":305},"# или явно по порту\n",[98,2257,2258,2260,2262,2264],{"class":100,"line":154},[98,2259,225],{"class":104},[98,2261,2215],{"class":112},[98,2263,2248],{"class":112},[98,2265,2266],{"class":112}," 22/tcp\n",[28,2268,2269,2270,2273],{},"Если правило есть, но с ограничением по IP (",[32,2271,2272],{},"22/tcp ALLOW IN 192.168.1.100","), убедитесь, что ваш IP входит в список.",[28,2275,2276,2277,68],{},"Перезагрузите фаервол: ",[32,2278,2279],{},"sudo ufw reload",[1624,2281,2199,2283,2286],{"id":2282},"для-firewalld-rhelcentosrockyfedora",[32,2284,2285],{},"firewalld"," (RHEL/CentOS/Rocky/Fedora)",[89,2288,2290],{"className":91,"code":2289,"language":93,"meta":94,"style":94},"sudo firewall-cmd --list-all\n",[32,2291,2292],{"__ignoreMap":94},[98,2293,2294,2296,2299],{"class":100,"line":101},[98,2295,225],{"class":104},[98,2297,2298],{"class":112}," firewall-cmd",[98,2300,2301],{"class":108}," --list-all\n",[25,2303,2304,2318,2353],{},[28,2305,2306,2307,121,2310,2313,2314,121,2316,68],{},"В разделе ",[32,2308,2309],{},"services:",[32,2311,2312],{},"ports:"," должно быть ",[32,2315,203],{},[32,2317,2231],{},[28,2319,2320,2321],{},"Если нет, добавьте правило на постоянной основе:\n",[89,2322,2324],{"className":91,"code":2323,"language":93,"meta":94,"style":94},"sudo firewall-cmd --permanent --add-service=ssh\n# или\nsudo firewall-cmd --permanent --add-port=22/tcp\n",[32,2325,2326,2338,2342],{"__ignoreMap":94},[98,2327,2328,2330,2332,2335],{"class":100,"line":101},[98,2329,225],{"class":104},[98,2331,2298],{"class":112},[98,2333,2334],{"class":108}," --permanent",[98,2336,2337],{"class":108}," --add-service=ssh\n",[98,2339,2340],{"class":100,"line":148},[98,2341,2066],{"class":305},[98,2343,2344,2346,2348,2350],{"class":100,"line":154},[98,2345,225],{"class":104},[98,2347,2298],{"class":112},[98,2349,2334],{"class":108},[98,2351,2352],{"class":108}," --add-port=22/tcp\n",[28,2354,2355,2356,68],{},"Примените изменения: ",[32,2357,2358],{},"sudo firewall-cmd --reload",[1624,2360,2199,2362,2365,2366,2369],{"id":2361},"для-iptablesnftables-базовый-стек",[32,2363,2364],{},"iptables","/",[32,2367,2368],{},"nftables"," (базовый стек)",[21,2371,2372,2373,499],{},"Просмотрите цепочку ",[32,2374,2375],{},"INPUT",[89,2377,2379],{"className":91,"code":2378,"language":93,"meta":94,"style":94},"sudo iptables -L INPUT -n -v | grep 22\n",[32,2380,2381],{"__ignoreMap":94},[98,2382,2383,2385,2388,2390,2393,2396,2399,2401,2403],{"class":100,"line":101},[98,2384,225],{"class":104},[98,2386,2387],{"class":112}," iptables",[98,2389,1395],{"class":108},[98,2391,2392],{"class":112}," INPUT",[98,2394,2395],{"class":108}," -n",[98,2397,2398],{"class":108}," -v",[98,2400,1564],{"class":1563},[98,2402,1567],{"class":104},[98,2404,2405],{"class":108}," 22\n",[25,2407,2408,2425,2464],{},[28,2409,2410,2411,121,2413,2416,2417,2420,2421,2424],{},"Ищите правило с ",[32,2412,1859],{},[32,2414,2415],{},"DROP"," для порта 22. Если такое правило есть ",[47,2418,2419],{},"выше"," правила ",[32,2422,2423],{},"ACCEPT",", оно блокирует трафик.",[28,2426,2427,2428],{},"Чтобы добавить правило разрешения в начало цепочки:\n",[89,2429,2431],{"className":91,"code":2430,"language":93,"meta":94,"style":94},"sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n",[32,2432,2433],{"__ignoreMap":94},[98,2434,2435,2437,2439,2441,2443,2446,2449,2452,2455,2458,2461],{"class":100,"line":101},[98,2436,225],{"class":104},[98,2438,2387],{"class":112},[98,2440,1586],{"class":108},[98,2442,2392],{"class":112},[98,2444,2445],{"class":108}," 1",[98,2447,2448],{"class":108}," -p",[98,2450,2451],{"class":112}," tcp",[98,2453,2454],{"class":108}," --dport",[98,2456,2457],{"class":108}," 22",[98,2459,2460],{"class":108}," -j",[98,2462,2463],{"class":112}," ACCEPT\n",[28,2465,2466,2469,2470],{},[47,2467,2468],{},"Сохраните правила"," (иначе они сбросятся после перезагрузки):\n",[25,2471,2472,2480],{},[28,2473,2199,2474,2476,2477],{},[32,2475,2364],{},": ",[32,2478,2479],{},"sudo iptables-save | sudo tee /etc/iptables/rules.v4",[28,2481,2199,2482,2484,2485,2488,2489,68],{},[32,2483,2368],{},": убедитесь, что конфиг в ",[32,2486,2487],{},"/etc/nftables.conf"," корректен и выполните ",[32,2490,2491],{},"sudo nft -f /etc/nftables.conf",[16,2493,2495,2496,2498],{"id":2494},"способ-4-проверка-конфигурации-ssh-сервера-sshd_config","Способ 4: Проверка конфигурации SSH-сервера (",[32,2497,34],{},")",[21,2500,2501,2502,2504],{},"Неправильные настройки в ",[32,2503,215],{}," могут блокировать доступ.",[80,2506,2507,2524,2591],{},[28,2508,2509,2512],{},[47,2510,2511],{},"Откройте файл конфигурации:",[89,2513,2514],{"className":91,"code":218,"language":93,"meta":94,"style":94},[32,2515,2516],{"__ignoreMap":94},[98,2517,2518,2520,2522],{"class":100,"line":101},[98,2519,225],{"class":104},[98,2521,228],{"class":112},[98,2523,231],{"class":112},[28,2525,2526,2529],{},[47,2527,2528],{},"Проверьте ключевые директивы:",[25,2530,2531,2540,2556,2568,2576,2584],{},[28,2532,2533,2536,2537,35],{},[32,2534,2535],{},"Port 22"," — убедитесь, что порт указан корректно (если используете нестандартный, проверьте фаервол и подключение по ",[32,2538,2539],{},"-p",[28,2541,2542,2545,2546,2549,2550,2553,2554,68],{},[32,2543,2544],{},"ListenAddress"," — если эта директива присутствует, она должна быть ",[32,2547,2548],{},"0.0.0.0"," (для IPv4) или ",[32,2551,2552],{},"::"," (для IPv6), а не ",[32,2555,1845],{},[28,2557,2558,2561,2562,121,2564,2567],{},[32,2559,2560],{},"PermitRootLogin"," — если вы пытаетесь подключиться под root, убедитесь, что значение ",[32,2563,1096],{},[32,2565,2566],{},"prohibit-password"," (если используете ключ).",[28,2569,2570,2573,2574,68],{},[32,2571,2572],{},"PasswordAuthentication"," — если используете пароль, проверьте, что ",[32,2575,1096],{},[28,2577,2578,2580,2581,2583],{},[32,2579,1883],{}," / ",[32,2582,1890],{}," — если эти директивы есть, убедитесь, что ваш пользователь (или группа) перечислен в них.",[28,2585,2586,2580,2588,2590],{},[32,2587,1887],{},[32,2589,1893],{}," — убедитесь, что ваш пользователь не указан здесь.",[28,2592,2593,2596,2610],{},[47,2594,2595],{},"После внесения изменений перезапустите службу:",[89,2597,2598],{"className":91,"code":2163,"language":93,"meta":94,"style":94},[32,2599,2600],{"__ignoreMap":94},[98,2601,2602,2604,2606,2608],{"class":100,"line":101},[98,2603,225],{"class":104},[98,2605,313],{"class":112},[98,2607,316],{"class":112},[98,2609,319],{"class":112},[25,2611,2612],{},[28,2613,2614,2616,2617,2620],{},[47,2615,287],{}," Не закрывайте текущую активную SSH-сессию (если она есть) до проверки новой конфигурации! Используйте ",[32,2618,2619],{},"sudo sshd -t"," для проверки синтаксиса файла перед перезапуском.",[16,2622,2624],{"id":2623},"способ-5-проверка-сетевых-правил-selinuxapparmor-и-балансировщиков","Способ 5: Проверка сетевых правил, SELinux/AppArmor и балансировщиков",[1624,2626,2628],{"id":2627},"проверка-selinux-rhelcentosrocky","Проверка SELinux (RHEL/CentOS/Rocky)",[21,2630,2631,2632,2634],{},"SELinux может запрещать ",[32,2633,184],{}," слушать порт.",[89,2636,2638],{"className":91,"code":2637,"language":93,"meta":94,"style":94},"sudo ausearch -m avc -ts recent | grep sshd\n",[32,2639,2640],{"__ignoreMap":94},[98,2641,2642,2644,2647,2650,2653,2656,2659,2661,2663],{"class":100,"line":101},[98,2643,225],{"class":104},[98,2645,2646],{"class":112}," ausearch",[98,2648,2649],{"class":108}," -m",[98,2651,2652],{"class":112}," avc",[98,2654,2655],{"class":108}," -ts",[98,2657,2658],{"class":112}," recent",[98,2660,1564],{"class":1563},[98,2662,1567],{"class":104},[98,2664,319],{"class":112},[21,2666,2667],{},"Если есть записи об отказе, попробуйте восстановить контекст по умолчанию для порта 22:",[89,2669,2671],{"className":91,"code":2670,"language":93,"meta":94,"style":94},"sudo semanage port -a -t ssh_port_t -p tcp 22\n",[32,2672,2673],{"__ignoreMap":94},[98,2674,2675,2677,2680,2683,2686,2689,2692,2694,2696],{"class":100,"line":101},[98,2676,225],{"class":104},[98,2678,2679],{"class":112}," semanage",[98,2681,2682],{"class":112}," port",[98,2684,2685],{"class":108}," -a",[98,2687,2688],{"class":108}," -t",[98,2690,2691],{"class":112}," ssh_port_t",[98,2693,2448],{"class":108},[98,2695,2451],{"class":112},[98,2697,2405],{"class":108},[21,2699,2700,2701,2704,2705,2708],{},"(Установите ",[32,2702,2703],{},"policycoreutils-python-utils",", если ",[32,2706,2707],{},"semanage"," нет).",[1624,2710,2712],{"id":2711},"проверка-apparmor-ubuntudebian","Проверка AppArmor (Ubuntu/Debian)",[89,2714,2716],{"className":91,"code":2715,"language":93,"meta":94,"style":94},"sudo aa-status | grep sshd\n",[32,2717,2718],{"__ignoreMap":94},[98,2719,2720,2722,2725,2727,2729],{"class":100,"line":101},[98,2721,225],{"class":104},[98,2723,2724],{"class":112}," aa-status",[98,2726,1564],{"class":1563},[98,2728,1567],{"class":104},[98,2730,319],{"class":112},[21,2732,2733,2734,2736,2737,2740,2741,2744],{},"Если профиль ",[32,2735,184],{}," находится в режиме ",[32,2738,2739],{},"enforce",", попробуйте перевести его в ",[32,2742,2743],{},"complain"," (для диагностики) или убедитесь, что профиль корректен:",[89,2746,2748],{"className":91,"code":2747,"language":93,"meta":94,"style":94},"sudo aa-complain /etc/apparmor.d/usr.sbin.sshd\nsudo systemctl restart sshd\n",[32,2749,2750,2760],{"__ignoreMap":94},[98,2751,2752,2754,2757],{"class":100,"line":101},[98,2753,225],{"class":104},[98,2755,2756],{"class":112}," aa-complain",[98,2758,2759],{"class":112}," /etc/apparmor.d/usr.sbin.sshd\n",[98,2761,2762,2764,2766,2768],{"class":100,"line":148},[98,2763,225],{"class":104},[98,2765,313],{"class":112},[98,2767,316],{"class":112},[98,2769,319],{"class":112},[1624,2771,2773],{"id":2772},"проверка-балансировщикароутера","Проверка балансировщика/роутера",[21,2775,2776],{},"Если сервер находится за NAT (например, в облаке или дата-центре):",[80,2778,2779,2786,2789],{},[28,2780,2781,2782,2785],{},"Убедитесь, что на роутере/в облачной панели (AWS Security Group, GCP Firewall, Yandex Cloud Security Group и т.д.) ",[47,2783,2784],{},"открыт порт 22 (или ваш кастомный порт)"," для вашего IP-адреса или диапазона.",[28,2787,2788],{},"Проверьте, что правило имеет приоритет выше правил \"отклонить всё\".",[28,2790,2791],{},"Если используете балансировщик нагрузки (ELB, HAProxy), убедитесь, что он настроен на проброс TCP-трафика на порт 22 к вашему бэкенду.",[16,2793,2795],{"id":2794},"профилактика","Профилактика",[80,2797,2798,2806,2816,2825,2834],{},[28,2799,2800,516,2803,68],{},[47,2801,2802],{},"Всегда включайте автозагрузку критичных служб:",[32,2804,2805],{},"sudo systemctl enable sshd",[28,2807,2808,2811,2812,2815],{},[47,2809,2810],{},"Настраивайте фаервол сразу после развёртывания сервера"," и добавляйте правило для SSH ",[1898,2813,2814],{},"до"," того, как включите его в продакшен.",[28,2817,2818,2821,2822,35],{},[47,2819,2820],{},"Используйте нестандартный порт для SSH"," (например, 2222). Это не панацея от атак, но уменьшает количество автоматических сканирований. Не забудьте обновить фаервол и клиентскую команду (",[32,2823,2824],{},"ssh -p 2222 user@host",[28,2826,2827,2830,2831,2833],{},[47,2828,2829],{},"Регулярно проверяйте конфигурацию"," на наличие устаревших или конфликтующих директив (",[32,2832,34],{},", правила iptables/nftables).",[28,2835,2836,516,2839,2842,2843,2846,2847,2850],{},[47,2837,2838],{},"Мониторьте логи SSH:",[32,2840,2841],{},"sudo journalctl -u sshd -f"," в реальном времени или ",[32,2844,2845],{},"sudo cat /var/log/auth.log"," (Ubuntu/Debian) / ",[32,2848,2849],{},"sudo cat /var/log/secure"," (RHEL) для отслеживания попыток подключения и ошибок.",[1437,2852],{},[16,2854,2856],{"id":2855},"дополнительная-диагностика","Дополнительная диагностика",[21,2858,2859],{},"Если ни один из способов не помог, соберите информацию для дальнейшего анализа:",[80,2861,2862,2906,2949,2976],{},[28,2863,2864,2869,2898,2900,2901,121,2904,68],{},[47,2865,2866,2867,499],{},"Логи ",[32,2868,184],{},[89,2870,2872],{"className":91,"code":2871,"language":93,"meta":94,"style":94},"sudo journalctl -u sshd --since \"5 min ago\" | tail -50\n",[32,2873,2874],{"__ignoreMap":94},[98,2875,2876,2878,2880,2882,2884,2887,2890,2892,2895],{"class":100,"line":101},[98,2877,225],{"class":104},[98,2879,605],{"class":112},[98,2881,608],{"class":108},[98,2883,611],{"class":112},[98,2885,2886],{"class":108}," --since",[98,2888,2889],{"class":112}," \"5 min ago\"",[98,2891,1564],{"class":1563},[98,2893,2894],{"class":104}," tail",[98,2896,2897],{"class":108}," -50\n",[2083,2899],{},"Ищите строки с ",[32,2902,2903],{},"Connection closed",[32,2905,1787],{},[28,2907,2908,2911,2935,2937,2938,2941,2942,2945,2946,2948],{},[47,2909,2910],{},"Сетевой трафик (если есть доступ к серверу через консоль/KVM):",[89,2912,2914],{"className":91,"code":2913,"language":93,"meta":94,"style":94},"sudo tcpdump -i any port 22 -nn\n",[32,2915,2916],{"__ignoreMap":94},[98,2917,2918,2920,2923,2925,2928,2930,2932],{"class":100,"line":101},[98,2919,225],{"class":104},[98,2921,2922],{"class":112}," tcpdump",[98,2924,109],{"class":108},[98,2926,2927],{"class":112}," any",[98,2929,2682],{"class":112},[98,2931,2457],{"class":108},[98,2933,2934],{"class":108}," -nn\n",[2083,2936],{},"Попробуйте подключиться с клиента. Если вы видите пакеты ",[32,2939,2940],{},"SYN"," от клиента, но нет пакетов ",[32,2943,2944],{},"SYN-ACK"," от сервера — проблема на стороне сервера (служба/фаервол). Если пакеты ",[32,2947,2940],{}," не приходят — проблема на сети или балансировщике.",[28,2950,2951,2954,2971,2973,2974,68],{},[47,2952,2953],{},"Проверка на наличие конфликтующего процесса:",[89,2955,2957],{"className":91,"code":2956,"language":93,"meta":94,"style":94},"sudo lsof -i :22\n",[32,2958,2959],{"__ignoreMap":94},[98,2960,2961,2963,2966,2968],{"class":100,"line":101},[98,2962,225],{"class":104},[98,2964,2965],{"class":112}," lsof",[98,2967,109],{"class":108},[98,2969,2970],{"class":112}," :22\n",[2083,2972],{},"Убедитесь, что процесс — это ",[32,2975,184],{},[28,2977,2978,2981],{},[47,2979,2980],{},"Проверка целостности пакетов:",[89,2982,2984],{"className":91,"code":2983,"language":93,"meta":94,"style":94},"sudo apt update && sudo apt install --reinstall openssh-server  # Debian/Ubuntu\nsudo yum reinstall openssh-server                            # RHEL/CentOS\n",[32,2985,2986,3011],{"__ignoreMap":94},[98,2987,2988,2990,2992,2994,2996,2998,3000,3002,3005,3008],{"class":100,"line":101},[98,2989,225],{"class":104},[98,2991,397],{"class":112},[98,2993,400],{"class":112},[98,2995,404],{"class":403},[98,2997,225],{"class":104},[98,2999,397],{"class":112},[98,3001,411],{"class":112},[98,3003,3004],{"class":108}," --reinstall",[98,3006,3007],{"class":112}," openssh-server",[98,3009,3010],{"class":305},"  # Debian/Ubuntu\n",[98,3012,3013,3015,3017,3020,3022],{"class":100,"line":148},[98,3014,225],{"class":104},[98,3016,452],{"class":112},[98,3018,3019],{"class":112}," reinstall",[98,3021,3007],{"class":112},[98,3023,3024],{"class":305},"                            # RHEL/CentOS\n",[21,3026,3027,3030,3031,3033,3034,1068,3037,121,3040,2365,3043,3045,3046,3049],{},[47,3028,3029],{},"Внимание:"," После каждого значимого изменения конфигурации (фаервол, ",[32,3032,34],{},") ",[47,3035,3036],{},"перезапускайте соответствующую службу",[32,3038,3039],{},"sudo systemctl restart sshd",[32,3041,3042],{},"sudo systemctl restart firewalld",[32,3044,2202],{},") и ",[47,3047,3048],{},"тестируйте подключение с клиента",". Не закрывайте работающую консольную сессию до подтверждения работоспособности SSH.",[888,3051,3052],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":94,"searchDepth":148,"depth":148,"links":3054},[3055,3056,3057,3058,3059,3067,3069,3074,3075],{"id":1768,"depth":148,"text":1769},{"id":1822,"depth":148,"text":1823},{"id":1926,"depth":148,"text":1927},{"id":2022,"depth":148,"text":2023},{"id":2191,"depth":148,"text":2192,"children":3060},[3061,3063,3065],{"id":2198,"depth":154,"text":3062},"Для ufw (Ubuntu/Debian по умолчанию)",{"id":2282,"depth":154,"text":3064},"Для firewalld (RHEL/CentOS/Rocky/Fedora)",{"id":2361,"depth":154,"text":3066},"Для iptables/nftables (базовый стек)",{"id":2494,"depth":148,"text":3068},"Способ 4: Проверка конфигурации SSH-сервера (sshd_config)",{"id":2623,"depth":148,"text":2624,"children":3070},[3071,3072,3073],{"id":2627,"depth":154,"text":2628},{"id":2711,"depth":154,"text":2712},{"id":2772,"depth":154,"text":2773},{"id":2794,"depth":148,"text":2795},{"id":2855,"depth":148,"text":2856},"2026-02-15 16:48:43","Не можете подключиться к серверу по SSH? Ошибка 'Connection refused' обычно означает, что служба SSH не слушает порт или блокируется фаерволом. Пошаговая инструкция по диагностике и решению за 15-30 минут.",[3079,3082,3085,3088],{"question":3080,"answer":3081},"Чем ошибка 'Connection refused' отличается от 'Connection timed out'?","`Connection refused` означает, что сервер **активно отклонил** соединение на указанном порту (обычно 22). Это часто значит, что служба SSH не запущена или порт закрыт фаерволом. `Connection timed out` означает, что запрос **не получил ответа** (возможно, сервер выключен, маршрутизация неверна или фаервол молча dropping пакеты).",{"question":3083,"answer":3084},"Проверил, порт 22 открыт (netstat показывает LISTEN), но всё равно 'Connection refused'. Почему?","Возможные причины: 1) SSH-демон слушает только локальный интерфейс (`127.0.0.1`), а не внешний (`0.0.0.0`). 2) На уровне фаервола (iptables/nftables) есть правило REJECT для этого порта. 3) Конфигурация SSH (`/etc/ssh/sshd_config`) ограничивает подключение по конкретным IP или интерфейсам (`ListenAddress`).",{"question":3086,"answer":3087},"Можно ли использовать SSH, если порт 22 закрыт, но служба работает?","Да. Если служба `sshd` запущена и слушает другой порт (например, 2222), вы можете подключиться, указав его: `ssh -p 2222 user@host`. Но убедитесь, что этот порт также открыт в фаерволе и проброшен (если используется NAT).",{"question":3089,"answer":3090},"Почему после перезагрузки сервера SSH перестал работать с 'Connection refused'?","Чаще всего служба `sshd` не настроена на автозапуск. Проверьте: `systemctl is-enabled sshd` (должно быть `enabled`). Если `disabled`, включите автозагрузку: `sudo systemctl enable sshd`.",[3092,3095,3098,3101,3104],{"name":3093,"text":3094},"Проверьте статус службы SSH","Убедитесь, что демон SSH (`sshd`) запущен и активен. Используйте `systemctl` для проверки.",{"name":3096,"text":3097},"Проверьте, на каком порту и интерфейсе служит SSH","Узнайте, какие порты и адреса слушает служба, чтобы убедиться, что она готова к внешним подключениям.",{"name":3099,"text":3100},"Проверьте настройки фаервола (iptables/nftables/firewalld/ufw)","Убедитесь, что правило разрешает входящие подключения на порт SSH (по умолчанию 22) с вашего IP-адреса.",{"name":3102,"text":3103},"Проверьте конфигурацию SSH-сервера","Убедитесь, что в `/etc/ssh/sshd_config` нет ограничений (`ListenAddress`, `AllowUsers`), блокирующих ваше подключение.",{"name":3105,"text":3106},"Проверьте сетевые правила и балансировщики","Если сервер за NAT или балансировщиком нагрузки, убедитесь, что порт 22 проброшен (port forwarded) на внутренний IP сервера.",[3108,3109,3110,3111,3112,3113,3114,3115],"ssh connection refused","ошибка ssh отказ в подключении","ssh port 22 refused","как исправить ssh connection refused","ssh не подключается отказ в соединении","ошибка подключения по ssh linux","ssh connection refused ubuntu","порт 22 закрыт ssh",{},[3118,3119,3120],"/errors/linux/ssh-permission-denied","/guides/linux/configure-ssh-server","/errors/linux/ssh-host-key-verification-failed","Ошибки Linux",{"title":1757,"description":3077},"high","errors/linux/ssh-connection-refused","Статья объясняет, что означает ошибка 'SSH Connection refused', перечисляет основные причины (незапущенная служба, закрытый порт, неверные настройки) и предоставляет 5 проверенных способов решения проблемы на Linux-сервере.",[203,957,3127,3128,3129,3130],"сеть","firewall","systemd","debug","47JNE9twsh11tFyVppHPQWE39gMIy0gHshzMnXbg5aI",{"id":3133,"title":3134,"appliesTo":3135,"author":11,"body":3138,"canonical":903,"code":903,"createdAt":3967,"description":3968,"difficulty":906,"draft":907,"estimatedTime":908,"extension":909,"faq":3969,"howToSteps":3982,"howToTotalTime":1734,"image":903,"keywords":3998,"locale":954,"meta":4009,"navigation":324,"path":961,"platform":957,"related":4010,"section":962,"seo":4014,"severity":1746,"stem":4015,"summary":4016,"tags":4017,"twitterCreator":903,"twitterSite":903,"type":1753,"updatedAt":3967,"__hash__":4025},"content_ru/guides/linux/vnc-server-setup.md","Настройка VNC сервера на Linux: пошаговое руководство",[1759,3136,1760,3137],"CentOS 7/8","TigerVNC 1.10+",{"type":13,"value":3139,"toc":3947},[3140,3144,3147,3151,3154,3174,3178,3181,3186,3213,3218,3234,3239,3254,3259,3283,3289,3301,3305,3309,3316,3325,3328,3332,3343,3412,3422,3425,3441,3448,3454,3473,3475,3479,3493,3500,3579,3595,3598,3637,3640,3655,3670,3674,3684,3689,3705,3710,3735,3745,3749,3752,3758,3761,3767,3774,3776,3815,3817,3821,3845,3849,3874,3878,3897,3901,3918,3922,3944],[16,3141,3143],{"id":3142},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,3145,3146],{},"VNC (Virtual Network Computing) — это протокол для удаленного доступа к графическому рабочему столу. Настроенный VNC сервер на Linux позволяет управлять системой из любой точки сети, как если бы вы сидели перед ней. Это полезно для администрирования серверов, работы с GUI-приложениями или доступа к своему рабочему месту извне. В этом гайде вы узнаете, как развернуть VNC сервер на популярных дистрибутивах Linux.",[16,3148,3150],{"id":3149},"требования-подготовка","Требования / Подготовка",[21,3152,3153],{},"Перед началом убедитесь, что:",[25,3155,3156,3159,3162,3171],{},[28,3157,3158],{},"У вас есть Linux-система с установленной графической оболочкой (X11). Wayland может потребовать дополнительных настроек.",[28,3160,3161],{},"У вас есть права администратора (sudo) или доступ к root-аккаунту.",[28,3163,3164,3165,121,3168,35],{},"Система подключена к сети, и вы знаете её IP-адрес (используйте ",[32,3166,3167],{},"ip addr",[32,3169,3170],{},"hostname -I",[28,3172,3173],{},"На удаленном компьютере установлен VNC-клиент (например, TigerVNC Viewer, TightVNC Viewer или RealVNC Viewer).",[16,3175,3177],{"id":3176},"шаг-1-установка-vnc-сервера","Шаг 1: Установка VNC сервера",[21,3179,3180],{},"Мы будем использовать TigerVNC — современную и хорошо поддерживаемую реализацию. Установите пакет через менеджер пакетов вашего дистрибутива.",[21,3182,3183],{},[47,3184,3185],{},"Для Ubuntu/Debian:",[89,3187,3189],{"className":91,"code":3188,"language":93,"meta":94,"style":94},"sudo apt update\nsudo apt install tigervnc-standalone-server tigervnc-common\n",[32,3190,3191,3199],{"__ignoreMap":94},[98,3192,3193,3195,3197],{"class":100,"line":101},[98,3194,225],{"class":104},[98,3196,397],{"class":112},[98,3198,1335],{"class":112},[98,3200,3201,3203,3205,3207,3210],{"class":100,"line":148},[98,3202,225],{"class":104},[98,3204,397],{"class":112},[98,3206,411],{"class":112},[98,3208,3209],{"class":112}," tigervnc-standalone-server",[98,3211,3212],{"class":112}," tigervnc-common\n",[21,3214,3215],{},[47,3216,3217],{},"Для CentOS 7/RHEL 7:",[89,3219,3221],{"className":91,"code":3220,"language":93,"meta":94,"style":94},"sudo yum install tigervnc-server\n",[32,3222,3223],{"__ignoreMap":94},[98,3224,3225,3227,3229,3231],{"class":100,"line":101},[98,3226,225],{"class":104},[98,3228,452],{"class":112},[98,3230,411],{"class":112},[98,3232,3233],{"class":112}," tigervnc-server\n",[21,3235,3236],{},[47,3237,3238],{},"Для CentOS 8+/RHEL 8+/Fedora:",[89,3240,3242],{"className":91,"code":3241,"language":93,"meta":94,"style":94},"sudo dnf install tigervnc-server\n",[32,3243,3244],{"__ignoreMap":94},[98,3245,3246,3248,3250,3252],{"class":100,"line":101},[98,3247,225],{"class":104},[98,3249,429],{"class":112},[98,3251,411],{"class":112},[98,3253,3233],{"class":112},[21,3255,3256],{},[47,3257,3258],{},"Для Debian 11/12:",[89,3260,3262],{"className":91,"code":3261,"language":93,"meta":94,"style":94},"sudo apt update\nsudo apt install tigervnc-standalone-server\n",[32,3263,3264,3272],{"__ignoreMap":94},[98,3265,3266,3268,3270],{"class":100,"line":101},[98,3267,225],{"class":104},[98,3269,397],{"class":112},[98,3271,1335],{"class":112},[98,3273,3274,3276,3278,3280],{"class":100,"line":148},[98,3275,225],{"class":104},[98,3277,397],{"class":112},[98,3279,411],{"class":112},[98,3281,3282],{"class":112}," tigervnc-standalone-server\n",[21,3284,3285,3286,499],{},"После установки проверьте наличие команды ",[32,3287,3288],{},"vncserver",[89,3290,3292],{"className":91,"code":3291,"language":93,"meta":94,"style":94},"vncserver -version\n",[32,3293,3294],{"__ignoreMap":94},[98,3295,3296,3298],{"class":100,"line":101},[98,3297,3288],{"class":104},[98,3299,3300],{"class":108}," -version\n",[16,3302,3304],{"id":3303},"шаг-2-настройка-пароля-и-рабочей-среды","Шаг 2: Настройка пароля и рабочей среды",[1624,3306,3308],{"id":3307},"установка-пароля","Установка пароля",[21,3310,3311,3312,3315],{},"Запустите ",[32,3313,3314],{},"vncpasswd"," для создания пароля доступа. Выполните команду от имени пользователя, который будет запускать VNC-сессии (обычно ваш обычный пользователь, не root):",[89,3317,3319],{"className":91,"code":3318,"language":93,"meta":94,"style":94},"vncpasswd\n",[32,3320,3321],{"__ignoreMap":94},[98,3322,3323],{"class":100,"line":101},[98,3324,3318],{"class":104},[21,3326,3327],{},"Вам предложат ввести и подтвердить пароль (6-8 символов). Опционально можно задать view-only пароль (только просмотр без управления). Запомните пароль — он понадобится при подключении.",[1624,3329,3331],{"id":3330},"настройка-рабочей-среды","Настройка рабочей среды",[21,3333,3334,3335,3338,3339,3342],{},"VNC серверу нужно указать, какую графическую среду запускать. Создайте или отредактируйте файл ",[32,3336,3337],{},"~/.vnc/xstartup"," (для пользовательской сессии) или глобальный конфиг ",[32,3340,3341],{},"/etc/vnc/xstartup",". Пример для GNOME (стандартная среда в Ubuntu):",[89,3344,3346],{"className":91,"code":3345,"language":93,"meta":94,"style":94},"#!/bin/bash\nxrdb $HOME/.Xresources\nxsetroot -solid grey\nexport XKL_XMODMAP_DISABLE=1\nunset SESSION_MANAGER\nunset DBUS_SESSION_BUS_ADDRESS\ngnome-session &\n",[32,3347,3348,3353,3364,3375,3389,3397,3404],{"__ignoreMap":94},[98,3349,3350],{"class":100,"line":101},[98,3351,3352],{"class":305},"#!/bin/bash\n",[98,3354,3355,3358,3361],{"class":100,"line":148},[98,3356,3357],{"class":104},"xrdb",[98,3359,3360],{"class":403}," $HOME",[98,3362,3363],{"class":112},"/.Xresources\n",[98,3365,3366,3369,3372],{"class":100,"line":154},[98,3367,3368],{"class":104},"xsetroot",[98,3370,3371],{"class":108}," -solid",[98,3373,3374],{"class":112}," grey\n",[98,3376,3377,3380,3383,3386],{"class":100,"line":328},[98,3378,3379],{"class":1563},"export",[98,3381,3382],{"class":403}," XKL_XMODMAP_DISABLE",[98,3384,3385],{"class":1563},"=",[98,3387,3388],{"class":108},"1\n",[98,3390,3391,3394],{"class":100,"line":334},[98,3392,3393],{"class":108},"unset",[98,3395,3396],{"class":112}," SESSION_MANAGER\n",[98,3398,3399,3401],{"class":100,"line":436},[98,3400,3393],{"class":108},[98,3402,3403],{"class":112}," DBUS_SESSION_BUS_ADDRESS\n",[98,3405,3406,3409],{"class":100,"line":441},[98,3407,3408],{"class":104},"gnome-session",[98,3410,3411],{"class":403}," &\n",[21,3413,3414,3415,3418,3419,68],{},"Для KDE Plasma замените последнюю строку на ",[32,3416,3417],{},"startplasma-x11 &",", для XFCE — на ",[32,3420,3421],{},"startxfce4 &",[21,3423,3424],{},"Сделайте файл исполняемым:",[89,3426,3428],{"className":91,"code":3427,"language":93,"meta":94,"style":94},"chmod +x ~/.vnc/xstartup\n",[32,3429,3430],{"__ignoreMap":94},[98,3431,3432,3435,3438],{"class":100,"line":101},[98,3433,3434],{"class":104},"chmod",[98,3436,3437],{"class":112}," +x",[98,3439,3440],{"class":112}," ~/.vnc/xstartup\n",[21,3442,3443,3444,3447],{},"Также можно создать конфигурационный файл ",[32,3445,3446],{},"~/.vnc/config"," для параметров сервера (опционально):",[89,3449,3452],{"className":3450,"code":3451,"language":981},[2089],"geometry=1920x1080\ndepth=24\nlocalhost=no\nsecuritytypes=vncauth\n",[32,3453,3451],{"__ignoreMap":94},[21,3455,3456,3457,3460,3461,3464,3465,3468,3469,3472],{},"Здесь ",[32,3458,3459],{},"geometry"," — разрешение экрана, ",[32,3462,3463],{},"depth"," — глубина цвета, ",[32,3466,3467],{},"localhost=no"," разрешает подключения извне (по умолчанию только localhost), ",[32,3470,3471],{},"securitytypes"," — метод аутентификации.",[1437,3474],{},[16,3476,3478],{"id":3477},"шаг-3-настройка-systemd-сервиса","Шаг 3: Настройка systemd сервиса",[21,3480,3481,3482,3485,3486,3489,3490,35],{},"Для автоматического запуска VNC сервера при загрузке создайте systemd-юнит. Обычно используется шаблон ",[32,3483,3484],{},"vncserver@.service",", где ",[32,3487,3488],{},"@"," заменяется номером дисплея (например, ",[32,3491,3492],{},":1",[21,3494,3495,3496,3499],{},"Создайте или отредактируйте файл ",[32,3497,3498],{},"/etc/systemd/system/vncserver@.service"," (требует sudo):",[89,3501,3503],{"className":136,"code":3502,"language":138,"meta":94,"style":94},"[Unit]\nDescription=Remote desktop service (VNC)\nAfter=syslog.target network.target\n\n[Service]\nType=forking\nExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1\nExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i\nExecStop=/usr/bin/vncserver -kill :%i\nUser=ваш_пользователь\nGroup=ваш_пользователь\n\n[Install]\nWantedBy=multi-user.target\n",[32,3504,3505,3510,3515,3520,3524,3529,3534,3539,3544,3550,3556,3562,3567,3573],{"__ignoreMap":94},[98,3506,3507],{"class":100,"line":101},[98,3508,3509],{},"[Unit]\n",[98,3511,3512],{"class":100,"line":148},[98,3513,3514],{},"Description=Remote desktop service (VNC)\n",[98,3516,3517],{"class":100,"line":154},[98,3518,3519],{},"After=syslog.target network.target\n",[98,3521,3522],{"class":100,"line":328},[98,3523,325],{"emptyLinePlaceholder":324},[98,3525,3526],{"class":100,"line":334},[98,3527,3528],{},"[Service]\n",[98,3530,3531],{"class":100,"line":436},[98,3532,3533],{},"Type=forking\n",[98,3535,3536],{"class":100,"line":441},[98,3537,3538],{},"ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1\n",[98,3540,3541],{"class":100,"line":447},[98,3542,3543],{},"ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i\n",[98,3545,3547],{"class":100,"line":3546},9,[98,3548,3549],{},"ExecStop=/usr/bin/vncserver -kill :%i\n",[98,3551,3553],{"class":100,"line":3552},10,[98,3554,3555],{},"User=ваш_пользователь\n",[98,3557,3559],{"class":100,"line":3558},11,[98,3560,3561],{},"Group=ваш_пользователь\n",[98,3563,3565],{"class":100,"line":3564},12,[98,3566,325],{"emptyLinePlaceholder":324},[98,3568,3570],{"class":100,"line":3569},13,[98,3571,3572],{},"[Install]\n",[98,3574,3576],{"class":100,"line":3575},14,[98,3577,3578],{},"WantedBy=multi-user.target\n",[21,3580,3581,3582,3585,3586,583,3589,3592,3593,68],{},"Замените ",[32,3583,3584],{},"ваш_пользователь"," на имя вашего пользователя Linux (не root). Параметры ",[32,3587,3588],{},"-depth",[32,3590,3591],{},"-geometry"," можно настроить под свои нужды или перенести в ",[32,3594,3446],{},[21,3596,3597],{},"Затем выполните:",[89,3599,3601],{"className":91,"code":3600,"language":93,"meta":94,"style":94},"sudo systemctl daemon-reload\nsudo systemctl enable vncserver@1.service  # для дисплея :1 (порт 5901)\nsudo systemctl start vncserver@1.service\n",[32,3602,3603,3612,3626],{"__ignoreMap":94},[98,3604,3605,3607,3609],{"class":100,"line":101},[98,3606,225],{"class":104},[98,3608,313],{"class":112},[98,3610,3611],{"class":112}," daemon-reload\n",[98,3613,3614,3616,3618,3620,3623],{"class":100,"line":148},[98,3615,225],{"class":104},[98,3617,313],{"class":112},[98,3619,2011],{"class":112},[98,3621,3622],{"class":112}," vncserver@1.service",[98,3624,3625],{"class":305},"  # для дисплея :1 (порт 5901)\n",[98,3627,3628,3630,3632,3634],{"class":100,"line":154},[98,3629,225],{"class":104},[98,3631,313],{"class":112},[98,3633,1990],{"class":112},[98,3635,3636],{"class":112}," vncserver@1.service\n",[21,3638,3639],{},"Проверьте статус:",[89,3641,3643],{"className":91,"code":3642,"language":93,"meta":94,"style":94},"sudo systemctl status vncserver@1.service\n",[32,3644,3645],{"__ignoreMap":94},[98,3646,3647,3649,3651,3653],{"class":100,"line":101},[98,3648,225],{"class":104},[98,3650,313],{"class":112},[98,3652,1951],{"class":112},[98,3654,3636],{"class":112},[21,3656,3657,3658,3661,3662,3665,3666,3669],{},"Если нужно использовать другой дисплей (например, ",[32,3659,3660],{},":2"," для порта 5902), замените ",[32,3663,3664],{},"1"," на ",[32,3667,3668],{},"2"," в командах.",[16,3671,3673],{"id":3672},"шаг-4-настройка-фаервола","Шаг 4: Настройка фаервола",[21,3675,3676,3677,3679,3680,3683],{},"Откройте порт VNC в фаерволе. По умолчанию для дисплея ",[32,3678,3492],{}," используется порт ",[32,3681,3682],{},"5901"," (формула: 5900 + номер дисплея).",[21,3685,3686],{},[47,3687,3688],{},"Для ufw (Ubuntu/Debian):",[89,3690,3692],{"className":91,"code":3691,"language":93,"meta":94,"style":94},"sudo ufw allow 5901/tcp\n",[32,3693,3694],{"__ignoreMap":94},[98,3695,3696,3698,3700,3702],{"class":100,"line":101},[98,3697,225],{"class":104},[98,3699,2215],{"class":112},[98,3701,2248],{"class":112},[98,3703,3704],{"class":112}," 5901/tcp\n",[21,3706,3707],{},[47,3708,3709],{},"Для firewalld (CentOS/RHEL/Fedora):",[89,3711,3713],{"className":91,"code":3712,"language":93,"meta":94,"style":94},"sudo firewall-cmd --permanent --add-port=5901/tcp\nsudo firewall-cmd --reload\n",[32,3714,3715,3726],{"__ignoreMap":94},[98,3716,3717,3719,3721,3723],{"class":100,"line":101},[98,3718,225],{"class":104},[98,3720,2298],{"class":112},[98,3722,2334],{"class":108},[98,3724,3725],{"class":108}," --add-port=5901/tcp\n",[98,3727,3728,3730,3732],{"class":100,"line":148},[98,3729,225],{"class":104},[98,3731,2298],{"class":112},[98,3733,3734],{"class":108}," --reload\n",[159,3736,3737],{},[21,3738,747,3739,3741,3742,35],{},[47,3740,287],{}," Не открывайте VNC порт напрямую в интернет без дополнительной защиты. Используйте SSH-туннель или VPN, и ограничьте доступ по IP через фаервол (например, ",[32,3743,3744],{},"sudo ufw allow from 192.168.1.0/24 to any port 5901",[16,3746,3748],{"id":3747},"шаг-5-подключение-с-клиента","Шаг 5: Подключение с клиента",[21,3750,3751],{},"На удаленном компьютере (Windows, macOS, Linux или мобильном устройстве) установите VNC-клиент. В адресной строке клиента введите:",[89,3753,3756],{"className":3754,"code":3755,"language":981},[2089],"IP_адрес_сервера:5901\n",[32,3757,3755],{"__ignoreMap":94},[21,3759,3760],{},"или",[89,3762,3765],{"className":3763,"code":3764,"language":981},[2089],"IP_адрес_сервера:1\n",[32,3766,3764],{"__ignoreMap":94},[21,3768,3769,3770,3773],{},"Где ",[32,3771,3772],{},"IP_адрес_сервера"," — внешний или внутренний IP вашей Linux-машины. При подключении введите пароль, установленный на шаге 2. Если всё настроено правильно, вы увидите рабочий стол Linux.",[16,3775,1539],{"id":1538},[80,3777,3778,3784,3794,3812],{},[28,3779,3780,3781,68],{},"Убедитесь, что VNC сервис активен: ",[32,3782,3783],{},"sudo systemctl status vncserver@1.service",[28,3785,3786,3787,3790,3791,35],{},"Проверьте, что порт слушает: ",[32,3788,3789],{},"ss -tlnp | grep 5901"," (должен показать процесс ",[32,3792,3793],{},"Xvnc",[28,3795,3796,3797],{},"Подключитесь с клиента и проверьте:\n",[25,3798,3799,3802,3805],{},[28,3800,3801],{},"Отображается ли рабочий стол?",[28,3803,3804],{},"Работают ли мышь и клавиатура?",[28,3806,3807,3808,3811],{},"Можно ли запустить терминал и выполнить команды (например, ",[32,3809,3810],{},"ls -la",")?",[28,3813,3814],{},"Попробуйте перезагрузить сервер и убедитесь, что VNC запускается автоматически.",[16,3816,1622],{"id":1621},[1624,3818,3820],{"id":3819},"ошибка-аутентификации-или-password-failed","Ошибка аутентификации или \"Password failed\"",[25,3822,3823,3829,3839],{},[28,3824,3825,3826,3828],{},"Убедитесь, что пароль установлен через ",[32,3827,3314],{}," для правильного пользователя.",[28,3830,3831,3832,3835,3836,35],{},"Проверьте, что в ",[32,3833,3834],{},"~/.vnc/passwd"," файл существует и имеет правильные права (",[32,3837,3838],{},"chmod 600 ~/.vnc/passwd",[28,3840,3841,3842,68],{},"Если меняли пароль, перезапустите сервис: ",[32,3843,3844],{},"sudo systemctl restart vncserver@1.service",[1624,3846,3848],{"id":3847},"пустой-или-чёрный-экран-после-подключения","Пустой или чёрный экран после подключения",[25,3850,3851,3861,3871],{},[28,3852,3853,3854,583,3857,3860],{},"Проверьте логи VNC: ",[32,3855,3856],{},"cat ~/.vnc/*.log",[32,3858,3859],{},"cat ~/.vnc/*.log.old",". Ищите ошибки запуска сессии.",[28,3862,3863,3864,3866,3867,3870],{},"Убедитесь, что в ",[32,3865,3337],{}," указана корректная команда запуска оболочки (например, ",[32,3868,3869],{},"gnome-session &"," для GNOME).",[28,3872,3873],{},"Если система использует Wayland по умолчанию (например, в Ubuntu 22.04), переключитесь на Xorg на экране входа (значок шестерёнки → \"Ubuntu on Xorg\").",[1624,3875,3877],{"id":3876},"порт-не-открыт-или-соединение-отклонено","Порт не открыт или соединение отклонено",[25,3879,3880,3889,3894],{},[28,3881,3882,3883,121,3886,68],{},"Проверьте фаервол: ",[32,3884,3885],{},"sudo ufw status",[32,3887,3888],{},"sudo firewall-cmd --list-all",[28,3890,3891,3892,68],{},"Убедитесь, что сервис слушает на порту: ",[32,3893,3789],{},[28,3895,3896],{},"Проверьте, не блокирует ли подключение сетевой интерфейс или облачный фаервол (если сервер в облаке, откройте порт в консоли облачного провайдера).",[1624,3898,3900],{"id":3899},"низкое-разрешение-или-неправильный-размер-экрана","Низкое разрешение или неправильный размер экрана",[25,3902,3903,3915],{},[28,3904,3905,3906,3908,3909,3911,3912,35],{},"Измените параметр ",[32,3907,3459],{}," в ",[32,3910,3446],{}," или в команде запуска сервиса (например, ",[32,3913,3914],{},"-geometry 1920x1080",[28,3916,3917],{},"Перезапустите сервис после изменений.",[1624,3919,3921],{"id":3920},"проблемы-с-производительностью","Проблемы с производительностью",[25,3923,3924,3931,3941],{},[28,3925,3926,3927,3930],{},"Уменьшите глубину цвета (",[32,3928,3929],{},"depth=16"," вместо 24) в конфиге для более быстрой передачи.",[28,3932,3933,3934,3908,3937,3940],{},"Используйте сжатие: добавьте ",[32,3935,3936],{},"-compresslevel 9",[32,3938,3939],{},"ExecStart"," сервиса (если поддерживается).",[28,3942,3943],{},"Рассмотрите использование SSH-туннеля для шифрования и возможного ускорения в некоторых сетях.",[888,3945,3946],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":94,"searchDepth":148,"depth":148,"links":3948},[3949,3950,3951,3952,3956,3957,3958,3959,3960],{"id":3142,"depth":148,"text":3143},{"id":3149,"depth":148,"text":3150},{"id":3176,"depth":148,"text":3177},{"id":3303,"depth":148,"text":3304,"children":3953},[3954,3955],{"id":3307,"depth":154,"text":3308},{"id":3330,"depth":154,"text":3331},{"id":3477,"depth":148,"text":3478},{"id":3672,"depth":148,"text":3673},{"id":3747,"depth":148,"text":3748},{"id":1538,"depth":148,"text":1539},{"id":1621,"depth":148,"text":1622,"children":3961},[3962,3963,3964,3965,3966],{"id":3819,"depth":154,"text":3820},{"id":3847,"depth":154,"text":3848},{"id":3876,"depth":154,"text":3877},{"id":3899,"depth":154,"text":3900},{"id":3920,"depth":154,"text":3921},"2026-02-17 16:22:38","Узнайте, как установить и настроить VNC сервер на Linux для удаленного доступа к рабочему столу. Инструкция для Ubuntu, CentOS, Debian с примерами команд и советами по безопасности.",[3970,3973,3976,3979],{"question":3971,"answer":3972},"Какой VNC сервер лучше выбрать для Ubuntu?","Для Ubuntu рекомендуется TigerVNC, так как он хорошо интегрируется с системой и поддерживает современные функции. Альтернативы: TightVNC или x11vnc.",{"question":3974,"answer":3975},"Как открыть порт VNC в фаерволе?","Для ufw: `sudo ufw allow 5901/tcp`. Для firewalld: `sudo firewall-cmd --permanent --add-port=5901/tcp && sudo firewall-cmd --reload`. Замените 5901 на ваш порт.",{"question":3977,"answer":3978},"Можно ли использовать VNC на Wayland вместо X11?","Классические VNC серверы работают только с X11. На Wayland используйте `xwayland` или альтернативы如 RDP через xrdp. Но лучше переключиться на Xorg для VNC.",{"question":3980,"answer":3981},"Как обеспечить безопасность VNC соединения?","Всегда используйте сильный пароль, настройте шифрование через SSH туннель или TLS, и ограничьте доступ по IP через фаервол. Не открывайте VNC порт напрямую в интернет.",[3983,3986,3989,3992,3995],{"name":3984,"text":3985},"Установите VNC сервер","Установите пакет VNC сервера, например, TigerVNC, с помощью менеджера пакетов вашего дистрибутива.",{"name":3987,"text":3988},"Настройте пароль и рабочую среду","Запустите `vncpasswd` для установки пароля и отредактируйте конфигурационные файлы, чтобы указать рабочую среду (GNOME, KDE и т.д.).",{"name":3990,"text":3991},"Создайте systemd сервис","Настройте systemd юнит для автоматического запуска VNC сервера при загрузке системы.",{"name":3993,"text":3994},"Настройте фаервол","Откройте порт VNC (по умолчанию 5901 для display :1) в фаерволе для разрешения входящих соединений.",{"name":3996,"text":3997},"Запустите и протестируйте","Запустите сервис и подключитесь с VNC клиента, используя IP-адрес сервера и номер дисплея.",[3999,4000,4001,4002,4003,4004,4005,4006,4007,4008],"настройка vnc сервера linux","установка vnc сервера ubuntu","vnc server linux команды","как настроить vnc на centos","удаленный доступ vnc linux","tigervnc настройка","tightvnc сервер установка","vnc сервер для линукс","vnc remote desktop linux setup","vnc server configuration",{},[4011,4012,4013],"/guides/linux/vnc-client-setup","/guides/linux/ssh-tunneling","/errors/linux/vnc-connection-refused",{"title":3134,"description":3968},"guides/linux/vnc-server-setup","Этот гайд подробно описывает процесс настройки VNC сервера на Linux. Вы сможете развернуть удаленный рабочий стол и управлять системой из любой точки сети.",[957,4018,4019,4020,4021,4022,4023,4024],"vnc","remote-desktop","tigervnc","ubuntu","centos","server-configuration","gui-access","kJfA-WOlEyhF2tsojTKm4cxKAL_zcDD8WDIy__erF7U"]