[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/tmux-basics":3,"mdc--82z1pb-key":613,"mdc--u1feif-key":624,"mdc--ulauzi-key":669,"mdc-956ee-key":677,"mdc-dnubt7-key":714,"mdc-onzqgz-key":722,"mdc--r2c1ir-key":739,"mdc-hrydf2-key":768,"mdc-bbg6y5-key":797,"mdc-4vs514-key":821,"related-/guides/linux/vim-basics,/guides/linux/bash-scripting,/guides/linux/ssh-tunnels":844},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":543,"code":543,"createdAt":544,"description":545,"difficulty":546,"draft":547,"estimatedTime":548,"extension":549,"faq":550,"howToSteps":563,"howToTotalTime":582,"image":543,"keywords":583,"locale":594,"meta":595,"navigation":596,"path":597,"platform":598,"related":599,"section":603,"seo":604,"severity":543,"stem":605,"summary":606,"tags":607,"twitterCreator":543,"twitterSite":543,"type":611,"updatedAt":544,"__hash__":612},"content_ru/guides/linux/tmux-basics.md","Освойте tmux: Полное руководство по основам терминального мультиплексора",[7,8,9,10],"Ubuntu 22.04+","Debian 11+","Fedora 36+","tmux 3.0+","FixPedia Team",{"type":13,"value":14,"toc":528},"minimark",[15,20,28,32,35,53,57,62,65,102,105,121,124,142,145,164,168,171,189,200,204,211,268,272,279,319,322,326,333,359,362,366,369,404,408,411,441,445,473,494,511,524],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23,27],"p",{},[24,25,26],"strong",{},"Tmux"," (terminal multiplexer) — это терминальный мультиплексор, который позволяет управлять несколькими сессиями, окнами и панелями в одном терминале. Он особенно полезен для администрирования серверов через SSH: вы можете запустить длительные процессы, отсоединиться, а позже вернуться и продолжить работу с того же места. После освоения tmux вы сможете значительно повысить эффективность работы в командной строке Linux, организовав пространство под свои задачи.",[16,29,31],{"id":30},"требования-подготовка","Требования / Подготовка",[21,33,34],{},"Перед началом убедитесь, что:",[36,37,38,42,50],"ul",{},[39,40,41],"li",{},"У вас есть доступ к терминалу Linux (Ubuntu, Debian, Fedora и т.д.).",[39,43,44,45,49],{},"Есть права на установку пакетов (обычно через ",[46,47,48],"code",{},"sudo",").",[39,51,52],{},"Базовое знакомство с командной строкой (навигация, выполнение команд).\n-Tmux версии 3.0 или новее (в современных дистрибутивах обычно последняя).",[16,54,56],{"id":55},"пошаговая-инструкция","Пошаговая инструкция",[58,59,61],"h3",{"id":60},"шаг-1-установите-tmux","Шаг 1: Установите tmux",[21,63,64],{},"Установите tmux через менеджер пакетов вашего дистрибутива. Для большинства дистрибутивов на базе Debian/Ubuntu:",[66,67,72],"pre",{"className":68,"code":69,"language":70,"meta":71,"style":71},"language-bash shiki shiki-themes github-light github-dark","sudo apt update\nsudo apt install tmux\n","bash","",[46,73,74,89],{"__ignoreMap":71},[75,76,79,82,86],"span",{"class":77,"line":78},"line",1,[75,80,48],{"class":81},"sScJk",[75,83,85],{"class":84},"sZZnC"," apt",[75,87,88],{"class":84}," update\n",[75,90,92,94,96,99],{"class":77,"line":91},2,[75,93,48],{"class":81},[75,95,85],{"class":84},[75,97,98],{"class":84}," install",[75,100,101],{"class":84}," tmux\n",[21,103,104],{},"Для Fedora/RHEL:",[66,106,108],{"className":68,"code":107,"language":70,"meta":71,"style":71},"sudo dnf install tmux\n",[46,109,110],{"__ignoreMap":71},[75,111,112,114,117,119],{"class":77,"line":78},[75,113,48],{"class":81},[75,115,116],{"class":84}," dnf",[75,118,98],{"class":84},[75,120,101],{"class":84},[21,122,123],{},"Для Arch Linux:",[66,125,127],{"className":68,"code":126,"language":70,"meta":71,"style":71},"sudo pacman -S tmux\n",[46,128,129],{"__ignoreMap":71},[75,130,131,133,136,140],{"class":77,"line":78},[75,132,48],{"class":81},[75,134,135],{"class":84}," pacman",[75,137,139],{"class":138},"sj4cs"," -S",[75,141,101],{"class":84},[21,143,144],{},"После установки проверьте версию:",[66,146,148],{"className":68,"code":147,"language":70,"meta":71,"style":71},"tmux -V\n# Пример вывода: tmux 3.3a\n",[46,149,150,158],{"__ignoreMap":71},[75,151,152,155],{"class":77,"line":78},[75,153,154],{"class":81},"tmux",[75,156,157],{"class":138}," -V\n",[75,159,160],{"class":77,"line":91},[75,161,163],{"class":162},"sJ8bj","# Пример вывода: tmux 3.3a\n",[58,165,167],{"id":166},"шаг-2-создайте-новую-сессию","Шаг 2: Создайте новую сессию",[21,169,170],{},"Запустите tmux, создав сессию с понятным именем:",[66,172,174],{"className":68,"code":173,"language":70,"meta":71,"style":71},"tmux new -s работа\n",[46,175,176],{"__ignoreMap":71},[75,177,178,180,183,186],{"class":77,"line":78},[75,179,154],{"class":81},[75,181,182],{"class":84}," new",[75,184,185],{"class":138}," -s",[75,187,188],{"class":84}," работа\n",[21,190,191,192,195,196,199],{},"Вы увидите строку состояния внизу экрана с именем сессии (",[46,193,194],{},"работ","), номером окна и временем. Теперь все команды внутри tmux выполняются с префиксом ",[46,197,198],{},"Ctrl+b"," (по умолчанию), после которого нажимается другая клавиша.",[58,201,203],{"id":202},"шаг-3-основные-операции-с-окнами","Шаг 3: Основные операции с окнами",[21,205,206,207,210],{},"Внутри сессии вы работаете с ",[24,208,209],{},"окнами"," — аналогами вкладок.",[36,212,213,222,239,251],{},[39,214,215,218,219],{},[24,216,217],{},"Создать новое окно",": ",[46,220,221],{},"Ctrl+b c",[39,223,224,218,227,230,231,234,235,238],{},[24,225,226],{},"Переключиться между окнами",[46,228,229],{},"Ctrl+b n"," (следующее) или ",[46,232,233],{},"Ctrl+b p"," (предыдущее). Также можно ",[46,236,237],{},"Ctrl+b 0..9"," для перехода по номеру.",[39,240,241,218,244,247,248,49],{},[24,242,243],{},"Переименовать текущее окно",[46,245,246],{},"Ctrl+b ,"," (введите имя, нажмите ",[46,249,250],{},"Enter",[39,252,253,256,257,260,261,264,265,49],{},[24,254,255],{},"Закрыть окно",": выйдите из оболочки (например, ",[46,258,259],{},"exit",") или нажмите ",[46,262,263],{},"Ctrl+b &"," (подтвердите ",[46,266,267],{},"y",[58,269,271],{"id":270},"шаг-4-разделение-панелей","Шаг 4: Разделение панелей",[21,273,274,275,278],{},"Tmux позволяет разделять окно на несколько ",[24,276,277],{},"панелей"," (panes) для одновременного просмотра.",[36,280,281,290,299,308],{},[39,282,283,286,287],{},[24,284,285],{},"Разделить вертикально"," (лево/право): ",[46,288,289],{},"Ctrl+b %",[39,291,292,295,296],{},[24,293,294],{},"Разделить горизонтально"," (верх/низ): ",[46,297,298],{},"Ctrl+b \"",[39,300,301,218,304,307],{},[24,302,303],{},"Переключаться между панелями",[46,305,306],{},"Ctrl+b стрелка"," (в направлении панели).",[39,309,310,313,314,264,317,49],{},[24,311,312],{},"Закрыть панель",": выйдите из оболочки в ней или нажмите ",[46,315,316],{},"Ctrl+b x",[46,318,267],{},[320,321],"in-article-ad",{},[58,323,325],{"id":324},"шаг-5-отсоединение-и-повторное-подключение","Шаг 5: Отсоединение и повторное подключение",[21,327,328,329,332],{},"Одна из главных фич tmux — ",[24,330,331],{},"отсоединение"," (detach) без завершения процессов.",[36,334,335,343,351],{},[39,336,337,218,340],{},[24,338,339],{},"Отсоединиться от сессии",[46,341,342],{},"Ctrl+b d",[39,344,345,218,348],{},[24,346,347],{},"Вернуться к сессии",[46,349,350],{},"tmux attach -t работа",[39,352,353,218,356],{},[24,354,355],{},"Присоединиться к другой сессии",[46,357,358],{},"tmux attach -t другое_имя",[21,360,361],{},"Вы также можете создать новую сессию в другом терминале и работать параллельно.",[58,363,365],{"id":364},"шаг-6-управление-сессиями-извне","Шаг 6: Управление сессиями извне",[21,367,368],{},"Когда вы вне tmux, полезно управлять сессиями через CLI.",[36,370,371,379,387,395],{},[39,372,373,218,376],{},[24,374,375],{},"Список активных сессий",[46,377,378],{},"tmux ls",[39,380,381,218,384],{},[24,382,383],{},"Переименовать сессию",[46,385,386],{},"tmux rename-session -t старое новое",[39,388,389,218,392],{},[24,390,391],{},"Удалить сессию",[46,393,394],{},"tmux kill-session -t работа",[39,396,397,218,400,403],{},[24,398,399],{},"Создать сессию и сразу запустить команду",[46,401,402],{},"tmux new -d -s бэкап 'tar -czf /backup.tar.gz /важная_папка'"," (сессия запустится в фоне).",[16,405,407],{"id":406},"проверка-результата","Проверка результата",[21,409,410],{},"Убедитесь, что tmux работает корректно:",[412,413,414,417,427,438],"ol",{},[39,415,416],{},"Создайте сессию, откройте несколько окон и панелей.",[39,418,419,420,422,423,426],{},"Отсоединитесь (",[46,421,342],{},"), затем зайдите в другой терминал и выполните ",[46,424,425],{},"tmux attach -t \u003Cимя_сессии>"," — вы должны вернуться к тому же состоянию.",[39,428,429,430,433,434,437],{},"Запустите долгую команду (например, ",[46,431,432],{},"ping 8.8.8.8","), отсоединитесь, подключитесь снова — процесс ",[46,435,436],{},"ping"," должен продолжаться.",[39,439,440],{},"Проверьте, что окна и панели сохраняются.",[16,442,444],{"id":443},"возможные-проблемы","Возможные проблемы",[446,447,448],"blockquote",{},[21,449,450,451,454,457,458,460,461,464,465,468,469,472],{},"⚠️ ",[24,452,453],{},"Префикс конфликтует с другим ПО",[455,456],"br",{},"\nЕсли ",[46,459,198],{}," уже используется (например, в Vim), измените префикс. Добавьте в ",[46,462,463],{},"~/.tmux.conf"," строку ",[46,466,467],{},"set -g prefix C-a"," (заменит на ",[46,470,471],{},"Ctrl+a","). Перезапустите tmux.",[446,474,475],{},[21,476,450,477,480,482,483,485,486,489,490,493],{},[24,478,479],{},"Невозможно копировать текст мышью",[455,481],{},"\nПо умолчанию tmux перехватывает мышь. Для копирования через системный буфер включите поддержку мыши: в ",[46,484,463],{}," добавьте ",[46,487,488],{},"set -g mouse on",". Перезагрузите конфиг: ",[46,491,492],{},"Ctrl+b : source-file ~/.tmux.conf",".",[446,495,496],{},[21,497,450,498,501,503,504,507,508,493],{},[24,499,500],{},"Сессия не сохраняется после перезагрузки",[455,502],{},"\nTmux хранит сессии только в памяти. Для автосохранения используйте плагины (например, ",[46,505,506],{},"tmux-resurrect","). Установите через менеджер плагинов (TPM) и добавьте в ",[46,509,510],{},".tmux.conf",[446,512,513],{},[21,514,450,515,518,520,521,523],{},[24,516,517],{},"Ошибка «no server running» при attach",[455,519],{},"\nСессия уже завершена или была убита. Проверьте список: ",[46,522,378],{},". Если сессии нет, создайте новую.",[525,526,527],"style",{},"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}",{"title":71,"searchDepth":91,"depth":91,"links":529},[530,531,532,541,542],{"id":18,"depth":91,"text":19},{"id":30,"depth":91,"text":31},{"id":55,"depth":91,"text":56,"children":533},[534,536,537,538,539,540],{"id":60,"depth":535,"text":61},3,{"id":166,"depth":535,"text":167},{"id":202,"depth":535,"text":203},{"id":270,"depth":535,"text":271},{"id":324,"depth":535,"text":325},{"id":364,"depth":535,"text":365},{"id":406,"depth":91,"text":407},{"id":443,"depth":91,"text":444},null,"2026-02-17 12:27:03","Узнайте, как эффективно работать в терминале Linux с tmux. Пошаговое руководство от установки до базовых операций. Начните управлять несколькими сессиями за 15 минут!","easy",false,"15-30 мин","md",[551,554,557,560],{"question":552,"answer":553},"Чем tmux отличается от screen?","Tmux более современный, поддерживает разделение панелей, мышь и имеет более гибкую настройку. Screen — более старый и простой инструмент.",{"question":555,"answer":556},"Как скопировать текст из tmux?","Нажмите `Ctrl+b` затем `[` для входа в режим копирования. Выделите текст стрелками, нажмите `Enter` для копирования. Вставьте через `Ctrl+b` `]`.",{"question":558,"answer":559},"Сохраняются ли процессы при отсоединении от сессии?","Да, это ключевая особенность tmux. Процессы продолжают работать даже после отсоединения, что позволяет возобновлять работу с того же места.",{"question":561,"answer":562},"Как изменить стандартную комбинацию клавиш?","Добавьте строку `set -g prefix C-a` в файл `~/.tmux.conf`, чтобы заменить `Ctrl+b` на `Ctrl+a`. Перезапустите tmux для применения.",[564,567,570,573,576,579],{"name":565,"text":566},"Установите tmux","Установите пакет tmux через системный менеджер пакетов вашего дистрибутива. Для Debian/Ubuntu используйте apt, для Fedora — dnf.",{"name":568,"text":569},"Создайте новую сессию","Запусти tmux с именем сессии командой `tmux new -s my_session`. Это создаст изолированное пространство с одним окном.",{"name":571,"text":572},"Управляйте окнами","Создавайте новые окна через `Ctrl+b c`, переключайтесь между ними `Ctrl+b n` (следующее) или `Ctrl+b p` (предыдущее). Номер окна отображается в строке состояния.",{"name":574,"text":575},"Разделите панели","Разделите текущую панель вертикально `Ctrl+b %` или горизонтально `Ctrl+b \"`. Переключайтесь между панелями через `Ctrl+b стрелка`.",{"name":577,"text":578},"Отсоединяйтесь и присоединяйтесь","Отсоединитесь от сессии, нажав `Ctrl+b d`. Вернитесь позже командой `tmux attach -t my_session`. Сессия продолжит работу.",{"name":580,"text":581},"Просматривайте и управляйте сессиями","Список активных сессий: `tmux ls`. Удалите завершенную: `tmux kill-session -t my_session`.","PT20M",[584,585,586,587,588,589,590,591,592,593],"tmux linux","как использовать tmux","tmux окна","tmux сессии","мультиплексор терминала","управление терминалом linux","tmux основы","tmux установка","tmux команды","tmux для начинающих","ru_RU",{},true,"/guides/linux/tmux-basics","linux",[600,601,602],"/guides/linux/vim-basics","/guides/linux/bash-scripting","/guides/linux/ssh-tunnels","Гайды Linux",{"title":5,"description":545},"guides/linux/tmux-basics","Это руководство поможет вам освоить tmux — мощный инструмент для управления терминальными сессиями. Вы научитесь запускать, переключать и разделять окна, что повысит вашу продуктивность в Linux.",[154,608,598,609,610],"terminal","мультиплексор","multiplexer","guide","6DetjSJLQ6op1HKCXy3DEN37V7esyFfOfVcpM8BbGjI",{"data":614,"body":615},{},{"type":616,"children":617},"root",[618],{"type":619,"tag":21,"props":620,"children":621},"element",{},[622],{"type":623,"value":553},"text",{"data":625,"body":626},{},{"type":616,"children":627},[628],{"type":619,"tag":21,"props":629,"children":630},{},[631,633,638,640,646,648,653,655,660,662,668],{"type":623,"value":632},"Нажмите ",{"type":619,"tag":46,"props":634,"children":636},{"className":635},[],[637],{"type":623,"value":198},{"type":623,"value":639}," затем ",{"type":619,"tag":46,"props":641,"children":643},{"className":642},[],[644],{"type":623,"value":645},"[",{"type":623,"value":647}," для входа в режим копирования. Выделите текст стрелками, нажмите ",{"type":619,"tag":46,"props":649,"children":651},{"className":650},[],[652],{"type":623,"value":250},{"type":623,"value":654}," для копирования. Вставьте через ",{"type":619,"tag":46,"props":656,"children":658},{"className":657},[],[659],{"type":623,"value":198},{"type":623,"value":661}," ",{"type":619,"tag":46,"props":663,"children":665},{"className":664},[],[666],{"type":623,"value":667},"]",{"type":623,"value":493},{"data":670,"body":671},{},{"type":616,"children":672},[673],{"type":619,"tag":21,"props":674,"children":675},{},[676],{"type":623,"value":559},{"data":678,"body":679},{},{"type":616,"children":680},[681],{"type":619,"tag":21,"props":682,"children":683},{},[684,686,691,693,698,700,705,707,712],{"type":623,"value":685},"Добавьте строку ",{"type":619,"tag":46,"props":687,"children":689},{"className":688},[],[690],{"type":623,"value":467},{"type":623,"value":692}," в файл ",{"type":619,"tag":46,"props":694,"children":696},{"className":695},[],[697],{"type":623,"value":463},{"type":623,"value":699},", чтобы заменить ",{"type":619,"tag":46,"props":701,"children":703},{"className":702},[],[704],{"type":623,"value":198},{"type":623,"value":706}," на ",{"type":619,"tag":46,"props":708,"children":710},{"className":709},[],[711],{"type":623,"value":471},{"type":623,"value":713},". Перезапустите tmux для применения.",{"data":715,"body":716},{},{"type":616,"children":717},[718],{"type":619,"tag":21,"props":719,"children":720},{},[721],{"type":623,"value":566},{"data":723,"body":724},{},{"type":616,"children":725},[726],{"type":619,"tag":21,"props":727,"children":728},{},[729,731,737],{"type":623,"value":730},"Запусти tmux с именем сессии командой ",{"type":619,"tag":46,"props":732,"children":734},{"className":733},[],[735],{"type":623,"value":736},"tmux new -s my_session",{"type":623,"value":738},". Это создаст изолированное пространство с одним окном.",{"data":740,"body":741},{},{"type":616,"children":742},[743],{"type":619,"tag":21,"props":744,"children":745},{},[746,748,753,755,760,761,766],{"type":623,"value":747},"Создавайте новые окна через ",{"type":619,"tag":46,"props":749,"children":751},{"className":750},[],[752],{"type":623,"value":221},{"type":623,"value":754},", переключайтесь между ними ",{"type":619,"tag":46,"props":756,"children":758},{"className":757},[],[759],{"type":623,"value":229},{"type":623,"value":230},{"type":619,"tag":46,"props":762,"children":764},{"className":763},[],[765],{"type":623,"value":233},{"type":623,"value":767}," (предыдущее). Номер окна отображается в строке состояния.",{"data":769,"body":770},{},{"type":616,"children":771},[772],{"type":619,"tag":21,"props":773,"children":774},{},[775,777,782,784,789,791,796],{"type":623,"value":776},"Разделите текущую панель вертикально ",{"type":619,"tag":46,"props":778,"children":780},{"className":779},[],[781],{"type":623,"value":289},{"type":623,"value":783}," или горизонтально ",{"type":619,"tag":46,"props":785,"children":787},{"className":786},[],[788],{"type":623,"value":298},{"type":623,"value":790},". Переключайтесь между панелями через ",{"type":619,"tag":46,"props":792,"children":794},{"className":793},[],[795],{"type":623,"value":306},{"type":623,"value":493},{"data":798,"body":799},{},{"type":616,"children":800},[801],{"type":619,"tag":21,"props":802,"children":803},{},[804,806,811,813,819],{"type":623,"value":805},"Отсоединитесь от сессии, нажав ",{"type":619,"tag":46,"props":807,"children":809},{"className":808},[],[810],{"type":623,"value":342},{"type":623,"value":812},". Вернитесь позже командой ",{"type":619,"tag":46,"props":814,"children":816},{"className":815},[],[817],{"type":623,"value":818},"tmux attach -t my_session",{"type":623,"value":820},". Сессия продолжит работу.",{"data":822,"body":823},{},{"type":616,"children":824},[825],{"type":619,"tag":21,"props":826,"children":827},{},[828,830,835,837,843],{"type":623,"value":829},"Список активных сессий: ",{"type":619,"tag":46,"props":831,"children":833},{"className":832},[],[834],{"type":623,"value":378},{"type":623,"value":836},". Удалите завершенную: ",{"type":619,"tag":46,"props":838,"children":840},{"className":839},[],[841],{"type":623,"value":842},"tmux kill-session -t my_session",{"type":623,"value":493},[845,1736],{"id":846,"title":847,"appliesTo":848,"author":543,"body":851,"canonical":543,"code":543,"createdAt":543,"description":1682,"difficulty":546,"draft":547,"estimatedTime":1683,"extension":549,"faq":1684,"howToSteps":1697,"howToTotalTime":582,"image":543,"keywords":1713,"locale":594,"meta":1723,"navigation":596,"path":600,"platform":598,"related":1724,"section":603,"seo":1728,"severity":543,"stem":1729,"summary":1730,"tags":1731,"twitterCreator":543,"twitterSite":543,"type":611,"updatedAt":543,"__hash__":1735},"content_ru/guides/linux/vim-basics.md","Vim для начинающих: освойте редактор за 20 минут",[7,8,849,850],"CentOS 8+","Любой дистрибутив Linux с установленным Vim",{"type":13,"value":852,"toc":1668},[853,855,858,860,905,907,911,918,931,934,946,949,969,979,983,986,1047,1062,1067,1105,1115,1119,1125,1207,1212,1247,1251,1256,1341,1345,1356,1423,1425,1482,1485,1487,1575,1577,1581,1584,1651,1665],[16,854,19],{"id":18},[21,856,857],{},"Vim — это мощный, консольный текстовый редактор, который предустановлен практически в любой системе Linux. Его изучение — критически важный навык для системного администратора, разработчика и любого, кто работает с серверами через SSH. Даже если вы предпочитаете графические редакторы, знание Vim спасает, когда графический интерфейс недоступен. Этот гайд даст вам прочный фундамент: вы перестанете бояться Vim и сможете комфортно редактировать конфиги, скрипты и текстовые файлы прямо в терминале.",[16,859,31],{"id":30},[412,861,862,868,877],{},[39,863,864,867],{},[24,865,866],{},"Система:"," Любой дистрибутив Linux (Ubuntu, Debian, CentOS, Fedora и т.д.).",[39,869,870,873,874,876],{},[24,871,872],{},"Доступ:"," Права на запуск терминала и редактирование целевых файлов (может потребоваться ",[46,875,48],{}," для системных конфигов).",[39,878,879,882,883],{},[24,880,881],{},"Пакет:"," Vim обычно уже установлен. Если нет, установите его:\n",[36,884,885,893],{},[39,886,887,661,890],{},[24,888,889],{},"Debian/Ubuntu:",[46,891,892],{},"sudo apt update && sudo apt install vim",[39,894,895,661,898,901,902],{},[24,896,897],{},"RHEL/CentOS/Fedora:",[46,899,900],{},"sudo yum install vim"," или ",[46,903,904],{},"sudo dnf install vim",[16,906,56],{"id":55},[58,908,910],{"id":909},"шаг-1-запуск-vim-и-понимание-интерфейса","Шаг 1: Запуск Vim и понимание интерфейса",[21,912,913,914,917],{},"Откройте терминал (",[46,915,916],{},"Ctrl+Alt+T"," в большинстве дистрибутивов). Для редактирования конкретного файла выполните:",[66,919,921],{"className":68,"code":920,"language":70,"meta":71,"style":71},"vim /путь/к/файлу.conf\n",[46,922,923],{"__ignoreMap":71},[75,924,925,928],{"class":77,"line":78},[75,926,927],{"class":81},"vim",[75,929,930],{"class":84}," /путь/к/файлу.conf\n",[21,932,933],{},"Для создания нового файла:",[66,935,937],{"className":68,"code":936,"language":70,"meta":71,"style":71},"vim новый_файл.txt\n",[46,938,939],{"__ignoreMap":71},[75,940,941,943],{"class":77,"line":78},[75,942,927],{"class":81},[75,944,945],{"class":84}," новый_файл.txt\n",[21,947,948],{},"После запуска вы увидите:",[36,950,951,957,963],{},[39,952,953,956],{},[24,954,955],{},"Титульную строку"," (вверху) — информацию о файле.",[39,958,959,962],{},[24,960,961],{},"Основную область"," — содержимое файла (или пустую).",[39,964,965,968],{},[24,966,967],{},"Строку состояния"," (внизу) — здесь будут появляться сообщения и команды.",[21,970,971,974,975,978],{},[24,972,973],{},"Ключевой момент:"," Сразу после запуска вы находитесь в ",[24,976,977],{},"нормальном режиме"," (Normal mode). В этом режиме каждая клавиша — это команда для навигации, удаления, копирования и т.д. Вы не можете просто начать печатать текст. Для этого нужно переключиться.",[58,980,982],{"id":981},"шаг-2-основные-движения-курсором-режим-normal","Шаг 2: Основные движения курсором (режим Normal)",[21,984,985],{},"Практикуйтесь в этих командах, находясь в нормальном режиме. Не нажимайте другие клавиши, пока не освоите эти.",[987,988,989,1003],"table",{},[990,991,992],"thead",{},[993,994,995,1000],"tr",{},[996,997,999],"th",{"align":998},"left","Команда",[996,1001,1002],{"align":998},"Действие",[1004,1005,1006,1017,1027,1037],"tbody",{},[993,1007,1008,1014],{},[1009,1010,1011],"td",{"align":998},[46,1012,1013],{},"h",[1009,1015,1016],{"align":998},"Влево",[993,1018,1019,1024],{},[1009,1020,1021],{"align":998},[46,1022,1023],{},"j",[1009,1025,1026],{"align":998},"Вниз",[993,1028,1029,1034],{},[1009,1030,1031],{"align":998},[46,1032,1033],{},"k",[1009,1035,1036],{"align":998},"Вверх",[993,1038,1039,1044],{},[1009,1040,1041],{"align":998},[46,1042,1043],{},"l",[1009,1045,1046],{"align":998},"Вправо",[21,1048,1049,1050,1052,1053,1055,1056,1058,1059,1061],{},"Эти четыре клавиши — основа основ. Запомните их: ",[24,1051,1013],{}," — left (лево), ",[24,1054,1023],{}," — down (вниз, как стрелка вниз), ",[24,1057,1033],{}," — up (вверх), ",[24,1060,1043],{}," — right (право).",[21,1063,1064],{},[24,1065,1066],{},"Быстрые перемещения:",[36,1068,1069,1075,1081,1087,1093,1099],{},[39,1070,1071,1074],{},[46,1072,1073],{},"w"," — на начало следующего слова.",[39,1076,1077,1080],{},[46,1078,1079],{},"b"," — на начало предыдущего слова.",[39,1082,1083,1086],{},[46,1084,1085],{},"0"," (ноль) — в самый конец строки.",[39,1088,1089,1092],{},[46,1090,1091],{},"$"," — в самый конец строки.",[39,1094,1095,1098],{},[46,1096,1097],{},"gg"," — в самое начало файла.",[39,1100,1101,1104],{},[46,1102,1103],{},"G"," (Shift+g) — в самый конец файла.",[21,1106,1107,1110,1111,1114],{},[24,1108,1109],{},"💡 Совет:"," Если вы нажали клавишу и что-то не так — просто нажмите ",[46,1112,1113],{},"Esc",", чтобы сбросить любую незавершенную команду и вернуться в чистый нормальный режим.",[58,1116,1118],{"id":1117},"шаг-3-режимы-вставки-insert-и-редактирования","Шаг 3: Режимы вставки (Insert) и редактирования",[21,1120,1121,1122,493],{},"Чтобы начать вводить или редактировать текст, нужно перейти в ",[24,1123,1124],{},"режим вставки",[987,1126,1127,1139],{},[990,1128,1129],{},[993,1130,1131,1133,1136],{},[996,1132,999],{"align":998},[996,1134,1135],{"align":998},"Когда использовать",[996,1137,1138],{"align":998},"Куда станет курсор",[1004,1140,1141,1157,1173,1193],{},[993,1142,1143,1148,1154],{},[1009,1144,1145],{"align":998},[46,1146,1147],{},"i",[1009,1149,1150,1153],{"align":998},[24,1151,1152],{},"I","nsert (вставить)",[1009,1155,1156],{"align":998},"Перед текущим символом",[993,1158,1159,1164,1170],{},[1009,1160,1161],{"align":998},[46,1162,1163],{},"a",[1009,1165,1166,1169],{"align":998},[24,1167,1168],{},"A","ppend (добавить)",[1009,1171,1172],{"align":998},"После текущего символа",[993,1174,1175,1180,1186],{},[1009,1176,1177],{"align":998},[46,1178,1179],{},"o",[1009,1181,1182,1185],{"align":998},[24,1183,1184],{},"O","pen (открыть)",[1009,1187,1188,1189,1192],{"align":998},"В новую строку ",[24,1190,1191],{},"ниже"," текущей",[993,1194,1195,1200,1202],{},[1009,1196,1197,1199],{"align":998},[46,1198,1184],{}," (Shift+o)",[1009,1201],{"align":998},[1009,1203,1188,1204,1192],{"align":998},[24,1205,1206],{},"выше",[21,1208,1209],{},[24,1210,1211],{},"Пример:",[412,1213,1214,1224,1232,1242],{},[39,1215,1216,1217,1220,1221,493],{},"Находясь в нормальном режиме, поставьте курсор на букву ",[46,1218,1219],{},"e"," в слове ",[46,1222,1223],{},"текст",[39,1225,632,1226,1228,1229,493],{},[46,1227,1147],{},". Внизу в строке состояния появится ",[46,1230,1231],{},"-- INSERT --",[39,1233,1234,1235,1239,1240,493],{},"Начните печатать. Текст будет вставлен ",[1236,1237,1238],"em",{},"перед"," символом ",[46,1241,1219],{},[39,1243,632,1244,1246],{},[46,1245,1113],{},". Вы вернетесь в нормальный режим, и можно снова управлять редактором.",[58,1248,1250],{"id":1249},"шаг-4-удаление-замена-и-отмена","Шаг 4: Удаление, замена и отмена",[21,1252,1253,1254,493],{},"Все эти действия выполняются в ",[24,1255,977],{},[36,1257,1258,1298,1322],{},[39,1259,1260,1263],{},[24,1261,1262],{},"Удаление:",[36,1264,1265,1274,1280,1286,1292],{},[39,1266,1267,1270,1271,49],{},[46,1268,1269],{},"x"," — удалить символ под курсором (как ",[46,1272,1273],{},"Delete",[39,1275,1276,1279],{},[46,1277,1278],{},"dd"," — удалить всю строку, на которой курсор.",[39,1281,1282,1285],{},[46,1283,1284],{},"dw"," — удалить слово, начиная с курсора.",[39,1287,1288,1291],{},[46,1289,1290],{},"d$"," — удалить от курсора до конца строки.",[39,1293,1294,1297],{},[46,1295,1296],{},"d0"," — удалить от курсора до начала строки.",[39,1299,1300,1303],{},[24,1301,1302],{},"Замена:",[36,1304,1305],{},[39,1306,1307,1310,1311,1314,1315,1318,1319,1321],{},[46,1308,1309],{},"r"," + ",[46,1312,1313],{},"символ"," — заменить один символ под курсором на указанный (например, ",[46,1316,1317],{},"rx"," заменит символ на ",[46,1320,1269],{},"). После этого вы останетесь в нормальном режиме.",[39,1323,1324,1327],{},[24,1325,1326],{},"Отмена (Undo) и Повтор (Redo):",[36,1328,1329,1335],{},[39,1330,1331,1334],{},[46,1332,1333],{},"u"," — отменить последнее изменение.",[39,1336,1337,1340],{},[46,1338,1339],{},"Ctrl + r"," — повторить (откатить отмену).",[58,1342,1344],{"id":1343},"шаг-5-сохранение-и-выход","Шаг 5: Сохранение и выход",[21,1346,1347,1350,1351,1353,1354,49],{},[24,1348,1349],{},"Всегда проверяйте, в каком режиме вы находитесь!"," Для сохранения и выхода нужно быть в ",[24,1352,977],{}," (",[46,1355,1113],{},[412,1357,1358,1364],{},[39,1359,632,1360,1363],{},[46,1361,1362],{},":"," (двоеточие). Курсор перейдет вниз, в строку команд.",[39,1365,1366,1367],{},"Введите одну из команд:\n",[36,1368,1369,1378,1390,1396,1407,1417],{},[39,1370,1371,1374,1375,1377],{},[46,1372,1373],{},":w"," — ",[24,1376,1073],{},"rite (сохранить).",[39,1379,1380,1374,1383,1386,1387],{},[46,1381,1382],{},":q",[24,1384,1385],{},"q","uit (выйти). ",[24,1388,1389],{},"Работает только если файл не изменялся!",[39,1391,1392,1395],{},[46,1393,1394],{},":wq"," — сохранить и выйти.",[39,1397,1398,1401,1402,1404,1405,49],{},[46,1399,1400],{},"ZZ"," (Shift+zz) — быстрый аналог ",[46,1403,1394],{}," (не требует нажатия ",[46,1406,1362],{},[39,1408,1409,1412,1413,1416],{},[46,1410,1411],{},":q!"," — выйти ",[24,1414,1415],{},"без сохранения",", отменив все изменения с последнего сохранения.",[39,1418,1419,1422],{},[46,1420,1421],{},":w имя_файла"," — сохранить под другим именем.",[16,1424,407],{"id":406},[412,1426,1427,1433,1438,1442,1454,1462,1467],{},[39,1428,1429,1430,493],{},"Создайте тестовый файл: ",[46,1431,1432],{},"vim test_vim.txt",[39,1434,632,1435,1437],{},[46,1436,1147],{},", введите несколько строк текста.",[39,1439,632,1440,493],{},[46,1441,1113],{},[39,1443,1444,1445,1447,1448,1447,1450,1447,1452,493],{},"Попробуйте переместиться по файлу с помощью ",[46,1446,1023],{},", ",[46,1449,1033],{},[46,1451,1073],{},[46,1453,1079],{},[39,1455,1456,1457,1459,1460,49],{},"Удалите пару слов (",[46,1458,1284],{},") или строку (",[46,1461,1278],{},[39,1463,632,1464,1466],{},[46,1465,1333],{}," — изменения должны отмениться.",[39,1468,632,1469,1471,1472,1474,1475,1478,1479,493],{},[46,1470,1362],{}," и введите ",[46,1473,1394],{},". Файл ",[46,1476,1477],{},"test_vim.txt"," должен сохраниться в текущей директории. Проверьте: ",[46,1480,1481],{},"cat test_vim.txt",[21,1483,1484],{},"Если все прошло успешно — вы освоили жизненно важный минимум.",[16,1486,444],{"id":443},[36,1488,1489,1520,1535,1560],{},[39,1490,1491,1494,1495,1497,1498,493,1501],{},[24,1492,1493],{},"Проблема:"," При попытке выйти (",[46,1496,1382],{},") Vim пишет ",[46,1499,1500],{},"E37: No write since last change (add ! to override)",[36,1502,1503,1509],{},[39,1504,1505,1508],{},[24,1506,1507],{},"Причина:"," Файл был изменен, но не сохранен.",[39,1510,1511,1514,1515,1517,1518,49],{},[24,1512,1513],{},"Решение:"," Либо сохраните (",[46,1516,1394],{},"), либо выйдите без сохранения (",[46,1519,1411],{},[39,1521,1522,1524,1525],{},[24,1523,1493],{}," Нажал случайно клавишу, и появилась странная строка внизу или текст начал вести себя непредсказуемо.",[36,1526,1527],{},[39,1528,1529,1531,1532,1534],{},[24,1530,1513],{}," Нажмите ",[46,1533,1113],{}," несколько раз. Это гарантированно вернет вас в чистый нормальный режим.",[39,1536,1537,1539,1540],{},[24,1538,1493],{}," Не могу ввести текст, только перемещаюсь.",[36,1541,1542,1547],{},[39,1543,1544,1546],{},[24,1545,1507],{}," Вы находитесь в нормальном режиме.",[39,1548,1549,1531,1551,1447,1553,901,1555,1557,1558,493],{},[24,1550,1513],{},[46,1552,1147],{},[46,1554,1163],{},[46,1556,1179],{},", чтобы перейти в режим вставки. В строке состояния появится ",[46,1559,1231],{},[39,1561,1562,1564,1565],{},[24,1563,1493],{}," Не знаю, в каком режиме нахожусь.",[36,1566,1567],{},[39,1568,1569,1571,1572,1574],{},[24,1570,1513],{}," Просто нажмите ",[46,1573,1113],{},". Если вы были в режиме вставки, вы вернетесь в нормальный. Если уже были в нормальном — ничего не изменится. Это безопасный способ \"сброса\".",[320,1576],{},[16,1578,1580],{"id":1579},"дальнейшее-развитие-навыков","Дальнейшее развитие навыков",[21,1582,1583],{},"Освоив эти основы, вы уже можете работать. Чтобы стать быстрым, осваивайте команды постепенно:",[412,1585,1586,1602,1621,1638],{},[39,1587,1588,661,1591,1594,1595,1597,1598,1601],{},[24,1589,1590],{},"Копирование и вставка:",[46,1592,1593],{},"yy"," (копировать строку), ",[46,1596,21],{}," (вставить после курсора), ",[46,1599,1600],{},"P"," (вставить перед).",[39,1603,1604,661,1607,1310,1610,1612,1613,1616,1617,1620],{},[24,1605,1606],{},"Поиск:",[46,1608,1609],{},"/текст",[46,1611,250],{}," (искать вперед), ",[46,1614,1615],{},"n"," — следующее совпадение, ",[46,1618,1619],{},"N"," — предыдущее.",[39,1622,1623,661,1626,1629,1630,1633,1634,1637],{},[24,1624,1625],{},"Работа с несколькими файлами:",[46,1627,1628],{},":e имя_файла"," (открыть), ",[46,1631,1632],{},":bn"," / ",[46,1635,1636],{},":bp"," (следующий/предыдущий буфер).",[39,1639,1640,661,1643,1646,1647,1650],{},[24,1641,1642],{},"Разделение окна:",[46,1644,1645],{},":split"," (горизонтально), ",[46,1648,1649],{},":vsplit"," (вертикально).",[21,1652,1653,1654,1657,1658,1447,1661,1664],{},"Полезная шпаргалка всегда под рукой: в самом Vim введите ",[46,1655,1656],{},":help"," или найдите онлайн-ресурсы по запросу \"vim cheat sheet\". Главное — практика. Откройте любой конфигурационный файл (",[46,1659,1660],{},"/etc/fstab",[46,1662,1663],{},"~/.bashrc",") и попробуйте внести в него изменения с помощью Vim. У вас всё получится!",[525,1666,1667],{},"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);}",{"title":71,"searchDepth":91,"depth":91,"links":1669},[1670,1671,1672,1679,1680,1681],{"id":18,"depth":91,"text":19},{"id":30,"depth":91,"text":31},{"id":55,"depth":91,"text":56,"children":1673},[1674,1675,1676,1677,1678],{"id":909,"depth":535,"text":910},{"id":981,"depth":535,"text":982},{"id":1117,"depth":535,"text":1118},{"id":1249,"depth":535,"text":1250},{"id":1343,"depth":535,"text":1344},{"id":406,"depth":91,"text":407},{"id":443,"depth":91,"text":444},{"id":1579,"depth":91,"text":1580},"Полное руководство по Vim на Linux. Учим движения, редактирование, сохранение и выход. Пошаговая инструкция с примерами для быстрого старта.","15-20 мин",[1685,1688,1691,1694],{"question":1686,"answer":1687},"Как выйти из Vim, если застрял?","Нажмите `Esc`, затем введите `:q!` и `Enter` для принудительного выхода без сохранения. Для сохранения и выхода используйте `:wq`.",{"question":1689,"answer":1690},"В чем разница между vi и vim?","Vim (Vi IMproved) — это усовершенствованная, более функциональная и удобная версия классического vi. В большинстве современных систем команда `vi` запускает именно Vim.",{"question":1692,"answer":1693},"Нужно ли запоминать все команды Vim сразу?","Нет. Начните с 5-10 базовых команд для движения и редактирования. Освойте их до автоматизма, и уже через день добавляйте новые по мере необходимости.",{"question":1695,"answer":1696},"Почему Vim кажется сложным, и стоит ли его учить?","Vim имеет высокий порог входа из-за необычного управления, но окупается скоростью работы без мыши. Он везде: в серверах, консоли восстановления, через SSH. Освоение базов — must-have для админа и разработчика.",[1698,1701,1704,1707,1710],{"name":1699,"text":1700},"Запуск Vim и понимание интерфейса","Откройте терминал и выполните `vim имя_файла` или просто `vim` для нового файла. Вы увидите титульную строку, область текста и строку состояния внизу. Сразу вы находитесь в **нормальном режиме** (Normal mode) для навигации и управления.",{"name":1702,"text":1703},"Основные движения курсором (режим Normal)","Клавиши `h`, `j`, `k`, `l` двигают курсор влево, вниз, вверх, вправо. Это основа. Для быстрого перемещения: `w` — на начало следующего слова, `b` — на начало предыдущего, `0` — в начало строки, `$` — в конец строки, `gg` — в начало файла, `G` — в конец файла.",{"name":1705,"text":1706},"Режимы вставки (Insert) и редактирования","Чтобы начать вводить текст, перейдите в режим вставки: нажмите `i` (вставить перед курсором), `a` (вставить после курсора), `o` (создать новую строку ниже). Текст появится. Чтобы вернуться в нормальный режим и продолжить управление, нажмите `Esc`.",{"name":1708,"text":1709},"Удаление, замена и отмена","В нормальном режиме: `x` — удалить символ под курсором, `dd` — удалить всю строку, `dw` — удалить слово. `r` + символ — заменить один символ. `u` — отменить последнее действие, `Ctrl + r` — повторить (откат отмены).",{"name":1711,"text":1712},"Сохранение и выход","Убедитесь, что вы в нормальном режиме (нажмите `Esc`). `:w` — сохранить (write), `:q` — выйти. `:wq` или `ZZ` — сохранить и выйти. `:q!` — выйти без сохранения, отменив все изменения.",[1714,1715,1716,1717,1718,1719,1720,1721,1722],"vim основы","как пользоваться vim","как выйти из vim","vim команды для начинающих","редактор vim linux","vim режимы","освоить vim быстро","вим клавиши","vim tutorial русский",{},[1725,1726,1727],"/guides/linux/nano-basics","/guides/linux/bash-shortcuts","/errors/linux/vim-unknown-command",{"title":847,"description":1682},"guides/linux/vim-basics","Это руководство поможет вам преодолеть первоначальный барьер и эффективно использовать Vim — мощный текстовый редактор, доступный в любой системе Linux. Вы научитесь базовым командам навигации, редактирования, сохранения и выхода.",[1732,1733,598,70,608,1734],"вим","редактор текста","cli","gzbSL4FpdCqKXalrN7dRv6P7PTx-e2boMa2_aV4Tb_w",{"id":1737,"title":1738,"appliesTo":1739,"author":11,"body":1744,"canonical":543,"code":543,"createdAt":2124,"description":2125,"difficulty":2126,"draft":547,"estimatedTime":1683,"extension":549,"faq":2127,"howToSteps":2137,"howToTotalTime":2150,"image":543,"keywords":2151,"locale":594,"meta":2159,"navigation":596,"path":602,"platform":598,"related":2160,"section":2164,"seo":2165,"severity":543,"stem":2166,"summary":2167,"tags":2168,"twitterCreator":543,"twitterSite":543,"type":611,"updatedAt":2124,"__hash__":2174},"content_ru/guides/linux/ssh-tunnels.md","Настройка SSH-туннелей: безопасный проброс портов и трафика",[1740,1741,1742,1743],"Ubuntu 20.04 / 22.04 LTS","Debian 11 / 12","RHEL / AlmaLinux 9+","OpenSSH 8.0+",{"type":13,"value":1745,"toc":2115},[1746,1748,1751,1753,1756,1777,1781,1787,1812,1815,1843,1850,1854,1857,1878,1899,1911,1913,1917,1920,1941,1944,1973,1975,1978,2004,2017,2023,2051,2061,2063,2112],[16,1747,19],{"id":18},[21,1749,1750],{},"SSH-туннелирование позволяет безопасно передавать незашифрованный трафик через уже существующее SSH-соединение. Вы получите защищённый доступ к внутренним базам данных, панелям управления или сетевым ресурсам без их прямого открытия в интернет. Это стандартный инструмент системных администраторов и разработчиков для временного безопасного доступа, обхода корпоративных ограничений и тестирования сервисов.",[16,1752,31],{"id":30},[21,1754,1755],{},"Перед выполнением команд убедитесь в соблюдении базовых условий:",[36,1757,1758,1768,1771,1774],{},[39,1759,1760,1761,1764,1765,493],{},"На локальной машине и удалённом хосте установлен ",[46,1762,1763],{},"openssh-client"," и ",[46,1766,1767],{},"openssh-server",[39,1769,1770],{},"У вас есть рабочий SSH-доступ к серверу (аутентификация по ключам предпочтительнее пароля).",[39,1772,1773],{},"Вы знаете IP-адрес или домен сервера, а также порты целевых внутренних сервисов.",[39,1775,1776],{},"Локальный брандмауэр не блокирует выбранные вами порты, а на сервере открыт порт 22.",[16,1778,1780],{"id":1779},"шаг-1-локальный-проброс-портов-local-forwarding","Шаг 1: Локальный проброс портов (Local Forwarding)",[21,1782,1783,1784,493],{},"Локальный туннель принимает соединения на вашем компьютере, шифрует их и пересылает на удалённый сервер, который доставляет их к целевому хосту. Используйте этот режим, когда нужный сервис работает только в локальной сети сервера или на ",[46,1785,1786],{},"127.0.0.1",[66,1788,1790],{"className":68,"code":1789,"language":70,"meta":71,"style":71},"ssh -L 9090:10.0.0.5:3306 user@remote-server.com -N -f\n",[46,1791,1792],{"__ignoreMap":71},[75,1793,1794,1797,1800,1803,1806,1809],{"class":77,"line":78},[75,1795,1796],{"class":81},"ssh",[75,1798,1799],{"class":138}," -L",[75,1801,1802],{"class":84}," 9090:10.0.0.5:3306",[75,1804,1805],{"class":84}," user@remote-server.com",[75,1807,1808],{"class":138}," -N",[75,1810,1811],{"class":138}," -f\n",[21,1813,1814],{},"Разбор параметров:",[36,1816,1817,1831,1837],{},[39,1818,1819,1822,1823,1826,1827,1830],{},[46,1820,1821],{},"-L 9090:10.0.0.5:3306"," — привязывает ваш локальный порт ",[46,1824,1825],{},"9090"," к ",[46,1828,1829],{},"10.0.0.5:3306"," в сети сервера.",[39,1832,1833,1836],{},[46,1834,1835],{},"-N"," — отключает запуск удалённой оболочки, оставляя только туннель.",[39,1838,1839,1842],{},[46,1840,1841],{},"-f"," — переводит процесс в фон после ввода пароля или проверки ключа.",[21,1844,1845,1846,1849],{},"Теперь подключитесь к удалённой базе через ",[46,1847,1848],{},"mysql -u root -p -h 127.0.0.1 -P 9090",". Весь трафик будет зашифрован.",[16,1851,1853],{"id":1852},"шаг-2-удалённый-проброс-портов-remote-forwarding","Шаг 2: Удалённый проброс портов (Remote Forwarding)",[21,1855,1856],{},"Обратная задача: нужно сделать порт с вашего компьютера доступным для других пользователей через внешний сервер. Это удобно для быстрой демонстрации локального веб-приложения или API.",[66,1858,1860],{"className":68,"code":1859,"language":70,"meta":71,"style":71},"ssh -R 8888:localhost:3000 user@remote-server.com -N -f\n",[46,1861,1862],{"__ignoreMap":71},[75,1863,1864,1866,1869,1872,1874,1876],{"class":77,"line":78},[75,1865,1796],{"class":81},[75,1867,1868],{"class":138}," -R",[75,1870,1871],{"class":84}," 8888:localhost:3000",[75,1873,1805],{"class":84},[75,1875,1808],{"class":138},[75,1877,1811],{"class":138},[21,1879,1880,1881,1884,1885,1887,1888,1891,1892,1895,1896,493],{},"По умолчанию сервер привяжет порт ",[46,1882,1883],{},"8888"," только к ",[46,1886,1786],{},". Чтобы туннель стал доступен по внешнему IP, добавьте в ",[46,1889,1890],{},"/etc/ssh/sshd_config"," на сервере строку ",[46,1893,1894],{},"GatewayPorts clientspecified",", затем перезапустите демон: ",[46,1897,1898],{},"sudo systemctl restart sshd",[446,1900,1901],{},[21,1902,1903,1904,1906,1907,1910],{},"⚠️ Важно: Перед запуском убедитесь, что порт ",[46,1905,1883],{}," на сервере свободен. Иначе получите ошибку ",[46,1908,1909],{},"bind: Address already in use"," и туннель не создастся.",[320,1912],{},[16,1914,1916],{"id":1915},"шаг-3-динамический-прокси-socks5","Шаг 3: Динамический прокси (SOCKS5)",[21,1918,1919],{},"Динамический туннель превращает SSH-клиент в SOCKS5-прокси. Через него можно маршрутировать веб-трафик, минуя локальные ограничения сети, без необходимости указывать каждый адрес вручную.",[66,1921,1923],{"className":68,"code":1922,"language":70,"meta":71,"style":71},"ssh -D 1080 user@remote-server.com -N -f\n",[46,1924,1925],{"__ignoreMap":71},[75,1926,1927,1929,1932,1935,1937,1939],{"class":77,"line":78},[75,1928,1796],{"class":81},[75,1930,1931],{"class":138}," -D",[75,1933,1934],{"class":138}," 1080",[75,1936,1805],{"class":84},[75,1938,1808],{"class":138},[75,1940,1811],{"class":138},[21,1942,1943],{},"Для использования настройте клиентское приложение:",[36,1945,1946,1960],{},[39,1947,1948,1949,1951,1952,1955,1956,1959],{},"В браузерах Chromium/Firefox перейдите в настройки сети и укажите ",[46,1950,1786],{}," порт ",[46,1953,1954],{},"1080",", тип ",[46,1957,1958],{},"SOCKS v5",". Обязательно включите опцию «DNS через прокси», иначе утечки DNS сведут безопасность на нет.",[39,1961,1962,1963,901,1966,1969,1970,493],{},"Для терминала оберните вызовы через ",[46,1964,1965],{},"proxychains",[46,1967,1968],{},"tsocks",", предварительно настроив ",[46,1971,1972],{},"/etc/proxychains.conf",[16,1974,407],{"id":406},[21,1976,1977],{},"Убедиться в корректной работе туннелей можно одной командой:",[66,1979,1981],{"className":68,"code":1980,"language":70,"meta":71,"style":71},"ss -tulpn | grep -E '9090|8888|1080'\n",[46,1982,1983],{"__ignoreMap":71},[75,1984,1985,1988,1991,1995,1998,2001],{"class":77,"line":78},[75,1986,1987],{"class":81},"ss",[75,1989,1990],{"class":138}," -tulpn",[75,1992,1994],{"class":1993},"szBVR"," |",[75,1996,1997],{"class":81}," grep",[75,1999,2000],{"class":138}," -E",[75,2002,2003],{"class":84}," '9090|8888|1080'\n",[21,2005,2006,2007,901,2009,2012,2013,2016],{},"Вывод покажет процессы, слушающие указанные порты, и подтвердит, что они привязаны к ",[46,2008,1786],{},[46,2010,2011],{},"::1",". Для проверки передачи данных выполните ",[46,2014,2015],{},"curl -v http://127.0.0.1:9090"," или откройте целевой ресурс в браузере.",[21,2018,2019,2020,1362],{},"Чтобы туннель переживал обрывы сети, используйте ",[46,2021,2022],{},"autossh",[66,2024,2026],{"className":68,"code":2025,"language":70,"meta":71,"style":71},"autossh -M 0 -N -f -L 9090:127.0.0.1:80 user@remote-server.com\n",[46,2027,2028],{"__ignoreMap":71},[75,2029,2030,2032,2035,2038,2040,2043,2045,2048],{"class":77,"line":78},[75,2031,2022],{"class":81},[75,2033,2034],{"class":138}," -M",[75,2036,2037],{"class":138}," 0",[75,2039,1808],{"class":138},[75,2041,2042],{"class":138}," -f",[75,2044,1799],{"class":138},[75,2046,2047],{"class":84}," 9090:127.0.0.1:80",[75,2049,2050],{"class":84}," user@remote-server.com\n",[21,2052,2053,2054,2057,2058,2060],{},"Флаг ",[46,2055,2056],{},"-M 0"," отключает собственный мониторинг ",[46,2059,2022],{}," и делегирует проверку SSH-keepalive.",[16,2062,444],{"id":443},[36,2064,2065,2081,2098],{},[39,2066,2067,2070,2071,2073,2074,2077,2078,2080],{},[24,2068,2069],{},"Connection refused при подключении к локальному порту."," Проверьте, не завершился ли фоновый процесс SSH. Убедитесь, что вы обращаетесь именно к ",[46,2072,1786],{},", а не к ",[46,2075,2076],{},"localhost"," (иногда система резолвит его в ",[46,2079,2011],{},", где порт не привязан).",[39,2082,2083,2086,2087,2090,2091,1764,2094,2097],{},[24,2084,2085],{},"Туннель разрывается при долгом простое."," Добавьте в ",[46,2088,2089],{},"~/.ssh/config"," параметры ",[46,2092,2093],{},"ServerAliveInterval 60",[46,2095,2096],{},"ServerAliveCountMax 3",". Клиент начнёт отправлять ping каждые 60 секунд и восстановит соединение при потере ответа.",[39,2099,2100,2103,2104,2107,2108,2111],{},[24,2101,2102],{},"Привязка к IPv6 вызывает конфликты."," Если ваша сеть активно использует IPv6, явно укажите версию протокола в команде: ",[46,2105,2106],{},"ssh -4 -L ..."," или добавьте ",[46,2109,2110],{},"AddressFamily inet"," в конфигурационный файл SSH.",[525,2113,2114],{},"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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":71,"searchDepth":91,"depth":91,"links":2116},[2117,2118,2119,2120,2121,2122,2123],{"id":18,"depth":91,"text":19},{"id":30,"depth":91,"text":31},{"id":1779,"depth":91,"text":1780},{"id":1852,"depth":91,"text":1853},{"id":1915,"depth":91,"text":1916},{"id":406,"depth":91,"text":407},{"id":443,"depth":91,"text":444},"2026-04-05 00:03:41","Освойте создание SSH-туннелей: пошаговый гайд по настройке локального, динамического и удалённого проброса портов. Защитите трафик за 15 минут!","medium",[2128,2131,2134],{"question":2129,"answer":2130},"Почему SSH-туннель сразу закрывается после создания?","Сессия завершается, когда завершается процесс SSH. Добавьте флаг `-N` (не выполнять удалённые команды) и `-f` (перейти в фоновый режим) или используйте утилиту `autossh` для поддержания соединения.",{"question":2132,"answer":2133},"Можно ли перенаправлять UDP-трафик через стандартный SSH?","Нет, SSH работает только с TCP. Для UDP-трафика используйте `socat`, `udp2raw` или настройте WireGuard поверх SSH-туннеля.",{"question":2135,"answer":2136},"Как разрешить создание туннелей на стороне сервера?","Убедитесь, что в `/etc/ssh/sshd_config` сервера установлены параметры `AllowTcpForwarding yes` и `GatewayPorts clientspecified` (для удалённого проброса на внешний интерфейс).",[2138,2141,2144,2147],{"name":2139,"text":2140},"Подготовка окружения","Убедитесь, что на клиенте и сервере установлен OpenSSH, и у вас есть доступ к серверу по SSH с правами пользователя.",{"name":2142,"text":2143},"Создание локального туннеля (-L)","Запустите команду `ssh -L 8080:localhost:80 user@server`, чтобы направить локальный порт 8080 на удалённый порт 80 через зашифрованный канал.",{"name":2145,"text":2146},"Настройка динамического прокси (-D)","Используйте `ssh -D 1080 user@server` для создания SOCKS5-прокси, через который браузер или другие приложения смогут маршрутизировать весь трафик.",{"name":2148,"text":2149},"Проверка и поддержание соединения","Проверьте открытые порты через `netstat` или `ss` и добавьте флаги `-N -f` для работы туннеля в фоне без открытия оболочки.","PT15M",[2152,2153,2154,2155,2156,2157,2158],"настройка ssh туннеля linux","проброс портов через ssh -L","ssh динамический прокси -D","удаленный проброс ssh -R","безопасный доступ к внутренним сервисам","ssh tunneling guide ru","ошибка bind: Address already in use ssh",{},[2161,2162,2163],"/guides/linux/ssh-key-auth","/guides/linux/firewall-ufw-basics","/guides/linux/network-diagnostics-tools","Гайды по Linux и сетям",{"title":1738,"description":2125},"guides/linux/ssh-tunnels","В этом руководстве вы научитесь создавать локальные, удалённые и динамические SSH-туннели. Вы получите готовые команды и поймёте, как безопасно маршрутизировать трафик через зашифрованное соединение.",[598,1796,2169,2170,2171,2172,2173],"networking","туннелирование","безопасность","проброс портов","sysadmin","ge7dXTcLInUjJ1bPkLlP8iXZ-P8NmHcKZEHAERv9J4A"]