[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/macos/ssh-connection-refused":3,"mdc-86qvcz-key":1201,"mdc-nydz5l-key":1211,"mdc--3ssmms-key":1250,"mdc--m3xavz-key":1258,"mdc-qlztdh-key":1273,"mdc--qm247u-key":1288,"mdc-y4mei2-key":1304,"mdc--uzlsr3-key":1327,"related-/errors/macos/ssh-permission-denied,/guides/macos/enable-ssh-server,/errors/general/port-already-in-use":1357},{"id":4,"title":5,"appliesTo":6,"author":8,"body":9,"canonical":1138,"code":1139,"createdAt":1140,"description":1141,"difficulty":1142,"draft":1143,"estimatedTime":1144,"extension":1145,"faq":1146,"howToSteps":1159,"howToTotalTime":1172,"image":1138,"keywords":1173,"locale":1181,"meta":1182,"navigation":1183,"path":1184,"platform":1185,"related":1186,"section":1190,"seo":1191,"severity":1192,"stem":1193,"summary":1194,"tags":1195,"twitterCreator":1138,"twitterSite":1138,"type":926,"updatedAt":1140,"__hash__":1200},"content_ru/errors/macos/ssh-connection-refused.md","SSH Connection Refused на macOS: причины и быстрые решения",[7],"macOS 12.0+ (Monterey, Ventura, Sonoma)","FixPedia Team",{"type":10,"value":11,"toc":1126},"minimark",[12,17,26,37,40,44,50,126,130,135,138,143,212,217,365,374,378,381,385,465,470,498,504,528,531,584,590,594,597,724,728,734,930,934,942,1008,1011,1015,1021,1122],[13,14,16],"h2",{"id":15},"что-означает-ошибка-ssh-connection-refused","Что означает ошибка SSH Connection Refused",[18,19,20,21,25],"p",{},"Ошибка ",[22,23,24],"strong",{},"SSH Connection Refused"," возникает, когда клиент SSH пытается установить соединение с сервером, но сервер (или промежуточное сетевое устройство) активно отклоняет подключение на указанном порту (по умолчанию 22). Полный текст ошибки обычно выглядит так:",[27,28,33],"pre",{"className":29,"code":31,"language":32},[30],"language-text","ssh: connect to host example.com port 22: Connection refused\n","text",[34,35,31],"code",{"__ignoreMap":36},"",[18,38,39],{},"Это означает, что пакет SYN, отправленный на порт 22, получил ответ RST (reset) или не получил ответа, и соединение не может быть установлено. Ошибка возникает на этапе установки TCP-соединения, до начала SSH-рукопожатия. На macOS это часто встречается при попытке подключиться к удаленному серверу, локальному виртуальному машине или даже к собственному компьютеру, если SSH-сервер не настроен.",[13,41,43],{"id":42},"причины-возникновения","Причины возникновения",[18,45,20,46,49],{},[22,47,48],{},"Connection Refused"," может быть вызвана несколькими конкретными причинами:",[51,52,53,64,70,76,82,108,114,120],"ol",{},[54,55,56,59,60,63],"li",{},[22,57,58],{},"SSH-сервер не запущен на целевом хосте"," — служба ",[34,61,62],{},"sshd"," не активна, поэтому порт 22 закрыт и не отвечает на запросы.",[54,65,66,69],{},[22,67,68],{},"Брандмауэр блокирует порт 22"," — на сервере или на клиенте (в случае исходящих подключений) брандмауэр отбрасывает пакеты на порт 22.",[54,71,72,75],{},[22,73,74],{},"SSH-сервер настроен на нестандартный порт"," — если сервер использует порт, отличный от 22 (например, 2222), а клиент пытается подключиться к 22, соединение будет отклонено.",[54,77,78,81],{},[22,79,80],{},"Сетевые проблемы"," — хост недоступен, маршрутизация не настроена, или есть проблемы с сетевым интерфейсом (например, Wi-Fi отключен).",[54,83,84,87,88,91,92,95,96,99,100,103,104,107],{},[22,85,86],{},"Ограничения доступа в конфигурации SSH"," — файлы ",[34,89,90],{},"hosts.allow","/",[34,93,94],{},"hosts.deny"," или настройки ",[34,97,98],{},"sshd_config"," (например, ",[34,101,102],{},"AllowUsers"," или ",[34,105,106],{},"DenyUsers",") могут запрещать подключение с вашего IP-адреса или пользователя.",[54,109,110,113],{},[22,111,112],{},"Порт 22 занят другим процессом"," — на сервере другой сервис (например, веб-сервер) слушает порт 22, что вызывает конфликт.",[54,115,116,119],{},[22,117,118],{},"IP-адрес сервера изменился или недоступен"," — если вы используете домен, DNS-запись может устареть, или сервер временно выключен.",[54,121,122,125],{},[22,123,124],{},"На сервере исчерпан лимит соединений"," — если достигнут максимальное количество одновременных SSH-соединений, новые подключения будут отклонены.",[13,127,129],{"id":128},"способы-решения","Способы решения",[131,132,134],"h3",{"id":133},"способ-1-проверка-и-запуск-ssh-сервера-на-целевом-хосте","Способ 1: Проверка и запуск SSH-сервера на целевом хосте",[18,136,137],{},"Если у вас есть доступ к целевому серверу (например, через консоль, KVM или панель управления хостингом), убедитесь, что служба SSH запущена. Для macOS и Linux-серверов:",[18,139,140],{},[22,141,142],{},"На сервере (Linux с systemd):",[51,144,145],{},[54,146,147,148,174,175,178,179],{},"Проверьте статус службы:\n",[27,149,153],{"className":150,"code":151,"language":152,"meta":36,"style":36},"language-bash shiki shiki-themes github-light github-dark","sudo systemctl status sshd\n","bash",[34,154,155],{"__ignoreMap":36},[156,157,160,164,168,171],"span",{"class":158,"line":159},"line",1,[156,161,163],{"class":162},"sScJk","sudo",[156,165,167],{"class":166},"sZZnC"," systemctl",[156,169,170],{"class":166}," status",[156,172,173],{"class":166}," sshd\n","\nЕсли служба неактивна (",[34,176,177],{},"inactive","), запустите её:\n",[27,180,182],{"className":150,"code":181,"language":152,"meta":36,"style":36},"sudo systemctl start sshd\nsudo systemctl enable sshd   # Для автозапуска при загрузке\n",[34,183,184,195],{"__ignoreMap":36},[156,185,186,188,190,193],{"class":158,"line":159},[156,187,163],{"class":162},[156,189,167],{"class":166},[156,191,192],{"class":166}," start",[156,194,173],{"class":166},[156,196,198,200,202,205,208],{"class":158,"line":197},2,[156,199,163],{"class":162},[156,201,167],{"class":166},[156,203,204],{"class":166}," enable",[156,206,207],{"class":166}," sshd",[156,209,211],{"class":210},"sJ8bj","   # Для автозапуска при загрузке\n",[18,213,214],{},[22,215,216],{},"На сервере (macOS):",[51,218,219,291,321],{},[54,220,221,222,238,241,242,245,246,263,265,266,269,270],{},"Проверьте статус удаленного входа (SSH):",[27,223,225],{"className":150,"code":224,"language":152,"meta":36,"style":36},"sudo systemsetup -getremotelogin\n",[34,226,227],{"__ignoreMap":36},[156,228,229,231,234],{"class":158,"line":159},[156,230,163],{"class":162},[156,232,233],{"class":166}," systemsetup",[156,235,237],{"class":236},"sj4cs"," -getremotelogin\n",[239,240],"br",{},"Если вывод ",[34,243,244],{},"Off",", включите SSH:",[27,247,249],{"className":150,"code":248,"language":152,"meta":36,"style":36},"sudo systemsetup -setremotelogin on\n",[34,250,251],{"__ignoreMap":36},[156,252,253,255,257,260],{"class":158,"line":159},[156,254,163],{"class":162},[156,256,233],{"class":166},[156,258,259],{"class":236}," -setremotelogin",[156,261,262],{"class":166}," on\n",[239,264],{},"Или используйте ",[34,267,268],{},"launchctl",":",[27,271,273],{"className":150,"code":272,"language":152,"meta":36,"style":36},"sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist\n",[34,274,275],{"__ignoreMap":36},[156,276,277,279,282,285,288],{"class":158,"line":159},[156,278,163],{"class":162},[156,280,281],{"class":166}," launchctl",[156,283,284],{"class":166}," load",[156,286,287],{"class":236}," -w",[156,289,290],{"class":166}," /System/Library/LaunchDaemons/ssh.plist\n",[54,292,293,294,312,314,315,99,317,320],{},"Убедитесь, что порт 22 слушается:",[27,295,297],{"className":150,"code":296,"language":152,"meta":36,"style":36},"sudo lsof -i :22\n",[34,298,299],{"__ignoreMap":36},[156,300,301,303,306,309],{"class":158,"line":159},[156,302,163],{"class":162},[156,304,305],{"class":166}," lsof",[156,307,308],{"class":236}," -i",[156,310,311],{"class":166}," :22\n",[239,313],{},"Вывод должен содержать процесс ",[34,316,62],{},[34,318,319],{},"sshd  1234 root  3u  IPv4 0x...  TCP *:ssh (LISTEN)",").",[54,322,323,324,362,364],{},"Если служба не запускается, проверьте логи на ошибки:",[27,325,327],{"className":150,"code":326,"language":152,"meta":36,"style":36},"sudo tail -f /var/log/system.log   # macOS\nsudo journalctl -u sshd -f         # Linux systemd\n",[34,328,329,345],{"__ignoreMap":36},[156,330,331,333,336,339,342],{"class":158,"line":159},[156,332,163],{"class":162},[156,334,335],{"class":166}," tail",[156,337,338],{"class":236}," -f",[156,340,341],{"class":166}," /var/log/system.log",[156,343,344],{"class":210},"   # macOS\n",[156,346,347,349,352,355,357,359],{"class":158,"line":197},[156,348,163],{"class":162},[156,350,351],{"class":166}," journalctl",[156,353,354],{"class":236}," -u",[156,356,207],{"class":166},[156,358,338],{"class":236},[156,360,361],{"class":210},"         # Linux systemd\n",[239,363],{},"Распространенные ошибки: неверные права на файлы конфигурации, конфликт портов.",[18,366,367,370,371,320],{},[22,368,369],{},"Если сервер — это ваш собственный Mac:"," выполните те же шаги на вашем компьютере, чтобы убедиться, что локальный SSH-сервер активен (например, для тестирования подключения к ",[34,372,373],{},"localhost",[131,375,377],{"id":376},"способ-2-проверка-брандмауэра-на-сервере-и-клиенте","Способ 2: Проверка брандмауэра на сервере и клиенте",[18,379,380],{},"Брандмауэр может блокировать входящие или исходящие подключения на порт 22. Проверьте настройки на сервере и, если нужно, на клиенте.",[18,382,383],{},[22,384,216],{},[51,386,387,401,439],{},[54,388,389,390,393,394,393,397,400],{},"Откройте ",[22,391,392],{},"Системные настройки"," → ",[22,395,396],{},"Брандмауэр",[22,398,399],{},"Параметры брандмауэра",".",[54,402,403,404,103,406,409,410],{},"Убедитесь, что в списке разрешенных приложений есть ",[34,405,62],{},[34,407,408],{},"Remote Login"," (SSH). Если нет, добавьте вручную:\n",[27,411,413],{"className":150,"code":412,"language":152,"meta":36,"style":36},"sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/sbin/sshd\nsudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/sbin/sshd\n",[34,414,415,428],{"__ignoreMap":36},[156,416,417,419,422,425],{"class":158,"line":159},[156,418,163],{"class":162},[156,420,421],{"class":166}," /usr/libexec/ApplicationFirewall/socketfilterfw",[156,423,424],{"class":236}," --add",[156,426,427],{"class":166}," /usr/sbin/sshd\n",[156,429,430,432,434,437],{"class":158,"line":197},[156,431,163],{"class":162},[156,433,421],{"class":166},[156,435,436],{"class":236}," --unblockapp",[156,438,427],{"class":166},[54,440,441,442,456,457,460,461,464],{},"Также проверьте, включен ли брандмауэр:\n",[27,443,445],{"className":150,"code":444,"language":152,"meta":36,"style":36},"sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate\n",[34,446,447],{"__ignoreMap":36},[156,448,449,451,453],{"class":158,"line":159},[156,450,163],{"class":162},[156,452,421],{"class":166},[156,454,455],{"class":236}," --getglobalstate\n","\nЕсли ",[34,458,459],{},"1"," — включен, ",[34,462,463],{},"0"," — выключен.",[18,466,467],{},[22,468,469],{},"На сервере (Linux):",[27,471,473],{"className":150,"code":472,"language":152,"meta":36,"style":36},"sudo iptables -L -n | grep 22\n",[34,474,475],{"__ignoreMap":36},[156,476,477,479,482,485,488,492,495],{"class":158,"line":159},[156,478,163],{"class":162},[156,480,481],{"class":166}," iptables",[156,483,484],{"class":236}," -L",[156,486,487],{"class":236}," -n",[156,489,491],{"class":490},"szBVR"," |",[156,493,494],{"class":162}," grep",[156,496,497],{"class":236}," 22\n",[18,499,500,501,269],{},"Или для ",[34,502,503],{},"nftables",[27,505,507],{"className":150,"code":506,"language":152,"meta":36,"style":36},"sudo nft list ruleset | grep 22\n",[34,508,509],{"__ignoreMap":36},[156,510,511,513,516,519,522,524,526],{"class":158,"line":159},[156,512,163],{"class":162},[156,514,515],{"class":166}," nft",[156,517,518],{"class":166}," list",[156,520,521],{"class":166}," ruleset",[156,523,491],{"class":490},[156,525,494],{"class":162},[156,527,497],{"class":236},[18,529,530],{},"Разрешите порт, если нужно (пример для iptables):",[27,532,534],{"className":150,"code":533,"language":152,"meta":36,"style":36},"sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT\nsudo iptables-save | sudo tee /etc/iptables/rules.v4\n",[34,535,536,566],{"__ignoreMap":36},[156,537,538,540,542,545,548,551,554,557,560,563],{"class":158,"line":159},[156,539,163],{"class":162},[156,541,481],{"class":166},[156,543,544],{"class":236}," -A",[156,546,547],{"class":166}," INPUT",[156,549,550],{"class":236}," -p",[156,552,553],{"class":166}," tcp",[156,555,556],{"class":236}," --dport",[156,558,559],{"class":236}," 22",[156,561,562],{"class":236}," -j",[156,564,565],{"class":166}," ACCEPT\n",[156,567,568,570,573,575,578,581],{"class":158,"line":197},[156,569,163],{"class":162},[156,571,572],{"class":166}," iptables-save",[156,574,491],{"class":490},[156,576,577],{"class":162}," sudo",[156,579,580],{"class":166}," tee",[156,582,583],{"class":166}," /etc/iptables/rules.v4\n",[18,585,586,589],{},[22,587,588],{},"На клиенте (ваш Mac):"," редко, но брандмауэр может блокировать исходящие подключения. Проверьте настройки в Системных настройках → Брандмауэр. По умолчанию исходящие разрешены, но если включены строгие правила, убедитесь, что приложению Terminal (или вашему SSH-клиенту) разрешены исходящие соединения.",[131,591,593],{"id":592},"способ-3-проверка-сетевого-подключения-и-правильности-хоста","Способ 3: Проверка сетевого подключения и правильности хоста",[18,595,596],{},"Убедитесь, что хост доступен и порт открыт, прежде чем винить в SSH.",[51,598,599,620,691,718],{},[54,600,601,604,617,619],{},[22,602,603],{},"Пропингуйте хост:",[27,605,607],{"className":150,"code":606,"language":152,"meta":36,"style":36},"ping example.com\n",[34,608,609],{"__ignoreMap":36},[156,610,611,614],{"class":158,"line":159},[156,612,613],{"class":162},"ping",[156,615,616],{"class":166}," example.com\n",[239,618],{},"Если пинг не проходит (100% потерь), проблема с сетью или хост недоступен. Проверьте, подключены ли вы к интернету, и правильность DNS.",[54,621,622,625,626,629,630,633,634,651,653,654,667,669,670],{},[22,623,624],{},"Проверьте доступность порта 22:","\nИспользуйте ",[34,627,628],{},"nc"," (netcat) или ",[34,631,632],{},"telnet"," для теста подключения:",[27,635,637],{"className":150,"code":636,"language":152,"meta":36,"style":36},"nc -zv example.com 22\n",[34,638,639],{"__ignoreMap":36},[156,640,641,643,646,649],{"class":158,"line":159},[156,642,628],{"class":162},[156,644,645],{"class":236}," -zv",[156,647,648],{"class":166}," example.com",[156,650,497],{"class":236},[239,652],{},"Или:",[27,655,657],{"className":150,"code":656,"language":152,"meta":36,"style":36},"telnet example.com 22\n",[34,658,659],{"__ignoreMap":36},[156,660,661,663,665],{"class":158,"line":159},[156,662,632],{"class":162},[156,664,648],{"class":166},[156,666,497],{"class":236},[239,668],{},"Возможные результаты:",[671,672,673,679,685],"ul",{},[54,674,675,678],{},[34,676,677],{},"Connection refused"," — порт закрыт или фильтруется.",[54,680,681,684],{},[34,682,683],{},"Connection timed out"," — пакеты теряются (возможно, брандмауэр отбрасывает без ответа).",[54,686,687,690],{},[34,688,689],{},"Connected to example.com"," — порт открыт, проблема может быть в SSH-конфигурации.",[54,692,693,696,697,269,700],{},[22,694,695],{},"Убедитесь в правильности хоста и порта:"," проверьте, что вы используете правильное имя хоста или IP-адрес. Если SSH-сервер использует нестандартный порт (например, 2222), укажите его флагом ",[34,698,699],{},"-p",[27,701,703],{"className":150,"code":702,"language":152,"meta":36,"style":36},"ssh -p 2222 user@example.com\n",[34,704,705],{"__ignoreMap":36},[156,706,707,710,712,715],{"class":158,"line":159},[156,708,709],{"class":162},"ssh",[156,711,550],{"class":236},[156,713,714],{"class":236}," 2222",[156,716,717],{"class":166}," user@example.com\n",[54,719,720,723],{},[22,721,722],{},"Проверьте маршрутизацию:"," если сервер в локальной сети, убедитесь, что вы в той же подсети, и нет конфликтов IP.",[131,725,727],{"id":726},"способ-4-проверка-конфигурации-ssh-сервера","Способ 4: Проверка конфигурации SSH-сервера",[18,729,730,731,733],{},"Если у вас есть доступ к серверу (например, через консоль управления), проверьте конфигурационный файл ",[34,732,98],{}," на предмет ошибок или ограничений.",[51,735,736,762,821,869],{},[54,737,738,739,754,265,756,91,759,400],{},"Откройте файл:",[27,740,742],{"className":150,"code":741,"language":152,"meta":36,"style":36},"sudo nano /etc/ssh/sshd_config\n",[34,743,744],{"__ignoreMap":36},[156,745,746,748,751],{"class":158,"line":159},[156,747,163],{"class":162},[156,749,750],{"class":166}," nano",[156,752,753],{"class":166}," /etc/ssh/sshd_config\n",[239,755],{},[34,757,758],{},"vi",[34,760,761],{},"vim",[54,763,764,765],{},"Убедитесь, что ключевые параметры настроены корректно:",[671,766,767,773,783,795,802,815],{},[54,768,769,772],{},[34,770,771],{},"Port 22"," (или другой порт, который вы используете). Если порт изменен, клиент должен подключаться к нему.",[54,774,775,778,779,782],{},[34,776,777],{},"ListenAddress 0.0.0.0"," (для IPv4) или ",[34,780,781],{},"ListenAddress ::"," (для IPv6) — чтобы слушать все интерфейсы. Если указан конкретный IP, подключения с других адресов будут отклонены.",[54,784,785,788,789,103,792,320],{},[34,786,787],{},"PermitRootLogin"," — если вы пытаетесь подключиться как root, убедитесь, что разрешено (",[34,790,791],{},"yes",[34,793,794],{},"prohibit-password",[54,796,797,103,799,801],{},[34,798,102],{},[34,800,106],{}," — проверьте, что ваш пользователь не запрещен.",[54,803,804,807,808,810,811,814],{},[34,805,806],{},"PasswordAuthentication"," — если вы используете пароль, должно быть ",[34,809,791],{}," (или ",[34,812,813],{},"no"," для ключей).",[54,816,817,820],{},[34,818,819],{},"MaxAuthTries"," — если исчерпаны попытки аутентификации, новые подключения могут отклоняться.",[54,822,823,824],{},"После изменений перезапустите SSH-сервер:",[27,825,827],{"className":150,"code":826,"language":152,"meta":36,"style":36},"sudo systemctl restart sshd   # Linux\nsudo launchctl stop com.openssh.sshd && sudo launchctl start com.openssh.sshd   # macOS\n",[34,828,829,843],{"__ignoreMap":36},[156,830,831,833,835,838,840],{"class":158,"line":159},[156,832,163],{"class":162},[156,834,167],{"class":166},[156,836,837],{"class":166}," restart",[156,839,207],{"class":166},[156,841,842],{"class":210},"   # Linux\n",[156,844,845,847,849,852,855,859,861,863,865,867],{"class":158,"line":197},[156,846,163],{"class":162},[156,848,281],{"class":166},[156,850,851],{"class":166}," stop",[156,853,854],{"class":166}," com.openssh.sshd",[156,856,858],{"class":857},"sVt8B"," && ",[156,860,163],{"class":162},[156,862,281],{"class":166},[156,864,192],{"class":166},[156,866,854],{"class":166},[156,868,344],{"class":210},[54,870,871,872,918,920,921,923,924,103,927,400],{},"Проверьте логи на наличие ошибок при перезапуске:",[27,873,875],{"className":150,"code":874,"language":152,"meta":36,"style":36},"sudo tail -f /var/log/auth.log   # Linux (Debian/Ubuntu)\nsudo tail -f /var/log/secure     # Linux (RHEL/CentOS)\nsudo tail -f /var/log/system.log   # macOS\n",[34,876,877,891,905],{"__ignoreMap":36},[156,878,879,881,883,885,888],{"class":158,"line":159},[156,880,163],{"class":162},[156,882,335],{"class":166},[156,884,338],{"class":236},[156,886,887],{"class":166}," /var/log/auth.log",[156,889,890],{"class":210},"   # Linux (Debian/Ubuntu)\n",[156,892,893,895,897,899,902],{"class":158,"line":197},[156,894,163],{"class":162},[156,896,335],{"class":166},[156,898,338],{"class":236},[156,900,901],{"class":166}," /var/log/secure",[156,903,904],{"class":210},"     # Linux (RHEL/CentOS)\n",[156,906,908,910,912,914,916],{"class":158,"line":907},3,[156,909,163],{"class":162},[156,911,335],{"class":166},[156,913,338],{"class":236},[156,915,341],{"class":166},[156,917,344],{"class":210},[239,919],{},"Ищите строки с ",[34,922,62],{}," и ",[34,925,926],{},"error",[34,928,929],{},"failed",[131,931,933],{"id":932},"способ-5-проверка-файлов-hostsallow-и-hostsdeny","Способ 5: Проверка файлов hosts.allow и hosts.deny",[18,935,936,937,923,939,941],{},"На некоторых системах используются TCP- wrappers (с файлами ",[34,938,90],{},[34,940,94],{},") для ограничения доступа к службам.",[51,943,944,994,1005],{},[54,945,946,947,967,969,970,972,973,979,981,982,984,985,988,989,991,992,400],{},"Проверьте содержимое файлов:",[27,948,950],{"className":150,"code":949,"language":152,"meta":36,"style":36},"cat /etc/hosts.allow\ncat /etc/hosts.deny\n",[34,951,952,960],{"__ignoreMap":36},[156,953,954,957],{"class":158,"line":159},[156,955,956],{"class":162},"cat",[156,958,959],{"class":166}," /etc/hosts.allow\n",[156,961,962,964],{"class":158,"line":197},[156,963,956],{"class":162},[156,965,966],{"class":166}," /etc/hosts.deny\n",[239,968],{},"Обычно, чтобы разрешить всем, в ",[34,971,90],{}," должна быть строка:",[27,974,977],{"className":975,"code":976,"language":32},[30],"sshd: ALL\n",[34,978,976],{"__ignoreMap":36},[239,980],{},"Если в ",[34,983,94],{}," есть строка ",[34,986,987],{},"ALL: ALL",", она может перекрывать разрешения. Порядок обработки: сначала ",[34,990,90],{},", затем ",[34,993,94],{},[54,995,996,997,269,999],{},"Если есть ограничения, добавьте ваш IP-адрес или сеть в ",[34,998,90],{},[27,1000,1003],{"className":1001,"code":1002,"language":32},[30],"sshd: 192.168.1.0/24\nsshd: 203.0.113.5\n",[34,1004,1002],{"__ignoreMap":36},[54,1006,1007],{},"После изменений перезапустите SSH-сервер (см. Способ 4).",[1009,1010],"in-article-ad",{},[13,1012,1014],{"id":1013},"профилактика","Профилактика",[18,1016,1017,1018,1020],{},"Чтобы избежать повторения ошибки ",[22,1019,24],{},", следуйте этим рекомендациям:",[671,1022,1023,1034,1044,1058,1079,1087,1097,1103,1109],{},[54,1024,1025,1028,1029,393,1031,400],{},[22,1026,1027],{},"Регулярно обновляйте систему и OpenSSH"," — это обеспечивает безопасность и исправление известных уязвимостей. На macOS используйте ",[22,1030,392],{},[22,1032,1033],{},"Обновление ПО",[54,1035,1036,1039,1040,1043],{},[22,1037,1038],{},"Настраивайте брандмауэр правильно"," — разрешайте только необходимые порты и IP-адреса для SSH. Используйте инструменты вроде ",[34,1041,1042],{},"fail2ban"," (на Linux) для защиты от брутфорса, но на macOS убедитесь, что встроенный брандмауэр не блокирует легитимные подключения.",[54,1045,1046,1049,1050,1053,1054,1057],{},[22,1047,1048],{},"Мониторьте логи SSH"," — регулярно проверяйте ",[34,1051,1052],{},"/var/log/auth.log"," (Linux) или ",[34,1055,1056],{},"system.log"," (macOS) на подозрительную активность или ошибки. Можно настроить оповещения.",[54,1059,1060,1063,1064,1067,1068,1071,1072,1075,1076,1078],{},[22,1061,1062],{},"Используйте SSH-ключи вместо паролей"," — это безопаснее и удобнее. Сгенерируйте ключ с ",[34,1065,1066],{},"ssh-keygen -t ed25519"," и добавьте публичный ключ в ",[34,1069,1070],{},"~/.ssh/authorized_keys"," на сервере. Отключите аутентификацию по паролю (",[34,1073,1074],{},"PasswordAuthentication no"," в ",[34,1077,98],{},"), если возможно.",[54,1080,1081,1084,1085,400],{},[22,1082,1083],{},"Изменяйте стандартный порт 22"," — для уменьшения числа автоматических атак. Но убедитесь, что новый порт открыт в брандмауэре, и документируйте изменение. Подключайтесь с флагом ",[34,1086,699],{},[54,1088,1089,1092,1093,1096],{},[22,1090,1091],{},"Регулярно проверяйте доступность сервера"," — используйте простые скрипты мониторинга (например, ",[34,1094,1095],{},"nc -z"," в cron) или сервисы вроде UptimeRobot, чтобы быстро обнаруживать падение SSH-сервиса.",[54,1098,1099,1102],{},[22,1100,1101],{},"Документируйте изменения конфигурации"," — если вы меняете настройки SSH (порт, доступ пользователей), записывайте их в отдельный файл или систему контроля версий, чтобы легко откатить при проблемах.",[54,1104,1105,1108],{},[22,1106,1107],{},"Тестируйте изменения в изолированной среде"," — перед применением конфигурации на продакшн-сервере проверьте её на тестовом хосте.",[54,1110,1111,1114,1115,1117,1118,1121],{},[22,1112,1113],{},"Ограничивайте доступ по IP"," — если сервер используется только из определенных сетей, настройте брандмауэр или ",[34,1116,98],{}," (через ",[34,1119,1120],{},"Match"," блоки) для разрешения только доверенных IP-адресов.",[1123,1124,1125],"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":36,"searchDepth":197,"depth":197,"links":1127},[1128,1129,1130,1137],{"id":15,"depth":197,"text":16},{"id":42,"depth":197,"text":43},{"id":128,"depth":197,"text":129,"children":1131},[1132,1133,1134,1135,1136],{"id":133,"depth":907,"text":134},{"id":376,"depth":907,"text":377},{"id":592,"depth":907,"text":593},{"id":726,"depth":907,"text":727},{"id":932,"depth":907,"text":933},{"id":1013,"depth":197,"text":1014},null,"ECONNREFUSED","2026-02-15 17:11:29","Не можете подключиться по SSH на macOS? Наша статья объясняет, почему возникает ошибка Connection Refused, и предлагает пошаговые решения. Восстановите доступ за 5-10 минут!","medium",false,"10-15 мин","md",[1147,1150,1153,1156],{"answer":1148,"question":1149},"Ошибка означает, что удаленный сервер отклонил попытку подключения по SSH. Частые причины: SSH-сервер не запущен, порт заблокирован брандмауэром или неправильные сетевые настройки.","Что означает ошибка SSH Connection Refused на macOS?",{"answer":1151,"question":1152},"Выполните команду `sudo systemsetup -getremotelogin`. Если ответ `Off`, включите SSH через `sudo systemsetup -setremotelogin on` или используйте `sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist`.","Как проверить, запущен ли SSH-сервер на моем Mac?",{"answer":1154,"question":1155},"Да, встроенный брандмауэр может блокировать входящие подключения. Проверьте в Системных настройках → Брандмауэр, что порт 22 разрешен для входящих соединений.","Может ли брандмауэр macOS блокировать SSH-подключения?",{"answer":1157,"question":1158},"Убедитесь, что сервер доступен в сети, проверьте правильность IP-адреса и порта, а также что ваш IP не заблокирован на стороне сервера (например, через `hosts.deny`).","Что делать, если ошибка возникает только к определенному серверу?",[1160,1163,1166,1169],{"name":1161,"text":1162},"Проверьте состояние службы SSH","На целевом сервере (или на вашем Mac для локального подключения) убедитесь, что SSH-демон запущен. Для macOS используйте `sudo systemsetup -getremotelogin`.",{"name":1164,"text":1165},"Проверьте брандмауэр и порт 22","Убедитесь, что брандмауэр не блокирует порт 22. На macOS проверьте настройки брандмауэра или используйте `sudo pfctl -s rules`.",{"name":1167,"text":1168},"Тестируйте сетевое подключение","Пропингуйте хост и проверьте доступность порта 22 с помощью `nc -zv \u003Chost> 22` или `telnet \u003Chost> 22`.",{"name":1170,"text":1171},"Проверьте конфигурацию SSH-сервера","Если есть доступ к серверу, проверьте файл `/etc/ssh/sshd_config` на корректность настроек, таких как `Port` и `AllowUsers`.","PT15M",[1174,1175,1176,1177,1178,1179,1180],"ssh connection refused macos","ошибка ssh connection refused на macOS","как исправить ssh connection refused","ssh не подключается connection refused","macos ssh подключение отклонено","ssh connection refused причины и решение","terminal ssh connection refused","ru_RU",{},true,"/errors/macos/ssh-connection-refused","macos",[1187,1188,1189],"/errors/macos/ssh-permission-denied","/guides/macos/enable-ssh-server","/errors/general/port-already-in-use","Ошибки macOS",{"title":5,"description":1141},"high","errors/macos/ssh-connection-refused","Ошибка SSH Connection Refused на macOS блокирует удаленный доступ. В этом руководстве вы узнаете, как диагностировать и исправить проблему, проверив службу SSH, брандмауэр и сетевые настройки.",[1185,709,1196,1197,1198,1199],"ошибка подключения","connection refused","сетевая настройка","terminal","O7XYCudxcYuHtJ7eNU0LVjK4v8ynf03UY20VMwke_zU",{"data":1202,"body":1203},{},{"type":1204,"children":1205},"root",[1206],{"type":1207,"tag":18,"props":1208,"children":1209},"element",{},[1210],{"type":32,"value":1148},{"data":1212,"body":1213},{},{"type":1204,"children":1214},[1215],{"type":1207,"tag":18,"props":1216,"children":1217},{},[1218,1220,1226,1228,1233,1235,1241,1243,1249],{"type":32,"value":1219},"Выполните команду ",{"type":1207,"tag":34,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":32,"value":1225},"sudo systemsetup -getremotelogin",{"type":32,"value":1227},". Если ответ ",{"type":1207,"tag":34,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":32,"value":244},{"type":32,"value":1234},", включите SSH через ",{"type":1207,"tag":34,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":32,"value":1240},"sudo systemsetup -setremotelogin on",{"type":32,"value":1242}," или используйте ",{"type":1207,"tag":34,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":32,"value":1248},"sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist",{"type":32,"value":400},{"data":1251,"body":1252},{},{"type":1204,"children":1253},[1254],{"type":1207,"tag":18,"props":1255,"children":1256},{},[1257],{"type":32,"value":1154},{"data":1259,"body":1260},{},{"type":1204,"children":1261},[1262],{"type":1207,"tag":18,"props":1263,"children":1264},{},[1265,1267,1272],{"type":32,"value":1266},"Убедитесь, что сервер доступен в сети, проверьте правильность IP-адреса и порта, а также что ваш IP не заблокирован на стороне сервера (например, через ",{"type":1207,"tag":34,"props":1268,"children":1270},{"className":1269},[],[1271],{"type":32,"value":94},{"type":32,"value":320},{"data":1274,"body":1275},{},{"type":1204,"children":1276},[1277],{"type":1207,"tag":18,"props":1278,"children":1279},{},[1280,1282,1287],{"type":32,"value":1281},"На целевом сервере (или на вашем Mac для локального подключения) убедитесь, что SSH-демон запущен. Для macOS используйте ",{"type":1207,"tag":34,"props":1283,"children":1285},{"className":1284},[],[1286],{"type":32,"value":1225},{"type":32,"value":400},{"data":1289,"body":1290},{},{"type":1204,"children":1291},[1292],{"type":1207,"tag":18,"props":1293,"children":1294},{},[1295,1297,1303],{"type":32,"value":1296},"Убедитесь, что брандмауэр не блокирует порт 22. На macOS проверьте настройки брандмауэра или используйте ",{"type":1207,"tag":34,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":32,"value":1302},"sudo pfctl -s rules",{"type":32,"value":400},{"data":1305,"body":1306},{},{"type":1204,"children":1307},[1308],{"type":1207,"tag":18,"props":1309,"children":1310},{},[1311,1313,1319,1320,1326],{"type":32,"value":1312},"Пропингуйте хост и проверьте доступность порта 22 с помощью ",{"type":1207,"tag":34,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":32,"value":1318},"nc -zv \u003Chost> 22",{"type":32,"value":103},{"type":1207,"tag":34,"props":1321,"children":1323},{"className":1322},[],[1324],{"type":32,"value":1325},"telnet \u003Chost> 22",{"type":32,"value":400},{"data":1328,"body":1329},{},{"type":1204,"children":1330},[1331],{"type":1207,"tag":18,"props":1332,"children":1333},{},[1334,1336,1342,1344,1350,1351,1356],{"type":32,"value":1335},"Если есть доступ к серверу, проверьте файл ",{"type":1207,"tag":34,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":32,"value":1341},"/etc/ssh/sshd_config",{"type":32,"value":1343}," на корректность настроек, таких как ",{"type":1207,"tag":34,"props":1345,"children":1347},{"className":1346},[],[1348],{"type":32,"value":1349},"Port",{"type":32,"value":923},{"type":1207,"tag":34,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":32,"value":102},{"type":32,"value":400},[1358,2240],{"id":1359,"title":1360,"appliesTo":1361,"author":8,"body":1366,"canonical":1138,"code":2178,"createdAt":2179,"description":2180,"difficulty":1142,"draft":1143,"estimatedTime":1144,"extension":1145,"faq":2181,"howToSteps":2194,"howToTotalTime":1172,"image":1138,"keywords":2213,"locale":1181,"meta":2224,"navigation":1183,"path":1187,"platform":1185,"related":2225,"section":1190,"seo":2228,"severity":1192,"stem":2229,"summary":2230,"tags":2231,"twitterCreator":1138,"twitterSite":1138,"type":926,"updatedAt":2179,"__hash__":2239},"content_ru/errors/macos/ssh-permission-denied.md","Как исправить ошибку SSH Permission denied на macOS: причины и решения",[1362,1363,1364,1365],"macOS 11.0 Big Sur и выше","macOS 12.0 Monterey","macOS 13.0 Ventura","macOS 14.0 Sonoma",{"type":10,"value":1367,"toc":2165},[1368,1372,1375,1381,1384,1390,1392,1398,1480,1482,1486,1489,1582,1598,1601,1603,1607,1614,1622,1634,1640,1648,1678,1691,1696,1709,1714,1723,1727,1733,1831,1841,1855,1862,1865,1869,1872,1889,1892,1908,1915,1921,1927,1931,1934,1939,1951,1956,1962,1974,2021,2029,2033,2036,2053,2066,2069,2083,2093,2095,2101,2159,2162],[13,1369,1371],{"id":1370},"что-означает-ошибка-ssh-permission-denied","Что означает ошибка SSH Permission denied",[18,1373,1374],{},"При попытке подключиться к удалённому серверу по SSH на macOS вы видите сообщение:",[27,1376,1379],{"className":1377,"code":1378,"language":32},[30],"Permission denied (publickey,password).\n",[34,1380,1378],{"__ignoreMap":36},[18,1382,1383],{},"Эта ошибка означает, что сервер отклонил вашу попытку аутентификации. SSH пытался использовать несколько методов (сначала публичный ключ, затем пароль), но ни один не succeeded. В результате доступ запрещён.",[18,1385,20,1386,1389],{},[22,1387,1388],{},"SSH Permission denied"," не является специфичной для macOS — она возникает на любой платформе. Однако на macOS есть свои нюансы: расположение файлов ключей, работа с Keychain, настройки агента. Данная статья сосредоточена именно на решении проблемы в среде macOS.",[13,1391,43],{"id":42},[18,1393,20,1394,1397],{},[22,1395,1396],{},"Permission denied"," обычно вызвана одной из следующих причин:",[51,1399,1400,1418,1431,1441,1450,1465,1471],{},[54,1401,1402,1405,1406,1409,1410,1413,1414,1417],{},[22,1403,1404],{},"Неправильные права доступа к файлам SSH-ключей"," на вашем Mac. Приватный ключ (например, ",[34,1407,1408],{},"~/.ssh/id_rsa",") должен быть доступен только для чтения владельцем (права ",[34,1411,1412],{},"600","). Если права более открытые (например, ",[34,1415,1416],{},"644","), SSH откажется использовать ключ из соображений безопасности.",[54,1419,1420,1423,1424,1427,1428,1430],{},[22,1421,1422],{},"Отсутствие публичного ключа на сервере",". Ваш публичный ключ (",[34,1425,1426],{},"id_rsa.pub",") не был добавлен в файл ",[34,1429,1070],{}," на удалённом сервере, или добавлен некорректно (например, с переносами строк).",[54,1432,1433,1436,1437,1440],{},[22,1434,1435],{},"SSH-агент не запущен или не содержит загруженных ключей",". На macOS агент (",[34,1438,1439],{},"ssh-agent",") обычно запускается автоматически, но иногда ключи не загружаются в сеанс, особенно после перезагрузки.",[54,1442,1443,1446,1447,400],{},[22,1444,1445],{},"Неверный путь к приватному ключу"," при подключении. Если ключ лежит в нестандартном месте или имеет другое имя, нужно явно указать его опцией ",[34,1448,1449],{},"-i",[54,1451,1452,1455,1456,1458,1459,103,1462,1464],{},[22,1453,1454],{},"На сервере отключена аутентификация по ключам",". В конфигурации SSH-сервера (",[34,1457,1341],{},") может быть установлено ",[34,1460,1461],{},"PubkeyAuthentication no",[34,1463,1074],{}," (и парольная аутентификация отключена).",[54,1466,1467,1470],{},[22,1468,1469],{},"Ошибка в имени пользователя",". Вы пытаетесь войти под пользователем, у которого нет доступа или неправильно указано имя.",[54,1472,1473,1476,1477,1479],{},[22,1474,1475],{},"Двухфакторная аутентификация"," или другие ограничения (например, ",[34,1478,102],{}," в конфиге сервера).",[13,1481,129],{"id":128},[131,1483,1485],{"id":1484},"способ-1-проверка-прав-доступа-к-ключам-ssh","Способ 1: Проверка прав доступа к ключам SSH",[18,1487,1488],{},"На macOS права на файлы SSH-ключей должны быть строго ограничены. Откройте Terminal и выполните:",[27,1490,1492],{"className":150,"code":1491,"language":152,"meta":36,"style":36},"# Проверьте права на папку .ssh\nls -ld ~/.ssh\n# Ожидаемый вывод: drwx------  или drwxr-xr-x (но лучше 700)\n\n# Проверьте права на приватный ключ (например, id_rsa)\nls -l ~/.ssh/id_rsa\n# Ожидаемый вывод: -rw-------  (600)\n\n# Если права другие, исправьте:\nchmod 700 ~/.ssh\nchmod 600 ~/.ssh/id_rsa\n# Если у вас несколько ключей, исправьте каждый приватный ключ.\n",[34,1493,1494,1499,1510,1515,1521,1527,1538,1544,1549,1555,1566,1576],{"__ignoreMap":36},[156,1495,1496],{"class":158,"line":159},[156,1497,1498],{"class":210},"# Проверьте права на папку .ssh\n",[156,1500,1501,1504,1507],{"class":158,"line":197},[156,1502,1503],{"class":162},"ls",[156,1505,1506],{"class":236}," -ld",[156,1508,1509],{"class":166}," ~/.ssh\n",[156,1511,1512],{"class":158,"line":907},[156,1513,1514],{"class":210},"# Ожидаемый вывод: drwx------  или drwxr-xr-x (но лучше 700)\n",[156,1516,1518],{"class":158,"line":1517},4,[156,1519,1520],{"emptyLinePlaceholder":1183},"\n",[156,1522,1524],{"class":158,"line":1523},5,[156,1525,1526],{"class":210},"# Проверьте права на приватный ключ (например, id_rsa)\n",[156,1528,1530,1532,1535],{"class":158,"line":1529},6,[156,1531,1503],{"class":162},[156,1533,1534],{"class":236}," -l",[156,1536,1537],{"class":166}," ~/.ssh/id_rsa\n",[156,1539,1541],{"class":158,"line":1540},7,[156,1542,1543],{"class":210},"# Ожидаемый вывод: -rw-------  (600)\n",[156,1545,1547],{"class":158,"line":1546},8,[156,1548,1520],{"emptyLinePlaceholder":1183},[156,1550,1552],{"class":158,"line":1551},9,[156,1553,1554],{"class":210},"# Если права другие, исправьте:\n",[156,1556,1558,1561,1564],{"class":158,"line":1557},10,[156,1559,1560],{"class":162},"chmod",[156,1562,1563],{"class":236}," 700",[156,1565,1509],{"class":166},[156,1567,1569,1571,1574],{"class":158,"line":1568},11,[156,1570,1560],{"class":162},[156,1572,1573],{"class":236}," 600",[156,1575,1537],{"class":166},[156,1577,1579],{"class":158,"line":1578},12,[156,1580,1581],{"class":210},"# Если у вас несколько ключей, исправьте каждый приватный ключ.\n",[1583,1584,1585],"blockquote",{},[18,1586,1587,1588,1591,1592,103,1595,1597],{},"⚠️ ",[22,1589,1590],{},"Важно",": Не устанавливайте права ",[34,1593,1594],{},"777",[34,1596,1416],{}," на приватные ключи — SSH откажется их использовать.",[18,1599,1600],{},"После исправления прав попробуйте подключиться снова.",[1009,1602],{},[131,1604,1606],{"id":1605},"способ-2-добавление-публичного-ключа-на-сервер","Способ 2: Добавление публичного ключа на сервер",[18,1608,1609,1610,1613],{},"Убедитесь, что ваш публичный ключ присутствует в ",[34,1611,1612],{},"authorized_keys"," на сервере.",[51,1615,1616],{},[54,1617,1618,1621],{},[22,1619,1620],{},"На вашем Mac"," скопируйте содержимое публичного ключа:",[27,1623,1625],{"className":150,"code":1624,"language":152,"meta":36,"style":36},"cat ~/.ssh/id_rsa.pub\n",[34,1626,1627],{"__ignoreMap":36},[156,1628,1629,1631],{"class":158,"line":159},[156,1630,956],{"class":162},[156,1632,1633],{"class":166}," ~/.ssh/id_rsa.pub\n",[18,1635,1636,1637,320],{},"Скопируйте весь вывод (начинается с ",[34,1638,1639],{},"ssh-rsa ...",[51,1641,1642],{"start":197},[54,1643,1644,1647],{},[22,1645,1646],{},"На сервере"," (если у вас уже есть доступ, например, по паролю) откройте или создайте файл:",[27,1649,1651],{"className":150,"code":1650,"language":152,"meta":36,"style":36},"mkdir -p ~/.ssh\nchmod 700 ~/.ssh\nnano ~/.ssh/authorized_keys\n",[34,1652,1653,1662,1670],{"__ignoreMap":36},[156,1654,1655,1658,1660],{"class":158,"line":159},[156,1656,1657],{"class":162},"mkdir",[156,1659,550],{"class":236},[156,1661,1509],{"class":166},[156,1663,1664,1666,1668],{"class":158,"line":197},[156,1665,1560],{"class":162},[156,1667,1563],{"class":236},[156,1669,1509],{"class":166},[156,1671,1672,1675],{"class":158,"line":907},[156,1673,1674],{"class":162},"nano",[156,1676,1677],{"class":166}," ~/.ssh/authorized_keys\n",[18,1679,1680,1681,991,1684,1687,1688,320],{},"Вставьте скопированную строку в конец файла. Сохраните (",[34,1682,1683],{},"Ctrl+X",[34,1685,1686],{},"Y",", ",[34,1689,1690],{},"Enter",[51,1692,1693],{"start":907},[54,1694,1695],{},"Установите правильные права:",[27,1697,1699],{"className":150,"code":1698,"language":152,"meta":36,"style":36},"chmod 600 ~/.ssh/authorized_keys\n",[34,1700,1701],{"__ignoreMap":36},[156,1702,1703,1705,1707],{"class":158,"line":159},[156,1704,1560],{"class":162},[156,1706,1573],{"class":236},[156,1708,1677],{"class":166},[51,1710,1711],{"start":1517},[54,1712,1713],{},"Попробуйте подключиться снова.",[1583,1715,1716],{},[18,1717,1718,1719,1722],{},"💡 ",[22,1720,1721],{},"Совет",": Если вы не имеете доступа к серверу, попросите администратора добавить ваш публичный ключ.",[131,1724,1726],{"id":1725},"способ-3-запуск-и-настройка-ssh-агента","Способ 3: Запуск и настройка SSH-агента",[18,1728,1729,1730,1732],{},"macOS использует ",[34,1731,1439],{}," для хранения ключей в памяти. Проверьте, запущен ли агент и загружены ли ключи:",[27,1734,1736],{"className":150,"code":1735,"language":152,"meta":36,"style":36},"# Проверить, работает ли агент\necho $SSH_AUTH_SOCK\n# Если вывод пустой, агент не запущен в текущей сессии.\n\n# Запустить агент вручную\neval \"$(ssh-agent -s)\"\n# Вывод должен быть: Agent pid 12345\n\n# Добавить ключ (если он не загружен)\nssh-add ~/.ssh/id_rsa\n# Если ключ защищён паролем, введите его.\n\n# Проверить список загруженных ключей\nssh-add -l\n# Должен показать отпечаток вашего ключа.\n",[34,1737,1738,1743,1751,1756,1760,1765,1781,1786,1790,1795,1802,1807,1811,1817,1825],{"__ignoreMap":36},[156,1739,1740],{"class":158,"line":159},[156,1741,1742],{"class":210},"# Проверить, работает ли агент\n",[156,1744,1745,1748],{"class":158,"line":197},[156,1746,1747],{"class":236},"echo",[156,1749,1750],{"class":857}," $SSH_AUTH_SOCK\n",[156,1752,1753],{"class":158,"line":907},[156,1754,1755],{"class":210},"# Если вывод пустой, агент не запущен в текущей сессии.\n",[156,1757,1758],{"class":158,"line":1517},[156,1759,1520],{"emptyLinePlaceholder":1183},[156,1761,1762],{"class":158,"line":1523},[156,1763,1764],{"class":210},"# Запустить агент вручную\n",[156,1766,1767,1770,1773,1775,1778],{"class":158,"line":1529},[156,1768,1769],{"class":236},"eval",[156,1771,1772],{"class":166}," \"$(",[156,1774,1439],{"class":162},[156,1776,1777],{"class":236}," -s",[156,1779,1780],{"class":166},")\"\n",[156,1782,1783],{"class":158,"line":1540},[156,1784,1785],{"class":210},"# Вывод должен быть: Agent pid 12345\n",[156,1787,1788],{"class":158,"line":1546},[156,1789,1520],{"emptyLinePlaceholder":1183},[156,1791,1792],{"class":158,"line":1551},[156,1793,1794],{"class":210},"# Добавить ключ (если он не загружен)\n",[156,1796,1797,1800],{"class":158,"line":1557},[156,1798,1799],{"class":162},"ssh-add",[156,1801,1537],{"class":166},[156,1803,1804],{"class":158,"line":1568},[156,1805,1806],{"class":210},"# Если ключ защищён паролем, введите его.\n",[156,1808,1809],{"class":158,"line":1578},[156,1810,1520],{"emptyLinePlaceholder":1183},[156,1812,1814],{"class":158,"line":1813},13,[156,1815,1816],{"class":210},"# Проверить список загруженных ключей\n",[156,1818,1820,1822],{"class":158,"line":1819},14,[156,1821,1799],{"class":162},[156,1823,1824],{"class":236}," -l\n",[156,1826,1828],{"class":158,"line":1827},15,[156,1829,1830],{"class":210},"# Должен показать отпечаток вашего ключа.\n",[18,1832,1833,1834,1837,1838,269],{},"Если вы используете ",[22,1835,1836],{},"SSH-ключ с паролем",", чтобы не вводить его каждый раз, добавьте ключ в ",[22,1839,1840],{},"macOS Keychain",[27,1842,1844],{"className":150,"code":1843,"language":152,"meta":36,"style":36},"ssh-add -K ~/.ssh/id_rsa\n",[34,1845,1846],{"__ignoreMap":36},[156,1847,1848,1850,1853],{"class":158,"line":159},[156,1849,1799],{"class":162},[156,1851,1852],{"class":236}," -K",[156,1854,1537],{"class":166},[18,1856,1857,1858,1861],{},"Флаг ",[34,1859,1860],{},"-K"," (заглавная K) сохраняет пароль в Keychain, и ключ будет автоматически загружаться при входе в систему.",[18,1863,1864],{},"После загрузки ключа попробуйте подключиться.",[131,1866,1868],{"id":1867},"способ-4-явное-указание-ключа-при-подключении","Способ 4: Явное указание ключа при подключении",[18,1870,1871],{},"Если ваш ключ имеет нестандартное имя или расположен в другом месте, укажите его явно:",[27,1873,1875],{"className":150,"code":1874,"language":152,"meta":36,"style":36},"ssh -i ~/.ssh/ваш_ключ user@host\n",[34,1876,1877],{"__ignoreMap":36},[156,1878,1879,1881,1883,1886],{"class":158,"line":159},[156,1880,709],{"class":162},[156,1882,308],{"class":236},[156,1884,1885],{"class":166}," ~/.ssh/ваш_ключ",[156,1887,1888],{"class":166}," user@host\n",[18,1890,1891],{},"Например:",[27,1893,1895],{"className":150,"code":1894,"language":152,"meta":36,"style":36},"ssh -i ~/.ssh/id_ed25519 user@example.com\n",[34,1896,1897],{"__ignoreMap":36},[156,1898,1899,1901,1903,1906],{"class":158,"line":159},[156,1900,709],{"class":162},[156,1902,308],{"class":236},[156,1904,1905],{"class":166}," ~/.ssh/id_ed25519",[156,1907,717],{"class":166},[18,1909,1910,1911,1914],{},"Также можно добавить настройку в локальный конфиг SSH (",[34,1912,1913],{},"~/.ssh/config","), чтобы не указывать ключ каждый раз:",[27,1916,1919],{"className":1917,"code":1918,"language":32},[30],"Host myserver\n    HostName example.com\n    User username\n    IdentityFile ~/.ssh/id_ed25519\n",[34,1920,1918],{"__ignoreMap":36},[18,1922,1923,1924,400],{},"После этого достаточно выполнить ",[34,1925,1926],{},"ssh myserver",[131,1928,1930],{"id":1929},"способ-5-проверка-конфигурации-ssh-сервера","Способ 5: Проверка конфигурации SSH-сервера",[18,1932,1933],{},"Если у вас есть доступ к серверу (например, через консоль или другой аккаунт), проверьте его настройки:",[51,1935,1936],{},[54,1937,1938],{},"Откройте файл конфигурации:",[27,1940,1941],{"className":150,"code":741,"language":152,"meta":36,"style":36},[34,1942,1943],{"__ignoreMap":36},[156,1944,1945,1947,1949],{"class":158,"line":159},[156,1946,163],{"class":162},[156,1948,750],{"class":166},[156,1950,753],{"class":166},[51,1952,1953],{"start":197},[54,1954,1955],{},"Убедитесь, что установлены следующие параметры:",[27,1957,1960],{"className":1958,"code":1959,"language":32},[30],"PubkeyAuthentication yes\nPasswordAuthentication yes   # если хотите разрешить пароль (не рекомендуется)\nAuthorizedKeysFile .ssh/authorized_keys\n",[34,1961,1959],{"__ignoreMap":36},[51,1963,1964,1971],{"start":907},[54,1965,1966,1967,103,1969,320],{},"Также проверьте, нет ли ограничений для вашего пользователя (директива ",[34,1968,102],{},[34,1970,106],{},[54,1972,1973],{},"После изменений перезапустите SSH-демон:",[27,1975,1977],{"className":150,"code":1976,"language":152,"meta":36,"style":36},"sudo systemsetup -setremotelogin on   # для macOS Server\n# или\nsudo launchctl unload /System/Library/LaunchDaemons/ssh.plist\nsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist\n",[34,1978,1979,1993,1998,2009],{"__ignoreMap":36},[156,1980,1981,1983,1985,1987,1990],{"class":158,"line":159},[156,1982,163],{"class":162},[156,1984,233],{"class":166},[156,1986,259],{"class":236},[156,1988,1989],{"class":166}," on",[156,1991,1992],{"class":210},"   # для macOS Server\n",[156,1994,1995],{"class":158,"line":197},[156,1996,1997],{"class":210},"# или\n",[156,1999,2000,2002,2004,2007],{"class":158,"line":907},[156,2001,163],{"class":162},[156,2003,281],{"class":166},[156,2005,2006],{"class":166}," unload",[156,2008,290],{"class":166},[156,2010,2011,2013,2015,2017,2019],{"class":158,"line":1517},[156,2012,163],{"class":162},[156,2014,281],{"class":166},[156,2016,284],{"class":166},[156,2018,287],{"class":236},[156,2020,290],{"class":166},[18,2022,2023,2024,103,2027,400],{},"На стандартном macOS (не Server) управление SSH осуществляется через ",[34,2025,2026],{},"systemsetup",[34,2028,268],{},[131,2030,2032],{"id":2031},"способ-6-временное-отключение-аутентификации-по-ключу-для-диагностики","Способ 6: Временное отключение аутентификации по ключу для диагностики",[18,2034,2035],{},"Чтобы понять, в чём именно проблема (ключ или пароль), попробуйте подключиться, отключив использование ключа:",[27,2037,2039],{"className":150,"code":2038,"language":152,"meta":36,"style":36},"ssh -o PubkeyAuthentication=no user@host\n",[34,2040,2041],{"__ignoreMap":36},[156,2042,2043,2045,2048,2051],{"class":158,"line":159},[156,2044,709],{"class":162},[156,2046,2047],{"class":236}," -o",[156,2049,2050],{"class":166}," PubkeyAuthentication=no",[156,2052,1888],{"class":166},[18,2054,2055,2056,2059,2060,2062,2063,2065],{},"Если подключение по паролю ",[22,2057,2058],{},"успешно",", значит, проблема в ключах (права, отсутствие на сервере, агент). Если и это даёт ",[34,2061,1396],{},", возможно, на сервере отключена парольная аутентификация (",[34,2064,1074],{},") или ваш пароль неверен.",[18,2067,2068],{},"Также можно включить подробное логирование SSH, чтобы увидеть, что именно происходит:",[27,2070,2072],{"className":150,"code":2071,"language":152,"meta":36,"style":36},"ssh -vvv user@host\n",[34,2073,2074],{"__ignoreMap":36},[156,2075,2076,2078,2081],{"class":158,"line":159},[156,2077,709],{"class":162},[156,2079,2080],{"class":236}," -vvv",[156,2082,1888],{"class":166},[18,2084,2085,2086,923,2089,2092],{},"В выводе ищите строки ",[34,2087,2088],{},"Offering public key",[34,2090,2091],{},"Authentication failed",". Это поможет pinpoint проблему.",[13,2094,1014],{"id":1013},[18,2096,2097,2098,2100],{},"Чтобы избежать ошибки ",[22,2099,1388],{}," в будущем:",[51,2102,2103,2117,2127,2133,2139,2145,2153],{},[54,2104,2105,2108,2109,2112,2113,2116],{},[22,2106,2107],{},"Всегда соблюдайте права доступа"," к файлам ",[34,2110,2111],{},"~/.ssh"," и ключам. После генерации ключа (",[34,2114,2115],{},"ssh-keygen",") система обычно устанавливает правильные права, но при копировании файлов они могут сбиться.",[54,2118,2119,2122,2123,2126],{},[22,2120,2121],{},"Добавляйте публичные ключи на сервер сразу"," после генерации. Используйте ",[34,2124,2125],{},"ssh-copy-id user@host"," (если установлен) или копируйте вручную.",[54,2128,2129,2132],{},[22,2130,2131],{},"Используйте SSH-агент и Keychain"," для автоматической загрузки ключей. На macOS это работает из коробки, но после обновления системы или смены аккаунта может потребоваться перезагрузка агента.",[54,2134,2135,2138],{},[22,2136,2137],{},"Храните приватные ключи в защищённом месте"," и никогда не передавайте их третьим лицам.",[54,2140,2141,2144],{},[22,2142,2143],{},"Регулярно проверяйте конфигурацию сервера"," после обновлений, особенно если вы администратор.",[54,2146,2147,2152],{},[22,2148,2149,2150],{},"Используйте конфиг-файл ",[34,2151,1913],{}," для управления несколькими серверами и ключами. Это уменьшает вероятность ошибки при указании неверного ключа.",[54,2154,2155,2158],{},[22,2156,2157],{},"Если используете пароль на ключе",", убедитесь, что он достаточно стойкий, и рассмотрите использование аппаратных токенов (например, YubiKey) для двухфакторной аутентификации.",[18,2160,2161],{},"Следование этим рекомендациям минимизирует риск возникновения ошибки доступа при работе с SSH на macOS.",[1123,2163,2164],{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":36,"searchDepth":197,"depth":197,"links":2166},[2167,2168,2169,2177],{"id":1370,"depth":197,"text":1371},{"id":42,"depth":197,"text":43},{"id":128,"depth":197,"text":129,"children":2170},[2171,2172,2173,2174,2175,2176],{"id":1484,"depth":907,"text":1485},{"id":1605,"depth":907,"text":1606},{"id":1725,"depth":907,"text":1726},{"id":1867,"depth":907,"text":1868},{"id":1929,"depth":907,"text":1930},{"id":2031,"depth":907,"text":2032},{"id":1013,"depth":197,"text":1014},"SSH-PD","2026-02-16 10:09:18","Ошибка SSH Permission denied на macOS? В нашей статье вы найдёте подробные причины и 5 проверенных способов решения. Пошаговая инструкция поможет исправить проблему за 10-15 минут.",[2182,2185,2188,2191],{"question":2183,"answer":2184},"Почему возникает ошибка 'Permission denied' при подключении по SSH?","Ошибка обычно возникает из-за проблем с аутентификацией: неверный путь к ключу, отсутствие публичного ключа на сервере, неправильные права доступа к файлам или неверные настройки SSH-агента.",{"question":2186,"answer":2187},"Как проверить, какие SSH-ключи загружены в агент?","Используйте команду `ssh-add -l` для списка загруженных ключей. Если агент не запущен, сначала выполните `eval $(ssh-agent)` и `ssh-add ~/.ssh/id_rsa` (или другой ключ).",{"question":2189,"answer":2190},"Можно ли использовать SSH без пароля?","Да, с помощью аутентификации по ключам. Но если ключ защищён паролем, вам придётся вводить пароль один раз при загрузке ключа в агент. Для полной автоматизации используйте ключ без пароля (не рекомендуется для продакшена).",{"question":2192,"answer":2193},"Что делать, если ошибка остаётся после проверки всех настроек?","Включите подробное логирование SSH с помощью `ssh -vvv user@host` и проанализируйте вывод, чтобы определить, на каком этапе происходит отказ. Также проверьте настройки сервера в /etc/ssh/sshd_config.",[2195,2198,2201,2204,2207,2210],{"name":2196,"text":2197},"Проверьте права доступа к файлам SSH-ключей","Убедитесь, что приватный ключ (например, `~/.ssh/id_rsa`) доступен только для чтения владельцем: `chmod 600 ~/.ssh/id_rsa`. Папка `~/.ssh` должна иметь права 700.",{"name":2199,"text":2200},"Добавьте публичный ключ на сервер","Скопируйте содержимое публичного ключа (`~/.ssh/id_rsa.pub`) в файл `~/.ssh/authorized_keys` на сервере. Убедитесь, что у этого файла права 600.",{"name":2202,"text":2203},"Запустите и проверьте SSH-агент","Запустите агент: `eval $(ssh-agent)`. Затем добавьте ключ: `ssh-add ~/.ssh/id_rsa`. Проверьте загруженные ключи: `ssh-add -l`.",{"name":2205,"text":2206},"Подключитесь с явным указанием ключа","Используйте опцию `-i` для указания пути к ключу: `ssh -i ~/.ssh/id_rsa user@host`.",{"name":2208,"text":2209},"Проверьте настройки SSH-сервера","На сервере убедитесь, что в `/etc/ssh/sshd_config` разрешена аутентификация по ключу (`PubkeyAuthentication yes`) и указан правильный путь к `AuthorizedKeysFile`.",{"name":2211,"text":2212},"Временно отключите проверку ключей для диагностики","При подключении можно отключить аутентификацию по ключу: `ssh -o PubkeyAuthentication=no user@host`. Если подключится по паролю, проблема в ключах.",[2214,2215,2216,2217,2218,2219,2220,2221,2222,2223],"ssh permission denied macos","ошибка ssh permission denied на mac","как исправить ssh permission denied","ssh permission denied решение","macos ssh доступ запрещён","ssh permission denied публичный ключ","ssh permission denied пароль","ssh permission denied mac исправить","ошибка подключения ssh mac","ssh permission denied causes",{},[1184,2226,2227],"/guides/macos/ssh-key-generation","/errors/macos/ssh-agent-not-running",{"title":1360,"description":2180},"errors/macos/ssh-permission-denied","В статье рассматривается ошибка SSH Permission denied на macOS. Вы узнаете основные причины и получите пошаговые инструкции по исправлению.",[2232,2233,2234,2235,2236,2237,2238],"ошибки macOS","SSH","permission denied","доступ запрещён","macOS","ssh-client","авторизация","UQ1a65QoPyDpIYgTncyKKmSxZ8Rm4WOTyrsQ93t0q0Y",{"id":2241,"title":2242,"appliesTo":2243,"author":8,"body":2248,"canonical":1138,"code":2262,"createdAt":2640,"description":2641,"difficulty":2642,"draft":1143,"estimatedTime":2643,"extension":1145,"faq":2644,"howToSteps":2654,"howToTotalTime":2667,"image":1138,"keywords":2668,"locale":1181,"meta":2676,"navigation":1183,"path":1189,"platform":2677,"related":2678,"section":2682,"seo":2683,"severity":1142,"stem":2684,"summary":2685,"tags":2686,"twitterCreator":1138,"twitterSite":1138,"type":926,"updatedAt":2640,"__hash__":2692},"content_ru/errors/general/port-already-in-use.md","Ошибка «Адрес уже используется»: как найти и освободить порт",[2244,2245,2246,2247],"Windows 10/11","macOS 12+","Linux (любые дистрибутивы)","Node.js / Docker / Python приложения",{"type":10,"value":2249,"toc":2630},[2250,2254,2267,2269,2298,2300,2304,2311,2316,2327,2334,2339,2375,2381,2385,2388,2400,2405,2414,2420,2424,2440,2446,2448,2452,2455,2496,2499,2567,2569,2572,2627],[13,2251,2253],{"id":2252},"что-означает-ошибка-eaddrinuse","Что означает ошибка EADDRINUSE",[18,2255,2256,2257,810,2260,1687,2263,2266],{},"Сообщение ",[34,2258,2259],{},"Error: Address already in use",[34,2261,2262],{},"EADDRINUSE",[34,2264,2265],{},"listen EADDRINUSE: address already in use",") возникает, когда приложение пытается привязаться к сетевому порту, который уже прослушивается другой программой. В TCP/IP-стеке один IP-адрес и порт могут быть назначены только одному процессу одновременно. Если сокет уже занят, операционная система отклоняет запрос на запуск, чтобы избежать конфликтов маршрутизации входящего трафика. Чаще всего вы столкнётесь с этой проблемой при запуске локальных серверов разработки, баз данных (MySQL, PostgreSQL), прокси-серверов или контейнеров Docker.",[13,2268,43],{"id":42},[671,2270,2271,2277,2283,2292],{},[54,2272,2273,2276],{},[22,2274,2275],{},"Конфликт с системным сервисом."," Стандартные порты (80, 443, 3306, 5432) часто заняты веб-серверами, базами данных или утилитами вроде IIS и Apache.",[54,2278,2279,2282],{},[22,2280,2281],{},"Зависший фоновый процесс."," Приложение могло аварийно завершиться, но его процесс остался в памяти и не освободил сетевой дескриптор.",[54,2284,2285,2291],{},[22,2286,2287,2288,400],{},"Состояние ",[34,2289,2290],{},"TIME_WAIT"," После закрытия соединения ОС временно резервирует порт (обычно на 1–4 минуты) для обработки оставшихся в буфере пакетов.",[54,2293,2294,2297],{},[22,2295,2296],{},"Параллельный запуск."," Вы случайно запустили вторую копию того же приложения, и обе версии пытаются занять одинаковый порт.",[13,2299,129],{"id":128},[131,2301,2303],{"id":2302},"способ-1-диагностика-через-терминал","Способ 1: Диагностика через терминал",[18,2305,2306,2307,2310],{},"Первым делом нужно узнать, какой именно процесс блокирует порт. Откройте командную строку или терминал и выполните команду, подходящую для вашей ОС. Замените ",[34,2308,2309],{},"8080"," на номер вашего порта.",[18,2312,2313],{},[22,2314,2315],{},"Windows (PowerShell / CMD от имени администратора):",[27,2317,2321],{"className":2318,"code":2319,"language":2320,"meta":36,"style":36},"language-powershell shiki shiki-themes github-light github-dark","netstat -ano | findstr :8080\n","powershell",[34,2322,2323],{"__ignoreMap":36},[156,2324,2325],{"class":158,"line":159},[156,2326,2319],{},[18,2328,2329,2330,2333],{},"Результат покажет статус ",[34,2331,2332],{},"LISTENING"," и PID (последняя колонка). Запомните этот номер.",[18,2335,2336],{},[22,2337,2338],{},"Linux / macOS:",[27,2340,2342],{"className":150,"code":2341,"language":152,"meta":36,"style":36},"sudo lsof -i :8080\n# или\nsudo ss -tulpn | grep :8080\n",[34,2343,2344,2355,2359],{"__ignoreMap":36},[156,2345,2346,2348,2350,2352],{"class":158,"line":159},[156,2347,163],{"class":162},[156,2349,305],{"class":166},[156,2351,308],{"class":236},[156,2353,2354],{"class":166}," :8080\n",[156,2356,2357],{"class":158,"line":197},[156,2358,1997],{"class":210},[156,2360,2361,2363,2366,2369,2371,2373],{"class":158,"line":907},[156,2362,163],{"class":162},[156,2364,2365],{"class":166}," ss",[156,2367,2368],{"class":236}," -tulpn",[156,2370,491],{"class":490},[156,2372,494],{"class":162},[156,2374,2354],{"class":166},[18,2376,2377,2378,400],{},"Команда выведет имя процесса и его PID в колонке ",[34,2379,2380],{},"PID/Program name",[131,2382,2384],{"id":2383},"способ-2-безопасное-завершение-блокирующего-процесса","Способ 2: Безопасное завершение блокирующего процесса",[18,2386,2387],{},"Получив идентификатор процесса, его можно принудительно остановить.",[1583,2389,2390],{},[18,2391,2392,2393,103,2396,2399],{},"⚠️ Важно: Убедитесь, что завершаемый процесс не является критичным системным компонентом (например, ",[34,2394,2395],{},"svchost.exe",[34,2397,2398],{},"systemd-resolved","). Остановка таких служб может нарушить работу сети.",[18,2401,2402],{},[22,2403,2404],{},"Windows:",[27,2406,2408],{"className":2318,"code":2407,"language":2320,"meta":36,"style":36},"taskkill /PID 1234 /F\n",[34,2409,2410],{"__ignoreMap":36},[156,2411,2412],{"class":158,"line":159},[156,2413,2407],{},[18,2415,1857,2416,2419],{},[34,2417,2418],{},"/F"," гарантирует принудительное завершение даже при зависании.",[18,2421,2422],{},[22,2423,2338],{},[27,2425,2427],{"className":150,"code":2426,"language":152,"meta":36,"style":36},"kill -9 1234\n",[34,2428,2429],{"__ignoreMap":36},[156,2430,2431,2434,2437],{"class":158,"line":159},[156,2432,2433],{"class":236},"kill",[156,2435,2436],{"class":236}," -9",[156,2438,2439],{"class":236}," 1234\n",[18,2441,2442,2443,400],{},"Если сервис управляется менеджером процессов, лучше использовать штатные команды: ",[34,2444,2445],{},"sudo systemctl stop \u003Cимя_сервиса>",[1009,2447],{},[131,2449,2451],{"id":2450},"способ-3-переназначение-порта-в-конфигурации","Способ 3: Переназначение порта в конфигурации",[18,2453,2454],{},"Если освободить порт невозможно или он нужен другой критичной программе, измените настройку прослушивания в вашем приложении.",[51,2456,2457,2472,2484,2493],{},[54,2458,2459,2460,1687,2463,1687,2466,103,2469,320],{},"Откройте конфигурационный файл (например, ",[34,2461,2462],{},"docker-compose.yml",[34,2464,2465],{},".env",[34,2467,2468],{},"config.json",[34,2470,2471],{},"server.js",[54,2473,2474,2475,1687,2478,103,2481,400],{},"Найдите параметр ",[34,2476,2477],{},"port",[34,2479,2480],{},"PORT",[34,2482,2483],{},"LISTEN_PORT",[54,2485,2486,2487,103,2490,320],{},"Замените значение на свободное (например, ",[34,2488,2489],{},"8081",[34,2491,2492],{},"3001",[54,2494,2495],{},"Перезапустите приложение.",[18,2497,2498],{},"Для большинства Node.js/Python-проектов достаточно задать переменную окружения перед запуском:",[27,2500,2502],{"className":150,"code":2501,"language":152,"meta":36,"style":36},"export PORT=3001 && node server.js  # Linux/macOS\nset PORT=3001 && node server.js     # Windows CMD\n$env:PORT=\"3001\"; node server.js    # Windows PowerShell\n",[34,2503,2504,2528,2547],{"__ignoreMap":36},[156,2505,2506,2509,2512,2515,2517,2519,2522,2525],{"class":158,"line":159},[156,2507,2508],{"class":490},"export",[156,2510,2511],{"class":857}," PORT",[156,2513,2514],{"class":490},"=",[156,2516,2492],{"class":236},[156,2518,858],{"class":857},[156,2520,2521],{"class":162},"node",[156,2523,2524],{"class":166}," server.js",[156,2526,2527],{"class":210},"  # Linux/macOS\n",[156,2529,2530,2533,2536,2538,2540,2542,2544],{"class":158,"line":197},[156,2531,2532],{"class":236},"set",[156,2534,2535],{"class":166}," PORT=",[156,2537,2492],{"class":236},[156,2539,858],{"class":857},[156,2541,2521],{"class":162},[156,2543,2524],{"class":166},[156,2545,2546],{"class":210},"     # Windows CMD\n",[156,2548,2549,2552,2554,2557,2560,2562,2564],{"class":158,"line":907},[156,2550,2551],{"class":857},"$env:PORT",[156,2553,2514],{"class":490},[156,2555,2556],{"class":166},"\"3001\"",[156,2558,2559],{"class":857},"; ",[156,2561,2521],{"class":162},[156,2563,2524],{"class":166},[156,2565,2566],{"class":210},"    # Windows PowerShell\n",[13,2568,1014],{"id":1013},[18,2570,2571],{},"Чтобы избежать повторения ошибки, придерживайтесь следующих правил:",[671,2573,2574,2587,2604,2617],{},[54,2575,2576,2579,2580,2583,2584,320],{},[22,2577,2578],{},"Используйте динамическое выделение."," Для локальной разработки настраивайте приложения на автоматический выбор свободного порта (флаги ",[34,2581,2582],{},"--port 0"," или конфигурация ",[34,2585,2586],{},"port: \"auto\"",[54,2588,2589,2592,2593,91,2596,2599,2600,2603],{},[22,2590,2591],{},"Корректно обрабатывайте завершение."," В коде сервера обязательно привязывайте обработчик сигналов ",[34,2594,2595],{},"SIGINT",[34,2597,2598],{},"SIGTERM",", который корректно закрывает соединения (",[34,2601,2602],{},"server.close()","), а не просто обрывает процесс.",[54,2605,2606,2609,2610,2613,2614,400],{},[22,2607,2608],{},"Проверяйте порты перед деплоем."," Добавьте в скрипты запуска предварительную проверку занятости порта через ",[34,2611,2612],{},"nc -z localhost \u003Cпорт>"," или PowerShell-аналог ",[34,2615,2616],{},"Test-NetConnection",[54,2618,2619,2622,2623,2626],{},[22,2620,2621],{},"Изолируйте среды."," Запускайте проекты в Docker-контейнерах с пробросом портов (",[34,2624,2625],{},"-p 8080:3000","), чтобы избежать конфликтов на хост-машине.",[1123,2628,2629],{},"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 .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 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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":36,"searchDepth":197,"depth":197,"links":2631},[2632,2633,2634,2639],{"id":2252,"depth":197,"text":2253},{"id":42,"depth":197,"text":43},{"id":128,"depth":197,"text":129,"children":2635},[2636,2637,2638],{"id":2302,"depth":907,"text":2303},{"id":2383,"depth":907,"text":2384},{"id":2450,"depth":907,"text":2451},{"id":1013,"depth":197,"text":1014},"2026-04-06 13:30:02","Полный гайд по диагностике и освобождению сетевых портов в Windows, Linux и macOS. Найдите блокирующий процесс и запустите сервис за 5 минут!","easy","5-10 мин",[2645,2648,2651],{"question":2646,"answer":2647},"Как узнать, какая программа использует нужный мне порт?","Используйте команды `netstat -ano` (Windows) или `lsof -i :\u003Cпорт>` / `ss -tulpn` (Linux/macOS). Они выведут PID процесса, который нужно завершить.",{"question":2649,"answer":2650},"Можно ли принудительно освободить порт, не перезагружая компьютер?","Да, достаточно завершить зависший процесс через Диспетчер задач или команду `kill`/`taskkill`, после чего порт мгновенно станет доступен.",{"question":2652,"answer":2653},"Почему порт остаётся занятым даже после закрытия приложения?","Это состояние `TIME_WAIT` в TCP/IP. Сокет временно резервируется для корректного завершения передачи данных и освобождается автоматически через 1–4 минуты.",[2655,2658,2661,2664],{"name":2656,"text":2657},"Определите номер порта и ОС","Уточните порт из логов приложения и выберите команды для вашей операционной системы.",{"name":2659,"text":2660},"Найдите блокирующий процесс","Запустите `netstat`, `ss` или `lsof` с правами администратора, чтобы узнать PID программы.",{"name":2662,"text":2663},"Завершите процесс","Используйте `taskkill /PID \u003Cid> /F` или `kill -9 \u003Cpid>` для принудительной остановки.",{"name":2665,"text":2666},"Перезапустите приложение","Запустите целевой сервис повторно, убедившись, что порт успешно освободился.","PT8M",[2669,2262,2670,2671,2672,2673,2674,2675],"порт уже используется","как найти процесс на порту","освободить порт 80","address already in use решение","netstat найти процесс","порт занят приложением","lsof порт",{},"general",[2679,2680,2681],"/guides/general/network-diagnostic-tools","/errors/windows/failed-to-bind-port","/errors/linux/permission-denied-port","Сетевые ошибки",{"title":2242,"description":2641},"errors/general/port-already-in-use","Эта статья объясняет, почему возникает ошибка «Address already in use», и предлагает проверенные команды для определения и освобождения занятого порта в любой операционной системе.",[2687,2688,2262,2689,2690,2691],"сети","порты","диагностика","netstat","troubleshooting","ZXJL255nDku3arVNE2RcOrdMdWxo8aPTYsO8lOK9t4A"]