{
 "name": "BLACKBOX Help Center",
 "site": "https://docs.blackbox.md",
 "updated": "2026-10-09",
 "languages": [
  "ro",
  "ru",
  "en"
 ],
 "sections": [
  {
   "key": "start",
   "title": {
    "ro": "Primii pași",
    "ru": "Начало работы",
    "en": "Getting started"
   },
   "url": {
    "ro": "https://docs.blackbox.md/start/",
    "ru": "https://docs.blackbox.md/ru/start/",
    "en": "https://docs.blackbox.md/en/start/"
   }
  },
  {
   "key": "cont",
   "title": {
    "ro": "Cont și securitate",
    "ru": "Аккаунт и безопасность",
    "en": "Account and security"
   },
   "url": {
    "ro": "https://docs.blackbox.md/cont/",
    "ru": "https://docs.blackbox.md/ru/cont/",
    "en": "https://docs.blackbox.md/en/cont/"
   }
  },
  {
   "key": "comenzi",
   "title": {
    "ro": "Planuri și comenzi",
    "ru": "Тарифы и заказы",
    "en": "Plans and orders"
   },
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/",
    "ru": "https://docs.blackbox.md/ru/comenzi/",
    "en": "https://docs.blackbox.md/en/comenzi/"
   }
  },
  {
   "key": "plati",
   "title": {
    "ro": "Plăți, sold și facturi",
    "ru": "Оплата, баланс и счета",
    "en": "Payments, balance and invoices"
   },
   "url": {
    "ro": "https://docs.blackbox.md/plati/",
    "ru": "https://docs.blackbox.md/ru/plati/",
    "en": "https://docs.blackbox.md/en/plati/"
   }
  },
  {
   "key": "servere",
   "title": {
    "ro": "Panoul și serverele",
    "ru": "Панель и серверы",
    "en": "Panel and servers"
   },
   "url": {
    "ro": "https://docs.blackbox.md/servere/",
    "ru": "https://docs.blackbox.md/ru/servere/",
    "en": "https://docs.blackbox.md/en/servere/"
   }
  },
  {
   "key": "acces",
   "title": {
    "ro": "Acces la server: parole și chei SSH",
    "ru": "Доступ к серверу: пароли и SSH-ключи",
    "en": "Server access: passwords and SSH keys"
   },
   "url": {
    "ro": "https://docs.blackbox.md/acces/",
    "ru": "https://docs.blackbox.md/ru/acces/",
    "en": "https://docs.blackbox.md/en/acces/"
   }
  },
  {
   "key": "servicii",
   "title": {
    "ro": "Monitorizare, DNS și servicii suplimentare",
    "ru": "Мониторинг, DNS и дополнительные услуги",
    "en": "Monitoring, DNS and add-ons"
   },
   "url": {
    "ro": "https://docs.blackbox.md/servicii/",
    "ru": "https://docs.blackbox.md/ru/servicii/",
    "en": "https://docs.blackbox.md/en/servicii/"
   }
  },
  {
   "key": "domenii",
   "title": {
    "ro": "Domenii și SSL",
    "ru": "Домены и SSL",
    "en": "Domains and SSL"
   },
   "url": {
    "ro": "https://docs.blackbox.md/domenii/",
    "ru": "https://docs.blackbox.md/ru/domenii/",
    "en": "https://docs.blackbox.md/en/domenii/"
   }
  },
  {
   "key": "ai",
   "title": {
    "ro": "AI și MCP",
    "ru": "ИИ и MCP",
    "en": "AI and MCP"
   },
   "url": {
    "ro": "https://docs.blackbox.md/ai/",
    "ru": "https://docs.blackbox.md/ru/ai/",
    "en": "https://docs.blackbox.md/en/ai/"
   }
  },
  {
   "key": "ghiduri",
   "title": {
    "ro": "Ghiduri tehnice Linux",
    "ru": "Технические руководства Linux",
    "en": "Linux technical guides"
   },
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/",
    "en": "https://docs.blackbox.md/en/ghiduri/"
   }
  },
  {
   "key": "suport",
   "title": {
    "ro": "Suport",
    "ru": "Поддержка",
    "en": "Support"
   },
   "url": {
    "ro": "https://docs.blackbox.md/suport/",
    "ru": "https://docs.blackbox.md/ru/suport/",
    "en": "https://docs.blackbox.md/en/suport/"
   }
  },
  {
   "key": "faq",
   "title": {
    "ro": "Depanare și întrebări frecvente",
    "ru": "Устранение неполадок и частые вопросы",
    "en": "Troubleshooting and FAQ"
   },
   "url": {
    "ro": "https://docs.blackbox.md/faq/",
    "ru": "https://docs.blackbox.md/ru/faq/",
    "en": "https://docs.blackbox.md/en/faq/"
   }
  },
  {
   "key": "legal",
   "title": {
    "ro": "Legal și confidențialitate",
    "ru": "Правовая информация и конфиденциальность",
    "en": "Legal and privacy"
   },
   "url": {
    "ro": "https://docs.blackbox.md/legal/",
    "ru": "https://docs.blackbox.md/ru/legal/",
    "en": "https://docs.blackbox.md/en/legal/"
   }
  }
 ],
 "articles": [
  {
   "id": "start.despre-centrul-de-ajutor",
   "section": "start",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/start/despre-centrul-de-ajutor/",
    "ru": "https://docs.blackbox.md/ru/start/despre-centrul-de-ajutor/",
    "en": "https://docs.blackbox.md/en/start/despre-centrul-de-ajutor/"
   },
   "title": {
    "ro": "Cum folosiți centrul de ajutor",
    "ru": "Как пользоваться центром помощи",
    "en": "How to use the help center"
   },
   "summary": {
    "ro": "Ce găsiți în fiecare secțiune, cum căutați și cum citiți denumirile butoanelor din articole.",
    "ru": "Что есть в каждом разделе, как искать и как читать названия кнопок в статьях.",
    "en": "What you'll find in each section, how to search, and how to read the button names in the articles."
   },
   "markdown": {
    "ro": "Centrul de ajutor BLACKBOX reunește instrucțiuni pas cu pas pentru contul dvs. de pe blackbox.md, panoul app.blackbox.md și conectarea asistenților AI prin MCP, plus ghiduri tehnice Linux. Ca să găsiți un răspuns, folosiți câmpul „Căutați în documentație…” din bara de sus sau alegeți o secțiune de pe pagina principală.\n\n**Disponibil pentru:** orice vizitator. Pașii din articole se fac, de regulă, în contul dvs. blackbox.md sau în panou.\n\n## Ce găsiți în centrul de ajutor\n\nArticolele acoperă patru zone:\n\n- **blackbox.md** – contul dvs. „Contul meu”, pe care îl deschideți cu butonul „Cont client” din bara de sus a site-ului: comenzi, plăți, sold, facturi, chei SSH, token-uri API, tichete.\n- **app.blackbox.md** – panoul serverelor: date de acces root, chei SSH pe server, pornire și oprire, monitorizare, alerte, DNS.\n- **`https://api.app.blackbox.md/mcp`** – conectarea asistenților AI (Claude, Cursor, VS Code) la contul dvs.\n- **Ghiduri tehnice Linux** pentru serverul dvs.\n\n| Secțiune | Ce găsiți |\n|---|---|\n| [Primii pași](#start) | Cum funcționează BLACKBOX, unde găsiți fiecare funcție și ghidul rapid de la înregistrare la primul server. |\n| [Cont și securitate](#cont) | Înregistrare, autentificare, parole, autentificarea în doi pași (2FA), profilul și datele personale. |\n| [Planuri și comenzi](#comenzi) | Planurile VPS și serverele dedicate, sistemele de operare, plasarea comenzii și pagina „Comenzi”. |\n| [Plăți, sold și facturi](#plati) | Plata cu cardul, soldul, plata automată, facturile, reînnoirea lunară, anulările și rambursările. |\n| [Panoul și serverele](#servere) | Intrarea în panou, pagina „Serverele mele”, pornirea și oprirea, upgrade-ul și ștergerea serverelor. |\n| [Acces la server: parole și chei SSH](#acces) | Parola root, cheile SSH, autentificarea cu parolă, conectarea și recuperarea accesului. |\n| [Monitorizare, DNS și servicii suplimentare](#servicii) | Graficele de monitorizare, alertele pe email, DNS prin Cloudflare sau GoDaddy și serviciile suplimentare. |\n| [Domenii și SSL](#domenii) | Domenii la cerere, îndreptarea domeniului către server, certificate SSL, generatorul CSR și instrumentul de IP. |\n| [AI și MCP](#ai) | Conectarea asistenților AI prin MCP: token-uri, permisiuni, unelte și securitate. |\n| [Ghiduri tehnice Linux](#ghiduri) | Ghiduri pentru Ubuntu, Debian, AlmaLinux și CentOS Stream: securitate, servere web, Docker, întreținere. |\n| [Suport](#suport) | Canalele de contact, tichetele, emailurile pe care le primiți și serviciile profesionale la cerere. |\n| [Depanare și întrebări frecvente](#faq) | Soluții pas cu pas: SSH, site, plată, intrare în cont, disc plin, erori și limite. |\n| [Legal și confidențialitate](#legal) | Datele legale ale furnizorului, termenii pe scurt, confidențialitatea, cookie-urile și DPA. |\n\nPe pagina principală, blocul „Începeți de aici” duce la articolele recomandate pentru început, iar în „Des căutate” găsiți întrebările puse cel mai des, cu link spre răspuns. Lista secțiunilor apare și în coloana din stânga a fiecărui articol; pe telefon o deschideți cu butonul „Meniu”.\n\n## Cum căutați\n\n1. Apăsați câmpul „Căutați în documentație…” din bara de sus sau câmpul mare de pe pagina principală. Pe ecranele mici apăsați pictograma cu lupa. Pe calculator, căutarea se deschide și cu Ctrl+K (pe Mac, Cmd+K) sau cu tasta „/”.\n2. Scrieți întrebarea cu cuvintele dvs., de exemplu „cum mă conectez prin SSH”. Diacriticele nu sunt obligatorii.\n3. Rezultatele apar pe măsură ce scrieți: titlul articolului, secțiunea și fragmentul în care apar cuvintele căutate.\n4. Apăsați rezultatul dorit. Din tastatură: alegeți cu săgețile ↑ și ↓, deschideți cu Enter, închideți căutarea cu Esc.\n\nCât timp câmpul este gol, vedeți articolele cele mai căutate. Dacă nu există potriviri, apare mesajul „Nimic găsit. Încercați alte cuvinte sau deschideți un tichet.”\n\n> **Sfat**\n> Căutați după textul de pe ecran: numele butonului (de exemplu, „Resetează parola”) sau mesajul de eroare exact. Articolele citează textele din interfață cuvânt cu cuvânt.\n\n## Limba articolelor\n\n- Fiecare articol există în română, rusă și engleză, cu același conținut. Comutați limba cu butoanele „RO”, „RU” și „EN” din bara de sus: rămâneți pe același articol, iar alegerea este reținută în browser.\n- Căutarea se face în limba aleasă: în modul „RO”, în articolele în română.\n- Site-ul blackbox.md este în română și rusă. Panoul are în plus engleza (butoanele „EN”, „RO”, „RU”). Detalii în [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n- Articolele în română citează textele din interfața în română, iar cele în rusă, textele din interfața în rusă. Dacă folosiți panoul în engleză, comutați-l pe „RO”, ca denumirile să coincidă cu cele din articol.\n- Câteva ecrane și emailuri există doar în engleză. Articolele le citează în engleză, exact cum apar, și le marchează cu nota „Ecran în limba engleză”.\n\n## Cum citiți un articol\n\n| Ce vedeți în articol | Ce înseamnă |\n|---|---|\n| „Serverele mele”, „Tichet nou” | Text de pe ecran (buton, câmp, meniu sau mesaj), scris exact ca în interfață. |\n| „Contul meu” → „Ajutor și suport” → „Tichet nou” | Cale prin meniu: apăsați elementele pe rând. |\n| `blackbox.md/account/tickets` | Adresa paginii. O cale scurtă, ca `/account/tickets`, se deschide pe domeniul numit în articol. Versiunea rusă a site-ului adaugă `/ru`: `blackbox.md/ru/account/tickets`. |\n| Bloc de cod cu butonul „Copiază” | Comenzi de rulat în terminal, câte o comandă pe linie. |\n| `IP_SERVER`, `DOMENIU` | Valoare pe care o înlocuiți cu datele dvs. |\n| `BBX-2026-000123` | Număr de comandă sau alt cod (de exemplu, un cod de eroare), scris exact cum apare pe ecran. Îl introduceți și îl căutați în această formă. |\n\nExemplu: comanda de conectare la server prin SSH.\n\n```bash\nssh root@IP_SERVER\n```\n\nApăsați „Copiază” (butonul afișează apoi „Copiat”), lipiți comanda în terminal și înlocuiți `IP_SERVER` cu adresa din câmpul „IP” al serverului, de pe pagina „Serverele mele” din panou. Abia apoi apăsați Enter.\n\nNotele colorate din articole:\n\n| Titlul notei | Culoare | Ce înseamnă |\n|---|---|---|\n| „Important”, „Atenție” | portocaliu | Avertisment: citiți înainte să continuați. |\n| „Ireversibil”, „Risc” | roșu | Acțiunea nu poate fi anulată sau poate duce la pierderea datelor ori a accesului. |\n| „Sfat”, „Util” | verde | O recomandare sau o cale mai simplă. |\n| „Notă”, „Ecran în limba engleză” | albastru | Informație suplimentară. |\n\nSub titlul și rezumatul fiecărui articol vedeți eticheta zonei, data „Actualizat” și timpul de citire („min de citit”):\n\n| Eticheta | Unde faceți pașii |\n|---|---|\n| blackbox.md | Pe site și în contul dvs. |\n| app.blackbox.md | În panoul serverelor. |\n| blackbox.md · app.blackbox.md | În ambele. |\n| general | Nu depinde de un anumit ecran: ghiduri, explicații, contacte. |\n\n„Actualizat” arată data ultimei actualizări a articolului. Centrul de ajutor descrie ce este disponibil astăzi în contul și în panoul dvs. Dacă ecranul dvs. arată altfel decât în articol, de exemplu, lipsește un buton sau o secțiune, scrieți-ne.\n\nSub articol găsiți „Articole înrudite” și butoanele „Anterior” / „Următorul”, care duc la articolele vecine din aceeași secțiune. Pe ecranele late, în dreapta apare cuprinsul „Pe această pagină”.\n\n## Dacă nu ați găsit răspunsul\n\nLa finalul fiecărui articol, blocul „N-ați găsit răspunsul?” are butoanele „Copiați emailul” și „Deschideți un tichet”. Al doilea deschide pagina tichetelor din contul dvs.; dacă nu sunteți autentificat, site-ul vă cere mai întâi să intrați în cont. Alte canale:\n\n- **Tichet de suport:** în contul blackbox.md, „Contul meu” → „Ajutor și suport” → „Tichet nou”. Pașii: [Deschiderea unui tichet de suport](#suport.tichet-nou).\n- **Email:** support@blackbox.md.\n- **Telefon și WhatsApp:** +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n\nToate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Care este diferența dintre blackbox.md și app.blackbox.md?**\nPe blackbox.md comandați și plătiți serviciile și vă gestionați contul; în panoul app.blackbox.md administrați serverele. Detalii: [blackbox.md și app.blackbox.md: ce faceți și unde](#start.blackbox-si-panou).\n\n**Abia mi-am creat contul. Cu ce încep?**\nUrmați articolul [De la înregistrare la un server funcțional](#start.ghid-rapid): de la înregistrare până la prima conectare la server.\n\n**Nu înțeleg un termen (sold, plan, cheie de administrare).**\nCăutați-l în [Glosar BLACKBOX](#start.glosar).\n\n**Articolul descrie o funcție pe care nu o găsesc.**\nVerificați eticheta zonei de sub titlu (blackbox.md sau app.blackbox.md): poate căutați în alt loc. Dacă tot nu o găsiți, scrieți-ne. Ce nu este disponibil astăzi este adunat în [Ce nu este disponibil și alternative](#faq.limitari-cunoscute).\n\n**Pot da documentația unui asistent AI?**\nDa. Linkul `corpus.json` din subsolul centrului de ajutor conține toate articolele într-un singur fișier, pentru asistenți AI. Pentru a conecta un asistent la contul dvs., deschideți secțiunea [AI și MCP](#ai).\n",
    "ru": "В центре помощи BLACKBOX собраны пошаговые инструкции по аккаунту на blackbox.md, панели app.blackbox.md и подключению AI-ассистентов через MCP, а также технические руководства по Linux. Чтобы найти ответ, воспользуйтесь полем «Поиск по документации…» в верхней панели или выберите раздел на главной странице.\n\n**Доступно:** любому посетителю. Шаги из статей обычно выполняются в вашем аккаунте на blackbox.md или в панели.\n\n## Что есть в центре помощи\n\nСтатьи охватывают четыре области:\n\n- **blackbox.md** — ваш аккаунт (кнопка «Личный кабинет» в верхней панели сайта): заказы, оплата, баланс, счета, SSH-ключи, API-токены, тикеты.\n- **app.blackbox.md** — панель серверов: учётные данные root, SSH-ключи на сервере, запуск и остановка, мониторинг, оповещения, DNS.\n- **`https://api.app.blackbox.md/mcp`** — подключение AI-ассистентов (Claude, Cursor, VS Code) к вашему аккаунту.\n- **Технические руководства по Linux** для вашего сервера.\n\n| Раздел | Что в нём |\n|---|---|\n| [Начало работы](#start) | Как устроен BLACKBOX, где найти каждую функцию и быстрый путь от регистрации до первого сервера. |\n| [Аккаунт и безопасность](#cont) | Регистрация, вход, пароли, двухфакторная аутентификация (2FA), профиль и личные данные. |\n| [Тарифы и заказы](#comenzi) | Тарифы VPS и выделенные серверы, операционные системы, оформление заказа и страница «Заказы». |\n| [Оплата, баланс и счета](#plati) | Оплата картой, баланс, автоплатёж, счета, ежемесячное продление, отмена заказов и возвраты. |\n| [Панель и серверы](#servere) | Вход в панель, страница «Мои серверы», запуск и остановка, апгрейд и удаление серверов. |\n| [Доступ к серверу: пароли и SSH-ключи](#acces) | Пароль root, SSH-ключи, вход по паролю, подключение и восстановление доступа. |\n| [Мониторинг, DNS и дополнительные услуги](#servicii) | Графики мониторинга, оповещения по email, DNS через Cloudflare или GoDaddy и дополнительные услуги. |\n| [Домены и SSL](#domenii) | Домены по запросу, привязка домена к серверу, SSL-сертификаты, генератор CSR и инструмент определения IP. |\n| [ИИ и MCP](#ai) | Подключение AI-ассистентов через MCP: токены, разрешения, инструменты и безопасность. |\n| [Технические руководства Linux](#ghiduri) | Руководства для Ubuntu, Debian, AlmaLinux и CentOS Stream: безопасность, веб-серверы, Docker, обслуживание. |\n| [Поддержка](#suport) | Каналы связи, тикеты, письма, которые вы получаете, и профессиональные услуги по запросу. |\n| [Устранение неполадок и частые вопросы](#faq) | Пошаговые решения: SSH, сайт, оплата, вход в аккаунт, заполненный диск, ошибки и лимиты. |\n| [Правовая информация и конфиденциальность](#legal) | Юридические данные поставщика, краткие условия, конфиденциальность, cookie и DPA. |\n\nНа главной странице блок «С чего начать» ведёт к статьям, с которых стоит начать, а в блоке «Часто ищут» собраны самые частые вопросы со ссылками на ответы. Список разделов есть и в левой колонке каждой статьи; на телефоне он открывается кнопкой «Меню».\n\n## Как искать\n\n1. Нажмите на поле «Поиск по документации…» в верхней панели или на большое поле поиска на главной странице. На маленьком экране нажмите значок лупы. На компьютере поиск также открывается сочетанием Ctrl+K (на Mac — Cmd+K) или клавишей «/».\n2. Напишите вопрос своими словами, например «как подключиться по SSH». Буквы «ё» и «е» поиск не различает.\n3. Результаты появляются по мере ввода: название статьи, раздел и фрагмент текста с искомыми словами.\n4. Нажмите на нужный результат. С клавиатуры: выбирайте стрелками ↑ и ↓, открывайте клавишей Enter, закрывайте поиск клавишей Esc.\n\nПока поле пустое, вы видите самые популярные статьи. Если совпадений нет, появится сообщение «Ничего не найдено. Попробуйте другие слова или откройте тикет.»\n\n> **Совет**\n> Ищите по тексту с экрана: по названию кнопки (например, «Сбросить пароль») или по точному тексту ошибки. Статьи цитируют надписи интерфейса слово в слово.\n\n## Язык статей\n\n- Каждая статья доступна на румынском, русском и английском языках с одинаковым содержанием. Язык переключается кнопками «RO», «RU» и «EN» в верхней панели: вы остаётесь в той же статье, а выбор запоминается в браузере.\n- Поиск работает на выбранном языке: в режиме «RU» он ищет по русским статьям.\n- Сайт blackbox.md работает на румынском и русском. В панели есть ещё английский (кнопки «EN», «RO», «RU»). Подробнее — в статье [Язык сайта, панели и писем](#cont.limba).\n- Русские статьи цитируют надписи русского интерфейса, румынские — румынского. Если панель у вас на английском, переключите её на «RU», чтобы названия совпадали со статьёй.\n- Некоторые экраны и письма есть только на английском. Статьи цитируют их по-английски, в точности как на экране, и отмечают примечанием «Экран на английском».\n\n## Как читать статью\n\n| Что вы видите в статье | Что это значит |\n|---|---|\n| «Мои серверы», «Новый тикет» | Надпись на экране (кнопка, поле, меню или сообщение) — в точности как в интерфейсе. |\n| «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» | Путь по меню: нажимайте пункты по очереди. |\n| `blackbox.md/account/tickets` | Адрес страницы. Короткий путь вроде `/account/tickets` открывается на домене, названном в статье. В русской версии сайта к адресу добавляется `/ru`: `blackbox.md/ru/account/tickets`. |\n| Блок кода с кнопкой «Копировать» | Команды для терминала, по одной на строке. |\n| `IP_СЕРВЕРА`, `ДОМЕН` | Значение, которое нужно заменить своим. |\n| `BBX-2026-000123` | Номер заказа или другой код (например, код ошибки) — в точности как на экране. Вводите и ищите его именно в таком виде. |\n\nПример — команда для подключения к серверу по SSH:\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\nНажмите «Копировать» (после этого на кнопке появится «Скопировано»), вставьте команду в терминал и замените `IP_СЕРВЕРА` адресом из поля «IP» на странице «Мои серверы» в панели. Только после этого нажмите Enter.\n\nЦветные примечания в статьях:\n\n| Заголовок примечания | Цвет | Что означает |\n|---|---|---|\n| «Важно», «Внимание» | оранжевый | Предупреждение: прочитайте, прежде чем продолжить. |\n| «Необратимо», «Опасно» | красный | Действие нельзя отменить, или оно может привести к потере данных либо доступа. |\n| «Совет», «Полезно» | зелёный | Рекомендация или более простой путь. |\n| «Примечание», «Экран на английском» | синий | Дополнительная информация. |\n\nПод заголовком и кратким описанием каждой статьи указаны метка области, дата «Обновлено» и время чтения («мин чтения»):\n\n| Метка | Где выполняются шаги |\n|---|---|\n| blackbox.md | На сайте и в вашем аккаунте. |\n| app.blackbox.md | В панели серверов. |\n| blackbox.md · app.blackbox.md | И там, и там. |\n| общее | Не привязано к конкретному экрану: руководства, пояснения, контакты. |\n\n«Обновлено» — дата последнего обновления статьи. Центр помощи описывает то, что доступно в вашем аккаунте и панели сегодня. Если экран у вас выглядит иначе, чем в статье (например, нет кнопки или раздела), напишите нам.\n\nПод статьёй находятся «Связанные статьи» и кнопки «Назад» / «Далее», которые ведут к соседним статьям того же раздела. На широком экране справа показано оглавление «На этой странице».\n\n## Если ответа не нашлось\n\nВ конце каждой статьи есть блок «Не нашли ответ?» с кнопками «Скопировать email» и «Открыть тикет». Вторая открывает страницу тикетов в вашем аккаунте; если вы не вошли, сайт сначала попросит войти. Другие каналы:\n\n- **Тикет в поддержку:** в аккаунте на blackbox.md — «Личный кабинет» → «Помощь и поддержка» → «Новый тикет». Пошагово: [Создание тикета в поддержку](#suport.tichet-nou).\n- **Email:** support@blackbox.md.\n- **Телефон и WhatsApp:** +373 78 003948, понедельник–пятница, 09:00–18:00 (по времени Молдовы).\n\nВсе каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Чем blackbox.md отличается от app.blackbox.md?**\nНа blackbox.md вы заказываете и оплачиваете услуги и управляете аккаунтом, а в панели app.blackbox.md управляете серверами. Подробнее: [blackbox.md и app.blackbox.md: что и где делается](#start.blackbox-si-panou).\n\n**Я только что зарегистрировался. С чего начать?**\nОткройте статью [От регистрации до работающего сервера](#start.ghid-rapid): она ведёт от регистрации до первого подключения к серверу.\n\n**Мне непонятен термин (баланс, тариф, ключ управления).**\nНайдите его в статье [Глоссарий BLACKBOX](#start.glosar).\n\n**В статье описана функция, которую я не нахожу.**\nПроверьте метку области под заголовком (blackbox.md или app.blackbox.md): возможно, вы ищете не там. Если функции всё равно нет, напишите нам. То, что сегодня недоступно, собрано в статье [Что недоступно и какие есть альтернативы](#faq.limitari-cunoscute).\n\n**Можно ли передать документацию AI-ассистенту?**\nДа. Ссылка `corpus.json` внизу центра помощи ведёт к файлу со всеми статьями — он предназначен для AI-ассистентов. Чтобы подключить ассистента к аккаунту, откройте раздел [ИИ и MCP](#ai).\n",
    "en": "The BLACKBOX help center brings together step-by-step instructions for your account on blackbox.md, the app.blackbox.md panel and connecting AI assistants through MCP, plus Linux technical guides. To find an answer, use the “Search the docs…” field in the top bar or choose a section on the home page.\n\n**Available to:** any visitor. The steps in the articles are usually done in your blackbox.md account or in the panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you'll find in the help center\n\nThe articles cover four areas:\n\n- **blackbox.md** – your account, “Contul meu” (My account), which you open with the “Cont client” (Customer account) button in the site's top bar: orders, payments, balance, invoices, SSH keys, API tokens, support tickets.\n- **app.blackbox.md** – the server panel: root credentials, SSH keys on the server, starting and stopping, monitoring, alerts, DNS.\n- **`https://api.app.blackbox.md/mcp`** – connecting AI assistants (Claude, Cursor, VS Code) to your account.\n- **Linux technical guides** for your server.\n\n| Section | What you'll find |\n|---|---|\n| [Getting started](#start) | How BLACKBOX works, where to find each feature, and the quick guide from sign-up to your first server. |\n| [Account and security](#cont) | Sign-up, sign-in, passwords, two-factor authentication (2FA), your profile and personal data. |\n| [Plans and orders](#comenzi) | VPS plans and dedicated servers, operating systems, placing an order and the “Comenzi” (Orders) page. |\n| [Payments, balance and invoices](#plati) | Card payments, your balance, autopay, invoices, monthly renewal, cancellations and refunds. |\n| [Panel and servers](#servere) | Signing in to the panel, the “My Servers” page, starting and stopping, upgrading and deleting servers. |\n| [Server access: passwords and SSH keys](#acces) | The root password, SSH keys, password login, connecting and regaining access. |\n| [Monitoring, DNS and add-ons](#servicii) | Monitoring charts, email alerts, DNS through Cloudflare or GoDaddy, and add-on services. |\n| [Domains and SSL](#domenii) | Domains on request, pointing a domain to your server, SSL certificates, the CSR generator and the IP tool. |\n| [AI and MCP](#ai) | Connecting AI assistants through MCP: tokens, permissions, tools and security. |\n| [Linux technical guides](#ghiduri) | Guides for Ubuntu, Debian, AlmaLinux and CentOS Stream: security, web servers, Docker, maintenance. |\n| [Support](#suport) | Contact channels, support tickets, the emails you receive and professional services on request. |\n| [Troubleshooting and FAQ](#faq) | Step-by-step fixes: SSH, websites, payments, signing in, a full disk, errors and limits. |\n| [Legal and privacy](#legal) | The provider's legal details, the terms in brief, privacy, cookies and the DPA. |\n\nOn the home page, the “Start here” block leads to the articles we recommend reading first, and “Popular searches” lists the most frequently asked questions, each with a link to its answer. The list of sections also appears in the left column of every article; on a phone, open it with the “Menu” button.\n\n## How to search\n\n1. Click the “Search the docs…” field in the top bar or the large search field on the home page. On small screens, tap the magnifying-glass icon. On a computer, you can also open search with Ctrl+K (Cmd+K on a Mac) or the “/” key.\n2. Type your question in your own words, for example “how do I connect via SSH”. Diacritics are optional.\n3. Results appear as you type: the article title, its section and the passage that contains the words you searched for.\n4. Click the result you want. With the keyboard: choose with the ↑ and ↓ arrows, open with Enter, and close search with Esc.\n\nWhile the field is empty, you see the most searched articles. If there are no matches, you see the message “Nothing found. Try other words or open a ticket.”\n\n> **Tip**\n> Search for the text on your screen: the button name (for example, “Reset password”) or the exact error message. The articles quote interface text word for word.\n\n## Article language\n\n- Every article exists in Romanian, Russian and English, with the same content. Switch the language with the “RO”, “RU” and “EN” buttons in the top bar: you stay on the same article, and your choice is remembered in your browser.\n- Search works in the language you choose: in “EN” mode, it searches the English articles.\n- The blackbox.md website is in Romanian and Russian. The panel also has English (the “EN”, “RO”, “RU” buttons). Details in [Language of the website, the panel and emails](#cont.limba).\n- English articles quote the panel's English interface. If your panel is set to Romanian or Russian, switch it to “EN” so the names match the article. The blackbox.md website has no English version, so its labels are quoted in Romanian with the English meaning in parentheses, for example “Contul meu” (My account).\n- A few screens and emails exist only in English. The articles quote them exactly as they appear.\n\n## How to read an article\n\n| What you see in an article | What it means |\n|---|---|\n| “My Servers”, “Tichet nou” (New ticket) | Text on the screen (a button, field, menu or message), written exactly as in the interface. Website labels are in Romanian, followed by their English meaning. |\n| “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” | A path through the menus: click the items one after another. |\n| `blackbox.md/account/tickets` | The page address. A short path, such as `/account/tickets`, opens on the domain named in the article. The Russian version of the website adds `/ru`: `blackbox.md/ru/account/tickets`. |\n| Code block with a “Copy” button | Commands to run in the terminal, one command per line. |\n| `SERVER_IP`, `DOMAIN` | A value you replace with your own details. |\n| `BBX-2026-000123` | An order number or another code (for example, an error code), written exactly as it appears on the screen. Enter it and search for it in this form. |\n\nExample: the command to connect to your server via SSH.\n\n```bash\nssh root@SERVER_IP\n```\n\nClick “Copy” (the button then shows “Copied”), paste the command into the terminal and replace `SERVER_IP` with the address from the server's “IP” field on the “My Servers” page in the panel. Only then press Enter.\n\nThe colored notes in the articles:\n\n| Note title | Color | What it means |\n|---|---|---|\n| “Important”, “Warning” | orange | A warning: read it before you continue. |\n| “Irreversible”, “Risk” | red | The action cannot be undone, or it can lead to the loss of data or access. |\n| “Tip” | green | A recommendation or an easier way. |\n| “Note” | blue | Additional information. |\n\nUnder the title and summary of each article, you see the area label, the “Updated” date and the reading time (“min read”):\n\n| Label | Where you do the steps |\n|---|---|\n| blackbox.md | On the website and in your account. |\n| app.blackbox.md | In the server panel. |\n| blackbox.md · app.blackbox.md | In both. |\n| general | Not tied to a specific screen: guides, explanations, contacts. |\n\n“Updated” shows the date the article was last updated. The help center describes what is available in your account and panel today. If your screen looks different from the article, for example a button or a section is missing, write to us.\n\nBelow the article, you'll find “Related articles” and the “Previous” / “Next” buttons, which take you to the neighboring articles in the same section. On wide screens, the “On this page” table of contents appears on the right.\n\n## If you didn't find the answer\n\nAt the end of every article, the “Didn't find your answer?” block has two buttons: “Copy email” and “Open a ticket”. The second one opens the tickets page in your account; if you're not signed in, the website first asks you to sign in. Other channels:\n\n- **Support ticket:** in your blackbox.md account, “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket). Steps: [Opening a support ticket](#suport.tichet-nou).\n- **Email:** support@blackbox.md.\n- **Phone and WhatsApp:** +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n\nAll channels: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**What's the difference between blackbox.md and app.blackbox.md?**\nOn blackbox.md you order and pay for services and manage your account; in the app.blackbox.md panel you manage your servers. Details: [blackbox.md and app.blackbox.md: what you do where](#start.blackbox-si-panou).\n\n**I've just created my account. Where do I start?**\nFollow the article [From sign-up to a working server](#start.ghid-rapid): it takes you from sign-up to your first connection to the server.\n\n**I don't understand a term (balance, plan, management key).**\nLook it up in the [BLACKBOX glossary](#start.glosar).\n\n**An article describes a feature I can't find.**\nCheck the area label under the title (blackbox.md or app.blackbox.md): you may be looking in the wrong place. If you still can't find it, write to us. Everything that isn't available today is collected in [What isn't available and the alternatives](#faq.limitari-cunoscute).\n\n**Can I give the documentation to an AI assistant?**\nYes. The `corpus.json` link in the help center's footer contains all the articles in a single file, for AI assistants. To connect an assistant to your account, open the [AI and MCP](#ai) section.\n"
   }
  },
  {
   "id": "start.blackbox-si-panou",
   "section": "start",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/start/blackbox-si-panou/",
    "ru": "https://docs.blackbox.md/ru/start/blackbox-si-panou/",
    "en": "https://docs.blackbox.md/en/start/blackbox-si-panou/"
   },
   "title": {
    "ro": "blackbox.md și app.blackbox.md: ce faceți și unde",
    "ru": "blackbox.md и app.blackbox.md: что и где делается",
    "en": "blackbox.md and app.blackbox.md: what you do where"
   },
   "summary": {
    "ro": "Contul de pe blackbox.md și panoul app.blackbox.md: cum sunt legate și unde găsiți fiecare funcție.",
    "ru": "Аккаунт на blackbox.md и панель app.blackbox.md: как они связаны и где найти каждую функцию.",
    "en": "Your blackbox.md account and the app.blackbox.md panel: how they are linked and where to find each feature."
   },
   "markdown": {
    "ro": "Cu BLACKBOX lucrați în două locuri, în care intrați cu același cont. În contul de pe blackbox.md („Contul meu”, `blackbox.md/account`, butonul „Cont client” din meniul de sus) gestionați comenzile, plățile și datele dvs., iar în panoul app.blackbox.md (`app.blackbox.md`, „Contul meu” → „Panou de administrare”) gestionați serverele.\n\n**Disponibil pentru:** orice client cu cont pe blackbox.md. Panoul se deschide după ce adresa de email este verificată.\n\n## Ce faceți în fiecare loc\n\n**Pe blackbox.md (contul):** profilul și parola, comenzile și plata lor, soldul și alimentarea lui, facturile, datele de facturare, cheile SSH ale contului, token-urile API pentru asistenții AI, tichetele de suport, descărcarea datelor dvs. și ștergerea contului.\n\n**În panoul app.blackbox.md:** serverele dvs., datele de acces root, cheile SSH de pe servere, pornirea, oprirea și repornirea, upgrade-ul, ștergerea serverului, monitorizarea și alertele, DNS-ul și autentificarea în doi pași (2FA).\n\nTichetele de suport și alimentarea soldului există numai pe blackbox.md. Panoul nu are pagină de tichete pentru clienți, iar soldul apare acolo doar ca indicator în bara de sus, cu link către pagina „Sold” de pe blackbox.md.\n\n## Meniul „Contul meu” (blackbox.md)\n\nElementele meniului lateral, în ordinea de pe ecran:\n\n| Element din meniu | Pagina și adresa | Ce găsiți |\n|---|---|---|\n| „Profil” | „Profilul meu”, `/account` | nume, telefon, verificarea emailului, parola, cardul „Serviciile tale” cu „Deschide panoul”, „Datele mele”, „Ștergerea contului” |\n| „Comenzi” | „Comenzile mele”, `/account/orders` | statusul comenzilor, „Achită comanda”, „Anulează comanda” |\n| „Facturi” | „Facturile mele”, `/account/invoices` | facturile și statusul lor |\n| „Sold” | „Sold”, `/account/balance` | soldul curent, „Alimentează soldul”, istoricul operațiunilor |\n| „Token-uri API” | „Token-uri de acces (API)”, `/account/api-tokens` | token-uri pentru asistenți AI (MCP) |\n| „Chei SSH” | „Chei SSH”, `/account/ssh-keys` | cheile publice pe care le atașați la comenzile noi |\n| „Date de facturare” | „Date de facturare”, `/account/billing-profile` | datele companiei sau ale persoanei de pe facturi |\n| „Panou de administrare” · app.blackbox.md | se deschide într-o filă nouă | panoul serverelor |\n| „Ajutor și suport” | „Tichete de suport”, `/account/tickets` | tichetele dvs. de suport |\n| „Deconectare” | — | ieșirea din cont |\n\nPe telefon și pe ecranele mici, meniul se deschide cu butonul „Meniu cont”. Versiunea în rusă a paginilor are prefixul `/ru` (de exemplu `blackbox.md/ru/account`).\n\n## Meniul panoului app.blackbox.md\n\nClienții văd în meniul lateral:\n\n| Secțiune | Element | În engleză (EN) | Ce găsiți |\n|---|---|---|---|\n| „Infrastructură” | „Prezentare generală” | Overview | pagina de start a panoului |\n| „Infrastructură” | „Monitorizare” | Monitoring | starea serverelor, graficele și alertele |\n| „Infrastructură” | „Serverele mele” | My Servers | serverele dvs.: date de acces, chei SSH, pornire și oprire, upgrade, ștergere |\n| „Infrastructură” | „DNS” | DNS | conectarea Cloudflare sau GoDaddy și înregistrările DNS |\n| „Cont” | „Securitate” | Security | autentificarea în doi pași (2FA) |\n| „Cont” | „Setări” | Settings | profilul panoului, parola panoului, „Deconectare de peste tot” |\n\nÎntre „Infrastructură” și „Cont” apare titlul „Operațiuni”, fără elemente. Pentru clienți secțiunea este goală; nu lipsește nimic din contul dvs.\n\nÎn bara de sus găsiți „← blackbox.md” (înapoi la „Contul meu”), indicatorul de sold (deschide pagina „Sold” de pe blackbox.md într-o filă nouă), butoanele de limbă „EN”, „RO”, „RU”, comutatorul de temă și meniul utilizatorului cu „Securitate și 2FA” și „Deconectare”. Detalii: [Interfața panoului: meniu, bara de sus și limbă](#servere.interfata-panoului).\n\n## Cum intrați în panou\n\n1. Pe blackbox.md, deschideți „Contul meu”.\n2. Apăsați „Panou de administrare” în meniul contului sau „Deschide panoul” în cardul „Serviciile tale” din „Profil”.\n3. Panoul se deschide într-o filă nouă cu mesajul „Vă autentificăm…”, apoi afișează pagina „Prezentare generală”.\n\nÎn pagina „Comenzi”, acțiunea „Gestionează în app.blackbox.md” a unei comenzi cu server activ deschide „Serverele mele” direct la cardul serverului respectiv.\n\nCum sunt legate cele două conturi:\n\n- Contul din panou se creează automat prima dată când deschideți panoul din blackbox.md. Nu vă înregistrați a doua oară.\n- Numele de utilizator din panou este adresa dvs. de email, cu litere mici.\n- Parola panoului este parola de pe blackbox.md și se actualizează la fiecare intrare din blackbox.md.\n- Dacă v-ați înregistrat cu Google sau GitLab și contul nu are parolă, nu puteți intra în panou cu parolă. Intrați din blackbox.md sau cu butonul Google ori GitLab de pe pagina de autentificare a panoului.\n\nPașii în detaliu: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n> **Notă**\n> Pentru serverele comandate pe blackbox.md, pagina „Prezentare generală” afișează „Niciun server găsit. Contactați un administrator pentru a obține acces.” Este normal: serverele dvs. sunt în „Serverele mele”. Vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n> **Important**\n> Schimbați parola pe blackbox.md („Contul meu” → „Profil” → „Schimbă parola”), nu în „Setări” din panou. O parolă schimbată în panou este înlocuită cu parola de pe blackbox.md la următoarea intrare din cont.\n\n## Limba\n\n- **blackbox.md:** română și rusă. Comutatorul „RO / RU” este în bara de sus a site-ului; paginile în rusă au prefixul `/ru`.\n- **Panoul:** engleză, română și rusă, cu butoanele „EN”, „RO”, „RU” din bara de sus. Dacă nu ați ales o limbă, clienții văd panoul în română.\n- **La fiecare intrare din blackbox.md** panoul preia limba site-ului (română sau rusă). Dacă ați ales „EN” în panou, la următoarea intrare din cont limba revine la cea a site-ului.\n\nUnele ecrane ale panoului sunt doar în engleză; lista lor este în [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n## Vreau să… → Unde\n\n| Vreau să… | Unde | Ghid |\n|---|---|---|\n| comand un server | blackbox.md: „Planuri VPS” (meniul de sus) → „Comandă” | [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda) |\n| plătesc o comandă | blackbox.md: pe pagina de plată, „Achitați … MDL” (card) sau „Achitați din sold”; mai târziu, „Contul meu” → „Comenzi” → „Achită comanda” | [Metode de plată acceptate](#plati.metode-de-plata) |\n| alimentez soldul | blackbox.md: „Contul meu” → „Sold” → „Alimentează soldul” | [Alimentarea soldului](#plati.alimentare-sold) |\n| plătesc automat facturile din sold | blackbox.md: „Contul meu” → „Sold” → comutatorul „Reîncărcare automată” | [Plata automată a facturilor din sold](#plati.plata-automata) |\n| văd o factură și detaliile ei | blackbox.md: „Contul meu” → „Facturi” → „Detalii”; PDF-ul facturii unei comenzi achitate vine atașat la emailul „Plată confirmată — BBX-…” | [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi) |\n| pun datele firmei pe facturi | blackbox.md: „Contul meu” → „Date de facturare” → „Adaugă profil”; la comandă alegeți profilul | [Date de facturare pentru companii și persoane fizice](#plati.date-facturare) |\n| anulez o comandă | blackbox.md: „Contul meu” → „Comenzi” → „Anulează comanda” | [Anularea comenzii și rambursări](#plati.anulare-si-rambursare) |\n| aflu parola root | app.blackbox.md: „Serverele mele” → „Afișează datele de acces” | [Afișarea datelor de acces root](#acces.afisare-date-acces) |\n| recapăt accesul la server (parolă sau cheie pierdută) | app.blackbox.md: „Serverele mele” → „Resetează parola” sau „Adaugă cheie SSH” → „Lipește o cheie nouă” | [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces) |\n| adaug o cheie SSH | pe un server pornit, app.blackbox.md: „Serverele mele” → „Adaugă cheie SSH”; pentru comenzi noi, blackbox.md: „Contul meu” → „Chei SSH” → „Adaugă cheia” | [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server), [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont) |\n| repornesc, opresc sau pornesc serverul | app.blackbox.md: „Serverele mele” → „Repornește” / „Oprește” / „Pornește” | [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire) |\n| trec la un plan mai mare | app.blackbox.md: „Serverele mele” → „Upgrade” (plata se face din sold) | [Upgrade server: trecerea la un plan mai mare](#servere.upgrade) |\n| șterg un server | app.blackbox.md: „Serverele mele” → „Șterge definitiv” | [Ștergerea definitivă a unui server](#servere.stergere-server) |\n| văd starea și graficele serverelor | app.blackbox.md: „Monitorizare” | [Pagina „Monitorizare”](#servicii.monitorizare) |\n| gestionez DNS-ul unui domeniu | app.blackbox.md: „DNS” | [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare) |\n| deschid un tichet | blackbox.md: „Contul meu” → „Ajutor și suport” → „Tichet nou” | [Deschiderea unui tichet de suport](#suport.tichet-nou) |\n| conectez un asistent AI | blackbox.md: „Contul meu” → „Token-uri API” → „Creează token” | [Token-uri API: creare, copiere și revocare](#ai.token-uri-api) |\n| activez 2FA | app.blackbox.md: „Securitate” → „Activează autentificarea în doi pași” | [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa) |\n| acționez dacă serverul a fost spart | blackbox.md: „Contul meu” → „Profil” → „Schimbă parola”; apoi app.blackbox.md: „Serverele mele” → „Resetează parola” și „Adaugă cheie SSH” → „Chei instalate”; restul pașilor sunt în ghid | [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis) |\n| renunț la toate serviciile | în ordine: salvați datele, mutați domeniile, ștergeți serverele („Contul meu” → „Comenzi” sau app.blackbox.md: „Serverele mele”), achitați facturile și aduceți soldul la 0; contul se șterge la final | [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii) |\n| șterg contul | blackbox.md: „Contul meu” → „Profil” → „Ștergerea contului” | [Ștergerea contului](#cont.stergere-cont) |\n\n> **Atenție**\n> „Șterge definitiv” din panou nu returnează bani. Dacă renunțați la un server și vreți o rambursare, verificați mai întâi „Anulează comanda” pe blackbox.md („Contul meu” → „Comenzi”): fereastra de confirmare arată suma returnată în sold (dacă există) și vă avertizează dacă serverul va fi șters.\n\n## Întrebări frecvente\n\n**Trebuie să mă autentific separat în panou?**\nNu. Din „Contul meu” intrați în panou automat. Puteți intra și direct pe `app.blackbox.md`, cu emailul și parola de pe blackbox.md, dar numai după ce ați deschis panoul cel puțin o dată din cont. Vedeți [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa).\n\n**Am apăsat „Panou de administrare” și s-a deschis pagina de autentificare a panoului. De ce?**\nCel mai des, adresa de email nu este verificată. Verificați-o în „Contul meu” → „Profil” → „Trimite emailul de verificare”, apoi încercați din nou. Alt motiv: panoul se poate deschide din cont de cel mult 10 ori pe oră; peste această limită apare tot pagina de autentificare. Vedeți [Verificarea adresei de email](#cont.verificare-email).\n\n**Dacă apăs „Deconectare” în panou, ies și de pe blackbox.md?**\nNu. „Deconectare” din meniul utilizatorului închide doar sesiunea panoului; pe blackbox.md rămâneți autentificat.\n\n**La intrarea din blackbox.md, panoul îmi cere un cod. De ce?**\nAți activat autentificarea în doi pași în panou. Introduceți codul din aplicația de autentificare. Bifați „Rețineți acest dispozitiv 30 de zile”: timp de 30 de zile, la intrarea din blackbox.md, codul nu vi se mai cere în acest browser.\n\n**Pot da acces unui coleg?**\nContul și panoul nu au o funcție de invitare, dar puteți da acces la server: adăugați cheia publică SSH a colegului cu „Adaugă cheie SSH” → „Lipește o cheie nouă” pe cardul serverului din „Serverele mele” și ștergeți-o din „Chei instalate” când nu mai are nevoie de ea ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)); îi puteți crea și un utilizator Linux separat ([Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou)). Nu împărțiți parola contului, parola root sau token-urile API. Accesul la serverele unei companii administrate de BLACKBOX (cardurile „Administrat”) se acordă numai la cerere, prin suport: „Ajutor și suport” sau support@blackbox.md.\n",
    "ru": "С BLACKBOX вы работаете в двух местах и входите в оба под одним аккаунтом. В аккаунте на blackbox.md («Мой аккаунт», `blackbox.md/ru/account`, кнопка «Личный кабинет» в верхнем меню) находятся заказы, оплата и ваши данные. В панели app.blackbox.md (`app.blackbox.md`, «Личный кабинет» → «Панель управления») находятся серверы.\n\n**Доступно:** любому клиенту с аккаунтом на blackbox.md. Панель открывается после подтверждения адреса email.\n\n## Что где делается\n\n**На blackbox.md (аккаунт):** профиль и пароль, заказы и их оплата, баланс и его пополнение, счета, реквизиты, SSH-ключи аккаунта, API-токены для AI-ассистентов, тикеты поддержки, скачивание ваших данных и удаление аккаунта.\n\n**В панели app.blackbox.md:** ваши серверы, учётные данные root, SSH-ключи на серверах, включение, остановка и перезагрузка, апгрейд, удаление сервера, мониторинг и оповещения, DNS и двухфакторная аутентификация (2FA).\n\nТикеты поддержки и пополнение баланса есть только на blackbox.md. В панели нет страницы тикетов для клиентов, а баланс показан там лишь индикатором в верхней панели со ссылкой на страницу «Баланс» на blackbox.md.\n\n## Меню «Мой аккаунт» (blackbox.md)\n\nПункты бокового меню в том порядке, в каком они на экране:\n\n| Пункт меню | Страница и адрес | Что там |\n|---|---|---|\n| «Профиль» | «Мой профиль», `/ru/account` | имя, телефон, подтверждение email, пароль, карточка «Ваши услуги» с кнопкой «Открыть панель», «Мои данные», «Удаление аккаунта» |\n| «Заказы» | «Мои заказы», `/ru/account/orders` | статусы заказов, «Оплатить заказ», «Отменить заказ» |\n| «Счета» | «Мои счета», `/ru/account/invoices` | счета и их статусы |\n| «Баланс» | «Баланс», `/ru/account/balance` | текущий баланс, «Пополнить баланс», история операций |\n| «API-токены» | «Токены доступа (API)», `/ru/account/api-tokens` | токены для AI-ассистентов (MCP) |\n| «SSH-ключи» | «SSH-ключи», `/ru/account/ssh-keys` | публичные ключи, которые вы прикрепляете к новым заказам |\n| «Реквизиты» | «Реквизиты для выставления счетов», `/ru/account/billing-profile` | данные компании или физлица для счетов |\n| «Панель управления» · app.blackbox.md | открывается в новой вкладке | панель серверов |\n| «Помощь и поддержка» | «Тикеты поддержки», `/ru/account/tickets` | ваши тикеты |\n| «Выйти» | — | выход из аккаунта |\n\nНа телефоне и небольших экранах меню открывается кнопкой «Меню аккаунта». В румынской версии сайта адреса те же, но без префикса `/ru` (например, `blackbox.md/account`).\n\n## Меню панели app.blackbox.md\n\nКлиенты видят в боковом меню:\n\n| Раздел | Пункт | По-английски (EN) | Что там |\n|---|---|---|---|\n| «Инфраструктура» | «Обзор» | Overview | стартовая страница панели |\n| «Инфраструктура» | «Мониторинг» | Monitoring | состояние серверов, графики и оповещения |\n| «Инфраструктура» | «Мои серверы» | My Servers | ваши серверы: учётные данные, SSH-ключи, запуск и остановка, апгрейд, удаление |\n| «Инфраструктура» | «DNS» | DNS | подключение Cloudflare или GoDaddy и DNS-записи |\n| «Аккаунт» | «Безопасность» | Security | двухфакторная аутентификация (2FA) |\n| «Аккаунт» | «Настройки» | Settings | профиль панели, пароль панели, «Выйти везде» |\n\nМежду разделами «Инфраструктура» и «Аккаунт» выводится заголовок «Операции» без пунктов. Для клиентов этот раздел пустой — в вашем аккаунте ничего не пропало.\n\nВ верхней панели расположены «← blackbox.md» (возврат в личный кабинет), индикатор баланса (открывает страницу «Баланс» на blackbox.md в новой вкладке), кнопки языка «EN», «RO», «RU», переключатель темы и меню пользователя с пунктами «Безопасность и 2FA» и «Выйти». Подробнее: [Интерфейс панели: меню, верхняя панель и язык](#servere.interfata-panoului).\n\n## Как войти в панель\n\n1. На blackbox.md откройте «Личный кабинет».\n2. Нажмите «Панель управления» в меню аккаунта или «Открыть панель» в карточке «Ваши услуги» на странице «Профиль».\n3. Панель откроется в новой вкладке с сообщением «Выполняется вход…», а затем покажет страницу «Обзор».\n\nНа странице «Заказы» действие «Управление в app.blackbox.md» у заказа с активным сервером открывает раздел «Мои серверы» сразу на карточке этого сервера.\n\nКак связаны две учётные записи:\n\n- Учётная запись панели создаётся автоматически при первом входе в панель из blackbox.md. Регистрироваться второй раз не нужно.\n- Имя пользователя в панели — ваш email строчными буквами.\n- Пароль панели совпадает с паролем на blackbox.md и обновляется при каждом входе из blackbox.md.\n- Если вы зарегистрировались через Google или GitLab и у аккаунта нет пароля, войти в панель по паролю нельзя. Входите из blackbox.md или кнопкой Google либо GitLab на странице входа в панель.\n\nШаги подробно: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n> **Примечание**\n> Для серверов, заказанных на blackbox.md, на странице «Обзор» выводится сообщение «Серверы не найдены. Обратитесь к администратору для получения доступа.» Это нормально: ваши серверы находятся в разделе «Мои серверы». См. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n> **Важно**\n> Меняйте пароль на blackbox.md («Личный кабинет» → «Профиль» → «Изменить пароль»), а не в разделе «Настройки» панели. Пароль, изменённый в панели, заменяется паролем от blackbox.md при следующем входе из личного кабинета.\n\n## Язык\n\n- **blackbox.md:** румынский и русский. Переключатель «RO / RU» находится в верхней панели сайта; у русских страниц префикс `/ru`.\n- **Панель:** английский, румынский и русский — кнопки «EN», «RO», «RU» в верхней панели. Если язык ещё не выбран, клиенты видят панель на румынском.\n- **При каждом входе из blackbox.md** панель берёт язык сайта (румынский или русский). Если вы выбрали в панели «EN», при следующем входе из личного кабинета язык вернётся к языку сайта.\n\nНекоторые экраны панели есть только на английском; их список — в статье [Язык сайта, панели и писем](#cont.limba).\n\n## Хочу… → Где\n\n| Хочу… | Где | Подробнее |\n|---|---|---|\n| заказать сервер | blackbox.md: «Тарифы VPS» (верхнее меню) → «Заказать» | [Оформление заказа по шагам](#comenzi.plasare-comanda) |\n| оплатить заказ | blackbox.md: на странице оплаты — «Оплатить … MDL» (картой) или «Оплатить с баланса»; позже — «Личный кабинет» → «Заказы» → «Оплатить заказ» | [Принимаемые способы оплаты](#plati.metode-de-plata) |\n| пополнить баланс | blackbox.md: «Личный кабинет» → «Баланс» → «Пополнить баланс» | [Пополнение баланса](#plati.alimentare-sold) |\n| оплачивать счета с баланса автоматически | blackbox.md: «Личный кабинет» → «Баланс» → переключатель «Автоматическое пополнение» | [Автоматическая оплата счетов с баланса](#plati.plata-automata) |\n| посмотреть счёт и его детали | blackbox.md: «Личный кабинет» → «Счета» → «Детали»; PDF счёта за оплаченный заказ приходит вложением к письму «Plată confirmată — BBX-…» | [Страница «Счета»: статусы, номера и PDF](#plati.facturi) |\n| указать реквизиты компании в счетах | blackbox.md: «Личный кабинет» → «Реквизиты» → «Добавить профиль»; при заказе выберите профиль | [Реквизиты для счетов: компании и физлица](#plati.date-facturare) |\n| отменить заказ | blackbox.md: «Личный кабинет» → «Заказы» → «Отменить заказ» | [Отмена заказа и возврат средств](#plati.anulare-si-rambursare) |\n| узнать пароль root | app.blackbox.md: «Мои серверы» → «Показать учётные данные» | [Просмотр учётных данных root](#acces.afisare-date-acces) |\n| вернуть доступ к серверу (потерян пароль или ключ) | app.blackbox.md: «Мои серверы» → «Сбросить пароль» или «Добавить SSH-ключ» → «Вставить новый ключ» | [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces) |\n| добавить SSH-ключ | на работающий сервер — app.blackbox.md: «Мои серверы» → «Добавить SSH-ключ»; для новых заказов — blackbox.md: «Личный кабинет» → «SSH-ключи» → «Добавить ключ» | [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server), [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont) |\n| перезагрузить, остановить или запустить сервер | app.blackbox.md: «Мои серверы» → «Перезагрузить» / «Остановить» / «Запустить» | [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire) |\n| перейти на больший тариф | app.blackbox.md: «Мои серверы» → «Апгрейд» (оплата с баланса) | [Апгрейд сервера: переход на больший тариф](#servere.upgrade) |\n| удалить сервер | app.blackbox.md: «Мои серверы» → «Удалить» | [Безвозвратное удаление сервера](#servere.stergere-server) |\n| посмотреть состояние и графики серверов | app.blackbox.md: «Мониторинг» | [Страница «Мониторинг»](#servicii.monitorizare) |\n| управлять DNS домена | app.blackbox.md: «DNS» | [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare) |\n| создать тикет | blackbox.md: «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» | [Создание тикета в поддержку](#suport.tichet-nou) |\n| подключить AI-ассистента | blackbox.md: «Личный кабинет» → «API-токены» → «Создать токен» | [API-токены: создание, копирование и отзыв](#ai.token-uri-api) |\n| включить 2FA | app.blackbox.md: «Безопасность» → «Включить двухфакторную аутентификацию» | [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa) |\n| принять меры, если сервер взломан | blackbox.md: «Личный кабинет» → «Профиль» → «Изменить пароль»; затем app.blackbox.md: «Мои серверы» → «Сбросить пароль» и «Добавить SSH-ключ» → «Установленные ключи»; остальные шаги — в статье | [Сервер взломан или атакован: что делать](#faq.server-compromis) |\n| отказаться от всех услуг | по порядку: сохраните данные, перенесите домены, удалите серверы («Личный кабинет» → «Заказы» или app.blackbox.md: «Мои серверы»), оплатите счета и обнулите баланс; аккаунт удаляется последним | [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii) |\n| удалить аккаунт | blackbox.md: «Личный кабинет» → «Профиль» → «Удаление аккаунта» | [Удаление аккаунта](#cont.stergere-cont) |\n\n> **Внимание**\n> Удаление сервера кнопкой «Удалить» в панели не возвращает деньги. Если вы отказываетесь от сервера и хотите вернуть средства, сначала проверьте «Отменить заказ» на blackbox.md («Личный кабинет» → «Заказы»): окно подтверждения покажет сумму возврата на баланс (если она есть) и предупредит, если сервер будет удалён.\n\n## Частые вопросы\n\n**Нужно ли входить в панель отдельно?**\nНет. Из личного кабинета вы попадаете в панель автоматически. Можно войти и напрямую на `app.blackbox.md` — с email и паролем от blackbox.md, но только после того, как вы хотя бы раз открыли панель из личного кабинета. См. [Прямой вход на app.blackbox.md](#servere.autentificare-directa).\n\n**Нажимаю «Панель управления», а открывается страница входа в панель. Почему?**\nЧаще всего не подтверждён email. Подтвердите его: «Личный кабинет» → «Профиль» → «Отправить письмо для подтверждения», затем попробуйте снова. Другая причина: открывать панель из личного кабинета можно не чаще 10 раз в час; сверх этого лимита тоже открывается страница входа. См. [Подтверждение адреса email](#cont.verificare-email).\n\n**Если нажать «Выйти» в панели, я выйду и с blackbox.md?**\nНет. «Выйти» в меню пользователя панели завершает только сессию панели; на blackbox.md вы остаётесь в аккаунте.\n\n**При входе из blackbox.md панель просит код. Почему?**\nВы включили в панели двухфакторную аутентификацию. Введите код из приложения-аутентификатора. Отметьте «Запомнить это устройство на 30 дней»: в течение 30 дней при входе из blackbox.md этот браузер не будет запрашивать код.\n\n**Можно ли дать доступ коллеге?**\nПриглашать коллег из личного кабинета или панели нельзя, но дать доступ к серверу можно: добавьте публичный SSH-ключ коллеги кнопкой «Добавить SSH-ключ» → «Вставить новый ключ» в карточке сервера на странице «Мои серверы», а когда доступ больше не нужен, удалите ключ из списка «Установленные ключи» ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)); можно также создать для коллеги отдельного пользователя Linux ([Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou)). Не передавайте пароль аккаунта, пароль root или API-токены. Доступ к серверам компании, которые обслуживает BLACKBOX (карточки с пометкой «Обслуживается»), открывается только по запросу через поддержку: «Помощь и поддержка» или support@blackbox.md.\n",
    "en": "You work with BLACKBOX in two places, and you sign in to both with the same account. In your account on blackbox.md — “Contul meu” (My account) at `blackbox.md/account`, opened with the “Cont client” (Customer account) button in the top menu — you manage your orders, payments and personal details. In the app.blackbox.md panel (`app.blackbox.md`, “Contul meu” → “Panou de administrare” (Admin panel)) you manage your servers.\n\n**Available to:** any customer with a blackbox.md account. The panel opens once your email address is verified.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you do where\n\n**On blackbox.md (your account):** your profile and password, orders and paying for them, your balance and topping it up, invoices, billing details, account SSH keys, API tokens for AI assistants, support tickets, downloading your data and deleting your account.\n\n**In the app.blackbox.md panel:** your servers, root credentials, SSH keys on your servers, starting, stopping and rebooting, upgrades, deleting a server, monitoring and alerts, DNS and two-factor authentication (2FA).\n\nSupport tickets and balance top-ups exist only on blackbox.md. The panel has no support ticket page for customers, and your balance appears there only as an indicator in the top bar, with a link to the “Sold” (Balance) page on blackbox.md.\n\n## The “Contul meu” (My account) menu (blackbox.md)\n\nThe side menu items, in the order they appear on screen:\n\n| Menu item | Page and address | What you'll find |\n|---|---|---|\n| “Profil” (Profile) | “Profilul meu” (My profile), `/account` | name, phone, email verification, password, the “Serviciile tale” (Your services) card with “Deschide panoul” (Open the panel), “Datele mele” (My data), “Ștergerea contului” (Account deletion) |\n| “Comenzi” (Orders) | “Comenzile mele” (My orders), `/account/orders` | order statuses, “Achită comanda” (Pay for the order), “Anulează comanda” (Cancel the order) |\n| “Facturi” (Invoices) | “Facturile mele” (My invoices), `/account/invoices` | invoices and their statuses |\n| “Sold” (Balance) | “Sold”, `/account/balance` | current balance, “Alimentează soldul” (Top up balance), transaction history |\n| “Token-uri API” (API tokens) | “Token-uri de acces (API)” (Access tokens (API)), `/account/api-tokens` | tokens for AI assistants (MCP) |\n| “Chei SSH” (SSH keys) | “Chei SSH”, `/account/ssh-keys` | the public keys you attach to new orders |\n| “Date de facturare” (Billing details) | “Date de facturare”, `/account/billing-profile` | the company or individual details shown on invoices |\n| “Panou de administrare” (Admin panel) · app.blackbox.md | opens in a new tab | the server panel |\n| “Ajutor și suport” (Help and support) | “Tichete de suport” (Support tickets), `/account/tickets` | your support tickets |\n| “Deconectare” (Sign out) | — | signing out of your account |\n\nOn phones and small screens, open the menu with the “Meniu cont” (Account menu) button. The Russian version of the pages has the `/ru` prefix (for example `blackbox.md/ru/account`).\n\n## The app.blackbox.md panel menu\n\nCustomers see these items in the side menu:\n\n| Section | Item | In Romanian (RO) | What you'll find |\n|---|---|---|---|\n| “Infrastructure” | “Overview” | Prezentare generală | the panel's start page |\n| “Infrastructure” | “Monitoring” | Monitorizare | server status, charts and alerts |\n| “Infrastructure” | “My Servers” | Serverele mele | your servers: credentials, SSH keys, starting and stopping, upgrade, deletion |\n| “Infrastructure” | “DNS” | DNS | connecting Cloudflare or GoDaddy, and DNS records |\n| “Account” | “Security” | Securitate | two-factor authentication (2FA) |\n| “Account” | “Settings” | Setări | panel profile, panel password, “Sign Out Everywhere” |\n\nBetween “Infrastructure” and “Account” you'll see an “Operations” heading with no items under it. For customers this section is empty; nothing is missing from your account.\n\nThe top bar has “← blackbox.md” (back to “Contul meu” (My account)), the balance indicator (opens the “Sold” (Balance) page on blackbox.md in a new tab), the “EN”, “RO”, “RU” language buttons, the theme switcher, and the user menu with “Security & 2FA” and “Logout”. Details: [Panel interface: menu, top bar and language](#servere.interfata-panoului).\n\n## How to open the panel\n\n1. On blackbox.md, open “Contul meu” (My account).\n2. Click “Panou de administrare” (Admin panel) in the account menu, or “Deschide panoul” (Open the panel) on the “Serviciile tale” (Your services) card in “Profil” (Profile).\n3. The panel opens in a new tab with the message “Signing you in…”, then shows the “Overview” page.\n\nOn the “Comenzi” (Orders) page, the “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) action of an order with an active server opens “My Servers” directly at that server's card.\n\nHow the two accounts are linked:\n\n- Your panel account is created automatically the first time you open the panel from blackbox.md. You don't need to register a second time.\n- Your panel username is your email address, in lowercase.\n- Your panel password is your blackbox.md password, and it is updated each time you enter the panel from blackbox.md.\n- If you signed up with Google or GitLab and your account has no password, you can't sign in to the panel with a password. Enter from blackbox.md, or use the Google or GitLab button on the panel's sign-in page.\n\nStep-by-step details: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n> **Note**\n> For servers ordered on blackbox.md, the “Overview” page shows “No servers found. Contact an administrator to get access.” This is normal: your servers are in “My Servers”. See [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n> **Important**\n> Change your password on blackbox.md (“Contul meu” → “Profil” → “Schimbă parola” (Change password)), not in the panel's “Settings”. A password changed in the panel is replaced with your blackbox.md password the next time you enter from your account.\n\n## Language\n\n- **blackbox.md:** Romanian and Russian. The “RO / RU” switcher is in the site's top bar; Russian pages have the `/ru` prefix.\n- **The panel:** English, Romanian and Russian, with the “EN”, “RO”, “RU” buttons in the top bar. If you haven't chosen a language, customers see the panel in Romanian.\n- **Each time you enter from blackbox.md,** the panel takes the site's language (Romanian or Russian). If you chose “EN” in the panel, the language switches back to the site's language the next time you enter from your account.\n\nSome panel screens are in English only; they are listed in [Language of the website, the panel and emails](#cont.limba).\n\n## I want to… → Where\n\n| I want to… | Where | Guide |\n|---|---|---|\n| order a server | blackbox.md: “Planuri VPS” (VPS plans) (top menu) → “Comandă” (Order) | [Placing an order step by step](#comenzi.plasare-comanda) |\n| pay for an order | blackbox.md: on the payment page, “Achitați … MDL” (Pay … MDL) by card or “Achitați din sold” (Pay from balance); later, “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order) | [Accepted payment methods](#plati.metode-de-plata) |\n| top up my balance | blackbox.md: “Contul meu” → “Sold” (Balance) → “Alimentează soldul” (Top up balance) | [Topping up your balance](#plati.alimentare-sold) |\n| pay invoices from my balance automatically | blackbox.md: “Contul meu” → “Sold” → the “Reîncărcare automată” (Automatic top-up) switch | [Automatic payment of invoices from your balance](#plati.plata-automata) |\n| see an invoice and its details | blackbox.md: “Contul meu” → “Facturi” (Invoices) → “Detalii” (Details); the invoice PDF for a paid order comes attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email | [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi) |\n| put my company's details on invoices | blackbox.md: “Contul meu” → “Date de facturare” (Billing details) → “Adaugă profil” (Add profile); choose the profile when you order | [Billing details for companies and individuals](#plati.date-facturare) |\n| cancel an order | blackbox.md: “Contul meu” → “Comenzi” → “Anulează comanda” (Cancel the order) | [Order cancellation and refunds](#plati.anulare-si-rambursare) |\n| find out the root password | app.blackbox.md: “My Servers” → “Reveal credentials” | [Showing root credentials](#acces.afisare-date-acces) |\n| regain access to my server (lost password or key) | app.blackbox.md: “My Servers” → “Reset password” or “Add SSH key” → “Paste a new key” | [Lost access to your server (password or key)](#acces.recuperare-acces) |\n| add an SSH key | on a running server, app.blackbox.md: “My Servers” → “Add SSH key”; for new orders, blackbox.md: “Contul meu” → “Chei SSH” (SSH keys) → “Adaugă cheia” (Add key) | [Adding and removing SSH keys on the server](#acces.chei-ssh-server), [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont) |\n| reboot, stop or start my server | app.blackbox.md: “My Servers” → “Reboot” / “Stop” / “Start” | [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire) |\n| move to a larger plan | app.blackbox.md: “My Servers” → “Upgrade” (paid from your balance) | [Server upgrade: moving to a larger plan](#servere.upgrade) |\n| delete (terminate) a server | app.blackbox.md: “My Servers” → “Terminate” | [Permanently deleting a server](#servere.stergere-server) |\n| see the status and charts of my servers | app.blackbox.md: “Monitoring” | [The “Monitoring” page](#servicii.monitorizare) |\n| manage DNS for a domain | app.blackbox.md: “DNS” | [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare) |\n| open a support ticket | blackbox.md: “Contul meu” → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket) | [Opening a support ticket](#suport.tichet-nou) |\n| connect an AI assistant | blackbox.md: “Contul meu” → “Token-uri API” (API tokens) → “Creează token” (Create token) | [API tokens: creating, copying and revoking](#ai.token-uri-api) |\n| turn on 2FA | app.blackbox.md: “Security” → “Enable Two-Factor Authentication” | [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa) |\n| take action if my server was hacked | blackbox.md: “Contul meu” → “Profil” (Profile) → “Schimbă parola” (Change password); then app.blackbox.md: “My Servers” → “Reset password” and “Add SSH key” → “Installed keys”; the remaining steps are in the guide | [Your server was hacked or is under attack: what to do](#faq.server-compromis) |\n| give up all services | in this order: save your data, move your domains, delete your servers (“Contul meu” → “Comenzi” or app.blackbox.md: “My Servers”), pay your invoices and bring your balance to 0; the account is deleted last | [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii) |\n| delete my account | blackbox.md: “Contul meu” → “Profil” → “Ștergerea contului” (Account deletion) | [Deleting your account](#cont.stergere-cont) |\n\n> **Warning**\n> “Terminate” in the panel does not give you any money back. If you are giving up a server and want a refund, first check “Anulează comanda” (Cancel the order) on blackbox.md (“Contul meu” → “Comenzi”): the confirmation window shows the amount returned to your balance (if any) and warns you if the server will be deleted.\n\n## Frequently asked questions\n\n**Do I need to sign in to the panel separately?**\nNo. From “Contul meu” (My account) you enter the panel automatically. You can also go directly to `app.blackbox.md` and sign in with your blackbox.md email and password, but only after you have opened the panel from your account at least once. See [Signing in directly to app.blackbox.md](#servere.autentificare-directa).\n\n**I clicked “Panou de administrare” (Admin panel) and the panel's sign-in page opened. Why?**\nMost often, your email address is not verified. Verify it in “Contul meu” → “Profil” (Profile) → “Trimite emailul de verificare” (Send verification email), then try again. Another reason: you can open the panel from your account at most 10 times per hour; above this limit, you also get the sign-in page. See [Verifying your email address](#cont.verificare-email).\n\n**If I click “Logout” in the panel, am I also signed out of blackbox.md?**\nNo. “Logout” in the user menu ends only your panel session; you stay signed in on blackbox.md.\n\n**When I enter from blackbox.md, the panel asks me for a code. Why?**\nYou turned on two-factor authentication in the panel. Enter the code from your authenticator app. Check “Remember this device for 30 days”: for 30 days, this browser won't ask you for the code when you enter from blackbox.md.\n\n**Can I give a colleague access?**\nYour account and the panel have no invite feature, but you can give access to a server: add your colleague's public SSH key with “Add SSH key” → “Paste a new key” on the server's card in “My Servers”, and delete it from “Installed keys” when they no longer need it ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)). You can also create a separate Linux user for them ([Securing a new server: checklist](#ghiduri.securizare-server-nou)). Don't share your account password, the root password or your API tokens. Access to company servers managed by BLACKBOX (“Managed” cards) is granted only on request, through support: “Ajutor și suport” (Help and support) or support@blackbox.md.\n"
   }
  },
  {
   "id": "start.glosar",
   "section": "start",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/start/glosar/",
    "ru": "https://docs.blackbox.md/ru/start/glosar/",
    "en": "https://docs.blackbox.md/en/start/glosar/"
   },
   "title": {
    "ro": "Glosar BLACKBOX",
    "ru": "Глоссарий BLACKBOX",
    "en": "BLACKBOX glossary"
   },
   "summary": {
    "ro": "Termenii folosiți pe blackbox.md și în panou, în română, rusă și engleză.",
    "ru": "Термины blackbox.md и панели на румынском, русском и английском.",
    "en": "The terms used on blackbox.md and in the panel, in Romanian, Russian and English."
   },
   "markdown": {
    "ro": "Glosarul explică termenii pe care îi întâlniți în „Contul meu” (`blackbox.md/account`) și în panoul app.blackbox.md, cu denumirile lor în română, rusă și engleză. Fiecare definiție trimite la articolul care descrie funcția pas cu pas.\n\n**Disponibil pentru:** oricine; pentru a citi glosarul nu aveți nevoie de cont.\n\nTermenii care apar pe ecran sunt scriși exact ca în interfață. Când același termen apare în mai multe forme (element de meniu, titlu de pagină, buton), formele sunt separate prin punct și virgulă.\n\n> **Notă**\n> Site-ul blackbox.md este disponibil în română și rusă, iar panoul app.blackbox.md în engleză, română și rusă. Coloana „EN (panou)” arată eticheta din versiunea în engleză a panoului; „—” înseamnă că panoul nu are o etichetă pentru acest termen (de cele mai multe ori, termenul apare doar pe blackbox.md).\n\n## Contul, comenzile și plățile\n\n| Termen (RO) | Termen (RU) | EN (panou) | Ce înseamnă |\n|---|---|---|---|\n| Contul meu; Cont client | Личный кабинет; Мой аккаунт | — | Zona dvs. de client de pe `blackbox.md/account`: profil, comenzi, facturi, sold, token-uri API, chei SSH, date de facturare și tichete. În bara de sus a site-ului butonul se numește „Cont client”, iar în calea de navigare apare „Contul meu”. Detalii: [blackbox.md și app.blackbox.md: ce faceți și unde](#start.blackbox-si-panou). |\n| Profil; Profilul meu | Профиль; Мой профиль | — | Prima pagină din „Contul meu”: numele, emailul și telefonul. Numele și telefonul sunt folosite ca date de contact pe comenzile noi. Detalii: [Profilul meu: nume, telefon și email](#cont.profil). |\n| Comandă; Comenzi; Comenzile mele; Număr comandă | Заказ; Заказы; Мои заказы; Номер заказа | Order | Cumpărarea unui plan. Fiecare comandă primește un număr de forma `BBX-YYYY-NNNNNN` (de exemplu `BBX-2026-000123`), afișat pe pagina „Comenzile mele” (meniul „Comenzi”) și pe cardul serverului din panou, în rândul „Comandă”. Detalii: [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele). |\n| Solicitare; Număr solicitare | Заявка; Номер заявки | — | Cuvântul cu care emailurile numesc uneori comanda. Emailul de confirmare are subiectul „Am primit solicitarea dumneavoastră — BBX-…” și rândul „Număr solicitare”; în emailurile în rusă, comanda se numește „заявка” și în mesajele despre plată, serverul gata de utilizare, upgrade și anulare. Este aceeași comandă `BBX-…` din meniul „Comenzi”, nu o cerere separată. Detalii: [Emailurile pe care le primiți de la BLACKBOX](#suport.emailuri-blackbox). |\n| Plan; Plan tarifar | Тариф; Тарифный план | Plan | Configurația fixă pe care o comandați: vCPU, RAM, disc și preț lunar. În panou, rândul „Plan” arată codul planului, de exemplu `vm-iops1-m` pentru Standard M. Detalii: [Planurile VPS: cum alegeți](#comenzi.planuri-vps). |\n| MDL | MDL | MDL | Leul moldovenesc, moneda tuturor prețurilor și plăților. Prețurile sunt în MDL pe lună, iar planurile se plătesc lunar, în avans; plățile cu carduri străine sunt convertite de banca dvs. Detalii: [Prețuri, monedă și perioada de plată](#comenzi.preturi). |\n| Factură; Facturi; Facturile mele | Счёт; Счета; Мои счета | — | Documentul de plată din meniul „Facturi”. Numerele au trei forme: `BBX-YYYY-NNNNNN` este factura unei comenzi achitate, cu același număr ca și comanda; `BT-xxxxxxxx-YYYYMM` este factura lunară de reînnoire; `INV-0001`, `INV-0002`… sunt facturi emise de echipă. Detalii: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi). |\n| Sold; Sold curent | Баланс; Текущий баланс | Wallet balance | Banii depuși în avans în contul blackbox.md, în MDL. Din sold se plătesc comenzile, upgrade-urile și, prin plata automată, facturile; tot în sold ajung rambursările. Panoul afișează soldul în bara de sus. Detalii: [Soldul contului: cum funcționează](#plati.sold). |\n| Alimentare; Alimentează soldul | Пополнение; Пополнить баланс | Top up your balance | Adăugarea de bani în sold cu cardul, între 50 și 50 000 MDL la fiecare alimentare. Detalii: [Alimentarea soldului](#plati.alimentare-sold). |\n| Plată automată din sold (pe ecran: Reîncărcare automată) | Автоплатёж с баланса (на экране: Автоматическое пополнение) | — | Comutatorul de pe pagina „Sold”. Când este pornit, facturile scadente se achită automat din banii aflați deja în sold. Implicit este oprit. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata). |\n| Date de facturare | Реквизиты | — | Profilurile de companie sau de persoană fizică ale căror date apar pe facturi. Le adăugați în meniul „Date de facturare” și le alegeți la plasarea comenzii. Detalii: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare). |\n| Anulare comandă; Anulează comanda | Отмена заказа; Отменить заказ | — | Anularea unei comenzi din meniul „Comenzi”. Butonul apare doar când comanda se poate anula; fereastra de confirmare arată ce sumă se returnează în sold. Dacă comanda are un server, serverul și datele lui se șterg imediat. Detalii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare). |\n| Rambursare | Возврат | — | Banii returnați pentru o comandă anulată. Ajung în sold, ca operațiunea „Rambursare” din „Istoricul operațiunilor”; formularea „… returnați în contul dvs. BLACKBOX” se referă tot la sold. Pentru returnarea pe card, scrieți la support@blackbox.md. Detalii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare). |\n| Servicii suplimentare | Дополнительные услуги | — | Servicii adăugate la un server, de exemplu „Monitoring 24/7”. Apar sub comandă, cu starea lor: „În curs de activare”, „Activ”, „Contactați suportul” sau „Anulat”. Nu se aleg la plasarea comenzii pe site; le cereți prin suport sau prin asistentul AI. Detalii: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare). |\n\n> **Important**\n> Comutatorul „Reîncărcare automată” de pe pagina „Sold” nu debitează cardul și nu alimentează soldul. El achită automat facturile scadente cu banii aflați deja în sold. Comenzile noi nu se plătesc automat.\n\n## Panoul și serverele\n\n| Termen (RO) | Termen (RU) | EN (panou) | Ce înseamnă |\n|---|---|---|---|\n| Panou (app.blackbox.md); Panou de administrare; Deschide panoul | Панель (app.blackbox.md); Панель управления; Открыть панель | Server Panel | Panoul app.blackbox.md, în care vă administrați serverele. Îl deschideți din „Contul meu” → „Panou de administrare” sau cu butonul „Deschide panoul” de pe pagina „Profil”, fără să introduceți din nou parola. Detalii: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou). |\n| Prezentare generală | Обзор | Overview | Prima pagină a panoului, cu titlul „Rapoarte de audit al serverelor”. Arată rapoarte doar pentru serverele administrate de BLACKBOX la care vi s-a dat acces; pentru serverele comandate de dvs., mesajul „Niciun server găsit.” este normal. Detalii: [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala). |\n| Serverele mele | Мои серверы | My Servers | Pagina panoului cu câte un card pentru fiecare server activ: „Comandă”, „IP”, „Plan”, „Configurație”, „Adăugat” și butoanele de administrare. Detalii: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele). |\n| Administrat | Обслуживается | Managed | Insigna de pe cardurile din „Serverele mele” pentru serverele de care se ocupă echipa BLACKBOX și pe care le puteți doar vizualiza; modificările se cer prin suport. Detalii: [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala). |\n| Redenumește; Nume original | Переименовать; Исходное название | Rename; Original name | Numele privat al serverului: îl vedeți doar dvs., iar serverul nu se modifică. Fără nume privat, cardul arată numele intern, de exemplu `bbx-bbx-2026-000123`. Detalii: [Redenumirea serverului (nume privat)](#servere.redenumire). |\n| Repornește / Oprește / Pornește | Перезагрузить / Остановить / Запустить | Reboot / Stop / Start | Butoanele de alimentare de pe cardul serverului. Repornirea și oprirea nu sunt forțate, ci trec prin sistemul de operare; fiecare acțiune cere confirmare. Detalii: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire). |\n| Upgrade; Upgrade server | Апгрейд; Апгрейд сервера | Upgrade; Upgrade server | Trecerea serverului la un plan mai mare din aceeași familie, plătită din sold. Serverul repornește, iar adresa IP și datele se păstrează. Nu există trecere la un plan mai mic. Detalii: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade). |\n| Șterge definitiv; Ștergere definitivă server | Удалить; Удаление сервера | Terminate; Terminate server | Ștergerea serverului din panou. Se execută după o perioadă de grație de 24 de ore, în care o puteți anula; după aceea datele nu mai pot fi recuperate. Banii pentru perioada începută nu se returnează. Detalii: [Ștergerea definitivă a unui server](#servere.stergere-server). |\n\n## Accesul la server\n\n| Termen (RO) | Termen (RU) | EN (panou) | Ce înseamnă |\n|---|---|---|---|\n| Date de acces; Afișează datele de acces | Учётные данные; Показать учётные данные | Reveal credentials | Utilizatorul `root` și parola pe care panoul le-a salvat pentru server. Fiecare afișare este înregistrată. Dacă ați schimbat parola direct pe server, panoul arată parola veche. Detalii: [Afișarea datelor de acces root](#acces.afisare-date-acces). |\n| Parolă root; Resetează parola | Пароль root; Сбросить пароль | Reset password | Parola utilizatorului `root` de pe server, nu parola contului blackbox.md. „Resetează parola” generează o parolă nouă, iar cea veche nu mai funcționează imediat. Detalii: [Resetarea parolei root](#acces.resetare-parola-root). |\n| Cheie SSH; Chei SSH; Adaugă cheie SSH | SSH-ключ; SSH-ключи; Добавить SSH-ключ | Add SSH key | Cheia publică cu care vă conectați la server fără parolă. Cheile salvate în meniul „Chei SSH” se pot atașa la comandă sau adăuga pe un server din panou. Ștergerea unei chei din cont nu o elimină de pe servere. Detalii: [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont). |\n| Chei instalate | Установленные ключи | Installed keys | Cheile aflate efectiv pe server, în fișierul `authorized_keys` al utilizatorului `root`. Lista se deschide pe cardul serverului, cu butonul „Adaugă cheie SSH”. Detalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server). |\n| Cheie de administrare (blackbox.md) | Ключ управления (blackbox.md) | Management key (blackbox.md) | Cheia BLACKBOX de pe fiecare server nou. Panoul o folosește pentru resetarea parolei, gestionarea cheilor și alte acțiuni. Nu poate fi ștearsă din panou; nu o eliminați nici manual. Detalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). |\n| Cheie agent AI | Ключ AI-агента | — | Cheia cu comentariul `blackbox-agent-…` (de exemplu `blackbox-agent-bbx-2026-000123`), folosită când un asistent AI autorizat de dvs. cere acces SSH prin MCP. O puteți șterge din panou; funcțiile panoului nu depind de ea. Detalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). |\n| Doar cheie / Parolă + cheie | Только ключ / Пароль + ключ | Key-only / Password + key | Insigna de pe cardul serverului. „Doar cheie”: autentificarea SSH cu parolă este dezactivată. „Parolă + cheie”: sunt acceptate și parola, și cheile. Se schimbă cu „Dezactivează login cu parolă” / „Activează login cu parolă”. Detalii: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). |\n\n## Monitorizarea, DNS și suportul\n\n| Termen (RO) | Termen (RU) | EN (panou) | Ce înseamnă |\n|---|---|---|---|\n| Monitorizare | Мониторинг | Monitoring | Pagina panoului cu starea serverelor dvs. și graficele din blocul „Tendințe”. Datele în timp real apar pentru serverele cu serviciul „Monitoring 24/7” activ. Detalii: [Pagina „Monitorizare”](#servicii.monitorizare). |\n| Alerte | Оповещения | Alerts | Cardul „Alerte” din pagina „Monitorizare”: alertele din ultimele 30 de zile și „Preferințe de notificare” (email la o alertă nouă, severitate minimă). Detalii: [Alerte și notificări pe email](#servicii.alerte). |\n| DNS | DNS | DNS | Pagina panoului în care conectați contul dvs. Cloudflare sau GoDaddy și editați înregistrările DNS ale domeniilor. Zonele rămân la furnizorul dvs.; BLACKBOX nu le găzduiește. Detalii: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare). |\n| Tichet; Tichete de suport; Ajutor și suport | Тикет; Тикеты поддержки; Помощь и поддержка | — | Cererea scrisă către echipa de suport. O deschideți din „Contul meu” → „Ajutor și suport” → „Tichet nou”; tichetele există doar pe blackbox.md, nu și în panou. Detalii: [Deschiderea unui tichet de suport](#suport.tichet-nou). |\n\n## AI și securitatea contului\n\n| Termen (RO) | Termen (RU) | EN (panou) | Ce înseamnă |\n|---|---|---|---|\n| Token API; Token-uri API | API-токен; API-токены | — | Cheia personală `bbx_pat_…` cu care un asistent AI accesează contul dvs. prin MCP. O creați în meniul „Token-uri API”; se afișează o singură dată și o puteți revoca oricând. Detalii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api). |\n| Permisiuni (scopes) | Разрешения (scopes) | — | Ce are voie să facă un token API, de exemplu `servers:read` (citește lista serverelor) sau `servers:exec` (rulează comenzi ca root). Se aleg la crearea token-ului și nu se mai pot schimba ulterior. Detalii: [Permisiunile token-urilor (scopes)](#ai.permisiuni). |\n| MCP | MCP | — | Model Context Protocol: modul în care un asistent AI (Claude, Cursor, VS Code și alții) se conectează la contul dvs. la adresa `https://api.app.blackbox.md/mcp`, cu un token API. Detalii: [Integrarea AI (MCP): ce este și ce poate face](#ai.ce-este-mcp). |\n| Autentificare în doi pași (2FA) | Двухфакторная аутентификация (2FA) | Two-Factor Authentication | Protecția suplimentară a accesului la panou: pe lângă parolă, un cod de 6 cifre dintr-o aplicație de autentificare. Este opțională și se activează în panou, pe pagina „Securitate”. Detalii: [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa). |\n| Coduri de recuperare | Коды восстановления | Recovery Code | Coduri de 8 caractere primite la activarea 2FA, pe care le folosiți dacă nu aveți acces la aplicația de autentificare. Fiecare cod funcționează o singură dată. Detalii: [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa). |\n\n## Statusurile comenzilor\n\nPagina „Comenzile mele” (meniul „Comenzi”), coloana „Status”:\n\n| Status (RO) | Status (RU) | Ce înseamnă |\n|---|---|---|\n| Nou | Новый | Comanda este creată, dar nu este achitată. |\n| În lucru | В работе | Comanda este achitată: serverul se pregătește sau funcționează deja. Comanda unui server activ rămâne de obicei în acest status. |\n| Finalizat | Завершён | Comanda a fost închisă de echipa BLACKBOX. |\n| Anulat | Отменён | Comanda a fost anulată sau serverul ei a fost șters. |\n\nAcțiunile pentru fiecare status sunt descrise în [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n## Statusurile facturilor\n\nPagina „Facturile mele” (meniul „Facturi”), coloana „Status”:\n\n| Status (RO) | Status (RU) | Ce înseamnă |\n|---|---|---|\n| Trimisă | Отправлен | Factura este emisă și trebuie achitată. |\n| Restantă | Просрочен | Termenul din coloana „Scadență” a trecut, iar factura nu este achitată. |\n| Achitată | Оплачен | Factura este plătită. Facturile comenzilor achitate apar direct în acest status. |\n| Anulată | Отменён | Factura este anulată, de exemplu după rambursarea integrală a comenzii. |\n\nCum plătiți o factură aflați din [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n## Statusurile tichetelor\n\nPagina „Tichete de suport” (meniul „Ajutor și suport”), coloana „Statut”:\n\n| Status (RO) | Status (RU) | Ce înseamnă |\n|---|---|---|\n| Deschis | Открыт | Tichet nou, la care echipa nu a răspuns încă. |\n| Așteaptă răspunsul dvs. | Ждёт вашего ответа | Echipa a răspuns; este rândul dvs. |\n| Așteaptă echipa | Ждёт команду | Ați răspuns; este rândul echipei. |\n| Rezolvat | Решён | Echipa a marcat problema ca rezolvată. Dacă mai scrieți în tichet, acesta se redeschide cu statusul „Așteaptă echipa”. |\n| Închis | Закрыт | Tichetul este închis și nu mai puteți răspunde în el; pentru a continua discuția, deschideți un tichet nou. |\n\nDetalii despre răspunsuri și închidere: [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete).\n\n## Întrebări frecvente\n\n**Care este diferența dintre „Anulează comanda” și „Șterge definitiv”?**\n„Anulează comanda” (pe blackbox.md, meniul „Comenzi”) poate returna bani în sold, iar suma apare în fereastra de confirmare; serverul comenzii se șterge imediat. „Șterge definitiv” (în panou) se execută după 24 de ore, poate fi anulată până atunci și nu returnează bani.\n\n**Câmpul „Token API” din pagina „DNS” cere token-ul `bbx_pat_…`?**\nNu. În pagina „DNS” introduceți un token creat la Cloudflare, pentru accesul la zonele dvs. Token-ul `bbx_pat_…` îl creați pe blackbox.md, în meniul „Token-uri API”, pentru asistenții AI.\n\n**Ce este numele `bbx-bbx-2026-000123` de pe cardul serverului?**\nEste numele intern al serverului, format din numărul comenzii. În panou îl puteți înlocui cu un nume privat („Redenumește”), dar la ștergerea definitivă tastați tot numele original (adresa IP doar dacă serverul nu are nume).\n\n**De ce „Prezentare generală” arată „Niciun server găsit.”?**\nPagina este destinată rapoartelor pentru serverele administrate de BLACKBOX. Serverele comandate de dvs. sunt în „Serverele mele”. Vedeți și [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n",
    "ru": "В глоссарии собраны термины, которые встречаются в разделе «Мой аккаунт» (`blackbox.md/ru/account`) и в панели app.blackbox.md, с их названиями на румынском, русском и английском. Каждое определение ведёт на статью, где функция описана по шагам.\n\n**Доступно:** всем; чтобы читать глоссарий, аккаунт не нужен.\n\nТермины, которые есть в интерфейсе, приведены точно так, как они написаны на экране. Если один и тот же термин встречается в нескольких формах (пункт меню, заголовок страницы, кнопка), формы разделены точкой с запятой.\n\n> **Примечание**\n> Сайт blackbox.md работает на румынском и русском языках, панель app.blackbox.md — на английском, румынском и русском. В столбце «EN (панель)» указана надпись из английской версии панели; «—» означает, что в панели нет надписи для этого термина (чаще всего он встречается только на blackbox.md).\n\n## Аккаунт, заказы и оплата\n\n| Термин (RO) | Термин (RU) | EN (панель) | Что означает |\n|---|---|---|---|\n| Contul meu; Cont client | Личный кабинет; Мой аккаунт | — | Ваш личный раздел на `blackbox.md/ru/account`: профиль, заказы, счета, баланс, API-токены, SSH-ключи, реквизиты и тикеты. В верхнем меню сайта кнопка называется «Личный кабинет», а в навигационной цепочке раздел подписан «Мой аккаунт». Подробнее: [blackbox.md и app.blackbox.md: что и где делается](#start.blackbox-si-panou). |\n| Profil; Profilul meu | Профиль; Мой профиль | — | Первая страница личного кабинета: имя, email и телефон. Имя и телефон используются как контактные данные в новых заказах. Подробнее: [Мой профиль: имя, телефон и email](#cont.profil). |\n| Comandă; Comenzi; Comenzile mele; Număr comandă | Заказ; Заказы; Мои заказы; Номер заказа | Order | Покупка тарифа. Каждый заказ получает номер вида `BBX-YYYY-NNNNNN` (например, `BBX-2026-000123`); он виден на странице «Мои заказы» (меню «Заказы») и на карточке сервера в панели, в строке «Заказ». Подробнее: [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele). |\n| Solicitare; Număr solicitare | Заявка; Номер заявки | — | Так заказ называется в письмах на русском: в письме-подтверждении есть строка «Номер заявки», а в письмах об оплате, готовности сервера, апгрейде и отмене — фразы вроде «Ваш сервер по заявке…». Тема письма-подтверждения всегда на румынском: «Am primit solicitarea dumneavoastră — BBX-…». Это тот же заказ `BBX-…` из меню «Заказы», а не отдельное обращение. Подробнее: [Письма, которые вы получаете от BLACKBOX](#suport.emailuri-blackbox). |\n| Plan; Plan tarifar | Тариф; Тарифный план | Plan | Фиксированная конфигурация, которую вы заказываете: vCPU, RAM, диск и цена в месяц. В панели в строке «Тариф» показан код тарифа, например `vm-iops1-m` для Standard M. Подробнее: [Тарифы VPS: как выбрать](#comenzi.planuri-vps). |\n| MDL | MDL | MDL | Молдавский лей — валюта всех цен и платежей. Цены указаны в MDL в месяц, тарифы оплачиваются помесячно и заранее; платежи иностранными картами конвертирует ваш банк. Подробнее: [Цены, валюта и период оплаты](#comenzi.preturi). |\n| Factură; Facturi; Facturile mele | Счёт; Счета; Мои счета | — | Документ на оплату в меню «Счета». Номера бывают трёх видов: `BBX-YYYY-NNNNNN` — счёт оплаченного заказа, с тем же номером, что и заказ; `BT-xxxxxxxx-YYYYMM` — ежемесячный счёт за продление; `INV-0001`, `INV-0002`… — счета, выставленные командой. Подробнее: [Страница «Счета»: статусы, номера и PDF](#plati.facturi). |\n| Sold; Sold curent | Баланс; Текущий баланс | Wallet balance | Деньги, заранее внесённые на аккаунт blackbox.md, в MDL. С баланса оплачиваются заказы, апгрейды и — через автоплатёж — счета; на него же поступают возвраты. Панель показывает баланс в верхней строке. Подробнее: [Баланс аккаунта: как это работает](#plati.sold). |\n| Alimentare; Alimentează soldul | Пополнение; Пополнить баланс | Top up your balance | Зачисление денег на баланс картой: от 50 до 50 000 MDL за одно пополнение. Подробнее: [Пополнение баланса](#plati.alimentare-sold). |\n| Plată automată din sold (pe ecran: Reîncărcare automată) | Автоплатёж с баланса (на экране: Автоматическое пополнение) | — | Переключатель на странице «Баланс». Когда он включён, счета с наступившим сроком оплаты оплачиваются автоматически из денег, которые уже лежат на балансе. По умолчанию выключен. Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata). |\n| Date de facturare | Реквизиты | — | Профили компании или физического лица, данные которых указываются в счетах. Добавьте их в меню «Реквизиты» и выбирайте при оформлении заказа. Подробнее: [Реквизиты для счетов: компании и физлица](#plati.date-facturare). |\n| Anulare comandă; Anulează comanda | Отмена заказа; Отменить заказ | — | Отмена заказа в меню «Заказы». Кнопка появляется, только если заказ можно отменить; в окне подтверждения видно, какая сумма вернётся на баланс. Если у заказа есть сервер, сервер и его данные удаляются сразу. Подробнее: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare). |\n| Rambursare | Возврат | — | Деньги, возвращённые за отменённый заказ. Они поступают на баланс — это операция «Возврат» в разделе «История операций»; фраза «… будут возвращены на ваш счёт BLACKBOX» тоже означает баланс. Чтобы вернуть деньги на карту, напишите на support@blackbox.md. Подробнее: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare). |\n| Servicii suplimentare | Дополнительные услуги | — | Услуги, подключённые к серверу, например «Мониторинг 24/7». Они показаны под заказом вместе со статусом: «В процессе активации», «Активен», «Свяжитесь со службой поддержки» или «Отменён». При оформлении заказа на сайте их выбрать нельзя — их заказывают через поддержку или через AI-ассистента. Подробнее: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare). |\n\n> **Важно**\n> Переключатель «Автоматическое пополнение» на странице «Баланс» не списывает деньги с карты и не пополняет баланс. Он автоматически оплачивает счета с наступившим сроком оплаты из денег, которые уже лежат на балансе. Новые заказы автоматически не оплачиваются.\n\n## Панель и серверы\n\n| Термин (RO) | Термин (RU) | EN (панель) | Что означает |\n|---|---|---|---|\n| Panou (app.blackbox.md); Panou de administrare; Deschide panoul | Панель (app.blackbox.md); Панель управления; Открыть панель | Server Panel | Панель app.blackbox.md, в которой вы управляете серверами. Откройте её через «Мой аккаунт» → «Панель управления» или кнопкой «Открыть панель» на странице «Профиль» — повторно вводить пароль не нужно. Подробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou). |\n| Prezentare generală | Обзор | Overview | Первая страница панели с заголовком «Отчёты аудита серверов». Здесь видны отчёты только по серверам, которые обслуживает BLACKBOX и к которым вам открыли доступ; для серверов, заказанных вами, сообщение «Серверы не найдены.» — это нормально. Подробнее: [Страница «Обзор» (Overview)](#servere.prezentare-generala). |\n| Serverele mele | Мои серверы | My Servers | Страница панели с карточкой для каждого активного сервера: «Заказ», «IP», «Тариф», «Конфигурация», «Добавлен» и кнопки управления. Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele). |\n| Administrat | Обслуживается | Managed | Значок на карточках страницы «Мои серверы»: сервер обслуживает команда BLACKBOX, а вы можете только просматривать его; изменения запрашиваются через поддержку. Подробнее: [Страница «Обзор» (Overview)](#servere.prezentare-generala). |\n| Redenumește; Nume original | Переименовать; Исходное название | Rename; Original name | Личное название сервера: его видите только вы, сам сервер не меняется. Если личного названия нет, на карточке показано внутреннее имя, например `bbx-bbx-2026-000123`. Подробнее: [Переименование сервера (личное название)](#servere.redenumire). |\n| Repornește / Oprește / Pornește | Перезагрузить / Остановить / Запустить | Reboot / Stop / Start | Кнопки питания на карточке сервера. Перезагрузка и остановка выполняются штатно, через операционную систему; каждое действие нужно подтвердить. Подробнее: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire). |\n| Upgrade; Upgrade server | Апгрейд; Апгрейд сервера | Upgrade; Upgrade server | Переход сервера на больший тариф того же семейства с оплатой с баланса. Сервер перезагружается, IP-адрес и данные сохраняются. Перейти на меньший тариф нельзя. Подробнее: [Апгрейд сервера: переход на больший тариф](#servere.upgrade). |\n| Șterge definitiv; Ștergere definitivă server | Удалить; Удаление сервера | Terminate; Terminate server | Удаление сервера из панели. Оно выполняется после 24-часовой отсрочки, в течение которой его можно отменить; после этого данные восстановить нельзя. Деньги за начатый период не возвращаются. Подробнее: [Безвозвратное удаление сервера](#servere.stergere-server). |\n\n## Доступ к серверу\n\n| Термин (RO) | Термин (RU) | EN (панель) | Что означает |\n|---|---|---|---|\n| Date de acces; Afișează datele de acces | Учётные данные; Показать учётные данные | Reveal credentials | Имя пользователя `root` и пароль, которые панель сохранила для сервера. Каждый просмотр фиксируется в журнале. Если вы сменили пароль прямо на сервере, панель покажет старый пароль. Подробнее: [Просмотр учётных данных root](#acces.afisare-date-acces). |\n| Parolă root; Resetează parola | Пароль root; Сбросить пароль | Reset password | Пароль пользователя `root` на сервере — не пароль от аккаунта blackbox.md. Кнопка «Сбросить пароль» создаёт новый пароль, а старый сразу перестаёт работать. Подробнее: [Сброс пароля root](#acces.resetare-parola-root). |\n| Cheie SSH; Chei SSH; Adaugă cheie SSH | SSH-ключ; SSH-ключи; Добавить SSH-ключ | Add SSH key | Открытый ключ, с которым вы подключаетесь к серверу без пароля. Ключи, сохранённые в меню «SSH-ключи», можно прикрепить к заказу или добавить на сервер из панели. Удаление ключа из аккаунта не убирает его с серверов. Подробнее: [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont). |\n| Chei instalate | Установленные ключи | Installed keys | Ключи, которые фактически находятся на сервере, в файле `authorized_keys` пользователя `root`. Список открывается на карточке сервера кнопкой «Добавить SSH-ключ». Подробнее: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server). |\n| Cheie de administrare (blackbox.md) | Ключ управления (blackbox.md) | Management key (blackbox.md) | Ключ BLACKBOX на каждом новом сервере. Панель использует его для сброса пароля, управления ключами и других действий. Удалить его из панели нельзя; не удаляйте его и вручную. Подробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). |\n| Cheie agent AI | Ключ AI-агента | — | Ключ с комментарием `blackbox-agent-…` (например, `blackbox-agent-bbx-2026-000123`). Он используется, когда AI-ассистент, которому вы дали доступ, запрашивает SSH-доступ через MCP. Его можно удалить из панели; функции панели от него не зависят. Подробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). |\n| Doar cheie / Parolă + cheie | Только ключ / Пароль + ключ | Key-only / Password + key | Значок на карточке сервера. «Только ключ» — вход по SSH с паролем отключён. «Пароль + ключ» — принимаются и пароль, и ключи. Режим переключается кнопками «Отключить вход по паролю» / «Включить вход по паролю». Подробнее: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). |\n\n## Мониторинг, DNS и поддержка\n\n| Термин (RO) | Термин (RU) | EN (панель) | Что означает |\n|---|---|---|---|\n| Monitorizare | Мониторинг | Monitoring | Страница панели с состоянием ваших серверов и графиками в блоке «Динамика». Данные в реальном времени есть у серверов с подключённой услугой «Мониторинг 24/7». Подробнее: [Страница «Мониторинг»](#servicii.monitorizare). |\n| Alerte | Оповещения | Alerts | Блок «Оповещения» на странице «Мониторинг»: оповещения за последние 30 дней и «Настройки уведомлений» (письмо о новом оповещении, минимальная важность). Подробнее: [Оповещения и уведомления по email](#servicii.alerte). |\n| DNS | DNS | DNS | Страница панели, где вы подключаете свой аккаунт Cloudflare или GoDaddy и редактируете DNS-записи доменов. Зоны остаются у вашего провайдера, BLACKBOX их не размещает. Подробнее: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare). |\n| Tichet; Tichete de suport; Ajutor și suport | Тикет; Тикеты поддержки; Помощь и поддержка | — | Письменное обращение в службу поддержки. Создаётся в разделе «Мой аккаунт» → «Помощь и поддержка» → «Новый тикет»; тикеты есть только на blackbox.md, в панели их нет. Подробнее: [Создание тикета в поддержку](#suport.tichet-nou). |\n\n## AI и безопасность аккаунта\n\n| Термин (RO) | Термин (RU) | EN (панель) | Что означает |\n|---|---|---|---|\n| Token API; Token-uri API | API-токен; API-токены | — | Личный ключ `bbx_pat_…`, с которым AI-ассистент получает доступ к вашему аккаунту через MCP. Создаётся в меню «API-токены», показывается только один раз; отозвать его можно в любой момент. Подробнее: [API-токены: создание, копирование и отзыв](#ai.token-uri-api). |\n| Permisiuni (scopes) | Разрешения (scopes) | — | То, что разрешено делать API-токену, например `servers:read` (читать список серверов) или `servers:exec` (выполнять команды от root). Разрешения выбираются при создании токена, изменить их потом нельзя. Подробнее: [Разрешения токенов (scopes)](#ai.permisiuni). |\n| MCP | MCP | — | Model Context Protocol — способ, которым AI-ассистент (Claude, Cursor, VS Code и другие) подключается к вашему аккаунту по адресу `https://api.app.blackbox.md/mcp` с помощью API-токена. Подробнее: [AI-интеграция (MCP): что это и что умеет](#ai.ce-este-mcp). |\n| Autentificare în doi pași (2FA) | Двухфакторная аутентификация (2FA) | Two-Factor Authentication | Дополнительная защита входа в панель: кроме пароля, нужен 6-значный код из приложения-аутентификатора. Включается по желанию, в панели на странице «Безопасность». Подробнее: [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa). |\n| Coduri de recuperare | Коды восстановления | Recovery Code | Коды из 8 символов, которые вы получаете при включении 2FA; они нужны, если нет доступа к приложению-аутентификатору. Каждый код срабатывает только один раз. Подробнее: [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa). |\n\n## Статусы заказов\n\nСтраница «Мои заказы» (меню «Заказы»), столбец «Статус»:\n\n| Статус (RO) | Статус (RU) | Что означает |\n|---|---|---|\n| Nou | Новый | Заказ создан, но не оплачен. |\n| În lucru | В работе | Заказ оплачен: сервер готовится или уже работает. Заказ активного сервера обычно остаётся в этом статусе. |\n| Finalizat | Завершён | Заказ закрыт командой BLACKBOX. |\n| Anulat | Отменён | Заказ отменён или его сервер удалён. |\n\nКакие действия доступны при каждом статусе, описано в статье [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n## Статусы счетов\n\nСтраница «Мои счета» (меню «Счета»), столбец «Статус»:\n\n| Статус (RO) | Статус (RU) | Что означает |\n|---|---|---|\n| Trimisă | Отправлен | Счёт выставлен, его нужно оплатить. |\n| Restantă | Просрочен | Дата в столбце «Срок оплаты» прошла, а счёт не оплачен. |\n| Achitată | Оплачен | Счёт оплачен. Счета оплаченных заказов сразу появляются в этом статусе. |\n| Anulată | Отменён | Счёт отменён, например после полного возврата денег за заказ. |\n\nКак оплатить счёт, описано в статье [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n## Статусы тикетов\n\nСтраница «Тикеты поддержки» (меню «Помощь и поддержка»), столбец «Статус»:\n\n| Статус (RO) | Статус (RU) | Что означает |\n|---|---|---|\n| Deschis | Открыт | Новый тикет, на который команда ещё не ответила. |\n| Așteaptă răspunsul dvs. | Ждёт вашего ответа | Команда ответила, теперь ваша очередь. |\n| Așteaptă echipa | Ждёт команду | Вы ответили, теперь очередь команды. |\n| Rezolvat | Решён | Команда отметила проблему как решённую. Если вы снова напишете в тикет, он откроется заново со статусом «Ждёт команду». |\n| Închis | Закрыт | Тикет закрыт, ответить в нём больше нельзя; чтобы продолжить разговор, создайте новый тикет. |\n\nОб ответах и закрытии тикетов: [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete).\n\n## Частые вопросы\n\n**Чем «Отменить заказ» отличается от «Удалить»?**\n«Отменить заказ» (на blackbox.md, меню «Заказы») может вернуть деньги на баланс — сумма видна в окне подтверждения, — а сервер заказа удаляется сразу. «Удалить» в панели срабатывает через 24 часа, и до этого его можно отменить; деньги при этом не возвращаются.\n\n**В поле «API-токен» на странице «DNS» нужно вводить токен `bbx_pat_…`?**\nНет. На странице «DNS» вводится токен, созданный в Cloudflare для доступа к вашим зонам. Токен `bbx_pat_…` создаётся на blackbox.md в меню «API-токены» и нужен для AI-ассистентов.\n\n**Что за имя `bbx-bbx-2026-000123` на карточке сервера?**\nЭто внутреннее имя сервера, составленное из номера заказа. В панели его можно заменить личным названием («Переименовать»), но при удалении сервера всё равно нужно ввести исходное имя (IP-адрес — только если у сервера нет имени).\n\n**Почему на странице «Обзор» написано «Серверы не найдены.»?**\nЭта страница предназначена для отчётов по серверам, которые обслуживает BLACKBOX. Заказанные вами серверы находятся на странице «Мои серверы». См. также [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n",
    "en": "This glossary explains the terms you see in your account, “Contul meu” (My account) at `blackbox.md/account`, and in the app.blackbox.md panel, with their names in Romanian, Russian and English. Each definition links to the article that describes the feature step by step.\n\n**Available to:** anyone; you don't need an account to read the glossary.\n\nIn the Romanian, Russian and panel columns, terms that appear on screen are written exactly as in the interface. When the same term appears in several forms (menu item, page title, button), the forms are separated by semicolons. The blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> The app.blackbox.md panel is available in English, Romanian and Russian. The “Panel (EN)” column shows the label from the English version of the panel; “—” means the panel has no label for this term (most often, the term appears only on blackbox.md).\n\n## Account, orders and payments\n\n| English term | Romanian (RO) | Russian (RU) | Panel (EN) | What it means |\n|---|---|---|---|---|\n| My account; Customer account | Contul meu; Cont client | Личный кабинет; Мой аккаунт | — | Your customer area at `blackbox.md/account`: profile, orders, invoices, balance, API tokens, SSH keys, billing details and tickets. In the website's top bar the button is called “Cont client” (Customer account), and the breadcrumb shows “Contul meu” (My account). Details: [blackbox.md and app.blackbox.md: what you do where](#start.blackbox-si-panou). |\n| Profile; My profile | Profil; Profilul meu | Профиль; Мой профиль | — | The first page of “Contul meu”: your name, email and phone number. The name and phone number are used as contact details on new orders. Details: [My profile: name, phone number and email](#cont.profil). |\n| Order; Orders; My orders; Order number | Comandă; Comenzi; Comenzile mele; Număr comandă | Заказ; Заказы; Мои заказы; Номер заказа | Order | The purchase of a plan. Each order gets a number in the format `BBX-YYYY-NNNNNN` (for example `BBX-2026-000123`), shown on the “Comenzile mele” (My orders) page, which you open from the “Comenzi” (Orders) menu, and on the server card in the panel, in the “Order” row. Details: [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele). |\n| Request; Request number | Solicitare; Număr solicitare | Заявка; Номер заявки | — | The word that emails sometimes use for an order. The confirmation email has the subject “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…) and a “Număr solicitare” (Request number) line; in Russian emails, the order is also called “заявка” (request) in the messages about payment, the server being ready to use, upgrades and cancellation. It is the same `BBX-…` order from the “Comenzi” menu, not a separate request. Details: [Emails you receive from BLACKBOX](#suport.emailuri-blackbox). |\n| Plan; Pricing plan | Plan; Plan tarifar | Тариф; Тарифный план | Plan | The fixed configuration you order: vCPU, RAM, disk and monthly price. In the panel, the “Plan” row shows the plan code, for example `vm-iops1-m` for Standard M. Details: [VPS plans: how to choose](#comenzi.planuri-vps). |\n| MDL | MDL | MDL | MDL | The Moldovan leu, the currency of all prices and payments. Prices are in MDL per month, and plans are paid monthly, in advance; payments with foreign cards are converted by your bank. Details: [Prices, currency and billing period](#comenzi.preturi). |\n| Invoice; Invoices; My invoices | Factură; Facturi; Facturile mele | Счёт; Счета; Мои счета | — | The payment document in the “Facturi” (Invoices) menu. Numbers come in three forms: `BBX-YYYY-NNNNNN` is the invoice for a paid order, with the same number as the order; `BT-xxxxxxxx-YYYYMM` is the monthly renewal invoice; `INV-0001`, `INV-0002`… are invoices issued by the team. Details: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi). |\n| Balance; Current balance | Sold; Sold curent | Баланс; Текущий баланс | Wallet balance | Money paid in advance into your blackbox.md account, in MDL. Your balance pays for orders, upgrades and, through autopay, invoices; refunds also go to your balance. The panel shows your balance in the top bar. Details: [Account balance: how it works](#plati.sold). |\n| Top-up; Top up balance | Alimentare; Alimentează soldul | Пополнение; Пополнить баланс | Top up your balance | Adding money to your balance by card, from 50 to 50,000 MDL per top-up. Details: [Topping up your balance](#plati.alimentare-sold). |\n| Automatic payment from balance (autopay) | Plată automată din sold (pe ecran: Reîncărcare automată) | Автоплатёж с баланса (на экране: Автоматическое пополнение) | — | The “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page. When it is on, invoices that are due are paid automatically from the money already in your balance. It is off by default. Details: [Automatic payment of invoices from your balance](#plati.plata-automata). |\n| Billing details | Date de facturare | Реквизиты | — | Company or individual profiles whose details appear on invoices. You add them in the “Date de facturare” (Billing details) menu and choose one when you place an order. Details: [Billing details for companies and individuals](#plati.date-facturare). |\n| Order cancellation; Cancel order | Anulare comandă; Anulează comanda | Отмена заказа; Отменить заказ | — | Canceling an order from the “Comenzi” menu. The button appears only when the order can be canceled; the confirmation window shows how much will be returned to your balance. If the order has a server, the server and its data are deleted immediately. Details: [Order cancellation and refunds](#plati.anulare-si-rambursare). |\n| Refund | Rambursare | Возврат | — | Money returned for a canceled order. It goes to your balance, as a “Rambursare” (Refund) transaction in “Istoricul operațiunilor” (Transaction history); the phrase “… returnați în contul dvs. BLACKBOX” (… returned to your BLACKBOX account) also refers to your balance. To get the money back to your card, write to support@blackbox.md. Details: [Order cancellation and refunds](#plati.anulare-si-rambursare). |\n| Add-on services | Servicii suplimentare | Дополнительные услуги | — | Services added to a server, for example “Monitoring 24/7”. They appear under the order, with their status: “În curs de activare” (Activating), “Activ” (Active), “Contactați suportul” (Contact support) or “Anulat” (Canceled). You can't choose them when you place an order on the website; request them through support or the AI assistant. Details: [Add-on services for your server](#servicii.servicii-suplimentare). |\n\n> **Important**\n> The “Reîncărcare automată” (Automatic top-up) switch on the “Sold” page does not charge your card and does not top up your balance. It automatically pays invoices that are due with the money already in your balance. New orders are not paid automatically.\n\n## The panel and servers\n\n| English term | Romanian (RO) | Russian (RU) | Panel (EN) | What it means |\n|---|---|---|---|---|\n| Panel (app.blackbox.md); Admin panel; Open the panel | Panou (app.blackbox.md); Panou de administrare; Deschide panoul | Панель (app.blackbox.md); Панель управления; Открыть панель | Server Panel | The app.blackbox.md panel, where you manage your servers. Open it from “Contul meu” (My account) → “Panou de administrare” (Admin panel) or with the “Deschide panoul” (Open the panel) button on the “Profil” (Profile) page, without entering your password again. Details: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou). |\n| Overview | Prezentare generală | Обзор | Overview | The first page of the panel, titled “Server Audit Reports”. It shows reports only for servers managed by BLACKBOX that you have been given access to; for servers you ordered yourself, the message “No servers found.” is normal. Details: [The “Overview” page](#servere.prezentare-generala). |\n| My Servers | Serverele mele | Мои серверы | My Servers | The panel page with a card for each active server: “Order”, “IP”, “Plan”, “Spec”, “Added” and the management buttons. Details: [The “My Servers” page: the server card](#servere.serverele-mele). |\n| Managed | Administrat | Обслуживается | Managed | The badge on cards in “My Servers” for servers that the BLACKBOX team looks after and that you can only view; changes are requested through support. Details: [The “Overview” page](#servere.prezentare-generala). |\n| Rename; Original name | Redenumește; Nume original | Переименовать; Исходное название | Rename; Original name | The server's private name: only you see it, and the server itself does not change. Without a private name, the card shows the internal name, for example `bbx-bbx-2026-000123`. Details: [Renaming a server (private name)](#servere.redenumire). |\n| Reboot / Stop / Start | Repornește / Oprește / Pornește | Перезагрузить / Остановить / Запустить | Reboot / Stop / Start | The power buttons on the server card. Reboot and stop are not forced; they go through the operating system. Each action asks for confirmation. Details: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire). |\n| Upgrade; Upgrade server | Upgrade; Upgrade server | Апгрейд; Апгрейд сервера | Upgrade; Upgrade server | Moving a server to a larger plan in the same family, paid from your balance. The server reboots, and its IP address and data are kept. There is no move to a smaller plan. Details: [Server upgrade: moving to a larger plan](#servere.upgrade). |\n| Delete permanently (terminate); Permanent server deletion | Șterge definitiv; Ștergere definitivă server | Удалить; Удаление сервера | Terminate; Terminate server | Deleting a server from the panel. It runs after a 24-hour grace period, during which you can cancel it; after that, the data cannot be recovered. Money for the period already started is not refunded. Details: [Permanently deleting a server](#servere.stergere-server). |\n\n## Server access\n\n| English term | Romanian (RO) | Russian (RU) | Panel (EN) | What it means |\n|---|---|---|---|---|\n| Credentials; Show credentials | Date de acces; Afișează datele de acces | Учётные данные; Показать учётные данные | Reveal credentials | The `root` user and the password that the panel saved for the server. Each time they are shown, this is logged. If you changed the password directly on the server, the panel shows the old password. Details: [Showing root credentials](#acces.afisare-date-acces). |\n| Root password; Reset password | Parolă root; Resetează parola | Пароль root; Сбросить пароль | Reset password | The password of the `root` user on the server, not your blackbox.md account password. “Reset password” generates a new password, and the old one stops working immediately. Details: [Resetting the root password](#acces.resetare-parola-root). |\n| SSH key; SSH keys; Add SSH key | Cheie SSH; Chei SSH; Adaugă cheie SSH | SSH-ключ; SSH-ключи; Добавить SSH-ключ | Add SSH key | The public key you use to connect to the server without a password. Keys saved in the “Chei SSH” (SSH keys) menu can be attached to an order or added to a server from the panel. Deleting a key from your account does not remove it from servers. Details: [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont). |\n| Installed keys | Chei instalate | Установленные ключи | Installed keys | The keys actually on the server, in the `root` user's `authorized_keys` file. The list opens on the server card with the “Add SSH key” button. Details: [Adding and removing SSH keys on the server](#acces.chei-ssh-server). |\n| Management key (blackbox.md) | Cheie de administrare (blackbox.md) | Ключ управления (blackbox.md) | Management key (blackbox.md) | The BLACKBOX key on every new server. The panel uses it to reset the password, manage keys and perform other actions. It cannot be deleted from the panel; do not remove it manually either. Details: [BLACKBOX keys on your server](#acces.cheile-blackbox). |\n| AI agent key | Cheie agent AI | Ключ AI-агента | — | The key with the comment `blackbox-agent-…` (for example `blackbox-agent-bbx-2026-000123`), used when an AI assistant you have authorized requests SSH access through MCP. You can delete it from the panel; the panel's features do not depend on it. Details: [BLACKBOX keys on your server](#acces.cheile-blackbox). |\n| Key only / Password + key | Doar cheie / Parolă + cheie | Только ключ / Пароль + ключ | Key-only / Password + key | The badge on the server card. “Key-only”: SSH password login is disabled. “Password + key”: both the password and keys are accepted. You switch it with “Disable password login” / “Enable password login”. Details: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). |\n\n## Monitoring, DNS and support\n\n| English term | Romanian (RO) | Russian (RU) | Panel (EN) | What it means |\n|---|---|---|---|---|\n| Monitoring | Monitorizare | Мониторинг | Monitoring | The panel page with the status of your servers and the charts in the “Trends” block. Real-time data appears for servers with the “Monitoring 24/7” service active. Details: [The “Monitoring” page](#servicii.monitorizare). |\n| Alerts | Alerte | Оповещения | Alerts | The “Alerts” card on the “Monitoring” page: alerts from the last 30 days and “Notification preferences” (email on a new alert, minimum severity). Details: [Alerts and email notifications](#servicii.alerte). |\n| DNS | DNS | DNS | DNS | The panel page where you connect your Cloudflare or GoDaddy account and edit your domains' DNS records. The zones stay with your provider; BLACKBOX does not host them. Details: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare). |\n| Ticket; Support tickets; Help and support | Tichet; Tichete de suport; Ajutor și suport | Тикет; Тикеты поддержки; Помощь и поддержка | — | A written request to the support team. Open one from “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket); tickets exist only on blackbox.md, not in the panel. Details: [Opening a support ticket](#suport.tichet-nou). |\n\n## AI and account security\n\n| English term | Romanian (RO) | Russian (RU) | Panel (EN) | What it means |\n|---|---|---|---|---|\n| API token; API tokens | Token API; Token-uri API | API-токен; API-токены | — | The personal `bbx_pat_…` key that an AI assistant uses to access your account through MCP. You create it in the “Token-uri API” (API tokens) menu; it is shown only once, and you can revoke it at any time. Details: [API tokens: creating, copying and revoking](#ai.token-uri-api). |\n| Permissions (scopes) | Permisiuni (scopes) | Разрешения (scopes) | — | What an API token is allowed to do, for example `servers:read` (read the list of servers) or `servers:exec` (run commands as root). They are chosen when you create the token and cannot be changed later. Details: [Token permissions (scopes)](#ai.permisiuni). |\n| MCP | MCP | MCP | — | Model Context Protocol: the way an AI assistant (Claude, Cursor, VS Code and others) connects to your account at `https://api.app.blackbox.md/mcp`, with an API token. Details: [AI integration (MCP): what it is and what it can do](#ai.ce-este-mcp). |\n| Two-factor authentication (2FA) | Autentificare în doi pași (2FA) | Двухфакторная аутентификация (2FA) | Two-Factor Authentication | Extra protection for signing in to the panel: in addition to your password, a 6-digit code from an authenticator app. It is optional, and you turn it on in the panel, on the “Security” page. Details: [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa). |\n| Recovery codes | Coduri de recuperare | Коды восстановления | Recovery Code | 8-character codes you receive when you turn on 2FA; you use them if you can't access your authenticator app. Each code works only once. Details: [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa). |\n\n## Order statuses\n\nThe “Status” column on the “Comenzile mele” (My orders) page, which you open from the “Comenzi” (Orders) menu:\n\n| Status (RO) | Status (RU) | What it means |\n|---|---|---|\n| Nou (New) | Новый | The order has been created but not paid. |\n| În lucru (In progress) | В работе | The order is paid: the server is being prepared or is already running. The order for an active server usually stays in this status. |\n| Finalizat (Completed) | Завершён | The order was closed by the BLACKBOX team. |\n| Anulat (Canceled) | Отменён | The order was canceled or its server was deleted. |\n\nThe actions available for each status are described in [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n## Invoice statuses\n\nThe “Status” column on the “Facturile mele” (My invoices) page, which you open from the “Facturi” (Invoices) menu:\n\n| Status (RO) | Status (RU) | What it means |\n|---|---|---|\n| Trimisă (Sent) | Отправлен | The invoice has been issued and must be paid. |\n| Restantă (Overdue) | Просрочен | The date in the “Scadență” (Due date) column has passed, and the invoice is not paid. |\n| Achitată (Paid) | Оплачен | The invoice is paid. Invoices for paid orders appear directly in this status. |\n| Anulată (Canceled) | Отменён | The invoice is canceled, for example after the order was fully refunded. |\n\nTo find out how to pay an invoice, see [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n## Ticket statuses\n\nThe “Statut” (Status) column on the “Tichete de suport” (Support tickets) page, which you open from the “Ajutor și suport” (Help and support) menu:\n\n| Status (RO) | Status (RU) | What it means |\n|---|---|---|\n| Deschis (Open) | Открыт | A new ticket the team has not replied to yet. |\n| Așteaptă răspunsul dvs. (Awaiting your reply) | Ждёт вашего ответа | The team has replied; it's your turn. |\n| Așteaptă echipa (Awaiting the team) | Ждёт команду | You have replied; it's the team's turn. |\n| Rezolvat (Resolved) | Решён | The team marked the problem as resolved. If you write in the ticket again, it reopens with the status “Așteaptă echipa” (Awaiting the team). |\n| Închis (Closed) | Закрыт | The ticket is closed and you can no longer reply in it; to continue the conversation, open a new ticket. |\n\nFor details on replies and closing tickets, see [Replies, statuses and closing tickets](#suport.statusuri-tichete).\n\n## Frequently asked questions\n\n**What is the difference between “Anulează comanda” (Cancel the order) and “Terminate”?**\n“Anulează comanda” (on blackbox.md, in the “Comenzi” (Orders) menu) can return money to your balance, and the amount appears in the confirmation window; the order's server is deleted immediately. “Terminate” (in the panel) runs after 24 hours, can be canceled until then, and does not return any money.\n\n**Does the “API token” field on the “DNS” page ask for the `bbx_pat_…` token?**\nNo. On the “DNS” page, enter a token created at Cloudflare, for access to your zones. You create the `bbx_pat_…` token on blackbox.md, in the “Token-uri API” (API tokens) menu, for AI assistants.\n\n**What is the name `bbx-bbx-2026-000123` on the server card?**\nIt is the server's internal name, made from the order number. In the panel you can replace it with a private name (“Rename”), but when you delete the server permanently, you still type the original name (the IP address only if the server has no name).\n\n**Why does “Overview” show “No servers found.”?**\nThe page is meant for reports on servers managed by BLACKBOX. The servers you ordered are in “My Servers”. See also [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n"
   }
  },
  {
   "id": "start.ghid-rapid",
   "section": "start",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/start/ghid-rapid/",
    "ru": "https://docs.blackbox.md/ru/start/ghid-rapid/",
    "en": "https://docs.blackbox.md/en/start/ghid-rapid/"
   },
   "title": {
    "ro": "De la înregistrare la un server funcțional",
    "ru": "От регистрации до работающего сервера",
    "en": "From sign-up to a working server"
   },
   "summary": {
    "ro": "Pașii esențiali: cont, verificarea emailului, alegerea planului, plata, conectarea și securizarea serverului.",
    "ru": "Основные шаги: аккаунт, подтверждение email, выбор тарифа, оплата, подключение и защита сервера.",
    "en": "The essential steps: account, email verification, choosing a plan, payment, connecting to your server and securing it."
   },
   "markdown": {
    "ro": "În 14 pași, acest ghid vă duce de la un cont nou la un server VPS la care vă conectați prin SSH, apoi la publicarea site-ului și la plata lunilor următoare. Contul, comanda și plata se fac pe blackbox.md, în „Contul meu”, iar serverul îl găsiți în panoul app.blackbox.md, la „Serverele mele”. Fiecare pas trimite la articolul cu detalii.\n\n**Disponibil pentru:** orice vizitator al blackbox.md (pasul 1), apoi titularul contului.\n\n## Pasul 1. Creați contul\n\n1. Deschideți `https://blackbox.md/register` (sau „Cont client” din antetul site-ului → „Înregistrați-vă”).\n2. Completați „Email” și „Parolă”. Parola trebuie să aibă minimum 12 caractere și cel puțin 3 din: literă mare, literă mică, cifră, caracter special.\n3. Opțional, completați „Nume complet” și „Telefon”: comanda preia numele și telefonul din profil.\n4. Bifați „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” și apăsați „Creare cont”. Sunteți autentificat imediat.\n\nVarianta rapidă: în blocul „Înregistrare cu” apăsați „Google” sau „GitLab”. Un cont creat așa are de regulă emailul deja confirmat, deci puteți sări peste pasul 2. Detalii: [Crearea contului pe blackbox.md](#cont.creare-cont).\n\n## Pasul 2. Confirmați adresa de email\n\nFără email confirmat, butoanele din cont deschid doar pagina de autentificare a panoului, fără intrare automată. Emailul de confirmare nu vine singur la înregistrare: îl cereți din profil.\n\n1. „Contul meu” → „Profil”, secțiunea „Securitatea contului”, cardul „Verificarea emailului”.\n2. Apăsați „Trimite emailul de verificare”. Mesaj: „Email trimis. Verifică căsuța poștală.”\n3. Deschideți emailul „Confirmați adresa de email — BlackBox” și accesați linkul (valabil 24 de ore, o singură dată). Pagina afișează „Email confirmat!”, iar în profil apare „Verificat”.\n\nDetalii: [Verificarea adresei de email](#cont.verificare-email).\n\n## Pasul 3. Adăugați cheia SSH (recomandat)\n\nCu o cheie SSH vă conectați la server fără parolă.\n\n1. „Contul meu” → „Chei SSH”.\n2. În „Adaugă o cheie SSH” completați „Nume cheie” și lipiți în „Cheie publică SSH” conținutul fișierului `.pub` (de exemplu `~/.ssh/id_ed25519.pub`). Nu lipiți niciodată cheia privată.\n3. Apăsați „Adaugă cheia”.\n\nNu aveți o cheie? Vedeți [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). Puteți sări peste acest pas: dacă nu atașați nicio cheie nici la comandă (pasul 6), primiți o parolă root.\n\n## Pasul 4. Alegeți planul\n\n1. Apăsați „Planuri VPS” în antetul site-ului (`https://blackbox.md/servers/plans`).\n2. Alegeți unul dintre cele 21 de planuri din 5 familii: Basic, CPU, Standard, High-Frequency și High-Frequency Compute. Prețurile sunt în „MDL/lună”; planul marcat „Recomandat” este Standard M.\n3. Apăsați „Comandă” pe cardul planului. Dacă nu sunteți autentificat, după autentificare reveniți automat la comandă.\n\nCum alegeți: [Planurile VPS: cum alegeți](#comenzi.planuri-vps). [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou) și [Servere dedicate](#comenzi.servere-dedicate) se comandă tot cu „Comandă”, dar fără pasul 5.\n\n## Pasul 5. Alegeți sistemul de operare\n\nÎn pasul „Sistem de operare” este selectat implicit „Ubuntu 24.04 LTS”. Puteți alege și Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 sau AlmaLinux 9. Apăsați „Continuă”. Detalii: [Sistemele de operare disponibile](#comenzi.sisteme-operare).\n\n## Pasul 6. Date de facturare și cheia SSH (opționale)\n\n- **„Date de facturare”:** alegeți profilul (companie sau persoană fizică) care va apărea pe factură și apăsați „Continuă”. Dacă lăsați „Fără date de facturare”, butonul se numește „Continuă fără date de facturare”. Vedeți [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n- **„Cheie SSH pentru server”:** bifați cheia din „Chei salvate” sau lipiți una în „Sau lipiți o cheie publică SSH”, apoi apăsați „Continuă”. Fără cheie, apăsați „Continuă fără cheie”.\n\nCând atașați o cheie, caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)” se bifează automat: serverul va accepta conectarea SSH doar cu cheia. Debifați-o dacă vreți să păstrați și parola. Vedeți [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda).\n\n## Pasul 7. Comanda este creată\n\nDupă ultimul pas, comanda apare în „Comenzi” cu statusul „Nou” și un număr de forma `BBX-YYYY-NNNNNN` (de exemplu `BBX-2026-000123`). Primiți emailul „Am primit solicitarea dumneavoastră — BBX-…”, iar browserul deschide pagina de plată. Serverul nu se creează până nu plătiți comanda.\n\n## Pasul 8. Plătiți comanda\n\n1. Pe pagina de plată („Comandă BBX-…”, suma în MDL) bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”.\n2. Alegeți metoda:\n   - **cu cardul:** „Achitați X MDL” vă duce la Paynet, unde introduceți datele cardului. La întoarcere vedeți „Verificăm plata…”, apoi „Plata a fost efectuată!”;\n   - **din sold:** „Achitați din sold (Disponibil în sold: X MDL)”, afișat doar când soldul acoperă toată suma. Mesaj: „Achitat din sold!”.\n3. Statusul devine „În lucru” și primiți emailul „Plată confirmată — BBX-…” cu factura PDF atașată.\n\nPuteți plăti și mai târziu: „Comenzi” → „Achită comanda”. Detalii: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul), [Plata unei comenzi din sold](#plati.plata-din-sold).\n\n## Pasul 9. Primiți datele serverului\n\nServerele din planurile VPS se creează automat, de regulă în câteva minute după confirmarea plății. Primiți emailul „Serverul dvs. este gata — BBX-…”:\n\n| Cum ați comandat | Ce conține emailul |\n|---|---|\n| Fără cheie SSH sau cu cheie, dar cu parola păstrată (caseta debifată la pasul 6) | adresa IP, sistemul de operare, utilizatorul `root`, parola root și comanda de conectare |\n| Cu cheie, „doar cheie SSH” | adresa IP, sistemul de operare, comanda de conectare, amprentele cheilor și mențiunea că autentificarea cu parolă este dezactivată |\n\n- Emailul poate sosi cu aproximativ un minut înainte ca serverul să răspundă la SSH. Dacă prima conectare eșuează, mai așteptați un minut.\n- Emailul pentru serverele „doar cu cheie” amintește de o consolă VNC. Clienții nu au consolă web sau VNC: serverul se administrează prin SSH și din panou.\n- Serverele dedicate sunt pregătite manual de echipă; vă contactăm.\n\n> **Securitate**\n> Dacă parola root a venit pe email, schimbați-o după prima conectare (pasul 12) și ștergeți emailul.\n\nDetalii: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n## Pasul 10. Conectați-vă prin SSH\n\nPe macOS, Linux sau Windows 10/11 (PowerShell) rulați comanda de mai jos, cu IP-ul din email:\n\n```bash\nssh root@IP_SERVER\n```\n\nLa prima conectare confirmați amprenta serverului cu `yes`. În modul cu parolă, introduceți parola root (caracterele nu se afișează). Pe un server „doar cu cheie” se folosește cheia dvs. Detalii, inclusiv PuTTY: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Pasul 11. Găsiți serverul în panou\n\n1. „Contul meu” → „Panou de administrare” (în meniul lateral) sau „Profil” → cardul „Serviciile tale” → „Deschide panoul”. Panoul se deschide într-o filă nouă și vă autentifică automat.\n2. În meniul panoului apăsați „Serverele mele”.\n3. Pe cardul serverului vedeți „Comandă” (numărul BBX), „IP”, „Plan”, „Configurație” și butoane precum „Afișează datele de acces”, „Resetează parola”, „Repornește”, „Oprește”, „Pornește”.\n\nScurtătură: „Comenzi” → „Gestionează în app.blackbox.md” deschide „Serverele mele” și evidențiază cardul serverului comandat.\n\n> **Notă**\n> Panoul se deschide pe pagina „Prezentare generală”, care pentru majoritatea clienților afișează „Niciun server găsit. Contactați un administrator pentru a obține acces.” Este normal: serverele comandate pe blackbox.md sunt la „Serverele mele”.\n\nDetalii: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou), [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n## Pasul 12. Securizați serverul\n\n1. Actualizați sistemul. Ubuntu și Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n2. Dacă parola a venit pe email, generați una nouă cu „Resetează parola” din panou și confirmați: parola nouă apare pe cardul serverului. Dacă o schimbați cu `passwd` pe server, „Afișează datele de acces” va arăta în continuare parola veche.\n3. Adăugați cheia SSH pe server, dacă nu ați făcut-o la comandă ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)), și verificați conectarea cu ea într-un al doilea terminal. Abia apoi apăsați în panou „Dezactivează login cu parolă”.\n4. Faceți propriile copii de rezervă: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\nNu există consolă web, așa că păstrați o a doua sesiune SSH deschisă când schimbați setările SSH sau firewall-ul. Dacă rămâneți fără acces, scrieți suportului. Traficul de intrare trece și printr-un filtru de rețea administrat de BLACKBOX: dacă un port deschis pe server nu răspunde din exterior, contactați suportul. Lista completă: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n> **Dacă ceva nu merge**\n> - Plata nu trece sau comanda rămâne „Nou”: [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n> - Nu ați primit emailul „Serverul dvs. este gata”: [Serverul nu apare după plată](#faq.serverul-nu-este-gata).\n> - SSH nu răspunde sau respinge parola: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n> - Panoul nu arată serverul: [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n## Pasul 13. Publicați site-ul sau aplicația\n\nSite-ul sau aplicația le instalați dvs. pe server, prin SSH, ca `root`: panoul nu are setări pentru servere web sau aplicații. Alegeți ghidul potrivit:\n\n- domeniul să ducă la server: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu);\n- un site cu HTTPS gratuit: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt);\n- un site WordPress: [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp);\n- aplicații în containere: [Instalarea Docker și Docker Compose](#ghiduri.docker);\n- o aplicație Node.js, Python sau alt serviciu care ascultă pe un port intern: [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii);\n- un site existent, mutat de la alt furnizor: [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site).\n\n## Pasul 14. Pregătiți plata lunii următoare\n\nPlata comenzii acoperă o lună de la activarea serverului, adică de la data emailului „Serverul dvs. este gata — BBX-…”. Pentru lunile următoare:\n\n1. Factura lunară o emite echipa BLACKBOX, cu un număr de forma `BT-…`. Ea apare numai în „Contul meu” → „Facturi”: la emiterea facturii nu primiți email, așa că verificați pagina din când în când.\n2. Ca facturile să se achite singure, deschideți „Contul meu” → „Sold” și porniți comutatorul „Reîncărcare automată”. În ciuda numelui, comutatorul nu debitează cardul: achită factura din sold, de la data din coloana „Scadență”, numai dacă soldul acoperă tot totalul ei.\n3. Păstrați în sold cel puțin totalul facturii. Soldul îl alimentați cu cardul, din butonul „Alimentează soldul”: [Alimentarea soldului](#plati.alimentare-sold).\n\nUn server oprit cu „Oprește” se facturează în continuare. Facturarea se oprește doar după ce serverul este șters cu „Șterge definitiv” din panou, iar ștergerea este ireversibilă: [Ștergerea definitivă a unui server](#servere.stergere-server). Detalii despre plată: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara), [Plata automată a facturilor din sold](#plati.plata-automata).\n\n## Întrebări frecvente\n\n**Cât costă cel mai mic server?**\nPlanul Basic XS (1 vCPU, 1 GB RAM, disc de 20 GB) costă 416 MDL/lună. Toate prețurile sunt lunare, în MDL. Detalii: [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n\n**De ce se deschide pagina de autentificare a panoului în loc de servere?**\nDe regulă, emailul contului nu este confirmat. Faceți pasul 2, apoi deschideți din nou panoul din „Contul meu”.\n\n**Pot instala Windows?**\nNu prin comanda online. Windows este disponibil doar la cerere, prin suport.\n",
    "ru": "За 14 шагов вы пройдёте путь от нового аккаунта до VPS, к которому можно подключиться по SSH, а затем — до публикации сайта и оплаты следующих месяцев. Аккаунт, заказ и оплата оформляются на blackbox.md, в личном кабинете, а сам сервер находится в панели app.blackbox.md, в разделе «Мои серверы». В каждом шаге есть ссылка на подробную статью.\n\n**Доступно:** любому посетителю blackbox.md (шаг 1), далее — владельцу аккаунта.\n\n## Шаг 1. Создайте аккаунт\n\n1. Откройте `https://blackbox.md/ru/register` (или «Личный кабинет» в шапке сайта → «Зарегистрируйтесь»).\n2. Заполните «Email» и «Пароль». Пароль должен быть не короче 12 символов и включать минимум 3 из: заглавная буква, строчная буква, цифра, спецсимвол.\n3. По желанию заполните «Полное имя» и «Телефон»: имя и телефон из профиля подставляются в заказ.\n4. Отметьте «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» и нажмите «Создать аккаунт». Вход выполняется сразу.\n\nБыстрый вариант: в блоке «Регистрация через» нажмите «Google» или «GitLab». У такого аккаунта email, как правило, уже подтверждён, так что шаг 2 можно пропустить. Подробнее: [Создание аккаунта на blackbox.md](#cont.creare-cont).\n\n## Шаг 2. Подтвердите email\n\nБез подтверждённого email кнопки панели в личном кабинете открывают только страницу входа в панель, без автоматического входа. Письмо для подтверждения при регистрации само не приходит: его нужно запросить в профиле.\n\n1. «Личный кабинет» → «Профиль», раздел «Безопасность аккаунта», карточка «Подтверждение email».\n2. Нажмите «Отправить письмо для подтверждения». Появится сообщение «Письмо отправлено. Проверьте почту.»\n3. Откройте письмо «Confirmați adresa de email — BlackBox» (тема всегда на румынском) и перейдите по ссылке: она действует 24 часа и только один раз. Откроется страница на румынском с сообщением «Email confirmat!» («Email подтверждён!»), а в профиле появится отметка «Подтверждён».\n\nПодробнее: [Подтверждение адреса email](#cont.verificare-email).\n\n## Шаг 3. Добавьте SSH-ключ (рекомендуется)\n\nС SSH-ключом вы входите на сервер без пароля.\n\n1. «Личный кабинет» → «SSH-ключи».\n2. В блоке «Добавить SSH-ключ» заполните «Название ключа» и вставьте в поле «Публичный SSH-ключ» содержимое файла `.pub` (например, `~/.ssh/id_ed25519.pub`). Приватный ключ не вставляйте никогда.\n3. Нажмите «Добавить ключ».\n\nКлюча ещё нет? См. [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). Шаг можно пропустить. Если ключ не будет добавлен и при заказе (шаг 6), вы получите пароль root.\n\n## Шаг 4. Выберите тариф\n\n1. Нажмите «Тарифы VPS» в шапке сайта (`https://blackbox.md/ru/servers/plans`).\n2. Выберите один из 21 тарифа в 5 семействах: Basic, CPU, Стандарт, High-Frequency и High-Frequency Compute. Цены указаны в «MDL/мес»; отметкой «Рекомендуем» помечен Standard M.\n3. Нажмите «Заказать» на карточке тарифа. Если вы не вошли в аккаунт, сайт откроет страницу входа (на румынском), а после входа автоматически вернёт вас к заказу.\n\nКак выбрать: [Тарифы VPS: как выбрать](#comenzi.planuri-vps). [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou) и [Выделенные серверы](#comenzi.servere-dedicate) заказываются той же кнопкой «Заказать», но без шага 5.\n\n## Шаг 5. Выберите операционную систему\n\nНа шаге «Операционная система» по умолчанию выбрана «Ubuntu 24.04 LTS». Также доступны Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 и AlmaLinux 9. Нажмите «Продолжить». Подробнее: [Доступные операционные системы](#comenzi.sisteme-operare).\n\n## Шаг 6. Реквизиты и SSH-ключ (необязательно)\n\n- **«Реквизиты для счёта»:** выберите профиль (компания или физлицо), который будет указан в счёте, и нажмите «Продолжить». Если оставить вариант «Без реквизитов», кнопка называется «Продолжить без реквизитов». См. [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n- **«SSH-ключ для сервера»:** отметьте ключ в списке «Сохранённые ключи» или вставьте его в поле «Или вставьте публичный SSH-ключ», затем нажмите «Продолжить». Без ключа — «Продолжить без ключа».\n\nКак только вы добавляете ключ, флажок «Отключить вход по паролю (только SSH-ключ)» ставится автоматически: сервер будет пускать по SSH только с ключом. Снимите флажок, если хотите сохранить и вход по паролю. См. [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda).\n\n## Шаг 7. Заказ создан\n\nПосле последнего шага заказ появляется в разделе «Заказы» со статусом «Новый» и номером вида `BBX-YYYY-NNNNNN` (например, `BBX-2026-000123`). Приходит письмо «Am primit solicitarea dumneavoastră — BBX-…» (темы писем всегда на румынском), а браузер открывает страницу оплаты. Пока заказ не оплачен, сервер не создаётся.\n\n## Шаг 8. Оплатите заказ\n\nСразу после оформления заказа страница оплаты открывается на румынском. Переключите язык на RU в шапке сайта или откройте её из «Заказы» → «Оплатить заказ».\n\n1. На странице оплаты («Comandă BBX-…», сумма в MDL) отметьте «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности».\n2. Выберите способ оплаты:\n   - **картой:** кнопка «Оплатить X MDL» ведёт на страницу Paynet, где вы вводите данные карты. После возврата откроется страница на румынском: сначала «Verificăm plata…» («Проверяем платёж…»), затем «Plata a fost efectuată!» («Платёж выполнен!»);\n   - **с баланса:** кнопка «Оплатить с баланса (Доступно на балансе: X MDL)» видна, только если баланса хватает на всю сумму. Сообщение: «Оплачено с баланса!».\n3. Статус меняется на «В работе», и приходит письмо «Plată confirmată — BBX-…» с PDF-счётом во вложении.\n\nОплатить можно и позже: «Заказы» → «Оплатить заказ». Подробнее: [Оплата картой (Paynet)](#plati.plata-cu-cardul), [Оплата заказа с баланса](#plati.plata-din-sold).\n\n## Шаг 9. Получите данные сервера\n\nСерверы по тарифам VPS создаются автоматически, обычно в течение нескольких минут после подтверждения оплаты. Приходит письмо «Serverul dvs. este gata — BBX-…»:\n\n| Как вы заказывали | Что в письме |\n|---|---|\n| Без SSH-ключа или с ключом, но с сохранённым входом по паролю (флажок снят на шаге 6) | IP-адрес, операционная система, пользователь `root`, пароль root и команда для подключения |\n| С ключом, «только SSH-ключ» | IP-адрес, операционная система, команда для подключения, отпечатки ключей и пометка, что вход по паролю отключён |\n\n- Письмо может прийти примерно за минуту до того, как сервер начнёт отвечать по SSH. Если первое подключение не удалось, подождите ещё минуту.\n- В письме для серверов «только по ключу» упоминается VNC-консоль. Веб- и VNC-консоли для клиентов нет: сервером управляют по SSH и из панели.\n- Выделенные серверы команда готовит вручную; мы свяжемся с вами.\n\n> **Безопасность**\n> Если пароль root пришёл в письме, смените его после первого входа (шаг 12) и удалите письмо.\n\nПодробнее: [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n## Шаг 10. Подключитесь по SSH\n\nНа macOS, Linux или Windows 10/11 (PowerShell) выполните команду ниже, подставив IP из письма:\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\nПри первом подключении подтвердите отпечаток сервера, введя `yes`. В режиме с паролем введите пароль root (символы при вводе не отображаются). На сервере «только по ключу» используется ваш ключ. Подробнее, в том числе о PuTTY: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Шаг 11. Найдите сервер в панели\n\n1. «Личный кабинет» → «Панель управления» (в боковом меню) или «Профиль» → карточка «Ваши услуги» → «Открыть панель». Панель откроется в новой вкладке, вход выполнится автоматически.\n2. В меню панели нажмите «Мои серверы».\n3. На карточке сервера указаны «Заказ» (номер BBX), «IP», «Тариф», «Конфигурация» и, среди прочего, кнопки «Показать учётные данные», «Сбросить пароль», «Перезагрузить», «Остановить», «Запустить».\n\nКороткий путь: «Заказы» → «Управление в app.blackbox.md» открывает «Мои серверы» и выделяет карточку заказанного сервера.\n\n> **Примечание**\n> Панель открывается на странице «Обзор», которая у большинства клиентов показывает «Серверы не найдены. Обратитесь к администратору для получения доступа.» Это нормально: серверы, заказанные на blackbox.md, находятся в разделе «Мои серверы».\n\nПодробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou), [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n## Шаг 12. Защитите сервер\n\n1. Обновите систему. Ubuntu и Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n2. Если пароль пришёл в письме, получите новый кнопкой «Сбросить пароль» в панели и подтвердите действие: новый пароль появится на карточке сервера. Если сменить пароль командой `passwd` на сервере, «Показать учётные данные» продолжит показывать старый.\n3. Добавьте SSH-ключ на сервер, если не сделали этого при заказе ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)), и проверьте вход по ключу во втором терминале. Только после этого нажмите в панели «Отключить вход по паролю».\n4. Делайте резервные копии самостоятельно: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\nВеб-консоли нет, поэтому, меняя настройки SSH или файрвола, держите открытой вторую SSH-сессию. Если доступ потерян, напишите в поддержку. Входящий трафик также проходит через сетевой фильтр, которым управляет BLACKBOX: если порт, открытый на сервере, недоступен извне, обратитесь в поддержку. Полный чек-лист: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n> **Если что-то не получается**\n> - Оплата не проходит или заказ остаётся «Новый»: [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n> - Не пришло письмо «Serverul dvs. este gata»: [Сервер не появился после оплаты](#faq.serverul-nu-este-gata).\n> - SSH не отвечает или не принимает пароль: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n> - Панель не показывает сервер: [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n## Шаг 13. Опубликуйте сайт или приложение\n\nСайт или приложение вы устанавливаете на сервер сами, по SSH под `root`: в панели нет настроек для веб-серверов и приложений. Выберите подходящее руководство:\n\n- чтобы домен вёл на сервер: [Как направить домен на сервер](#domenii.indreptare-domeniu);\n- сайт с бесплатным HTTPS: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt);\n- сайт на WordPress: [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp);\n- приложения в контейнерах: [Установка Docker и Docker Compose](#ghiduri.docker);\n- приложение на Node.js, Python или другой сервис, который слушает внутренний порт: [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii);\n- существующий сайт, который переезжает от другого провайдера: [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site).\n\n## Шаг 14. Подготовьте оплату следующего месяца\n\nОплата заказа покрывает один месяц с момента активации сервера, то есть с даты письма «Serverul dvs. este gata — BBX-…». Дальше:\n\n1. Ежемесячный счёт выставляет команда BLACKBOX, его номер имеет вид `BT-…`. Счёт появляется только в разделе «Личный кабинет» → «Счета»: письма о выставлении счёта не приходит, поэтому время от времени заглядывайте на эту страницу.\n2. Чтобы счета оплачивались сами, откройте «Личный кабинет» → «Баланс» и включите переключатель «Автоматическое пополнение». Несмотря на название, он не списывает деньги с карты: он оплачивает счёт с баланса начиная с даты в колонке «Срок оплаты» и только если баланса хватает на всю сумму счёта.\n3. Держите на балансе не меньше суммы счёта. Баланс пополняется картой, кнопкой «Пополнить баланс»: [Пополнение баланса](#plati.alimentare-sold).\n\nСервер, выключенный кнопкой «Остановить», продолжает оплачиваться. Счета перестают выставляться только после того, как сервер удалён кнопкой «Удалить» в панели, а удаление необратимо: [Безвозвратное удаление сервера](#servere.stergere-server). Подробнее об оплате: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara), [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n\n## Частые вопросы\n\n**Сколько стоит самый недорогой сервер?**\nТариф Basic XS (1 vCPU, 1 GB RAM, диск 20 GB) стоит 416 MDL/мес. Все цены — помесячные, в MDL. Подробнее: [Цены, валюта и период оплаты](#comenzi.preturi).\n\n**Почему вместо серверов открывается страница входа в панель?**\nОбычно это значит, что email аккаунта не подтверждён. Выполните шаг 2 и снова откройте панель из личного кабинета.\n\n**Можно ли установить Windows?**\nЧерез онлайн-заказ — нет. Windows доступна только по запросу через поддержку.\n",
    "en": "In 14 steps, this guide takes you from a new account to a VPS you can connect to over SSH, then on to publishing your website and paying for the following months. You create your account, place the order and pay on blackbox.md, in “Contul meu” (My account); you find the server in the app.blackbox.md panel, under “My Servers”. Each step links to the article with the details.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** any visitor to blackbox.md (step 1), then the account holder.\n\n## Step 1. Create your account\n\n1. Open `https://blackbox.md/register` (or “Cont client” (Customer account) in the site header → “Înregistrați-vă” (Sign up)).\n2. Fill in “Email” and “Parolă” (Password). The password must be at least 12 characters long and include at least 3 of the following: an uppercase letter, a lowercase letter, a digit, a special character.\n3. Optionally, fill in “Nume complet” (Full name) and “Telefon” (Phone): your order takes the name and phone number from your profile.\n4. Tick “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy) and click “Creare cont” (Create account). You are signed in right away.\n\nThe quick option: in the “Înregistrare cu” (Sign up with) block, click “Google” or “GitLab”. An account created this way usually has its email already confirmed, so you can skip step 2. Details: [Creating an account on blackbox.md](#cont.creare-cont).\n\n## Step 2. Confirm your email address\n\nUntil your email is confirmed, the buttons in your account only open the panel's sign-in page, with no automatic sign-in. The confirmation email is not sent automatically when you sign up: you request it from your profile.\n\n1. “Contul meu” (My account) → “Profil” (Profile), section “Securitatea contului” (Account security), card “Verificarea emailului” (Email verification).\n2. Click “Trimite emailul de verificare” (Send verification email). Message: “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.)\n3. Open the email “Confirmați adresa de email — BlackBox” (Confirm your email address — BlackBox) and follow the link (valid for 24 hours, single use). The page shows “Email confirmat!” (Email confirmed!), and your profile shows “Verificat” (Verified).\n\nDetails: [Verifying your email address](#cont.verificare-email).\n\n## Step 3. Add your SSH key (recommended)\n\nWith an SSH key, you connect to the server without a password.\n\n1. “Contul meu” (My account) → “Chei SSH” (SSH keys).\n2. Under “Adaugă o cheie SSH” (Add an SSH key), fill in “Nume cheie” (Key name) and paste the contents of your `.pub` file (for example `~/.ssh/id_ed25519.pub`) into “Cheie publică SSH” (Public SSH key). Never paste your private key.\n3. Click “Adaugă cheia” (Add key).\n\nDon't have a key? See [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). You can skip this step: if you don't attach a key when you order either (step 6), you get a root password.\n\n## Step 4. Choose a plan\n\n1. Click “Planuri VPS” (VPS plans) in the site header (`https://blackbox.md/servers/plans`).\n2. Choose one of the 21 plans in 5 families: Basic, CPU, Standard, High-Frequency and High-Frequency Compute. Prices are shown in “MDL/lună” (MDL/month); the plan marked “Recomandat” (Recommended) is Standard M.\n3. Click “Comandă” (Order) on the plan card. If you are not signed in, you return to the order automatically after you sign in.\n\nHow to choose: [VPS plans: how to choose](#comenzi.planuri-vps). [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou) and [Dedicated servers](#comenzi.servere-dedicate) are also ordered with “Comandă”, but without step 5.\n\n## Step 5. Choose the operating system\n\nIn the “Sistem de operare” (Operating system) step, “Ubuntu 24.04 LTS” is selected by default. You can also choose Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 or AlmaLinux 9. Click “Continuă” (Continue). Details: [Available operating systems](#comenzi.sisteme-operare).\n\n## Step 6. Billing details and SSH key (optional)\n\n- **“Date de facturare” (Billing details):** choose the profile (company or individual) that will appear on the invoice and click “Continuă” (Continue). If you leave “Fără date de facturare” (No billing details) selected, the button is called “Continuă fără date de facturare” (Continue without billing details). See [Billing details for companies and individuals](#plati.date-facturare).\n- **“Cheie SSH pentru server” (SSH key for the server):** tick a key under “Chei salvate” (Saved keys) or paste one into “Sau lipiți o cheie publică SSH” (Or paste a public SSH key), then click “Continuă”. To go on without a key, click “Continuă fără cheie” (Continue without a key).\n\nWhen you attach a key, the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box is ticked automatically: the server will accept SSH logins only with the key. Untick it if you want to keep the password as well. See [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda).\n\n## Step 7. Your order is created\n\nAfter the last step, the order appears in “Comenzi” (Orders) with the status “Nou” (New) and a number in the form `BBX-YYYY-NNNNNN` (for example `BBX-2026-000123`). You receive the email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…), and your browser opens the payment page. The server is not created until you pay for the order.\n\n## Step 8. Pay for the order\n\n1. On the payment page (“Comandă BBX-…” (Order BBX-…), with the amount in MDL), tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy).\n2. Choose how to pay:\n   - **by card:** “Achitați X MDL” (Pay X MDL) takes you to Paynet, where you enter your card details. When you come back, you see “Verificăm plata…” (Checking your payment…), then “Plata a fost efectuată!” (Payment completed!);\n   - **from your balance:** “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)), shown only when your balance covers the full amount. Message: “Achitat din sold!” (Paid from balance!).\n3. The status changes to “În lucru” (In progress) and you receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) with the PDF invoice attached.\n\nYou can also pay later: “Comenzi” (Orders) → “Achită comanda” (Pay for the order). Details: [Paying by card (Paynet)](#plati.plata-cu-cardul), [Paying for an order from your balance](#plati.plata-din-sold).\n\n## Step 9. Get your server details\n\nServers on VPS plans are created automatically, usually within a few minutes after the payment is confirmed. You receive the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…):\n\n| How you ordered | What the email contains |\n|---|---|\n| Without an SSH key, or with a key but with the password kept (box unticked in step 6) | the IP address, the operating system, the user `root`, the root password and the connection command |\n| With a key, “doar cheie SSH” (SSH key only) | the IP address, the operating system, the connection command, the key fingerprints and a note that password authentication is disabled |\n\n- The email may arrive about a minute before the server responds over SSH. If your first connection attempt fails, wait another minute.\n- The email for “key-only” servers mentions a VNC console. Customers have no web or VNC console: you manage the server over SSH and from the panel.\n- Dedicated servers are prepared manually by our team; we will contact you.\n\n> **Security**\n> If your root password came by email, change it after you first log in (step 12) and delete the email.\n\nDetails: [After payment: server activation and emails](#comenzi.dupa-plata).\n\n## Step 10. Connect over SSH\n\nOn macOS, Linux or Windows 10/11 (PowerShell), run the command below with the IP address from the email:\n\n```bash\nssh root@SERVER_IP\n```\n\nThe first time you connect, confirm the server's fingerprint by typing `yes`. In password mode, enter the root password (the characters are not shown as you type). On a “key-only” server, your key is used. Details, including PuTTY: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Step 11. Find your server in the panel\n\n1. “Contul meu” (My account) → “Panou de administrare” (Admin panel) (in the side menu), or “Profil” (Profile) → the “Serviciile tale” (Your services) card → “Deschide panoul” (Open the panel). The panel opens in a new tab and signs you in automatically.\n2. In the panel menu, click “My Servers”.\n3. The server card shows “Order” (the BBX number), “IP”, “Plan”, “Spec” and buttons such as “Reveal credentials”, “Reset password”, “Reboot”, “Stop”, “Start”.\n\nShortcut: “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) opens “My Servers” and highlights the card of the server you ordered.\n\n> **Note**\n> The panel opens on the “Overview” page, which for most customers shows “No servers found. Contact an administrator to get access.” This is normal: servers ordered on blackbox.md are under “My Servers”.\n\nDetails: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou), [The “My Servers” page: the server card](#servere.serverele-mele).\n\n## Step 12. Secure your server\n\n1. Update the system. Ubuntu and Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n2. If your password came by email, generate a new one with “Reset password” in the panel and confirm: the new password appears on the server card. If you change it with `passwd` on the server, “Reveal credentials” will keep showing the old password.\n3. Add your SSH key to the server if you didn't do it when you ordered ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)), and check that you can log in with it from a second terminal. Only then click “Disable password login” in the panel.\n4. Make your own backups: [Backup strategy for your server](#ghiduri.strategie-backup).\n\nThere is no web console, so keep a second SSH session open while you change SSH or firewall settings. If you lose access, write to support. Inbound traffic also passes through a network filter managed by BLACKBOX: if a port that is open on your server does not respond from outside, contact support. The full checklist: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n> **If something goes wrong**\n> - The payment does not go through or the order stays “Nou” (New): [The payment failed or the status did not update](#faq.plata-nereusita).\n> - You did not receive the “Serverul dvs. este gata” (Your server is ready) email: [The server does not appear after payment](#faq.serverul-nu-este-gata).\n> - SSH does not respond or rejects your password: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n> - The panel does not show your server: [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n## Step 13. Publish your website or app\n\nYou install the website or app on the server yourself, over SSH, as `root`: the panel has no settings for web servers or applications. Pick the guide that fits:\n\n- to point your domain to the server: [How to point your domain to the server](#domenii.indreptare-domeniu);\n- a website with free HTTPS: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt);\n- a WordPress site: [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp);\n- apps in containers: [Installing Docker and Docker Compose](#ghiduri.docker);\n- a Node.js or Python app, or another service that listens on an internal port: [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii);\n- an existing website you are moving from another provider: [Moving a site to a BLACKBOX server](#ghiduri.migrare-site).\n\n## Step 14. Get ready to pay for the next month\n\nPaying for the order covers one month from server activation, that is, from the date of the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…). For the following months:\n\n1. The BLACKBOX team issues the monthly invoice, with a number in the form `BT-…`. It appears only in “Contul meu” (My account) → “Facturi” (Invoices): you get no email when the invoice is issued, so check that page from time to time.\n2. To have invoices paid automatically, open “Contul meu” → “Sold” (Balance) and turn on the “Reîncărcare automată” (Automatic top-up) switch. Despite its name, the switch does not charge your card: it pays the invoice from your balance, starting on the date in the “Scadență” (Due date) column, and only if your balance covers the invoice's full total.\n3. Keep at least the invoice total in your balance. You top up your balance by card, with the “Alimentează soldul” (Top up balance) button: [Topping up your balance](#plati.alimentare-sold).\n\nA server stopped with “Stop” is still billed. Billing stops only after the server is deleted (terminated) with “Terminate” in the panel, and deletion is irreversible: [Permanently deleting a server](#servere.stergere-server). More about payment: [Monthly renewal and paying on time](#plati.reinnoire-lunara), [Automatic payment of invoices from your balance](#plati.plata-automata).\n\n## Frequently asked questions\n\n**How much does the smallest server cost?**\nThe Basic XS plan (1 vCPU, 1 GB RAM, 20 GB disk) costs 416 MDL/month. All prices are monthly, in MDL. Details: [Prices, currency and billing period](#comenzi.preturi).\n\n**Why does the panel's sign-in page open instead of my servers?**\nUsually, your account email is not confirmed. Complete step 2, then open the panel again from “Contul meu” (My account).\n\n**Can I install Windows?**\nNot through the online order. Windows is available only on request, through support.\n"
   }
  },
  {
   "id": "cont.creare-cont",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/creare-cont/",
    "ru": "https://docs.blackbox.md/ru/cont/creare-cont/",
    "en": "https://docs.blackbox.md/en/cont/creare-cont/"
   },
   "title": {
    "ro": "Crearea contului pe blackbox.md",
    "ru": "Создание аккаунта на blackbox.md",
    "en": "Creating an account on blackbox.md"
   },
   "summary": {
    "ro": "Formularul de înregistrare, regulile pentru parolă, acordul cu termenii, înregistrarea cu Google sau GitLab și acceptarea unei invitații.",
    "ru": "Форма регистрации, требования к паролю, согласие с условиями, регистрация через Google или GitLab и принятие приглашения.",
    "en": "The sign-up form, password rules, agreeing to the terms, signing up with Google or GitLab, and accepting an invitation."
   },
   "markdown": {
    "ro": "Pe pagina „Creare cont” (`blackbox.md/register`, în rusă `blackbox.md/ru/register`) vă creați contul cu care comandați servere, plătiți și deschideți panoul app.blackbox.md. Ajungeți la ea din antetul site-ului: „Cont client” → „Înregistrați-vă”.\n\n**Disponibil pentru:** orice vizitator al blackbox.md. Secțiunea „Ați primit o invitație?” se adresează persoanelor invitate de echipa BLACKBOX.\n\n## Cum creați contul cu email și parolă\n\n1. Apăsați „Cont client” în antetul site-ului (pe telefon, pictograma rotundă cu silueta de utilizator). Se deschide pagina „Autentificare”.\n2. Sub formular, la „Nu aveți cont?”, apăsați „Înregistrați-vă”.\n3. Completați „Email*” (exemplul din câmp: `ion@companie.md`).\n4. Completați „Parolă*”. Sub câmp este indicația „Minim 12 caractere, 3 clase de caractere.”\n5. Opțional, completați „Nume complet” și „Telefon”.\n6. Bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)”.\n7. Apăsați „Creare cont”. Cât timp cererea este procesată, butonul afișează „Se înregistrează…”.\n\nContul este creat și sunteți autentificat imediat. Se deschide pagina „Profilul meu” (`blackbox.md/account`).\n\n### Înregistrarea în timpul unei comenzi\n\nDacă apăsați „Comandă” pe un plan fără să fiți autentificat, site-ul vă trimite mai întâi la pagina „Autentificare”. Linkul „Înregistrați-vă” de acolo păstrează comanda începută: după „Creare cont” reveniți automat la pagina comenzii. Pașii următori: [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n\n### Câmpurile formularului\n\n| Câmp | Obligatoriu | Ce introduceți |\n|---|---|---|\n| „Email*” | da | Adresa la care primiți emailurile BLACKBOX. O adresă poate avea un singur cont. |\n| „Parolă*” | da | Cel puțin 12 caractere, din cel puțin 3 clase (vezi mai jos). |\n| „Nume complet” | nu | Numele dvs., cel mult 120 de caractere (exemplul din câmp: „Ion Popescu”). |\n| „Telefon” | nu | Un număr de contact, cel mult 40 de caractere (exemplul din câmp: „+373 XX XXX XXX”). |\n\nNumele și telefonul le puteți completa sau corecta oricând: [Profilul meu: nume, telefon și email](#cont.profil). Adresa de email nu se poate schimba din cont, așa că alegeți una pe care o veți folosi mult timp.\n\n## Regulile pentru parolă\n\nParola trebuie să aibă **cel puțin 12 caractere** și să conțină caractere din **cel puțin 3 din aceste 4 clase**:\n\n| Clasă | Ce intră în ea |\n|---|---|\n| Litere mari | `A`–`Z`, doar alfabetul latin |\n| Litere mici | `a`–`z`, doar alfabetul latin |\n| Cifre | `0`–`9` |\n| Caractere speciale | orice alt caracter: `!`, `#`, `-`, spațiul; tot aici intră literele cu diacritice (ă, ș, ț) și literele chirilice |\n\nDe exemplu, o parolă doar din litere chirilice și cifre are 2 clase și este respinsă. Nu folosiți aceeași parolă și pe alte site-uri. Alte recomandări: [Recomandări de securitate pentru contul dvs.](#cont.securitate-cont)\n\n## Acordul cu termenii\n\nCaseta de acord este obligatorie: butonul „Creare cont” rămâne inactiv până o bifați. Linkurile „Termenii și Condițiile” și „Politica de Confidențialitate” din textul casetei deschid documentele într-o filă nouă, așa că formularul completat nu se pierde. `v2026-09-03` este versiunea Termenilor pe care o acceptați. Pe scurt: [Termenii și condițiile pe scurt](#legal.termeni-esentiali) și [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n\n## Înregistrarea cu Google sau GitLab\n\nDeasupra formularului, sub „Înregistrare cu”, sunt butoanele „GitLab” și „Google”. Sub ele scrie: „Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” Aici nu există casetă de bifat: apăsarea butonului înseamnă acordul dvs.\n\n1. Apăsați „GitLab” sau „Google”.\n2. Autentificați-vă la furnizor și permiteți accesul.\n3. Reveniți pe blackbox.md deja autentificat, în cont sau la comanda începută.\n\nContul primește adresa de email a contului Google sau GitLab, deja confirmată, și nu are parolă: intrați de fiecare dată cu același buton. Dacă aveți deja un cont blackbox.md pe aceeași adresă și adresa este confirmată, butonul vă autentifică în el. Detalii și erori: [Autentificarea cu Google sau GitLab](#cont.google-gitlab).\n\n## Ce se întâmplă după înregistrare\n\n- Pe „Profilul meu”, adresa de email are insigna „Neverificat”.\n- Textul emailurilor despre cont și comenzi este în rusă dacă ați completat formularul în versiunea rusă a site-ului (adresa începe cu `blackbox.md/ru/`); altfel, în română. Unele emailuri vin doar în română sau doar în engleză.\n- Pagina „Autentificare” la care vă trimite „Comandă” și pagina profilului deschisă după înregistrare apar în versiunea română. Comutați limba din antet („RO / RU”); comanda începută se păstrează. Detalii: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n> **Important**\n> La înregistrare nu se trimite automat niciun email de confirmare. Deschideți „Contul meu” → „Profil”, secțiunea „Securitatea contului”, și în blocul „Verificarea emailului” apăsați „Trimite emailul de verificare”. Fără adresă confirmată nu puteți intra în panoul app.blackbox.md direct din cont. Conturile create cu Google sau GitLab sunt deja confirmate.\n\n## Mesaje de eroare la înregistrare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Acest email este deja înregistrat. Încercați să vă autentificați.” | Există deja un cont cu această adresă (creat cu parolă, cu Google sau GitLab ori prin invitație). | Autentificați-vă: [Autentificarea pe blackbox.md și deconectarea](#cont.autentificare). Dacă nu știți parola: [Ați uitat parola contului](#cont.parola-uitata). |\n| „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” | De pe adresa dvs. IP s-au făcut 5 încercări de înregistrare în 10 minute. Se numără și încercările respinse, de exemplu cele cu parolă prea slabă sau cu un email deja înregistrat. | Așteptați până la 10 minute. Încercările făcute în timpul blocării nu prelungesc așteptarea. |\n| „Parola trebuie să aibă minimum 12 caractere.” | Parola este prea scurtă. | Alegeți o parolă de cel puțin 12 caractere. |\n| „Parola trebuie să includă cel puțin 3 din: literă mare, literă mică, cifră, caracter special.” | Parola folosește mai puțin de 3 clase. | Adăugați caractere din clasele lipsă (tabelul de mai sus). |\n| „Vă rugăm acceptați termenii și condițiile și politica de confidențialitate.” | Acordul dvs. nu a ajuns la server. | Reîncărcați pagina, bifați caseta și reîncercați. |\n| „Eroare la înregistrare.” | Eroare neprevăzută. | Reîncercați peste câteva minute. Dacă se repetă: [Cum contactați suportul BLACKBOX](#suport.contact). |\n| Un mesaj în engleză, de exemplu „value is not a valid email address: …” | Serverul a respins formatul adresei sau lungimea unui câmp. | Verificați adresa de email; numele are cel mult 120 de caractere, telefonul cel mult 40. |\n\n## Ați primit o invitație?\n\nEchipa BLACKBOX poate crea un cont pentru o persoană de contact, de exemplu un coleg din compania dvs., și îi trimite o invitație pe email. Clienții nu pot invita singuri alți utilizatori: pentru un coleg, scrieți suportului ([Cum contactați suportul BLACKBOX](#suport.contact)).\n\nEmailul are subiectul „You've been invited to BlackBox” și butonul „Reset my password”. Linkul duce la `blackbox.md/set-password`, este valabil **7 zile** și poate fi folosit **o singură dată**.\n\n> **Ecran în limba engleză**\n> Emailul de invitație este doar în engleză și folosește textul standard de resetare a parolei. Linkul din el rămâne valabil 7 zile de la trimitere.\n\n1. Apăsați „Reset my password” în email. Se deschide pagina „Setați o parolă” (în română; pentru rusă, apăsați „RU” în antet).\n2. Completați „Parolă nouă” după aceleași reguli ca la înregistrare.\n3. Apăsați „Setare parolă”. Apare mesajul „Parolă setată! Acum vă puteți autentifica în cont.”\n4. Apăsați „Autentificare” și intrați cu adresa la care ați primit invitația și parola nouă.\n\nAdresa unui cont creat prin invitație este deja confirmată.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Linkul este invalid sau a expirat.” | Au trecut mai mult de 7 zile, linkul a fost deja folosit sau nu a fost copiat complet. | Dacă ați setat deja parola, autentificați-vă. Altfel, dacă adresa invitată este și adresa unui cont Google sau GitLab, intrați cu acel buton; dacă nu, scrieți suportului. |\n| „Această invitație a fost deja folosită.” | Contul are deja o parolă. | Autentificați-vă cu ea. Dacă nu o știți: [Ați uitat parola contului](#cont.parola-uitata). |\n| Mesajele despre lungimea sau clasele parolei | Parola nu respectă regulile. | Alegeți altă parolă: o parolă respinsă nu consumă linkul. |\n| „Link invalid” („Linkul nu conține un cod de invitație.”) | Adresa deschisă nu conține codul invitației. | Deschideți din nou linkul din email, complet. |\n| „Nu s-a putut seta parola.” | Eroare neprevăzută. | Reîncercați mai târziu sau scrieți suportului. |\n\n## Întrebări frecvente\n\n**Pot avea două conturi pe aceeași adresă de email?**\nNu. Fiecare adresă are un singur cont, indiferent dacă a fost creat cu parolă, cu Google sau GitLab ori prin invitație.\n\n**Am creat contul cu Google sau GitLab. Pot seta și o parolă?**\nNu, din cont nu se poate adăuga o parolă. Vă autentificați de fiecare dată cu butonul folosit la înregistrare.\n\n**Unde completez datele firmei pentru facturi?**\nNu în formularul de înregistrare. După autentificare, deschideți „Date de facturare”: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n> **Sfat**\n> După crearea contului, confirmați adresa de email ([Verificarea adresei de email](#cont.verificare-email)) și adăugați o cheie SSH ([Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont)), ca s-o puteți alege la comandă. Drumul complet: [De la înregistrare la un server funcțional](#start.ghid-rapid).\n",
    "ru": "На странице «Создание аккаунта» (`blackbox.md/ru/register`, румынская версия — `blackbox.md/register`) создаётся аккаунт, через который вы заказываете серверы, оплачиваете услуги и открываете панель app.blackbox.md. Путь из шапки сайта: «Личный кабинет» → «Зарегистрируйтесь».\n\n**Доступно:** любому посетителю blackbox.md. Раздел «Получили приглашение?» — для тех, кого пригласила команда BLACKBOX.\n\n## Как создать аккаунт по email и паролю\n\n1. Нажмите «Личный кабинет» в шапке сайта (на телефоне — круглый значок с силуэтом человека). Откроется страница «Вход».\n2. Под формой, рядом с «Нет аккаунта?», нажмите «Зарегистрируйтесь».\n3. Заполните «Email*» (пример в поле: `ion@companie.md`).\n4. Заполните «Пароль*». Под полем подсказка: «Минимум 12 символов, 3 класса символов.»\n5. При желании заполните «Полное имя» и «Телефон».\n6. Отметьте флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности (v2026-09-03)».\n7. Нажмите «Создать аккаунт». Пока запрос обрабатывается, на кнопке написано «Регистрация…».\n\nАккаунт создаётся, и вход в него выполняется сразу. Откроется страница «Мой профиль» (`blackbox.md/account`).\n\n### Регистрация во время заказа\n\nЕсли нажать «Заказать» на карточке тарифа, не войдя в аккаунт, сайт сначала откроет страницу «Вход». Ссылка «Зарегистрируйтесь» на ней сохраняет начатый заказ: после «Создать аккаунт» вы автоматически вернётесь на страницу заказа. Дальнейшие шаги: [Оформление заказа по шагам](#comenzi.plasare-comanda).\n\n### Поля формы\n\n| Поле | Обязательное | Что указать |\n|---|---|---|\n| «Email*» | да | Адрес, на который будут приходить письма BLACKBOX. На один адрес — один аккаунт. |\n| «Пароль*» | да | Не короче 12 символов, минимум 3 класса символов (см. ниже). |\n| «Полное имя» | нет | Ваше имя, не более 120 символов (пример в поле: «Ion Popescu»). |\n| «Телефон» | нет | Контактный номер, не более 40 символов (пример в поле: «+373 XX XXX XXX»). |\n\nИмя и телефон можно добавить или исправить в любой момент: [Мой профиль: имя, телефон и email](#cont.profil). Email в личном кабинете изменить нельзя, поэтому укажите адрес, которым будете пользоваться долго.\n\n## Требования к паролю\n\nПароль должен быть **не короче 12 символов** и содержать символы **минимум трёх из четырёх классов**:\n\n| Класс | Что к нему относится |\n|---|---|\n| Заглавные буквы | `A`–`Z`, только латиница |\n| Строчные буквы | `a`–`z`, только латиница |\n| Цифры | `0`–`9` |\n| Спецсимволы | любой другой символ: `!`, `#`, `-`, пробел; сюда же относятся кириллица и буквы с диакритикой (ă, ș, ț) |\n\nНапример, пароль только из кириллицы и цифр засчитывается как два класса и будет отклонён. Не используйте этот пароль на других сайтах. Другие советы: [Рекомендации по безопасности аккаунта](#cont.securitate-cont).\n\n## Согласие с условиями\n\nФлажок согласия обязателен: кнопка «Создать аккаунт» неактивна, пока он не отмечен. Ссылки в тексте флажка открывают Условия использования и Политику конфиденциальности в новой вкладке, так что заполненная форма не пропадёт. `v2026-09-03` — версия Условий, которую вы принимаете. Кратко о документах: [Условия использования: кратко](#legal.termeni-esentiali) и [Политика конфиденциальности: кратко](#legal.confidentialitate).\n\n## Регистрация через Google или GitLab\n\nНад формой, под надписью «Регистрация через», есть кнопки «GitLab» и «Google». Под ними написано: «Продолжая, вы принимаете Условия использования и Политику конфиденциальности.» Флажка здесь нет: нажимая кнопку, вы даёте согласие.\n\n1. Нажмите «GitLab» или «Google».\n2. Войдите в аккаунт у провайдера и разрешите доступ.\n3. Вы вернётесь на blackbox.md уже авторизованным — в личный кабинет или к начатому заказу.\n\nНовый аккаунт получает email вашего аккаунта Google или GitLab, уже подтверждённый. Пароля у такого аккаунта нет: входите каждый раз той же кнопкой. Если на blackbox.md уже есть аккаунт с этим email и адрес в нём подтверждён, кнопка выполнит вход в него. Подробности и ошибки: [Вход через Google или GitLab](#cont.google-gitlab).\n\n## Что происходит после регистрации\n\n- На странице «Мой профиль» рядом с email стоит отметка «Не подтверждён».\n- Текст писем об аккаунте и заказах будет на русском, если вы заполняли форму в русской версии сайта (адрес начинается с `blackbox.md/ru/`); иначе — на румынском. Некоторые письма приходят только на румынском или только на английском.\n- Страница «Вход», на которую ведёт кнопка «Заказать», и страница профиля, открывающаяся после регистрации, показываются в румынской версии сайта. Переключите язык в шапке («RO / RU»); начатый заказ при этом сохранится. Подробнее: [Язык сайта, панели и писем](#cont.limba).\n\n> **Важно**\n> При регистрации письмо для подтверждения автоматически не отправляется. Откройте «Мой аккаунт» → «Профиль», раздел «Безопасность аккаунта», и в блоке «Подтверждение email» нажмите «Отправить письмо для подтверждения». Без подтверждённого адреса вы не сможете войти в панель app.blackbox.md прямо из личного кабинета. Аккаунты, созданные через Google или GitLab, уже подтверждены.\n\n## Ошибки при регистрации\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Этот email уже зарегистрирован. Попробуйте войти.» | Аккаунт с этим адресом уже есть (создан с паролем, через Google или GitLab либо по приглашению). | Войдите: [Вход на blackbox.md и выход](#cont.autentificare). Если не помните пароль: [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| «Слишком много попыток. Пожалуйста, повторите через несколько минут.» | С вашего IP-адреса было 5 попыток регистрации за 10 минут. Отклонённые попытки тоже считаются — например, со слишком простым паролем или с уже зарегистрированным email. | Подождите до 10 минут. Попытки во время блокировки ожидание не продлевают. |\n| «Пароль должен содержать минимум 12 символов.» | Пароль слишком короткий. | Придумайте пароль длиной от 12 символов. |\n| «Пароль должен включать минимум 3 из: заглавная буква, строчная буква, цифра, спецсимвол.» | В пароле меньше трёх классов символов. | Добавьте символы недостающих классов (см. таблицу выше). |\n| «Пожалуйста, примите условия использования и политику конфиденциальности.» | Ваше согласие не дошло до сервера. | Обновите страницу, отметьте флажок и повторите. |\n| «Ошибка при регистрации.» | Непредвиденная ошибка. | Повторите через несколько минут. Если не помогает: [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n| Сообщение на английском, например «value is not a valid email address: …» | Сервер не принял формат email или длину одного из полей. | Проверьте адрес; имя — не более 120 символов, телефон — не более 40. |\n\n## Получили приглашение?\n\nКоманда BLACKBOX может создать аккаунт для контактного лица — например, вашего коллеги — и отправить ему приглашение по email. Клиенты не могут сами приглашать других пользователей: чтобы добавить коллегу, напишите в поддержку ([Как связаться с поддержкой BLACKBOX](#suport.contact)).\n\nТема письма — «You've been invited to BlackBox», кнопка в нём — «Reset my password». Ссылка ведёт на `blackbox.md/set-password`, действует **7 дней** и срабатывает **только один раз**.\n\n> **Экран на английском**\n> Письмо-приглашение приходит только на английском, в нём стандартный текст для сброса пароля. Ссылка в нём действует 7 дней с момента отправки.\n\n1. Нажмите «Reset my password» в письме. Откроется страница «Установите пароль» на румынском; чтобы перейти на русский, нажмите «RU» в шапке сайта.\n2. Заполните «Новый пароль» по тем же правилам, что и при регистрации.\n3. Нажмите «Установить пароль». Появится сообщение «Пароль установлен! Теперь вы можете войти в свой аккаунт.»\n4. Нажмите «Войти» и войдите с адресом, на который пришло приглашение, и новым паролем.\n\nEmail аккаунта, созданного по приглашению, уже подтверждён.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Ссылка недействительна или срок её действия истёк.» | Прошло больше 7 дней, ссылка уже использована или скопирована не полностью. | Если пароль уже установлен, просто войдите. Если нет и приглашённый адрес совпадает с email вашего аккаунта Google или GitLab — войдите этой кнопкой; иначе напишите в поддержку. |\n| «Это приглашение уже было использовано.» | У аккаунта уже есть пароль. | Войдите с ним. Если не помните пароль: [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| Сообщения о длине или классах символов пароля | Пароль не соответствует требованиям. | Придумайте другой пароль: отклонённый пароль не расходует ссылку. |\n| «Ссылка недействительна» («В ссылке отсутствует код приглашения.») | В открытом адресе нет кода приглашения. | Откройте ссылку из письма ещё раз, целиком. |\n| «Не удалось установить пароль.» | Непредвиденная ошибка. | Повторите позже или напишите в поддержку. |\n\n## Частые вопросы\n\n**Можно ли завести два аккаунта на один email?**\nНет. На каждый адрес — один аккаунт, независимо от того, создан он с паролем, через Google или GitLab либо по приглашению.\n\n**Аккаунт создан через Google или GitLab. Можно ли задать для него пароль?**\nНет, добавить пароль в личном кабинете нельзя. Входите каждый раз той же кнопкой, что и при регистрации.\n\n**Где указать реквизиты компании для счетов?**\nНе в форме регистрации. После входа откройте раздел «Реквизиты»: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n> **Совет**\n> После регистрации подтвердите email ([Подтверждение адреса email](#cont.verificare-email)) и добавьте SSH-ключ ([SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont)), чтобы выбрать его при заказе. Весь путь по шагам: [От регистрации до работающего сервера](#start.ghid-rapid).\n",
    "en": "On the “Creare cont” (Create account) page (`blackbox.md/register`; Russian version: `blackbox.md/ru/register`) you create the account you use to order servers, make payments and open the app.blackbox.md panel. To get there from the site header: “Cont client” (Customer account) → “Înregistrați-vă” (Sign up).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** any visitor to blackbox.md. The “Received an invitation?” section is for people invited by the BLACKBOX team.\n\n## How to create an account with email and password\n\n1. Click “Cont client” (Customer account) in the site header (on a phone, the round icon with a user silhouette). The “Autentificare” (Sign in) page opens.\n2. Below the form, next to “Nu aveți cont?” (Don't have an account?), click “Înregistrați-vă” (Sign up).\n3. Fill in “Email*” (the example in the field: `ion@companie.md`).\n4. Fill in “Parolă*” (Password). The hint below the field reads “Minim 12 caractere, 3 clase de caractere.” (At least 12 characters, 3 character classes.)\n5. Optionally, fill in “Nume complet” (Full name) and “Telefon” (Phone).\n6. Tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)” (I have read and accept the Terms and Conditions and the Privacy Policy).\n7. Click “Creare cont” (Create account). While the request is being processed, the button shows “Se înregistrează…” (Signing up…).\n\nYour account is created and you are signed in right away. The “Profilul meu” (My profile) page opens (`blackbox.md/account`).\n\n### Signing up while placing an order\n\nIf you click “Comandă” (Order) on a plan without being signed in, the site first sends you to the “Autentificare” page. The “Înregistrați-vă” link on that page keeps the order you started: after “Creare cont” you are taken back to the order page automatically. Next steps: [Placing an order step by step](#comenzi.plasare-comanda).\n\n### Form fields\n\n| Field | Required | What to enter |\n|---|---|---|\n| “Email*” | yes | The address where you receive BLACKBOX emails. One address can have only one account. |\n| “Parolă*” | yes | At least 12 characters, from at least 3 classes (see below). |\n| “Nume complet” | no | Your name, up to 120 characters (the example in the field: “Ion Popescu”). |\n| “Telefon” | no | A contact number, up to 40 characters (the example in the field: “+373 XX XXX XXX”). |\n\nYou can add or correct your name and phone number at any time: [My profile: name, phone number and email](#cont.profil). The email address cannot be changed from your account, so choose one you will keep using for a long time.\n\n## Password rules\n\nYour password must be **at least 12 characters** long and contain characters from **at least 3 of these 4 classes**:\n\n| Class | What it includes |\n|---|---|\n| Uppercase letters | `A`–`Z`, Latin alphabet only |\n| Lowercase letters | `a`–`z`, Latin alphabet only |\n| Digits | `0`–`9` |\n| Special characters | any other character: `!`, `#`, `-`, the space; letters with diacritics (ă, ș, ț) and Cyrillic letters also count here |\n\nFor example, a password made only of Cyrillic letters and digits has 2 classes and is rejected. Do not reuse the same password on other websites. More tips: [Security recommendations for your account](#cont.securitate-cont).\n\n## Agreeing to the terms\n\nThe consent box is required: the “Creare cont” (Create account) button stays inactive until you tick it. The “Termenii și Condițiile” (Terms and Conditions) and “Politica de Confidențialitate” (Privacy Policy) links in the box text open the documents in a new tab, so you don't lose the form you have filled in. `v2026-09-03` is the version of the Terms you accept. Summaries: [Terms and conditions in brief](#legal.termeni-esentiali) and [Privacy policy in brief](#legal.confidentialitate).\n\n## Signing up with Google or GitLab\n\nAbove the form, under “Înregistrare cu” (Sign up with), there are the “GitLab” and “Google” buttons. Below them it says: “Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” (By continuing, you accept the Terms and Conditions and the Privacy Policy.) There is no checkbox here: clicking the button counts as your consent.\n\n1. Click “GitLab” or “Google”.\n2. Sign in with the provider and allow access.\n3. You return to blackbox.md already signed in, either to your account or to the order you started.\n\nThe account gets the email address of your Google or GitLab account, already verified, and has no password: you sign in with the same button every time. If you already have a blackbox.md account with the same address and that address is verified, the button signs you in to that account. Details and errors: [Signing in with Google or GitLab](#cont.google-gitlab).\n\n## What happens after you sign up\n\n- On “Profilul meu” (My profile), your email address has the “Neverificat” (Not verified) badge.\n- Emails about your account and orders are in Russian if you filled in the form on the Russian version of the site (the address starts with `blackbox.md/ru/`); otherwise, they are in Romanian. Some emails come only in Romanian or only in English.\n- The “Autentificare” (Sign in) page that “Comandă” (Order) sends you to, and the profile page that opens after you sign up, appear in the Romanian version. Switch the language in the header (“RO / RU”); the order you started is kept. Details: [Language of the website, the panel and emails](#cont.limba).\n\n> **Important**\n> No verification email is sent automatically when you sign up. Open “Contul meu” (My account) → “Profil” (Profile), go to the “Securitatea contului” (Account security) section, and in the “Verificarea emailului” (Email verification) block click “Trimite emailul de verificare” (Send verification email). Without a verified address you cannot open the app.blackbox.md panel directly from your account. Accounts created with Google or GitLab are already verified.\n\n## Sign-up error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Acest email este deja înregistrat. Încercați să vă autentificați.” (This email is already registered. Try signing in.) | An account with this address already exists (created with a password, with Google or GitLab, or by invitation). | Sign in: [Signing in to blackbox.md and signing out](#cont.autentificare). If you don't know the password: [Forgot your account password](#cont.parola-uitata). |\n| “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) | 5 sign-up attempts were made from your IP address within 10 minutes. Rejected attempts count too, for example those with a password that is too weak or with an email that is already registered. | Wait up to 10 minutes. Attempts made while you are blocked do not extend the wait. |\n| “Parola trebuie să aibă minimum 12 caractere.” (The password must be at least 12 characters long.) | The password is too short. | Choose a password of at least 12 characters. |\n| “Parola trebuie să includă cel puțin 3 din: literă mare, literă mică, cifră, caracter special.” (The password must include at least 3 of: uppercase letter, lowercase letter, digit, special character.) | The password uses fewer than 3 classes. | Add characters from the missing classes (see the table above). |\n| “Vă rugăm acceptați termenii și condițiile și politica de confidențialitate.” (Please accept the terms and conditions and the privacy policy.) | Your consent did not reach the server. | Reload the page, tick the box and try again. |\n| “Eroare la înregistrare.” (Sign-up error.) | An unexpected error. | Try again in a few minutes. If it happens again: [How to contact BLACKBOX support](#suport.contact). |\n| A message in English, for example “value is not a valid email address: …” | The server rejected the address format or the length of a field. | Check your email address; the name can be up to 120 characters, the phone number up to 40. |\n\n## Received an invitation?\n\nThe BLACKBOX team can create an account for a contact person, for example a colleague from your company, and send them an invitation by email. Customers cannot invite other users themselves: to add a colleague, write to support ([How to contact BLACKBOX support](#suport.contact)).\n\nThe invitation email uses the standard password-reset text: its subject is “You've been invited to BlackBox” and it has a “Reset my password” button. The link leads to `blackbox.md/set-password`, is valid for **7 days** from when the email is sent, and can be used **only once**.\n\n1. Click “Reset my password” in the email. The “Setați o parolă” (Set a password) page opens (in Romanian; for Russian, click “RU” in the header).\n2. Fill in “Parolă nouă” (New password) following the same rules as when signing up.\n3. Click “Setare parolă” (Set password). The message “Parolă setată! Acum vă puteți autentifica în cont.” (Password set! You can now sign in to your account.) appears.\n4. Click “Autentificare” (Sign in) and sign in with the address the invitation was sent to and your new password.\n\nThe email address of an account created by invitation is already verified.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Linkul este invalid sau a expirat.” (The link is invalid or has expired.) | More than 7 days have passed, the link has already been used, or it was not copied in full. | If you have already set your password, sign in. Otherwise, if the invited address is also the address of a Google or GitLab account, sign in with that button; if not, write to support. |\n| “Această invitație a fost deja folosită.” (This invitation has already been used.) | The account already has a password. | Sign in with it. If you don't know it: [Forgot your account password](#cont.parola-uitata). |\n| Messages about the password length or character classes | The password does not meet the rules. | Choose another password: a rejected password does not use up the link. |\n| “Link invalid” (Invalid link), with the text “Linkul nu conține un cod de invitație.” (The link does not contain an invitation code.) | The address you opened does not contain the invitation code. | Open the link from the email again, in full. |\n| “Nu s-a putut seta parola.” (The password could not be set.) | An unexpected error. | Try again later or write to support. |\n\n## Frequently asked questions\n\n**Can I have two accounts with the same email address?**\nNo. Each address has only one account, whether it was created with a password, with Google or GitLab, or by invitation.\n\n**I created my account with Google or GitLab. Can I also set a password?**\nNo, you cannot add a password from your account. You sign in every time with the button you used to sign up.\n\n**Where do I enter my company details for invoices?**\nNot in the sign-up form. After signing in, open “Date de facturare” (Billing details): [Billing details for companies and individuals](#plati.date-facturare).\n\n> **Tip**\n> After creating your account, verify your email address ([Verifying your email address](#cont.verificare-email)) and add an SSH key ([SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont)) so you can select it when you order. The full path: [From sign-up to a working server](#start.ghid-rapid).\n"
   }
  },
  {
   "id": "cont.verificare-email",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/verificare-email/",
    "ru": "https://docs.blackbox.md/ru/cont/verificare-email/",
    "en": "https://docs.blackbox.md/en/cont/verificare-email/"
   },
   "title": {
    "ro": "Verificarea adresei de email",
    "ru": "Подтверждение адреса email",
    "en": "Verifying your email address"
   },
   "summary": {
    "ro": "De ce trebuie confirmat emailul, cum cereți linkul și ce faceți dacă acesta nu ajunge.",
    "ru": "Зачем подтверждать email, как запросить ссылку и что делать, если письмо не пришло.",
    "en": "Why you need to confirm your email, how to request the link, and what to do if it does not arrive."
   },
   "markdown": {
    "ro": "Dacă ați creat contul cu email și parolă, adresa de email apare la început cu insigna „Neverificat”. Emailul de confirmare nu vine automat la înregistrare: îl cereți dvs. din cardul „Verificarea emailului”, secțiunea „Securitatea contului”, pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”).\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md al cărui email nu este încă verificat.\n\n## De ce trebuie verificat emailul\n\n| Ce | Fără email verificat |\n|---|---|\n| Deschiderea panoului app.blackbox.md din cont („Deschide panoul”, „Panou de administrare”) | Nu intrați automat. În fila nouă se deschide doar pagina de autentificare a panoului. |\n| Asocierea Google sau GitLab la un cont existent cu același email | Autentificarea este refuzată cu mesajul „Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” |\n| Notificările despre servicii și facturi | Emailurile legate de cont (sold, facturi, răspunsuri la tichete) pleacă la adresa din cont. Verificarea confirmă că adresa este corectă și vă aparține, deci că le veți primi. |\n\nComenzile, plățile și tichetele de suport funcționează și fără verificare.\n\n## Cum cereți emailul de verificare\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon, cercul cu inițialele dvs.). Se deschide pagina „Profilul meu”.\n2. Găsiți secțiunea „Securitatea contului” și cardul „Verificarea emailului”. Insigna arată „Neverificat”, cu textul „Confirmă adresa pentru a primi notificări importante despre servicii și facturi.”\n3. Apăsați „Trimite emailul de verificare”. Cât timp se trimite, butonul arată „Se trimite…”.\n4. Butonul este înlocuit de mesajul „Email trimis. Verifică căsuța poștală.” Pentru o cerere nouă, reîncărcați pagina.\n5. Deschideți emailul cu subiectul „Confirmați adresa de email — BlackBox” și apăsați butonul „Confirmă adresa de email”. Dacă butonul nu funcționează, copiați în browser linkul afișat sub el.\n\nDacă sub buton apare „Eroare la trimitere. Încercați din nou.”, apăsați din nou „Trimite emailul de verificare”. Dacă eroarea se repetă, reîncărcați pagina, autentificați-vă din nou dacă vi se cere, apoi repetați pasul 3.\n\n### Emailul de verificare\n\n| Element | Detalii |\n|---|---|\n| Expeditor | „BlackBox” |\n| Subiect | „Confirmați adresa de email — BlackBox”, întotdeauna în română |\n| Limba textului | rusă, dacă v-ați înregistrat sau v-ați autentificat cel puțin o dată pe versiunea rusă a site-ului (`blackbox.md/ru`); altfel română |\n| Buton | „Confirmă adresa de email” (în emailul în rusă: „Подтвердить email”) |\n| Valabilitatea linkului | 24 de ore, o singură utilizare |\n\n### Limite\n\n| Limită | Valoare |\n|---|---|\n| Emailuri de verificare pentru un cont | 3 într-o oră |\n| Cereri de la aceeași adresă IP | 20 într-o oră |\n\n> **Important**\n> Cererile peste limită sunt ignorate fără mesaj de eroare: pagina afișează tot „Email trimis. Verifică căsuța poștală.”, dar emailul nu mai pleacă. După 3 cereri, așteptați o oră de la prima dintre ele.\n\n## Ce vedeți după ce deschideți linkul\n\nLinkul duce la pagina `blackbox.md/verify-email`, care funcționează și fără autentificare: îl puteți deschide, de exemplu, pe telefon. Pagina se deschide în limba română, indiferent de limba contului.\n\n| Mesaj pe pagină | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Confirmăm adresa de email…” | Linkul se verifică. | Așteptați câteva secunde. |\n| „Email confirmat!” | Adresa este confirmată. | Apăsați „← Contul meu”. |\n| „Confirmarea a eșuat” — „Linkul este invalid sau a expirat. Solicitați un email nou din pagina contului.” | Au trecut mai mult de 24 de ore, linkul a fost deja folosit sau nu a fost copiat întreg. | Verificați insigna din cont. Dacă arată tot „Neverificat”, cereți un email nou. |\n| „Link invalid” — „Linkul nu conține un cod de confirmare.” | Linkul a fost copiat incomplet. | Apăsați butonul din email sau copiați linkul întreg. |\n\nDupă confirmare, insigna „Verificat” apare lângă câmpul „Email” din „Date personale” și în cardul „Verificarea emailului”, cu textul „Adresa ta de email este confirmată.” Dacă pagina contului era deja deschisă, reîncărcați-o.\n\n> **Sfat**\n> Un link se poate folosi o singură dată. Dacă vedeți „Confirmarea a eșuat”, uitați-vă întâi la insigna din cont: adresa poate fi deja confirmată, de exemplu dacă ați deschis linkul și pe alt dispozitiv. Cereți un email nou doar dacă insigna arată tot „Neverificat”.\n\n## Emailul nu a ajuns\n\n1. Așteptați câteva minute.\n2. Căutați în dosarele Spam și Promoții, după subiectul „Confirmați adresa de email — BlackBox” sau după expeditorul „BlackBox”.\n3. Verificați adresa din câmpul „Email” de pe pagina „Profilul meu”: acolo trimitem emailul.\n4. Nu cereți emailul de mai multe ori la rând. Peste 3 cereri într-o oră nu se mai trimite nimic, deși pagina spune că emailul a fost trimis.\n5. Dacă emailul tot nu ajunge sau adresa este greșită, scrieți-ne.\n\n> **Notă**\n> Adresa de email a contului nu se poate modifica din cont: câmpul „Email” este doar pentru citire. Pentru schimbare, scrieți la support@blackbox.md sau deschideți un tichet din „Contul meu” → „Ajutor și suport”. Tichetele funcționează și cu emailul neverificat. Vedeți [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Trebuie să verific emailul dacă intru cu Google sau GitLab?**\nNu. Conturile create prin Google sau GitLab sunt verificate automat, pentru că furnizorul a confirmat deja adresa. La fel sunt și conturile create printr-o invitație de la BLACKBOX.\n\n**Am un cont cu parolă, neverificat. Pot intra cu Google pe aceeași adresă?**\nNu încă. Autentificați-vă cu emailul și parola, confirmați emailul, apoi folosiți Google sau GitLab: contul se asociază automat. Detalii în [Autentificarea cu Google sau GitLab](#cont.google-gitlab).\n\n**Am primit mai multe emailuri de verificare. Pe care îl folosesc?**\nOricare, dacă nu au trecut 24 de ore de la trimitere. Fiecare link funcționează o singură dată.\n\n**Am apăsat „Deschide panoul” și s-a deschis o pagină cu nume de utilizator și parolă.**\nCel mai des, cauza este emailul neverificat. Confirmați adresa, reveniți în cont și apăsați din nou „Deschide panoul”. Vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n",
    "ru": "Если вы создали аккаунт по email и паролю, адрес сначала отмечен значком «Не подтверждён». Письмо для подтверждения при регистрации само не приходит: его нужно запросить в блоке «Подтверждение email» раздела «Безопасность аккаунта» на странице «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль»).\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md, чей email ещё не подтверждён.\n\n## Зачем подтверждать email\n\n| Что | Без подтверждённого email |\n|---|---|\n| Переход в панель app.blackbox.md из аккаунта («Открыть панель», «Панель управления») | Автоматического входа не будет: в новой вкладке откроется только страница входа в панель. |\n| Привязка Google или GitLab к существующему аккаунту с тем же email | Вход отклоняется с сообщением «Аккаунт с этим email уже существует, но email не был подтверждён. Войдите обычным способом и подтвердите email.» |\n| Уведомления об услугах и счетах | Письма по аккаунту (баланс, счета, ответы на тикеты) уходят на адрес из аккаунта. Подтверждение показывает, что адрес указан верно и принадлежит вам, а значит, письма до вас дойдут. |\n\nЗаказы, оплата и тикеты поддержки работают и без подтверждения.\n\n## Как запросить письмо для подтверждения\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхней панели сайта (на телефоне — кружок с вашими инициалами). Откроется страница «Мой профиль».\n2. Найдите раздел «Безопасность аккаунта» и блок «Подтверждение email». На значке написано «Не подтверждён», ниже — текст «Подтвердите адрес, чтобы получать важные уведомления об услугах и счетах.»\n3. Нажмите «Отправить письмо для подтверждения». Пока письмо отправляется, на кнопке написано «Отправка…».\n4. Вместо кнопки появится сообщение «Письмо отправлено. Проверьте почту.» Чтобы запросить письмо ещё раз, обновите страницу.\n5. Откройте письмо с темой «Confirmați adresa de email — BlackBox» и нажмите кнопку «Подтвердить email». Если кнопка не срабатывает, скопируйте в браузер ссылку, указанную под ней.\n\nЕсли под кнопкой появилось «Ошибка при отправке. Попробуйте снова.», нажмите «Отправить письмо для подтверждения» ещё раз. Если ошибка повторяется, обновите страницу, при необходимости войдите заново и повторите шаг 3.\n\n### Письмо для подтверждения\n\n| Элемент | Подробности |\n|---|---|\n| Отправитель | «BlackBox» |\n| Тема | «Confirmați adresa de email — BlackBox», всегда на румынском |\n| Язык текста | русский, если вы хотя бы раз регистрировались или входили через русскую версию сайта (`blackbox.md/ru`); иначе румынский |\n| Кнопка | «Подтвердить email» (в письме на румынском — «Confirmă adresa de email») |\n| Срок действия ссылки | 24 часа, только одно использование |\n\n### Ограничения\n\n| Ограничение | Значение |\n|---|---|\n| Писем для подтверждения на один аккаунт | 3 в час |\n| Запросов с одного IP-адреса | 20 в час |\n\n> **Важно**\n> Запросы сверх лимита просто игнорируются, без сообщения об ошибке: на странице всё равно появится «Письмо отправлено. Проверьте почту.», но письмо не отправляется. После 3 запросов подождите час с момента первого из них.\n\n## Что вы увидите, открыв ссылку\n\nСсылка ведёт на страницу `blackbox.md/verify-email`, которая работает и без входа в аккаунт: её можно открыть, например, на телефоне. Страница открывается на румынском языке, на каком бы языке вы ни пользовались сайтом. Ниже — её сообщения и перевод.\n\n| Сообщение на странице | Перевод | Что делать |\n|---|---|---|\n| «Confirmăm adresa de email…» | «Подтверждаем email…»: ссылка проверяется. | Подождите несколько секунд. |\n| «Email confirmat!» | «Email подтверждён!» | Нажмите «← Contul meu» («← Личный кабинет»). |\n| «Confirmarea a eșuat» — «Linkul este invalid sau a expirat. Solicitați un email nou din pagina contului.» | «Не удалось подтвердить email — ссылка недействительна или срок её действия истёк. Запросите новое письмо со страницы аккаунта»: прошло больше 24 часов, ссылка уже использована или скопирована не целиком. | Проверьте значок в аккаунте. Если там по-прежнему «Не подтверждён», запросите новое письмо. |\n| «Link invalid» — «Linkul nu conține un cod de confirmare.» | «Ссылка недействительна — в ссылке отсутствует код подтверждения»: ссылка скопирована не полностью. | Нажмите кнопку в письме или скопируйте ссылку целиком. |\n\nПосле подтверждения значок «Подтверждён» появится рядом с полем «Email» в блоке «Личные данные» и в блоке «Подтверждение email» с текстом «Ваш адрес email подтверждён.» Если страница аккаунта уже была открыта, обновите её.\n\n> **Совет**\n> Ссылка срабатывает только один раз. Если вы видите «Confirmarea a eșuat», сначала посмотрите на значок в аккаунте: адрес может быть уже подтверждён, например если вы открывали ссылку и на другом устройстве. Запрашивайте новое письмо, только если там по-прежнему «Не подтверждён».\n\n## Письмо не пришло\n\n1. Подождите несколько минут.\n2. Проверьте папки «Спам» и «Промоакции»: ищите тему «Confirmați adresa de email — BlackBox» или отправителя «BlackBox».\n3. Проверьте адрес в поле «Email» на странице «Мой профиль»: письмо уходит именно туда.\n4. Не запрашивайте письмо много раз подряд. После 3 запросов в течение часа письма больше не отправляются, хотя страница сообщает об отправке.\n5. Если письмо так и не пришло или адрес указан с ошибкой, напишите нам.\n\n> **Примечание**\n> Сменить email аккаунта самостоятельно нельзя: поле «Email» доступно только для чтения. Чтобы изменить адрес, напишите на support@blackbox.md или создайте тикет в разделе «Мой аккаунт» → «Помощь и поддержка». Тикеты работают и с неподтверждённым email. См. [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Нужно ли подтверждать email, если я вхожу через Google или GitLab?**\nНет. Аккаунты, созданные через Google или GitLab, подтверждаются автоматически: адрес уже проверен провайдером. То же относится к аккаунтам, созданным по приглашению BLACKBOX.\n\n**У меня аккаунт с паролем и неподтверждённым email. Можно войти через Google на тот же адрес?**\nПока нет. Войдите по email и паролю, подтвердите адрес, а затем используйте Google или GitLab: аккаунт привяжется автоматически. Подробнее — в статье [Вход через Google или GitLab](#cont.google-gitlab).\n\n**Мне пришло несколько писем для подтверждения. Какое использовать?**\nЛюбое, если с момента отправки прошло не больше 24 часов. Каждая ссылка срабатывает только один раз.\n\n**После нажатия «Открыть панель» открылась страница с именем пользователя и паролем. Почему?**\nЧаще всего причина в неподтверждённом email. Подтвердите адрес, вернитесь в аккаунт и снова нажмите «Открыть панель». См. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n",
    "en": "If you created your account with an email and password, your email address first shows the “Neverificat” (Not verified) badge. The confirmation email is not sent automatically when you sign up: you request it yourself from the “Verificarea emailului” (Email verification) card in the “Securitatea contului” (Account security) section of the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)).\n\n**Available to:** any customer signed in to blackbox.md whose email is not yet verified.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Why you need to verify your email\n\n| What | Without a verified email |\n|---|---|\n| Opening the app.blackbox.md panel from your account (“Deschide panoul” (Open the panel), “Panou de administrare” (Admin panel)) | You are not signed in automatically. The new tab only opens the panel's sign-in page. |\n| Linking Google or GitLab to an existing account with the same email | Sign-in is refused with the message “Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” (An account with this email already exists, but the address has not been verified. Sign in the usual way and confirm your email.) |\n| Notifications about services and invoices | Emails about your account (balance, invoices, replies to support tickets) go to the address on your account. Verification confirms that the address is correct and belongs to you, so you will receive them. |\n\nOrders, payments and support tickets also work without verification.\n\n## How to request the verification email\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, the circle with your initials). The “Profilul meu” (My profile) page opens.\n2. Find the “Securitatea contului” (Account security) section and the “Verificarea emailului” (Email verification) card. The badge shows “Neverificat” (Not verified), with the text “Confirmă adresa pentru a primi notificări importante despre servicii și facturi.” (Confirm your address to receive important notifications about services and invoices.)\n3. Click “Trimite emailul de verificare” (Send verification email). While the email is being sent, the button shows “Se trimite…” (Sending…).\n4. The button is replaced by the message “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.) To make a new request, reload the page.\n5. Open the email with the subject “Confirmați adresa de email — BlackBox” (Confirm your email address — BlackBox) and click the “Confirmă adresa de email” (Confirm email address) button. If the button does not work, copy the link shown below it into your browser.\n\nIf “Eroare la trimitere. Încercați din nou.” (Sending failed. Please try again.) appears below the button, click “Trimite emailul de verificare” again. If the error repeats, reload the page, sign in again if asked, then repeat step 3.\n\n### The verification email\n\n| Item | Details |\n|---|---|\n| Sender | “BlackBox” |\n| Subject | “Confirmați adresa de email — BlackBox”, always in Romanian |\n| Language of the text | Russian, if you signed up or signed in at least once on the Russian version of the website (`blackbox.md/ru`); otherwise Romanian |\n| Button | “Confirmă adresa de email” (in the Russian email: “Подтвердить email” (Confirm email)) |\n| Link validity | 24 hours, single use |\n\n### Limits\n\n| Limit | Value |\n|---|---|\n| Verification emails per account | 3 per hour |\n| Requests from the same IP address | 20 per hour |\n\n> **Important**\n> Requests over the limit are ignored without an error message: the page still shows “Email trimis. Verifică căsuța poștală.”, but the email is not sent. After 3 requests, wait one hour from the first of them.\n\n## What you see after opening the link\n\nThe link leads to the `blackbox.md/verify-email` page, which also works without signing in: you can open it on your phone, for example. The page opens in Romanian, whatever the language of your account.\n\n| Message on the page | What it means | What to do |\n|---|---|---|\n| “Confirmăm adresa de email…” (Confirming your email address…) | The link is being checked. | Wait a few seconds. |\n| “Email confirmat!” (Email confirmed!) | Your address is confirmed. | Click “← Contul meu” (← My account). |\n| “Confirmarea a eșuat” (Confirmation failed) — “Linkul este invalid sau a expirat. Solicitați un email nou din pagina contului.” (The link is invalid or has expired. Request a new email from your account page.) | More than 24 hours have passed, the link has already been used, or it was not copied in full. | Check the badge in your account. If it still shows “Neverificat” (Not verified), request a new email. |\n| “Link invalid” (Invalid link) — “Linkul nu conține un cod de confirmare.” (The link does not contain a confirmation code.) | The link was copied incompletely. | Click the button in the email or copy the whole link. |\n\nAfter confirmation, the “Verificat” (Verified) badge appears next to the “Email” field in “Date personale” (Personal details) and in the “Verificarea emailului” (Email verification) card, with the text “Adresa ta de email este confirmată.” (Your email address is confirmed.) If your account page was already open, reload it.\n\n> **Tip**\n> A link can be used only once. If you see “Confirmarea a eșuat”, first look at the badge in your account: the address may already be confirmed, for example if you also opened the link on another device. Request a new email only if the badge still shows “Neverificat”.\n\n## The email did not arrive\n\n1. Wait a few minutes.\n2. Look in your Spam and Promotions folders, searching for the subject “Confirmați adresa de email — BlackBox” (Confirm your email address — BlackBox) or the sender “BlackBox”.\n3. Check the address in the “Email” field on the “Profilul meu” (My profile) page: that is where we send the email.\n4. Do not request the email several times in a row. Beyond 3 requests in one hour, nothing more is sent, even though the page says the email was sent.\n5. If the email still does not arrive or the address is wrong, write to us.\n\n> **Note**\n> You cannot change your account's email address yourself: the “Email” field is read-only. To change it, write to support@blackbox.md or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). Tickets also work with an unverified email. See [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Do I need to verify my email if I sign in with Google or GitLab?**\nNo. Accounts created through Google or GitLab are verified automatically, because the provider has already confirmed the address. The same goes for accounts created through an invitation from BLACKBOX.\n\n**I have a password account that is not verified. Can I sign in with Google using the same address?**\nNot yet. Sign in with your email and password, confirm your email, then use Google or GitLab: the account is linked automatically. Details in [Signing in with Google or GitLab](#cont.google-gitlab).\n\n**I received several verification emails. Which one should I use?**\nAny of them, as long as 24 hours have not passed since it was sent. Each link works only once.\n\n**I clicked “Deschide panoul” (Open the panel) and a page with a username and password opened.**\nThe most common cause is an unverified email. Confirm your address, go back to your account and click “Deschide panoul” again. See [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n"
   }
  },
  {
   "id": "cont.autentificare",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/autentificare/",
    "ru": "https://docs.blackbox.md/ru/cont/autentificare/",
    "en": "https://docs.blackbox.md/en/cont/autentificare/"
   },
   "title": {
    "ro": "Autentificarea pe blackbox.md și deconectarea",
    "ru": "Вход на blackbox.md и выход",
    "en": "Signing in to blackbox.md and signing out"
   },
   "summary": {
    "ro": "Cum intrați în cont, cât durează sesiunea, limitele de încercări și cum ieșiți din cont.",
    "ru": "Как войти в аккаунт, сколько длится сессия, лимиты попыток и как выйти.",
    "en": "How to sign in to your account, how long a session lasts, the attempt limits and how to sign out."
   },
   "markdown": {
    "ro": "Pagina „Autentificare” (`blackbox.md/login`, în rusă `blackbox.md/ru/login`) vă deschide contul BLACKBOX: comenzile, facturile, soldul, cheile SSH și accesul la panoul app.blackbox.md. Ajungeți la ea prin linkul „Cont client” din antetul site-ului sau automat, când deschideți o pagină care cere cont, de exemplu o comandă.\n\n**Disponibil pentru:** orice client cu un cont pe blackbox.md.\n\n## Cum vă autentificați cu email și parolă\n\n1. În antetul site-ului apăsați „Cont client”. Pe telefon apăsați pictograma rotundă din dreapta sus. Se deschide pagina „Autentificare”, cu subtitlul „Accesați contul dvs. BLACKBOX”.\n2. În câmpul „Email” introduceți adresa cu care v-ați înregistrat.\n3. În câmpul „Parolă” introduceți parola contului.\n4. Apăsați „Autentificare”. Cât timp datele sunt verificate, butonul arată „Se autentifică…”.\n5. Dacă ați ajuns aici automat de pe o pagină care cere cont (de exemplu, o comandă începută), reveniți pe acea pagină. În celelalte cazuri, inclusiv când ați apăsat „Cont client”, se deschide pagina contului (`/account`).\n\nPe aceeași pagină mai găsiți:\n\n- deasupra formularului, sub „Autentificare cu”, butoanele „GitLab” și „Google”: vedeți [Autentificarea cu Google sau GitLab](#cont.google-gitlab);\n- sub formular, linkul „Nu aveți cont? Înregistrați-vă”: vedeți [Crearea contului pe blackbox.md](#cont.creare-cont). Dacă ați venit de pe o comandă, după înregistrare reveniți tot la ea.\n\nPagina nu are un link „Am uitat parola”. Dacă nu vă amintiți parola, vedeți [Ați uitat parola contului](#cont.parola-uitata).\n\nDacă site-ul știe deja că sunteți autentificat (de exemplu, ați deschis o pagină din cont în aceeași filă), paginile `/login` și `/register` vă trimit direct la `/account`.\n\n### Limba emailurilor\n\nDacă vă autentificați cu email și parolă pe pagina în limba rusă (`/ru/login`), limba contului devine rusa: emailurile care țin cont de ea (de exemplu, cel de verificare a adresei) vă sosesc în rusă. Autentificarea pe pagina în română nu schimbă limba înapoi. Detalii: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Email sau parolă incorectă.” | Emailul sau parola nu se potrivesc. Același mesaj apare dacă nu există cont cu acest email sau dacă contul a fost creat cu Google sau GitLab și nu are parolă. Rar, apare și la o eroare temporară a serverului. | Verificați adresa, tasta Caps Lock și limba tastaturii. Pentru un cont creat cu Google sau GitLab apăsați butonul respectiv. Dacă ați uitat parola, vedeți [Ați uitat parola contului](#cont.parola-uitata). |\n| „Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” | S-a atins una dintre limitele de mai jos. | Așteptați aproximativ 5 minute, apoi încercați din nou. |\n\n### Limitele de încercări\n\n| Limită | Valoare |\n|---|---|\n| Încercări pentru aceeași adresă de email | 5 încercări în 5 minute |\n| Încercări de pe aceeași adresă IP (de exemplu, din rețeaua comună a unui birou) | 20 de încercări în 5 minute |\n\nSe numără încercările din ultimele 5 minute. Încercările făcute cât timp limita este atinsă nu prelungesc blocarea. Toate limitele contului: [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri). Alte situații: [Nu pot intra în cont sau în panou](#faq.nu-pot-intra).\n\n## Cât durează sesiunea\n\n- Sesiunea pe blackbox.md durează **8 ore** de la autentificare. Activitatea pe site nu o prelungește.\n- Când, după 8 ore, reîncărcați sau deschideți din nou o pagină din cont ori o pagină de comandă, sunteți trimis la „Autentificare”, iar după autentificare reveniți pe aceeași pagină. Dacă o pagină deja deschisă nu mai încarcă datele, reîncărcați-o.\n- Sesiunea este valabilă doar în browserul în care v-ați autentificat. De regulă, închiderea browserului nu o încheie: ea rămâne activă până expiră sau până apăsați „Deconectare”.\n\n## Cum vă deconectați\n\n1. Deschideți orice pagină din „Contul meu”.\n2. Pe calculator, apăsați „Deconectare” în partea de jos a meniului din stânga. Pe telefon, apăsați „Meniu cont”, apoi „Deconectare” la capătul listei.\n3. Sesiunea se încheie și se deschide pagina „Autentificare”.\n\n### Panoul app.blackbox.md are o sesiune separată\n\n„Deconectare” pe blackbox.md încheie doar sesiunea de pe site. Panoul app.blackbox.md, pe care îl deschideți cu „Panou de administrare” din meniul contului, are propria sesiune, tot de 8 ore, care începe din nou la fiecare deschidere din cont (vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)). Panoul rămâne autentificat în browser și după ce ieșiți de pe blackbox.md.\n\nCa să ieșiți din panou:\n\n1. În bara de sus a panoului, în dreapta, apăsați butonul cu adresa dvs. de email.\n2. Alegeți „Deconectare”.\n\nPentru a încheia sesiunile panoului pe toate dispozitivele, folosiți „Setări” → „Sesiuni” → „Deconectare de peste tot” (vedeți [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou)).\n\n> **Securitate**\n> Pe un calculator comun sau public, ieșiți mai întâi din panou, apoi din blackbox.md, și nu lăsați browserul să salveze parola. Pe dispozitivele dvs. folosiți un manager de parole: generează o parolă lungă și unică și completează singur câmpurile „Email” și „Parolă”.\n\n## Întrebări frecvente\n\n**Contează literele mari în adresa de email?**\nNu, adresa de email este verificată fără a ține cont de majuscule. Parola, în schimb, face diferența între literele mari și cele mici.\n\n**M-am autentificat de curând, dar văd formularul „Autentificare”. De ce?**\nAntetul și pagina de autentificare nu verifică întotdeauna dacă sesiunea este activă. Deschideți `blackbox.md/account`: dacă sesiunea este activă, contul se deschide direct; dacă nu, autentificați-vă din nou.\n\n**Am uitat să mă deconectez pe alt calculator. Ce fac?**\nPe blackbox.md nu există o deconectare de pe toate dispozitivele, dar sesiunea de pe celălalt calculator expiră oricum în cel mult 8 ore. Ca s-o încheiați imediat, schimbați parola: astfel se încheie toate sesiunile de pe blackbox.md și se opresc token-urile API create înainte (vedeți [Schimbarea parolei contului](#cont.schimbare-parola)). În panou folosiți „Deconectare de peste tot”.\n\n**Deconectarea oprește token-urile API ale asistentului AI?**\nNu. Token-urile din „Token-uri API” funcționează până le revocați sau până schimbați parola. Vedeți [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n**Folosesc site-ul în rusă, dar după autentificare sau deconectare pagina s-a deschis în română. De ce?**\nPaginile la care site-ul vă trimite automat (autentificarea cerută de o comandă, contul după autentificare, pagina de după deconectare) se deschid în română. Comutați limba cu „RU” din antet; pe ecranele înguste de telefon comutatorul lipsește, așa că adăugați `/ru` după `blackbox.md` în adresă.\n",
    "ru": "Страница «Вход» (`blackbox.md/ru/login`, на румынском — `blackbox.md/login`) открывает доступ к вашему аккаунту BLACKBOX: заказам, счетам, балансу, SSH-ключам и панели app.blackbox.md. Она открывается по ссылке «Личный кабинет» в шапке сайта или автоматически, когда вы открываете страницу, для которой нужен аккаунт, например оформление заказа.\n\n**Доступно:** любому клиенту с аккаунтом на blackbox.md.\n\n## Как войти по email и паролю\n\n1. В шапке сайта нажмите «Личный кабинет». На телефоне нажмите круглый значок справа вверху. Откроется страница «Вход» с подзаголовком «Войдите в свой аккаунт BLACKBOX».\n2. В поле «Email» введите адрес, указанный при регистрации.\n3. В поле «Пароль» введите пароль от аккаунта.\n4. Нажмите «Вход». Пока данные проверяются, на кнопке написано «Выполняется вход…».\n5. Если вы попали сюда автоматически со страницы, где нужен аккаунт (например, с начатого заказа), вы вернётесь на неё. В остальных случаях, в том числе если вы нажали «Личный кабинет», откроется страница аккаунта (`/account`).\n\nНа этой же странице:\n\n- над формой, под «Вход через», — кнопки «GitLab» и «Google»: см. [Вход через Google или GitLab](#cont.google-gitlab);\n- под формой — ссылка «Нет аккаунта? Зарегистрируйтесь»: см. [Создание аккаунта на blackbox.md](#cont.creare-cont). Если вы пришли со страницы заказа, после регистрации вы тоже вернётесь к нему.\n\nСсылки для восстановления пароля на странице нет. Если вы не помните пароль, см. [Забыли пароль от аккаунта](#cont.parola-uitata).\n\nЕсли сайт уже знает, что вы вошли (например, вы открывали страницу аккаунта в этой же вкладке), страницы `/login` и `/register` сразу перенаправляют вас на `/account`.\n\n### Язык писем\n\nЕсли вы входите по email и паролю на русской странице входа (`/ru/login`), языком аккаунта становится русский: письма, которые учитывают этот язык (например, письмо для подтверждения адреса), будут приходить на русском. Вход на румынской странице не возвращает румынский язык. Подробнее: [Язык сайта, панели и писем](#cont.limba).\n\n## Сообщения об ошибках\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Неверный email или пароль.» | Email или пароль не подходят. То же сообщение появляется, если аккаунта с таким email нет или аккаунт создан через Google или GitLab и пароля у него нет. Изредка — при временной ошибке сервера. | Проверьте адрес, Caps Lock и раскладку клавиатуры. Для аккаунта, созданного через Google или GitLab, нажмите соответствующую кнопку. Если забыли пароль, см. [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| «Слишком много попыток входа. Пожалуйста, повторите через несколько минут.» | Достигнут один из лимитов ниже. | Подождите около 5 минут и попробуйте снова. |\n\n### Лимиты попыток\n\n| Лимит | Значение |\n|---|---|\n| Попытки входа с одним email | 5 попыток за 5 минут |\n| Попытки входа с одного IP-адреса (например, из общей сети офиса) | 20 попыток за 5 минут |\n\nУчитываются попытки за последние 5 минут. Попытки, сделанные во время блокировки, её не продлевают. Все лимиты аккаунта: [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri). Другие ситуации: [Не получается войти в аккаунт или панель](#faq.nu-pot-intra).\n\n## Сколько длится сессия\n\n- Сессия на blackbox.md длится **8 часов** с момента входа. Активность на сайте её не продлевает.\n- Если через 8 часов вы обновите или заново откроете страницу аккаунта либо страницу заказа, вы попадёте на страницу «Вход», а после входа вернётесь на ту же страницу. Если уже открытая страница перестала загружать данные, обновите её.\n- Сессия действует только в том браузере, в котором вы вошли. Закрытие браузера, как правило, её не завершает: она остаётся активной, пока не истечёт срок или пока вы не нажмёте «Выйти».\n\n## Как выйти\n\n1. Откройте любую страницу личного кабинета.\n2. На компьютере нажмите «Выйти» внизу меню слева. На телефоне нажмите «Меню аккаунта», затем «Выйти» в конце списка.\n3. Сессия завершится, и откроется страница «Вход».\n\n### У панели app.blackbox.md отдельная сессия\n\n«Выйти» на blackbox.md завершает только сессию на сайте. У панели app.blackbox.md, которую вы открываете через пункт «Панель управления» в меню аккаунта, своя сессия — тоже на 8 часов; она начинается заново при каждом открытии панели из аккаунта (см. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)). После выхода с blackbox.md панель в этом браузере остаётся авторизованной.\n\nЧтобы выйти из панели:\n\n1. В верхней строке панели справа нажмите кнопку с вашим email.\n2. Выберите «Выйти».\n\nЧтобы завершить сессии панели на всех устройствах, откройте «Настройки» → «Сессии» → «Выйти везде» (см. [Настройки панели: профиль, пароль и сессии](#cont.setari-panou)).\n\n> **Безопасность**\n> На общем или чужом компьютере сначала выйдите из панели, затем из blackbox.md и не разрешайте браузеру сохранять пароль. На своих устройствах пользуйтесь менеджером паролей: он создаст длинный уникальный пароль и сам заполнит поля «Email» и «Пароль».\n\n## Частые вопросы\n\n**Важен ли регистр букв в email?**\nНет, email проверяется без учёта регистра. А вот в пароле заглавные и строчные буквы различаются.\n\n**Я недавно входил(а), но вижу форму «Вход». Почему?**\nШапка сайта и страница входа не всегда проверяют, активна ли сессия. Откройте `blackbox.md/ru/account`: если сессия активна, аккаунт откроется сразу, если нет — войдите снова.\n\n**Я забыл(а) выйти на другом компьютере. Что делать?**\nВыхода сразу на всех устройствах на blackbox.md нет, но сессия на другом компьютере в любом случае истечёт не позже чем через 8 часов. Чтобы завершить её сразу, смените пароль: это завершит все сессии на blackbox.md и отключит API-токены, созданные раньше (см. [Смена пароля аккаунта](#cont.schimbare-parola)). В панели используйте «Выйти везде».\n\n**Отключает ли выход API-токены AI-ассистента?**\nНет. Токены из раздела «API-токены» работают, пока вы их не отзовёте или не смените пароль. См. [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n**Я пользуюсь русской версией сайта, но после входа или выхода страница открылась на румынском. Почему?**\nСтраницы, на которые сайт перенаправляет автоматически (вход при оформлении заказа, аккаунт после входа, страница после выхода), открываются на румынском. Переключите язык ссылкой «RU» в шапке сайта; на узком экране телефона переключателя нет, поэтому допишите `/ru` после `blackbox.md` в адресной строке.\n",
    "en": "The “Autentificare” (Sign in) page (`blackbox.md/login`, in Russian `blackbox.md/ru/login`) opens your BLACKBOX account: your orders, invoices, balance, SSH keys and access to the app.blackbox.md panel. You reach it through the “Cont client” (Customer account) link in the site header, or automatically when you open a page that requires an account, such as an order.\n\n**Available to:** any customer with an account on blackbox.md.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to sign in with email and password\n\n1. In the site header, click “Cont client” (Customer account). On a phone, tap the round icon in the top-right corner. The “Autentificare” (Sign in) page opens, with the subtitle “Accesați contul dvs. BLACKBOX” (Access your BLACKBOX account).\n2. In the “Email” field, enter the address you signed up with.\n3. In the “Parolă” (Password) field, enter your account password.\n4. Click “Autentificare” (Sign in). While your details are being checked, the button shows “Se autentifică…” (Signing in…).\n5. If you were sent here automatically from a page that requires an account (for example, an order you had started), you return to that page. In all other cases, including when you clicked “Cont client”, your account page (`/account`) opens.\n\nOn the same page you will also find:\n\n- above the form, under “Autentificare cu” (Sign in with), the “GitLab” and “Google” buttons: see [Signing in with Google or GitLab](#cont.google-gitlab);\n- below the form, the link “Nu aveți cont? Înregistrați-vă” (Don't have an account? Sign up): see [Creating an account on blackbox.md](#cont.creare-cont). If you came from an order, you also return to it after signing up.\n\nThe page has no “Am uitat parola” (Forgot password) link. If you cannot remember your password, see [Forgot your account password](#cont.parola-uitata).\n\nIf the site already knows you are signed in (for example, you opened an account page in the same tab), the `/login` and `/register` pages take you straight to `/account`.\n\n### Email language\n\nIf you sign in with email and password on the Russian-language page (`/ru/login`), your account language becomes Russian: the emails that depend on it (for example, the address verification email) arrive in Russian. Signing in on the Romanian page does not switch the language back. Details: [Language of the website, the panel and emails](#cont.limba).\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Email sau parolă incorectă.” (Incorrect email or password.) | The email or password does not match. The same message appears if there is no account with this email, or if the account was created with Google or GitLab and has no password. Rarely, it also appears during a temporary server error. | Check the address, the Caps Lock key and the keyboard language. For an account created with Google or GitLab, click the matching button. If you forgot your password, see [Forgot your account password](#cont.parola-uitata). |\n| “Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” (Too many sign-in attempts. Please try again in a few minutes.) | One of the limits below has been reached. | Wait about 5 minutes, then try again. |\n\n### Attempt limits\n\n| Limit | Value |\n|---|---|\n| Attempts for the same email address | 5 attempts in 5 minutes |\n| Attempts from the same IP address (for example, from an office's shared network) | 20 attempts in 5 minutes |\n\nOnly the attempts from the last 5 minutes are counted. Attempts made while a limit is reached do not extend the block. All account limits: [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri). Other situations: [I can't sign in to my account or the panel](#faq.nu-pot-intra).\n\n## How long a session lasts\n\n- A session on blackbox.md lasts **8 hours** from the moment you sign in. Activity on the site does not extend it.\n- After 8 hours, when you reload or reopen an account page or an order page, you are taken to the “Autentificare” (Sign in) page, and after signing in you return to the same page. If a page that is already open stops loading data, reload it.\n- The session is valid only in the browser where you signed in. Closing the browser usually does not end it: it stays active until it expires or until you click “Deconectare” (Sign out).\n\n## How to sign out\n\n1. Open any page in “Contul meu” (My account).\n2. On a computer, click “Deconectare” (Sign out) at the bottom of the left-hand menu. On a phone, tap “Meniu cont” (Account menu), then “Deconectare” at the end of the list.\n3. The session ends and the “Autentificare” (Sign in) page opens.\n\n### The app.blackbox.md panel has a separate session\n\n“Deconectare” on blackbox.md ends only your session on the website. The app.blackbox.md panel, which you open with “Panou de administrare” (Admin panel) in the account menu, has its own session, also 8 hours long, which starts over each time you open the panel from your account (see [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)). You stay signed in to the panel in your browser even after you sign out of blackbox.md.\n\nTo sign out of the panel:\n\n1. In the panel's top bar, on the right, click the button with your email address.\n2. Choose “Logout”.\n\nTo end the panel sessions on all your devices, use “Settings” → “Sessions” → “Sign Out Everywhere” (see [Panel settings: profile, password, and sessions](#cont.setari-panou)).\n\n> **Security**\n> On a shared or public computer, sign out of the panel first, then out of blackbox.md, and do not let the browser save your password. On your own devices, use a password manager: it generates a long, unique password and fills in the “Email” and “Parolă” (Password) fields for you.\n\n## Frequently asked questions\n\n**Does capitalization matter in the email address?**\nNo, the email address is checked without regard to capital letters. The password, however, is case-sensitive: capital and lowercase letters are different.\n\n**I signed in recently, but I see the “Autentificare” (Sign in) form. Why?**\nThe site header and the sign-in page do not always check whether your session is active. Open `blackbox.md/account`: if the session is active, your account opens directly; if not, sign in again.\n\n**I forgot to sign out on another computer. What should I do?**\nblackbox.md has no way to sign out on all devices at once, but the session on the other computer expires within 8 hours at most anyway. To end it right away, change your password: this ends all your sessions on blackbox.md and stops the API tokens created before the change (see [Changing your account password](#cont.schimbare-parola)). In the panel, use “Sign Out Everywhere”.\n\n**Does signing out stop the AI assistant's API tokens?**\nNo. The tokens in “Token-uri API” (API tokens) keep working until you revoke them or change your password. See [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n**I use the site in Russian, but after signing in or out the page opened in Romanian. Why?**\nThe pages the site sends you to automatically (the sign-in required by an order, your account after signing in, the page after signing out) open in Romanian. Switch the language with “RU” in the header. On narrow phone screens the switcher is missing, so add `/ru` after `blackbox.md` in the address bar.\n"
   }
  },
  {
   "id": "cont.google-gitlab",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/google-gitlab/",
    "ru": "https://docs.blackbox.md/ru/cont/google-gitlab/",
    "en": "https://docs.blackbox.md/en/cont/google-gitlab/"
   },
   "title": {
    "ro": "Autentificarea cu Google sau GitLab",
    "ru": "Вход через Google или GitLab",
    "en": "Signing in with Google or GitLab"
   },
   "summary": {
    "ro": "Cum funcționează înregistrarea și intrarea cu Google sau GitLab, legarea de un cont existent și erorile posibile.",
    "ru": "Как работают регистрация и вход через Google или GitLab, привязка к существующему аккаунту и возможные ошибки.",
    "en": "How signing up and signing in with Google or GitLab work, linking to an existing account, and possible errors."
   },
   "markdown": {
    "ro": "Cu butoanele „Google” și „GitLab” vă creați contul BLACKBOX și intrați în el fără o parolă separată. Butoanele se află deasupra formularului, sub „Autentificare cu” sau „Înregistrare cu”, pe paginile „Autentificare” (`blackbox.md/login`) și „Creare cont” (`blackbox.md/register`). La pagina „Autentificare” ajungeți din antetul site-ului, cu „Cont client”.\n\n**Disponibil pentru:** orice vizitator al blackbox.md care are un cont Google sau un cont pe GitLab.com (nu o instalare proprie de GitLab) cu adresă de email verificată.\n\n## Cum intrați cu Google sau GitLab\n\n1. În antetul site-ului apăsați „Cont client”. Se deschide pagina „Autentificare”. Pentru un cont nou, apăsați „Înregistrați-vă”.\n2. Apăsați „Google” sau „GitLab”. Se deschide pagina furnizorului.\n3. Alegeți contul și confirmați accesul. BLACKBOX preia din acel cont doar numele, adresa de email și identificatorul contului.\n4. Reveniți pe blackbox.md și vedeți mesajul „Se finalizează autentificarea…”.\n5. Se deschide pagina de pe care ați pornit (de exemplu, comanda) sau „Profilul meu” (`blackbox.md/account`).\n\nSesiunea durează 8 ore, la fel ca la intrarea cu parolă. Detalii în [Autentificarea pe blackbox.md și deconectarea](#cont.autentificare).\n\n> **Important**\n> Finalizați autentificarea în cel mult 10 minute de la apăsarea butonului, în același browser în care l-ați apăsat. Altfel apare „Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.”\n\n## Ce cont BLACKBOX se deschide\n\nFurnizorul trebuie să confirme că adresa de email este verificată. În GitLab, contul trebuie să fie confirmat și activ. Apoi BLACKBOX alege contul astfel:\n\n| Situația | Rezultatul |\n|---|---|\n| Ați mai intrat cu același cont Google sau GitLab | Intrați în contul BLACKBOX legat de el. |\n| Există un cont BLACKBOX cu aceeași adresă, iar adresa este marcată „Verificat” | Google sau GitLab se leagă automat de acest cont și intrați. Parola contului rămâne valabilă. |\n| Există un cont cu aceeași adresă, dar adresa este marcată „Neverificat” | Intrarea este refuzată. Intrați cu emailul și parola, verificați adresa ([Verificarea adresei de email](#cont.verificare-email)), apoi reîncercați. |\n| Nu există niciun cont cu această adresă | Se creează un cont nou. Adresa este marcată „Verificat” și numele se preia de la furnizor. Acordul dvs. cu Termenii și Condițiile și cu Politica de Confidențialitate se înregistrează. Contul nu are parolă. |\n\nPe pagina „Creare cont”, sub butoane apare textul „Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” Dacă porniți de pe pagina „Autentificare” și nu aveți cont, contul nou se creează la fel.\n\n## Mesaje de eroare\n\nLa o eroare, pagina afișează un mesaj și linkul „Înapoi la autentificare”.\n\n| Mesaj | Ce înseamnă și ce faceți |\n|---|---|\n| „Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” | Au trecut peste 10 minute, ați terminat în alt browser sau ați repetat un pas deja parcurs. Reluați în același browser. |\n| „Autentificarea a fost anulată.” | Ați refuzat accesul pe pagina Google sau GitLab. Reluați și confirmați accesul. |\n| „Această metodă de autentificare este temporar indisponibilă.” | Metoda nu funcționează în acest moment. Intrați cu emailul și parola sau reîncercați mai târziu. |\n| „Link-ul de autentificare a expirat. Vă rugăm să reîncercați.” | Codul de unică folosință (valabil 60 de secunde) a expirat sau a fost deja folosit. Reluați autentificarea. |\n| „Vă rugăm să folosiți un cont cu adresă de email verificată.” | Furnizorul nu a confirmat adresa. Verificați-o în contul Google sau GitLab sau folosiți alt cont. |\n| „Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” | Intrați cu emailul și parola, verificați adresa, apoi reîncercați. Dacă nu știți parola, scrieți suportului. |\n| „Autentificare eșuată: cod lipsă.” | Pagina s-a deschis fără datele necesare. Reluați de pe pagina „Autentificare”. |\n| „Autentificare eșuată. Vă rugăm să încercați din nou.” | Altă eroare, de exemplu furnizorul nu a răspuns. Reîncercați; dacă se repetă, scrieți suportului. |\n| O pagină cu textul `{\"detail\":\"Too many requests\"}` | Prea multe încercări de pe aceeași adresă IP (limita: 30 pe oră). Așteptați și reîncercați. |\n\n> **Notă**\n> Pagina de finalizare și mesajele de mai sus apar în limba română, chiar dacă ați pornit din versiunea rusă a site-ului. După intrare, contul se deschide de regulă în română; schimbați limba din antet (RO / RU).\n\n## Conturile create cu Google sau GitLab nu au parolă\n\n| Unde | Ce se schimbă |\n|---|---|\n| „Profilul meu” → „Securitatea contului” | Apare doar „Verificarea emailului”, cu „Verificat”. Secțiunea „Parolă” lipsește și nu puteți adăuga o parolă din interfață. |\n| Formularul „Email” / „Parolă” de la autentificare | Nu funcționează pentru acest cont. Intrați mereu cu Google sau GitLab. |\n| Panoul app.blackbox.md | Intrați prin „Deschide panoul” (cardul „Serviciile tale” din „Profilul meu”) sau prin „Panou de administrare” din meniul contului. Intrarea directă cu nume de utilizator și parolă nu funcționează, pentru că acest cont nu are parolă. Butoanele Google și GitLab de pe pagina panoului merg doar după prima intrare prin „Deschide panoul”: vezi [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa). |\n| 2FA în panou | „Regenerează codurile de recuperare” cere parola curentă, deci nu îl puteți folosi. Păstrați codurile de recuperare primite la activare. |\n| „Ștergerea contului” | Confirmați doar cu adresa de email. Câmpul „Parola curentă” nu apare. |\n\nDacă ați legat Google sau GitLab de un cont care avea deja parolă, parola rămâne și ambele metode funcționează.\n\n## Dacă ați uitat parola contului\n\nPe blackbox.md nu există un link de resetare a parolei. Puteți intra totuși cu Google sau GitLab, dacă sunt îndeplinite două condiții: adresa contului BLACKBOX este marcată „Verificat”, iar contul Google sau GitLab folosește exact aceeași adresă.\n\n1. Pe pagina „Autentificare” apăsați „Google” sau „GitLab”.\n2. Confirmați accesul la furnizor.\n3. Intrați în contul dvs. De acum, furnizorul rămâne legat de cont.\n\nParola veche nu se schimbă. „Schimbă parola” cere „Parola curentă”, deci fără ea nu puteți seta alta: scrieți suportului. Dacă adresa nu este verificată, vedeți [Ați uitat parola contului](#cont.parola-uitata).\n\n> **Securitate**\n> Contul Google sau GitLab devine cheia contului dvs. BLACKBOX. Cine intră în el vede comenzile, poate plăti din sold, poate crea token-uri API și poate deschide panoul serverelor. Activați autentificarea în doi pași (2FA) în contul Google sau GitLab și nu rămâneți autentificat în el pe calculatoare străine.\n\n## Întrebări frecvente\n\n**După intrarea cu Google se deschide un cont gol. De ce?**\nContul Google are altă adresă decât contul BLACKBOX existent, așa că s-a creat un cont nou, separat. Apăsați „Deconectare” și intrați cu adresa inițială. Conturile nu se unesc automat.\n\n**Pot lega și Google, și GitLab de același cont?**\nDa, dacă ambele folosesc aceeași adresă ca și contul BLACKBOX, iar adresa este marcată „Verificat”.\n\n**Am schimbat adresa în contul Google. Mai pot intra?**\nDa. După prima intrare, BLACKBOX recunoaște contul Google sau GitLab după identificatorul lui, nu după adresă, și vă deschide același cont. Adresa din contul BLACKBOX nu se schimbă.\n\n**Pot dezlega Google sau GitLab de cont?**\nÎn „Contul meu” nu există această opțiune. Scrieți suportului.\n\n**Am pierdut accesul la contul Google sau GitLab. Ce fac?**\nDacă contul BLACKBOX are parolă, intrați cu emailul și parola. Dacă l-ați creat cu Google sau GitLab, nu are parolă: scrieți suportului (vezi [Cum contactați suportul BLACKBOX](#suport.contact)).\n",
    "ru": "Кнопки «Google» и «GitLab» позволяют зарегистрироваться и входить в аккаунт BLACKBOX без отдельного пароля. Они находятся над формой, под надписью «Вход через» или «Регистрация через», на страницах «Вход» (`blackbox.md/ru/login`) и «Создание аккаунта» (`blackbox.md/ru/register`). Страница «Вход» открывается из шапки сайта ссылкой «Личный кабинет».\n\n**Доступно:** любому посетителю blackbox.md, у которого есть аккаунт Google или аккаунт на GitLab.com (не на собственном сервере GitLab) с подтверждённым адресом email.\n\n## Как войти через Google или GitLab\n\n1. В шапке сайта нажмите «Личный кабинет». Откроется страница «Вход». Если аккаунта ещё нет, нажмите «Зарегистрируйтесь».\n2. Нажмите «Google» или «GitLab». Откроется страница выбранного сервиса.\n3. Выберите аккаунт и подтвердите доступ. BLACKBOX получает из этого аккаунта только имя, адрес email и идентификатор аккаунта.\n4. Вы вернётесь на blackbox.md и увидите надпись «Se finalizează autentificarea…» (эта страница на румынском, см. примечание ниже).\n5. Откроется страница, с которой вы начали вход (например, оформление заказа), или ваш профиль (`blackbox.md/account`).\n\nСессия длится 8 часов, как и при входе по паролю. Подробнее — в статье [Вход на blackbox.md и выход](#cont.autentificare).\n\n> **Важно**\n> Завершите вход не позднее чем через 10 минут после нажатия кнопки и в том же браузере, в котором вы её нажали. Иначе появится сообщение «Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.» («Сессия аутентификации истекла. Пожалуйста, повторите попытку.»).\n\n## Какой аккаунт BLACKBOX откроется\n\nGoogle или GitLab должен сообщить, что ваш адрес email подтверждён. Аккаунт GitLab, кроме того, должен быть подтверждён и активен. Дальше BLACKBOX выбирает аккаунт так:\n\n| Ситуация | Что произойдёт |\n|---|---|\n| Вы уже входили через этот аккаунт Google или GitLab | Вы входите в связанный с ним аккаунт BLACKBOX. |\n| Есть аккаунт BLACKBOX с тем же адресом, и адрес отмечен «Подтверждён» | Google или GitLab автоматически привязывается к этому аккаунту, и вы входите. Пароль аккаунта продолжает работать. |\n| Есть аккаунт с тем же адресом, но адрес отмечен «Не подтверждён» | Вход отклоняется. Войдите по email и паролю, подтвердите адрес ([Подтверждение адреса email](#cont.verificare-email)) и повторите попытку. |\n| Аккаунта с таким адресом нет | Создаётся новый аккаунт. Адрес сразу отмечен «Подтверждён», имя берётся из профиля Google или GitLab. Ваше согласие с Условиями использования и Политикой конфиденциальности фиксируется. Пароля у аккаунта нет. |\n\nНа странице «Создание аккаунта» под кнопками есть текст «Продолжая, вы принимаете Условия использования и Политику конфиденциальности.» Если вы начнёте со страницы «Вход», а аккаунта у вас нет, новый аккаунт создастся точно так же.\n\n## Сообщения об ошибках\n\nПри ошибке страница показывает сообщение и ссылку «Înapoi la autentificare» («Назад к входу»).\n\n| Текст на экране (на румынском) | Перевод | Причина и что делать |\n|---|---|---|\n| «Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.» | «Сессия аутентификации истекла. Пожалуйста, повторите попытку.» | Прошло больше 10 минут, вы завершили вход в другом браузере или повторили уже пройденный шаг. Начните заново в том же браузере. |\n| «Autentificarea a fost anulată.» | «Аутентификация была отменена.» | Вы отказали в доступе на странице Google или GitLab. Начните заново и подтвердите доступ. |\n| «Această metodă de autentificare este temporar indisponibilă.» | «Этот способ входа временно недоступен.» | Способ входа сейчас не работает. Войдите по email и паролю или повторите попытку позже. |\n| «Link-ul de autentificare a expirat. Vă rugăm să reîncercați.» | «Ссылка для входа истекла. Пожалуйста, повторите попытку.» | Одноразовый код (действует 60 секунд) истёк или уже был использован. Повторите вход. |\n| «Vă rugăm să folosiți un cont cu adresă de email verificată.» | «Пожалуйста, используйте аккаунт с подтверждённым email.» | Google или GitLab не подтвердил ваш адрес. Подтвердите его в аккаунте Google или GitLab либо используйте другой аккаунт. |\n| «Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.» | «Аккаунт с этим email уже существует, но email не был подтверждён. Войдите обычным способом и подтвердите email.» | Войдите по email и паролю, подтвердите адрес и повторите попытку. Если не помните пароль, напишите в поддержку. |\n| «Autentificare eșuată: cod lipsă.» | «Аутентификация не удалась: отсутствует код.» | Страница открылась без нужных данных. Начните заново со страницы «Вход». |\n| «Autentificare eșuată. Vă rugăm să încercați din nou.» | «Аутентификация не удалась. Пожалуйста, попробуйте снова.» | Другая ошибка, например Google или GitLab не ответил. Повторите попытку; если ошибка не уходит, напишите в поддержку. |\n| Страница с текстом `{\"detail\":\"Too many requests\"}` | — | Слишком много попыток с одного IP-адреса (лимит — 30 в час). Подождите и повторите. |\n\n> **Примечание**\n> Страница завершения входа и сообщения из таблицы выводятся на румынском, даже если вы начали с русской версии сайта. После входа аккаунт обычно тоже открывается на румынском — переключите язык в шапке сайта (RO / RU).\n\n## У аккаунтов, созданных через Google или GitLab, нет пароля\n\n| Где | Что меняется |\n|---|---|\n| «Мой профиль» → «Безопасность аккаунта» | Есть только блок «Подтверждение email» с отметкой «Подтверждён». Раздела «Пароль» нет, добавить пароль через интерфейс нельзя. |\n| Форма «Email» / «Пароль» на странице входа | Для такого аккаунта не работает. Всегда входите через Google или GitLab. |\n| Панель app.blackbox.md | Входите через «Открыть панель» (блок «Ваши услуги» в профиле) или через «Панель управления» в меню аккаунта. Прямой вход по имени пользователя и паролю не сработает: у такого аккаунта нет пароля. Кнопки Google и GitLab на странице входа в панель работают только после первого входа через «Открыть панель»: см. [Прямой вход на app.blackbox.md](#servere.autentificare-directa). |\n| 2FA в панели | «Перегенерировать коды восстановления» требует текущий пароль, поэтому эта функция вам недоступна. Сохраните коды восстановления, полученные при включении 2FA. |\n| «Удаление аккаунта» | Подтверждение только адресом email, поле «Текущий пароль» не показывается. |\n\nЕсли вы привязали Google или GitLab к аккаунту, у которого уже был пароль, пароль сохраняется и работают оба способа входа.\n\n## Если вы забыли пароль от аккаунта\n\nСсылки для сброса пароля на blackbox.md нет. Но войти через Google или GitLab можно при двух условиях: адрес аккаунта BLACKBOX отмечен «Подтверждён», а аккаунт Google или GitLab использует точно такой же адрес.\n\n1. На странице «Вход» нажмите «Google» или «GitLab».\n2. Подтвердите доступ на странице Google или GitLab.\n3. Вы войдёте в свой аккаунт. С этого момента Google или GitLab остаётся к нему привязан.\n\nСтарый пароль при этом не меняется. Для «Изменить пароль» нужен «Текущий пароль», поэтому без него задать новый нельзя — напишите в поддержку. Если адрес не подтверждён, см. [Забыли пароль от аккаунта](#cont.parola-uitata).\n\n> **Безопасность**\n> Аккаунт Google или GitLab становится ключом к вашему аккаунту BLACKBOX. Тот, кто в него войдёт, увидит заказы, сможет платить с баланса, создавать API-токены и открывать панель серверов. Включите двухфакторную аутентификацию (2FA) в Google или GitLab и не оставляйте этот аккаунт открытым на чужих компьютерах.\n\n## Частые вопросы\n\n**После входа через Google открылся пустой аккаунт. Почему?**\nАдрес аккаунта Google отличается от адреса вашего аккаунта BLACKBOX, поэтому был создан новый, отдельный аккаунт. Нажмите «Выйти» и войдите с прежним адресом. Аккаунты автоматически не объединяются.\n\n**Можно ли привязать к одному аккаунту и Google, и GitLab?**\nДа, если оба используют тот же адрес, что и аккаунт BLACKBOX, и этот адрес отмечен «Подтверждён».\n\n**Адрес в аккаунте Google изменился. Получится ли войти?**\nДа. После первого входа BLACKBOX узнаёт аккаунт Google или GitLab по его идентификатору, а не по адресу, и открывает тот же аккаунт. Адрес в аккаунте BLACKBOX при этом не меняется.\n\n**Можно ли отвязать Google или GitLab от аккаунта?**\nВ личном кабинете такой функции нет. Напишите в поддержку.\n\n**Я потерял доступ к аккаунту Google или GitLab. Что делать?**\nЕсли у аккаунта BLACKBOX есть пароль, войдите по email и паролю. Если аккаунт создан через Google или GitLab, пароля у него нет — напишите в поддержку (см. [Как связаться с поддержкой BLACKBOX](#suport.contact)).\n",
    "en": "The “Google” and “GitLab” buttons let you create your BLACKBOX account and sign in to it without a separate password. The buttons are above the form, under “Autentificare cu” (Sign in with) or “Înregistrare cu” (Sign up with), on the “Autentificare” (Sign in) page (`blackbox.md/login`) and the “Creare cont” (Create account) page (`blackbox.md/register`). You reach the “Autentificare” page from the site header, through “Cont client” (Customer account).\n\n**Available to:** any blackbox.md visitor who has a Google account or a GitLab.com account (not a self-hosted GitLab installation) with a verified email address.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to sign in with Google or GitLab\n\n1. In the site header, click “Cont client” (Customer account). The “Autentificare” (Sign in) page opens. For a new account, click “Înregistrați-vă” (Sign up).\n2. Click “Google” or “GitLab”. The provider's page opens.\n3. Choose your account and confirm access. BLACKBOX takes only your name, email address and account identifier from that account.\n4. You return to blackbox.md and see the message “Se finalizează autentificarea…” (Finishing sign-in…).\n5. The page you started from opens (for example, your order) or “Profilul meu” (My profile) (`blackbox.md/account`).\n\nYour session lasts 8 hours, the same as when you sign in with a password. For details, see [Signing in to blackbox.md and signing out](#cont.autentificare).\n\n> **Important**\n> Finish signing in within 10 minutes of clicking the button, in the same browser where you clicked it. Otherwise you see “Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” (The sign-in session has expired. Please try again.)\n\n## Which BLACKBOX account opens\n\nThe provider must confirm that your email address is verified. In GitLab, the account must also be confirmed and active. BLACKBOX then chooses the account as follows:\n\n| Situation | Result |\n|---|---|\n| You have signed in with the same Google or GitLab account before | You enter the BLACKBOX account linked to it. |\n| A BLACKBOX account with the same address exists, and the address is marked “Verificat” (Verified) | Google or GitLab is linked to this account automatically and you are signed in. The account password stays valid. |\n| An account with the same address exists, but the address is marked “Neverificat” (Not verified) | Sign-in is refused. Sign in with your email and password, verify the address ([Verifying your email address](#cont.verificare-email)), then try again. |\n| No account with this address exists | A new account is created. The address is marked “Verificat” and your name is taken from the provider. Your acceptance of the Terms and Conditions and the Privacy Policy is recorded. The account has no password. |\n\nOn the “Creare cont” (Create account) page, the text “Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” (By continuing, you accept the Terms and Conditions and the Privacy Policy.) appears under the buttons. If you start from the “Autentificare” (Sign in) page and have no account, the new account is created the same way.\n\n## Error messages\n\nIf something goes wrong, the page shows a message and the “Înapoi la autentificare” (Back to sign-in) link.\n\n| Message | What it means and what to do |\n|---|---|\n| “Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” (The sign-in session has expired. Please try again.) | More than 10 minutes have passed, you finished in a different browser, or you repeated a step you had already completed. Start again in the same browser. |\n| “Autentificarea a fost anulată.” (Sign-in was canceled.) | You declined access on the Google or GitLab page. Start again and confirm access. |\n| “Această metodă de autentificare este temporar indisponibilă.” (This sign-in method is temporarily unavailable.) | The method is not working right now. Sign in with your email and password, or try again later. |\n| “Link-ul de autentificare a expirat. Vă rugăm să reîncercați.” (The sign-in link has expired. Please try again.) | The one-time code (valid for 60 seconds) has expired or has already been used. Start signing in again. |\n| “Vă rugăm să folosiți un cont cu adresă de email verificată.” (Please use an account with a verified email address.) | The provider did not confirm your address. Verify it in your Google or GitLab account, or use another account. |\n| “Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” (An account with this email already exists, but the address has not been verified. Sign in the usual way and confirm your email.) | Sign in with your email and password, verify the address, then try again. If you do not know the password, contact support. |\n| “Autentificare eșuată: cod lipsă.” (Sign-in failed: missing code.) | The page opened without the data it needs. Start again from the “Autentificare” (Sign in) page. |\n| “Autentificare eșuată. Vă rugăm să încercați din nou.” (Sign-in failed. Please try again.) | Another error, for example the provider did not respond. Try again; if it happens again, contact support. |\n| A page with the text `{\"detail\":\"Too many requests\"}` | Too many attempts from the same IP address (limit: 30 per hour). Wait and try again. |\n\n> **Note**\n> The completion page and the messages above appear in Romanian, even if you started from the Russian version of the site. After you sign in, your account usually opens in Romanian; switch the language in the header (RO / RU).\n\n## Accounts created with Google or GitLab have no password\n\n| Where | What changes |\n|---|---|\n| “Profilul meu” (My profile) → “Securitatea contului” (Account security) | Only “Verificarea emailului” (Email verification) appears, marked “Verificat” (Verified). The “Parolă” (Password) section is missing, and you cannot add a password from the interface. |\n| The “Email” / “Parolă” form on the sign-in page | Does not work for this account. Always sign in with Google or GitLab. |\n| The app.blackbox.md panel | Enter through “Deschide panoul” (Open the panel) on the “Serviciile tale” (Your services) card in “Profilul meu”, or through “Panou de administrare” (Admin panel) in the account menu. Signing in directly with a username and password does not work, because this account has no password. The Google and GitLab buttons on the panel's page work only after your first entry through “Deschide panoul”: see [Signing in directly to app.blackbox.md](#servere.autentificare-directa). |\n| 2FA in the panel | “Regenerate Recovery Codes” asks for your current password, so you cannot use it. Keep the recovery codes you received when you turned 2FA on. |\n| “Ștergerea contului” (Account deletion) | You confirm with your email address only. The “Parola curentă” (Current password) field does not appear. |\n\nIf you linked Google or GitLab to an account that already had a password, the password stays and both methods work.\n\n## If you forgot your account password\n\nThere is no password reset link on blackbox.md. You can still sign in with Google or GitLab if two conditions are met: the address of your BLACKBOX account is marked “Verificat” (Verified), and the Google or GitLab account uses exactly the same address.\n\n1. On the “Autentificare” (Sign in) page, click “Google” or “GitLab”.\n2. Confirm access with the provider.\n3. You are signed in to your account. From now on, the provider stays linked to the account.\n\nYour old password does not change. “Schimbă parola” (Change password) asks for the “Parola curentă” (Current password), so without it you cannot set a new one: contact support. If the address is not verified, see [Forgot your account password](#cont.parola-uitata).\n\n> **Security**\n> Your Google or GitLab account becomes the key to your BLACKBOX account. Anyone who gets into it can see your orders, pay from your balance, create API tokens and open the server panel. Turn on two-factor authentication (2FA) in your Google or GitLab account, and do not stay signed in to it on other people's computers.\n\n## Frequently asked questions\n\n**After I signed in with Google, an empty account opened. Why?**\nYour Google account has a different address from your existing BLACKBOX account, so a new, separate account was created. Click “Deconectare” (Sign out) and sign in with your original address. Accounts are not merged automatically.\n\n**Can I link both Google and GitLab to the same account?**\nYes, if both use the same address as your BLACKBOX account and that address is marked “Verificat” (Verified).\n\n**I changed the address in my Google account. Can I still sign in?**\nYes. After your first sign-in, BLACKBOX recognizes your Google or GitLab account by its identifier, not by its address, and opens the same account for you. The address in your BLACKBOX account does not change.\n\n**Can I unlink Google or GitLab from my account?**\nThere is no such option in “Contul meu” (My account). Contact support.\n\n**I lost access to my Google or GitLab account. What do I do?**\nIf your BLACKBOX account has a password, sign in with your email and password. If you created it with Google or GitLab, it has no password: contact support (see [How to contact BLACKBOX support](#suport.contact)).\n"
   }
  },
  {
   "id": "cont.schimbare-parola",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/schimbare-parola/",
    "ru": "https://docs.blackbox.md/ru/cont/schimbare-parola/",
    "en": "https://docs.blackbox.md/en/cont/schimbare-parola/"
   },
   "title": {
    "ro": "Schimbarea parolei contului",
    "ru": "Смена пароля аккаунта",
    "en": "Changing your account password"
   },
   "summary": {
    "ro": "Cum schimbați parola pe blackbox.md și ce se întâmplă cu sesiunile, panoul și token-urile API.",
    "ru": "Как сменить пароль на blackbox.md и что происходит с сессиями, панелью и API-токенами.",
    "en": "How to change your password on blackbox.md and what happens to your sessions, the panel, and your API tokens."
   },
   "markdown": {
    "ro": "Parola contului se schimbă pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”), în cardul „Securitatea contului” → „Parolă”. Panoul app.blackbox.md preia automat această parolă, așa că o schimbați doar aici.\n\n**Disponibil pentru:** titularul contului blackbox.md care are parolă (contul creat cu email și parolă).\n\n## Cum schimbați parola\n\n1. Autentificați-vă pe blackbox.md și deschideți „Contul meu” → „Profil”.\n2. În cardul „Securitatea contului”, la secțiunea „Parolă” („Folosește o parolă lungă și unică pentru acest cont.”), apăsați „Schimbă parola”.\n3. În câmpul „Parola curentă”, introduceți parola pe care o folosiți acum.\n4. În câmpul „Parolă nouă”, introduceți parola nouă. Sub câmp apare indicația „Minim 12 caractere, 3 clase de caractere.”\n5. Apăsați „Salvează parola”. Cât timp cererea se procesează, butonul afișează „Se schimbă…”.\n6. Apare mesajul „Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” După aproximativ 1,5 secunde sunteți deconectat automat și ajungeți pe pagina de autentificare.\n7. Autentificați-vă cu parola nouă.\n\nCa să închideți formularul fără modificări, apăsați „Renunță”.\n\nParola nouă trebuie să aibă cel puțin 12 caractere și să conțină cel puțin 3 din aceste 4 tipuri: literă mare (A–Z), literă mică (a–z), cifră (0–9), caracter special (de exemplu `!`, `?`, `#`). Literele cu diacritice (ă, ș, ț) și literele chirilice se socotesc caractere speciale.\n\n> **Important**\n> Schimbați parola pe blackbox.md, nu în panou. Pagina „Setări” din panou are și ea secțiunea „Schimbă parola”, dar parola schimbată acolo este înlocuită cu parola de pe blackbox.md la următoarea intrare în panou din blackbox.md. Detalii în [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou).\n\n## Ce se schimbă după salvare\n\n| Ce | Efect | Ce faceți |\n|---|---|---|\n| Sesiunile pe blackbox.md | Se încheie toate, pe toate dispozitivele și browserele, inclusiv cea curentă. | Autentificați-vă din nou cu parola nouă. |\n| Token-urile API | Toate token-urile create înainte de schimbare nu mai funcționează. | Creați token-uri noi și actualizați-le în clienții AI. |\n| Parola panoului app.blackbox.md | Se actualizează la următoarea deschidere a panoului din blackbox.md. Până atunci, la intrarea directă pe app.blackbox.md funcționează încă parola veche. | Deschideți panoul din blackbox.md cât mai curând. |\n| Sesiunile deja deschise în panou | Rămân active. | Dacă e nevoie, folosiți „Deconectare de peste tot” în panou. |\n\n### Token-urile API\n\n1. Deschideți „Contul meu” → „Token-uri API” (pagina „Token-uri de acces (API)”).\n2. Creați un token nou cu „Creează token”, cu permisiunile de care aveți nevoie. Pașii sunt în [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n3. Înlocuiți token-ul vechi în fiecare client AI (Claude, Cursor, VS Code etc.).\n4. Token-urile vechi rămân în listă fără niciun marcaj, deși nu mai funcționează. Apăsați „Revocă” la fiecare și confirmați, ca să nu le confundați cu cele noi.\n\n### Panoul app.blackbox.md\n\n1. După ce v-ați autentificat cu parola nouă, apăsați „Panou de administrare” în meniul contului sau „Deschide panoul” în cardul „Serviciile tale”. Din acest moment, și autentificarea directă pe app.blackbox.md acceptă parola nouă.\n2. Ca să încheiați sesiunile de panou deschise pe alte dispozitive, deschideți în panou „Setări” (meniul din stânga, secțiunea „Cont”).\n3. În secțiunea „Sesiuni”, apăsați „Deconectare de peste tot” și confirmați mesajul „Deconectați toate sesiunile acestui cont, inclusiv aceasta? Va trebui să vă autentificați din nou.”\n4. Sesiunea curentă se încheie și ea. Deschideți din nou panoul din blackbox.md.\n\n> **Sfat**\n> Schimbarea parolei este și un buton de urgență: toate token-urile API și toate sesiunile blackbox.md se opresc deodată. Dacă bănuiți că un token sau parola au ajuns la altcineva, schimbați parola, deschideți panoul din blackbox.md (astfel parola veche nu mai funcționează nici în panou), în „Setări” apăsați „Deconectare de peste tot”, apoi creați token-uri noi. Cheile SSH și parolele root de pe servere nu se schimbă: verificați-le separat. Vedeți și [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n## Erori posibile\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Parola curentă este incorectă.” | Parola din „Parola curentă” nu se potrivește. | Verificați limba tastaturii și Caps Lock, apoi reîncercați. Dacă nu o mai știți, vedeți [Ați uitat parola contului](#cont.parola-uitata). |\n| „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” | S-a depășit limita: 5 încercări pe oră pentru un cont, 20 pe oră de pe aceeași adresă IP. Se numără toate încercările, inclusiv cele reușite. | Așteptați. Limita se eliberează treptat, în cel mult o oră. |\n| „Parola trebuie să aibă minimum 12 caractere.” | Parola nouă este prea scurtă. | Alegeți o parolă de cel puțin 12 caractere. |\n| „Parola trebuie să includă cel puțin 3 din: literă mare, literă mică, cifră, caracter special.” | Parola nouă are prea puține tipuri de caractere. | Adăugați tipurile care lipsesc. |\n| „Eroare la schimbarea parolei.” | Altă problemă, de exemplu sesiunea a expirat sau conexiunea s-a întrerupt. | Reîncărcați pagina, autentificați-vă din nou dacă vi se cere și reîncercați. Dacă eroarea se repetă, scrieți-ne. |\n\n## Conturile create cu Google sau GitLab\n\nDacă ați creat contul prin Google sau GitLab, contul nu are parolă pe blackbox.md și secțiunea „Parolă” nu apare. O parolă nu se poate adăuga din pagina contului: securitatea intrării depinde de contul dvs. Google sau GitLab. Token-urile API le dezactivați revocându-le unul câte unul cu „Revocă”, iar sesiunile din panou le încheiați cu „Deconectare de peste tot” din „Setări”. Detalii în [Autentificarea cu Google sau GitLab](#cont.google-gitlab).\n\n## Întrebări frecvente\n\n**Primesc un email după schimbarea parolei?**\nNu. La schimbarea parolei nu se trimite niciun email; confirmarea este mesajul de pe ecran.\n\n**Se schimbă și parola root a serverelor?**\nNu. Parola contului nu are legătură cu parolele root și cheile SSH ale serverelor. Pentru server, vedeți [Resetarea parolei root](#acces.resetare-parola-root).\n\n**Clientul AI afișează o eroare 401 după schimbare. De ce?**\nToken-ul a fost creat înainte de schimbarea parolei și nu mai este acceptat. Mesajul poate conține `token not recognised (revoked, expired, or unknown)`. Creați un token nou și puneți-l în client în locul celui vechi.\n\n**Nu mai știu parola curentă. Cum o schimb?**\nFormularul nu funcționează fără parola curentă. Urmați pașii din [Ați uitat parola contului](#cont.parola-uitata).\n",
    "ru": "Пароль аккаунта меняется на странице «Мой профиль» (`blackbox.md/account`, «Мой аккаунт» → «Профиль»), в карточке «Безопасность аккаунта» → «Пароль». Панель app.blackbox.md автоматически получает этот же пароль, поэтому меняйте его только здесь.\n\n**Доступно:** владельцу аккаунта blackbox.md, у которого есть пароль (аккаунт зарегистрирован по email и паролю).\n\n## Как сменить пароль\n\n1. Войдите на blackbox.md и откройте «Мой аккаунт» → «Профиль».\n2. В карточке «Безопасность аккаунта», в разделе «Пароль» («Используйте длинный и уникальный пароль для этого аккаунта.»), нажмите «Изменить пароль».\n3. В поле «Текущий пароль» введите пароль, которым пользуетесь сейчас.\n4. В поле «Новый пароль» введите новый пароль. Под полем показана подсказка «Минимум 12 символов, 3 класса символов.»\n5. Нажмите «Сохранить пароль». Пока запрос обрабатывается, на кнопке написано «Изменение…».\n6. Появится сообщение «Пароль изменён. Пожалуйста, войдите снова.» Примерно через 1,5 секунды вы автоматически выйдете из аккаунта и попадёте на страницу входа.\n7. Войдите с новым паролем.\n\nЧтобы закрыть форму без изменений, нажмите «Отменить».\n\nНовый пароль должен быть не короче 12 символов и содержать хотя бы 3 из 4 типов символов: заглавные буквы (A–Z), строчные буквы (a–z), цифры (0–9), спецсимволы (например, `!`, `?`, `#`). Буквы кириллицы и буквы с диакритикой (ă, ș, ț) считаются спецсимволами.\n\n> **Важно**\n> Меняйте пароль на blackbox.md, а не в панели. На странице «Настройки» в панели тоже есть раздел «Смена пароля», но пароль, изменённый там, будет заменён паролем от blackbox.md, как только вы снова откроете панель с blackbox.md. Подробнее — в статье [Настройки панели: профиль, пароль и сессии](#cont.setari-panou).\n\n## Что меняется после сохранения\n\n| Что | Результат | Что делать |\n|---|---|---|\n| Сессии на blackbox.md | Завершаются все — на всех устройствах и во всех браузерах, включая текущую. | Войдите снова с новым паролем. |\n| API-токены | Все токены, созданные до смены пароля, перестают работать. | Создайте новые токены и замените их в AI-клиентах. |\n| Пароль панели app.blackbox.md | Обновится, когда вы в следующий раз откроете панель с blackbox.md. До этого при прямом входе на app.blackbox.md действует старый пароль. | Как можно скорее откройте панель с blackbox.md. |\n| Уже открытые сессии в панели | Остаются активными. | При необходимости нажмите в панели «Выйти везде». |\n\n### API-токены\n\n1. Откройте «Мой аккаунт» → «API-токены» (страница «Токены доступа (API)»).\n2. Создайте новый токен кнопкой «Создать токен» с нужными разрешениями. Пошагово — в статье [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n3. Замените старый токен в каждом AI-клиенте (Claude, Cursor, VS Code и т. д.).\n4. Старые токены остаются в списке без какой-либо пометки, хотя уже не работают. Нажмите «Отозвать» у каждого и подтвердите, чтобы не путать их с новыми.\n\n### Панель app.blackbox.md\n\n1. Войдя с новым паролем, нажмите «Панель управления» в меню аккаунта или «Открыть панель» в карточке «Ваши услуги». С этого момента новый пароль действует и при прямом входе на app.blackbox.md.\n2. Чтобы завершить сессии панели на других устройствах, откройте в панели «Настройки» (левое меню, раздел «Аккаунт»).\n3. В разделе «Сессии» нажмите «Выйти везде» и подтвердите сообщение «Завершить все сессии этого аккаунта, включая текущую? Потребуется войти снова.»\n4. Текущая сессия тоже завершится. Снова откройте панель с blackbox.md.\n\n> **Совет**\n> Смена пароля работает и как аварийный выключатель: все API-токены и все сессии на blackbox.md отключаются разом. Если вы подозреваете, что токен или пароль попали к посторонним, смените пароль, откройте панель с blackbox.md (тогда старый пароль перестанет действовать и в панели), на странице «Настройки» нажмите «Выйти везде», затем создайте новые токены. SSH-ключи и пароли root на серверах при этом не меняются — проверьте их отдельно. См. также [Безопасность токенов и AI-агентов](#ai.securitate).\n\n## Возможные ошибки\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Текущий пароль неверен.» | Пароль в поле «Текущий пароль» не подходит. | Проверьте раскладку клавиатуры и Caps Lock и попробуйте ещё раз. Если вы не помните пароль, см. [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| «Слишком много попыток. Пожалуйста, повторите через несколько минут.» | Превышен лимит: 5 попыток в час на аккаунт, 20 в час с одного IP-адреса. Учитываются все попытки, в том числе успешные. | Подождите. Лимит освобождается постепенно, не позднее чем через час. |\n| «Пароль должен содержать минимум 12 символов.» | Новый пароль слишком короткий. | Выберите пароль не короче 12 символов. |\n| «Пароль должен включать минимум 3 из: заглавная буква, строчная буква, цифра, спецсимвол.» | В новом пароле слишком мало типов символов. | Добавьте недостающие типы символов. |\n| «Ошибка при смене пароля.» | Другая проблема, например истекла сессия или прервалось соединение. | Обновите страницу, при необходимости войдите снова и повторите попытку. Если ошибка повторяется, напишите нам. |\n\n## Аккаунты, созданные через Google или GitLab\n\nЕсли вы создали аккаунт через Google или GitLab, пароля на blackbox.md у него нет и раздела «Пароль» на странице не будет. Добавить пароль со страницы аккаунта нельзя: безопасность входа зависит от вашей учётной записи Google или GitLab. API-токены в этом случае отключайте по одному кнопкой «Отозвать», а сессии панели завершайте кнопкой «Выйти везде» на странице «Настройки». Подробнее — в статье [Вход через Google или GitLab](#cont.google-gitlab).\n\n## Частые вопросы\n\n**Приходит ли письмо после смены пароля?**\nНет. При смене пароля письмо не отправляется — подтверждением служит сообщение на экране.\n\n**Меняется ли пароль root на серверах?**\nНет. Пароль аккаунта не связан с паролями root и SSH-ключами серверов. Для сервера см. [Сброс пароля root](#acces.resetare-parola-root).\n\n**После смены пароля AI-клиент выдаёт ошибку 401. Почему?**\nТокен был создан до смены пароля и больше не принимается. В сообщении может быть текст `token not recognised (revoked, expired, or unknown)`. Создайте новый токен и укажите его в клиенте вместо старого.\n\n**Я не помню текущий пароль. Как его сменить?**\nБез текущего пароля форма не сработает. Воспользуйтесь инструкцией из статьи [Забыли пароль от аккаунта](#cont.parola-uitata).\n",
    "en": "You change your account password on the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)), in the “Securitatea contului” (Account security) card → “Parolă” (Password). The app.blackbox.md panel picks up this password automatically, so this is the only place you need to change it.\n\n**Available to:** the owner of a blackbox.md account that has a password (an account created with an email address and a password).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to change your password\n\n1. Sign in to blackbox.md and open “Contul meu” (My account) → “Profil” (Profile).\n2. In the “Securitatea contului” (Account security) card, under “Parolă” (Password), which reads “Folosește o parolă lungă și unică pentru acest cont.” (Use a long, unique password for this account.), click “Schimbă parola” (Change password).\n3. In the “Parola curentă” (Current password) field, enter the password you use now.\n4. In the “Parolă nouă” (New password) field, enter your new password. The hint “Minim 12 caractere, 3 clase de caractere.” (At least 12 characters, 3 character classes.) appears below the field.\n5. Click “Salvează parola” (Save password). While the request is being processed, the button shows “Se schimbă…” (Changing…).\n6. The message “Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” (Your password has been changed. Please sign in again.) appears. After about 1.5 seconds you are signed out automatically and taken to the sign-in page.\n7. Sign in with your new password.\n\nTo close the form without making any changes, click “Renunță” (Cancel).\n\nYour new password must be at least 12 characters long and contain at least 3 of these 4 types: uppercase letter (A–Z), lowercase letter (a–z), digit (0–9), special character (for example `!`, `?`, `#`). Letters with diacritics (ă, ș, ț) and Cyrillic letters count as special characters.\n\n> **Important**\n> Change your password on blackbox.md, not in the panel. The panel's “Settings” page also has a “Change Password” section, but a password changed there is replaced by your blackbox.md password the next time you enter the panel from blackbox.md. Details in [Panel settings: profile, password, and sessions](#cont.setari-panou).\n\n## What changes after you save\n\n| What | Effect | What to do |\n|---|---|---|\n| Sessions on blackbox.md | All of them end, on every device and browser, including the current one. | Sign in again with your new password. |\n| API tokens | All tokens created before the change stop working. | Create new tokens and update them in your AI clients. |\n| Password for the app.blackbox.md panel | Updated the next time you open the panel from blackbox.md. Until then, the old password still works when you sign in directly at app.blackbox.md. | Open the panel from blackbox.md as soon as possible. |\n| Sessions already open in the panel | Stay active. | If needed, use “Sign Out Everywhere” in the panel. |\n\n### API tokens\n\n1. Open “Contul meu” (My account) → “Token-uri API” (API tokens). The page is titled “Token-uri de acces (API)” (Access tokens (API)).\n2. Create a new token with “Creează token” (Create token), with the permissions you need. The steps are in [API tokens: creating, copying and revoking](#ai.token-uri-api).\n3. Replace the old token in each AI client (Claude, Cursor, VS Code, etc.).\n4. The old tokens stay in the list without any marker, even though they no longer work. Click “Revocă” (Revoke) next to each one and confirm, so you don't confuse them with the new ones.\n\n### The app.blackbox.md panel\n\n1. After you sign in with your new password, click “Panou de administrare” (Admin panel) in the account menu or “Deschide panoul” (Open the panel) in the “Serviciile tale” (Your services) card. From this moment on, signing in directly at app.blackbox.md also accepts the new password.\n2. To end panel sessions that are open on other devices, open “Settings” in the panel (left menu, “Account” section).\n3. In the “Sessions” section, click “Sign Out Everywhere” and confirm the message “Sign out of every session for this account, including this one? You will need to sign in again.”\n4. Your current session ends too. Open the panel again from blackbox.md.\n\n> **Tip**\n> Changing your password also works as an emergency switch: all API tokens and all blackbox.md sessions stop at once. If you suspect that a token or your password has reached someone else, change your password, open the panel from blackbox.md (so the old password stops working in the panel too), click “Sign Out Everywhere” in “Settings”, then create new tokens. SSH keys and root passwords on your servers do not change: check them separately. See also [Token and AI agent security](#ai.securitate).\n\n## Possible errors\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Parola curentă este incorectă.” (The current password is incorrect.) | The password in “Parola curentă” (Current password) does not match. | Check your keyboard language and Caps Lock, then try again. If you no longer remember it, see [Forgot your account password](#cont.parola-uitata). |\n| “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) | The limit was exceeded: 5 attempts per hour for one account, 20 per hour from the same IP address. All attempts count, including successful ones. | Wait. The limit frees up gradually, within one hour at most. |\n| “Parola trebuie să aibă minimum 12 caractere.” (The password must be at least 12 characters long.) | The new password is too short. | Choose a password of at least 12 characters. |\n| “Parola trebuie să includă cel puțin 3 din: literă mare, literă mică, cifră, caracter special.” (The password must include at least 3 of: uppercase letter, lowercase letter, digit, special character.) | The new password has too few character types. | Add the missing types. |\n| “Eroare la schimbarea parolei.” (Error changing the password.) | Another problem, for example your session expired or the connection dropped. | Reload the page, sign in again if asked, and try again. If the error keeps coming back, write to us. |\n\n## Accounts created with Google or GitLab\n\nIf you created your account through Google or GitLab, the account has no password on blackbox.md and the “Parolă” (Password) section does not appear. You cannot add a password from the account page: the security of your sign-in depends on your Google or GitLab account. To disable API tokens, revoke them one by one with “Revocă” (Revoke); to end panel sessions, use “Sign Out Everywhere” in “Settings”. Details in [Signing in with Google or GitLab](#cont.google-gitlab).\n\n## Frequently asked questions\n\n**Do I get an email after changing my password?**\nNo. No email is sent when you change your password; the on-screen message is the confirmation.\n\n**Does the root password of my servers change too?**\nNo. Your account password has nothing to do with your servers' root passwords and SSH keys. For a server, see [Resetting the root password](#acces.resetare-parola-root).\n\n**My AI client shows a 401 error after the change. Why?**\nThe token was created before the password change and is no longer accepted. The message may contain `token not recognised (revoked, expired, or unknown)`. Create a new token and put it in the client in place of the old one.\n\n**I no longer know my current password. How do I change it?**\nThe form does not work without your current password. Follow the steps in [Forgot your account password](#cont.parola-uitata).\n"
   }
  },
  {
   "id": "cont.parola-uitata",
   "section": "cont",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/parola-uitata/",
    "ru": "https://docs.blackbox.md/ru/cont/parola-uitata/",
    "en": "https://docs.blackbox.md/en/cont/parola-uitata/"
   },
   "title": {
    "ro": "Ați uitat parola contului",
    "ru": "Забыли пароль от аккаунта",
    "en": "Forgot your account password"
   },
   "summary": {
    "ro": "Ce opțiuni aveți dacă nu mai știți parola de pe blackbox.md și de ce linkul din panou nu ajută.",
    "ru": "Что делать, если вы не помните пароль от blackbox.md, и почему ссылка в панели не поможет.",
    "en": "Your options if you no longer know your blackbox.md password, and why the link in the panel does not help."
   },
   "markdown": {
    "ro": "Pe blackbox.md nu vă puteți reseta singur parola. Pagina „Autentificare” (`blackbox.md/login`, linkul „Cont client” din antetul site-ului) nu are un link „Am uitat parola”, iar site-ul nu trimite emailuri de resetare. Dacă nu mai știți parola, aveți două opțiuni: autentificarea cu Google sau GitLab ori o cerere la suport.\n\n**Disponibil pentru:** titularul unui cont blackbox.md care nu mai știe parola.\n\n## Ce opțiune vi se potrivește\n\n| Situația dvs. | Ce faceți |\n|---|---|\n| Aveți un cont Google sau GitLab cu aceeași adresă de email, iar adresa contului blackbox.md este verificată | Opțiunea 1: autentificarea cu Google sau GitLab |\n| Nu aveți un astfel de cont sau adresa contului blackbox.md nu a fost verificată | Opțiunea 2: suportul |\n| Vreți să setați o parolă nouă | Opțiunea 2: suportul |\n| Ați uitat parola root a serverului, nu parola contului | [Resetarea parolei root](#acces.resetare-parola-root) |\n\n## Opțiunea 1: autentificarea cu Google sau GitLab\n\nAceastă opțiune funcționează dacă:\n\n- adresa de email a contului Google sau GitLab este aceeași cu adresa contului blackbox.md și este confirmată la furnizor;\n- adresa contului blackbox.md a fost verificată anterior (vedeți [Verificarea adresei de email](#cont.verificare-email));\n- finalizați autentificarea în același browser, în cel mult 10 minute.\n\n1. Deschideți `blackbox.md/login` sau apăsați „Cont client” în antetul site-ului.\n2. Sub „Autentificare cu”, apăsați „Google” sau „GitLab”.\n3. Autentificați-vă la furnizor cu contul care are aceeași adresă de email și permiteți accesul.\n4. Pagina afișează „Se finalizează autentificarea…”, apoi se deschide „Contul meu”.\n\nFurnizorul este acum legat de contul dvs.: comenzile, facturile, soldul și serverele sunt cele pe care le aveți deja, iar data viitoare intrați cu același buton, fără parolă. Detalii: [Autentificarea cu Google sau GitLab](#cont.google-gitlab).\n\nAutentificarea cu Google sau GitLab nu vă schimbă parola. Pentru o parolă nouă aveți nevoie de cea curentă: în „Contul meu” → „Profil”, secțiunea „Securitatea contului”, butonul „Schimbă parola” cere „Parola curentă”. Dacă nu o știți, scrieți suportului (opțiunea 2).\n\n> **Atenție**\n> Dacă adresa de email de la Google sau GitLab diferă de cea a contului blackbox.md, contul nu este legat: se creează un cont nou, separat, fără comenzile și serverele dvs.\n\nDacă apare o eroare, pagina afișează mesajul și butonul „Înapoi la autentificare”:\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” | Adresa contului blackbox.md nu a fost verificată, așa că furnizorul nu poate fi legat automat. | Fără parolă nu vă puteți autentifica normal: folosiți opțiunea 2. |\n| „Vă rugăm să folosiți un cont cu adresă de email verificată.” | Google sau GitLab nu a confirmat adresa de email a contului dvs. de acolo. | Confirmați adresa la furnizor și reîncercați sau folosiți opțiunea 2. |\n| „Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” | Autentificarea nu a fost finalizată în 10 minute sau a fost finalizată în alt browser. | Reluați de la pasul 1, în același browser. |\n\n## Opțiunea 2: scrieți sau sunați la suport\n\n- **Email:** support@blackbox.md. Scrieți de pe adresa de email a contului și precizați că ați uitat parola contului blackbox.md. Răspundem în maxim 4 ore în zilele lucrătoare.\n- **Telefon sau WhatsApp:** +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n\nÎnainte de a restabili accesul, echipa vă verifică identitatea și vă spune ce informații sunt necesare. Tichetele din „Ajutor și suport” nu sunt o soluție aici: pentru ele trebuie să fiți autentificat. Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Linkul „Ați uitat parola?” din panou\n\nPe pagina de autentificare a panoului (`app.blackbox.md/login`), sub butonul „Autentificare”, există linkul „Ați uitat parola?” (în interfața în engleză: „Forgot password?”). Acest link nu vă ajută să recuperați contul blackbox.md: el se referă doar la parola contului din panou, nu la parola de pe blackbox.md.\n\nParola panoului este o copie a parolei de pe blackbox.md. Data viitoare când deschideți panoul din blackbox.md („Deschide panoul”), parola panoului este înlocuită din nou cu parola de pe blackbox.md.\n\n> **Important**\n> Nu folosiți linkul „Ați uitat parola?” din panou pentru a recupera contul blackbox.md. O parolă schimbată în panou nu funcționează pe blackbox.md și este înlocuită la următoarea deschidere a panoului din blackbox.md.\n\n## Parola contului nu este parola root\n\nCu parola contului intrați pe blackbox.md și în panou. Parola root servește la conectarea prin SSH la server și nu depinde de parola contului. Dacă ați uitat parola root, citiți [Resetarea parolei root](#acces.resetare-parola-root). Dacă ați pierdut și cheia SSH, vedeți [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## După ce v-ați recăpătat accesul\n\n- Când schimbați parola în „Contul meu” → „Profil” („Schimbă parola”), toate sesiunile deschise pe blackbox.md se închid și trebuie să vă autentificați din nou.\n- Parola panoului se actualizează automat data viitoare când deschideți panoul din blackbox.md.\n- Autentificarea cu Google sau GitLab nu schimbă parola, deci token-urile API existente continuă să funcționeze.\n\n> **Important**\n> Toate token-urile API create înainte de schimbarea parolei nu mai funcționează. Creați token-uri noi în „Contul meu” → „Token-uri API” → „Creează token” și înlocuiți-le în asistentul AI. Token-urile vechi rămân în listă: revocați-le cu butonul „Revocă”. Detalii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n## Întrebări frecvente\n\n**Pot deschide un tichet de suport fără parolă?**\nNu, pentru „Ajutor și suport” trebuie să fiți autentificat. Scrieți la support@blackbox.md sau sunați la +373 78 003948. Dacă ați intrat cu Google sau GitLab, puteți folosi și tichetele.\n\n**Văd mesajul „Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” Ce fac?**\nAți depășit limita de încercări: 5 în 5 minute pentru aceeași adresă de email (sau 20 în 5 minute de pe aceeași adresă IP). Așteptați câteva minute înainte de a reîncerca sau folosiți una dintre opțiunile de mai sus.\n\n**M-am înregistrat cu Google sau GitLab și nu am avut niciodată parolă. Ce fac?**\nNu aveți ce recupera: un cont creat cu Google sau GitLab nu are parolă. Autentificați-vă cu același buton.\n\n**Pot deschide panoul fără parola contului?**\nDa. După autentificarea cu Google sau GitLab, apăsați „Deschide panoul” în „Contul meu”: panoul se deschide fără parolă. Dacă ați activat 2FA în panou, vi se cere doar codul.\n",
    "ru": "На blackbox.md нельзя самостоятельно сбросить пароль. На странице «Вход» (`blackbox.md/ru/login`, ссылка «Личный кабинет» в шапке сайта) нет ссылки «Забыли пароль?», и сайт не присылает писем для сброса пароля. Если вы не помните пароль, есть два пути: войти через Google или GitLab либо обратиться в поддержку.\n\n**Доступно:** владельцу аккаунта blackbox.md, который не помнит пароль.\n\n## Какой вариант вам подходит\n\n| Ваша ситуация | Что делать |\n|---|---|\n| У вас есть аккаунт Google или GitLab с тем же email, и email аккаунта blackbox.md подтверждён | Вариант 1: вход через Google или GitLab |\n| Такого аккаунта нет, или email аккаунта blackbox.md не подтверждён | Вариант 2: поддержка |\n| Нужно задать новый пароль | Вариант 2: поддержка |\n| Вы забыли пароль root сервера, а не пароль аккаунта | [Сброс пароля root](#acces.resetare-parola-root) |\n\n## Вариант 1: вход через Google или GitLab\n\nЭтот способ сработает, если:\n\n- email аккаунта Google или GitLab совпадает с email аккаунта blackbox.md и подтверждён у провайдера;\n- email аккаунта blackbox.md был подтверждён раньше (см. [Подтверждение адреса email](#cont.verificare-email));\n- вы завершите вход в том же браузере в течение 10 минут.\n\n1. Откройте `blackbox.md/ru/login` или нажмите «Личный кабинет» в шапке сайта.\n2. В блоке «Вход через» нажмите «Google» или «GitLab».\n3. Войдите в аккаунт Google или GitLab с тем же email и разрешите доступ.\n4. Появится страница «Se finalizează autentificarea…» (она всегда на румынском), затем откроется личный кабинет. Если он открылся на румынском, переключите язык на «RU» в шапке сайта.\n\nТеперь провайдер привязан к вашему аккаунту: заказы, счета, баланс и серверы остаются прежними, а в следующий раз вы войдёте той же кнопкой, без пароля. Подробнее: [Вход через Google или GitLab](#cont.google-gitlab).\n\nВход через Google или GitLab не меняет пароль. Чтобы задать новый, нужен текущий: в разделе «Мой аккаунт» → «Профиль», блок «Безопасность аккаунта», кнопка «Изменить пароль» запрашивает «Текущий пароль». Если вы его не помните, напишите в поддержку (вариант 2).\n\n> **Внимание**\n> Если email в Google или GitLab отличается от email аккаунта blackbox.md, привязки не будет: создастся новый, отдельный аккаунт — без ваших заказов и серверов.\n\nЕсли что-то пошло не так, страница покажет сообщение на румынском и кнопку «Înapoi la autentificare» («Назад к входу»):\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.» (аккаунт с этим email уже есть, но адрес не подтверждён) | Email аккаунта blackbox.md не подтверждён, поэтому провайдер не может привязаться автоматически. | Без пароля обычный вход невозможен — используйте вариант 2. |\n| «Vă rugăm să folosiți un cont cu adresă de email verificată.» (используйте аккаунт с подтверждённым email) | Google или GitLab не подтвердил email вашего аккаунта у себя. | Подтвердите email у провайдера и повторите попытку или используйте вариант 2. |\n| «Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.» (сессия входа истекла) | Вход не был завершён за 10 минут или был завершён в другом браузере. | Начните заново с шага 1 в том же браузере. |\n\n## Вариант 2: напишите или позвоните в поддержку\n\n- **Email:** support@blackbox.md. Пишите с адреса, на который зарегистрирован аккаунт, и укажите, что забыли пароль от аккаунта blackbox.md. Мы отвечаем в течение 4 часов в рабочие дни.\n- **Телефон или WhatsApp:** +373 78 003948, пн–пт, 09:00–18:00 (по времени Молдовы).\n\nПрежде чем восстановить доступ, команда проверит вашу личность и скажет, какие сведения для этого нужны. Тикеты в разделе «Помощь и поддержка» здесь не помогут: для них нужно войти в аккаунт. Все способы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Ссылка «Забыли пароль?» в панели\n\nНа странице входа в панель (`app.blackbox.md/login`) под кнопкой «Войти» есть ссылка «Забыли пароль?» (в английском интерфейсе — «Forgot password?»). Восстановить доступ к blackbox.md с её помощью нельзя: эта ссылка относится только к паролю учётной записи панели, а не к паролю от blackbox.md.\n\nПароль панели — это копия пароля от blackbox.md. Когда вы в следующий раз откроете панель из blackbox.md («Открыть панель»), пароль панели снова заменится паролем от blackbox.md.\n\n> **Важно**\n> Не пытайтесь восстановить доступ к blackbox.md через ссылку «Забыли пароль?» в панели. Пароль, изменённый в панели, не подходит для blackbox.md и будет заменён при следующем открытии панели из blackbox.md.\n\n## Пароль аккаунта — это не пароль root\n\nС паролем аккаунта вы входите на blackbox.md и в панель. Пароль root нужен для подключения к серверу по SSH и с паролем аккаунта никак не связан. Если вы забыли пароль root, см. [Сброс пароля root](#acces.resetare-parola-root). Если потерян ещё и SSH-ключ, см. [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Когда доступ восстановлен\n\n- Когда вы меняете пароль в разделе «Мой аккаунт» → «Профиль» («Изменить пароль»), все открытые сессии на blackbox.md завершаются, и нужно войти заново.\n- Пароль панели обновится сам, когда вы в следующий раз откроете панель из blackbox.md.\n- Вход через Google или GitLab пароль не меняет, поэтому действующие API-токены продолжают работать.\n\n> **Важно**\n> Все API-токены, созданные до смены пароля, перестают работать. Создайте новые: «Мой аккаунт» → «API-токены» → «Создать токен», и замените их в AI-ассистенте. Старые токены остаются в списке — отзовите их кнопкой «Отозвать». Подробнее: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n## Частые вопросы\n\n**Можно ли создать тикет, не входя в аккаунт?**\nНет, раздел «Помощь и поддержка» доступен только после входа. Напишите на support@blackbox.md или позвоните по номеру +373 78 003948. Если вы вошли через Google или GitLab, тикетами тоже можно пользоваться.\n\n**Появилось сообщение «Слишком много попыток входа. Пожалуйста, повторите через несколько минут.» Что делать?**\nПревышен лимит попыток: 5 за 5 минут для одного email (или 20 за 5 минут с одного IP-адреса). Подождите несколько минут и попробуйте снова или воспользуйтесь одним из вариантов выше.\n\n**Аккаунт создан через Google или GitLab, пароля у меня никогда не было. Что делать?**\nВосстанавливать нечего: у аккаунта, созданного через Google или GitLab, пароля нет. Входите той же кнопкой.\n\n**Можно ли открыть панель, не зная пароля от аккаунта?**\nДа. Войдите через Google или GitLab и нажмите «Открыть панель» в личном кабинете — пароль не понадобится. Если в панели включена 2FA, будет запрошен только код.\n",
    "en": "You cannot reset your blackbox.md password yourself. The “Autentificare” (Sign in) page (`blackbox.md/login`, the “Cont client” (Customer account) link in the site header) has no “Am uitat parola” (Forgot password) link, and the site does not send password reset emails. If you no longer know your password, you have two options: sign in with Google or GitLab, or contact support.\n\n**Available to:** the owner of a blackbox.md account who no longer knows the password.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which option fits you\n\n| Your situation | What to do |\n|---|---|\n| You have a Google or GitLab account with the same email address, and the email address of your blackbox.md account is verified | Option 1: sign in with Google or GitLab |\n| You do not have such an account, or the email address of your blackbox.md account has not been verified | Option 2: contact support |\n| You want to set a new password | Option 2: contact support |\n| You forgot your server's root password, not your account password | [Resetting the root password](#acces.resetare-parola-root) |\n\n## Option 1: sign in with Google or GitLab\n\nThis option works if:\n\n- the email address of your Google or GitLab account is the same as the address of your blackbox.md account and is confirmed with the provider;\n- the address of your blackbox.md account was verified earlier (see [Verifying your email address](#cont.verificare-email));\n- you complete sign-in in the same browser, within 10 minutes.\n\n1. Open `blackbox.md/login` or click “Cont client” (Customer account) in the site header.\n2. Under “Autentificare cu” (Sign in with), click “Google” or “GitLab”.\n3. Sign in to the provider with the account that has the same email address, and allow access.\n4. The page shows “Se finalizează autentificarea…” (Finishing sign-in…), then “Contul meu” (My account) opens.\n\nThe provider is now linked to your account: your orders, invoices, balance and servers are the ones you already have, and next time you sign in with the same button, without a password. Details: [Signing in with Google or GitLab](#cont.google-gitlab).\n\nSigning in with Google or GitLab does not change your password. To set a new password, you need the current one: in “Contul meu” → “Profil” (Profile), section “Securitatea contului” (Account security), the “Schimbă parola” (Change password) button asks for the “Parola curentă” (Current password). If you do not know it, write to support (option 2).\n\n> **Warning**\n> If the email address on Google or GitLab differs from the address of your blackbox.md account, the account is not linked: a new, separate account is created, without your orders and servers.\n\nIf an error occurs, the page shows the message and the “Înapoi la autentificare” (Back to sign-in) button:\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” (An account with this email already exists, but the address has not been verified. Sign in the usual way and confirm your email.) | The address of your blackbox.md account has not been verified, so the provider cannot be linked automatically. | Without a password, you cannot sign in normally: use option 2. |\n| “Vă rugăm să folosiți un cont cu adresă de email verificată.” (Please use an account with a verified email address.) | Google or GitLab has not confirmed the email address of your account there. | Confirm the address with the provider and try again, or use option 2. |\n| “Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” (The sign-in session has expired. Please try again.) | Sign-in was not finished within 10 minutes, or it was finished in a different browser. | Start again from step 1, in the same browser. |\n\n## Option 2: write to or call support\n\n- **Email:** support@blackbox.md. Write from your account's email address and say that you forgot your blackbox.md account password. We reply within 4 hours on business days.\n- **Phone or WhatsApp:** +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n\nBefore restoring your access, the team verifies your identity and tells you what information is needed. Support tickets in “Ajutor și suport” (Help and support) are not a solution here: you must be signed in to use them. All channels: [How to contact BLACKBOX support](#suport.contact).\n\n## The “Forgot password?” link in the panel\n\nOn the panel sign-in page (`app.blackbox.md/login`), below the “Sign in” button, there is a “Forgot password?” link. This link does not help you recover your blackbox.md account: it applies only to the password of your panel account, not to your blackbox.md password.\n\nThe panel password is a copy of your blackbox.md password. The next time you open the panel from blackbox.md with the “Deschide panoul” (Open the panel) button, the panel password is replaced with your blackbox.md password again.\n\n> **Important**\n> Do not use the “Forgot password?” link in the panel to recover your blackbox.md account. A password changed in the panel does not work on blackbox.md and is replaced the next time you open the panel from blackbox.md.\n\n## Your account password is not the root password\n\nYour account password is what you use to sign in to blackbox.md and to the panel. The root password is used to connect to your server over SSH and does not depend on your account password. If you forgot the root password, read [Resetting the root password](#acces.resetare-parola-root). If you also lost your SSH key, see [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## After you regain access\n\n- When you change your password with “Schimbă parola” (Change password) in “Contul meu” (My account) → “Profil” (Profile), all open sessions on blackbox.md are closed and you must sign in again.\n- The panel password is updated automatically the next time you open the panel from blackbox.md.\n- Signing in with Google or GitLab does not change your password, so your existing API tokens keep working.\n\n> **Important**\n> All API tokens created before the password change stop working. Create new tokens in “Contul meu” → “Token-uri API” (API tokens) → “Creează token” (Create token) and replace them in your AI assistant. The old tokens stay in the list: revoke them with the “Revocă” (Revoke) button. Details: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n## Frequently asked questions\n\n**Can I open a support ticket without a password?**\nNo, you must be signed in to use “Ajutor și suport” (Help and support). Write to support@blackbox.md or call +373 78 003948. If you signed in with Google or GitLab, you can also use support tickets.\n\n**I see the message “Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” (Too many sign-in attempts. Please try again in a few minutes.) What do I do?**\nYou exceeded the attempt limit: 5 in 5 minutes for the same email address (or 20 in 5 minutes from the same IP address). Wait a few minutes before trying again, or use one of the options above.\n\n**I signed up with Google or GitLab and never had a password. What do I do?**\nThere is nothing to recover: an account created with Google or GitLab has no password. Sign in with the same button.\n\n**Can I open the panel without my account password?**\nYes. After signing in with Google or GitLab, click “Deschide panoul” (Open the panel) in “Contul meu” (My account): the panel opens without a password. If you turned on two-factor authentication (2FA) in the panel, you are asked only for the code.\n"
   }
  },
  {
   "id": "cont.autentificare-2fa",
   "section": "cont",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/autentificare-2fa/",
    "ru": "https://docs.blackbox.md/ru/cont/autentificare-2fa/",
    "en": "https://docs.blackbox.md/en/cont/autentificare-2fa/"
   },
   "title": {
    "ro": "Autentificarea în doi pași (2FA) în panou",
    "ru": "Двухфакторная аутентификация (2FA) в панели",
    "en": "Two-factor authentication (2FA) in the panel"
   },
   "summary": {
    "ro": "Cum activați 2FA în panoul app.blackbox.md, cum folosiți codurile de recuperare și cum funcționează „Rețineți acest dispozitiv 30 de zile”.",
    "ru": "Как включить 2FA в панели app.blackbox.md, как пользоваться кодами восстановления и как работает «Запомнить это устройство на 30 дней».",
    "en": "How to enable 2FA in the app.blackbox.md panel, how to use recovery codes, and how “Remember this device for 30 days” works."
   },
   "markdown": {
    "ro": "Autentificarea în doi pași (2FA) adaugă la intrarea în panoul app.blackbox.md un cod de unică folosință din aplicația de autentificare de pe telefon. O configurați pe pagina „Securitate” (`app.blackbox.md/security`): meniul din stânga, secțiunea „Cont” → „Securitate”, sau meniul utilizatorului (dreapta sus) → „Securitate și 2FA”.\n\n**Disponibil pentru:** orice client care are acces la panou. Pentru clienți, 2FA este opțională.\n\n## Ce arată pagina „Securitate”\n\nBlocul „Autentificare în doi pași” arată starea curentă:\n\n| Câmp | Valoare | Ce înseamnă |\n|---|---|---|\n| „Stare” | „Dezactivată” | 2FA nu este configurată. Pe pagină apare butonul „Activează autentificarea în doi pași”. |\n| „Stare” | „Activată” | La intrarea în panou se cere codul. Pe pagină apare butonul „Regenerează codurile de recuperare”. |\n| „Coduri de recuperare rămase” | de la 0 la 8 | Apare doar când 2FA este activată. Numărul este evidențiat când rămân 2 coduri sau mai puține: atunci regenerați codurile. |\n\n## Cum activați 2FA\n\nAveți nevoie de o aplicație de autentificare pe telefon, de exemplu Google Authenticator, Authy sau 1Password.\n\n> **Important**\n> După activare nu puteți dezactiva 2FA din panou: nu există un astfel de buton. Pregătiți telefonul și un loc sigur pentru codurile de recuperare înainte să începeți.\n\n1. Deschideți „Securitate” și apăsați „Activează autentificarea în doi pași”.\n2. Apare secțiunea „Configurare aplicație de autentificare”. Scanați codul QR cu aplicația. Dacă nu puteți scana, adăugați manual în aplicație cheia afișată la „Cheie pentru introducere manuală”, ca o cheie bazată pe timp.\n3. În aplicație apare intrarea „BlackBox” cu adresa dvs. de email, de exemplu `BlackBox:nume@companie.md`.\n4. Salvați cele 8 coduri de recuperare de sub mesajul „Păstrați aceste coduri de recuperare într-un loc sigur. Fiecare poate fi folosit o singură dată dacă pierdeți accesul la aplicație.” Butonul „Copiază tot” le copiază pe toate, câte unul pe linie. Fiecare cod are 8 caractere: cifre și literele A–F.\n5. În secțiunea „Verificare”, introduceți codul din 6 cifre afișat acum în aplicație.\n6. Apăsați „Confirmă și activează”. Butonul devine activ după ce ați introdus 6 cifre.\n7. Panoul vă duce pe pagina „Prezentare generală”. Pe pagina „Securitate”, „Stare” arată acum „Activată”, iar „Coduri de recuperare rămase” arată 8.\n\nDacă codul nu este acceptat, câmpul se golește și apare un mesaj de eroare (de exemplu „Invalid code”). Verificați ora telefonului și introduceți codul nou din aplicație.\n\nCodurile de recuperare nu mai pot fi afișate ulterior, ci doar regenerate. Dacă părăsiți pagina înainte de pasul 6, 2FA rămâne dezactivată, iar la următoarea încercare primiți alt cod QR, altă cheie și alte coduri. Ștergeți atunci din aplicație intrarea veche: ea nu va mai funcționa.\n\n> **Sfat**\n> Păstrați codurile de recuperare offline, separat de telefon: într-un manager de parole sau tipărite, într-un loc sigur. Dacă pierdeți și telefonul, și codurile, pentru a recupera accesul la panou va trebui, de regulă, să contactați suportul.\n\n## Cum intrați în panou după activare\n\nDin acest moment, fiecare intrare în panou cere codul:\n\n1. Intrați ca de obicei: din blackbox.md (vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)) sau direct (vedeți [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa)).\n2. Apare pasul „Autentificare în doi pași” cu mesajul „Introduceți codul din 6 cifre din aplicația de autentificare.”\n3. Introduceți codul în câmpul „Cod din aplicație”.\n4. Dacă ați venit din blackbox.md, puteți bifa „Rețineți acest dispozitiv 30 de zile” (detalii mai jos).\n5. Apăsați „Verifică”.\n\nPasul trebuie finalizat în 5 minute, cu cel mult 5 încercări; după aceea reluați intrarea de la început. Un cod deja folosit nu este acceptat a doua oară: așteptați următorul cod din aplicație (codurile se schimbă la fiecare 30 de secunde). Butonul „Înapoi” vă întoarce la formularul cu nume de utilizator și parolă.\n\n### Cu un cod de recuperare\n\n1. Pe pasul „Autentificare în doi pași”, apăsați „Folosiți un cod de recuperare”.\n2. Introduceți unul dintre codurile de 8 caractere în câmpul „Cod de recuperare”. Literele mari și mici nu contează.\n3. Apăsați „Verifică”.\n\nFiecare cod funcționează o singură dată. Ca să reveniți la codul din aplicație, apăsați „Folosiți codul din aplicație”. Dacă nu mai aveți nici telefonul, nici coduri, citiți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut): acolo este explicat și linkul „Ați pierdut dispozitivul 2FA?”.\n\n### „Rețineți acest dispozitiv 30 de zile”\n\nBifa apare doar când intrați din blackbox.md. Dacă o bifați, următoarele intrări din blackbox.md, în același browser, nu mai cer codul timp de 30 de zile. La intrarea directă pe `app.blackbox.md/login` codul se cere întotdeauna. Nu bifați pe un calculator comun sau public.\n\nCodul se cere din nou dacă:\n\n- au trecut 30 de zile;\n- intrați din alt browser sau de pe alt dispozitiv ori ați șters cookie-urile browserului;\n- parola panoului a fost schimbată sau resetată în panou;\n- 2FA a fost resetată;\n- s-a folosit „Setări” → „Deconectare de peste tot”;\n- uneori, după o actualizare a browserului.\n\nSchimbarea parolei pe blackbox.md nu anulează dispozitivele reținute. Pentru asta folosiți „Deconectare de peste tot”.\n\n## Mesaje de eroare la pasul 2FA\n\nAceste mesaje apar de regulă în engleză.\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Invalid 2FA code” sau „Cod invalid. Încercați din nou.” | Codul este greșit, a expirat sau a fost deja folosit; ora telefonului nu este exactă | Introduceți codul următor; setați ora automată pe telefon |\n| „Too many 2FA attempts” | Ați folosit cele 5 încercări | Reluați intrarea de la început |\n| „No 2FA session pending” sau „Invalid 2FA token” | Au trecut cele 5 minute | Reluați intrarea de la început |\n\n## Cum regenerați codurile de recuperare\n\nRegenerați codurile când au rămas puține sau dacă bănuiți că le-a văzut altcineva.\n\n1. Deschideți „Securitate”. „Stare” trebuie să fie „Activată”.\n2. Apăsați „Regenerează codurile de recuperare”.\n3. Introduceți parola în câmpul „Parola curentă”. Dacă intrați în panou din blackbox.md, aceasta este parola contului blackbox.md.\n4. Apăsați „Regenerează”.\n5. Apar 8 coduri noi și mesajul „Păstrați aceste coduri de recuperare într-un loc sigur. Nu vor mai fi afișate.” Salvați-le, de exemplu cu „Copiază tot”.\n\nCodurile vechi nu mai funcționează din acest moment. Dacă parola este greșită, apare un mesaj de eroare (de exemplu „Invalid password”). Butonul „Anulează” închide formularul.\n\nConturile create doar cu Google sau GitLab nu au o parolă de panou, deci nu pot regenera codurile singure. Scrieți la support@blackbox.md de pe adresa de email a contului: suportul poate reseta 2FA, apoi o activați din nou și primiți 8 coduri noi.\n\n## Dezactivarea 2FA\n\nÎn panou nu există un buton pentru dezactivarea 2FA. Dacă doriți să o dezactivați, scrieți la support@blackbox.md de pe adresa de email a contului (vedeți [Cum contactați suportul BLACKBOX](#suport.contact)). Suportul vă verifică identitatea înainte de a reseta 2FA. După resetare, toate sesiunile din panou se încheie, iar 2FA poate fi activată din nou oricând.\n\n## Întrebări frecvente\n\n**Codul din aplicație este respins de fiecare dată. Ce verific?**\nVerificați că telefonul are ora setată automat: codurile depind de oră. Introduceți codul afișat acum, nu unul care tocmai a expirat sau pe care l-ați folosit deja.\n\n**Îmi schimb telefonul. Cum mut 2FA?**\nMutați intrarea „BlackBox” pe noul telefon cu funcția de transfer sau sincronizare a aplicației de autentificare, înainte de a renunța la telefonul vechi. În panou nu puteți reconfigura 2FA cât timp este activată. Dacă aplicația nu permite transferul, cereți resetarea 2FA (vedeți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut)), apoi activați-o din nou pe telefonul nou. Până atunci puteți intra cu codurile de recuperare.\n\n**Am pierdut laptopul pe care am bifat „Rețineți acest dispozitiv 30 de zile”.**\nIntrați în panou de pe alt dispozitiv și folosiți „Setări” → „Deconectare de peste tot”: toate sesiunile din panou se încheie, iar dispozitivele reținute vor cere din nou codul. Schimbați și parola pe blackbox.md, ca să se încheie și sesiunile de acolo. Detalii în [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou).\n\n**Am bifat „Rețineți acest dispozitiv”, dar codul mi se cere în continuare.**\nBifa funcționează doar la intrarea din blackbox.md și doar în același browser. Verificați lista de situații din secțiunea „Rețineți acest dispozitiv 30 de zile” de mai sus.\n",
    "ru": "Двухфакторная аутентификация (2FA) добавляет ко входу в панель app.blackbox.md ещё один шаг: одноразовый код из приложения-аутентификатора на телефоне. Она настраивается на странице «Безопасность» (`app.blackbox.md/security`): левое меню, раздел «Аккаунт» → «Безопасность», или меню пользователя (справа вверху) → «Безопасность и 2FA».\n\n**Доступно:** любому клиенту с доступом к панели. Для клиентов 2FA необязательна.\n\n## Что показывает страница «Безопасность»\n\nВ блоке «Двухфакторная аутентификация» виден текущий статус:\n\n| Поле | Значение | Что это значит |\n|---|---|---|\n| «Статус» | «Отключена» | 2FA не настроена. Доступна кнопка «Включить двухфакторную аутентификацию». |\n| «Статус» | «Включена» | При входе в панель запрашивается код. Доступна кнопка «Перегенерировать коды восстановления». |\n| «Осталось кодов восстановления» | от 0 до 8 | Показывается только при включённой 2FA. Число выделяется цветом, когда остаётся 2 кода или меньше: тогда перегенерируйте коды. |\n\n## Как включить 2FA\n\nПонадобится приложение-аутентификатор на телефоне, например Google Authenticator, Authy или 1Password.\n\n> **Важно**\n> После включения отключить 2FA в панели нельзя: такой кнопки нет. Прежде чем начать, подготовьте телефон и надёжное место для кодов восстановления.\n\n1. Откройте «Безопасность» и нажмите «Включить двухфакторную аутентификацию».\n2. Появится раздел «Настройка приложения-аутентификатора». Отсканируйте QR-код приложением. Если отсканировать код не получается, введите в приложении вручную ключ из поля «Ключ для ручного ввода» (тип ключа — на основе времени).\n3. В приложении появится запись «BlackBox» с вашим email, например `BlackBox:name@example.com`.\n4. Сохраните 8 кодов восстановления под сообщением «Сохраните эти коды восстановления в надёжном месте. Каждый можно использовать один раз, если вы потеряете доступ к аутентификатору.» Кнопка «Копировать все» копирует их все, по одному на строку. Каждый код состоит из 8 символов: цифр и букв A–F.\n5. В разделе «Проверка» введите 6-значный код, который сейчас показывает приложение.\n6. Нажмите «Подтвердить и включить». Кнопка станет активной, когда вы введёте 6 цифр.\n7. Панель откроет страницу «Обзор». На странице «Безопасность» в поле «Статус» теперь указано «Включена», а в поле «Осталось кодов восстановления» — 8.\n\nЕсли код не принят, поле очищается и появляется сообщение об ошибке (например, «Invalid code»). Проверьте время на телефоне и введите новый код из приложения.\n\nПоказать коды восстановления повторно нельзя, их можно только перегенерировать. Если уйти со страницы до шага 6, 2FA останется отключённой, а при следующей попытке вы получите новый QR-код, новый ключ и новые коды. В этом случае удалите из приложения старую запись: она работать не будет.\n\n> **Совет**\n> Храните коды восстановления офлайн и отдельно от телефона: в менеджере паролей или распечатанными в надёжном месте. Если вы потеряете и телефон, и коды, для восстановления доступа к панели, как правило, придётся обращаться в поддержку.\n\n## Как входить в панель после включения\n\nС этого момента при каждом входе в панель запрашивается код:\n\n1. Войдите как обычно: из blackbox.md (см. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)) или напрямую (см. [Прямой вход на app.blackbox.md](#servere.autentificare-directa)).\n2. Откроется шаг «Двухфакторная аутентификация» с подсказкой «Введите 6-значный код из приложения-аутентификатора.»\n3. Введите код в поле «Код из приложения».\n4. Если вы пришли из blackbox.md, можно отметить «Запомнить это устройство на 30 дней» (подробнее ниже).\n5. Нажмите «Проверить».\n\nЭтот шаг нужно пройти за 5 минут, не более чем за 5 попыток; после этого начните вход заново. Уже использованный код повторно не принимается: дождитесь следующего кода в приложении (коды меняются каждые 30 секунд). Кнопка «Назад» возвращает к форме с именем пользователя и паролем.\n\n### С кодом восстановления\n\n1. На шаге «Двухфакторная аутентификация» нажмите «Использовать код восстановления».\n2. Введите один из 8-символьных кодов в поле «Код восстановления». Регистр букв не важен.\n3. Нажмите «Проверить».\n\nКаждый код срабатывает только один раз. Чтобы вернуться к коду из приложения, нажмите «Использовать код из приложения». Если нет ни телефона, ни кодов, прочитайте статью [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut): там описана и ссылка «Потеряли устройство 2FA?».\n\n### «Запомнить это устройство на 30 дней»\n\nЭта отметка появляется, только когда вы входите из blackbox.md. Если её поставить, следующие 30 дней при входе из blackbox.md в том же браузере код запрашиваться не будет. При прямом входе на `app.blackbox.md/login` код запрашивается всегда. Не ставьте отметку на общем или чужом компьютере.\n\nКод снова будет запрошен, если:\n\n- прошло 30 дней;\n- вы входите из другого браузера или с другого устройства либо удалили cookie в браузере;\n- пароль панели был изменён или сброшен в панели;\n- 2FA была сброшена;\n- на странице «Настройки» была нажата кнопка «Выйти везде»;\n- иногда — после обновления браузера.\n\nСмена пароля на blackbox.md запомненные устройства не сбрасывает. Для этого используйте «Выйти везде».\n\n## Сообщения об ошибках на шаге 2FA\n\nОбычно эти сообщения выводятся на английском.\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Invalid 2FA code» или «Неверный код. Попробуйте ещё раз.» | Код неверный, устарел или уже использован; на телефоне неточное время | Введите следующий код; включите автоматическую установку времени на телефоне |\n| «Too many 2FA attempts» | Использованы все 5 попыток | Начните вход заново |\n| «No 2FA session pending» или «Invalid 2FA token» | Прошло 5 минут | Начните вход заново |\n\n## Как перегенерировать коды восстановления\n\nСоздайте новые коды, когда старых осталось мало или если вы подозреваете, что их кто-то видел.\n\n1. Откройте «Безопасность». «Статус» должен быть «Включена».\n2. Нажмите «Перегенерировать коды восстановления».\n3. Введите пароль в поле «Текущий пароль». Если вы входите в панель из blackbox.md, это пароль от аккаунта blackbox.md.\n4. Нажмите «Перегенерировать».\n5. Появятся 8 новых кодов и сообщение «Сохраните эти коды восстановления в надёжном месте. Они больше не будут показаны.» Сохраните их, например кнопкой «Копировать все».\n\nСтарые коды с этого момента не действуют. Если пароль неверный, появится сообщение об ошибке (например, «Invalid password»). Кнопка «Отмена» закрывает форму.\n\nУ аккаунтов, созданных только через Google или GitLab, нет пароля панели, поэтому перегенерировать коды самостоятельно нельзя. Напишите на support@blackbox.md с адреса email вашего аккаунта: поддержка может сбросить 2FA, после чего вы включите её снова и получите 8 новых кодов.\n\n## Отключение 2FA\n\nКнопки для отключения 2FA в панели нет. Если вы хотите её отключить, напишите на support@blackbox.md с адреса email вашего аккаунта (см. [Как связаться с поддержкой BLACKBOX](#suport.contact)). Перед сбросом 2FA поддержка проверит вашу личность. После сброса все сессии в панели завершаются, а 2FA можно снова включить в любой момент.\n\n## Частые вопросы\n\n**Код из приложения каждый раз отклоняется. Что проверить?**\nУбедитесь, что время на телефоне устанавливается автоматически: коды зависят от времени. Вводите код, который показан сейчас, а не тот, что только что сменился или уже был использован.\n\n**Я меняю телефон. Как перенести 2FA?**\nПеренесите запись «BlackBox» на новый телефон функцией переноса или синхронизации в приложении-аутентификаторе, пока старый телефон ещё у вас. Пока 2FA включена, заново настроить её в панели нельзя. Если приложение не умеет переносить записи, запросите сброс 2FA (см. [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut)), а затем включите её снова на новом телефоне. До этого входите с кодами восстановления.\n\n**Потерян ноутбук, на котором стояла отметка «Запомнить это устройство на 30 дней».**\nВойдите в панель с другого устройства, откройте «Настройки» и нажмите «Выйти везде»: все сессии в панели завершатся, а запомненные устройства снова будут запрашивать код. Смените и пароль на blackbox.md, чтобы завершились сессии и там. Подробнее — в статье [Настройки панели: профиль, пароль и сессии](#cont.setari-panou).\n\n**Отметка «Запомнить это устройство» стояла, но код всё равно запрашивается.**\nОтметка работает только при входе из blackbox.md и только в том же браузере. Сверьтесь со списком в разделе «Запомнить это устройство на 30 дней» выше.\n",
    "en": "Two-factor authentication (2FA) adds a one-time code from an authenticator app on your phone to signing in to the app.blackbox.md panel. You set it up on the “Security” page (`app.blackbox.md/security`): in the left menu, section “Account” → “Security”, or in the user menu (top right) → “Security & 2FA”.\n\n**Available to:** any customer with access to the panel. For customers, 2FA is optional.\n\n## What the “Security” page shows\n\nThe “Two-Factor Authentication” block shows the current status:\n\n| Field | Value | What it means |\n|---|---|---|\n| “Status” | “Disabled” | 2FA is not set up. The page shows the “Enable Two-Factor Authentication” button. |\n| “Status” | “Enabled” | The panel asks for a code when you sign in. The page shows the “Regenerate Recovery Codes” button. |\n| “Recovery codes remaining” | 0 to 8 | Shown only when 2FA is enabled. The number is highlighted when 2 or fewer codes are left: that is when you should regenerate your codes. |\n\n## How to enable 2FA\n\nYou need an authenticator app on your phone, for example Google Authenticator, Authy or 1Password.\n\n> **Important**\n> Once 2FA is enabled, you cannot turn it off in the panel: there is no button for that. Have your phone ready, and a safe place for the recovery codes, before you start.\n\n1. Open “Security” and click “Enable Two-Factor Authentication”.\n2. The “Set Up Authenticator” section appears. Scan the QR code with the app. If you can't scan it, add the key shown under “Manual entry key” to the app by hand, as a time-based key.\n3. The app shows a “BlackBox” entry with your email address, for example `BlackBox:name@example.com`.\n4. Save the 8 recovery codes shown below the message “Save these recovery codes in a safe place. Each can be used once if you lose access to your authenticator.” The “Copy All” button copies all of them, one per line. Each code is 8 characters long: digits and the letters A–F.\n5. In the “Verification” section, enter the 6-digit code the app shows right now.\n6. Click “Confirm & Enable”. The button becomes active once you have entered 6 digits.\n7. The panel takes you to the “Overview” page. On the “Security” page, “Status” now shows “Enabled” and “Recovery codes remaining” shows 8.\n\nIf the code is not accepted, the field is cleared and an error message appears (for example “Invalid code”). Check the time on your phone and enter the new code from the app.\n\nRecovery codes cannot be shown again later; they can only be regenerated. If you leave the page before step 6, 2FA stays disabled, and the next time you try you get a different QR code, a different key and different codes. In that case, delete the old entry from the app: it will no longer work.\n\n> **Tip**\n> Keep your recovery codes offline and separate from your phone: in a password manager, or printed and stored in a safe place. If you lose both your phone and your codes, you will usually have to contact support to regain access to the panel.\n\n## How to sign in to the panel after enabling 2FA\n\nFrom now on, every sign-in to the panel asks for the code:\n\n1. Sign in as usual: from blackbox.md (see [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)) or directly (see [Signing in directly to app.blackbox.md](#servere.autentificare-directa)).\n2. The “Two-Factor Authentication” step appears with the message “Enter the 6-digit code from your authenticator app.”\n3. Enter the code in the “Authenticator Code” field.\n4. If you came from blackbox.md, you can select “Remember this device for 30 days” (details below).\n5. Click “Verify”.\n\nYou must complete this step within 5 minutes and in no more than 5 attempts; after that, start signing in again from the beginning. A code that has already been used is not accepted a second time: wait for the next code in the app (codes change every 30 seconds). The “Back” button takes you back to the username and password form.\n\n### With a recovery code\n\n1. On the “Two-Factor Authentication” step, click “Use recovery code instead”.\n2. Enter one of your 8-character codes in the “Recovery Code” field. Uppercase and lowercase letters are treated the same.\n3. Click “Verify”.\n\nEach code works only once. To go back to the code from the app, click “Use authenticator code instead”. If you have neither your phone nor any codes left, read [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut): it also explains the “Lost 2FA device?” link.\n\n### “Remember this device for 30 days”\n\nThis checkbox appears only when you sign in from blackbox.md. If you select it, your next sign-ins from blackbox.md in the same browser will not ask for the code for 30 days. When you sign in directly at `app.blackbox.md/login`, the code is always required. Do not select it on a shared or public computer.\n\nThe code is required again if:\n\n- 30 days have passed;\n- you sign in from a different browser or device, or you have cleared your browser's cookies;\n- the panel password was changed or reset in the panel;\n- 2FA was reset;\n- “Settings” → “Sign Out Everywhere” was used;\n- sometimes, after a browser update.\n\nChanging your password on blackbox.md does not cancel remembered devices. Use “Sign Out Everywhere” for that.\n\n## Error messages at the 2FA step\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Invalid 2FA code” or “Invalid code. Please try again.” | The code is wrong, has expired or has already been used; the time on your phone is not accurate | Enter the next code; set your phone's time to update automatically |\n| “Too many 2FA attempts” | You have used all 5 attempts | Start signing in again from the beginning |\n| “No 2FA session pending” or “Invalid 2FA token” | The 5 minutes have passed | Start signing in again from the beginning |\n\n## How to regenerate recovery codes\n\nRegenerate your codes when only a few are left, or if you suspect that someone else has seen them.\n\n1. Open “Security”. “Status” must be “Enabled”.\n2. Click “Regenerate Recovery Codes”.\n3. Enter your password in the “Current password” field. If you sign in to the panel from blackbox.md, this is your blackbox.md account password.\n4. Click “Regenerate”.\n5. 8 new codes appear, with the message “Save these recovery codes in a safe place. They will not be shown again.” Save them, for example with “Copy All”.\n\nFrom this moment, your old codes no longer work. If the password is wrong, an error message appears (for example “Invalid password”). The “Cancel” button closes the form.\n\nAccounts created only with Google or GitLab don't have a panel password, so they can't regenerate the codes themselves. Write to support@blackbox.md from your account's email address: support can reset 2FA, and then you enable it again and get 8 new codes.\n\n## Turning off 2FA\n\nThere is no button in the panel to turn off 2FA. If you want to turn it off, write to support@blackbox.md from your account's email address (see [How to contact BLACKBOX support](#suport.contact)). Support verifies your identity before resetting 2FA. After the reset, all your panel sessions end, and you can enable 2FA again at any time.\n\n## Frequently asked questions\n\n**The code from the app is rejected every time. What should I check?**\nMake sure your phone sets its time automatically: the codes depend on the time. Enter the code shown right now, not one that has just expired or that you have already used.\n\n**I'm changing phones. How do I move 2FA?**\nMove the “BlackBox” entry to your new phone with your authenticator app's transfer or sync feature before you give up the old phone. You can't set up 2FA again in the panel while it is enabled. If the app can't transfer entries, ask for a 2FA reset (see [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut)), then enable it again on the new phone. Until then, you can sign in with your recovery codes.\n\n**I lost the laptop on which I selected “Remember this device for 30 days”.**\nSign in to the panel from another device and use “Settings” → “Sign Out Everywhere”: all panel sessions end, and remembered devices will ask for the code again. Also change your password on blackbox.md so that your sessions there end too. Details in [Panel settings: profile, password, and sessions](#cont.setari-panou).\n\n**I selected “Remember this device for 30 days”, but I'm still asked for the code.**\nThe checkbox works only when you sign in from blackbox.md, and only in the same browser. Check the list in the “Remember this device for 30 days” section above.\n"
   }
  },
  {
   "id": "cont.dispozitiv-2fa-pierdut",
   "section": "cont",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/dispozitiv-2fa-pierdut/",
    "ru": "https://docs.blackbox.md/ru/cont/dispozitiv-2fa-pierdut/",
    "en": "https://docs.blackbox.md/en/cont/dispozitiv-2fa-pierdut/"
   },
   "title": {
    "ro": "Ați pierdut dispozitivul pentru 2FA",
    "ru": "Потеряно устройство для 2FA",
    "en": "Lost your 2FA device"
   },
   "summary": {
    "ro": "Cum intrați în panou fără aplicația de autentificare: coduri de recuperare sau ajutorul suportului.",
    "ru": "Как войти в панель без приложения-аутентификатора: коды восстановления или помощь поддержки.",
    "en": "How to sign in to the panel without your authenticator app: recovery codes or help from support."
   },
   "markdown": {
    "ro": "Dacă ați pierdut sau ați resetat telefonul ori ați șters aplicația de autentificare, nu mai puteți obține codul cerut la pasul „Autentificare în doi pași” din panoul app.blackbox.md. Pasul apare când deschideți panoul din blackbox.md („Contul meu” → „Panou de administrare”) sau când vă autentificați direct pe `app.blackbox.md/login`. Mai jos găsiți cele trei variante de a intra din nou și ce faceți după aceea.\n\n**Disponibil pentru:** titularul contului blackbox.md care a activat 2FA în panou.\n\nPierderea dispozitivului afectează doar intrarea în panou. Contul dvs. de pe blackbox.md funcționează ca de obicei: puteți plăti, vedea comenzile și facturile și deschide tichete de suport.\n\n## Ce variantă alegeți\n\n| Situația dvs. | Ce faceți |\n|---|---|\n| Aveți coduri de recuperare nefolosite | Varianta 1: intrați cu un cod de recuperare. |\n| Nu aveți coduri de recuperare | Varianta 3: suportul. Dacă știți parola contului, puteți încerca înainte varianta 2. |\n| Contul a fost creat doar cu Google sau GitLab și nu aveți coduri | Varianta 3: suportul. |\n| În browserul curent ați bifat „Rețineți acest dispozitiv 30 de zile” | Cât timp dispozitivul este reținut, panoul se deschide din blackbox.md fără cod. Continuați cu „După ce ați intrat cu un cod de recuperare”. |\n\n## Varianta 1: intrați cu un cod de recuperare\n\nLa activarea 2FA (și la fiecare regenerare) ați primit 8 coduri de recuperare de câte 8 caractere. Fiecare cod poate fi folosit o singură dată în locul codului din aplicație.\n\n1. Deschideți panoul din blackbox.md: „Contul meu” → „Panou de administrare” sau butonul „Deschide panoul” din pagina „Profilul meu”. Vă puteți autentifica și direct pe `app.blackbox.md/login`.\n2. Pe pasul „Autentificare în doi pași”, apăsați linkul „Folosiți un cod de recuperare”. Câmpul devine „Cod de recuperare”, cu indicația „Introduceți unul dintre codurile de recuperare de 8 caractere.”\n3. Introduceți unul dintre codurile nefolosite. Literele mari și mici nu contează.\n4. Dacă ați venit din blackbox.md, bifați „Rețineți acest dispozitiv 30 de zile”, ca să nu consumați alt cod la următoarea intrare din același browser.\n5. Apăsați „Verifică”. Panoul se deschide.\n\nPasul de cod trebuie terminat în 5 minute, cu cel mult 5 încercări. Dacă timpul a expirat, reluați intrarea de la început.\n\n| Ce vedeți | Cauza | Ce faceți |\n|---|---|---|\n| „Invalid 2FA code” sau „Cod invalid. Încercați din nou.” | Codul este greșit sau a fost deja folosit. | Verificați codul (conține doar cifre și literele A–F) sau introduceți alt cod nefolosit. |\n| „Too many 2FA attempts” | Ați folosit toate cele 5 încercări. | Reluați intrarea: deschideți din nou panoul din blackbox.md sau autentificați-vă din nou. |\n| „No 2FA session pending” sau „Invalid 2FA token” | Au trecut cele 5 minute. | Reluați intrarea de la început. |\n\n### După ce ați intrat cu un cod de recuperare\n\n> **Important**\n> Codul de recuperare vă deschide panoul, dar 2FA rămâne legat de aplicația de pe dispozitivul pierdut. Cât timp 2FA este activat, panoul nu permite configurarea unei aplicații noi și nu are buton de dezactivare. Ca să treceți pe un telefon nou, cereți mai întâi suportului resetarea 2FA (varianta 3).\n\nPână la resetare:\n\n1. Deschideți „Securitate” din bara laterală (sau meniul utilizatorului → „Securitate și 2FA”) și verificați „Coduri de recuperare rămase”. Numărul este evidențiat când rămân 2 sau mai puține.\n2. Dacă vă rămân puține coduri, apăsați „Regenerează codurile de recuperare”, introduceți parola în câmpul „Parola curentă” și apăsați „Regenerează”. Dacă intrați din blackbox.md, parola curentă este parola contului blackbox.md.\n3. Salvați cele 8 coduri noi („Copiază tot”). Codurile vechi nu mai funcționează.\n\nLa conturile create doar cu Google sau GitLab regenerarea nu funcționează: un astfel de cont nu are o parolă pe care s-o introduceți.\n\n## Varianta 2: resetarea 2FA prin email\n\nPe pasul „Autentificare în doi pași” există și linkul „Ați pierdut dispozitivul 2FA?”, destinat resetării prin email. Pagina de resetare, „Reset Two-Factor Authentication”, cere numele de utilizator și parola panoului și trimite pe adresa contului un link valabil 15 minute, care poate fi folosit o singură dată. Se resetează doar 2FA din panou.\n\nDacă linkul vă întoarce la pagina de autentificare, emailul nu sosește sau linkul din email a expirat, folosiți varianta 3. Conturile create doar cu Google sau GitLab nu au o parolă de panou, așa că pentru ele această variantă nu funcționează.\n\n> **Ecran în limba engleză**\n> Pagina „Reset Two-Factor Authentication” și emailul de resetare sunt doar în engleză. Numele de utilizator al panoului este adresa dvs. de email.\n\n## Varianta 3: cereți ajutorul suportului\n\nAceastă variantă este disponibilă pentru orice cont și este singura cale de resetare pentru conturile create doar cu Google sau GitLab.\n\n1. Scrieți la support@blackbox.md de pe adresa de email a contului blackbox.md. Puteți deschide și un tichet din „Contul meu” → „Ajutor și suport”.\n2. Spuneți că ați pierdut dispozitivul pentru 2FA din panou și cereți eliminarea 2FA.\n3. Suportul vă verifică identitatea și elimină 2FA.\n4. După confirmare, deschideți panoul din blackbox.md. Codul nu vă mai este cerut.\n\nToate canalele de contact: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## După resetarea 2FA\n\nIndiferent dacă resetarea s-a făcut prin email sau de către suport:\n\n- 2FA este dezactivat: în „Securitate”, „Stare” arată „Dezactivată”.\n- Toate sesiunile din panou se încheie, iar browserele reținute 30 de zile nu mai sunt recunoscute. Intrați din nou.\n- Codurile de recuperare vechi nu mai funcționează.\n- Parola, sesiunile de pe blackbox.md și token-urile API rămân neschimbate.\n\nActivați din nou 2FA pe telefonul nou și salvați cele 8 coduri noi, după pașii din [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n\n## Cum evitați blocarea data viitoare\n\n> **Sfat**\n> Păstrați codurile de recuperare în afara telefonului: într-un manager de parole sau tipărite, într-un loc sigur.\n\n- Când schimbați telefonul, mutați mai întâi aplicația de autentificare pe cel nou (cu funcția de transfer sau de backup a aplicației) și intrați o dată în panou cu un cod de pe telefonul nou. Abia apoi resetați sau predați telefonul vechi. În aplicație, intrarea apare ca BlackBox, cu adresa dvs. de email.\n- Urmăriți „Coduri de recuperare rămase” și regenerați codurile când rămân puține.\n\n## Întrebări frecvente\n\n**Contează literele mari și mici în codul de recuperare?**\nNu. Codul are 8 caractere, doar cifre și literele de la A la F, și îl puteți scrie cu litere mari sau mici.\n\n**Pot dezactiva singur 2FA, ca să nu mai introduc codul?**\nNu. Panoul nu are buton de dezactivare. 2FA se elimină doar prin resetare (variantele 2 și 3).\n\n**Am pierdut și telefonul, și codurile. Pot totuși plăti facturile?**\nDa. Contul blackbox.md nu este afectat: plățile, soldul, comenzile și tichetele funcționează ca de obicei. Resetarea 2FA este necesară doar pentru intrarea în panou.\n\n**Mi-am creat contul cu Google sau GitLab. Ce variante am?**\nDacă aveți codurile de recuperare, varianta 1. Altfel scrieți suportului (varianta 3): resetarea prin email și regenerarea codurilor cer o parolă a panoului, pe care un astfel de cont nu o are.\n",
    "ru": "Если вы потеряли или сбросили телефон либо удалили приложение-аутентификатор, вы не сможете получить код, который панель app.blackbox.md запрашивает на шаге «Двухфакторная аутентификация». Этот шаг появляется, когда вы открываете панель из blackbox.md («Личный кабинет» → «Панель управления») или входите напрямую на `app.blackbox.md/login`. Ниже описаны три способа снова войти в панель и что делать после входа.\n\n**Доступно:** владельцу аккаунта blackbox.md, который включил 2FA в панели.\n\nПотеря устройства влияет только на вход в панель. Аккаунт на blackbox.md работает как обычно: вы можете оплачивать услуги, смотреть заказы и счета и создавать тикеты в поддержку.\n\n## Какой способ выбрать\n\n| Ваша ситуация | Что делать |\n|---|---|\n| У вас есть неиспользованные коды восстановления | Способ 1: войдите по коду восстановления. |\n| Кодов восстановления нет | Способ 3: поддержка. Если вы знаете пароль от аккаунта, можно сначала попробовать способ 2. |\n| Аккаунт создан только через Google или GitLab, и кодов нет | Способ 3: поддержка. |\n| В текущем браузере вы отметили «Запомнить это устройство на 30 дней» | Пока устройство запомнено, панель открывается из blackbox.md без кода. Дальше действуйте по разделу «После входа по коду восстановления». |\n\n## Способ 1: войдите по коду восстановления\n\nПри включении 2FA (и при каждой перегенерации) вы получили 8 кодов восстановления по 8 символов. Каждый код можно использовать вместо кода из приложения только один раз.\n\n1. Откройте панель из blackbox.md: «Личный кабинет» → «Панель управления» или кнопка «Открыть панель» на странице «Мой профиль». Можно также войти напрямую на `app.blackbox.md/login`.\n2. На шаге «Двухфакторная аутентификация» нажмите ссылку «Использовать код восстановления». Поле сменится на «Код восстановления» с подсказкой «Введите один из 8-символьных кодов восстановления.»\n3. Введите один из неиспользованных кодов. Регистр букв не важен.\n4. Если вы пришли из blackbox.md, отметьте «Запомнить это устройство на 30 дней» — тогда при следующем входе из этого браузера не придётся тратить ещё один код.\n5. Нажмите «Проверить». Откроется панель.\n\nШаг с кодом нужно завершить за 5 минут, допускается не больше 5 попыток. Если время вышло, начните вход заново.\n\n| Что вы видите | Причина | Что делать |\n|---|---|---|\n| «Invalid 2FA code» или «Неверный код. Попробуйте ещё раз.» | Код введён с ошибкой или уже использован. | Проверьте код (в нём только цифры и буквы A–F) или введите другой неиспользованный код. |\n| «Too many 2FA attempts» | Все 5 попыток израсходованы. | Начните вход заново: снова откройте панель из blackbox.md или войдите ещё раз. |\n| «No 2FA session pending» или «Invalid 2FA token» | Прошло 5 минут. | Начните вход заново. |\n\n### После входа по коду восстановления\n\n> **Важно**\n> Код восстановления открывает панель, но 2FA по-прежнему привязана к приложению на потерянном устройстве. Пока 2FA включена, панель не позволяет подключить новое приложение, а кнопки отключения в ней нет. Чтобы перейти на новый телефон, сначала попросите поддержку сбросить 2FA (способ 3).\n\nДо сброса:\n\n1. Откройте «Безопасность» в боковом меню (или меню пользователя → «Безопасность и 2FA») и посмотрите «Осталось кодов восстановления». Если осталось 2 или меньше, число выделяется цветом.\n2. Если кодов мало, нажмите «Перегенерировать коды восстановления», введите пароль в поле «Текущий пароль» и нажмите «Перегенерировать». Если вы входите из blackbox.md, текущий пароль — это пароль от аккаунта blackbox.md.\n3. Сохраните 8 новых кодов («Копировать все»). Старые коды перестают действовать.\n\nВ аккаунтах, созданных только через Google или GitLab, перегенерация не сработает: у такого аккаунта нет пароля, который можно было бы ввести.\n\n## Способ 2: сброс 2FA по email\n\nНа шаге «Двухфакторная аутентификация» есть ещё ссылка «Потеряли устройство 2FA?» — она предназначена для сброса по email. Страница сброса «Reset Two-Factor Authentication» запрашивает имя пользователя и пароль панели и отправляет на email аккаунта ссылку, которая действует 15 минут и срабатывает только один раз. Сбрасывается только 2FA в панели.\n\nЕсли ссылка возвращает вас на страницу входа, письмо не приходит или ссылка из письма истекла, воспользуйтесь способом 3. У аккаунтов, созданных только через Google или GitLab, нет пароля панели, поэтому им этот способ не подходит.\n\n> **Экран на английском**\n> Страница «Reset Two-Factor Authentication» и письмо для сброса — только на английском. Имя пользователя панели — это ваш email.\n\n## Способ 3: обратитесь в поддержку\n\nЭтот способ подходит для любого аккаунта, а для аккаунтов, созданных только через Google или GitLab, это единственный способ сбросить 2FA.\n\n1. Напишите на support@blackbox.md с адреса email вашего аккаунта blackbox.md. Можно также создать тикет: «Личный кабинет» → «Помощь и поддержка».\n2. Сообщите, что потеряли устройство для 2FA в панели, и попросите отключить 2FA.\n3. Поддержка проверит вашу личность и отключит 2FA.\n4. После подтверждения откройте панель из blackbox.md — код больше не потребуется.\n\nВсе каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## После сброса 2FA\n\nНеважно, сбросили вы 2FA по email или через поддержку:\n\n- 2FA отключена: в разделе «Безопасность» в поле «Статус» указано «Отключена».\n- Все сессии в панели завершаются, а запоминание браузеров на 30 дней сбрасывается. Войдите снова.\n- Старые коды восстановления больше не действуют.\n- Пароль, сессии на blackbox.md и API-токены остаются прежними.\n\nВключите 2FA на новом телефоне и сохраните 8 новых кодов — по инструкции из статьи [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n\n## Как не оказаться в такой ситуации снова\n\n> **Совет**\n> Храните коды восстановления не на телефоне: в менеджере паролей или в распечатанном виде в надёжном месте.\n\n- Меняя телефон, сначала перенесите приложение-аутентификатор на новый (функцией переноса или резервного копирования в самом приложении) и один раз войдите в панель с кодом с нового телефона. Только после этого сбрасывайте или отдавайте старый. В приложении запись отображается как BlackBox с вашим email.\n- Следите за полем «Осталось кодов восстановления» и перегенерируйте коды, когда их остаётся мало.\n\n## Частые вопросы\n\n**Важен ли регистр в коде восстановления?**\nНет. Код состоит из 8 символов — только цифры и буквы от A до F, — и его можно вводить как заглавными, так и строчными буквами.\n\n**Можно ли самому отключить 2FA, чтобы больше не вводить код?**\nНет, кнопки отключения в панели нет. Убрать 2FA можно только сбросом (способы 2 и 3).\n\n**Я потерял и телефон, и коды. Могу ли я оплатить счёт?**\nДа. Аккаунта blackbox.md это не касается: оплата, баланс, заказы и тикеты работают как обычно. Сброс 2FA нужен только для входа в панель.\n\n**Аккаунт создан через Google или GitLab. Какие у меня варианты?**\nЕсли коды восстановления сохранены — способ 1. Иначе напишите в поддержку (способ 3): сброс по email и перегенерация кодов требуют пароля панели, которого у такого аккаунта нет.\n",
    "en": "If you lost or reset your phone, or deleted your authenticator app, you can no longer get the code that the app.blackbox.md panel asks for at the “Two-Factor Authentication” step. This step appears when you open the panel from blackbox.md, through “Contul meu” (My account) → “Panou de administrare” (Admin panel), or when you sign in directly at `app.blackbox.md/login`. Below are the three ways to get back in and what to do afterward.\n\n**Available to:** the blackbox.md account holder who has enabled two-factor authentication (2FA) in the panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\nLosing the device only affects signing in to the panel. Your blackbox.md account works as usual: you can make payments, view your orders and invoices, and open support tickets.\n\n## Which option to choose\n\n| Your situation | What to do |\n|---|---|\n| You have unused recovery codes | Option 1: sign in with a recovery code. |\n| You have no recovery codes | Option 3: support. If you know your account password, you can try option 2 first. |\n| Your account was created only with Google or GitLab, and you have no codes | Option 3: support. |\n| In your current browser, you checked “Remember this device for 30 days” | While the device is remembered, the panel opens from blackbox.md without a code. Continue with “After you sign in with a recovery code”. |\n\n## Option 1: sign in with a recovery code\n\nWhen you enabled 2FA (and each time you regenerated your codes), you received 8 recovery codes, 8 characters each. Each code can be used only once, in place of the code from the app.\n\n1. Open the panel from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel), or the “Deschide panoul” (Open the panel) button on the “Profilul meu” (My profile) page. You can also sign in directly at `app.blackbox.md/login`.\n2. At the “Two-Factor Authentication” step, click the “Use recovery code instead” link. The field changes to “Recovery Code”, with the hint “Enter one of your 8-character recovery codes.”\n3. Enter one of your unused codes. Uppercase and lowercase letters don't matter.\n4. If you came from blackbox.md, check “Remember this device for 30 days” so you don't use up another code the next time you sign in from the same browser.\n5. Click “Verify”. The panel opens.\n\nYou must finish the code step within 5 minutes, with no more than 5 attempts. If time runs out, start signing in again from the beginning.\n\n| What you see | Cause | What to do |\n|---|---|---|\n| “Invalid 2FA code” or “Invalid code. Please try again.” | The code is wrong or has already been used. | Check the code (it contains only digits and the letters A–F) or enter another unused code. |\n| “Too many 2FA attempts” | You have used all 5 attempts. | Start signing in again: open the panel from blackbox.md again, or sign in again. |\n| “No 2FA session pending” or “Invalid 2FA token” | The 5 minutes have passed. | Start signing in again from the beginning. |\n\n### After you sign in with a recovery code\n\n> **Important**\n> A recovery code gets you into the panel, but 2FA stays linked to the app on the lost device. While 2FA is enabled, the panel does not let you set up a new app, and it has no button to turn 2FA off. To move to a new phone, first ask support to reset 2FA (option 3).\n\nUntil the reset:\n\n1. Open “Security” in the sidebar (or the user menu → “Security & 2FA”) and check “Recovery codes remaining”. The number is highlighted when 2 or fewer codes remain.\n2. If you have only a few codes left, click “Regenerate Recovery Codes”, enter your password in the “Current password” field and click “Regenerate”. If you sign in from blackbox.md, your current password is your blackbox.md account password.\n3. Save the 8 new codes (“Copy All”). The old codes stop working.\n\nFor accounts created only with Google or GitLab, regeneration does not work: such an account has no password for you to enter.\n\n## Option 2: reset 2FA by email\n\nThe “Two-Factor Authentication” step also has a “Lost 2FA device?” link, meant for resetting 2FA by email. The reset page, “Reset Two-Factor Authentication”, asks for your panel username and password, and sends a link to your account's email address. The link is valid for 15 minutes and can be used only once. Your panel username is your email address. Only the panel's 2FA is reset.\n\nIf the link takes you back to the sign-in page, the email doesn't arrive, or the link in the email has expired, use option 3. Accounts created only with Google or GitLab have no panel password, so this option does not work for them.\n\n## Option 3: ask support for help\n\nThis option is available for any account, and it is the only way to reset 2FA for accounts created only with Google or GitLab.\n\n1. Write to support@blackbox.md from your blackbox.md account's email address. You can also open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support).\n2. Say that you lost the device you use for the panel's 2FA, and ask for 2FA to be removed.\n3. Support verifies your identity and removes 2FA.\n4. Once support confirms, open the panel from blackbox.md. You will no longer be asked for a code.\n\nAll contact channels: [How to contact BLACKBOX support](#suport.contact).\n\n## After 2FA is reset\n\nWhether 2FA was reset by email or by support:\n\n- 2FA is disabled: under “Security”, “Status” shows “Disabled”.\n- All panel sessions end, and browsers remembered for 30 days are no longer recognized. Sign in again.\n- Your old recovery codes no longer work.\n- Your password, your blackbox.md sessions and your API tokens stay the same.\n\nTurn 2FA on again on your new phone and save the 8 new codes, following the steps in [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n\n## How to avoid getting locked out next time\n\n> **Tip**\n> Keep your recovery codes somewhere other than your phone: in a password manager, or printed out and stored in a safe place.\n\n- When you change phones, first move your authenticator app to the new phone (using the app's transfer or backup feature) and sign in to the panel once with a code from the new phone. Only then reset or hand over the old phone. In the app, the entry appears as “BlackBox”, with your email address.\n- Keep an eye on “Recovery codes remaining” and regenerate your codes when only a few are left.\n\n## Frequently asked questions\n\n**Does uppercase or lowercase matter in a recovery code?**\nNo. The code has 8 characters, only digits and the letters A to F, and you can type it in uppercase or lowercase.\n\n**Can I turn off 2FA myself, so I don't have to enter the code anymore?**\nNo. The panel has no button to turn 2FA off. 2FA can be removed only through a reset (options 2 and 3).\n\n**I lost both my phone and my codes. Can I still pay my invoices?**\nYes. Your blackbox.md account is not affected: payments, your balance, orders and support tickets work as usual. A 2FA reset is needed only to sign in to the panel.\n\n**I created my account with Google or GitLab. What are my options?**\nIf you have your recovery codes, option 1. Otherwise, write to support (option 3): the email reset and code regeneration both require a panel password, which such an account does not have.\n"
   }
  },
  {
   "id": "cont.setari-panou",
   "section": "cont",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/setari-panou/",
    "ru": "https://docs.blackbox.md/ru/cont/setari-panou/",
    "en": "https://docs.blackbox.md/en/cont/setari-panou/"
   },
   "title": {
    "ro": "Setările panoului: profil, parolă și sesiuni",
    "ru": "Настройки панели: профиль, пароль и сессии",
    "en": "Panel settings: profile, password, and sessions"
   },
   "summary": {
    "ro": "Pagina „Setări” din app.blackbox.md: datele contului din panou, parola panoului și deconectarea de pe toate dispozitivele.",
    "ru": "Страница «Настройки» в app.blackbox.md: данные учётной записи панели, пароль панели и выход на всех устройствах.",
    "en": "The “Settings” page in app.blackbox.md: your account details in the panel, the panel password, and signing out on all devices."
   },
   "markdown": {
    "ro": "Pagina „Setări” (`app.blackbox.md/settings`, bara laterală → secțiunea „Cont” → „Setări”) arată datele contului dvs. din panoul app.blackbox.md, permite schimbarea parolei panoului și încheierea tuturor sesiunilor deschise în panou. Sub titlu apare textul „Profil, parolă și controlul sesiunilor”. Pe telefon, bara laterală se deschide din butonul de meniu din stânga sus.\n\n**Disponibil pentru:** orice client autentificat în panoul app.blackbox.md.\n\n## Ce conține pagina\n\n| Bloc | Ce vedeți | Ce puteți face |\n|---|---|---|\n| „Profil” | „Nume utilizator” (adresa de email a contului blackbox.md, cu litere mici), „Rol” („Client”), „Autentificare în doi pași” („Activată” sau „Dezactivată”) | Doar vizualizare |\n| „Securitate” | Textul „Gestionați autentificarea în doi pași, codurile de recuperare și înrolarea aplicației.” | Butonul „Mergi la Securitate și 2FA” deschide pagina „Securitate” |\n| „Schimbă parola” | Trei câmpuri pentru parolă | Schimbați parola panoului (nu este recomandat; vedeți mai jos) |\n| „Sesiuni” | Butonul „Deconectare de peste tot” | Încheiați toate sesiunile din panou |\n\nDatele din „Profil” nu se editează în panou. Numele și telefonul se modifică pe blackbox.md: [Profilul meu: nume, telefon și email](#cont.profil). Pentru a activa 2FA, apăsați „Mergi la Securitate și 2FA” și urmați ghidul [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n\n## Schimbarea parolei panoului\n\n> **Important**\n> Parola panoului este o copie a parolei dvs. de pe blackbox.md. La următoarea intrare în panou din blackbox.md („Deschide panoul”), parola schimbată aici este înlocuită din nou cu parola de pe blackbox.md. Schimbați parola pe blackbox.md: [Schimbarea parolei contului](#cont.schimbare-parola).\n\nDacă totuși schimbați parola în panou:\n\n1. În blocul „Schimbă parola”, completați „Parola curentă”. De regulă, aceasta este parola pe care o aveați pe blackbox.md la ultima intrare în panou din blackbox.md.\n2. Completați „Parolă nouă” și „Confirmați parola nouă”. Regula este afișată sub câmpuri: „Minimum 12 caractere, incluzând 3 din: majusculă, minusculă, cifră, caracter special.”\n3. Apăsați „Schimbă parola” (în timpul procesării: „Se schimbă…”).\n4. Apare mesajul „Parolă schimbată. Redirecționare către autentificare…”. Toate sesiunile din panou se încheie, inclusiv cea curentă, și ajungeți la pagina de autentificare a panoului.\n\nDacă v-ați înregistrat cu Google sau GitLab și nu aveți parolă pe blackbox.md, nu cunoașteți parola panoului, deci formularul nu vă este util. Intrați în panou cu „Deschide panoul” din blackbox.md.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Parolele nu coincid.” (sub câmpul de confirmare; butonul devine inactiv) | Confirmarea diferă de parola nouă | Tastați din nou confirmarea |\n| „Completați toate cele trei câmpuri.” | Un câmp este gol | Completați toate câmpurile |\n| „Invalid current password” | Parola curentă este greșită | Introduceți parola de pe blackbox.md (vedeți pasul 1) |\n| „Password must be at least 12 characters” | Parola nouă are mai puțin de 12 caractere | Alegeți o parolă mai lungă |\n| „Password must include at least 3 of: uppercase, lowercase, digit, special character” | Parola nouă folosește prea puține tipuri de caractere | Adăugați majuscule, cifre sau caractere speciale |\n| „Too many attempts. Try again later.” | Mai mult de 5 încercări în 15 minute | Așteptați 15 minute |\n| „Nu s-a putut schimba parola.” | Altă eroare | Reîncercați; dacă se repetă, scrieți-ne |\n\nMesajele trimise de server apar în limba engleză, indiferent de limba panoului.\n\n## Deconectarea de pe toate dispozitivele\n\n1. În blocul „Sesiuni”, apăsați „Deconectare de peste tot”.\n2. Browserul cere confirmarea: „Deconectați toate sesiunile acestui cont, inclusiv aceasta? Va trebui să vă autentificați din nou.” Confirmați în fereastra browserului.\n3. Butonul arată „Se deconectează…”, apoi ajungeți la pagina de autentificare a panoului.\n4. Intrați din nou cu „Deschide panoul” din blackbox.md: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\nCe se întâmplă:\n\n- se încheie toate sesiunile din panou, pe toate dispozitivele și în toate browserele, inclusiv cea curentă; pe celelalte dispozitive paginile panoului nu se mai încarcă, iar după reîncărcare apare pagina de autentificare;\n- dispozitivele reținute pentru 2FA („Rețineți acest dispozitiv 30 de zile”) sunt uitate: la următoarea intrare codul este cerut din nou.\n\nDacă apare „Nu s-au putut încheia celelalte sesiuni.”, reîncercați; dacă eroarea se repetă, scrieți-ne.\n\n> **Atenție**\n> „Deconectare de peste tot” nu vă deconectează de pe blackbox.md și nu revocă token-urile API. Ca să încheiați deodată toate sesiunile de pe blackbox.md și toate token-urile API, schimbați parola pe blackbox.md. Un singur token se revocă în „Contul meu” → „Token-uri API”: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n## Durata sesiunii și „Deconectare”\n\n- O sesiune în panou durează 8 ore de la autentificare. Fiecare „Deschide panoul” din blackbox.md pornește o sesiune nouă de 8 ore. După expirare, paginile panoului nu se mai încarcă; reîncărcați pagina și veți ajunge la pagina de autentificare.\n- Meniul utilizatorului (inițialele din dreapta sus) → „Deconectare” încheie doar sesiunea curentă din panou, în acest browser. Pe blackbox.md rămâneți autentificat; acolo vă deconectați separat: [Autentificarea pe blackbox.md și deconectarea](#cont.autentificare).\n\nCe încheie fiecare acțiune:\n\n| Acțiune | Sesiunea curentă din panou | Alte sesiuni din panou | Dispozitive reținute (2FA) | Sesiuni pe blackbox.md | Token-uri API |\n|---|---|---|---|---|---|\n| „Deconectare” (meniul utilizatorului) | Da | Nu | Nu | Nu | Nu |\n| „Deconectare de peste tot” | Da | Da | Da | Nu | Nu |\n| „Schimbă parola” în panou | Da | Da | Da | Nu | Nu |\n| Schimbarea parolei pe blackbox.md | Nu | Nu | Nu | Da, toate | Da, cele create înainte |\n\n## Când folosiți „Deconectare de peste tot”\n\n| Situație | Ce faceți |\n|---|---|\n| Ați pierdut laptopul sau telefonul ori suspectați că cineva v-a aflat parola | De pe un dispozitiv sigur, urmați pașii de mai jos, în această ordine |\n| Ați lucrat pe un calculator comun și ați rămas autentificat | „Deconectare de peste tot” de pe dispozitivul dvs.; dacă ați rămas autentificat și pe blackbox.md, schimbați și parola acolo |\n| Ați bifat „Rețineți acest dispozitiv 30 de zile” pe un calculator străin | „Deconectare de peste tot”: codul 2FA va fi cerut din nou |\n\n### Pașii după o suspiciune de compromitere\n\n1. Pe blackbox.md, schimbați parola ([Schimbarea parolei contului](#cont.schimbare-parola)). Se încheie toate sesiunile de pe blackbox.md, iar token-urile API create înainte nu mai funcționează.\n2. Autentificați-vă pe blackbox.md cu parola nouă și apăsați „Deschide panoul”. La această intrare, parola panoului devine parola nouă; până atunci, panoul acceptă încă parola veche.\n3. În panou, deschideți „Setări” → „Deconectare de peste tot” și confirmați.\n4. Intrați din nou cu „Deschide panoul” și activați 2FA, dacă nu este activă.\n5. Verificați serverele și token-urile API: [Recomandări de securitate pentru contul dvs.](#cont.securitate-cont). Dacă observați activitate străină, scrieți-ne la support@blackbox.md.\n\n## Întrebări frecvente\n\n**De ce nu mai pot intra direct în panou cu parola schimbată în „Setări”?**\nLa ultima intrare în panou din blackbox.md, parola panoului a fost înlocuită cu parola de pe blackbox.md. Pe pagina de autentificare a panoului folosiți parola de pe blackbox.md sau intrați cu „Deschide panoul”.\n\n**De ce nu găsesc „Setări” în meniul cu inițialele mele?**\nMeniul utilizatorului conține doar „Securitate și 2FA” și „Deconectare”. „Setări” se află în bara laterală, în secțiunea „Cont”.\n\n**„Deconectare de peste tot” afectează accesul la servere?**\nNu. Serverele, cheile SSH și parolele root nu sunt afectate; se încheie doar sesiunile din panou.\n\n**Pot schimba numele de utilizator?**\nNu. Numele de utilizator este adresa de email a contului blackbox.md, iar adresa de email nu se poate modifica din cont. Pentru întrebări, scrieți-ne.\n",
    "ru": "Страница «Настройки» (`app.blackbox.md/settings`, боковое меню → раздел «Аккаунт» → «Настройки») показывает данные вашей учётной записи в панели app.blackbox.md, позволяет сменить пароль панели и завершить все открытые в ней сессии. Под заголовком написано: «Профиль, пароль и управление сессиями». На телефоне боковое меню открывается кнопкой меню в левом верхнем углу.\n\n**Доступно:** любому клиенту, вошедшему в панель app.blackbox.md.\n\n## Что есть на странице\n\n| Блок | Что вы видите | Что можно сделать |\n|---|---|---|\n| «Профиль» | «Имя пользователя» (email аккаунта blackbox.md строчными буквами), «Роль» («Клиент»), «Двухфакторная аутентификация» («Включена» или «Отключена») | Только просмотр |\n| «Безопасность» | Текст «Управление двухфакторной аутентификацией, кодами восстановления и подключением аутентификатора.» | Кнопка «Перейти к разделу „Безопасность и 2FA“» открывает страницу «Безопасность» |\n| «Смена пароля» | Три поля для пароля | Сменить пароль панели (не рекомендуется — см. ниже) |\n| «Сессии» | Кнопка «Выйти везде» | Завершить все сессии в панели |\n\nДанные блока «Профиль» в панели не редактируются. Имя и телефон меняются на blackbox.md: [Мой профиль: имя, телефон и email](#cont.profil). Чтобы включить 2FA, нажмите «Перейти к разделу „Безопасность и 2FA“» и следуйте инструкции [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n\n## Смена пароля панели\n\n> **Важно**\n> Пароль панели — это копия вашего пароля от blackbox.md. При следующем входе в панель с blackbox.md («Открыть панель») пароль, изменённый здесь, снова заменится паролем от blackbox.md. Меняйте пароль на blackbox.md: [Смена пароля аккаунта](#cont.schimbare-parola).\n\nЕсли вы всё же хотите сменить пароль в панели:\n\n1. В блоке «Смена пароля» заполните поле «Текущий пароль». Как правило, это пароль, который был у вас на blackbox.md при последнем входе в панель с blackbox.md.\n2. Заполните поля «Новый пароль» и «Подтвердите новый пароль». Требования указаны под полями: «Не менее 12 символов, включая 3 из: заглавная буква, строчная буква, цифра, спецсимвол.»\n3. Нажмите «Сменить пароль» (во время обработки на кнопке: «Смена…»).\n4. Появится сообщение «Пароль изменён. Переход ко входу…». Все сессии в панели, включая текущую, завершатся, и откроется страница входа в панель.\n\nЕсли вы зарегистрировались через Google или GitLab и у вас нет пароля на blackbox.md, пароль панели вам неизвестен, и эта форма вам не подойдёт. Входите в панель кнопкой «Открыть панель» на blackbox.md.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Пароли не совпадают.» (под полем подтверждения; кнопка становится неактивной) | Подтверждение не совпадает с новым паролем | Введите подтверждение заново |\n| «Заполните все три поля.» | Одно из полей пустое | Заполните все поля |\n| «Invalid current password» | Текущий пароль указан неверно | Введите пароль от blackbox.md (см. шаг 1) |\n| «Password must be at least 12 characters» | Новый пароль короче 12 символов | Выберите более длинный пароль |\n| «Password must include at least 3 of: uppercase, lowercase, digit, special character» | В новом пароле слишком мало типов символов | Добавьте заглавные буквы, цифры или спецсимволы |\n| «Too many attempts. Try again later.» | Больше 5 попыток за 15 минут | Подождите 15 минут |\n| «Не удалось сменить пароль.» | Другая ошибка | Повторите попытку; если ошибка не исчезает, напишите нам |\n\nСообщения сервера выводятся на английском независимо от языка панели.\n\n## Выход на всех устройствах\n\n1. В блоке «Сессии» нажмите «Выйти везде».\n2. Браузер попросит подтвердить действие: «Завершить все сессии этого аккаунта, включая текущую? Потребуется войти снова.» Подтвердите в окне браузера.\n3. На кнопке появится «Выход…», затем откроется страница входа в панель.\n4. Войдите снова через «Открыть панель» на blackbox.md: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\nЧто при этом происходит:\n\n- завершаются все сессии в панели на всех устройствах и во всех браузерах, включая текущую; на других устройствах страницы панели перестанут загружаться, а после перезагрузки откроется страница входа;\n- устройства, запомненные для 2FA («Запомнить это устройство на 30 дней»), сбрасываются: при следующем входе снова потребуется код.\n\nЕсли появилось сообщение «Не удалось завершить другие сессии.», повторите попытку; если ошибка не исчезает, напишите нам.\n\n> **Внимание**\n> «Выйти везде» не завершает сессии на blackbox.md и не отзывает API-токены. Чтобы разом завершить все сессии на blackbox.md и отключить все API-токены, смените пароль на blackbox.md. Отдельный токен отзывается в разделе «Личный кабинет» → «API-токены»: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n## Длительность сессии и «Выйти»\n\n- Сессия в панели длится 8 часов с момента входа. Каждое нажатие «Открыть панель» на blackbox.md начинает новую сессию на 8 часов. Когда срок истечёт, страницы панели перестанут загружаться; перезагрузите страницу — откроется страница входа.\n- Меню пользователя (инициалы в правом верхнем углу) → «Выйти» завершает только текущую сессию в панели в этом браузере. На blackbox.md вы остаётесь в аккаунте; оттуда нужно выйти отдельно: [Вход на blackbox.md и выход](#cont.autentificare).\n\nЧто завершает каждое действие:\n\n| Действие | Текущая сессия в панели | Другие сессии в панели | Запомненные устройства (2FA) | Сессии на blackbox.md | API-токены |\n|---|---|---|---|---|---|\n| «Выйти» (меню пользователя) | Да | Нет | Нет | Нет | Нет |\n| «Выйти везде» | Да | Да | Да | Нет | Нет |\n| «Сменить пароль» в панели | Да | Да | Да | Нет | Нет |\n| Смена пароля на blackbox.md | Нет | Нет | Нет | Да, все | Да, созданные до смены |\n\n## Когда нажимать «Выйти везде»\n\n| Ситуация | Что делать |\n|---|---|\n| Потеряли ноутбук или телефон либо подозреваете, что ваш пароль кто-то узнал | С надёжного устройства выполните шаги ниже именно в этом порядке |\n| Работали на общем компьютере и не вышли из аккаунта | Нажмите «Выйти везде» со своего устройства; если не вышли и на blackbox.md, смените там пароль |\n| Отметили «Запомнить это устройство на 30 дней» на чужом компьютере | Нажмите «Выйти везде»: код 2FA снова будет запрашиваться |\n\n### Что делать при подозрении на взлом\n\n1. Смените пароль на blackbox.md ([Смена пароля аккаунта](#cont.schimbare-parola)). Все сессии на blackbox.md завершатся, а API-токены, созданные до смены, перестанут работать.\n2. Войдите на blackbox.md с новым паролем и нажмите «Открыть панель». При этом входе пароль панели заменяется новым; до этого момента панель всё ещё принимает старый пароль.\n3. В панели откройте «Настройки» → «Выйти везде» и подтвердите.\n4. Снова войдите через «Открыть панель» и включите 2FA, если она ещё не включена.\n5. Проверьте серверы и API-токены: [Рекомендации по безопасности аккаунта](#cont.securitate-cont). Если заметили чужую активность, напишите нам на support@blackbox.md.\n\n## Частые вопросы\n\n**Почему пароль, изменённый в «Настройках», не подходит для прямого входа в панель?**\nПри последнем входе в панель с blackbox.md пароль панели был заменён паролем от blackbox.md. На странице входа в панель используйте пароль от blackbox.md или войдите кнопкой «Открыть панель».\n\n**Почему в меню с моими инициалами нет пункта «Настройки»?**\nВ меню пользователя есть только «Безопасность и 2FA» и «Выйти». «Настройки» находятся в боковом меню, в разделе «Аккаунт».\n\n**Влияет ли «Выйти везде» на доступ к серверам?**\nНет. Серверы, SSH-ключи и пароли root это не затрагивает — завершаются только сессии в панели.\n\n**Можно ли изменить имя пользователя?**\nНет. Имя пользователя — это email аккаунта blackbox.md, а сам email в аккаунте изменить нельзя. Если остались вопросы, напишите нам.\n",
    "en": "The “Settings” page (`app.blackbox.md/settings`, sidebar → “Account” section → “Settings”) shows your account details in the app.blackbox.md panel and lets you change the panel password and end all open sessions in the panel. The text under the title reads “Account profile, password, and session controls”. On a phone, open the sidebar with the menu button in the top-left corner.\n\n**Available to:** any customer signed in to the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What's on the page\n\n| Block | What you see | What you can do |\n|---|---|---|\n| “Profile” | “Username” (the email address of your blackbox.md account, in lowercase), “Role” (“Client”), “Two-factor authentication” (“Enabled” or “Disabled”) | View only |\n| “Security” | The text “Manage two-factor authentication, recovery codes, and authenticator enrollment.” | The “Go to Security & 2FA” button opens the “Security” page |\n| “Change Password” | Three password fields | Change the panel password (not recommended; see below) |\n| “Sessions” | The “Sign Out Everywhere” button | End all your sessions in the panel |\n\nThe “Profile” details cannot be edited in the panel. You change your name and phone number on blackbox.md: [My profile: name, phone number and email](#cont.profil). To turn on 2FA, click “Go to Security & 2FA” and follow the guide [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n\n## Changing the panel password\n\n> **Important**\n> The panel password is a copy of your blackbox.md password. The next time you enter the panel from blackbox.md with “Deschide panoul” (Open the panel), the password you changed here is replaced again with your blackbox.md password. Change your password on blackbox.md: [Changing your account password](#cont.schimbare-parola).\n\nIf you still want to change the password in the panel:\n\n1. In the “Change Password” block, fill in “Current password”. Usually, this is the password you had on blackbox.md the last time you entered the panel from blackbox.md.\n2. Fill in “New password” and “Confirm new password”. The rule is shown under the fields: “At least 12 characters, including 3 of: uppercase, lowercase, digit, special character.”\n3. Click “Change Password” (while it is processing, the button shows “Changing…”).\n4. The message “Password changed. Redirecting to login…” appears. All your panel sessions end, including the current one, and you are taken to the panel sign-in page.\n\nIf you signed up with Google or GitLab and have no password on blackbox.md, you don't know the panel password, so this form is of no use to you. Enter the panel with “Deschide panoul” on blackbox.md.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Passwords do not match.” (under the confirmation field; the button becomes inactive) | The confirmation differs from the new password | Type the confirmation again |\n| “Fill in all three fields.” | A field is empty | Fill in all the fields |\n| “Invalid current password” | The current password is wrong | Enter your blackbox.md password (see step 1) |\n| “Password must be at least 12 characters” | The new password is shorter than 12 characters | Choose a longer password |\n| “Password must include at least 3 of: uppercase, lowercase, digit, special character” | The new password uses too few types of characters | Add uppercase letters, digits, or special characters |\n| “Too many attempts. Try again later.” | More than 5 attempts in 15 minutes | Wait 15 minutes |\n| “Failed to change password.” | Another error | Try again; if it keeps happening, contact us |\n\nMessages sent by the server always appear in English, whatever the panel language.\n\n## Signing out on all devices\n\n1. In the “Sessions” block, click “Sign Out Everywhere”.\n2. Your browser asks you to confirm: “Sign out of every session for this account, including this one? You will need to sign in again.” Confirm in the browser window.\n3. The button shows “Signing out…”, and then you are taken to the panel sign-in page.\n4. Sign in again with “Deschide panoul” (Open the panel) on blackbox.md: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\nWhat happens:\n\n- All panel sessions end, on all devices and in all browsers, including the current one. On other devices, panel pages stop loading, and after a reload the sign-in page appears.\n- Devices remembered for 2FA (“Remember this device for 30 days”) are forgotten: the code is asked for again at the next sign-in.\n\nIf “Failed to sign out of other sessions.” appears, try again; if the error keeps happening, contact us.\n\n> **Warning**\n> “Sign Out Everywhere” does not sign you out of blackbox.md and does not revoke API tokens. To end all your blackbox.md sessions and all your API tokens at once, change your password on blackbox.md. To revoke a single token, go to “Contul meu” (My account) → “Token-uri API” (API tokens): [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n## Session length and “Logout”\n\n- A panel session lasts 8 hours from sign-in. Each “Deschide panoul” (Open the panel) on blackbox.md starts a new 8-hour session. After the session expires, panel pages stop loading; reload the page and you will reach the sign-in page.\n- The user menu (your initials in the top-right corner) → “Logout” ends only the current panel session, in this browser. You stay signed in on blackbox.md; sign out there separately: [Signing in to blackbox.md and signing out](#cont.autentificare).\n\nWhat each action ends:\n\n| Action | Current panel session | Other panel sessions | Remembered devices (2FA) | blackbox.md sessions | API tokens |\n|---|---|---|---|---|---|\n| “Logout” (user menu) | Yes | No | No | No | No |\n| “Sign Out Everywhere” | Yes | Yes | Yes | No | No |\n| “Change Password” in the panel | Yes | Yes | Yes | No | No |\n| Changing the password on blackbox.md | No | No | No | Yes, all | Yes, those created before |\n\n## When to use “Sign Out Everywhere”\n\n| Situation | What to do |\n|---|---|\n| You lost your laptop or phone, or you suspect someone has learned your password | From a safe device, follow the steps below, in this order |\n| You worked on a shared computer and stayed signed in | Click “Sign Out Everywhere” from your own device; if you also stayed signed in on blackbox.md, change your password there too |\n| You checked “Remember this device for 30 days” on someone else's computer | Click “Sign Out Everywhere”: the 2FA code will be asked for again |\n\n### Steps after a suspected compromise\n\n1. On blackbox.md, change your password ([Changing your account password](#cont.schimbare-parola)). All blackbox.md sessions end, and API tokens created before the change stop working.\n2. Sign in to blackbox.md with the new password and click “Deschide panoul” (Open the panel). At this sign-in, the panel password becomes the new password; until then, the panel still accepts the old password.\n3. In the panel, open “Settings” → “Sign Out Everywhere” and confirm.\n4. Sign in again with “Deschide panoul” and turn on 2FA if it is not already on.\n5. Check your servers and API tokens: [Security recommendations for your account](#cont.securitate-cont). If you notice activity that is not yours, email us at support@blackbox.md.\n\n## Frequently asked questions\n\n**Why can't I sign in to the panel directly with the password I changed in “Settings”?**\nThe last time you entered the panel from blackbox.md, the panel password was replaced with your blackbox.md password. On the panel sign-in page, use your blackbox.md password, or enter with “Deschide panoul” (Open the panel).\n\n**Why can't I find “Settings” in the menu with my initials?**\nThe user menu contains only “Security & 2FA” and “Logout”. “Settings” is in the sidebar, in the “Account” section.\n\n**Does “Sign Out Everywhere” affect access to my servers?**\nNo. Servers, SSH keys, and root passwords are not affected; only panel sessions end.\n\n**Can I change my username?**\nNo. The username is the email address of your blackbox.md account, and the email address cannot be changed from your account. If you have questions, contact us.\n"
   }
  },
  {
   "id": "cont.securitate-cont",
   "section": "cont",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/securitate-cont/",
    "ru": "https://docs.blackbox.md/ru/cont/securitate-cont/",
    "en": "https://docs.blackbox.md/en/cont/securitate-cont/"
   },
   "title": {
    "ro": "Recomandări de securitate pentru contul dvs.",
    "ru": "Рекомендации по безопасности аккаунта",
    "en": "Security recommendations for your account"
   },
   "summary": {
    "ro": "Bune practici pentru parolă, 2FA, token-urile API și cheile SSH și pașii de urmat, în ordine, dacă bănuiți o compromitere.",
    "ru": "Лучшие практики для пароля, 2FA, API-токенов и SSH-ключей и порядок действий при подозрении на взлом.",
    "en": "Best practices for your password, 2FA, API tokens and SSH keys, and the steps to take, in order, if you suspect a compromise."
   },
   "markdown": {
    "ro": "Recomandările de mai jos vă ajută să protejați contul blackbox.md, panoul app.blackbox.md, token-urile API și serverele. Setările de securitate sunt pe blackbox.md, în „Contul meu” (`blackbox.md/account`), și în panou, la „Securitate” (`app.blackbox.md/security`) și „Setări” (`app.blackbox.md/settings`). La final găsiți pașii de urmat, în ordine, dacă bănuiți că altcineva v-a accesat contul.\n\n**Disponibil pentru:** titularul contului blackbox.md și al serverelor comandate din acest cont.\n\n## Unde găsiți setările de securitate\n\n| Ce protejați | Unde |\n|---|---|\n| Parola contului, emailul verificat | „Contul meu” → „Profil”, secțiunea „Securitatea contului” |\n| Token-urile API pentru asistenții AI | „Contul meu” → „Token-uri API” |\n| Cheile SSH salvate în cont | „Contul meu” → „Chei SSH” |\n| Autentificarea în doi pași (2FA) | panoul → „Securitate” |\n| Sesiunile din panou | panoul → „Setări” → „Sesiuni” |\n| Parola root, cheile instalate, login-ul cu parolă | panoul → „Serverele mele” → cardul serverului |\n\n## Parola contului\n\n- Folosiți o parolă lungă și unică, generată și păstrată de un manager de parole. Minimul cerut: 12 caractere, cu cel puțin 3 din: literă mare, literă mică, cifră, caracter special.\n- Nu refolosiți parola pe alte site-uri și nu o folosiți ca parolă root pe servere.\n- Schimbați parola pe blackbox.md („Profil” → „Schimbă parola”), nu în panou. La fiecare „Deschide panoul”, panoul preia parola contului, așa că o parolă schimbată doar în panou este suprascrisă. Pașii: [Schimbarea parolei contului](#cont.schimbare-parola).\n- Dacă intrați cu Google sau GitLab, contul dvs. BLACKBOX este la fel de protejat ca acel cont. Activați acolo autentificarea în doi pași.\n\n## Autentificarea în doi pași în panou\n\n1. În panou, deschideți „Securitate” (sau meniul utilizatorului → „Securitate și 2FA”).\n2. Apăsați „Activează autentificarea în doi pași” și urmați pașii din [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n3. Salvați cele 8 coduri de recuperare offline: pe hârtie sau într-un manager de parole, nu pe telefonul cu aplicația de autentificare. Fiecare cod se folosește o singură dată.\n\nDupă activare, panoul cere codul la fiecare intrare, inclusiv când îl deschideți din cont cu „Deschide panoul”. Dacă bifați „Rețineți acest dispozitiv 30 de zile”, panoul nu mai cere codul când îl deschideți din nou din cont, în același browser. Bifați această opțiune doar pe calculatorul dvs. personal. Dacă pierdeți telefonul, vedeți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut).\n\n## Emailul contului\n\n- Păstrați emailul verificat: în „Securitatea contului” trebuie să vedeți „Verificat”. Fără verificare nu puteți deschide panoul din cont. Vedeți [Verificarea adresei de email](#cont.verificare-email).\n- Protejați căsuța de email cu o parolă puternică și 2FA la furnizorul de email. Pe ea primiți notificările despre servicii, facturi și servere.\n- Adresa nu se poate schimba din pagina contului. Pentru o adresă nouă, scrieți-ne.\n\n## Token-urile API\n\n- Acordați doar permisiunile necesare. Cele trei permisiuni de citire sunt bifate implicit; celelalte cinci afișează, când le bifați, avertismentul „Atenție: cu această permisiune asistentul AI va putea …”. Butonul „AI-administrator — acces complet” bifează toate permisiunile: asistentul va putea rula orice comandă ca root, vedea parole și chei și cheltui din sold.\n- Creați câte un token pentru fiecare client AI sau dispozitiv, cu un nume clar, de exemplu „Claude Desktop (laptop)”. Dacă pierdeți laptopul, revocați doar acel token.\n- Păstrați token-ul într-un manager de parole sau într-o variabilă de mediu. Nu îl puneți în cod, în depozite git, în capturi de ecran sau în conversații.\n- Verificați periodic coloana „Ultima utilizare” (se actualizează cu o întârziere de până la un minut). Apăsați „Revocă” pentru token-urile nefolosite sau pe care nu le recunoașteți.\n- Permisiunile unui token nu se pot modifica. Pentru alte permisiuni, creați un token nou și revocați-l pe cel vechi.\n\nDetalii: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n## Serverele: chei SSH și parola root\n\n- Folosiți chei SSH în locul parolei. Generați o cheie ([Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)), adăugați-o pe server cu „Adaugă cheie SSH” și verificați că vă conectați cu ea. Apoi apăsați „Dezactivează login cu parolă”: cardul va arăta „Doar cheie”.\n- Ștergeți de pe fiecare server cheile pe care nu le mai folosiți: pe cardul serverului, „Adaugă cheie SSH” → „Chei instalate” → „Șterge”. Ștergerea din „Contul meu” → „Chei SSH” nu elimină cheia de pe servere. Detalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n- Nu ștergeți „Cheie de administrare (blackbox.md)”, nici manual din `authorized_keys`: fără ea nu funcționează, din panou, resetarea parolei, gestionarea cheilor și activarea sau dezactivarea login-ului cu parolă. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n- Nu dați nimănui parola root. Pentru acces temporar, de exemplu unui administrator extern, adăugați cheia lui publică și ștergeți-o după încheierea lucrării. Dacă ați dat totuși parola, resetați-o imediat după aceea cu „Resetează parola”: [Resetarea parolei root](#acces.resetare-parola-root).\n- Schimbați și parola root inițială, primită la activarea serverului, tot cu „Resetează parola”.\n\n> **Atenție**\n> Înainte să dezactivați login-ul cu parolă sau să ștergeți chei, verificați într-o fereastră separată că vă conectați cu cheia dvs. și păstrați deschisă sesiunea SSH curentă până la final. Pentru clienți nu există consolă web: dacă pierdeți accesul, scrieți-ne.\n\nLista completă pentru un server nou: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Ce nu trimiteți niciodată\n\nNu trimiteți parole, token-uri API, chei private SSH sau coduri de recuperare prin email, chat sau tichet, nici măcar către suportul BLACKBOX. Pentru o problemă cu serverul sunt suficiente numărul comenzii (`BBX-…`) și adresa IP. Cheia publică (fișierul `.pub`) se poate trimite fără risc. Dacă ați trimis deja un secret, schimbați-l sau revocați-l imediat.\n\n## Dacă bănuiți o compromitere\n\nUrmați pașii în această ordine:\n\n1. Schimbați parola contului: „Contul meu” → „Profil” → „Schimbă parola”, introduceți parola curentă și una nouă, apoi apăsați „Salvează parola”. Apare mesajul „Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” și sunteți deconectat automat. Toate sesiunile de pe blackbox.md se încheie, iar token-urile API create până atunci nu mai funcționează. Autentificați-vă cu parola nouă.\n2. În „Token-uri API”, apăsați „Revocă” la fiecare token. Lista nu arată că schimbarea parolei le-a dezactivat; după revocare, starea lor este clară. Creați token-uri noi doar pentru clienții AI pe care îi folosiți în continuare.\n3. Deschideți panoul cu „Deschide panoul”, ca să preia și el parola nouă. Mergeți la „Setări” → „Sesiuni” → „Deconectare de peste tot” și confirmați. Se încheie toate sesiunile din panou, iar dispozitivele reținute pentru 2FA sunt uitate. Deschideți apoi panoul din nou din cont.\n4. Pentru fiecare server din „Serverele mele”, apăsați „Resetează parola” și confirmați. Parola veche încetează să funcționeze imediat, iar cea nouă apare pe cardul serverului: salvați-o în managerul de parole. Dacă apare `reset_failed`, parola nu s-a schimbat: verificați că serverul este pornit și încercați din nou; dacă eroarea se repetă, scrieți-ne.\n5. Pentru fiecare server, deschideți „Adaugă cheie SSH” → „Chei instalate” și ștergeți cheile pe care nu le recunoașteți. Nu atingeți „Cheie de administrare (blackbox.md)”. Cheia cu comentariul `blackbox-agent-…` este folosită de asistentul AI pentru acces SSH; o puteți șterge, panoul nu depinde de ea ([Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox)).\n6. Scrieți-ne la support@blackbox.md sau deschideți un tichet ([Deschiderea unui tichet de suport](#suport.tichet-nou)). Descrieți ce ați observat și ce pași ați făcut, fără parole.\n\n> **Important**\n> Dacă intrați doar cu Google sau GitLab, secțiunea „Parolă” nu apare în cont. La pasul 1, schimbați parola contului Google sau GitLab și închideți acolo sesiunile active. Sesiunile deja deschise pe blackbox.md expiră singure în cel mult 8 ore. Token-urile API nu se dezactivează automat în acest caz, așa că la pasul 2 revocați-le pe toate.\n\nCe încheie fiecare pas:\n\n| Acțiune | Ce încheie | Ce nu atinge |\n|---|---|---|\n| „Schimbă parola” pe blackbox.md | sesiunile de pe blackbox.md, token-urile API create înainte | sesiunile deja deschise în panou; parola panoului (rămâne cea veche până la următorul „Deschide panoul”) |\n| „Revocă” | token-ul respectiv, imediat | celelalte token-uri |\n| „Deconectare de peste tot” | sesiunile din panou, dispozitivele reținute pentru 2FA | sesiunile de pe blackbox.md, token-urile API |\n| „Resetează parola” | parola root veche | cheile SSH instalate |\n\nDacă serverul însuși pare spart, vedeți [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n## Responsabilitatea pentru cont\n\nConform [Termenilor și condițiilor](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), răspundeți pentru activitatea din contul dvs. și pentru protejarea parolelor, cheilor SSH, token-urilor API și a factorului de autentificare secundar. Ce face un asistent AI cu token-ul dvs. se face în numele dvs. BLACKBOX nu răspunde pentru folosirea contului de către terți dacă nu există o breșă dovedită a sistemelor sale.\n\n## Întrebări frecvente\n\n**După schimbarea parolei, asistentul AI nu se mai conectează. De ce?**\nSchimbarea parolei dezactivează toate token-urile API create înainte. Creați un token nou în „Token-uri API” și puneți-l în setările clientului AI.\n\n**Cum dau acces unui coleg sau unui administrator extern?**\nNu puteți adăuga singur alți utilizatori în cont. Pentru acces la un server, adăugați cheia publică a persoanei și ștergeți-o după încheierea lucrării. Nu împărțiți parola contului, parola root sau un token API. Pentru alte forme de acces, scrieți-ne.\n\n**Nu mai pot intra în cont. Ce fac?**\nVedeți [Ați uitat parola contului](#cont.parola-uitata) și scrieți-ne cât mai repede la support@blackbox.md sau sunați la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei).\n",
    "ru": "Эти рекомендации помогут защитить аккаунт blackbox.md, панель app.blackbox.md, API-токены и серверы. Настройки безопасности находятся в двух местах: на blackbox.md в разделе «Личный кабинет» (`blackbox.md/ru/account`) и в панели — в разделах «Безопасность» (`app.blackbox.md/security`) и «Настройки» (`app.blackbox.md/settings`). В конце статьи описан порядок действий на случай, если вы подозреваете, что кто-то получил доступ к вашему аккаунту.\n\n**Доступно:** владельцу аккаунта blackbox.md и серверов, заказанных из этого аккаунта.\n\n## Где находятся настройки безопасности\n\n| Что защищаете | Где |\n|---|---|\n| Пароль аккаунта, подтверждённый email | «Личный кабинет» → «Профиль», раздел «Безопасность аккаунта» |\n| API-токены для AI-ассистентов | «Личный кабинет» → «API-токены» |\n| SSH-ключи, сохранённые в аккаунте | «Личный кабинет» → «SSH-ключи» |\n| Двухфакторная аутентификация (2FA) | панель → «Безопасность» |\n| Сессии в панели | панель → «Настройки» → «Сессии» |\n| Пароль root, установленные ключи, вход по паролю | панель → «Мои серверы» → карточка сервера |\n\n## Пароль аккаунта\n\n- Используйте длинный уникальный пароль, который генерирует и хранит менеджер паролей. Минимальные требования: 12 символов и не менее 3 из 4 классов — заглавная буква, строчная буква, цифра, спецсимвол.\n- Не используйте этот пароль на других сайтах и в качестве пароля root на серверах.\n- Меняйте пароль на blackbox.md («Профиль» → «Изменить пароль»), а не в панели. При каждом нажатии «Открыть панель» панель получает пароль аккаунта, поэтому пароль, изменённый только в панели, будет перезаписан. Подробно: [Смена пароля аккаунта](#cont.schimbare-parola).\n- Если вы входите через Google или GitLab, ваш аккаунт BLACKBOX защищён ровно настолько, насколько защищён этот аккаунт. Включите в нём двухфакторную аутентификацию.\n\n## Двухфакторная аутентификация в панели\n\n1. В панели откройте «Безопасность» (или меню пользователя → «Безопасность и 2FA»).\n2. Нажмите «Включить двухфакторную аутентификацию» и выполните шаги из статьи [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n3. Сохраните 8 кодов восстановления офлайн: на бумаге или в менеджере паролей, но не на том же телефоне, где установлено приложение-аутентификатор. Каждый код действует один раз.\n\nПосле включения панель запрашивает код при каждом входе, в том числе когда вы открываете её из аккаунта кнопкой «Открыть панель». Если отметить «Запомнить это устройство на 30 дней», панель не будет запрашивать код, когда вы снова откроете её из аккаунта в том же браузере. Ставьте этот флажок только на своём личном компьютере. Если телефон потерян, см. [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut).\n\n## Email аккаунта\n\n- Держите email подтверждённым: в разделе «Безопасность аккаунта» должна стоять отметка «Подтверждён». Без подтверждения панель из аккаунта не откроется. См. [Подтверждение адреса email](#cont.verificare-email).\n- Защитите почтовый ящик надёжным паролем и 2FA у почтового провайдера: на него приходят уведомления об услугах, счетах и серверах.\n- Сменить адрес на странице аккаунта нельзя. Если нужен другой адрес, напишите нам.\n\n## API-токены\n\n- Выдавайте только нужные разрешения. Три разрешения на чтение отмечены по умолчанию; остальные пять при выборе показывают предупреждение «Внимание: с этим разрешением AI-ассистент сможет …». Кнопка «AI-администратор — полный доступ» отмечает все разрешения: ассистент сможет выполнять любые команды от root, видеть пароли и ключи и тратить средства с баланса.\n- Создавайте отдельный токен для каждого AI-клиента или устройства с понятным названием, например «Claude Desktop (ноутбук)». Если ноутбук потерян, достаточно отозвать один токен.\n- Храните токен в менеджере паролей или в переменной окружения. Не вставляйте его в код, git-репозитории, скриншоты и переписку.\n- Регулярно проверяйте столбец «Последнее использование» (он обновляется с задержкой до минуты). Нажимайте «Отозвать» для неиспользуемых токенов и для тех, которые вы не узнаёте.\n- Разрешения токена изменить нельзя. Если нужны другие, создайте новый токен, а старый отзовите.\n\nПодробнее: [Безопасность токенов и AI-агентов](#ai.securitate).\n\n## Серверы: SSH-ключи и пароль root\n\n- Входите по SSH-ключу, а не по паролю. Создайте ключ ([Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)), добавьте его на сервер кнопкой «Добавить SSH-ключ» и проверьте, что можете войти с ним. Затем нажмите «Отключить вход по паролю» — на карточке появится отметка «Только ключ».\n- Удаляйте с каждого сервера ключи, которыми больше не пользуетесь: на карточке сервера «Добавить SSH-ключ» → «Установленные ключи» → «Удалить». Если удалить ключ в разделе «SSH-ключи» личного кабинета, с серверов он не исчезнет. Подробно: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n- Не удаляйте «Ключ управления (blackbox.md)», в том числе вручную из `authorized_keys`: без него в панели не работают сброс пароля, управление ключами, а также включение и отключение входа по паролю. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n- Никому не передавайте пароль root. Для временного доступа, например внешнему администратору, добавьте его публичный ключ, а по окончании работ удалите. Если пароль всё же передавали, сразу после этого сбросьте его кнопкой «Сбросить пароль»: [Сброс пароля root](#acces.resetare-parola-root).\n- Смените и исходный пароль root, полученный при активации сервера, — той же кнопкой «Сбросить пароль».\n\n> **Внимание**\n> Прежде чем отключать вход по паролю или удалять ключи, проверьте в отдельном окне, что входите со своим ключом, и не закрывайте текущую SSH-сессию до конца. Веб-консоли для клиентов нет: если вы потеряете доступ, напишите нам.\n\nПолный список мер для нового сервера: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Что никогда нельзя отправлять\n\nНе отправляйте пароли, API-токены, приватные SSH-ключи и коды восстановления по email, в чатах и тикетах — даже в поддержку BLACKBOX. Чтобы описать проблему с сервером, достаточно номера заказа (`BBX-…`) и IP-адреса. Публичный ключ (файл `.pub`) можно отправлять без опасений. Если секрет уже отправлен, сразу смените или отзовите его.\n\n## Если вы подозреваете взлом\n\nДействуйте именно в таком порядке:\n\n1. Смените пароль аккаунта: «Личный кабинет» → «Профиль» → «Изменить пароль», введите текущий и новый пароль и нажмите «Сохранить пароль». Появится сообщение «Пароль изменён. Пожалуйста, войдите снова.», и вы автоматически выйдете из аккаунта. Все сессии на blackbox.md завершатся, а все созданные до этого API-токены перестанут работать. Войдите с новым паролем.\n2. В разделе «API-токены» нажмите «Отозвать» для каждого токена. Список не показывает, что токены отключены сменой пароля; после отзыва их состояние видно явно. Новые токены создавайте только для тех AI-клиентов, которыми продолжаете пользоваться.\n3. Откройте панель кнопкой «Открыть панель», чтобы и она получила новый пароль. Перейдите в «Настройки» → «Сессии» → «Выйти везде» и подтвердите. Завершатся все сессии в панели, а устройства, запомненные для 2FA, будут забыты. Затем снова откройте панель из аккаунта.\n4. Для каждого сервера в «Мои серверы» нажмите «Сбросить пароль» и подтвердите. Старый пароль сразу перестанет работать, а новый появится на карточке сервера — сохраните его в менеджере паролей. Если появится `reset_failed`, пароль не изменился: проверьте, что сервер запущен, и повторите попытку; если ошибка повторяется, напишите нам.\n5. Для каждого сервера откройте «Добавить SSH-ключ» → «Установленные ключи» и удалите ключи, которые вы не узнаёте. «Ключ управления (blackbox.md)» не трогайте. Ключ с комментарием `blackbox-agent-…` использует AI-ассистент для доступа по SSH; его можно удалить, панель от него не зависит ([Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox)).\n6. Напишите на support@blackbox.md или создайте тикет ([Создание тикета в поддержку](#suport.tichet-nou)). Опишите, что вы заметили и что уже сделали, — без паролей.\n\n> **Важно**\n> Если вы входите только через Google или GitLab, раздела «Пароль» в аккаунте нет. На шаге 1 смените пароль в аккаунте Google или GitLab и завершите там активные сессии. Уже открытые сессии на blackbox.md завершатся сами не позднее чем через 8 часов. API-токены в этом случае автоматически не отключаются, поэтому на шаге 2 отзовите их все.\n\nЧто завершает каждое действие:\n\n| Действие | Что завершает | Что не затрагивает |\n|---|---|---|\n| «Изменить пароль» на blackbox.md | сессии на blackbox.md, API-токены, созданные до смены пароля | уже открытые сессии в панели; пароль панели (остаётся старым до следующего нажатия «Открыть панель») |\n| «Отозвать» | этот токен, немедленно | остальные токены |\n| «Выйти везде» | сессии в панели, устройства, запомненные для 2FA | сессии на blackbox.md, API-токены |\n| «Сбросить пароль» | старый пароль root | установленные SSH-ключи |\n\nЕсли взломан сам сервер, см. [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n## Ответственность за аккаунт\n\nСогласно [Условиям использования](https://blackbox.md/ru/info/terms#raspunderea-clientilor) (§3), вы отвечаете за действия в своём аккаунте и за защиту паролей, SSH-ключей, API-токенов и второго фактора аутентификации. Всё, что AI-ассистент делает с вашим токеном, делается от вашего имени. BLACKBOX не несёт ответственности за использование аккаунта третьими лицами, если не доказан взлом его систем.\n\n## Частые вопросы\n\n**После смены пароля AI-ассистент не подключается. Почему?**\nСмена пароля отключает все API-токены, созданные раньше. Создайте новый токен в разделе «API-токены» и укажите его в настройках AI-клиента.\n\n**Как дать доступ коллеге или внешнему администратору?**\nСамостоятельно добавить других пользователей в аккаунт нельзя. Для доступа к серверу добавьте публичный ключ этого человека и удалите его после окончания работ. Не передавайте пароль аккаунта, пароль root или API-токен. Если нужен другой вид доступа, напишите нам.\n\n**Я не могу войти в аккаунт. Что делать?**\nСм. [Забыли пароль от аккаунта](#cont.parola-uitata) и как можно скорее напишите на support@blackbox.md или позвоните по номеру +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы).\n",
    "en": "The recommendations below help you protect your blackbox.md account, the app.blackbox.md panel, your API tokens and your servers. The security settings are on blackbox.md, in your account, “Contul meu” (My account), at `blackbox.md/account`, and in the panel, under “Security” (`app.blackbox.md/security`) and “Settings” (`app.blackbox.md/settings`). At the end you will find the steps to take, in order, if you suspect that someone else has accessed your account.\n\n**Available to:** the owner of the blackbox.md account and of the servers ordered from that account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Where to find your security settings\n\n| What to protect | Where |\n|---|---|\n| Account password, verified email | “Contul meu” (My account) → “Profil” (Profile), “Securitatea contului” (Account security) section |\n| API tokens for AI assistants | “Contul meu” → “Token-uri API” (API tokens) |\n| SSH keys saved in your account | “Contul meu” → “Chei SSH” (SSH keys) |\n| Two-factor authentication (2FA) | panel → “Security” |\n| Panel sessions | panel → “Settings” → “Sessions” |\n| Root password, installed keys, password login | panel → “My Servers” → the server card |\n\n## Account password\n\n- Use a long, unique password that a password manager generates and stores for you. The minimum: 12 characters, with at least 3 of these: uppercase letter, lowercase letter, digit, special character.\n- Do not reuse the password on other sites, and do not use it as the root password on your servers.\n- Change your password on blackbox.md (“Profil” (Profile) → “Schimbă parola” (Change password)), not in the panel. Each time you click “Deschide panoul” (Open the panel), the panel takes over your account password, so a password changed only in the panel gets overwritten. Steps: [Changing your account password](#cont.schimbare-parola).\n- If you sign in with Google or GitLab, your BLACKBOX account is only as secure as that account. Turn on two-factor authentication there.\n\n## Two-factor authentication in the panel\n\n1. In the panel, open “Security” (or the user menu → “Security & 2FA”).\n2. Click “Enable Two-Factor Authentication” and follow the steps in [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n3. Save the 8 recovery codes offline: on paper or in a password manager, not on the phone that has your authenticator app. Each code can be used only once.\n\nOnce 2FA is on, the panel asks for a code every time you sign in, including when you open it from your account with “Deschide panoul” (Open the panel). If you check “Remember this device for 30 days”, the panel stops asking for the code when you open it again from your account in the same browser. Check this option only on your own personal computer. If you lose your phone, see [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut).\n\n## Account email\n\n- Keep your email verified: under “Securitatea contului” (Account security) you should see “Verificat” (Verified). Without verification you cannot open the panel from your account. See [Verifying your email address](#cont.verificare-email).\n- Protect your mailbox with a strong password and 2FA at your email provider. This is where you receive notifications about your services, invoices and servers.\n- The address cannot be changed from the account page. To use a new address, contact us.\n\n## API tokens\n\n- Grant only the permissions you need. The three read permissions are checked by default; when you check any of the other five, it shows the warning “Atenție: cu această permisiune asistentul AI va putea …” (Warning: with this permission, the AI assistant will be able to …). The “AI-administrator — acces complet” (AI administrator — full access) button checks all permissions: the assistant will be able to run any command as root, see passwords and keys, and spend from your balance.\n- Create a separate token for each AI client or device, with a clear name such as “Claude Desktop (laptop)”. If you lose your laptop, you only need to revoke that one token.\n- Keep the token in a password manager or in an environment variable. Do not put it in code, git repositories, screenshots or conversations.\n- Check the “Ultima utilizare” (Last used) column regularly (it updates with a delay of up to one minute). Click “Revocă” (Revoke) for tokens you no longer use or do not recognize.\n- A token's permissions cannot be changed. If you need different permissions, create a new token and revoke the old one.\n\nDetails: [Token and AI agent security](#ai.securitate).\n\n## Servers: SSH keys and the root password\n\n- Use SSH keys instead of a password. Generate a key ([Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)), add it to the server with “Add SSH key” and check that you can connect with it. Then click “Disable password login”: the card will show “Key-only”.\n- Remove keys you no longer use from each server: on the server card, “Add SSH key” → “Installed keys” → “Remove”. Deleting a key in “Contul meu” (My account) → “Chei SSH” (SSH keys) does not remove it from your servers. Details: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n- Do not remove the “Management key (blackbox.md)”, and do not delete it by hand from `authorized_keys` either: without it, password reset, key management, and turning password login on or off from the panel stop working. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n- Never give anyone your root password. For temporary access, for example for an outside administrator, add their public key and remove it once the work is done. If you did share the password, reset it right afterward with “Reset password”: [Resetting the root password](#acces.resetare-parola-root).\n- Also change the initial root password you received when the server was activated, using the same “Reset password” button.\n\n> **Warning**\n> Before you disable password login or remove keys, check in a separate window that you can connect with your key, and keep your current SSH session open until you are done. There is no web console for customers: if you lose access, contact us.\n\nThe full checklist for a new server: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## What you should never send\n\nNever send passwords, API tokens, private SSH keys or recovery codes by email, chat or support ticket, not even to BLACKBOX support. For a server problem, the order number (`BBX-…`) and the IP address are enough. Your public key (the `.pub` file) is safe to send. If you have already sent a secret, change or revoke it immediately.\n\n## If you suspect a compromise\n\nFollow these steps in this order:\n\n1. Change your account password: “Contul meu” (My account) → “Profil” (Profile) → “Schimbă parola” (Change password), enter your current password and a new one, then click “Salvează parola” (Save password). The message “Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” (Your password has been changed. Please sign in again.) appears and you are signed out automatically. All sessions on blackbox.md end, and the API tokens created up to that point stop working. Sign in with your new password.\n2. In “Token-uri API” (API tokens), click “Revocă” (Revoke) for every token. The list does not show that the password change has disabled them; once you revoke them, their status is clear. Create new tokens only for the AI clients you will keep using.\n3. Open the panel with “Deschide panoul” (Open the panel) so that it also picks up the new password. Go to “Settings” → “Sessions” → “Sign Out Everywhere” and confirm. All panel sessions end, and the devices remembered for 2FA are forgotten. Then open the panel again from your account.\n4. For each server in “My Servers”, click “Reset password” and confirm. The old password stops working immediately, and the new one appears on the server card: save it in your password manager. If `reset_failed` appears, the password was not changed: check that the server is running and try again; if the error repeats, contact us.\n5. For each server, open “Add SSH key” → “Installed keys” and remove the keys you do not recognize. Do not touch the “Management key (blackbox.md)”. The key with the comment `blackbox-agent-…` is used by the AI assistant for SSH access; you can remove it, since the panel does not depend on it ([BLACKBOX keys on your server](#acces.cheile-blackbox)).\n6. Write to us at support@blackbox.md or open a ticket ([Opening a support ticket](#suport.tichet-nou)). Describe what you noticed and which steps you have taken, without including any passwords.\n\n> **Important**\n> If you sign in only with Google or GitLab, the “Parolă” (Password) section does not appear in your account. In step 1, change the password of your Google or GitLab account and end its active sessions there. Sessions already open on blackbox.md expire on their own within 8 hours at most. In this case the API tokens are not disabled automatically, so in step 2 revoke all of them.\n\nWhat each action ends:\n\n| Action | What it ends | What it does not affect |\n|---|---|---|\n| “Schimbă parola” on blackbox.md | sessions on blackbox.md, API tokens created before the change | sessions already open in the panel; the panel password (it stays the old one until the next “Deschide panoul”) |\n| “Revocă” | that token, immediately | the other tokens |\n| “Sign Out Everywhere” | panel sessions, devices remembered for 2FA | sessions on blackbox.md, API tokens |\n| “Reset password” | the old root password | installed SSH keys |\n\nIf the server itself appears to have been hacked, see [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n## Responsibility for your account\n\nUnder the [Terms and Conditions](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), you are responsible for the activity in your account and for protecting your passwords, SSH keys, API tokens and second authentication factor. Whatever an AI assistant does with your token is done on your behalf. BLACKBOX is not liable for third parties' use of your account unless there is a proven breach of its own systems.\n\n## Frequently asked questions\n\n**My AI assistant stopped connecting after I changed my password. Why?**\nChanging your password disables all API tokens created before the change. Create a new token in “Token-uri API” (API tokens) and put it in your AI client's settings.\n\n**How do I give access to a colleague or an outside administrator?**\nYou cannot add other users to your account yourself. For access to a server, add the person's public key and remove it once the work is done. Do not share your account password, your root password or an API token. For other kinds of access, contact us.\n\n**I can't sign in to my account. What should I do?**\nSee [Forgot your account password](#cont.parola-uitata) and contact us as soon as possible at support@blackbox.md or call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n"
   }
  },
  {
   "id": "cont.profil",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/profil/",
    "ru": "https://docs.blackbox.md/ru/cont/profil/",
    "en": "https://docs.blackbox.md/en/cont/profil/"
   },
   "title": {
    "ro": "Profilul meu: nume, telefon și email",
    "ru": "Мой профиль: имя, телефон и email",
    "en": "My profile: name, phone number and email"
   },
   "summary": {
    "ro": "Ce date personale puteți modifica pe blackbox.md și ce carduri găsiți pe pagina de profil.",
    "ru": "Какие личные данные можно изменить на blackbox.md и какие карточки есть на странице профиля.",
    "en": "What personal details you can change on blackbox.md and which cards you will find on the profile page."
   },
   "markdown": {
    "ro": "Pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”) este pagina principală a contului. Aici completați numele și telefonul, vedeți adresa de email a contului și găsiți cardurile pentru securitate, accesul la panou și datele dvs. O deschideți cu „Cont client” din bara de sus a site-ului (pe telefon, cu cercul cu inițialele dvs.) sau cu elementul „Profil” din meniul contului.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Dacă nu sunteți autentificat, site-ul vă trimite mai întâi la pagina „Autentificare”.\n\n## Ce conține pagina\n\nSub titlu apare textul „Gestionează datele personale și securitatea contului.” Blocul principal este „Date personale”: inițialele dvs. (avatarul), numele și rândul „Membru din”, urmat de data creării contului. Dacă nu ați completat numele, în locul lui apare adresa de email.\n\nÎn dreapta sau sub el, în funcție de lățimea ecranului, se află cardurile:\n\n| Card | Ce conține | Unde este explicat |\n|---|---|---|\n| „Securitatea contului” | „Verificarea emailului”, cu butonul „Trimite emailul de verificare” (cât timp adresa nu este confirmată), și „Parolă”, cu butonul „Schimbă parola” | [Verificarea adresei de email](#cont.verificare-email), [Schimbarea parolei contului](#cont.schimbare-parola) |\n| „Serviciile tale” | butonul „Deschide panoul”, care deschide panoul app.blackbox.md într-o filă nouă; fără email confirmat se deschide doar pagina de autentificare a panoului | [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou) |\n| „Datele mele” | butonul „Descarcă datele mele” | [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date) |\n| „Ștergerea contului” | cererea de ștergere a contului | [Ștergerea contului](#cont.stergere-cont) |\n\nSecțiunea „Parolă” lipsește dacă ați creat contul cu Google sau GitLab și nu aveți parolă pe blackbox.md.\n\n## Cum modificați numele și telefonul\n\nDacă ați indicat numele și telefonul la înregistrare, ele apar deja în câmpuri. La un cont creat cu Google sau GitLab, numele este preluat de la serviciul respectiv.\n\n1. Apăsați „Cont client” în bara de sus a site-ului. Se deschide pagina „Profilul meu”.\n2. În blocul „Date personale”, scrieți numele și prenumele în câmpul „Nume”.\n3. La „Telefon”, alegeți prefixul de țară din lista din stânga câmpului. Implicit este selectat „MD +373”.\n4. Scrieți numărul fără prefix, de exemplu 69 123 456.\n5. Apăsați „Salvează modificările”. Cât durează salvarea, butonul afișează „Se salvează…”.\n6. Deasupra butoanelor apare mesajul „Modificările au fost salvate.”\n\nButonul „Salvează modificările” devine activ numai după ce schimbați ceva și numai dacă sub câmpuri nu este afișată nicio eroare. Butonul „Renunță” anulează modificările nesalvate și readuce valorile salvate.\n\nPentru a șterge numele sau telefonul, goliți câmpul și apăsați „Salvează modificările”.\n\n### Câmpurile\n\n| Câmp | Reguli |\n|---|---|\n| „Nume” | opțional, cel mult 120 de caractere |\n| „Email” | doar pentru citire; insigna „Verificat” sau „Neverificat” arată dacă adresa este confirmată |\n| „Telefon” | opțional (sub câmp scrie „Opțional · Pentru notificări despre servicii.”); numărul poate conține doar cifre, spații și caracterele ( ) -, între 4 și 15 cifre |\n\n### Prefixul de țară\n\nLista începe cu „MD +373”, „RO +40”, „RU +7” și „UA +380”, apoi continuă cu celelalte prefixe internaționale, în ordinea crescătoare a codului. Numărul se salvează împreună cu prefixul, de exemplu +373 69 123 456.\n\n- Un număr salvat fără „+” (de exemplu 069123456, scris la înregistrare) apare cu „MD +373” selectat. Dacă îl modificați, prefixul ales se adaugă în fața numărului, așa că ștergeți 0-ul de la început: 69 123 456. Dacă numărul nu este din Moldova, alegeți prefixul corect.\n- Opțiunea „Alt prefix” nu se alege din listă. Ea apare singură când numărul salvat începe cu un prefix care nu există în listă; numărul rămâne atunci întreg în câmp și se salvează neschimbat.\n\n### Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Numele nu poate depăși 120 de caractere.” | numele are peste 120 de caractere | scurtați numele |\n| „Numărul poate conține doar cifre, spații și caracterele ( ) -.” | în număr există litere, „+” sau alte semne | scrieți numărul fără prefix; prefixul îl alegeți din listă |\n| „Numărul trebuie să conțină între 4 și 15 cifre.” | numărul are prea puține sau prea multe cifre | verificați numărul |\n| „Numărul de telefon este prea lung.” | prefixul și numărul au împreună peste 40 de caractere | eliminați spațiile și parantezele în plus |\n| „Datele introduse nu au fost acceptate. Verificați câmpurile.” | serverul a respins una dintre valori | corectați câmpurile și salvați din nou |\n| „Nu am putut salva modificările. Încercați din nou.” | salvarea a eșuat; modificările rămân în formular | apăsați din nou „Salvează modificările”; dacă mesajul se repetă, reîncărcați pagina și, dacă vi se cere, autentificați-vă din nou |\n\n## Profilul și comenzile\n\n> **Important**\n> Completați numele și telefonul înainte de a comanda. Pagina de comandă nu are un formular de contact: numele, emailul și telefonul din profil sunt copiate automat în fiecare comandă nouă ca date de contact. Dacă numele lipsește, în comandă apare adresa de email.\n\nModificările din profil se aplică doar comenzilor plasate după salvare. Comenzile existente păstrează datele de contact din momentul plasării; pentru a le corecta, scrieți-ne.\n\nNumele și emailul din datele de contact ale comenzii apar și în blocul „Client” al facturii PDF atașate la emailul „Plată confirmată”.\n\n## Schimbarea adresei de email\n\nEmailul este identificatorul contului: cu el vă autentificați pe blackbox.md și tot el este numele de utilizator în panou. Nu îl puteți schimba singur din profil.\n\n> **Notă**\n> Pentru a schimba adresa de email, scrieți la support@blackbox.md de pe adresa actuală a contului și indicați adresa nouă.\n\n## Datele companiei pentru facturi\n\nProfilul nu are câmpuri pentru companie, IDNO sau adresă. Acestea se completează în „Contul meu” → „Date de facturare” și se aleg la comandă. Detalii: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n## Întrebări frecvente\n\n**De ce nu pot apăsa „Salvează modificările”?**\nButonul este activ doar când ați schimbat o valoare și nu există erori sub câmpuri. Corectați eroarea afișată cu roșu sau modificați o valoare.\n\n**Este obligatoriu telefonul?**\nNu, câmpul este opțional. Telefonul ajunge însă în datele de contact ale comenzilor noi, așa că vă recomandăm să îl completați.\n\n**Pot modifica numele sau telefonul din panoul app.blackbox.md?**\nNu. Pe pagina „Setări” a panoului, blocul „Profil” arată doar „Nume utilizator” (emailul), „Rol” și „Autentificare în doi pași”; câmpuri pentru nume sau telefon nu există. Acestea se modifică numai pe blackbox.md. Vedeți [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou).\n",
    "ru": "Страница «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль») — главная страница личного кабинета. Здесь вы указываете имя и телефон, видите email аккаунта и находите карточки для безопасности, входа в панель и ваших данных. Откройте её кнопкой «Личный кабинет» в верхней панели сайта (на телефоне — кружком с вашими инициалами) или пунктом «Профиль» в меню аккаунта.\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md. Если вы не вошли, сайт сначала откроет страницу «Вход».\n\n## Что есть на странице\n\nПод заголовком написано «Управляйте личными данными и безопасностью аккаунта.» Главный блок — «Личные данные»: ваши инициалы (аватар), имя и строка «Участник с» с датой создания аккаунта. Если имя не указано, вместо него показан email.\n\nСправа от него или под ним (в зависимости от ширины экрана) расположены карточки:\n\n| Карточка | Что в ней | Где описано |\n|---|---|---|\n| «Безопасность аккаунта» | «Подтверждение email» с кнопкой «Отправить письмо для подтверждения» (пока адрес не подтверждён) и «Пароль» с кнопкой «Изменить пароль» | [Подтверждение адреса email](#cont.verificare-email), [Смена пароля аккаунта](#cont.schimbare-parola) |\n| «Ваши услуги» | кнопка «Открыть панель» открывает панель app.blackbox.md в новой вкладке; если email не подтверждён, откроется только страница входа в панель | [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou) |\n| «Мои данные» | кнопка «Скачать мои данные» | [Скачивание ваших данных («Мои данные»)](#cont.export-date) |\n| «Удаление аккаунта» | запрос на удаление аккаунта | [Удаление аккаунта](#cont.stergere-cont) |\n\nРаздела «Пароль» нет, если вы создали аккаунт через Google или GitLab и пароля на blackbox.md у вас нет.\n\n## Как изменить имя и телефон\n\nЕсли при регистрации вы указали имя и телефон, они уже есть в полях. Если аккаунт создан через Google или GitLab, имя берётся из этого сервиса.\n\n1. Нажмите «Личный кабинет» в верхней панели сайта. Откроется страница «Мой профиль».\n2. В блоке «Личные данные» введите имя и фамилию в поле «Имя».\n3. В поле «Телефон» выберите код страны в списке слева. По умолчанию выбран «MD +373».\n4. Введите номер без кода страны, например 69 123 456.\n5. Нажмите «Сохранить изменения». Пока данные сохраняются, на кнопке написано «Сохранение…».\n6. Над кнопками появится сообщение «Изменения сохранены.»\n\nКнопка «Сохранить изменения» становится активной, только когда вы что-то изменили и под полями нет ошибок. Кнопка «Отменить» сбрасывает несохранённые изменения и возвращает сохранённые значения.\n\nЧтобы удалить имя или телефон, очистите поле и нажмите «Сохранить изменения».\n\n### Поля\n\n| Поле | Правила |\n|---|---|\n| «Имя» | необязательное, не длиннее 120 символов |\n| «Email» | только для чтения; значок «Подтверждён» или «Не подтверждён» показывает, подтверждён ли адрес |\n| «Телефон» | необязательное (под полем написано «Необязательно · Для уведомлений об услугах.»); номер может содержать только цифры, пробелы и символы ( ) -, от 4 до 15 цифр |\n\n### Код страны\n\nСписок начинается с «MD +373», «RO +40», «RU +7» и «UA +380», дальше идут остальные международные коды по возрастанию. Номер сохраняется вместе с кодом, например +373 69 123 456.\n\n- Если номер сохранён без «+» (например, 069123456 при регистрации), в списке выбран «MD +373». Если вы меняете номер, код страны добавится перед ним, поэтому уберите 0 в начале: 69 123 456. Если номер не молдавский, выберите нужный код.\n- Вариант «Другой код» нельзя выбрать в списке. Он появляется сам, если сохранённый номер начинается с кода, которого в списке нет; тогда номер целиком остаётся в поле и сохраняется без изменений.\n\n### Сообщения об ошибках\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Имя не может быть длиннее 120 символов.» | в имени больше 120 символов | сократите имя |\n| «Номер может содержать только цифры, пробелы и символы ( ) -.» | в номере есть буквы, «+» или другие знаки | введите номер без кода; код выберите в списке |\n| «Номер должен содержать от 4 до 15 цифр.» | цифр слишком мало или слишком много | проверьте номер |\n| «Номер телефона слишком длинный.» | код и номер вместе длиннее 40 символов | уберите лишние пробелы и скобки |\n| «Введённые данные не приняты. Проверьте поля.» | сервер отклонил одно из значений | исправьте поля и сохраните снова |\n| «Не удалось сохранить изменения. Попробуйте снова.» | сохранить не удалось; изменения остаются в форме | снова нажмите «Сохранить изменения»; если ошибка повторяется, обновите страницу и, если потребуется, войдите заново |\n\n## Профиль и заказы\n\n> **Важно**\n> Заполните имя и телефон до оформления заказа. При оформлении заказа нет формы для контактных данных: имя, email и телефон из профиля автоматически копируются в каждый новый заказ. Если имя не указано, в заказе будет ваш email.\n\nИзменения в профиле действуют только для заказов, оформленных после сохранения. В уже созданных заказах остаются контактные данные на момент оформления; чтобы их исправить, напишите нам.\n\nИмя и email из контактных данных заказа указываются и в блоке «Client» PDF-счёта, который приходит с письмом «Plată confirmată» (тема письма на румынском).\n\n## Смена адреса email\n\nEmail — это идентификатор аккаунта: с ним вы входите на blackbox.md, и он же служит именем пользователя в панели. Самостоятельно изменить его в профиле нельзя.\n\n> **Примечание**\n> Чтобы сменить email, напишите на support@blackbox.md с текущего адреса аккаунта и укажите новый адрес.\n\n## Реквизиты компании для счетов\n\nВ профиле нет полей для названия компании, IDNO или адреса. Их указывают в разделе «Мой аккаунт» → «Реквизиты» и выбирают при оформлении заказа. Подробнее: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n## Частые вопросы\n\n**Почему кнопка «Сохранить изменения» неактивна?**\nКнопка активна, только если вы изменили значение и под полями нет ошибок. Исправьте ошибку, указанную красным, или измените значение в поле.\n\n**Телефон обязателен?**\nНет, поле необязательное. Но телефон попадает в контактные данные новых заказов, поэтому лучше его указать.\n\n**Можно ли изменить имя или телефон в панели app.blackbox.md?**\nНет. На странице «Настройки» в панели блок «Профиль» показывает только «Имя пользователя» (ваш email), «Роль» и «Двухфакторная аутентификация»; полей для имени и телефона там нет. Они меняются только на blackbox.md. См. [Настройки панели: профиль, пароль и сессии](#cont.setari-panou).\n",
    "en": "The “Profilul meu” (My profile) page at `blackbox.md/account` is the main page of your account; in the menu it is “Contul meu” (My account) → “Profil” (Profile). Here you fill in your name and phone number, see your account's email address and find the cards for security, panel access and your data. To open it, click “Cont client” (Customer account) in the top bar of the website (on a phone, tap the circle with your initials) or choose “Profil” in the account menu.\n\n**Available to:** any customer signed in to blackbox.md. If you are not signed in, the website first takes you to the “Autentificare” (Sign in) page.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What is on the page\n\nUnder the title you see the text “Gestionează datele personale și securitatea contului.” (Manage your personal details and account security.) The main block is “Date personale” (Personal details): your initials (the avatar), your name and the “Membru din” (Member since) line, followed by the date your account was created. If you have not filled in your name, your email address is shown in its place.\n\nTo the right of this block or below it, depending on the screen width, you will find these cards:\n\n| Card | What it contains | Where it is explained |\n|---|---|---|\n| “Securitatea contului” (Account security) | “Verificarea emailului” (Email verification), with the “Trimite emailul de verificare” (Send verification email) button (as long as the address is not confirmed), and “Parolă” (Password), with the “Schimbă parola” (Change password) button | [Verifying your email address](#cont.verificare-email), [Changing your account password](#cont.schimbare-parola) |\n| “Serviciile tale” (Your services) | the “Deschide panoul” (Open the panel) button, which opens the app.blackbox.md panel in a new tab; without a confirmed email, only the panel's sign-in page opens | [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou) |\n| “Datele mele” (My data) | the “Descarcă datele mele” (Download my data) button | [Downloading your data (“Datele mele”)](#cont.export-date) |\n| “Ștergerea contului” (Account deletion) | the request to delete your account | [Deleting your account](#cont.stergere-cont) |\n\nThe “Parolă” section is missing if you created your account with Google or GitLab and do not have a password on blackbox.md.\n\n## How to change your name and phone number\n\nIf you entered your name and phone number when you signed up, they already appear in the fields. For an account created with Google or GitLab, the name is taken from that service.\n\n1. Click “Cont client” (Customer account) in the top bar of the website. The “Profilul meu” (My profile) page opens.\n2. In the “Date personale” (Personal details) block, type your first and last name in the “Nume” (Name) field.\n3. For “Telefon” (Phone), choose the country code from the list to the left of the field. “MD +373” is selected by default.\n4. Type the number without the country code, for example 69 123 456.\n5. Click “Salvează modificările” (Save changes). While the changes are being saved, the button shows “Se salvează…” (Saving…).\n6. The message “Modificările au fost salvate.” (Your changes have been saved.) appears above the buttons.\n\nThe “Salvează modificările” button becomes active only after you change something, and only if no error is shown under the fields. The “Renunță” (Cancel) button discards unsaved changes and brings back the saved values.\n\nTo remove your name or phone number, clear the field and click “Salvează modificările”.\n\n### The fields\n\n| Field | Rules |\n|---|---|\n| “Nume” | optional, up to 120 characters |\n| “Email” | read-only; the “Verificat” (Verified) or “Neverificat” (Not verified) badge shows whether the address is confirmed |\n| “Telefon” | optional (the text under the field reads “Opțional · Pentru notificări despre servicii.” (Optional · For service notifications.)); the number may contain only digits, spaces and the characters ( ) -, with 4 to 15 digits |\n\n### The country code\n\nThe list starts with “MD +373”, “RO +40”, “RU +7” and “UA +380”, followed by the other international codes in ascending order. The number is saved together with the code, for example +373 69 123 456.\n\n- A number saved without a “+” (for example 069123456, entered at sign-up) appears with “MD +373” selected. If you edit it, the selected code is added in front of the number, so delete the leading 0: 69 123 456. If the number is not a Moldovan one, choose the correct code.\n- You cannot pick the “Alt prefix” (Other code) option from the list. It appears on its own when the saved number starts with a code that is not in the list; the whole number then stays in the field and is saved unchanged.\n\n### Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Numele nu poate depăși 120 de caractere.” (The name cannot be longer than 120 characters.) | the name has more than 120 characters | shorten the name |\n| “Numărul poate conține doar cifre, spații și caracterele ( ) -.” (The number may contain only digits, spaces and the characters ( ) -.) | the number contains letters, a “+” or other symbols | type the number without the code; choose the code from the list |\n| “Numărul trebuie să conțină între 4 și 15 cifre.” (The number must contain between 4 and 15 digits.) | the number has too few or too many digits | check the number |\n| “Numărul de telefon este prea lung.” (The phone number is too long.) | the code and the number together are longer than 40 characters | remove the extra spaces and parentheses |\n| “Datele introduse nu au fost acceptate. Verificați câmpurile.” (The data you entered was not accepted. Check the fields.) | the server rejected one of the values | correct the fields and save again |\n| “Nu am putut salva modificările. Încercați din nou.” (We could not save your changes. Please try again.) | saving failed; your changes stay in the form | click “Salvează modificările” again; if the message keeps appearing, reload the page and, if asked, sign in again |\n\n## Your profile and your orders\n\n> **Important**\n> Fill in your name and phone number before you place an order. The order page has no contact form: the name, email and phone number from your profile are copied automatically into every new order as its contact details. If the name is missing, the order shows your email address.\n\nChanges to your profile apply only to orders placed after you save them. Existing orders keep the contact details they had when they were placed; to correct them, write to us.\n\nThe name and email from the order's contact details also appear in the “Client” block of the PDF invoice attached to the “Plată confirmată” (Payment confirmed) email.\n\n## Changing your email address\n\nYour email address identifies your account: you use it to sign in to blackbox.md, and it is also your username in the panel. You cannot change it yourself from your profile.\n\n> **Note**\n> To change your email address, write to support@blackbox.md from your current account address and tell us the new address.\n\n## Company details for invoices\n\nYour profile has no fields for a company, IDNO or address. You fill these in under “Contul meu” (My account) → “Date de facturare” (Billing details) and choose them when you place an order. Details: [Billing details for companies and individuals](#plati.date-facturare).\n\n## Frequently asked questions\n\n**Why can't I click “Salvează modificările” (Save changes)?**\nThe button is active only when you have changed a value and there are no errors under the fields. Fix the error shown in red or change a value.\n\n**Is the phone number required?**\nNo, the field is optional. However, the phone number goes into the contact details of new orders, so we recommend filling it in.\n\n**Can I change my name or phone number in the app.blackbox.md panel?**\nNo. On the panel's “Settings” page, the “Profile” block shows only “Username” (your email), “Role” and “Two-factor authentication”; there are no fields for a name or phone number. You can change these only on blackbox.md. See [Panel settings: profile, password, and sessions](#cont.setari-panou).\n"
   }
  },
  {
   "id": "cont.limba",
   "section": "cont",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/limba/",
    "ru": "https://docs.blackbox.md/ru/cont/limba/",
    "en": "https://docs.blackbox.md/en/cont/limba/"
   },
   "title": {
    "ro": "Limba site-ului, a panoului și a emailurilor",
    "ru": "Язык сайта, панели и писем",
    "en": "Language of the website, the panel and emails"
   },
   "summary": {
    "ro": "Cum schimbați limba pe blackbox.md și în panou, de ce depinde limba emailurilor și ce texte rămân în română sau engleză.",
    "ru": "Как сменить язык на blackbox.md и в панели, от чего зависит язык писем и какие тексты остаются на румынском или английском.",
    "en": "How to change the language on blackbox.md and in the panel, what the email language depends on, and which texts stay in Romanian or English."
   },
   "markdown": {
    "ro": "Limba se stabilește separat pentru site, pentru panou și pentru emailuri. Pe site-ul blackbox.md (inclusiv „Contul meu”) o alegeți cu linkurile „RO / RU” din antet, în panoul app.blackbox.md cu butoanele „EN”, „RO”, „RU” din bara de sus, iar textul emailurilor urmează limba contului dvs. Mai jos găsiți cum schimbați limba în fiecare loc și ce texte rămân într-o singură limbă.\n\n**Disponibil pentru:** orice vizitator al blackbox.md; limba panoului și a emailurilor privește titularul unui cont blackbox.md.\n\n| Unde | Limbi | Cum alegeți | Se reține alegerea? |\n|---|---|---|---|\n| Site-ul blackbox.md și „Contul meu” | română, rusă | „RO / RU” în antet sau adresa paginii | Nu. Adresa `blackbox.md` se deschide mereu în română. |\n| Panoul app.blackbox.md | engleză, română, rusă | „EN”, „RO”, „RU” în bara de sus sau pe pagina de autentificare | Da, un an, în același browser. La fiecare intrare din blackbox.md panoul preia limba site-ului. |\n| Emailurile automate | română, rusă; câteva doar în română sau în engleză | Nu se aleg direct: urmează limba contului | Da, în cont. |\n\n## Limba site-ului blackbox.md\n\n- Versiunea română are adrese fără prefix (`blackbox.md/account`), iar versiunea rusă are prefixul `/ru` (`blackbox.md/ru/account`).\n- Site-ul nu preia limba din setările browserului și nu reține alegerea: adresa `blackbox.md` deschide întotdeauna versiunea română. Ca să intrați direct în rusă, folosiți `blackbox.md/ru`; o puteți salva ca marcaj.\n- Site-ul, „Contul meu” și paginile legale nu au versiune în engleză.\n\n### Cum schimbați limba\n\n1. În dreapta antetului, lângă butonul pentru temă, găsiți „RO / RU”.\n2. Apăsați „RU” pentru rusă sau „RO” pentru română.\n3. Aceeași pagină se deschide în limba aleasă. Rămâneți autentificat.\n\n### Pe telefon\n\nPe ecranele înguste, de exemplu pe un telefon ținut vertical, „RO / RU” nu apare nici în antet, nici în meniurile site-ului. Aveți două variante:\n\n- schimbați adresa paginii: pentru rusă adăugați `/ru` imediat după `blackbox.md` (de exemplu `blackbox.md/ru/account`), pentru română ștergeți `/ru`;\n- rotiți telefonul orizontal: pe majoritatea telefoanelor „RO / RU” apare atunci în antet.\n\n### Pagini care se deschid în română\n\nUnele pagini la care site-ul vă trimite automat se deschid în română, chiar dacă ați folosit versiunea rusă:\n\n- pagina „Autentificare” la care ajungeți când o pagină cere cont, de exemplu după ce apăsați „Comandă”;\n- pagina contului, deschisă după autentificare sau înregistrare;\n- pagina „Autentificare” care se deschide după „Deconectare”;\n- pagina de după autentificarea cu Google sau GitLab;\n- pagina de plată care se deschide după plasarea comenzii;\n- pagina la care reveniți de pe Paynet;\n- paginile deschise din linkurile emailurilor.\n\nComutați limba cu „RU” (pe telefon, din adresa paginii): rămâneți pe aceeași pagină.\n\n### Texte care rămân în română pe versiunea rusă\n\n| Unde | Ce rămâne în română |\n|---|---|\n| Pagina de plată a comenzii | titlul plății, de exemplu „Comandă BBX-2026-000123” |\n| „Sold” → „Istoricul operațiunilor”, coloana „Descriere” | „Alimentare cont BLACKBOX”, „Comandă BBX-…”, „Factură …”, „Rambursare comandă BBX-…”, „Upgrade server”, „Anulare upgrade server” |\n| Emailurile | subiectele (vedeți secțiunea „Limba emailurilor” mai jos) |\n\nPe ambele versiuni, câteva mesaje de eroare apar în engleză, de exemplu „Too many requests” sau „Order total does not match current pricing. Please refresh and try again.” Explicațiile sunt în [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n### Paginile legale\n\n„Termeni și condiții”, „Politica de confidențialitate” și „Acord privind prelucrarea datelor (DPA)” există în română și în rusă; nu au versiune în engleză.\n\n> **Notă**\n> Textul în limba română are forță juridică. Versiunea în rusă este o traducere oferită pentru comoditate; paginile în rusă precizează acest lucru sub titlu.\n\n## Limba panoului app.blackbox.md\n\nPanoul are trei limbi: engleză, română și rusă. Butoanele „EN”, „RO”, „RU” sunt în bara de sus a panoului, inclusiv pe telefon, și pe pagina de autentificare `app.blackbox.md/login`.\n\n1. Apăsați „EN”, „RO” sau „RU”. Butonul activ este evidențiat.\n2. Textele panoului se schimbă imediat, fără reîncărcarea paginii.\n\n- Alegerea se păstrează în acest browser timp de un an.\n- La fiecare intrare din blackbox.md („Panou de administrare”, „Deschide panoul” sau „Gestionează în app.blackbox.md”), panoul preia din nou limba site-ului: română de pe versiunea română, rusă de pe versiunea rusă. Dacă vreți engleza, apăsați „EN” după fiecare intrare.\n- Dacă deschideți direct `app.blackbox.md` într-un browser în care panoul nu are încă o limbă reținută, pagina de autentificare apare în engleză. Dacă nu apăsați niciun buton de limbă, după autentificare panoul apare în română.\n- Când panoul este în rusă, „← blackbox.md” și indicatorul de sold deschid versiunea rusă a site-ului; în română sau în engleză, versiunea română.\n\nRestul barei de sus: [Interfața panoului: meniu, bara de sus și limbă](#servere.interfata-panoului).\n\n> **Ecran în limba engleză**\n> Unele părți ale panoului rămân în engleză în orice limbă: paginile de resetare a parolei și a 2FA, butoanele de sub „Sign in with” și pagina care urmează autentificării cu GitLab sau Google, tabelul serverelor din „Prezentare generală” și raportul deschis cu „View”, pagina „403 — Access denied”, statusul serverului din „Serverele mele” (de exemplu `active`) și titlul filei din browser, „BlackBox Server Panel” (pe majoritatea paginilor). Articolele le citează în engleză, exact cum apar.\n\nUnele erori din panou apar ca fraze în engleză sau ca coduri tehnice, de exemplu `reset_failed`. Explicațiile sunt în [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n\n## Limba emailurilor\n\n### Textul emailului\n\nTextul emailurilor vine în limba contului: română sau rusă. Limba contului devine rusa când:\n\n- vă înregistrați cu email și parolă pe versiunea rusă (`blackbox.md/ru/register`);\n- vă autentificați cu email și parolă pe versiunea rusă (`blackbox.md/ru/login`);\n- deschideți panoul pentru prima dată de pe versiunea rusă a site-ului.\n\nÎn celelalte cazuri, textul vine în română. Înregistrarea și autentificarea cu Google sau GitLab nu schimbă limba contului.\n\nLimba nu se poate schimba din „Profilul meu”, iar autentificarea pe versiunea română nu o readuce la română. Ca să primiți din nou emailurile în română, deschideți un tichet sau scrieți la support@blackbox.md: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n### Ce rămâne în aceeași limbă pentru toți\n\n| Emailuri | Subiect | Text |\n|---|---|---|\n| Comandă, plată, server gata, upgrade, anulare, sold, verificarea adresei, ștergerea contului | în română, de exemplu „Plată confirmată — BBX-…” | în limba contului |\n| Răspuns la tichet | „[Ticket #N] …” | doar în română |\n| Alertă de monitorizare | „[BlackBox] Alertă — …” | doar în română |\n| Ștergerea serverului | „Server termination scheduled — …”, „Server deleted — …” | în engleză pentru conturile în română, în rusă pentru conturile în rusă |\n| Invitația de la echipa BLACKBOX | „You've been invited to BlackBox” | în engleză |\n| Resetarea parolei sau a 2FA din panou | „Reset your BlackBox password”, „Reset your BlackBox 2FA” | în engleză |\n\nLinkurile către blackbox.md din emailuri deschid versiunea română a site-ului. Lista completă a emailurilor: [Emailurile pe care le primiți de la BLACKBOX](#suport.emailuri-blackbox).\n\n## Centrul de ajutor și suportul\n\n- Fiecare articol din centrul de ajutor există în română, în rusă și în engleză, cu același conținut. Articolele citează interfața în limba articolului: dacă folosiți panoul în engleză, comutați-l pe „RO” ca denumirile să coincidă cu cele din articole. Detalii: [Cum folosiți centrul de ajutor](#start.despre-centrul-de-ajutor).\n- În ce limbi vă putem răspunde: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Ieri am folosit site-ul în rusă, azi s-a deschis în română. De ce?**\nSite-ul nu reține limba și nu o preia din browser. Deschideți `blackbox.md/ru` sau apăsați „RU” în antet.\n\n**Am ales „EN” în panou, dar panoul a revenit la română. De ce?**\nLa fiecare intrare din blackbox.md panoul preia limba site-ului. Apăsați din nou „EN” după intrare.\n\n**Folosesc site-ul în rusă, dar emailurile vin în română. Ce fac?**\nApăsați „Deconectare”, apoi autentificați-vă cu email și parolă pe `blackbox.md/ru/login`: limba contului devine rusa. Subiectele, răspunsurile la tichete și alertele rămân în română. Dacă v-ați creat contul cu Google sau GitLab și nu aveți parolă, scrieți-ne.\n\n**Pot primi emailurile în engleză?**\nNu. Textul emailurilor este în română sau în rusă; în engleză vin doar emailurile indicate în tabelul de mai sus.\n",
    "ru": "Язык задаётся отдельно для сайта, панели и писем. На сайте blackbox.md (включая «Личный кабинет») его выбирают ссылками «RO / RU» в шапке, в панели app.blackbox.md — кнопками «EN», «RO», «RU» в верхней строке, а текст писем зависит от языка вашего аккаунта. Ниже — как сменить язык в каждом из этих мест и какие тексты остаются на одном языке.\n\n**Доступно:** любому посетителю blackbox.md; язык панели и писем касается владельца аккаунта blackbox.md.\n\n| Где | Языки | Как выбрать | Запоминается ли выбор |\n|---|---|---|---|\n| Сайт blackbox.md и «Личный кабинет» | румынский, русский | «RO / RU» в шапке или адрес страницы | Нет. Адрес `blackbox.md` всегда открывается на румынском. |\n| Панель app.blackbox.md | английский, румынский, русский | «EN», «RO», «RU» в верхней строке или на странице входа | Да, на год, в этом же браузере. При каждом входе с blackbox.md панель берёт язык сайта. |\n| Автоматические письма | румынский, русский; некоторые только на румынском или английском | Напрямую не выбирается: зависит от языка аккаунта | Да, в аккаунте. |\n\n## Язык сайта blackbox.md\n\n- У румынской версии адреса без префикса (`blackbox.md/account`), у русской — с префиксом `/ru` (`blackbox.md/ru/account`).\n- Сайт не определяет язык по настройкам браузера и не запоминает выбор: адрес `blackbox.md` всегда открывает румынскую версию. Чтобы сразу попадать на русскую, открывайте `blackbox.md/ru`; эту страницу можно сохранить в закладки.\n- Английской версии у сайта, личного кабинета и юридических страниц нет.\n\n### Как сменить язык\n\n1. В правой части шапки, рядом с кнопкой темы, найдите «RO / RU».\n2. Нажмите «RU» для русского или «RO» для румынского.\n3. Та же страница откроется на выбранном языке. Вы остаётесь в аккаунте.\n\n### На телефоне\n\nНа узких экранах, например на телефоне в вертикальном положении, ссылок «RO / RU» нет ни в шапке, ни в меню сайта. Есть два способа:\n\n- измените адрес страницы: для русского добавьте `/ru` сразу после `blackbox.md` (например, `blackbox.md/ru/account`), для румынского удалите `/ru`;\n- поверните телефон горизонтально: на большинстве телефонов «RO / RU» тогда появляется в шапке.\n\n### Страницы, которые открываются на румынском\n\nНекоторые страницы, на которые сайт перенаправляет вас автоматически, открываются на румынском, даже если вы пользовались русской версией:\n\n- страница входа, на которую вы попадаете, когда для страницы нужно войти в аккаунт, например после нажатия «Заказать»;\n- страница аккаунта, которая открывается после входа или регистрации;\n- страница входа, которая открывается после «Выйти»;\n- страница после входа через Google или GitLab;\n- страница оплаты, которая открывается после оформления заказа;\n- страница, на которую вы возвращаетесь с Paynet;\n- страницы, открытые по ссылкам из писем.\n\nПереключите язык ссылкой «RU» (на телефоне — через адрес страницы): вы останетесь на той же странице.\n\n### Тексты, которые остаются на румынском в русской версии\n\n| Где | Что остаётся на румынском |\n|---|---|\n| Страница оплаты заказа | название платежа, например «Comandă BBX-2026-000123» |\n| «Баланс» → «История операций», столбец «Описание» | «Alimentare cont BLACKBOX», «Comandă BBX-…», «Factură …», «Rambursare comandă BBX-…», «Upgrade server», «Anulare upgrade server» |\n| Письма | темы писем (см. раздел «Язык писем» ниже) |\n\nВ обеих версиях некоторые сообщения об ошибках показываются на английском, например «Too many requests» или «Order total does not match current pricing. Please refresh and try again.» Пояснения — в статье [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n### Юридические страницы\n\n«Условия использования», «Политика конфиденциальности» и «Соглашение об обработке данных (DPA)» есть на румынском и русском; английской версии нет.\n\n> **Примечание**\n> Юридическую силу имеет румынский текст. Русская версия — перевод для удобства, и на русских страницах под заголовком это сказано прямо: «Перевод предоставлен для удобства. Юридическую силу имеет румынская версия документа.»\n\n## Язык панели app.blackbox.md\n\nУ панели три языка: английский, румынский и русский. Кнопки «EN», «RO», «RU» есть в верхней строке панели, в том числе на телефоне, и на странице входа `app.blackbox.md/login`.\n\n1. Нажмите «EN», «RO» или «RU». Активная кнопка подсвечена.\n2. Тексты панели сменятся сразу, без перезагрузки страницы.\n\n- Выбор сохраняется в этом браузере на год.\n- При каждом входе с blackbox.md («Панель управления», «Открыть панель» или «Управление в app.blackbox.md») панель снова переключается на язык сайта: румынский — с румынской версии, русский — с русской. Если вам нужен английский, нажимайте «EN» после каждого входа.\n- Если вы открываете `app.blackbox.md` напрямую в браузере, где панель ещё не запомнила язык, страница входа будет на английском. Если не нажимать кнопки языка, после входа панель откроется на румынском.\n- Когда панель на русском, «← blackbox.md» и индикатор баланса открывают русскую версию сайта; на румынском или английском — румынскую.\n\nОстальные элементы верхней строки: [Интерфейс панели: меню, верхняя панель и язык](#servere.interfata-panoului).\n\n> **Экран на английском**\n> Некоторые части панели остаются на английском при любом языке интерфейса: страницы сброса пароля и 2FA, кнопки под надписью «Sign in with» и страница, которая открывается после входа через GitLab или Google, таблица серверов на странице «Обзор» и отчёт, который открывается кнопкой «View», страница «403 — Access denied», статус сервера на странице «Мои серверы» (например, `active`) и заголовок вкладки браузера «BlackBox Server Panel» (на большинстве страниц). Статьи цитируют их на английском, как они показаны на экране.\n\nНекоторые ошибки в панели показываются английскими фразами или техническими кодами, например `reset_failed`. Пояснения — в статье [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n\n## Язык писем\n\n### Текст письма\n\nТекст писем приходит на языке аккаунта — румынском или русском. Языком аккаунта становится русский, если вы:\n\n- регистрируетесь по email и паролю на русской версии (`blackbox.md/ru/register`);\n- входите по email и паролю на русской версии (`blackbox.md/ru/login`);\n- впервые открываете панель с русской версии сайта.\n\nВ остальных случаях текст приходит на румынском. Регистрация и вход через Google или GitLab язык аккаунта не меняют.\n\nНа странице «Мой профиль» настройки языка нет, а вход с румынской версии не возвращает румынский язык. Чтобы снова получать письма на румынском, создайте тикет или напишите на support@blackbox.md: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n### Что приходит на одном языке независимо от аккаунта\n\n| Письма | Тема | Текст |\n|---|---|---|\n| Заказ, оплата, готовность сервера, апгрейд, отмена, баланс, подтверждение адреса, удаление аккаунта | на румынском, например «Plată confirmată — BBX-…» | на языке аккаунта |\n| Ответ на тикет | «[Ticket #N] …» | только на румынском |\n| Оповещение мониторинга | «[BlackBox] Alertă — …» | только на румынском |\n| Удаление сервера | «Server termination scheduled — …», «Server deleted — …» | на английском для аккаунтов на румынском, на русском — для аккаунтов на русском |\n| Приглашение от команды BLACKBOX | «You've been invited to BlackBox» | на английском |\n| Сброс пароля или 2FA из панели | «Reset your BlackBox password», «Reset your BlackBox 2FA» | на английском |\n\nСсылки на blackbox.md в письмах открывают румынскую версию сайта. Полный список писем: [Письма, которые вы получаете от BLACKBOX](#suport.emailuri-blackbox).\n\n## Центр помощи и поддержка\n\n- Каждая статья центра помощи есть на румынском, русском и английском с одинаковым содержанием. Статьи цитируют интерфейс на языке статьи: если панель у вас на английском, переключите её на «RU», чтобы названия совпадали с теми, что в статьях. Подробнее: [Как пользоваться центром помощи](#start.despre-centrul-de-ajutor).\n- На каких языках вам может ответить поддержка: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Вчера сайт был на русском, а сегодня открылся на румынском. Почему?**\nСайт не запоминает язык и не берёт его из браузера. Откройте `blackbox.md/ru` или нажмите «RU» в шапке.\n\n**Я выбрал(а) «EN» в панели, но она снова на русском. Почему?**\nПри каждом входе с blackbox.md панель берёт язык сайта. Нажмите «EN» ещё раз после входа.\n\n**Я пользуюсь сайтом на русском, а письма приходят на румынском. Что делать?**\nНажмите «Выйти», затем войдите по email и паролю на `blackbox.md/ru/login` — языком аккаунта станет русский. Темы писем, ответы на тикеты и оповещения останутся на румынском. Если аккаунт создан через Google или GitLab и пароля у него нет, напишите в поддержку.\n\n**Можно ли получать письма на английском?**\nНет. Текст писем приходит на румынском или русском; на английском приходят только письма, указанные в таблице выше.\n",
    "en": "The language is set separately for the website, for the panel and for emails. On the blackbox.md website, including your account (“Contul meu”, My account), you choose it with the “RO / RU” links in the header; in the app.blackbox.md panel, with the “EN”, “RO”, “RU” buttons in the top bar; and the text of emails follows your account language. Below you'll find how to change the language in each place and which texts stay in a single language.\n\n**Available to:** any visitor to blackbox.md; the panel language and the email language concern the holder of a blackbox.md account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n| Where | Languages | How to choose | Is the choice remembered? |\n|---|---|---|---|\n| The blackbox.md website and “Contul meu” (My account) | Romanian, Russian | “RO / RU” in the header, or the page address | No. The `blackbox.md` address always opens in Romanian. |\n| The app.blackbox.md panel | English, Romanian, Russian | “EN”, “RO”, “RU” in the top bar or on the sign-in page | Yes, for one year, in the same browser. Each time you enter the panel from blackbox.md, it takes the website's language. |\n| Automatic emails | Romanian, Russian; a few only in Romanian or in English | Not chosen directly: they follow your account language | Yes, in your account. |\n\n## Language of the blackbox.md website\n\n- The Romanian version has addresses without a prefix (`blackbox.md/account`), and the Russian version has the `/ru` prefix (`blackbox.md/ru/account`).\n- The website does not take the language from your browser settings and does not remember your choice: the `blackbox.md` address always opens the Romanian version. To go straight to Russian, use `blackbox.md/ru`; you can save it as a bookmark.\n- The website, “Contul meu” (My account) and the legal pages have no English version.\n\n### How to change the language\n\n1. On the right side of the header, next to the theme button, find “RO / RU”.\n2. Click “RU” for Russian or “RO” for Romanian.\n3. The same page opens in the language you chose. You stay signed in.\n\n### On a phone\n\nOn narrow screens, for example on a phone held upright, “RO / RU” does not appear in the header or in the website menus. You have two options:\n\n- change the page address: for Russian, add `/ru` right after `blackbox.md` (for example `blackbox.md/ru/account`); for Romanian, delete `/ru`;\n- turn your phone sideways: on most phones, “RO / RU” then appears in the header.\n\n### Pages that open in Romanian\n\nSome pages the website sends you to automatically open in Romanian, even if you were using the Russian version:\n\n- the “Autentificare” (Sign in) page you reach when a page requires an account, for example after you click “Comandă” (Order);\n- the account page that opens after you sign in or sign up;\n- the “Autentificare” page that opens after “Deconectare” (Sign out);\n- the page you see after signing in with Google or GitLab;\n- the payment page that opens after you place an order;\n- the page you return to from Paynet;\n- pages opened from links in emails.\n\nSwitch the language with “RU” (on a phone, through the page address): you stay on the same page.\n\n### Text that stays in Romanian on the Russian version\n\n| Where | What stays in Romanian |\n|---|---|\n| The order payment page | the payment title, for example “Comandă BBX-2026-000123” (Order BBX-2026-000123) |\n| “Sold” (Balance) → “Istoricul operațiunilor” (Transaction history), “Descriere” (Description) column | “Alimentare cont BLACKBOX” (BLACKBOX account top-up), “Comandă BBX-…” (Order BBX-…), “Factură …” (Invoice …), “Rambursare comandă BBX-…” (Order refund BBX-…), “Upgrade server” (Server upgrade), “Anulare upgrade server” (Server upgrade cancellation) |\n| Emails | the subjects (see the “Email language” section below) |\n\nOn both versions, a few error messages appear in English, for example “Too many requests” or “Order total does not match current pricing. Please refresh and try again.” They are explained in [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n### The legal pages\n\n“Termeni și condiții” (Terms and conditions), “Politica de confidențialitate” (Privacy policy) and “Acord privind prelucrarea datelor (DPA)” (Data processing agreement) exist in Romanian and Russian; they have no English version.\n\n> **Note**\n> The Romanian text is legally binding. The Russian version is a translation provided for convenience; the Russian pages say so under the title.\n\n## Language of the app.blackbox.md panel\n\nThe panel has three languages: English, Romanian and Russian. The “EN”, “RO”, “RU” buttons are in the panel's top bar, including on a phone, and on the sign-in page `app.blackbox.md/login`.\n\n1. Click “EN”, “RO” or “RU”. The active button is highlighted.\n2. The panel's text changes immediately, without reloading the page.\n\n- Your choice is kept in this browser for one year.\n- Each time you enter the panel from blackbox.md, through “Panou de administrare” (Admin panel), “Deschide panoul” (Open the panel) or “Gestionează în app.blackbox.md” (Manage in app.blackbox.md), the panel takes the website's language again: Romanian from the Romanian version, Russian from the Russian version. If you want English, click “EN” after each entry.\n- If you open `app.blackbox.md` directly in a browser where the panel does not have a saved language yet, the sign-in page appears in English. If you don't click any language button, the panel appears in Romanian after you sign in.\n- When the panel is in Russian, “← blackbox.md” and the balance indicator open the Russian version of the website; when it is in Romanian or English, they open the Romanian version.\n\nThe rest of the top bar: [Panel interface: menu, top bar and language](#servere.interfata-panoului).\n\nSome parts of the panel stay in English whatever language you choose: the password and 2FA reset pages, the buttons under “Sign in with” and the page that follows signing in with GitLab or Google, the server table on “Overview” and the report opened with “View”, the “403 — Access denied” page, the server status on “My Servers” (for example `active`), and the browser tab title, “BlackBox Server Panel” (on most pages). The articles quote them in English, exactly as they appear.\n\nSome panel errors appear as English sentences or as technical codes, for example `reset_failed`. They are explained in [Panel error messages and what they mean](#faq.erori-panou).\n\n## Email language\n\n### The email text\n\nThe text of emails arrives in your account language: Romanian or Russian. Your account language becomes Russian when you:\n\n- sign up with email and password on the Russian version (`blackbox.md/ru/register`);\n- sign in with email and password on the Russian version (`blackbox.md/ru/login`);\n- open the panel for the first time from the Russian version of the website.\n\nIn all other cases, the text arrives in Romanian. Signing up and signing in with Google or GitLab do not change your account language.\n\nYou cannot change the language on “Profilul meu” (My profile), and signing in on the Romanian version does not switch it back to Romanian. To receive emails in Romanian again, open a support ticket or write to support@blackbox.md: [How to contact BLACKBOX support](#suport.contact).\n\n### What stays in the same language for everyone\n\n| Emails | Subject | Text |\n|---|---|---|\n| Order, payment, server ready, upgrade, cancellation, balance, address verification, account deletion | in Romanian, for example “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) | in your account language |\n| Support ticket reply | “[Ticket #N] …” | Romanian only |\n| Monitoring alert | “[BlackBox] Alertă — …” ([BlackBox] Alert — …) | Romanian only |\n| Server deletion | “Server termination scheduled — …”, “Server deleted — …” | in English for Romanian-language accounts, in Russian for Russian-language accounts |\n| Invitation from the BLACKBOX team | “You've been invited to BlackBox” | in English |\n| Password or 2FA reset from the panel | “Reset your BlackBox password”, “Reset your BlackBox 2FA” | in English |\n\nLinks to blackbox.md in emails open the Romanian version of the website. The full list of emails: [Emails you receive from BLACKBOX](#suport.emailuri-blackbox).\n\n## The help center and support\n\n- Every article in the help center exists in Romanian, Russian and English, with the same content. The articles quote the interface in the article's language: the English articles quote the panel's English labels, so if you use the panel in Romanian or Russian, switch it to “EN” so the names match the ones in the articles. The website has no English version, so its labels are quoted in Romanian with their English meaning. Details: [How to use the help center](#start.despre-centrul-de-ajutor).\n- The languages we can reply in: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Yesterday I used the website in Russian, but today it opened in Romanian. Why?**\nThe website does not remember the language and does not take it from your browser. Open `blackbox.md/ru` or click “RU” in the header.\n\n**I chose “EN” in the panel, but the panel switched back to Romanian. Why?**\nEach time you enter the panel from blackbox.md, it takes the website's language. Click “EN” again after you enter.\n\n**I use the website in Russian, but emails arrive in Romanian. What should I do?**\nClick “Deconectare” (Sign out), then sign in with email and password at `blackbox.md/ru/login`: your account language becomes Russian. Subjects, support ticket replies and alerts stay in Romanian. If you created your account with Google or GitLab and have no password, write to us.\n\n**Can I receive emails in English?**\nNo. The email text is in Romanian or Russian; only the emails listed in the table above arrive in English.\n"
   }
  },
  {
   "id": "cont.export-date",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/export-date/",
    "ru": "https://docs.blackbox.md/ru/cont/export-date/",
    "en": "https://docs.blackbox.md/en/cont/export-date/"
   },
   "title": {
    "ro": "Descărcarea datelor dvs. („Datele mele”)",
    "ru": "Скачивание ваших данных («Мои данные»)",
    "en": "Downloading your data (“Datele mele”)"
   },
   "summary": {
    "ro": "Cum descărcați o copie a datelor personale, a comenzilor și a facturilor și ce conține fișierul.",
    "ru": "Как скачать копию личных данных, заказов и счетов и что содержит файл.",
    "en": "How to download a copy of your personal data, orders and invoices, and what the file contains."
   },
   "markdown": {
    "ro": "Cardul „Datele mele” de pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”) vă permite să descărcați o copie a datelor contului într-un singur fișier JSON: datele personale, comenzile, facturile, plățile, soldul, tichetele și serverele. Astfel vă exercitați dreptul la portabilitatea datelor prevăzut de Legea nr. 195/2024.\n\n**Disponibil pentru:** titularul contului blackbox.md, autentificat pe blackbox.md. Funcția nu există în panoul app.blackbox.md.\n\n## Cum descărcați datele\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon, cercul cu inițialele dvs.). Se deschide pagina „Profilul meu” (în meniul contului: „Profil”).\n2. Găsiți cardul „Datele mele”, cu textul „Descarcă o copie a datelor tale personale, comenzilor, facturilor și serviciilor (portabilitatea datelor — GDPR / Legea 195/2024).” Cardul se află sub „Serviciile tale”: pe ecran lat, în coloana din dreapta; pe ecrane mai mici, derulați pagina în jos.\n3. Apăsați „Descarcă datele mele”. Butonul devine inactiv și afișează „Se pregătește…”.\n4. Browserul salvează fișierul `blackbox-export-YYYY-MM-DD.json`, unde `YYYY-MM-DD` este data descărcării după ora UTC (de exemplu `blackbox-export-2026-10-09.json`). Îl găsiți în folderul de descărcări al browserului.\n5. Butonul revine la „Descarcă datele mele”. Alt mesaj de confirmare nu apare.\n\nDacă sub buton apare „Eroare la descărcare. Încercați din nou.”, consultați secțiunea „Limita și erorile” de mai jos.\n\n> **Securitate**\n> Fișierul conține date personale: email, telefon, adrese IP, date de facturare și mesajele din tichete. Păstrați-l într-un loc sigur și nu îl trimiteți prin canale nesigure. Fișierul nu conține parole sau token-uri API complete, deci nu poate fi folosit pentru a intra în cont.\n\n## Ce conține fișierul\n\nFișierul este un obiect JSON cu câte o secțiune pentru fiecare tip de date. Numele secțiunilor sunt în engleză, exact ca în fișier.\n\n| Secțiune | Ce conține |\n|---|---|\n| `exported_at` | Data și ora la care a fost generat fișierul (UTC). |\n| `subject` | Datele contului: email, nume, telefon, limba emailurilor, data verificării emailului, data creării contului, versiunile acceptate ale Termenilor și ale Politicii de confidențialitate, data și modul acceptării. |\n| `orders` | Comenzile: numărul `BBX-…`, planul, statusul, totalul în MDL, datele de contact, configurația aleasă, adresa IP și browserul de la care ați comandat, starea și data activării. |\n| `invoices` | Facturile, fiecare cu rândurile ei: număr, status, sume, descriere, data emiterii, scadența și data plății. |\n| `payments` | Plățile: tipul, suma, moneda, statusul, procesatorul, identificatorul tranzacției și dovada acordului dat la plată. |\n| `balance` | Soldul curent, starea plății automate și toate tranzacțiile din sold, cu soldul rămas după fiecare. |\n| `billing_profiles` | Datele de facturare: tipul, denumirea, rechizitele companiei (IDNO, adresă, bancă, IBAN), persoana și telefonul de contact. |\n| `tickets` | Tichetele de suport (număr, subiect, status, prioritate, limbă, date) cu toate mesajele. Autorul unui mesaj apare ca `customer` (dvs.) sau `staff` (echipa BLACKBOX, fără nume). |\n| `servers` | Serverele care vă aparțin: nume, IP, stare (activ sau nu), data de la care vă aparțin și etichetele tehnice. |\n| `server_labels` | Numele private pe care le-ați dat serverelor în panou, cu IP-ul fiecărui server. |\n| `api_tokens` | Token-urile API: nume, începutul și ultimele 4 caractere, permisiuni, data creării, ultima utilizare, expirarea și revocarea. Token-ul întreg nu apare niciodată. |\n| `identities` | Conturile Google sau GitLab legate: furnizorul, emailul de la momentul legării, data legării și data ultimei utilizări. |\n| `access_log` | Ultimele 200 de evenimente de acces și securitate ale contului (de exemplu autentificări, deconectări, schimbarea parolei, deschiderea panoului): tipul, IP-ul, browserul, reușit sau nu, data. |\n\n> **Notă**\n> Sumele din `payments` și `balance` sunt în bani (1 MDL = 100 de bani): `5000` înseamnă 50,00 MDL. Data și ora sunt în format ISO 8601, cu fusul orar la final (`+00:00` înseamnă UTC); datele din facturi apar doar ca zi, de exemplu `2026-10-09`. Câmpurile fără valoare apar ca `null`.\n\n## Ce nu conține fișierul\n\n- parolele contului și ale panoului, secretele și codurile pentru autentificarea în doi pași (2FA), token-urile API complete;\n- datele de acces la servere (parola root și altele);\n- cheile SSH salvate în cont: le vedeți pe pagina „Chei SSH” (vedeți [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont));\n- conexiunile DNS (Cloudflare, GoDaddy): vedeți [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare);\n- preferințele pentru alerte: vedeți [Alerte și notificări pe email](#servicii.alerte);\n- serverele companiei la care BLACKBOX v-a dat acces, dar care nu vă aparțin: secțiunea `servers` include numai serverele dvs. Numele private pe care le-ați dat acestor servere apar totuși în `server_labels`.\n\n## Cum deschideți fișierul\n\n- **Browser:** trageți fișierul într-o fereastră a browserului. Unele browsere (de exemplu Firefox) îl afișează ca structură pe care o puteți restrânge și extinde.\n- **Editor de text:** Notepad (Windows), TextEdit (macOS) sau orice editor de cod. Fișierul este în UTF-8, iar datele sunt scrise compact, pe un singur rând lung. Un editor de cod care formatează JSON le aranjează pe rânduri, ca să se citească ușor.\n- **Alt serviciu sau program:** JSON este un format structurat, pe care programele îl citesc automat. Îl puteți importa în alte sisteme; acesta este scopul portabilității datelor.\n\n## Limita și erorile\n\nPuteți descărca datele de cel mult **3 ori în 24 de ore** pentru un cont. Se numără descărcările din ultimele 24 de ore: la 24 de ore după prima descărcare se eliberează o încercare. Încercările refuzate nu prelungesc așteptarea. Separat, de pe aceeași adresă IP se pot face cel mult 10 descărcări în 24 de ore, pentru toate conturile.\n\n| Ce vedeți | Cauza posibilă | Ce faceți |\n|---|---|---|\n| „Eroare la descărcare. Încercați din nou.” după mai multe descărcări | Ați atins limita de 3 descărcări în 24 de ore. | Reveniți la 24 de ore după prima dintre ele. |\n| Aceeași eroare după ce pagina a stat mult timp deschisă | Sesiunea pe blackbox.md a expirat (durează 8 ore). | Reîncărcați pagina și autentificați-vă din nou. |\n| Aceeași eroare la prima încercare | O problemă temporară de rețea sau de server. | Încercați din nou peste câteva minute. Dacă eroarea persistă, scrieți-ne. |\n| Cardul „Datele mele” lipsește | Pagina nu s-a încărcat complet. | Reîncărcați pagina. Dacă tot nu vedeți cardul, scrieți-ne. |\n\n## Alternativa: cererea prin email\n\nDacă nu puteți folosi butonul sau aveți nevoie de alte date decât cele din fișier, trimiteți o cerere de portabilitate sau de acces la support@blackbox.md, de pe adresa de email a contului. De pe altă adresă vă putem cere o verificare suplimentară a identității. Răspundem în cel mult o lună; în cazuri complexe termenul se poate prelungi cu cel mult încă două luni, iar în acest caz vă comunicăm motivele. Detalii: [Drepturile dvs. privind datele personale](#legal.drepturile-dvs).\n\n## Întrebări frecvente\n\n**Pot descărca datele din panoul app.blackbox.md?**\nNu. Cardul „Datele mele” există doar pe blackbox.md, pe pagina „Profilul meu”. Fișierul include totuși și numele private date serverelor în panou.\n\n**Ce fac înainte de a șterge contul?**\nDescărcați datele mai întâi. După ștergere nu vă mai puteți autentifica, iar datele personale sunt anonimizate. Vedeți [Ștergerea contului](#cont.stergere-cont).\n\n**De ce unele câmpuri sunt `null`?**\nCâmpul nu are valoare: de exemplu, nu ați completat telefonul sau emailul nu este încă verificat. La conturile create înainte de septembrie 2026, datele despre acceptarea Termenilor pot lipsi.\n\n**Se înregistrează descărcarea?**\nDa. Fiecare descărcare se înregistrează ca eveniment de securitate (`customer_data_exported`). O vedeți în secțiunea `access_log` a următorului fișier descărcat.\n",
    "ru": "Карточка «Мои данные» на странице «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль») позволяет скачать копию данных аккаунта одним файлом JSON: личные данные, заказы, счета, платежи, баланс, тикеты и серверы. Так вы пользуетесь правом на переносимость данных по Закону № 195/2024.\n\n**Доступно:** владельцу аккаунта blackbox.md после входа на blackbox.md. В панели app.blackbox.md этой функции нет.\n\n## Как скачать данные\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню (на телефоне — кружок с вашими инициалами). Откроется страница «Мой профиль» (в меню аккаунта — «Профиль»).\n2. Найдите карточку «Мои данные» с текстом «Скачайте копию ваших личных данных, заказов, счетов и услуг (переносимость данных согласно GDPR / Legea 195/2024).» Она находится под карточкой «Ваши услуги»: на широком экране — в правой колонке, на экранах поменьше прокрутите страницу вниз.\n3. Нажмите «Скачать мои данные». Кнопка станет неактивной, и на ней появится «Подготовка…».\n4. Браузер сохранит файл `blackbox-export-YYYY-MM-DD.json`, где `YYYY-MM-DD` — дата скачивания по UTC (например, `blackbox-export-2026-10-09.json`). Файл появится в папке загрузок браузера.\n5. На кнопке снова появится «Скачать мои данные». Другого сообщения об успехе не будет.\n\nЕсли под кнопкой появилось «Ошибка при скачивании. Попробуйте снова.», смотрите раздел «Лимит и ошибки» ниже.\n\n> **Безопасность**\n> В файле есть персональные данные: email, телефон, IP-адреса, реквизиты и переписка в тикетах. Храните его в надёжном месте и не пересылайте по незащищённым каналам. Паролей и полных API-токенов в файле нет, поэтому войти в аккаунт с его помощью нельзя.\n\n## Что содержит файл\n\nФайл — это объект JSON, в котором у каждого типа данных свой раздел. Названия разделов — на английском, в точности как в файле.\n\n| Раздел | Что в нём |\n|---|---|\n| `exported_at` | Дата и время создания файла (UTC). |\n| `subject` | Данные аккаунта: email, имя, телефон, язык писем, дата подтверждения email, дата создания аккаунта, принятые версии Условий использования и Политики конфиденциальности, дата и способ их принятия. |\n| `orders` | Заказы: номер `BBX-…`, тариф, статус, сумма в MDL, контактные данные, выбранная конфигурация, IP-адрес и браузер, с которых оформлен заказ, состояние и дата активации. |\n| `invoices` | Счета вместе с их строками: номер, статус, суммы, описание, дата выставления, срок оплаты и дата оплаты. |\n| `payments` | Платежи: тип, сумма, валюта, статус, платёжный процессор, идентификатор транзакции и подтверждение согласия, данного при оплате. |\n| `balance` | Текущий баланс, состояние автоплатежа и все операции по балансу с остатком после каждой. |\n| `billing_profiles` | Реквизиты: тип, название, данные компании (IDNO, адрес, банк, IBAN), контактное лицо и телефон. |\n| `tickets` | Тикеты поддержки (номер, тема, статус, приоритет, язык, даты) со всеми сообщениями. Автор сообщения указан как `customer` (вы) или `staff` (команда BLACKBOX, без имён). |\n| `servers` | Принадлежащие вам серверы: название, IP, состояние (активен или нет), дата, с которой сервер ваш, и технические метки. |\n| `server_labels` | Личные названия, которые вы дали серверам в панели, с IP каждого сервера. |\n| `api_tokens` | API-токены: название, начало и последние 4 символа, разрешения, дата создания, последнего использования, истечения и отзыва. Полный токен в файл не попадает никогда. |\n| `identities` | Привязанные аккаунты Google или GitLab: провайдер, email на момент привязки, дата привязки и дата последнего использования. |\n| `access_log` | Последние 200 событий доступа и безопасности аккаунта (например, входы, выходы, смена пароля, открытие панели): тип, IP-адрес, браузер, успешно или нет, дата. |\n\n> **Примечание**\n> Суммы в разделах `payments` и `balance` указаны в банях, сотых долях лея (1 MDL = 100 бань): `5000` означает 50,00 MDL. Дата и время записаны в формате ISO 8601 с часовым поясом в конце (`+00:00` означает UTC); даты в счетах указаны только днём, например `2026-10-09`. Поля без значения содержат `null`.\n\n## Чего нет в файле\n\n- паролей аккаунта и панели, секретов и кодов двухфакторной аутентификации (2FA), полных API-токенов;\n- учётных данных серверов (пароля root и других);\n- SSH-ключей, сохранённых в аккаунте: они показаны на странице «SSH-ключи» (см. [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont));\n- подключений DNS (Cloudflare, GoDaddy): см. [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare);\n- настроек оповещений: см. [Оповещения и уведомления по email](#servicii.alerte);\n- серверов компании, к которым BLACKBOX открыл вам доступ, но которые вам не принадлежат: в раздел `servers` попадают только ваши серверы. Личные названия, которые вы дали таким серверам, всё же попадают в `server_labels`.\n\n## Как открыть файл\n\n- **Браузер:** перетащите файл в окно браузера. Некоторые браузеры (например, Firefox) показывают его в виде структуры, которую можно сворачивать и разворачивать.\n- **Текстовый редактор:** Блокнот (Windows), TextEdit (macOS) или любой редактор кода. Файл сохранён в кодировке UTF-8, а данные записаны компактно, одной длинной строкой. Редактор кода с форматированием JSON разобьёт их на строки, и читать станет удобнее.\n- **Другой сервис или программа:** JSON — структурированный формат, который программы читают автоматически. Файл можно импортировать в другие системы; в этом и состоит смысл переносимости данных.\n\n## Лимит и ошибки\n\nСкачать данные можно не более **3 раз за 24 часа** для одного аккаунта. Учитываются скачивания за последние 24 часа: через 24 часа после первого скачивания одна попытка освобождается. Отклонённые попытки не продлевают ожидание. Кроме того, с одного IP-адреса можно скачать данные не более 10 раз за 24 часа — суммарно для всех аккаунтов.\n\n| Что вы видите | Возможная причина | Что делать |\n|---|---|---|\n| «Ошибка при скачивании. Попробуйте снова.» после нескольких скачиваний | Достигнут лимит: 3 скачивания за 24 часа. | Вернитесь через 24 часа после первого из них. |\n| Та же ошибка, если страница долго была открыта | Сессия на blackbox.md истекла (она длится 8 часов). | Обновите страницу и войдите снова. |\n| Та же ошибка с первой попытки | Временная проблема с сетью или сервером. | Повторите через несколько минут. Если ошибка не исчезает, напишите нам. |\n| Карточки «Мои данные» нет на странице | Страница загрузилась не полностью. | Обновите страницу. Если карточка так и не появилась, напишите нам. |\n\n## Альтернатива: запрос по email\n\nЕсли кнопкой воспользоваться не получается или вам нужны данные, которых нет в файле, отправьте запрос на переносимость или на доступ к данным на support@blackbox.md с адреса email аккаунта. Если вы пишете с другого адреса, мы можем попросить дополнительно подтвердить личность. Мы отвечаем не позднее чем через месяц; в сложных случаях срок может быть продлён ещё не более чем на два месяца, и тогда мы сообщим вам причины. Подробнее: [Ваши права в отношении персональных данных](#legal.drepturile-dvs).\n\n## Частые вопросы\n\n**Можно ли скачать данные из панели app.blackbox.md?**\nНет. Карточка «Мои данные» есть только на blackbox.md, на странице «Мой профиль». При этом в файл попадают и личные названия серверов, заданные в панели.\n\n**Что сделать перед удалением аккаунта?**\nСначала скачайте данные. После удаления войти в аккаунт уже нельзя, а персональные данные анонимизируются. См. [Удаление аккаунта](#cont.stergere-cont).\n\n**Почему некоторые поля равны `null`?**\nУ поля нет значения: например, вы не указали телефон или ещё не подтвердили email. У аккаунтов, созданных до сентября 2026 года, сведения о принятии Условий использования могут отсутствовать.\n\n**Записывается ли скачивание?**\nДа. Каждое скачивание записывается как событие безопасности (`customer_data_exported`). Его видно в разделе `access_log` следующего скачанного файла.\n",
    "en": "The “Datele mele” (My data) card on the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)) lets you download a copy of your account data as a single JSON file: personal data, orders, invoices, payments, balance, support tickets and servers. This is how you exercise your right to data portability under Law No. 195/2024.\n\n**Available to:** the blackbox.md account holder, signed in to blackbox.md. This feature does not exist in the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to download your data\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, the circle with your initials). The “Profilul meu” (My profile) page opens; in the account menu it is called “Profil” (Profile).\n2. Find the “Datele mele” (My data) card, with the text “Descarcă o copie a datelor tale personale, comenzilor, facturilor și serviciilor (portabilitatea datelor — GDPR / Legea 195/2024).” (Download a copy of your personal data, orders, invoices and services — data portability under GDPR / Law 195/2024.) The card is below “Serviciile tale” (Your services): on a wide screen, in the right-hand column; on smaller screens, scroll down the page.\n3. Click “Descarcă datele mele” (Download my data). The button becomes inactive and shows “Se pregătește…” (Preparing…).\n4. Your browser saves the file `blackbox-export-YYYY-MM-DD.json`, where `YYYY-MM-DD` is the download date in UTC (for example, `blackbox-export-2026-10-09.json`). You will find it in your browser's downloads folder.\n5. The button changes back to “Descarcă datele mele”. No other confirmation message appears.\n\nIf “Eroare la descărcare. Încercați din nou.” (Download error. Please try again.) appears below the button, see the “Limit and errors” section below.\n\n> **Security**\n> The file contains personal data: email, phone number, IP addresses, billing details and the messages in your support tickets. Keep it somewhere safe and do not send it over insecure channels. The file does not contain passwords or full API tokens, so it cannot be used to sign in to your account.\n\n## What the file contains\n\nThe file is a JSON object with one section for each type of data. The section names are in English, exactly as they appear in the file.\n\n| Section | What it contains |\n|---|---|\n| `exported_at` | The date and time the file was generated (UTC). |\n| `subject` | Your account details: email, name, phone, email language, the date your email was verified, the date the account was created, the versions of the Terms and of the Privacy Policy you accepted, and the date and method of acceptance. |\n| `orders` | Your orders: the `BBX-…` number, plan, status, total in MDL, contact details, chosen configuration, the IP address and browser you ordered from, and the activation state and date. |\n| `invoices` | Your invoices, each with its line items: number, status, amounts, description, issue date, due date and payment date. |\n| `payments` | Your payments: type, amount, currency, status, payment processor, transaction ID and proof of the consent you gave at payment. |\n| `balance` | Your current balance, the autopay status and every balance transaction, with the remaining balance after each one. |\n| `billing_profiles` | Your billing details: type, name, company details (IDNO, address, bank, IBAN), contact person and phone. |\n| `tickets` | Your support tickets (number, subject, status, priority, language, dates) with all their messages. The author of each message appears as `customer` (you) or `staff` (the BLACKBOX team, without names). |\n| `servers` | The servers that belong to you: name, IP, state (active or not), the date from which each one belongs to you, and technical labels. |\n| `server_labels` | The private names you have given your servers in the panel, with each server's IP. |\n| `api_tokens` | Your API tokens: name, the first characters and the last 4 characters, permissions, creation date, last use, expiry and revocation. The full token never appears. |\n| `identities` | Linked Google or GitLab accounts: provider, the email at the time of linking, the linking date and the date of last use. |\n| `access_log` | The last 200 access and security events on your account (for example, sign-ins, sign-outs, password changes, opening the panel): type, IP, browser, whether it succeeded, and date. |\n\n> **Note**\n> Amounts in `payments` and `balance` are in bani, hundredths of a leu (1 MDL = 100 bani): `5000` means 50.00 MDL. Dates and times are in ISO 8601 format, with the time zone at the end (`+00:00` means UTC); dates in invoices appear as a day only, for example `2026-10-09`. Fields without a value appear as `null`.\n\n## What the file does not contain\n\n- the passwords for your account and the panel, the secrets and codes for two-factor authentication (2FA), or full API tokens;\n- server access credentials (the root password and others);\n- the SSH keys saved in your account: you can see them on the “Chei SSH” (SSH keys) page (see [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont));\n- DNS provider connections (Cloudflare, GoDaddy): see [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare);\n- alert preferences: see [Alerts and email notifications](#servicii.alerte);\n- company servers that BLACKBOX has given you access to but that do not belong to you: the `servers` section includes only your own servers. The private names you have given these servers still appear in `server_labels`.\n\n## How to open the file\n\n- **Browser:** drag the file into a browser window. Some browsers (for example, Firefox) show it as a tree that you can collapse and expand.\n- **Text editor:** Notepad (Windows), TextEdit (macOS) or any code editor. The file is in UTF-8, and the data is written compactly on a single long line. A code editor that formats JSON splits it into lines so that it is easy to read.\n- **Another service or program:** JSON is a structured format that programs read automatically. You can import it into other systems; that is the purpose of data portability.\n\n## Limit and errors\n\nYou can download your data at most **3 times in 24 hours** per account. Downloads from the last 24 hours are counted: 24 hours after the first download, one attempt becomes available again. Refused attempts do not extend the wait. Separately, at most 10 downloads can be made from the same IP address in 24 hours, across all accounts.\n\n| What you see | Possible cause | What to do |\n|---|---|---|\n| “Eroare la descărcare. Încercați din nou.” (Download error. Please try again.) after several downloads | You have reached the limit of 3 downloads in 24 hours. | Come back 24 hours after the first of them. |\n| The same error after the page has been open for a long time | Your session on blackbox.md has expired (it lasts 8 hours). | Reload the page and sign in again. |\n| The same error on the first attempt | A temporary network or server problem. | Try again in a few minutes. If the error persists, contact us. |\n| The “Datele mele” (My data) card is missing | The page did not load completely. | Reload the page. If you still do not see the card, contact us. |\n\n## Alternative: request by email\n\nIf you cannot use the button, or you need data other than what is in the file, send a portability or access request to support@blackbox.md from your account's email address. If you write from a different address, we may ask you for additional identity verification. We reply within one month at most; in complex cases this period can be extended by at most two more months, and in that case we tell you the reasons. Details: [Your rights regarding personal data](#legal.drepturile-dvs).\n\n## Frequently asked questions\n\n**Can I download my data from the app.blackbox.md panel?**\nNo. The “Datele mele” (My data) card exists only on blackbox.md, on the “Profilul meu” (My profile) page. The file does, however, also include the private names you have given your servers in the panel.\n\n**What should I do before deleting my account?**\nDownload your data first. After deletion you can no longer sign in, and your personal data is anonymized. See [Deleting your account](#cont.stergere-cont).\n\n**Why are some fields `null`?**\nThe field has no value: for example, you have not entered a phone number, or your email is not verified yet. For accounts created before September 2026, the details about accepting the Terms may be missing.\n\n**Is the download recorded?**\nYes. Each download is recorded as a security event (`customer_data_exported`). You will see it in the `access_log` section of the next file you download.\n"
   }
  },
  {
   "id": "cont.inchidere-servicii",
   "section": "cont",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/inchidere-servicii/",
    "ru": "https://docs.blackbox.md/ru/cont/inchidere-servicii/",
    "en": "https://docs.blackbox.md/en/cont/inchidere-servicii/"
   },
   "title": {
    "ro": "Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă",
    "ru": "Отказ от услуг BLACKBOX: шаги в правильном порядке",
    "en": "Closing your BLACKBOX services: the steps in the right order"
   },
   "summary": {
    "ro": "Cum salvați datele și documentele, mutați domeniile și DNS-ul, opriți facturarea, recuperați soldul și abia apoi ștergeți contul.",
    "ru": "Как сохранить данные и документы, перенести домены и DNS, остановить начисления, вернуть баланс и только потом удалить аккаунт.",
    "en": "How to save your data and documents, move your domains and DNS, stop billing, get your balance back, and only then delete your account."
   },
   "markdown": {
    "ro": "Puteți renunța oricând la serviciile BLACKBOX. Pașii se fac pe blackbox.md, în „Contul meu” (`blackbox.md/account`), și în panoul app.blackbox.md, pe paginile „Serverele mele” (`app.blackbox.md/my-servers`) și „DNS” (`app.blackbox.md/dns`). Ordinea contează: un server șters nu mai poate fi copiat, iar într-un cont șters nu vă mai puteți autentifica.\n\n**Disponibil pentru:** titularul contului blackbox.md și al serverelor comandate din el. Serverele companiei la care ați primit doar acces (de exemplu cele marcate „Administrat”) nu le puteți șterge dvs.; pentru ele scrieți-ne.\n\n## Neplata nu înseamnă renunțare\n\n[Termenii și condițiile](https://blackbox.md/info/terms#incetare) (capitolul 10, „Încetarea contractului”) prevăd că puteți înceta utilizarea serviciilor „în orice moment, prin neînnoirea perioadei de facturare sau prin solicitare expresă către echipa BLACKBOX”. În practică:\n\n- cât timp serverul există, el se facturează lunar, chiar dacă l-ați oprit cu „Oprește”;\n- o factură neachitată nu șterge serverul și nu oprește facturarea; neplata poate atrage suspendarea și apoi încetarea serviciului, cu notificare prealabilă prin email ([Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara));\n- facturarea lunară se oprește abia când serverul este șters; un cont fără servere nu mai primește facturi lunare;\n- contul nu se poate șterge cât timp aveți servere active, comenzi neterminate, facturi neplătite sau bani în sold.\n\n## Pașii, pe scurt\n\n| Pas | Ce faceți | Unde |\n|---|---|---|\n| 1 | Salvați datele de pe fiecare server | pe server, prin SSH sau SFTP |\n| 2 | Mutați domeniile și DNS-ul | la furnizorul DNS; în panou, pagina „DNS” |\n| 3 | Ștergeți fiecare server, ca să opriți facturarea | „Contul meu” → „Comenzi” sau panoul → „Serverele mele” |\n| 4 | Achitați facturile, anulați comenzile „Nou”, aduceți soldul la 0 | „Facturi”, „Comenzi”, „Sold” |\n| 5 | Păstrați facturile în PDF | emailurile „Plată confirmată — BBX-…”, suportul |\n| 6 | Revocați token-urile API | „Contul meu” → „Token-uri API” |\n| 7 | Descărcați o copie a datelor (opțional) | „Contul meu” → „Profil” → „Datele mele” |\n| 8 | Ștergeți contul | „Contul meu” → „Profil” → „Ștergerea contului” |\n\n## Pasul 1. Salvați datele de pe servere\n\nCopiați pe calculatorul dvs. sau pe noul server tot ce vă trebuie: fișierele site-urilor, copiile (dump) bazelor de date, configurațiile, certificatele SSL și căsuțele de email, dacă le găzduiți pe server. BLACKBOX nu face copii automate ale serverului dvs., iar butonul „Backup” de pe cardul serverului nu este activ. Cum copiați: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) și [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n> **Ireversibil**\n> După ștergerea serverului, discurile și toate datele de pe el nu mai pot fi recuperate. Adresa IP nu se păstrează și poate fi atribuită altui server.\n\n> **Notă**\n> Dacă pe server prelucrați date personale ale altor persoane (de exemplu ale clienților site-ului dvs.), se aplică Acordul privind prelucrarea datelor: la încetarea serviciului, la alegerea dvs., datele sunt șterse sau returnate. Dacă vreți ca BLACKBOX să vi le returneze, scrieți la support@blackbox.md înainte de a șterge serverele. Vedeți [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n## Pasul 2. Mutați domeniile și DNS-ul\n\nDacă domeniile dvs. sunt direcționate către un server BLACKBOX, mutați-le înainte de ștergere, ca site-ul și emailul să funcționeze fără întrerupere.\n\n1. Micșorați TTL-ul înregistrărilor A, AAAA și MX ale domeniului, de exemplu la 300 de secunde (la GoDaddy minimul este 600). Așteptați apoi cel puțin cât era TTL-ul vechi.\n2. Pregătiți noul server și verificați că site-ul funcționează pe el.\n3. Schimbați înregistrările ca să indice adresa IP a noului server. Dacă domeniul este conectat în pagina „DNS” a panoului, le puteți modifica de acolo: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari).\n4. Ștergeți serverul BLACKBOX abia după ce traficul ajunge pe noul server.\n\n### Domeniile înregistrate prin BLACKBOX\n\nDomeniul rămâne al dvs. (Termenii și condițiile, capitolul 4). Ca să-l mutați la alt registrator, cereți prin suport codul de autorizare (EPP code / auth-code); BLACKBOX îl eliberează în termenele stabilite de registru. Faceți cererea înainte de a șterge contul. Detalii: [Înregistrarea și transferul domeniilor](#domenii.inregistrare-transfer).\n\n### Conexiunile Cloudflare și GoDaddy din panou\n\nCând nu mai aveți nevoie să modificați înregistrările din panou, deconectați furnizorul:\n\n1. În panou deschideți „DNS” (bara laterală → „Infrastructură” → „DNS”).\n2. Pe rândul conexiunii apăsați „Deconectează” și confirmați în fereastra „Deconectați …? Îl puteți reconecta ulterior.”\n3. Ștergeți și tokenul la Cloudflare („My Profile” → „API Tokens”) sau cheia la GoDaddy („API Keys”). Deconectarea din panou nu le invalidează la furnizor.\n\nÎnregistrările DNS rămân la furnizor, neschimbate. Vedeți [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare).\n\n## Pasul 3. Ștergeți serverele: abia atunci se oprește facturarea\n\nPentru fiecare server alegeți una dintre variante:\n\n| | „Anulează comanda” | „Șterge definitiv” |\n|---|---|---|\n| Unde | blackbox.md: „Contul meu” → „Comenzi”, rândul comenzii | panoul: „Serverele mele”, cardul serverului |\n| Bani înapoi | în sold, suma afișată în dialogul „Anulați comanda?” (poate fi și 0) | nu; perioada începută nu se rambursează |\n| Când se șterge serverul | imediat, la „Da, anulează” | după o perioadă de grație de 24 de ore |\n| Vă puteți răzgândi | nu | da, cu „Anulează ștergerea”, până la executare |\n\n- La „Anulează comanda”, dialogul arată suma returnată și avertismentul „Serverul asociat (IP_SERVER) va fi șters definitiv, împreună cu toate datele de pe el.” Pașii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n- La „Șterge definitiv”, tastați numele afișat în dialogul „Ștergere definitivă server” (numele original al serverului; adresa IP doar dacă serverul nu are nume) și apăsați „Programează ștergerea”. Serverul se șterge între 24 și aproximativ 25 de ore după cerere. Pașii: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\nFacturarea lunară a serverului se oprește în momentul ștergerii, iar serviciile suplimentare ale comenzii se opresc odată cu serverul. Dacă pentru un server nu vedeți niciunul dintre butoane, cereți închiderea lui prin suport.\n\n> **Important**\n> „Anulează comanda” șterge serverul imediat, fără perioadă de grație: folosiți-o numai după pașii 1 și 2. Cât timp o ștergere din panou așteaptă executarea, cererea de ștergere a contului este blocată de mesajul „Există o ștergere de server în curs.”\n\n## Pasul 4. Închideți socotelile\n\n1. **Facturile.** În „Facturi” achitați facturile cu statusul „Trimisă” sau „Restantă”. Pe site nu le puteți plăti cu cardul (în dreptul lor apare „Plata online — în curând”): folosiți plata automată din sold, transferul bancar sau suportul ([Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara)). Facturile emise înainte de ștergerea serverului rămân în listă; dacă aveți întrebări despre una dintre ele, scrieți-ne înainte s-o achitați.\n2. **Comenzile.** Comenzile „Nou” (neachitate) și „În lucru” blochează ștergerea contului. Anulați comenzile „Nou” cu „Anulează comanda”; nu se returnează nimic, pentru că nu au fost plătite. O comandă „În lucru” trece în „Anulat” când serverul ei este șters la pasul 3; dacă rămâne „În lucru”, scrieți-ne.\n3. **Soldul.** Rambursările de la pasul 3 ajung în sold, iar contul se poate șterge doar cu soldul 0. Folosiți suma pentru facturile rămase sau scrieți la support@blackbox.md și cereți rambursarea. Cererea se analizează individual; rambursarea pe card ajunge pe același card, de regulă în 5–10 zile lucrătoare de la aprobare, în funcție de banca emitentă. Vedeți [Soldul contului: cum funcționează](#plati.sold).\n\n## Pasul 5. Păstrați facturile în PDF\n\nPagina „Facturi” nu permite descărcarea în PDF.\n\n- PDF-ul facturii fiecărei comenzi achitate (`factura-BBX-….pdf`) este atașat la emailul „Plată confirmată — BBX-…”. Păstrați aceste emailuri.\n- Pentru celelalte facturi (`BT-…`, `INV-…`) sau pentru un PDF pierdut, scrieți la support@blackbox.md cu numerele facturilor, **înainte** de a șterge contul: după ștergere nu vă mai puteți autentifica.\n\nBLACKBOX păstrează facturile 5 ani, conform legislației contabile, și după ștergerea contului. Detalii: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n## Pasul 6. Revocați token-urile API\n\nÎn „Contul meu” → „Token-uri API” apăsați „Revocă” pe fiecare token activ și confirmați în fereastra „Revocați token-ul?”. Faceți asta înainte de cererea de ștergere: până la executarea ei token-urile funcționează, iar o comandă nouă plasată de un asistent AI ar amâna ștergerea. Vedeți [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\nCheile SSH salvate în „Chei SSH”, conexiunile DNS și legăturile cu Google sau GitLab se șterg automat odată cu contul.\n\n## Pasul 7. Descărcați o copie a datelor (opțional)\n\nÎn „Contul meu” → „Profil”, cardul „Datele mele”, apăsați „Descarcă datele mele”. Fișierul JSON conține, printre altele, comenzile, facturile cu pozițiile lor, plățile, operațiunile din sold și tichetele. Faceți-o după pașii 3 și 4, ca fișierul să includă anulările și rambursările. Vedeți [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date).\n\n## Pasul 8. Ștergeți contul\n\n1. Deschideți „Contul meu” → „Profil” și coborâți la cardul „Ștergerea contului”.\n2. Dacă mai rămâne ceva de rezolvat, cardul afișează „Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” și lista motivelor. Rezolvați-le și reîncărcați pagina.\n3. Scrieți emailul contului în „Introduceți emailul dvs. pentru confirmare”, parola în „Parola curentă” (câmpul lipsește la conturile fără parolă) și apăsați „Șterge contul meu”.\n4. Ștergerea se execută după 7 zile; cardul afișează data: „Ștergerea contului este programată pentru …”. Până atunci o puteți anula cu „Anulează ștergerea”.\n\nCu același email vă puteți înregistra ulterior din nou, dar primiți un cont nou, gol. Detalii: [Ștergerea contului](#cont.stergere-cont).\n\n## Întrebări frecvente\n\n**Pot păstra contul și să șterg doar serverele?**\nDa. Un cont fără servere nu mai primește facturi lunare, iar mai târziu puteți comanda din nou din același cont.\n\n**Pot cere echipei să închidă serviciile în locul meu?**\nDa, Termenii permit încetarea prin solicitare expresă. Scrieți la support@blackbox.md de pe adresa contului și indicați serverele (numărul comenzii `BBX-…` sau adresa IP). Salvați datele înainte.\n\n**Cât durează totul?**\nȘtergerea din panou: 24–25 de ore; anularea comenzii: imediat. Ștergerea contului: 7 zile de la cerere. Rambursarea pe card: de regulă 5–10 zile lucrătoare de la aprobare.\n\n**Cardul arată „Aveți facturi neplătite.”, dar în „Facturi” nu văd nimic de achitat.**\nScrieți la support@blackbox.md: echipa verifică ce factură blochează ștergerea și vă spune ce aveți de făcut.\n\n**Mesajul „Aveți o plată în curs de procesare. Așteptați finalizarea acesteia.” nu dispare.**\nDacă ați început o plată cu cardul și ați închis pagina Paynet, mesajul poate rămâne. Scrieți-ne și indicați numărul comenzii.\n",
    "ru": "Отказаться от услуг BLACKBOX можно в любой момент. Шаги выполняются на blackbox.md, в разделе «Мой аккаунт» (`blackbox.md/ru/account`), и в панели app.blackbox.md — на страницах «Мои серверы» (`app.blackbox.md/my-servers`) и «DNS» (`app.blackbox.md/dns`). Порядок важен: удалённый сервер уже не скопировать, а в удалённый аккаунт уже не войти.\n\n**Доступно:** владельцу аккаунта blackbox.md и заказанных из него серверов. Серверы компании, к которым вам только открыли доступ (например, с пометкой «Обслуживается»), удалить самостоятельно нельзя — по ним напишите нам.\n\n## Неоплата — это не отказ\n\n[Условия использования](https://blackbox.md/ru/info/terms#incetare) (раздел 10 «Прекращение договора») позволяют прекратить использование услуг «в любой момент, не продлевая период оплаты или направив прямой запрос команде BLACKBOX». На практике:\n\n- пока сервер существует, за него начисляется ежемесячная плата, даже если он остановлен кнопкой «Остановить»;\n- неоплаченный счёт не удаляет сервер и не останавливает начисления; неоплата может повлечь приостановку, а затем прекращение услуги — с предварительным уведомлением по email ([Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara));\n- ежемесячные начисления прекращаются только после удаления сервера; аккаунту без серверов ежемесячные счета не выставляются;\n- аккаунт нельзя удалить, пока у вас есть активные серверы, незавершённые заказы, неоплаченные счета или средства на балансе.\n\n## Шаги кратко\n\n| Шаг | Что сделать | Где |\n|---|---|---|\n| 1 | Сохранить данные с каждого сервера | на сервере, по SSH или SFTP |\n| 2 | Перенести домены и DNS | у DNS-провайдера; в панели, страница «DNS» |\n| 3 | Удалить каждый сервер, чтобы остановить начисления | «Мой аккаунт» → «Заказы» или панель → «Мои серверы» |\n| 4 | Оплатить счета, отменить заказы «Новый», обнулить баланс | «Счета», «Заказы», «Баланс» |\n| 5 | Сохранить счета в PDF | письма «Plată confirmată — BBX-…», поддержка |\n| 6 | Отозвать API-токены | «Мой аккаунт» → «API-токены» |\n| 7 | Скачать копию данных (по желанию) | «Мой аккаунт» → «Профиль» → «Мои данные» |\n| 8 | Удалить аккаунт | «Мой аккаунт» → «Профиль» → «Удаление аккаунта» |\n\n## Шаг 1. Сохраните данные с серверов\n\nСкопируйте на свой компьютер или на новый сервер всё, что вам нужно: файлы сайтов, дампы баз данных, конфигурации, SSL-сертификаты и почтовые ящики, если они размещены на сервере. BLACKBOX не делает автоматических резервных копий вашего сервера, а кнопка «Резервные копии» на карточке сервера не работает. Как копировать: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) и [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n> **Необратимо**\n> После удаления сервера его диски и все данные на них восстановить нельзя. IP-адрес не сохраняется и может быть выдан другому серверу.\n\n> **Примечание**\n> Если на сервере вы обрабатываете персональные данные других людей (например, клиентов вашего сайта), действует Соглашение об обработке данных: по окончании услуги данные по вашему выбору удаляются или возвращаются. Если вы хотите, чтобы BLACKBOX вернул вам данные, напишите на support@blackbox.md до удаления серверов. См. [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n## Шаг 2. Перенесите домены и DNS\n\nЕсли ваши домены указывают на сервер BLACKBOX, перенесите их до удаления, чтобы сайт и почта работали без перерыва.\n\n1. Уменьшите TTL записей A, AAAA и MX домена, например до 300 секунд (у GoDaddy минимум — 600). Затем подождите не меньше, чем составлял прежний TTL.\n2. Подготовьте новый сервер и убедитесь, что сайт на нём работает.\n3. Измените записи так, чтобы они указывали на IP-адрес нового сервера. Если домен подключён на странице «DNS» панели, записи можно изменить там: [Управление DNS-записями из панели](#servicii.dns-inregistrari).\n4. Удаляйте сервер BLACKBOX только после того, как трафик пошёл на новый сервер.\n\n### Домены, зарегистрированные через BLACKBOX\n\nДомен остаётся вашей собственностью (Условия использования, раздел 4). Чтобы перенести его к другому регистратору, запросите через поддержку код авторизации (auth-code / EPP code): BLACKBOX предоставит его в сроки, установленные реестром. Сделайте запрос до удаления аккаунта. Подробнее: [Регистрация и перенос доменов](#domenii.inregistrare-transfer).\n\n### Подключения Cloudflare и GoDaddy в панели\n\nКогда менять записи из панели больше не нужно, отключите провайдера:\n\n1. Откройте в панели «DNS» (боковое меню → «Инфраструктура» → «DNS»).\n2. В строке подключения нажмите «Отключить» и подтвердите в окне «Отключить …? Вы сможете подключить его снова позже.»\n3. Удалите также токен в Cloudflare («My Profile» → «API Tokens») или ключ в GoDaddy («API Keys»). Отключение в панели не делает их недействительными у провайдера.\n\nDNS-записи остаются у провайдера без изменений. См. [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare).\n\n## Шаг 3. Удалите серверы: только тогда начисления прекращаются\n\nДля каждого сервера выберите один из вариантов:\n\n| | «Отменить заказ» | «Удалить» |\n|---|---|---|\n| Где | blackbox.md: «Мой аккаунт» → «Заказы», строка заказа | панель: «Мои серверы», карточка сервера |\n| Возврат денег | на баланс, сумма из окна «Отменить заказ?» (может быть и нулевой) | нет; начатый период не возвращается |\n| Когда удаляется сервер | сразу после «Да, отменить» | через 24 часа отсрочки |\n| Можно передумать | нет | да, кнопкой «Отменить удаление», пока удаление не выполнено |\n\n- При «Отменить заказ» окно показывает сумму возврата и предупреждение «Связанный сервер (IP_СЕРВЕРА) будет удалён навсегда вместе со всеми данными.» Порядок действий: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n- При «Удалить» введите название, показанное в окне «Удаление сервера» (исходное название сервера; IP-адрес — только если у сервера нет названия), и нажмите «Запланировать удаление». Сервер удаляется через 24–25 часов после запроса. Порядок действий: [Безвозвратное удаление сервера](#servere.stergere-server).\n\nЕжемесячные начисления за сервер прекращаются в момент его удаления, а дополнительные услуги заказа отключаются вместе с сервером. Если ни одной из этих кнопок для сервера нет, попросите закрыть его через поддержку.\n\n> **Важно**\n> «Отменить заказ» удаляет сервер сразу, без периода отсрочки: используйте эту кнопку только после шагов 1 и 2. Пока удаление из панели ожидает выполнения, запрос на удаление аккаунта блокируется сообщением «Ожидается завершение работы сервера.»\n\n## Шаг 4. Закройте расчёты\n\n1. **Счета.** В разделе «Счета» оплатите счета со статусами «Отправлен» и «Просрочен». Картой на сайте они не оплачиваются (вместо кнопки — надпись «Онлайн-оплата — скоро»): используйте автоплатёж с баланса, банковский перевод или поддержку ([Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara)). Счета, выставленные до удаления сервера, остаются в списке; если по какому-то из них есть вопросы, напишите нам до оплаты.\n2. **Заказы.** Заказы «Новый» (неоплаченные) и «В работе» мешают удалению аккаунта. Заказы «Новый» отмените кнопкой «Отменить заказ»; возврата нет, так как они не оплачены. Заказ «В работе» переходит в статус «Отменён», когда его сервер удалён на шаге 3; если он остаётся «В работе», напишите нам.\n3. **Баланс.** Возвраты с шага 3 поступают на баланс, а удалить аккаунт можно только при нулевом балансе. Потратьте сумму на оставшиеся счета или напишите на support@blackbox.md и запросите возврат. Запрос рассматривается индивидуально; возврат на карту поступает на ту же карту, обычно в течение 5–10 рабочих дней после одобрения, в зависимости от банка-эмитента. См. [Баланс аккаунта: как это работает](#plati.sold).\n\n## Шаг 5. Сохраните счета в PDF\n\nСкачать счёт в PDF на странице «Счета» нельзя.\n\n- PDF счёта по каждому оплаченному заказу (`factura-BBX-….pdf`) приложен к письму «Plată confirmată — BBX-…» (тема письма всегда на румынском). Сохраните эти письма.\n- За остальными счетами (`BT-…`, `INV-…`) или потерянным PDF обратитесь на support@blackbox.md, указав номера счетов, **до** удаления аккаунта: после удаления войти в него уже нельзя.\n\nBLACKBOX хранит счета 5 лет, как требует законодательство о бухгалтерском учёте, в том числе после удаления аккаунта. Подробнее: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n## Шаг 6. Отзовите API-токены\n\nВ разделе «Мой аккаунт» → «API-токены» нажмите «Отозвать» у каждого активного токена и подтвердите в окне «Отозвать токен?». Сделайте это до запроса на удаление: пока удаление не выполнено, токены работают, а новый заказ, оформленный AI-ассистентом, отложит удаление. См. [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\nСохранённые SSH-ключи из раздела «SSH-ключи», DNS-подключения и привязки к Google или GitLab удаляются автоматически вместе с аккаунтом.\n\n## Шаг 7. Скачайте копию данных (по желанию)\n\nВ разделе «Мой аккаунт» → «Профиль», в карточке «Мои данные», нажмите «Скачать мои данные». JSON-файл содержит, в том числе, заказы, счета с позициями, платежи, операции по балансу и тикеты. Скачивайте его после шагов 3 и 4, чтобы в файл попали отмены и возвраты. См. [Скачивание ваших данных («Мои данные»)](#cont.export-date).\n\n## Шаг 8. Удалите аккаунт\n\n1. Откройте «Мой аккаунт» → «Профиль» и прокрутите до карточки «Удаление аккаунта».\n2. Если что-то ещё не завершено, в карточке появится «Чтобы удалить аккаунт, сначала нужно завершить следующее:» и список причин. Устраните их и обновите страницу.\n3. Введите email аккаунта в поле «Введите ваш email для подтверждения», пароль — в поле «Текущий пароль» (у аккаунтов без пароля этого поля нет) и нажмите «Удалить мой аккаунт».\n4. Удаление выполняется через 7 дней; дата указана в карточке: «Удаление аккаунта запланировано на …». До этого его можно отменить кнопкой «Отменить удаление».\n\nС тем же email позже можно зарегистрироваться снова, но это будет новый, пустой аккаунт. Подробнее: [Удаление аккаунта](#cont.stergere-cont).\n\n## Частые вопросы\n\n**Можно оставить аккаунт и удалить только серверы?**\nДа. Аккаунту без серверов ежемесячные счета не выставляются, а позже из него можно снова сделать заказ.\n\n**Можно попросить команду закрыть услуги за меня?**\nДа, Условия использования допускают прекращение по прямому запросу. Напишите на support@blackbox.md с адреса аккаунта и укажите серверы (номер заказа `BBX-…` или IP-адрес). Заранее сохраните данные.\n\n**Сколько всё это занимает?**\nУдаление из панели — 24–25 часов, отмена заказа — сразу. Удаление аккаунта — 7 дней с момента запроса. Возврат на карту — обычно 5–10 рабочих дней после одобрения.\n\n**В карточке указано «У вас есть неоплаченные счета.», но в «Счетах» оплачивать нечего.**\nНапишите на support@blackbox.md: команда проверит, какой счёт мешает удалению, и подскажет, что делать.\n\n**Сообщение «У вас есть платёж в обработке. Подождите его завершения.» не исчезает.**\nЕсли вы начали оплату картой и закрыли страницу Paynet, сообщение может остаться. Напишите нам и укажите номер заказа.\n",
    "en": "You can stop using BLACKBOX services at any time. You take the steps on blackbox.md, in “Contul meu” (My account) (`blackbox.md/account`), and in the app.blackbox.md panel, on the “My Servers” (`app.blackbox.md/my-servers`) and “DNS” (`app.blackbox.md/dns`) pages. The order matters: a deleted server can no longer be copied, and you can no longer sign in to a deleted account.\n\n**Available to:** the holder of the blackbox.md account and of the servers ordered from it. You cannot delete company servers that you have only been given access to (for example, those marked “Managed”); contact us about them.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Not paying is not the same as canceling\n\nThe [Terms and Conditions](https://blackbox.md/info/terms#incetare) (chapter 10, “Încetarea contractului” (Termination of the contract)) say that you can stop using the services “în orice moment, prin neînnoirea perioadei de facturare sau prin solicitare expresă către echipa BLACKBOX” (at any time, by not renewing the billing period or by an express request to the BLACKBOX team). In practice:\n\n- as long as a server exists, it is billed monthly, even if you have stopped it with “Stop”;\n- an unpaid invoice does not delete the server and does not stop billing; non-payment can lead to suspension and then termination of the service, with prior notice by email ([Monthly renewal and paying on time](#plati.reinnoire-lunara));\n- monthly billing stops only when the server is deleted; an account with no servers no longer receives monthly invoices;\n- you cannot delete your account while you have active servers, unfinished orders, unpaid invoices or money in your balance.\n\n## The steps at a glance\n\n| Step | What to do | Where |\n|---|---|---|\n| 1 | Save the data from each server | on the server, over SSH or SFTP |\n| 2 | Move your domains and DNS | at your DNS provider; in the panel, the “DNS” page |\n| 3 | Delete each server to stop billing | “Contul meu” (My account) → “Comenzi” (Orders) or the panel → “My Servers” |\n| 4 | Pay your invoices, cancel “Nou” (New) orders, bring your balance to 0 | “Facturi” (Invoices), “Comenzi”, “Sold” (Balance) |\n| 5 | Keep your invoices as PDF files | the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) emails, support |\n| 6 | Revoke your API tokens | “Contul meu” → “Token-uri API” (API tokens) |\n| 7 | Download a copy of your data (optional) | “Contul meu” → “Profil” (Profile) → “Datele mele” (My data) |\n| 8 | Delete your account | “Contul meu” → “Profil” → “Ștergerea contului” (Account deletion) |\n\n## Step 1. Save the data from your servers\n\nCopy everything you need to your computer or to the new server: website files, database dumps, configuration files, SSL certificates and mailboxes, if you host them on the server. BLACKBOX does not make automatic backups of your server, and the “Backups” button on the server card is not active. How to copy: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) and [Backup strategy for your server](#ghiduri.strategie-backup).\n\n> **Irreversible**\n> Once a server is deleted, its disks and all the data on them cannot be recovered. The IP address is not kept and may be assigned to another server.\n\n> **Note**\n> If you process other people's personal data on the server (for example, data about your website's customers), the Data Processing Agreement applies: when the service ends, the data is deleted or returned, as you choose. If you want BLACKBOX to return it to you, write to support@blackbox.md before you delete the servers. See [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n## Step 2. Move your domains and DNS\n\nIf your domains point to a BLACKBOX server, move them before you delete it, so that your website and email keep working without interruption.\n\n1. Lower the TTL of the domain's A, AAAA and MX records, for example to 300 seconds (at GoDaddy the minimum is 600). Then wait at least as long as the old TTL.\n2. Set up the new server and check that the website works on it.\n3. Change the records so that they point to the IP address of the new server. If the domain is connected on the panel's “DNS” page, you can change them there: [Managing DNS records from the panel](#servicii.dns-inregistrari).\n4. Delete the BLACKBOX server only after traffic is reaching the new server.\n\n### Domains registered through BLACKBOX\n\nThe domain remains yours (Terms and Conditions, chapter 4). To move it to another registrar, ask support for the authorization code (EPP code / auth-code); BLACKBOX provides it within the time limits set by the registry. Make the request before you delete your account. Details: [Registering and transferring domains](#domenii.inregistrare-transfer).\n\n### Cloudflare and GoDaddy connections in the panel\n\nWhen you no longer need to change records from the panel, disconnect the provider:\n\n1. In the panel, open “DNS” (sidebar → “Infrastructure” → “DNS”).\n2. On the connection's row, click “Disconnect” and confirm in the “Disconnect …? You can reconnect it later.” dialog.\n3. Also delete the token at Cloudflare (“My Profile” → “API Tokens”) or the key at GoDaddy (“API Keys”). Disconnecting in the panel does not invalidate them at the provider.\n\nYour DNS records stay at the provider, unchanged. See [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare).\n\n## Step 3. Delete your servers: only then does billing stop\n\nFor each server, choose one of these options:\n\n| | “Anulează comanda” (Cancel the order) | “Terminate” |\n|---|---|---|\n| Where | blackbox.md: “Contul meu” (My account) → “Comenzi” (Orders), the order's row | the panel: “My Servers”, the server card |\n| Money back | to your balance: the amount shown in the “Anulați comanda?” (Cancel the order?) dialog (it can also be 0) | no; a billing period that has already started is not refunded |\n| When the server is deleted | immediately, when you click “Da, anulează” (Yes, cancel) | after a 24-hour grace period |\n| You can change your mind | no | yes, with “Cancel termination”, until the deletion is carried out |\n\n- With “Anulează comanda”, the dialog shows the amount to be refunded and the warning “Serverul asociat (SERVER_IP) va fi șters definitiv, împreună cu toate datele de pe el.” (The associated server (SERVER_IP) will be permanently deleted, together with all the data on it.) Steps: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n- With “Terminate”, type the name shown in the “Terminate server” dialog (the server's original name; the IP address only if the server has no name) and click “Schedule termination”. The server is deleted between 24 and about 25 hours after the request. Steps: [Permanently deleting a server](#servere.stergere-server).\n\nThe server's monthly billing stops at the moment it is deleted, and the order's add-on services stop together with the server. If you do not see either of these buttons for a server, ask support to close it.\n\n> **Important**\n> “Anulează comanda” deletes the server immediately, with no grace period: use it only after steps 1 and 2. While a deletion from the panel is waiting to be carried out, your account deletion request is blocked with the message “Există o ștergere de server în curs.” (A server deletion is in progress.)\n\n## Step 4. Settle up\n\n1. **Invoices.** In “Facturi” (Invoices), pay the invoices with the status “Trimisă” (Sent) or “Restantă” (Overdue). You cannot pay them by card on the website (“Plata online — în curând” (Online payment — coming soon) appears next to them): use automatic payment from your balance, a bank transfer or support ([Monthly renewal and paying on time](#plati.reinnoire-lunara)). Invoices issued before the server was deleted stay in the list; if you have questions about any of them, write to us before you pay it.\n2. **Orders.** Orders with the status “Nou” (New) or “În lucru” (In progress) block account deletion. Cancel “Nou” orders with “Anulează comanda” (Cancel the order); nothing is refunded, because they were never paid. An “În lucru” order changes to “Anulat” (Canceled) when its server is deleted in step 3; if it stays “În lucru”, write to us.\n3. **Balance.** The refunds from step 3 go to your balance, and you can delete your account only when your balance is 0. Use the amount to pay any remaining invoices, or write to support@blackbox.md and ask for a refund. Each request is reviewed individually; a card refund goes back to the same card, usually within 5–10 business days of approval, depending on the bank that issued the card. See [Account balance: how it works](#plati.sold).\n\n## Step 5. Keep your invoices as PDF files\n\nYou cannot download invoices as PDF files from the “Facturi” (Invoices) page.\n\n- The PDF invoice for each paid order (`factura-BBX-….pdf`) is attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email. Keep these emails.\n- For the other invoices (`BT-…`, `INV-…`) or for a lost PDF, write to support@blackbox.md with the invoice numbers **before** you delete your account: after deletion you can no longer sign in.\n\nBLACKBOX keeps invoices for 5 years, as accounting law requires, even after your account is deleted. Details: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n## Step 6. Revoke your API tokens\n\nIn “Contul meu” (My account) → “Token-uri API” (API tokens), click “Revocă” (Revoke) for each active token and confirm in the “Revocați token-ul?” (Revoke the token?) dialog. Do this before you request account deletion: until the deletion is carried out, the tokens keep working, and a new order placed by an AI assistant would postpone the deletion. See [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\nThe SSH keys saved in “Chei SSH” (SSH keys), your DNS connections and your links to Google or GitLab are deleted automatically together with the account.\n\n## Step 7. Download a copy of your data (optional)\n\nIn “Contul meu” (My account) → “Profil” (Profile), on the “Datele mele” (My data) card, click “Descarcă datele mele” (Download my data). The JSON file contains, among other things, your orders, your invoices with their line items, payments, balance transactions and support tickets. Do this after steps 3 and 4, so that the file includes the cancellations and refunds. See [Downloading your data (“Datele mele”)](#cont.export-date).\n\n## Step 8. Delete your account\n\n1. Open “Contul meu” (My account) → “Profil” (Profile) and scroll down to the “Ștergerea contului” (Account deletion) card.\n2. If anything is still outstanding, the card shows “Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” (To delete your account, you first need to complete the following:) and a list of reasons. Resolve them and reload the page.\n3. Type your account email in “Introduceți emailul dvs. pentru confirmare” (Enter your email to confirm) and your password in “Parola curentă” (Current password) (accounts without a password do not have this field), then click “Șterge contul meu” (Delete my account).\n4. The deletion is carried out after 7 days; the card shows the date: “Ștergerea contului este programată pentru …” (Account deletion is scheduled for …). Until then, you can cancel it with “Anulează ștergerea” (Cancel deletion).\n\nYou can sign up again later with the same email, but you get a new, empty account. Details: [Deleting your account](#cont.stergere-cont).\n\n## Frequently asked questions\n\n**Can I keep my account and delete only the servers?**\nYes. An account with no servers no longer receives monthly invoices, and you can order again from the same account later.\n\n**Can I ask the team to close my services for me?**\nYes, the Terms allow termination by express request. Write to support@blackbox.md from your account's email address and list the servers (the order number `BBX-…` or the IP address). Save your data first.\n\n**How long does the whole process take?**\nDeletion from the panel: 24–25 hours; order cancellation: immediate. Account deletion: 7 days from the request. Card refund: usually 5–10 business days after approval.\n\n**The card says “Aveți facturi neplătite.” (You have unpaid invoices.), but I see nothing to pay in “Facturi” (Invoices).**\nWrite to support@blackbox.md: the team will check which invoice is blocking the deletion and tell you what to do.\n\n**The message “Aveți o plată în curs de procesare. Așteptați finalizarea acesteia.” (You have a payment being processed. Wait for it to complete.) does not go away.**\nIf you started a card payment and closed the Paynet page, the message may stay. Write to us and give the order number.\n"
   }
  },
  {
   "id": "cont.stergere-cont",
   "section": "cont",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/cont/stergere-cont/",
    "ru": "https://docs.blackbox.md/ru/cont/stergere-cont/",
    "en": "https://docs.blackbox.md/en/cont/stergere-cont/"
   },
   "title": {
    "ro": "Ștergerea contului",
    "ru": "Удаление аккаунта",
    "en": "Deleting your account"
   },
   "summary": {
    "ro": "Ce trebuie finalizat înainte, cum cereți ștergerea, perioada de grație de 7 zile și ce date se păstrează.",
    "ru": "Что нужно завершить заранее, как запросить удаление, 7-дневный льготный период и какие данные сохраняются.",
    "en": "What to finish first, how to request deletion, the 7-day grace period and what data is kept."
   },
   "markdown": {
    "ro": "Cardul „Ștergerea contului” de pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”) vă permite să cereți ștergerea contului blackbox.md. Cardul se află sub „Datele mele” și are textul: „Dacă nu mai folosiți serviciile noastre, puteți șterge contul. Datele personale (nume, telefon, parolă) vor fi anonimizate după perioada de grație, timp în care ștergerea poate fi anulată.”\n\n**Disponibil pentru:** titularul contului blackbox.md, autentificat în cont. Din panoul app.blackbox.md contul nu se poate șterge.\n\n> **Ireversibil**\n> După executare, contul nu mai poate fi recuperat: nu vă mai puteți autentifica în el, iar datele șterse nu pot fi restabilite. Cu același email puteți crea ulterior un cont nou, gol; datele vechi nu se atașează la el.\n\n## Ce trebuie finalizat înainte\n\nDacă ceva împiedică ștergerea, cardul nu afișează formularul, ci mesajul „Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” și lista motivelor. Rezolvați fiecare motiv, apoi reîncărcați pagina.\n\n| Mesaj | Ce faceți |\n|---|---|\n| „Aveți servere active. Închideți-le sau transferați-le mai întâi.” | Ștergeți fiecare server în panou cu „Șterge definitiv” ([Ștergerea definitivă a unui server](#servere.stergere-server)) sau anulați comanda lui cu „Anulează comanda” în „Comenzi” ([Anularea comenzii și rambursări](#plati.anulare-si-rambursare)). Un server oprit cu „Oprește” este tot activ. |\n| „Există o ștergere de server în curs.” | Așteptați să se execute ștergerea programată a serverului (după perioada de grație de 24 de ore). Până atunci poate apărea și mesajul de mai sus. |\n| „Aveți facturi neplătite.” | Achitați facturile cu statusul „Trimisă” sau „Restantă” ([Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi)). Dacă în „Facturi” nu vedeți nicio astfel de factură, scrieți-ne. |\n| „Aveți comenzi neterminate.” | Ștergerea este blocată de comenzile cu statusul „Nou” sau „În lucru”. Comenzile serverelor active au și ele statusul „În lucru”. Anulați comenzile neachitate cu „Anulează comanda”. După ștergerea unui server, comanda lui trece în „Anulat”. |\n| „Aveți o plată în curs de procesare. Așteptați finalizarea acesteia.” | Așteptați confirmarea plății și reîncărcați pagina. Dacă mesajul nu dispare (de exemplu, ați început o plată cu cardul și ați închis pagina Paynet), scrieți-ne. |\n| „Aveți fonduri în sold. Folosiți-le sau solicitați o rambursare mai întâi.” | Ștergerea este blocată de orice sumă mai mare de 0. Folosiți-o pentru comenzi sau facturi ori cereți rambursarea prin suport. |\n| „Contul dvs. este temporar protejat împotriva modificărilor. Contactați suportul.” | Scrieți la support@blackbox.md. |\n| „Acest cont este asociat unui cont de personal. Contactați suportul.” | Scrieți la support@blackbox.md. |\n\n> **Important**\n> Respectați ordinea: întâi serverele și comenzile, apoi facturile, la final soldul. Anularea unei comenzi achitate poate returna bani în sold, iar în momentul cererii soldul trebuie să fie 0. Toți pașii, în ordine: [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n\n## Cum cereți ștergerea\n\n> **Sfat**\n> Înainte de cerere, descărcați o copie a datelor cu „Descarcă datele mele” din cardul „Datele mele” (comenzi, facturi, plăți, sold, tichete). După ștergere nu o mai puteți descărca. Vedeți [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date).\n\n1. Deschideți „Contul meu” → „Profil” și derulați până la cardul „Ștergerea contului”.\n2. În câmpul „Introduceți emailul dvs. pentru confirmare” scrieți emailul contului, afișat în paranteze lângă etichetă. Literele mari și mici nu contează.\n3. În câmpul „Parola curentă” introduceți parola contului blackbox.md. Câmpul lipsește dacă v-ați creat contul cu Google sau GitLab și nu aveți parolă.\n4. Apăsați butonul roșu „Șterge contul meu”. Butonul devine activ după ce scrieți emailul. Cât timp cererea se trimite, pe buton apare „Se trimite…”.\n5. Cererea se înregistrează imediat, fără altă confirmare. În locul formularului apare mesajul „Ștergerea contului este programată pentru …”, cu data și ora execuției în fusul orar al dispozitivului dvs., și butonul „Anulează ștergerea”.\n6. Pe adresa contului primiți emailul „Ștergerea contului a fost programată — BlackBox”.\n\n## Perioada de grație de 7 zile\n\n- Ștergerea se execută după 7 zile (168 de ore) de la cerere. Data se fixează în momentul cererii.\n- Până atunci contul funcționează normal: vă puteți autentifica și puteți anula cererea oricând.\n- Ștergerea se execută în cel mult o oră după data afișată.\n- Dacă între timp apare un nou motiv de blocare (o comandă nouă, o plată, o factură neplătită, bani în sold), ștergerea nu se execută. Ea așteaptă până eliminați motivul și se execută în ora următoare. Nu primiți nicio notificare despre amânare, iar cardul afișează în continuare data inițială.\n\n### Emailurile\n\n| Subiect | Când îl primiți | Ce conține |\n|---|---|---|\n| „Ștergerea contului a fost programată — BlackBox” | imediat după cerere | momentul după care contul va fi anonimizat (în UTC) și perioada de grație de 168 de ore |\n| „Contul dvs. a fost șters — BlackBox” | după executare, pe adresa veche | confirmarea ștergerii; dacă nu ați cerut-o, scrieți imediat la support@blackbox.md |\n\nSubiectul este mereu în română; textul este în română sau în rusă, după limba contului ([Limba site-ului, a panoului și a emailurilor](#cont.limba)). Data din primul email este în format tehnic UTC, de exemplu `2026-10-16T09:30:12.345678+00:00`. Pentru ora Moldovei adăugați 2 ore iarna și 3 ore vara.\n\n## Cum anulați ștergerea\n\n1. Deschideți „Contul meu” → „Profil”. Cardul „Ștergerea contului” arată data programată.\n2. Apăsați „Anulează ștergerea”.\n3. În fereastra „Anulați ștergerea contului?” („Contul dvs. nu va fi șters.”) apăsați din nou „Anulează ștergerea”. Butonul „Anulează” doar închide fereastra, fără să schimbe nimic.\n4. Cardul revine la formularul de ștergere (sau la lista motivelor de blocare). La anulare nu se trimite email.\n\nDacă apare „Nu am putut anula ștergerea. Încercați din nou.”, reîncărcați pagina și repetați. Anularea este posibilă doar până la executare.\n\n## Ce se șterge și ce se păstrează\n\nȘtergerea se face prin anonimizare: contul rămâne în evidențe doar ca număr intern, fără date care să vă identifice.\n\n| Date | Ce se întâmplă |\n|---|---|\n| Emailul contului | se înlocuiește cu o adresă tehnică; adresa dvs. devine liberă pentru un cont nou |\n| Parola, numele, telefonul, limba emailurilor | se șterg |\n| Token-urile API, legăturile cu Google și GitLab, cheile SSH salvate, conexiunile DNS (Cloudflare, GoDaddy), numele private ale serverelor, preferințele de alerte, accesul la serverele companiei | se șterg; token-urile și conexiunile încetează să funcționeze |\n| Contul din panoul app.blackbox.md | se șterge |\n| Tichetele de suport | rămân numerele; subiectul și mesajele dvs. devin „[erased]” |\n| Comenzile și plățile | rămân (număr, sumă, dată), fără numele și datele dvs. de contact |\n| Facturile și operațiunile din sold | se păstrează 5 ani, conform legislației contabile |\n| „Date de facturare” | profilurile folosite pe facturi rămân împreună cu facturile; celelalte se șterg |\n| Jurnalele tehnice de acces | se păstrează cel puțin 180 de zile, conform Politicii de confidențialitate |\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Emailul introdus nu corespunde.” | adresa scrisă diferă de emailul contului | scrieți exact adresa afișată în paranteze |\n| „Parolă incorectă.” | parola curentă este greșită | introduceți parola contului blackbox.md; dacă ați uitat-o, vedeți [Ați uitat parola contului](#cont.parola-uitata) |\n| „Prea multe încercări. Încercați mai târziu.” | ați trimis deja 5 cereri în ultima oră | așteptați până la o oră și încercați din nou |\n| „Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” | după deschiderea paginii a apărut un motiv de blocare | rezolvați motivele din listă (tabelul de mai sus) |\n| „Eroare la trimiterea cererii. Încercați din nou.” | altă eroare, de exemplu cererea a fost trimisă deja din altă filă | reîncărcați pagina; dacă vedeți data programată, cererea este deja înregistrată |\n\n## Întrebări frecvente\n\n**Pot folosi contul în perioada de grație?**\nDa, până la executare contul funcționează normal. Rețineți că o comandă nouă, o plată sau bani în sold amână ștergerea.\n\n**Ce se întâmplă cu serverele la care am acces prin compania mea?**\nEle nu blochează ștergerea și nu se șterg; se elimină doar accesul dvs. la ele. Blochează numai serverele comandate de dvs.\n\n**Am conectat Cloudflare sau GoDaddy. Trebuie să fac ceva?**\nConexiunea se șterge din cont, dar token-ul Cloudflare sau cheia GoDaddy rămân valabile la furnizor. Revocați-le în contul furnizorului dacă nu le mai folosiți.\n\n**Pot reveni după ștergere?**\nNu în contul vechi. Vă puteți înregistra din nou cu același email (sau cu Google ori GitLab), dar primiți un cont nou, gol: comenzile, facturile și soldul vechi nu apar în el.\n\n**Pot cere ștergerea prin email?**\nDa, scrieți la support@blackbox.md. După verificarea identității, ștergem contul în cel mult o lună; în cazuri complexe termenul se poate prelungi cu până la două luni. Detalii: [Drepturile dvs. privind datele personale](#legal.drepturile-dvs).\n",
    "ru": "Карточка «Удаление аккаунта» на странице «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль») позволяет запросить удаление аккаунта blackbox.md. Она расположена под карточкой «Мои данные» и содержит текст: «Если вы больше не пользуетесь нашими услугами, вы можете удалить аккаунт. Персональные данные (имя, телефон, пароль) будут анонимизированы после льготного периода, в течение которого удаление можно отменить.»\n\n**Доступно:** владельцу аккаунта blackbox.md после входа в аккаунт. В панели app.blackbox.md удалить аккаунт нельзя.\n\n> **Необратимо**\n> После выполнения удаления аккаунт не восстановить: войти в него больше нельзя, удалённые данные не вернуть. С тем же email позже можно создать новый, пустой аккаунт — старые данные к нему не привязываются.\n\n## Что нужно завершить заранее\n\nЕсли удалению что-то мешает, вместо формы в карточке появляется сообщение «Чтобы удалить аккаунт, сначала нужно завершить следующее:» и список причин. Устраните каждую из них и обновите страницу.\n\n| Сообщение | Что делать |\n|---|---|\n| «У вас есть активные серверы. Сначала завершите или передайте их.» | Удалите каждый сервер в панели кнопкой «Удалить» ([Безвозвратное удаление сервера](#servere.stergere-server)) или отмените его заказ кнопкой «Отменить заказ» в разделе «Заказы» ([Отмена заказа и возврат средств](#plati.anulare-si-rambursare)). Сервер, остановленный кнопкой «Остановить», тоже считается активным. |\n| «Ожидается завершение работы сервера.» | Дождитесь, пока выполнится запланированное удаление сервера (после 24-часового периода отсрочки). До этого может показываться и предыдущее сообщение. |\n| «У вас есть неоплаченные счета.» | Оплатите счета со статусом «Отправлен» или «Просрочен» ([Страница «Счета»: статусы, номера и PDF](#plati.facturi)). Если таких счетов в разделе «Счета» нет, напишите нам. |\n| «У вас есть незавершённые заказы.» | Удалению мешают заказы со статусом «Новый» или «В работе». Заказы активных серверов тоже находятся в статусе «В работе». Неоплаченные заказы отмените кнопкой «Отменить заказ». После удаления сервера его заказ переходит в статус «Отменён». |\n| «У вас есть платёж в обработке. Подождите его завершения.» | Дождитесь подтверждения платежа и обновите страницу. Если сообщение не исчезает (например, вы начали оплату картой и закрыли страницу Paynet), напишите нам. |\n| «На вашем балансе есть средства. Сначала используйте их или запросите возврат.» | Удалению мешает любая сумма больше нуля. Потратьте её на заказы или счета либо запросите возврат через поддержку. |\n| «Ваш аккаунт временно защищён от изменений. Обратитесь в поддержку.» | Напишите на support@blackbox.md. |\n| «Этот аккаунт связан с учётной записью персонала. Обратитесь в поддержку.» | Напишите на support@blackbox.md. |\n\n> **Важно**\n> Соблюдайте порядок: сначала серверы и заказы, затем счета, в конце баланс. Отмена оплаченного заказа может вернуть деньги на баланс, а в момент запроса баланс должен быть нулевым. Все шаги по порядку: [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n\n## Как запросить удаление\n\n> **Совет**\n> Перед запросом скачайте копию своих данных кнопкой «Скачать мои данные» в карточке «Мои данные» (заказы, счета, платежи, баланс, тикеты). После удаления скачать её будет нельзя. См. [Скачивание ваших данных («Мои данные»)](#cont.export-date).\n\n1. Откройте «Мой аккаунт» → «Профиль» и прокрутите страницу до карточки «Удаление аккаунта».\n2. В поле «Введите ваш email для подтверждения» укажите email аккаунта — он показан в скобках рядом с названием поля. Регистр букв не важен.\n3. В поле «Текущий пароль» введите пароль от аккаунта blackbox.md. Этого поля нет, если вы создали аккаунт через Google или GitLab и пароля у вас нет.\n4. Нажмите красную кнопку «Удалить мой аккаунт». Кнопка становится активной, как только вы введёте email. Пока запрос отправляется, на кнопке видна надпись «Отправка…».\n5. Запрос регистрируется сразу, без дополнительного подтверждения. Вместо формы появляется сообщение «Удаление аккаунта запланировано на …» с датой и временем удаления по часовому поясу вашего устройства, а также кнопка «Отменить удаление».\n6. На адрес аккаунта приходит письмо «Ștergerea contului a fost programată — BlackBox».\n\n## Льготный период 7 дней\n\n- Удаление выполняется через 7 дней (168 часов) после запроса. Дата фиксируется в момент запроса.\n- До этого аккаунт работает как обычно: вы можете входить в него и в любой момент отменить запрос.\n- Удаление выполняется не позднее чем через час после указанного времени.\n- Если за это время появится новая причина, мешающая удалению (новый заказ, платёж, неоплаченный счёт, деньги на балансе), удаление не выполнится. Оно будет ждать, пока вы не устраните причину, и выполнится в течение следующего часа. Уведомления об отсрочке не будет, а в карточке останется первоначальная дата.\n\n### Письма\n\n| Тема | Когда приходит | Что в нём |\n|---|---|---|\n| «Ștergerea contului a fost programată — BlackBox» | сразу после запроса | время, после которого аккаунт будет анонимизирован (по UTC), и льготный период 168 часов |\n| «Contul dvs. a fost șters — BlackBox» | после удаления, на прежний адрес | подтверждение удаления; если вы его не запрашивали, срочно напишите на support@blackbox.md |\n\nТема письма всегда на румынском, текст — на румынском или русском, в зависимости от языка аккаунта ([Язык сайта, панели и писем](#cont.limba)). Время в первом письме указано в техническом формате UTC, например `2026-10-16T09:30:12.345678+00:00`. Чтобы перевести его во время Молдовы, прибавьте 2 часа зимой и 3 часа летом.\n\n## Как отменить удаление\n\n1. Откройте «Мой аккаунт» → «Профиль». В карточке «Удаление аккаунта» указана запланированная дата.\n2. Нажмите «Отменить удаление».\n3. В окне «Отменить удаление аккаунта?» («Ваш аккаунт не будет удалён.») ещё раз нажмите «Отменить удаление». Кнопка «Отмена» просто закрывает окно, ничего не меняя.\n4. В карточке снова появится форма удаления (или список причин, которые ему мешают). Письмо об отмене не отправляется.\n\nЕсли появится сообщение «Не удалось отменить удаление. Попробуйте снова.», обновите страницу и повторите. Отменить удаление можно только до его выполнения.\n\n## Что удаляется и что сохраняется\n\nУдаление выполняется через анонимизацию: аккаунт остаётся в учёте только как внутренний номер, без данных, по которым можно установить вашу личность.\n\n| Данные | Что происходит |\n|---|---|\n| Email аккаунта | заменяется техническим адресом; ваш адрес освобождается для нового аккаунта |\n| Пароль, имя, телефон, язык писем | удаляются |\n| API-токены, привязка Google и GitLab, сохранённые SSH-ключи, подключения DNS (Cloudflare, GoDaddy), личные названия серверов, настройки оповещений, доступ к серверам компании | удаляются; токены и подключения перестают работать |\n| Аккаунт в панели app.blackbox.md | удаляется |\n| Тикеты поддержки | номера остаются; тема и ваши сообщения заменяются на «[erased]» |\n| Заказы и платежи | остаются (номер, сумма, дата), но без вашего имени и контактных данных |\n| Счета и операции по балансу | хранятся 5 лет согласно законодательству о бухгалтерском учёте |\n| «Реквизиты» | профили, указанные в счетах, остаются вместе со счетами; остальные удаляются |\n| Технические журналы доступа | хранятся не менее 180 дней согласно Политике конфиденциальности |\n\n## Сообщения об ошибках\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Введённый email не совпадает.» | введённый адрес отличается от email аккаунта | введите в точности адрес, указанный в скобках |\n| «Неверный пароль.» | текущий пароль введён неверно | введите пароль от аккаунта blackbox.md; если вы его забыли, см. [Забыли пароль от аккаунта](#cont.parola-uitata) |\n| «Слишком много попыток. Попробуйте позже.» | вы уже отправили 5 запросов за последний час | подождите до часа и повторите |\n| «Чтобы удалить аккаунт, сначала нужно завершить следующее:» | после открытия страницы появилась причина, мешающая удалению | устраните причины из списка (см. таблицу выше) |\n| «Ошибка при отправке запроса. Попробуйте снова.» | другая ошибка, например запрос уже отправлен из другой вкладки | обновите страницу; если видна запланированная дата, запрос уже принят |\n\n## Частые вопросы\n\n**Можно ли пользоваться аккаунтом в льготный период?**\nДа, до выполнения удаления аккаунт работает как обычно. Учтите, что новый заказ, платёж или деньги на балансе отложат удаление.\n\n**Что будет с серверами, к которым у меня есть доступ через мою компанию?**\nОни не мешают удалению и не удаляются — удаляется только ваш доступ к ним. Мешают только серверы, заказанные вами.\n\n**У меня подключены Cloudflare или GoDaddy. Нужно ли что-то сделать?**\nПодключение удаляется из аккаунта, но токен Cloudflare или ключ GoDaddy остаются действительными у провайдера. Если они вам больше не нужны, отзовите их в аккаунте провайдера.\n\n**Можно ли вернуться после удаления?**\nВ старый аккаунт — нет. Вы можете снова зарегистрироваться с тем же email (или через Google либо GitLab), но получите новый, пустой аккаунт: старых заказов, счетов и баланса в нём не будет.\n\n**Можно ли запросить удаление по email?**\nДа, напишите на support@blackbox.md. После проверки личности мы удалим аккаунт не позднее чем через месяц; в сложных случаях срок может быть продлён ещё на два месяца. Подробнее: [Ваши права в отношении персональных данных](#legal.drepturile-dvs).\n",
    "en": "The “Ștergerea contului” (Account deletion) card on the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)) lets you request the deletion of your blackbox.md account. The card is below “Datele mele” (My data) and reads: “Dacă nu mai folosiți serviciile noastre, puteți șterge contul. Datele personale (nume, telefon, parolă) vor fi anonimizate după perioada de grație, timp în care ștergerea poate fi anulată.” (If you no longer use our services, you can delete your account. Your personal data — name, phone number, password — will be anonymized after the grace period, during which the deletion can be canceled.)\n\n**Available to:** the blackbox.md account holder, signed in to the account. You cannot delete your account from the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Irreversible**\n> Once the deletion is carried out, the account cannot be recovered: you can no longer sign in to it, and deleted data cannot be restored. You can later create a new, empty account with the same email address; your old data is not attached to it.\n\n## What to finish first\n\nIf something prevents deletion, the card does not show the form. Instead, it shows the message “Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” (To delete your account, you first need to complete the following:) and a list of reasons. Resolve each reason, then reload the page.\n\n| Message | What to do |\n|---|---|\n| “Aveți servere active. Închideți-le sau transferați-le mai întâi.” (You have active servers. Close or transfer them first.) | Delete each server in the panel with “Terminate” ([Permanently deleting a server](#servere.stergere-server)) or cancel its order with “Anulează comanda” (Cancel the order) under “Comenzi” (Orders) ([Order cancellation and refunds](#plati.anulare-si-rambursare)). A server stopped with “Stop” still counts as active. |\n| “Există o ștergere de server în curs.” (A server deletion is in progress.) | Wait until the scheduled server deletion is carried out (after the 24-hour grace period). Until then, the message above may also appear. |\n| “Aveți facturi neplătite.” (You have unpaid invoices.) | Pay the invoices with the status “Trimisă” (Sent) or “Restantă” (Overdue) ([The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi)). If you do not see any such invoice under “Facturi”, write to us. |\n| “Aveți comenzi neterminate.” (You have unfinished orders.) | Deletion is blocked by orders with the status “Nou” (New) or “În lucru” (In progress). Orders for active servers also have the status “În lucru”. Cancel unpaid orders with “Anulează comanda”. After a server is deleted, its order changes to “Anulat” (Canceled). |\n| “Aveți o plată în curs de procesare. Așteptați finalizarea acesteia.” (You have a payment being processed. Wait for it to complete.) | Wait for the payment to be confirmed and reload the page. If the message does not go away (for example, you started a card payment and closed the Paynet page), write to us. |\n| “Aveți fonduri în sold. Folosiți-le sau solicitați o rambursare mai întâi.” (You have funds in your balance. Use them or request a refund first.) | Any amount greater than 0 blocks deletion. Use it for orders or invoices, or request a refund through support. |\n| “Contul dvs. este temporar protejat împotriva modificărilor. Contactați suportul.” (Your account is temporarily protected against changes. Contact support.) | Write to support@blackbox.md. |\n| “Acest cont este asociat unui cont de personal. Contactați suportul.” (This account is linked to a staff account. Contact support.) | Write to support@blackbox.md. |\n\n> **Important**\n> Follow this order: servers and orders first, then invoices, and the balance last. Canceling a paid order can return money to your balance, and your balance must be 0 at the moment you make the request. All the steps, in order: [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n\n## How to request deletion\n\n> **Tip**\n> Before you make the request, download a copy of your data with “Descarcă datele mele” (Download my data) on the “Datele mele” (My data) card (orders, invoices, payments, balance, support tickets). After deletion, you can no longer download it. See [Downloading your data (“Datele mele”)](#cont.export-date).\n\n1. Open “Contul meu” (My account) → “Profil” (Profile) and scroll down to the “Ștergerea contului” (Account deletion) card.\n2. In the “Introduceți emailul dvs. pentru confirmare” (Enter your email to confirm) field, type your account's email address, which is shown in parentheses next to the label. Uppercase and lowercase letters do not matter.\n3. In the “Parola curentă” (Current password) field, enter your blackbox.md account password. This field is missing if you created your account with Google or GitLab and do not have a password.\n4. Click the red “Șterge contul meu” (Delete my account) button. The button becomes active once you type the email. While the request is being sent, the button shows “Se trimite…” (Sending…).\n5. The request is registered immediately, with no further confirmation. The form is replaced by the message “Ștergerea contului este programată pentru …” (Account deletion is scheduled for …), with the date and time of the deletion in your device's time zone, and the “Anulează ștergerea” (Cancel deletion) button.\n6. You receive the email “Ștergerea contului a fost programată — BlackBox” (Account deletion has been scheduled — BlackBox) at your account's address.\n\n## The 7-day grace period\n\n- The deletion is carried out 7 days (168 hours) after your request. The date is fixed at the moment you make the request.\n- Until then, your account works as usual: you can sign in and cancel the request at any time.\n- The deletion is carried out no later than one hour after the date shown.\n- If a new blocking reason appears in the meantime (a new order, a payment, an unpaid invoice, money in your balance), the deletion is not carried out. It waits until you remove the reason and is then carried out within the next hour. You do not receive any notification about the delay, and the card keeps showing the original date.\n\n### Emails\n\n| Subject | When you receive it | What it contains |\n|---|---|---|\n| “Ștergerea contului a fost programată — BlackBox” (Account deletion has been scheduled — BlackBox) | right after your request | the time after which your account will be anonymized (in UTC) and the 168-hour grace period |\n| “Contul dvs. a fost șters — BlackBox” (Your account has been deleted — BlackBox) | after the deletion is carried out, at your old address | confirmation of the deletion; if you did not request it, write to support@blackbox.md immediately |\n\nThe subject is always in Romanian; the body is in Romanian or Russian, depending on your account language ([Language of the website, the panel and emails](#cont.limba)). The date in the first email is in a technical UTC format, for example `2026-10-16T09:30:12.345678+00:00`. For Moldova time, add 2 hours in winter and 3 hours in summer.\n\n## How to cancel the deletion\n\n1. Open “Contul meu” (My account) → “Profil” (Profile). The “Ștergerea contului” (Account deletion) card shows the scheduled date.\n2. Click “Anulează ștergerea” (Cancel deletion).\n3. In the “Anulați ștergerea contului?” (Cancel account deletion?) window, with the text “Contul dvs. nu va fi șters.” (Your account will not be deleted.), click “Anulează ștergerea” again. The “Anulează” (Cancel) button only closes the window, without changing anything.\n4. The card goes back to the deletion form (or to the list of blocking reasons). No email is sent when you cancel.\n\nIf “Nu am putut anula ștergerea. Încercați din nou.” (We could not cancel the deletion. Please try again.) appears, reload the page and try again. You can cancel only until the deletion is carried out.\n\n## What is deleted and what is kept\n\nDeletion works by anonymization: the account stays in our records only as an internal number, with no data that could identify you.\n\n| Data | What happens |\n|---|---|\n| Your account email | replaced with a technical address; your address becomes free for a new account |\n| Password, name, phone number, email language | deleted |\n| API tokens, links to Google and GitLab, saved SSH keys, DNS connections (Cloudflare, GoDaddy), private server names, alert preferences, access to company servers | deleted; tokens and connections stop working |\n| Your account in the app.blackbox.md panel | deleted |\n| Support tickets | the numbers remain; the subject and your messages become “[erased]” |\n| Orders and payments | remain (number, amount, date), without your name and contact details |\n| Invoices and balance transactions | kept for 5 years, as required by accounting law |\n| “Date de facturare” (Billing details) | profiles used on invoices remain together with the invoices; the others are deleted |\n| Technical access logs | kept for at least 180 days, in line with the Privacy Policy |\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Emailul introdus nu corespunde.” (The email you entered does not match.) | the address you typed differs from your account email | type exactly the address shown in parentheses |\n| “Parolă incorectă.” (Incorrect password.) | the current password is wrong | enter your blackbox.md account password; if you have forgotten it, see [Forgot your account password](#cont.parola-uitata) |\n| “Prea multe încercări. Încercați mai târziu.” (Too many attempts. Try again later.) | you have already sent 5 requests in the last hour | wait up to one hour and try again |\n| “Pentru a șterge contul, mai întâi trebuie finalizate următoarele:” (To delete your account, you first need to complete the following:) | a blocking reason appeared after you opened the page | resolve the reasons in the list (see the table above) |\n| “Eroare la trimiterea cererii. Încercați din nou.” (Error sending the request. Please try again.) | another error, for example the request was already sent from another tab | reload the page; if you see the scheduled date, the request is already registered |\n\n## Frequently asked questions\n\n**Can I use my account during the grace period?**\nYes, your account works as usual until the deletion is carried out. Keep in mind that a new order, a payment or money in your balance delays the deletion.\n\n**What happens to the servers I have access to through my company?**\nThey do not block the deletion and are not deleted; only your access to them is removed. Only servers you ordered yourself block the deletion.\n\n**I have connected Cloudflare or GoDaddy. Do I need to do anything?**\nThe connection is removed from your account, but the Cloudflare token or GoDaddy key remains valid with the provider. If you no longer use them, revoke them in your account with the provider.\n\n**Can I come back after deletion?**\nNot to your old account. You can sign up again with the same email (or with Google or GitLab), but you get a new, empty account: your old orders, invoices and balance do not appear in it.\n\n**Can I request deletion by email?**\nYes, write to support@blackbox.md. After we verify your identity, we delete the account within one month at most; in complex cases, this period can be extended by up to two more months. Details: [Your rights regarding personal data](#legal.drepturile-dvs).\n"
   }
  },
  {
   "id": "comenzi.planuri-vps",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/planuri-vps/",
    "ru": "https://docs.blackbox.md/ru/comenzi/planuri-vps/",
    "en": "https://docs.blackbox.md/en/comenzi/planuri-vps/"
   },
   "title": {
    "ro": "Planurile VPS: cum alegeți",
    "ru": "Тарифы VPS: как выбрать",
    "en": "VPS plans: how to choose"
   },
   "summary": {
    "ro": "Cele 21 de planuri VPS în 5 familii, prețurile lunare și cum alegeți familia și mărimea potrivite.",
    "ru": "21 тариф VPS в 5 семействах, ежемесячные цены и как выбрать подходящее семейство и размер.",
    "en": "The 21 VPS plans in 5 families, their monthly prices, and how to choose the right family and size."
   },
   "markdown": {
    "ro": "Pagina „Planuri VPS” (`blackbox.md/servers/plans`) arată toate cele 21 de planuri VPS, grupate în 5 familii. O deschideți cu butonul „Planuri VPS” din bara de sus a site-ului sau din meniul „Servere” → „Planuri VPS”. Pe pagina principală, secțiunea „Servere virtuale” arată doar trei planuri din familia Standard; lista completă este pe „Planuri VPS”.\n\n**Disponibil pentru:** orice vizitator al blackbox.md. Pentru a comanda, trebuie să aveți cont și să fiți autentificat.\n\n## Ce arată pagina\n\nFiecare familie are propriul bloc: numele familiei și, sub el, o descriere scurtă. Urmează cardurile planurilor din familie. Fiecare card arată:\n\n- numele planului, de exemplu „Standard M”;\n- prețul lunar, urmat de „MDL/lună”;\n- numărul de vCPU, memoria în „GB RAM” și discul în „GB SSD NVMe”;\n- butonul „Comandă”.\n\nPlanul Standard M are insigna „Recomandat” și este evidențiat pe pagină.\n\nFiecare plan este o configurație fixă: serverul primește exact numărul de vCPU, memoria și discul afișate pe card. Prețurile sunt lunare, în MDL. Despre monedă și perioada de plată, vedeți [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n\n> **Notă**\n> Pe toate cardurile discul apare ca „GB SSD NVMe”, indiferent de familie. Unele familii precizează tipul și viteza discului în descrierea de sub numele lor. De exemplu, la Basic descrierea este „SSD standard, 300 IOPS, disc mare”, iar la Standard „SSD NVMe 3000 IOPS, echilibrat”.\n\n## Cum alegeți un plan\n\n1. Deschideți „Planuri VPS” din bara de sus a site-ului.\n2. Alegeți familia după tipul de sarcină (vedeți tabelul din secțiunea următoare).\n3. În familia aleasă, alegeți mărimea după memoria RAM și numărul de vCPU de care are nevoie aplicația dvs. La Basic, Standard și High-Frequency, discul crește odată cu mărimea planului.\n4. Verificați prețul lunar de pe card.\n5. Apăsați „Comandă” pe cardul planului. Se deschide pagina de comandă a planului, de exemplu `blackbox.md/checkout/plan/vm-iops1-m` pentru Standard M. Dacă nu sunteți autentificat, site-ul vă trimite mai întâi la pagina „Autentificare”, apoi vă readuce la comandă.\n\nPașii următori (sistemul de operare, datele de facturare, cheia SSH, plata) sunt descriși în [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n\n## Familiile de planuri\n\n| Familie | Descrierea de pe site | Potrivită pentru |\n|---|---|---|\n| Basic | „SSD standard, 300 IOPS, disc mare” | mult spațiu pe disc: stocare, copii de rezervă, fișiere |\n| CPU | „multe vCPU, disc 30 GB, 3000 IOPS” | compilări (build) și calcule; discul are 30 GB la toate planurile |\n| Standard | „SSD NVMe 3000 IOPS, echilibrat” | site-uri, aplicații, baze de date mici |\n| High-Frequency | „CPU high-frequency + disc mare” | baze de date și aplicații mai solicitante |\n| High-Frequency Compute | „CPU high-frequency, disc 50 GB” | aplicații care solicită mult procesorul; discul are 50 GB la toate planurile |\n\n## Toate planurile și prețurile\n\n| Familie | Plan | vCPU | RAM (GB) | Disc (GB) | MDL/lună |\n|---|---|---|---|---|---|\n| Basic | Basic XS | 1 | 1 | 20 | 416 |\n| Basic | Basic S | 1 | 2 | 50 | 485 |\n| Basic | Basic M | 2 | 4 | 100 | 662 |\n| Basic | Basic L | 2 | 8 | 200 | 910 |\n| Basic | Basic XL | 4 | 16 | 400 | 1 512 |\n| CPU | CPU S | 1 | 2 | 30 | 457 |\n| CPU | CPU M | 2 | 4 | 30 | 564 |\n| CPU | CPU L | 4 | 8 | 30 | 778 |\n| CPU | CPU XL | 6 | 12 | 30 | 992 |\n| CPU | CPU XXL | 8 | 16 | 30 | 1 206 |\n| Standard | Standard S | 1 | 2 | 20 | 443 |\n| Standard | Standard M („Recomandat”) | 2 | 4 | 40 | 578 |\n| Standard | Standard L | 2 | 8 | 80 | 742 |\n| Standard | Standard XL | 4 | 16 | 160 | 1 176 |\n| High-Frequency | High-Frequency XS | 2 | 8 | 100 | 770 |\n| High-Frequency | High-Frequency S | 4 | 16 | 200 | 1 232 |\n| High-Frequency | High-Frequency M | 8 | 32 | 400 | 2 156 |\n| High-Frequency Compute | High-Frequency Compute XS | 2 | 8 | 50 | 700 |\n| High-Frequency Compute | High-Frequency Compute S | 4 | 16 | 50 | 1 022 |\n| High-Frequency Compute | High-Frequency Compute M | 8 | 32 | 50 | 1 666 |\n| High-Frequency Compute | High-Frequency Compute L | 16 | 64 | 50 | 2 954 |\n\n### Limitele catalogului\n\nMaximul oferit de planurile VPS: 16 vCPU, 64 GB RAM și 400 GB de disc. Niciun plan nu le reunește pe toate trei: 16 vCPU și 64 GB RAM are doar High-Frequency Compute L (cu 50 GB disc), iar 400 GB disc au Basic XL și High-Frequency M.\n\nDacă aveți nevoie de mai mult, vedeți [Servere dedicate](#comenzi.servere-dedicate) sau scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Alegeți familia cu atenție\n\n> **Important**\n> Din panou puteți trece doar la un plan mai mare din aceeași familie. Nu puteți schimba familia și nu puteți trece la un plan mai mic. La familiile CPU și High-Frequency Compute, upgrade-ul adaugă vCPU și RAM, dar discul rămâne de 30 GB, respectiv 50 GB.\n\nDacă știți că veți avea nevoie de mult spațiu pe disc, alegeți de la început Basic, Standard sau High-Frequency. Cum faceți upgrade: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n## Codul planului în panou\n\nDupă activare, serverul apare în panoul app.blackbox.md, pe pagina „Serverele mele”. Pe cardul serverului, câmpul „Plan” arată codul planului, de exemplu `vm-iops1-m` pentru Standard M. Același cod apare și în adresa paginii de comandă.\n\n| Începutul codului | Familie |\n|---|---|\n| `vm-basic1-` | Basic |\n| `vm-cores30-` | CPU |\n| `vm-iops1-` | Standard |\n| `vm-hfq1-` | High-Frequency |\n| `vm-hfq50-` | High-Frequency Compute |\n\nFinalul codului este mărimea: `xs`, `s`, `m`, `l`, `xl` sau `xxl`. De exemplu, `vm-cores30-xxl` este CPU XXL.\n\nPuteți întâlni și alte coduri: `vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3` sunt planurile descrise în [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou), iar `vps-2`, `vps-3`, `vps-4` sunt planuri retrase (vedeți secțiunea următoare).\n\nCâmpul „Plan” arată planul cu care a fost comandat serverul. După un upgrade, resursele actuale le vedeți în câmpul „Configurație”. Cardul serverului este descris în [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n## Configuratorul și planurile vechi\n\nPe 25 septembrie 2026, configuratorul în care alegeați singur procesorul, memoria și discul a fost retras și înlocuit cu planurile fixe de mai sus. Adresa `blackbox.md/servers/configurator` vă redirecționează acum la „Planuri VPS”.\n\nPlanurile vechi `vps-2`, `vps-3` și `vps-4` nu mai pot fi comandate. Dacă deschideți un link vechi de comandă pentru unul dintre ele, ajungeți pe pagina „Planuri VPS”, cu mesajul „Planul anterior a fost înlocuit. Mai jos găsiți tarifele actuale, cu caracteristici similare.” Alegeți planul actual cu resursele de care aveți nevoie.\n\nServerele deja comandate pe planurile vechi sau prin configurator funcționează în continuare, fără nicio modificare.\n\n## Întrebări frecvente\n\n**Ce înseamnă insigna „Recomandat”?**\nInsigna evidențiază planul Standard M pe pagină. Prețul și resursele lui sunt cele de pe card, fără condiții speciale.\n\n**Care este diferența dintre Basic M și Standard M? Ambele au 2 vCPU și 4 GB RAM.**\nBasic M are 100 GB disc „SSD standard, 300 IOPS” și costă 662 MDL/lună. Standard M are 40 GB disc „SSD NVMe 3000 IOPS” și costă 578 MDL/lună. Alegeți Basic pentru spațiu, Standard pentru viteza discului.\n\n**Pot comanda o configurație care nu este în listă, de exemplu 16 vCPU cu 200 GB disc?**\nNu de pe site: puteți comanda doar planurile din listă. Pentru o configurație mai mare, vedeți [Servere dedicate](#comenzi.servere-dedicate) sau scrieți-ne.\n\n**Prețul depinde de sistemul de operare?**\nNu. Prețul este cel al planului; sistemul de operare îl alegeți la comandă din lista disponibilă. Vedeți [Sistemele de operare disponibile](#comenzi.sisteme-operare).\n\n**Am un server pe planul `vps-2`, `vps-3` sau `vps-4`. Pot face upgrade?**\nNu din panou. La aceste planuri, fereastra de upgrade afișează „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.” Pentru o configurație mai mare, scrieți-ne.\n",
    "ru": "Страница «Тарифы VPS» (`blackbox.md/ru/servers/plans`) показывает все 21 тариф VPS в 5 семействах. Откройте её кнопкой «Тарифы VPS» в верхней панели сайта или через меню «Серверы» → «Тарифы VPS». На главной странице в разделе «Виртуальные серверы» есть только три тарифа семейства «Стандарт»; полный список — на странице «Тарифы VPS».\n\n**Доступно:** любому посетителю blackbox.md. Чтобы оформить заказ, нужно иметь аккаунт и войти в него.\n\n## Что показывает страница\n\nУ каждого семейства свой блок: название семейства и под ним короткое описание. Ниже идут карточки тарифов этого семейства. На каждой карточке есть:\n\n- название тарифа, например «Standard M»;\n- цена за месяц с подписью «MDL/мес»;\n- число vCPU, память в «GB RAM» и диск в «GB SSD NVMe»;\n- кнопка «Заказать».\n\nТариф Standard M отмечен значком «Рекомендуем» и выделен на странице. Названия тарифов на карточках не переводятся: в семействе «Стандарт» это Standard S, Standard M, Standard L и Standard XL.\n\nКаждый тариф — фиксированная конфигурация: сервер получает ровно столько vCPU, памяти и диска, сколько указано на карточке. Цены указаны за месяц, в MDL. О валюте и периоде оплаты читайте в статье [Цены, валюта и период оплаты](#comenzi.preturi).\n\n> **Примечание**\n> На всех карточках диск подписан как «GB SSD NVMe», независимо от семейства. У некоторых семейств тип и скорость диска указаны в описании под названием. Например, у Basic это «SSD стандарт, 300 IOPS, большой диск», а у «Стандарт» — «SSD NVMe 3000 IOPS, сбалансированный».\n\n## Как выбрать тариф\n\n1. Откройте «Тарифы VPS» в верхней панели сайта.\n2. Выберите семейство по типу нагрузки (см. таблицу в следующем разделе).\n3. Внутри семейства выберите размер по объёму RAM и числу vCPU, которые нужны вашему приложению. В семействах Basic, «Стандарт» и High-Frequency вместе с размером тарифа растёт и диск.\n4. Проверьте цену за месяц на карточке.\n5. Нажмите «Заказать» на карточке тарифа. Откроется страница заказа этого тарифа, например `blackbox.md/ru/checkout/plan/vm-iops1-m` для Standard M. Если вы не вошли в аккаунт, сайт сначала попросит войти, а затем вернёт вас к заказу.\n\nДальнейшие шаги (операционная система, реквизиты, SSH-ключ, оплата) описаны в статье [Оформление заказа по шагам](#comenzi.plasare-comanda).\n\n## Семейства тарифов\n\n| Семейство | Описание на сайте | Для чего подходит |\n|---|---|---|\n| Basic | «SSD стандарт, 300 IOPS, большой диск» | когда нужно много места на диске: хранилище, резервные копии, файлы |\n| CPU | «много vCPU, диск 30 GB, 3000 IOPS» | сборка (build) и вычисления; диск 30 GB на всех тарифах |\n| Стандарт | «SSD NVMe 3000 IOPS, сбалансированный» | сайты, приложения, небольшие базы данных |\n| High-Frequency | «высокочастотный CPU + большой диск» | базы данных и более нагруженные приложения |\n| High-Frequency Compute | «высокочастотный CPU, диск 50 GB» | приложения с высокой нагрузкой на процессор; диск 50 GB на всех тарифах |\n\n## Все тарифы и цены\n\n| Семейство | Тариф | vCPU | RAM (GB) | Диск (GB) | MDL/мес. |\n|---|---|---|---|---|---|\n| Basic | Basic XS | 1 | 1 | 20 | 416 |\n| Basic | Basic S | 1 | 2 | 50 | 485 |\n| Basic | Basic M | 2 | 4 | 100 | 662 |\n| Basic | Basic L | 2 | 8 | 200 | 910 |\n| Basic | Basic XL | 4 | 16 | 400 | 1 512 |\n| CPU | CPU S | 1 | 2 | 30 | 457 |\n| CPU | CPU M | 2 | 4 | 30 | 564 |\n| CPU | CPU L | 4 | 8 | 30 | 778 |\n| CPU | CPU XL | 6 | 12 | 30 | 992 |\n| CPU | CPU XXL | 8 | 16 | 30 | 1 206 |\n| Стандарт | Standard S | 1 | 2 | 20 | 443 |\n| Стандарт | Standard M («Рекомендуем») | 2 | 4 | 40 | 578 |\n| Стандарт | Standard L | 2 | 8 | 80 | 742 |\n| Стандарт | Standard XL | 4 | 16 | 160 | 1 176 |\n| High-Frequency | High-Frequency XS | 2 | 8 | 100 | 770 |\n| High-Frequency | High-Frequency S | 4 | 16 | 200 | 1 232 |\n| High-Frequency | High-Frequency M | 8 | 32 | 400 | 2 156 |\n| High-Frequency Compute | High-Frequency Compute XS | 2 | 8 | 50 | 700 |\n| High-Frequency Compute | High-Frequency Compute S | 4 | 16 | 50 | 1 022 |\n| High-Frequency Compute | High-Frequency Compute M | 8 | 32 | 50 | 1 666 |\n| High-Frequency Compute | High-Frequency Compute L | 16 | 64 | 50 | 2 954 |\n\n### Пределы каталога\n\nМаксимум для тарифов VPS: 16 vCPU, 64 GB RAM и 400 GB диска. Ни один тариф не сочетает все три максимума: 16 vCPU и 64 GB RAM есть только у High-Frequency Compute L (с диском 50 GB), а диск 400 GB — у Basic XL и High-Frequency M.\n\nЕсли нужно больше, посмотрите [Выделенные серверы](#comenzi.servere-dedicate) или напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Выбирайте семейство внимательно\n\n> **Важно**\n> В панели можно перейти только на больший тариф того же семейства. Сменить семейство или перейти на меньший тариф нельзя. В семействах CPU и High-Frequency Compute апгрейд добавляет vCPU и RAM, а диск остаётся 30 GB и 50 GB соответственно.\n\nЕсли вы заранее знаете, что понадобится много места на диске, сразу выбирайте Basic, «Стандарт» или High-Frequency. Как сделать апгрейд, описано в статье [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n## Код тарифа в панели\n\nПосле активации сервер появляется в панели app.blackbox.md на странице «Мои серверы». На карточке сервера в поле «Тариф» показан код тарифа, например `vm-iops1-m` для Standard M. Тот же код есть в адресе страницы заказа.\n\n| Начало кода | Семейство |\n|---|---|\n| `vm-basic1-` | Basic |\n| `vm-cores30-` | CPU |\n| `vm-iops1-` | Стандарт |\n| `vm-hfq1-` | High-Frequency |\n| `vm-hfq50-` | High-Frequency Compute |\n\nОкончание кода — это размер: `xs`, `s`, `m`, `l`, `xl` или `xxl`. Например, `vm-cores30-xxl` — это CPU XXL.\n\nВстречаются и другие коды: `vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3` — тарифы из статьи [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou), а `vps-2`, `vps-3`, `vps-4` — тарифы, снятые с продажи (см. следующий раздел).\n\nПоле «Тариф» показывает тариф, с которым сервер был заказан. Текущие ресурсы после апгрейда смотрите в поле «Конфигурация». Карточка сервера описана в статье [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n## Конфигуратор и старые тарифы\n\n25 сентября 2026 года конфигуратор, в котором вы сами выбирали процессор, память и диск, был закрыт и заменён фиксированными тарифами, описанными выше. Адрес `blackbox.md/ru/servers/configurator` теперь перенаправляет на «Тарифы VPS».\n\nСтарые тарифы `vps-2`, `vps-3` и `vps-4` больше нельзя заказать. Если вы откроете старую ссылку на заказ одного из них, то попадёте на страницу «Тарифы VPS» с сообщением «Прежний план был заменён. Ниже — актуальные тарифы с похожими характеристиками.» Выберите актуальный тариф с нужными ресурсами.\n\nСерверы, уже заказанные по старым тарифам или через конфигуратор, продолжают работать без изменений.\n\n## Частые вопросы\n\n**Что означает значок «Рекомендуем»?**\nОн выделяет на странице тариф Standard M. Цена и ресурсы у него те же, что на карточке, без особых условий.\n\n**Чем Basic M отличается от Standard M? У обоих 2 vCPU и 4 GB RAM.**\nУ Basic M диск 100 GB «SSD стандарт, 300 IOPS», цена 662 MDL/мес. У Standard M диск 40 GB «SSD NVMe 3000 IOPS», цена 578 MDL/мес. Basic подходит, когда важен объём диска, «Стандарт» — когда важна его скорость.\n\n**Можно ли заказать конфигурацию не из списка, например 16 vCPU и 200 GB диска?**\nНа сайте — нет: заказать можно только тарифы из списка. Для более крупной конфигурации посмотрите [Выделенные серверы](#comenzi.servere-dedicate) или напишите нам.\n\n**Зависит ли цена от операционной системы?**\nНет. Цена определяется тарифом, а операционную систему вы выбираете при заказе из доступного списка. См. [Доступные операционные системы](#comenzi.sisteme-operare).\n\n**У меня сервер на тарифе `vps-2`, `vps-3` или `vps-4`. Можно ли сделать апгрейд?**\nВ панели — нет. Для этих тарифов окно апгрейда показывает «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.» Если нужна более крупная конфигурация, напишите нам.\n",
    "en": "The “Planuri VPS” (VPS plans) page (`blackbox.md/servers/plans`) shows all 21 VPS plans, grouped into 5 families. To open it, click the “Planuri VPS” button in the top bar of the website, or choose “Servere” (Servers) → “Planuri VPS” in the menu. On the home page, the “Servere virtuale” (Virtual servers) section shows only three plans from the Standard family; the full list is on “Planuri VPS”.\n\n**Available to:** any visitor to blackbox.md. To place an order, you need an account and must be signed in.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What the page shows\n\nEach family has its own block: the family name with a short description below it. The cards of the plans in that family follow. Each card shows:\n\n- the plan name, for example “Standard M”;\n- the monthly price, followed by “MDL/lună” (MDL/month);\n- the number of vCPUs, the memory in “GB RAM” and the disk in “GB SSD NVMe”;\n- the “Comandă” (Order) button.\n\nThe Standard M plan has the “Recomandat” (Recommended) badge and is highlighted on the page.\n\nEach plan is a fixed configuration: the server gets exactly the number of vCPUs, the memory and the disk shown on the card. Prices are monthly, in MDL. For the currency and the billing period, see [Prices, currency and billing period](#comenzi.preturi).\n\n> **Note**\n> On every card, the disk is shown as “GB SSD NVMe”, whatever the family. Some families state the disk type and speed in the description under their name. For example, the Basic description is “SSD standard, 300 IOPS, disc mare” (standard SSD, 300 IOPS, large disk), and the Standard description is “SSD NVMe 3000 IOPS, echilibrat” (NVMe SSD, 3000 IOPS, balanced).\n\n## How to choose a plan\n\n1. Open “Planuri VPS” (VPS plans) from the top bar of the website.\n2. Choose the family based on the type of workload (see the table in the next section).\n3. Within the chosen family, choose the size based on the RAM and the number of vCPUs your application needs. In Basic, Standard and High-Frequency, the disk grows with the plan size.\n4. Check the monthly price on the card.\n5. Click “Comandă” (Order) on the plan's card. The order page for that plan opens, for example `blackbox.md/checkout/plan/vm-iops1-m` for Standard M. If you are not signed in, the website first sends you to the “Autentificare” (Sign in) page, then brings you back to the order.\n\nThe next steps (operating system, billing details, SSH key, payment) are described in [Placing an order step by step](#comenzi.plasare-comanda).\n\n## Plan families\n\n| Family | Description on the website | Good for |\n|---|---|---|\n| Basic | “SSD standard, 300 IOPS, disc mare” (standard SSD, 300 IOPS, large disk) | lots of disk space: storage, backups, files |\n| CPU | “multe vCPU, disc 30 GB, 3000 IOPS” (many vCPUs, 30 GB disk, 3000 IOPS) | compiling (builds) and computation; the disk is 30 GB on every plan |\n| Standard | “SSD NVMe 3000 IOPS, echilibrat” (NVMe SSD, 3000 IOPS, balanced) | websites, applications, small databases |\n| High-Frequency | “CPU high-frequency + disc mare” (high-frequency CPU + large disk) | databases and more demanding applications |\n| High-Frequency Compute | “CPU high-frequency, disc 50 GB” (high-frequency CPU, 50 GB disk) | applications that use a lot of processor power; the disk is 50 GB on every plan |\n\n## All plans and prices\n\n| Family | Plan | vCPU | RAM (GB) | Disk (GB) | MDL/month |\n|---|---|---|---|---|---|\n| Basic | Basic XS | 1 | 1 | 20 | 416 |\n| Basic | Basic S | 1 | 2 | 50 | 485 |\n| Basic | Basic M | 2 | 4 | 100 | 662 |\n| Basic | Basic L | 2 | 8 | 200 | 910 |\n| Basic | Basic XL | 4 | 16 | 400 | 1,512 |\n| CPU | CPU S | 1 | 2 | 30 | 457 |\n| CPU | CPU M | 2 | 4 | 30 | 564 |\n| CPU | CPU L | 4 | 8 | 30 | 778 |\n| CPU | CPU XL | 6 | 12 | 30 | 992 |\n| CPU | CPU XXL | 8 | 16 | 30 | 1,206 |\n| Standard | Standard S | 1 | 2 | 20 | 443 |\n| Standard | Standard M — “Recomandat” (Recommended) | 2 | 4 | 40 | 578 |\n| Standard | Standard L | 2 | 8 | 80 | 742 |\n| Standard | Standard XL | 4 | 16 | 160 | 1,176 |\n| High-Frequency | High-Frequency XS | 2 | 8 | 100 | 770 |\n| High-Frequency | High-Frequency S | 4 | 16 | 200 | 1,232 |\n| High-Frequency | High-Frequency M | 8 | 32 | 400 | 2,156 |\n| High-Frequency Compute | High-Frequency Compute XS | 2 | 8 | 50 | 700 |\n| High-Frequency Compute | High-Frequency Compute S | 4 | 16 | 50 | 1,022 |\n| High-Frequency Compute | High-Frequency Compute M | 8 | 32 | 50 | 1,666 |\n| High-Frequency Compute | High-Frequency Compute L | 16 | 64 | 50 | 2,954 |\n\n### Catalog limits\n\nThe most the VPS plans offer is 16 vCPUs, 64 GB RAM and 400 GB of disk. No plan combines all three: only High-Frequency Compute L has 16 vCPUs and 64 GB RAM (with a 50 GB disk), and only Basic XL and High-Frequency M have a 400 GB disk.\n\nIf you need more, see [Dedicated servers](#comenzi.servere-dedicate) or write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## Choose the family carefully\n\n> **Important**\n> From the panel, you can only move to a larger plan in the same family. You cannot change the family, and you cannot move to a smaller plan. In the CPU and High-Frequency Compute families, an upgrade adds vCPUs and RAM, but the disk stays at 30 GB and 50 GB respectively.\n\nIf you know you will need a lot of disk space, choose Basic, Standard or High-Frequency from the start. How to upgrade: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n## The plan code in the panel\n\nAfter activation, the server appears in the app.blackbox.md panel, on the “My Servers” page. On the server card, the “Plan” field shows the plan code, for example `vm-iops1-m` for Standard M. The same code also appears in the address of the order page.\n\n| Start of the code | Family |\n|---|---|\n| `vm-basic1-` | Basic |\n| `vm-cores30-` | CPU |\n| `vm-iops1-` | Standard |\n| `vm-hfq1-` | High-Frequency |\n| `vm-hfq50-` | High-Frequency Compute |\n\nThe end of the code is the size: `xs`, `s`, `m`, `l`, `xl` or `xxl`. For example, `vm-cores30-xxl` is CPU XXL.\n\nYou may also come across other codes: `vps-hosting-1`, `vps-hosting-2` and `vps-hosting-3` are the plans described in [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou), and `vps-2`, `vps-3` and `vps-4` are retired plans (see the next section).\n\nThe “Plan” field shows the plan the server was ordered with. After an upgrade, you can see the current resources in the “Spec” field. The server card is described in [The “My Servers” page: the server card](#servere.serverele-mele).\n\n## The configurator and the old plans\n\nOn September 25, 2026, the configurator, where you chose the processor, memory and disk yourself, was retired and replaced by the fixed plans above. The address `blackbox.md/servers/configurator` now redirects you to “Planuri VPS” (VPS plans).\n\nThe old plans `vps-2`, `vps-3` and `vps-4` can no longer be ordered. If you open an old order link for one of them, you land on the “Planuri VPS” page with the message “Planul anterior a fost înlocuit. Mai jos găsiți tarifele actuale, cu caracteristici similare.” (The previous plan has been replaced. Below are the current plans with similar specifications.) Choose the current plan with the resources you need.\n\nServers already ordered on the old plans or through the configurator keep working, with no changes.\n\n## Frequently asked questions\n\n**What does the “Recomandat” (Recommended) badge mean?**\nThe badge highlights the Standard M plan on the page. Its price and resources are the ones shown on the card, with no special conditions.\n\n**What is the difference between Basic M and Standard M? Both have 2 vCPUs and 4 GB RAM.**\nBasic M has a 100 GB “SSD standard, 300 IOPS” (standard SSD, 300 IOPS) disk and costs 662 MDL/month. Standard M has a 40 GB “SSD NVMe 3000 IOPS” (NVMe SSD, 3000 IOPS) disk and costs 578 MDL/month. Choose Basic for disk space, Standard for disk speed.\n\n**Can I order a configuration that is not on the list, for example 16 vCPUs with a 200 GB disk?**\nNot from the website: you can only order the plans on the list. For a larger configuration, see [Dedicated servers](#comenzi.servere-dedicate) or write to us.\n\n**Does the price depend on the operating system?**\nNo. You pay the price of the plan; you choose the operating system from the available list when you order. See [Available operating systems](#comenzi.sisteme-operare).\n\n**I have a server on the `vps-2`, `vps-3` or `vps-4` plan. Can I upgrade it?**\nNot from the panel. For these plans, the upgrade window shows “This server's plan can't be upgraded this way — contact support.” For a larger configuration, write to us.\n"
   }
  },
  {
   "id": "comenzi.vps-cu-panou",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/vps-cu-panou/",
    "ru": "https://docs.blackbox.md/ru/comenzi/vps-cu-panou/",
    "en": "https://docs.blackbox.md/en/comenzi/vps-cu-panou/"
   },
   "title": {
    "ro": "Planurile „VPS hosting” cu panou de control",
    "ru": "Тарифы «VPS hosting» с панелью управления",
    "en": "“VPS hosting” plans with a control panel"
   },
   "summary": {
    "ro": "Cele trei planuri VPS hosting de pe pagina principală: prețuri, comandă și ce trebuie să clarificați despre panoul de control.",
    "ru": "Три тарифа VPS hosting на главной странице: цены, заказ и что нужно уточнить о панели управления.",
    "en": "The three VPS hosting plans on the home page: prices, ordering, and what to check about the control panel."
   },
   "markdown": {
    "ro": "Planurile „VPS hosting 1”, „VPS hosting 2” și „VPS hosting 3” se comandă de pe pagina principală blackbox.md, din secțiunea „VPS cu ispmanager” (`https://blackbox.md/#pricing-vps-hosting`). Butonul „Vezi planurile” din partea de sus a paginii vă duce direct la ea. Spre deosebire de planurile din [Planurile VPS: cum alegeți](#comenzi.planuri-vps), aici nu alegeți sistemul de operare, iar planul se schimbă doar prin suport.\n\n**Disponibil pentru:** orice client cu cont pe blackbox.md (comanda cere autentificare).\n\n## Planurile și prețurile\n\n| Plan | CPU | RAM | Disc | Preț |\n|---|---|---|---|---|\n| VPS hosting 1 | 2 Core | 4 GB | 50 GB SSD | 490 MDL/lună |\n| VPS hosting 2 („Recomandat”) | 4 Core | 8 GB | 100 GB SSD | 950 MDL/lună |\n| VPS hosting 3 | 6 Core | 12 GB | 150 GB SSD | 1 460 MDL/lună |\n\n- Prețurile sunt lunare, în MDL. Detalii: [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n- Cardul „VPS Popular” din partea de sus a paginii principale (afișat pe ecranele mari, 950 MDL/lună, butonul „Comandă acum”) este planul VPS hosting 2. Deschide aceeași comandă ca butonul „Comandă” de pe cardul VPS hosting 2.\n- Pe fiecare card apare și rândul „ispmanager 6”. Înainte de a comanda, citiți secțiunea despre panoul de control de mai jos.\n\n## Cum comandați\n\nPentru aceste planuri nu există pasul „Sistem de operare”.\n\n1. Pe pagina principală, în secțiunea „VPS cu ispmanager”, apăsați „Comandă” pe cardul planului dorit.\n2. Dacă nu sunteți autentificat, se deschide pagina de autentificare. După autentificare (sau înregistrare) reveniți automat la comandă.\n3. Dacă apare pasul „Date de facturare”, alegeți profilul pentru factură și apăsați „Continuă”. Dacă nu doriți un profil, selectați „Fără date de facturare” și apăsați „Continuă fără date de facturare”. Vedeți [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n4. Dacă apare pasul „Cheie SSH pentru server”, bifați o cheie din „Chei salvate” sau lipiți una în „Sau lipiți o cheie publică SSH” și apăsați „Continuă”. Fără cheie, apăsați „Continuă fără cheie”. Vedeți [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda).\n\n   Când adăugați o cheie, opțiunea „Dezactivează autentificarea prin parolă (doar cheie SSH)” se bifează automat: serverul va accepta conectarea SSH doar cu cheia. O puteți debifa înainte de a continua.\n5. Apare mesajul „Se plasează comanda…”. Comanda se creează cu statusul „Nou” și un număr de forma `BBX-YYYY-NNNNNN`, primiți emailul „Am primit solicitarea dumneavoastră — BBX-…”, iar browserul deschide pagina de plată.\n6. Plătiți comanda cu cardul sau din sold: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul), [Plata unei comenzi din sold](#plati.plata-din-sold).\n\nDacă apare „Eroare la plasarea comenzii”, vedeți [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n> **Atenție**\n> Dacă nu se afișează niciun pas, comanda se creează imediat ce se deschide pagina, cu mesajul „Se plasează comanda…”. Nu reîncărcați pagina cât timp vedeți acest mesaj și nu apăsați din nou „Comandă”: fiecare reluare creează încă o comandă „Nou”. Anulați comenzile în plus: „Contul meu” → „Comenzi” → „Anulează comanda” → „Da, anulează”.\n\n## Panoul de control: ce să clarificați\n\n- Cardurile și titlul secțiunii menționează ispmanager. La comandă însă nu alegeți panoul de control și nu primiți nicio confirmare despre el: ce panou se instalează, cum este licențiat și cum primiți datele de intrare. Întrebați suportul înainte de a comanda. Dacă după activare nu ați primit datele de intrare în panoul de control, cereți-le suportului.\n- Nu alegeți sistemul de operare: imaginea serverului o stabilește BLACKBOX. Sistemul instalat apare în emailul „Serverul dvs. este gata — BBX-…”, la rândul „Sistem de operare”.\n- Acest email conține datele de acces la server: adresa IP, utilizatorul `root` și parola. La un server „doar cu cheie”, în locul parolei emailul arată că vă conectați cu cheia SSH. Datele de intrare în panoul de control nu sunt în acest email.\n- Panoul de control de pe server nu este panoul app.blackbox.md, din care gestionați serverul: parola root, repornirea, ștergerea.\n\n> **Important**\n> Nu vă bazați pe un anumit panou de control sau pe o anumită licență până nu vi le confirmă suportul. Contacte: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Schimbarea planului\n\nPlanurile „VPS hosting” nu se schimbă din panou. În panoul app.blackbox.md, la „Serverele mele”, cardul serverului arată la „Plan” codul `vps-hosting-1`, `vps-hosting-2` sau `vps-hosting-3`. Dacă apăsați „Upgrade”, fereastra „Upgrade server” nu oferă alte planuri, ci afișează mesajul „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.”\n\nPentru alt plan, scrieți suportului și indicați numărul comenzii (`BBX-…`) și planul dorit. Upgrade-ul din panou, descris în [Upgrade server: trecerea la un plan mai mare](#servere.upgrade), funcționează doar pentru planurile VPS.\n\n## Restul funcționează ca la planurile VPS\n\n- activarea și emailurile: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata);\n- parola root: [Afișarea datelor de acces root](#acces.afisare-date-acces), [Resetarea parolei root](#acces.resetare-parola-root);\n- pornirea și oprirea: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire);\n- reînnoirea lunară: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara);\n- anularea și ștergerea: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare), [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n## Întrebări frecvente\n\n**Prin ce diferă de planurile de pe `blackbox.md/servers/plans`?**\nAcolo alegeți unul din cele 21 de planuri VPS și sistemul de operare, dintr-o listă care nu conține panouri de control, iar upgrade-ul se face din panou. Planurile „VPS hosting” se comandă fără alegerea sistemului, iar planul se schimbă doar prin suport.\n\n**Paginile „VPS + ispmanager” și „VPS + Hestia” din meniul „Găzduire” sunt aceleași planuri?**\nNu. Sunt pagini de prezentare, iar butonul lor „Vezi planurile VPS” deschide planurile VPS obișnuite. Planurile VPS hosting 1–3 se comandă din secțiunea „VPS cu ispmanager” de pe pagina principală.\n\n**Am două comenzi „Nou” pentru același plan. Plătesc de două ori?**\nNu, dacă nu le achitați pe amândouă. Fiecare comandă se plătește separat, de pe pagina ei de plată, iar pentru o comandă neachitată nu se încasează nimic automat. Anulați-o pe cea în plus din „Comenzi”: la confirmare apare „Comanda nu a fost achitată, deci nu se efectuează nicio returnare. Acțiunea nu poate fi anulată.” Apăsați „Da, anulează”.\n",
    "ru": "Тарифы «VPS hosting 1», «VPS hosting 2» и «VPS hosting 3» заказываются на главной странице blackbox.md, в разделе «VPS с ispmanager» (`https://blackbox.md/ru#pricing-vps-hosting`). Кнопка «Смотреть планы» в верхней части страницы сразу переносит к нему. В отличие от тарифов из статьи [Тарифы VPS: как выбрать](#comenzi.planuri-vps), здесь операционная система не выбирается, а сменить тариф можно только через поддержку.\n\n**Доступно:** любому клиенту с аккаунтом на blackbox.md (для заказа нужно войти).\n\n## Тарифы и цены\n\n| Тариф | CPU | RAM | Диск | Цена |\n|---|---|---|---|---|\n| VPS hosting 1 | 2 Core | 4 GB | 50 GB SSD | 490 MDL/мес. |\n| VPS hosting 2 («Рекомендуем») | 4 Core | 8 GB | 100 GB SSD | 950 MDL/мес. |\n| VPS hosting 3 | 6 Core | 12 GB | 150 GB SSD | 1 460 MDL/мес. |\n\n- Цены указаны в MDL за месяц. Подробнее: [Цены, валюта и период оплаты](#comenzi.preturi).\n- Карточка «Популярный VPS» вверху главной страницы (видна на больших экранах, 950 MDL/мес., кнопка «Заказать сейчас») — это тариф VPS hosting 2. Она открывает тот же заказ, что и кнопка «Заказать» на карточке VPS hosting 2.\n- На каждой карточке есть строка «ispmanager 6». Прежде чем заказывать, прочитайте раздел о панели управления ниже.\n\n## Как заказать\n\nШага «Операционная система» для этих тарифов нет.\n\n1. На главной странице, в разделе «VPS с ispmanager», нажмите «Заказать» на карточке нужного тарифа.\n2. Если вы не вошли в аккаунт, откроется страница входа. После входа (или регистрации) вы автоматически вернётесь к заказу.\n3. Если появится шаг «Реквизиты для счёта», выберите профиль для счёта и нажмите «Продолжить». Если профиль не нужен, выберите «Без реквизитов» и нажмите «Продолжить без реквизитов». См. [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n4. Если появится шаг «SSH-ключ для сервера», отметьте ключ в списке «Сохранённые ключи» или вставьте его в поле «Или вставьте публичный SSH-ключ» и нажмите «Продолжить». Без ключа нажмите «Продолжить без ключа». См. [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda).\n\n   Когда вы добавляете ключ, флажок «Отключить вход по паролю (только SSH-ключ)» отмечается автоматически: подключиться к серверу по SSH можно будет только с ключом. Флажок можно снять до того, как продолжить.\n5. Появится сообщение «Оформляем заказ…». Заказ создаётся со статусом «Новый» и номером вида `BBX-YYYY-NNNNNN`, на почту приходит письмо «Am primit solicitarea dumneavoastră — BBX-…» (тема всегда на румынском), а браузер открывает страницу оплаты.\n6. Оплатите заказ картой или с баланса: [Оплата картой (Paynet)](#plati.plata-cu-cardul), [Оплата заказа с баланса](#plati.plata-din-sold).\n\nЕсли появилось сообщение «Ошибка при оформлении заказа», см. [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n> **Внимание**\n> Если ни один шаг не показан, заказ создаётся сразу при открытии страницы, с сообщением «Оформляем заказ…». Не обновляйте страницу, пока видите это сообщение, и не нажимайте «Заказать» повторно: каждый повтор создаёт ещё один заказ со статусом «Новый». Лишние заказы отмените: «Личный кабинет» → «Заказы» → «Отменить заказ» → «Да, отменить».\n\n## Панель управления: что уточнить\n\n- В карточках и в названии раздела упоминается ispmanager. Но при заказе панель управления не выбирается и ничего о ней не подтверждается: какая панель будет установлена, как она лицензируется и как вы получите данные для входа. Уточните это в поддержке до заказа. Если после активации вы не получили данные для входа в панель управления, запросите их в поддержке.\n- Операционную систему вы не выбираете: образ сервера определяет BLACKBOX. Установленная система указана в письме «Serverul dvs. este gata — BBX-…», в строке «Операционная система».\n- В этом письме — данные для доступа к самому серверу: IP-адрес, пользователь `root` и пароль. Для сервера «только по ключу» вместо пароля в письме указано, что подключаться нужно по SSH-ключу. Данных для входа в панель управления в этом письме нет.\n- Панель управления на сервере — это не панель app.blackbox.md, в которой вы управляете сервером: паролем root, перезагрузкой, удалением.\n\n> **Важно**\n> Не рассчитывайте на определённую панель управления или лицензию, пока их не подтвердит поддержка. Контакты: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Смена тарифа\n\nТарифы «VPS hosting» нельзя сменить из панели. В панели app.blackbox.md, в разделе «Мои серверы», в карточке сервера в строке «Тариф» указан код `vps-hosting-1`, `vps-hosting-2` или `vps-hosting-3`. Если нажать «Апгрейд», окно «Апгрейд сервера» не предложит других тарифов, а покажет сообщение «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.»\n\nЧтобы перейти на другой тариф, напишите в поддержку и укажите номер заказа (`BBX-…`) и нужный тариф. Апгрейд из панели, описанный в статье [Апгрейд сервера: переход на больший тариф](#servere.upgrade), работает только для тарифов VPS.\n\n## Всё остальное — как у тарифов VPS\n\n- активация и письма: [После оплаты: активация сервера и письма](#comenzi.dupa-plata);\n- пароль root: [Просмотр учётных данных root](#acces.afisare-date-acces), [Сброс пароля root](#acces.resetare-parola-root);\n- включение и выключение: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire);\n- ежемесячное продление: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara);\n- отмена и удаление: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare), [Безвозвратное удаление сервера](#servere.stergere-server).\n\n## Частые вопросы\n\n**Чем эти тарифы отличаются от тарифов на `blackbox.md/ru/servers/plans`?**\nТам вы выбираете один из 21 тарифа VPS и операционную систему из списка, в котором нет панелей управления, а апгрейд делается из панели. Тарифы «VPS hosting» заказываются без выбора системы, а сменить тариф можно только через поддержку.\n\n**Страницы «VPS + ispmanager» и «VPS + Hestia» в меню «Хостинг» — это те же тарифы?**\nНет. Это информационные страницы: их кнопка «Смотреть тарифы VPS» ведёт к обычным тарифам VPS. Тарифы VPS hosting 1–3 заказываются в разделе «VPS с ispmanager» на главной странице.\n\n**У меня два заказа «Новый» на один тариф. Я заплачу дважды?**\nНет, если вы не оплатите оба. Каждый заказ оплачивается отдельно, на своей странице оплаты; за неоплаченный заказ автоматически ничего не списывается. Лишний отмените в разделе «Заказы»: в подтверждении появится «Заказ ещё не оплачен, поэтому возврат средств не производится. Действие необратимо.» Нажмите «Да, отменить».\n",
    "en": "The “VPS hosting 1”, “VPS hosting 2” and “VPS hosting 3” plans are ordered from the blackbox.md home page, in the “VPS cu ispmanager” (VPS with ispmanager) section (`https://blackbox.md/#pricing-vps-hosting`). The “Vezi planurile” (See plans) button at the top of the page takes you straight there. Unlike the plans in [VPS plans: how to choose](#comenzi.planuri-vps), here you don't choose an operating system, and the plan can be changed only through support.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** any customer with a blackbox.md account (you must be signed in to order).\n\n## Plans and prices\n\n| Plan | CPU | RAM | Disk | Price |\n|---|---|---|---|---|\n| VPS hosting 1 | 2 Core | 4 GB | 50 GB SSD | 490 MDL/month |\n| VPS hosting 2, marked “Recomandat” (Recommended) | 4 Core | 8 GB | 100 GB SSD | 950 MDL/month |\n| VPS hosting 3 | 6 Core | 12 GB | 150 GB SSD | 1,460 MDL/month |\n\n- Prices are monthly, in MDL. Details: [Prices, currency and billing period](#comenzi.preturi).\n- The “VPS Popular” (Popular VPS) card at the top of the home page (shown on large screens, 950 MDL/month, with the “Comandă acum” (Order now) button) is the VPS hosting 2 plan. It opens the same order as the “Comandă” (Order) button on the VPS hosting 2 card.\n- Each card also shows the line “ispmanager 6”. Before you order, read the section about the control panel below.\n\n## How to order\n\nThese plans have no “Sistem de operare” (Operating system) step.\n\n1. On the home page, in the “VPS cu ispmanager” (VPS with ispmanager) section, click “Comandă” (Order) on the card of the plan you want.\n2. If you are not signed in, the sign-in page opens. After you sign in (or sign up), you return to the order automatically.\n3. If the “Date de facturare” (Billing details) step appears, choose the profile for the invoice and click “Continuă” (Continue). If you don't want to use a profile, select “Fără date de facturare” (No billing details) and click “Continuă fără date de facturare” (Continue without billing details). See [Billing details for companies and individuals](#plati.date-facturare).\n4. If the “Cheie SSH pentru server” (SSH key for the server) step appears, tick a key under “Chei salvate” (Saved keys) or paste one into “Sau lipiți o cheie publică SSH” (Or paste a public SSH key) and click “Continuă”. To go on without a key, click “Continuă fără cheie” (Continue without a key). See [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda).\n\n   When you add a key, the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) option is ticked automatically: the server will accept SSH connections only with the key. You can untick it before you continue.\n5. The message “Se plasează comanda…” (Placing your order…) appears. The order is created with the status “Nou” (New) and a number in the format `BBX-YYYY-NNNNNN`, you receive the email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…), and your browser opens the payment page.\n6. Pay for the order by card or from your balance: [Paying by card (Paynet)](#plati.plata-cu-cardul), [Paying for an order from your balance](#plati.plata-din-sold).\n\nIf “Eroare la plasarea comenzii” (Error placing the order) appears, see [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n> **Warning**\n> If no step is shown, the order is created as soon as the page opens, with the message “Se plasează comanda…”. Do not reload the page while you see this message, and do not click “Comandă” again: every retry creates one more “Nou” order. Cancel the extra orders: “Contul meu” (My account) → “Comenzi” (Orders) → “Anulează comanda” (Cancel the order) → “Da, anulează” (Yes, cancel).\n\n## The control panel: what to check\n\n- The cards and the section title mention ispmanager. However, when you order, you don't choose a control panel and you get no confirmation about it: which panel will be installed, how it is licensed, and how you will receive the login details. Ask support before you order. If you have not received the login details for the control panel after activation, ask support for them.\n- You don't choose the operating system: BLACKBOX decides the server image. The installed system is shown in the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email, on the “Sistem de operare” (Operating system) line.\n- This email contains the access details for the server: the IP address, the user `root` and the password. For a “key-only” server, instead of the password, the email says that you connect with your SSH key. The login details for the control panel are not in this email.\n- The control panel on the server is not the app.blackbox.md panel, where you manage the server: the root password, reboots, deletion.\n\n> **Important**\n> Don't count on a particular control panel or license until support confirms them. Contacts: [How to contact BLACKBOX support](#suport.contact).\n\n## Changing the plan\n\nYou can't change a “VPS hosting” plan from the panel. In the app.blackbox.md panel, under “My Servers”, the server card shows the code `vps-hosting-1`, `vps-hosting-2` or `vps-hosting-3` next to “Plan”. If you click “Upgrade”, the “Upgrade server” window does not offer other plans; instead, it shows the message “This server's plan can't be upgraded this way — contact support.”\n\nTo switch to another plan, write to support and include the order number (`BBX-…`) and the plan you want. The panel upgrade described in [Server upgrade: moving to a larger plan](#servere.upgrade) works only for the VPS plans.\n\n## Everything else works as for the VPS plans\n\n- activation and emails: [After payment: server activation and emails](#comenzi.dupa-plata);\n- the root password: [Showing root credentials](#acces.afisare-date-acces), [Resetting the root password](#acces.resetare-parola-root);\n- starting and stopping: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire);\n- monthly renewal: [Monthly renewal and paying on time](#plati.reinnoire-lunara);\n- cancellation and deletion: [Order cancellation and refunds](#plati.anulare-si-rambursare), [Permanently deleting a server](#servere.stergere-server).\n\n## Frequently asked questions\n\n**How are these different from the plans on `blackbox.md/servers/plans`?**\nThere you choose one of the 21 VPS plans and the operating system, from a list that contains no control panels, and you upgrade from the panel. The “VPS hosting” plans are ordered without choosing a system, and the plan can be changed only through support.\n\n**Are the “VPS + ispmanager” and “VPS + Hestia” pages in the “Găzduire” (Hosting) menu the same plans?**\nNo. They are information pages, and their “Vezi planurile VPS” (See VPS plans) button opens the regular VPS plans. The VPS hosting 1–3 plans are ordered from the “VPS cu ispmanager” (VPS with ispmanager) section on the home page.\n\n**I have two “Nou” (New) orders for the same plan. Will I pay twice?**\nNo, unless you pay for both of them. Each order is paid separately, from its own payment page, and nothing is charged automatically for an unpaid order. Cancel the extra one in “Comenzi” (Orders): the confirmation reads “Comanda nu a fost achitată, deci nu se efectuează nicio returnare. Acțiunea nu poate fi anulată.” (The order has not been paid, so no refund is made. This action cannot be undone.) Click “Da, anulează” (Yes, cancel).\n"
   }
  },
  {
   "id": "comenzi.servere-dedicate",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/servere-dedicate/",
    "ru": "https://docs.blackbox.md/ru/comenzi/servere-dedicate/",
    "en": "https://docs.blackbox.md/en/comenzi/servere-dedicate/"
   },
   "title": {
    "ro": "Servere dedicate",
    "ru": "Выделенные серверы",
    "en": "Dedicated servers"
   },
   "summary": {
    "ro": "Configurațiile Light, Premium și Storage, prețurile și cum sunt pregătite manual de echipa noastră.",
    "ru": "Конфигурации Light, Premium и Storage, цены и как наша команда готовит их вручную.",
    "en": "The Light, Premium and Storage configurations, their prices and how our team prepares them manually."
   },
   "markdown": {
    "ro": "Un server dedicat este un server fizic rezervat numai pentru dvs.: procesorul, memoria și discurile nu sunt împărțite cu alți clienți. Cele trei configurații sunt pe pagina principală `blackbox.md`, în secțiunea „Servere dedicate” (`blackbox.md/#pricing-dedicated`), și se comandă cu butonul „Comandă” de pe card. Spre deosebire de planurile VPS, serverele dedicate sunt pregătite manual de echipa noastră.\n\n**Disponibil pentru:** titularul contului blackbox.md. Pentru a comanda trebuie să fiți autentificat.\n\n## Configurațiile și prețurile\n\nSecțiunea „Servere dedicate” (supratitlul „Performanță maximă”) are trei carduri. Prețurile sunt în MDL pe lună și se plătesc în avans.\n\n| Plan | Procesor | Memorie | Discuri | Trafic | Preț |\n|---|---|---|---|---|---|\n| Light | Intel Xeon E3-1230 v3 | 16 GB RAM DDR4 | 2 × 500 GB SSD | 10 TB | 1 670 MDL/lună |\n| Premium („Recomandat”) | Intel Xeon E5-2680 v4 | 64 GB RAM DDR4 | 2 × 960 GB SSD NVMe | nelimitat | 6 240 MDL/lună |\n| Storage | două procesoare Intel Xeon E5-2680 v4 (pe card: „Intel Xeon E5-2680 v4 ×2”) | 128 GB RAM DDR4 | 12 × 4 TB HDD + SSD Cache | nelimitat | 13 350 MDL/lună |\n\nPe carduri, traficul este scris în engleză: „10 TB Traffic” și „Unlim Traffic”. Planul Storage are 12 discuri HDD de 4 TB și un cache pe SSD. Despre monedă și perioada de plată: [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n\n## Cum comandați un server dedicat\n\n1. Deschideți `blackbox.md`, derulați până la secțiunea „Servere dedicate” și apăsați „Comandă” pe cardul ales. Se deschide pagina comenzii: `blackbox.md/checkout/plan/dedicated-light`, `dedicated-premium` sau `dedicated-storage`.\n2. Dacă nu sunteți autentificat, se deschide pagina de autentificare. După autentificare sau înregistrare reveniți automat la comandă.\n3. La pasul „Date de facturare”, alegeți profilul salvat (companie sau date personale) care va apărea pe factură și apăsați „Continuă”. Profilul implicit, dacă îl aveți, este deja selectat. Dacă nu doriți date pe factură, alegeți „Fără date de facturare” și apăsați „Continuă fără date de facturare”.\n4. La pasul „Cheie SSH pentru server”, alegeți o cheie salvată sau lipiți o cheie publică SSH și apăsați „Continuă”. Dacă nu doriți să atașați o cheie, apăsați „Continuă fără cheie”. Cheia se salvează în comandă; modul de acces la serverul dedicat îl stabiliți definitiv cu echipa.\n5. Comanda se creează (mesajul „Se plasează comanda…”) și se deschide pagina de plată.\n\nComanda unui server dedicat nu are pasul „Sistem de operare”: sistemul îl stabiliți cu echipa după comandă. Dacă pașii 3 și 4 nu apar, comanda se creează imediat ce se deschide pagina. Nu reîncărcați pagina cât timp vedeți „Se plasează comanda…”: puteți crea o comandă duplicat. Dacă folosiți site-ul în rusă, pagina de autentificare și pagina de plată se pot deschide în română.\n\nRezultatul:\n\n- comanda primește numărul `BBX-YYYY-NNNNNN` și statusul „Nou” în „Comenzi”;\n- primiți emailul „Am primit solicitarea dumneavoastră — BBX-…”; la „Serviciu” scrie, de exemplu, „dedicated — Premium”.\n\nToți pașii, în detaliu: [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n\n## Cum plătiți\n\nPe pagina de plată bifați „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”, apoi alegeți metoda:\n\n| Metodă | Cum | Detalii |\n|---|---|---|\n| Card (Visa, Mastercard) | butonul „Achitați X MDL” vă duce la pagina Paynet | [Plata cu cardul (Paynet)](#plati.plata-cu-cardul) |\n| Sold | butonul „Achitați din sold (Disponibil în sold: X MDL)”, afișat doar când soldul acoperă toată suma | [Plata unei comenzi din sold](#plati.plata-din-sold) |\n| Transfer bancar | lăsați comanda în statusul „Nou” și scrieți-ne că doriți să o achitați prin transfer; comanda este considerată achitată după ce echipa confirmă primirea banilor | [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar) |\n\nPuteți plăti și mai târziu: „Contul meu” → „Comenzi” → „Achită comanda”.\n\n## Cum este pregătit serverul\n\n> **Important**\n> Serverele dedicate nu se activează automat după plată. Echipa le pregătește manual, pe hardware dedicat, și vă contactează.\n\n- După plată, comanda trece în statusul „În lucru”, iar pe email primiți „Plată confirmată — BBX-…”, cu factura PDF atașată.\n- Echipa vă contactează la adresa de email sau la numărul de telefon din comandă, ca să stabiliți împreună sistemul de operare, termenul de livrare și datele de acces.\n\n> **Sfat**\n> Completați numele și telefonul în „Contul meu” → „Profil” înainte de a comanda. Pagina comenzii nu are formular de contact: numele, emailul și telefonul se preiau din profil. Vedeți [Profilul meu: nume, telefon și email](#cont.profil).\n\n## Modificări după livrare\n\nFuncțiile automate ale panoului app.blackbox.md sunt destinate serverelor VPS. De exemplu, „Upgrade server” nu se aplică serverelor dedicate. Orice modificare a configurației unui server dedicat se face prin suport: scrieți-ne ce doriți să schimbați și indicați numărul comenzii.\n\n## Configurații personalizate și mai multe servere\n\nDacă aveți nevoie de alt hardware decât cel de pe cele trei carduri sau de mai multe servere, nu plasați comanda online. Scrieți-ne cerințele:\n\n- procesorul, memoria, discurile și traficul de care aveți nevoie;\n- sistemul de operare;\n- numărul de servere;\n- datele companiei pentru factură, dacă e cazul.\n\nPrețul, condițiile și termenul de livrare vi le confirmăm în ofertă. Scrieți-ne printr-un tichet („Contul meu” → „Ajutor și suport”) sau la support@blackbox.md; toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact). Alte produse care se comandă prin suport: [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere).\n\n## Plata lunară și anularea\n\nPentru serverele dedicate se aplică aceleași reguli de plată și de anulare ca la celelalte comenzi: [Metode de plată acceptate](#plati.metode-de-plata), [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara), [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Întrebări frecvente\n\n**Cât durează pregătirea unui server dedicat?**\nServerul se pregătește manual, așa că nu are un termen de activare automat. Echipa vă comunică termenul de livrare; dacă nu ați fost contactat, scrieți-ne cu numărul comenzii.\n\n**Pot alege centrul de date?**\nComanda online nu include alegerea locației. Dacă aveți cerințe privind locația, scrieți-ne înainte de a comanda.\n\n**Când aleg un VPS în loc de un server dedicat?**\nUn VPS se creează automat, de regulă în câteva minute după confirmarea plății. Sistemul de operare îl alegeți la comandă, iar upgrade-ul îl faceți din panou. Un server dedicat vă oferă un server fizic întreg, dar se pregătește manual. Vedeți [Planurile VPS: cum alegeți](#comenzi.planuri-vps).\n",
    "ru": "Выделенный сервер — это физический сервер, которым пользуетесь только вы: процессор, память и диски не делятся с другими клиентами. Три конфигурации представлены на главной странице `blackbox.md` в разделе «Выделенные серверы» (`blackbox.md/ru#pricing-dedicated`), заказать их можно кнопкой «Заказать» на карточке. В отличие от тарифов VPS, выделенные серверы наша команда готовит вручную.\n\n**Доступно:** владельцу аккаунта blackbox.md. Чтобы оформить заказ, нужно войти в аккаунт.\n\n## Конфигурации и цены\n\nВ разделе «Выделенные серверы» (надзаголовок «Максимальная производительность») три карточки. Цены указаны в MDL за месяц, оплата вносится вперёд.\n\n| Тариф | Процессор | Память | Диски | Трафик | Цена |\n|---|---|---|---|---|---|\n| Light | Intel Xeon E3-1230 v3 | 16 GB RAM DDR4 | 2 × 500 GB SSD | 10 TB | 1 670 MDL/мес. |\n| Premium («Рекомендуем») | Intel Xeon E5-2680 v4 | 64 GB RAM DDR4 | 2 × 960 GB SSD NVMe | безлимитный | 6 240 MDL/мес. |\n| Storage | два процессора Intel Xeon E5-2680 v4 (на карточке: «Intel Xeon E5-2680 v4 ×2») | 128 GB RAM DDR4 | 12 × 4 TB HDD + SSD Cache | безлимитный | 13 350 MDL/мес. |\n\nНа карточках трафик подписан по-английски: «10 TB Traffic» и «Unlim Traffic». В тарифе Storage — 12 жёстких дисков по 4 TB и кеш на SSD. О валюте и периоде оплаты: [Цены, валюта и период оплаты](#comenzi.preturi).\n\n## Как заказать выделенный сервер\n\n1. Откройте `blackbox.md/ru`, прокрутите страницу до раздела «Выделенные серверы» и нажмите «Заказать» на нужной карточке. Откроется страница заказа: `blackbox.md/ru/checkout/plan/dedicated-light`, `dedicated-premium` или `dedicated-storage`.\n2. Если вы не вошли в аккаунт, откроется страница входа. После входа или регистрации вы автоматически вернётесь к заказу.\n3. На шаге «Реквизиты для счёта» выберите сохранённый профиль (компания или личные данные), который будет указан в счёте, и нажмите «Продолжить». Профиль по умолчанию, если он у вас есть, уже выбран. Если реквизиты в счёте не нужны, выберите «Без реквизитов» и нажмите «Продолжить без реквизитов».\n4. На шаге «SSH-ключ для сервера» выберите сохранённый ключ или вставьте публичный SSH-ключ и нажмите «Продолжить». Если ключ прикреплять не нужно, нажмите «Продолжить без ключа». Ключ сохраняется в заказе, а способ доступа к выделенному серверу вы окончательно согласуете с командой.\n5. Заказ создаётся (сообщение «Оформляем заказ…»), и открывается страница оплаты.\n\nШага «Операционная система» в заказе выделенного сервера нет: систему вы согласуете с командой после заказа. Если шаги 3 и 4 не показаны, заказ создаётся сразу при открытии страницы. Не обновляйте страницу, пока видите «Оформляем заказ…»: может появиться повторный заказ. Страница входа и страница оплаты могут открыться на румынском, даже если вы пользуетесь русской версией сайта.\n\nЧто вы получите:\n\n- заказ с номером `BBX-YYYY-NNNNNN` и статусом «Новый» в разделе «Заказы»;\n- письмо «Am primit solicitarea dumneavoastră — BBX-…» (тема письма всегда на румынском); в строке «Услуга» указано, например, «dedicated — Premium».\n\nВсе шаги подробно: [Оформление заказа по шагам](#comenzi.plasare-comanda).\n\n## Как оплатить\n\nНа странице оплаты отметьте «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» и выберите способ:\n\n| Способ | Как | Подробнее |\n|---|---|---|\n| Карта (Visa, Mastercard) | кнопка «Оплатить X MDL» ведёт на страницу Paynet | [Оплата картой (Paynet)](#plati.plata-cu-cardul) |\n| Баланс | кнопка «Оплатить с баланса (Доступно на балансе: X MDL)»; она видна, только если баланса хватает на всю сумму | [Оплата заказа с баланса](#plati.plata-din-sold) |\n| Банковский перевод | оставьте заказ в статусе «Новый» и напишите нам, что хотите оплатить его переводом; заказ считается оплаченным, когда команда подтвердит поступление денег | [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar) |\n\nОплатить можно и позже: «Мой аккаунт» → «Заказы» → «Оплатить заказ».\n\n## Как готовится сервер\n\n> **Важно**\n> Выделенный сервер не активируется автоматически после оплаты. Команда готовит его вручную на выделенном оборудовании и связывается с вами.\n\n- После оплаты статус заказа меняется на «В работе», а на email приходит письмо «Plată confirmată — BBX-…» с PDF-счётом во вложении.\n- Команда связывается с вами по email или телефону, указанным в заказе, чтобы согласовать операционную систему, срок передачи сервера и данные для доступа.\n\n> **Совет**\n> Заполните имя и телефон в разделе «Мой аккаунт» → «Профиль» до оформления заказа. На странице заказа нет формы контактов: имя, email и телефон берутся из профиля. См. [Мой профиль: имя, телефон и email](#cont.profil).\n\n## Изменения после передачи сервера\n\nАвтоматические функции панели app.blackbox.md рассчитаны на серверы VPS. Например, «Апгрейд сервера» к выделенным серверам не применяется. Любые изменения конфигурации выделенного сервера выполняются через поддержку: напишите, что нужно изменить, и укажите номер заказа.\n\n## Нестандартные конфигурации и несколько серверов\n\nЕсли вам нужно оборудование, которого нет на трёх карточках, или сразу несколько серверов, не оформляйте заказ на сайте. Напишите нам свои требования:\n\n- процессор, память, диски и трафик;\n- операционная система;\n- количество серверов;\n- реквизиты компании для счёта, если нужны.\n\nЦену, условия и срок передачи сервера мы подтвердим в коммерческом предложении. Напишите нам через тикет («Мой аккаунт» → «Помощь и поддержка») или на support@blackbox.md; все каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact). Другие продукты, которые заказываются через поддержку: [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere).\n\n## Ежемесячная оплата и отмена\n\nДля выделенных серверов действуют те же правила оплаты и отмены, что и для остальных заказов: [Принимаемые способы оплаты](#plati.metode-de-plata), [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara), [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Частые вопросы\n\n**Сколько времени занимает подготовка выделенного сервера?**\nСервер готовится вручную, поэтому автоматического срока активации нет. Срок передачи сообщит команда; если с вами не связались, напишите нам и укажите номер заказа.\n\n**Можно ли выбрать дата-центр?**\nПри заказе на сайте дата-центр выбрать нельзя. Если у вас есть требования к расположению сервера, напишите нам до оформления заказа.\n\n**Когда лучше выбрать VPS, а не выделенный сервер?**\nVPS создаётся автоматически, обычно в течение нескольких минут после подтверждения оплаты. Операционную систему вы выбираете при заказе, а апгрейд делаете в панели. Выделенный сервер даёт вам целый физический сервер, но готовится вручную. См. [Тарифы VPS: как выбрать](#comenzi.planuri-vps).\n",
    "en": "A dedicated server is a physical server reserved for you alone: its processor, memory and disks are not shared with other customers. The three configurations are on the `blackbox.md` home page, in the “Servere dedicate” (Dedicated servers) section (`blackbox.md/#pricing-dedicated`), and you order one with the “Comandă” (Order) button on its card. Unlike VPS plans, dedicated servers are prepared manually by our team.\n\n**Available to:** the blackbox.md account holder. You need to be signed in to place an order.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Configurations and prices\n\nThe “Servere dedicate” (Dedicated servers) section has three cards; the line above the section title reads “Performanță maximă” (Maximum performance). Prices are in MDL per month and are paid in advance.\n\n| Plan | Processor | Memory | Disks | Traffic | Price |\n|---|---|---|---|---|---|\n| Light | Intel Xeon E3-1230 v3 | 16 GB RAM DDR4 | 2 × 500 GB SSD | 10 TB | 1,670 MDL/month |\n| Premium, marked “Recomandat” (Recommended) | Intel Xeon E5-2680 v4 | 64 GB RAM DDR4 | 2 × 960 GB SSD NVMe | unlimited | 6,240 MDL/month |\n| Storage | two Intel Xeon E5-2680 v4 processors (on the card: “Intel Xeon E5-2680 v4 ×2”) | 128 GB RAM DDR4 | 12 × 4 TB HDD + SSD Cache | unlimited | 13,350 MDL/month |\n\nOn the cards, traffic is written in English: “10 TB Traffic” and “Unlim Traffic”. The Storage plan has 12 HDDs of 4 TB each and an SSD cache. For the currency and the payment period, see [Prices, currency and billing period](#comenzi.preturi).\n\n## How to order a dedicated server\n\n1. Open `blackbox.md`, scroll down to the “Servere dedicate” (Dedicated servers) section and click “Comandă” (Order) on the card you want. The order page opens: `blackbox.md/checkout/plan/dedicated-light`, `dedicated-premium` or `dedicated-storage`.\n2. If you are not signed in, the sign-in page opens. After you sign in or sign up, you are taken back to your order automatically.\n3. At the “Date de facturare” (Billing details) step, choose the saved profile (company or personal details) that will appear on the invoice and click “Continuă” (Continue). Your default profile, if you have one, is already selected. If you do not want any details on the invoice, choose “Fără date de facturare” (No billing details) and click “Continuă fără date de facturare” (Continue without billing details).\n4. At the “Cheie SSH pentru server” (SSH key for the server) step, choose a saved key or paste a public SSH key and click “Continuă”. If you do not want to attach a key, click “Continuă fără cheie” (Continue without a key). The key is saved with the order; you and the team agree on the final way to access your dedicated server.\n5. The order is created (you see the message “Se plasează comanda…” (Placing your order…)) and the payment page opens.\n\nThere is no “Sistem de operare” (Operating system) step when you order a dedicated server: you agree on the operating system with the team after you order. If steps 3 and 4 do not appear, the order is created as soon as the page opens. Do not reload the page while you see “Se plasează comanda…”: you could create a duplicate order. If you use the website in Russian, the sign-in page and the payment page may open in Romanian.\n\nWhat you get:\n\n- your order receives a number in the form `BBX-YYYY-NNNNNN` and the status “Nou” (New) in “Comenzi” (Orders);\n- you receive the email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…); its “Serviciu” (Service) line reads, for example, “dedicated — Premium”.\n\nAll the steps in detail: [Placing an order step by step](#comenzi.plasare-comanda).\n\n## How to pay\n\nOn the payment page, check the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy), then choose a method:\n\n| Method | How | Details |\n|---|---|---|\n| Card (Visa, Mastercard) | the “Achitați X MDL” (Pay X MDL) button takes you to the Paynet page | [Paying by card (Paynet)](#plati.plata-cu-cardul) |\n| Balance | the “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)) button, shown only when your balance covers the full amount | [Paying for an order from your balance](#plati.plata-din-sold) |\n| Bank transfer | leave the order in the “Nou” (New) status and write to us that you want to pay it by bank transfer; the order counts as paid once the team confirms that the money has arrived | [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar) |\n\nYou can also pay later: “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order).\n\n## How the server is prepared\n\n> **Important**\n> Dedicated servers are not activated automatically after payment. The team prepares them manually, on dedicated hardware, and contacts you.\n\n- After payment, the order moves to the “În lucru” (In progress) status, and you receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) with the PDF invoice attached.\n- The team contacts you at the email address or phone number in the order to agree with you on the operating system, the delivery time and the access details.\n\n> **Tip**\n> Fill in your name and phone number under “Contul meu” (My account) → “Profil” (Profile) before you order. The order page has no contact form: your name, email and phone number are taken from your profile. See [My profile: name, phone number and email](#cont.profil).\n\n## Changes after delivery\n\nThe automatic features of the app.blackbox.md panel are designed for VPS servers. For example, “Upgrade server” does not apply to dedicated servers. Any change to the configuration of a dedicated server is made through support: write to us what you want to change and include your order number.\n\n## Custom configurations and multiple servers\n\nIf you need hardware other than what the three cards offer, or several servers, do not place the order online. Send us your requirements:\n\n- the processor, memory, disks and traffic you need;\n- the operating system;\n- the number of servers;\n- your company details for the invoice, if applicable.\n\nWe confirm the price, terms and delivery time in our offer. Write to us in a support ticket (“Contul meu” (My account) → “Ajutor și suport” (Help and support)) or at support@blackbox.md; all channels: [How to contact BLACKBOX support](#suport.contact). Other products you order through support: [Products and configurations available on request](#comenzi.produse-la-cerere).\n\n## Monthly payment and cancellation\n\nDedicated servers follow the same payment and cancellation rules as all other orders: [Accepted payment methods](#plati.metode-de-plata), [Monthly renewal and paying on time](#plati.reinnoire-lunara), [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Frequently asked questions\n\n**How long does it take to prepare a dedicated server?**\nThe server is prepared manually, so there is no automatic activation time. The team tells you the delivery time; if no one has contacted you, write to us with your order number.\n\n**Can I choose the data center?**\nThe online order does not include a choice of location. If you have location requirements, write to us before you order.\n\n**When should I choose a VPS instead of a dedicated server?**\nA VPS is created automatically, usually within a few minutes after the payment is confirmed. You choose the operating system when you order, and you upgrade it from the panel. A dedicated server gives you an entire physical server, but it is prepared manually. See [VPS plans: how to choose](#comenzi.planuri-vps).\n"
   }
  },
  {
   "id": "comenzi.sisteme-operare",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/sisteme-operare/",
    "ru": "https://docs.blackbox.md/ru/comenzi/sisteme-operare/",
    "en": "https://docs.blackbox.md/en/comenzi/sisteme-operare/"
   },
   "title": {
    "ro": "Sistemele de operare disponibile",
    "ru": "Доступные операционные системы",
    "en": "Available operating systems"
   },
   "summary": {
    "ro": "Cele 7 imagini Linux pe care le puteți alege la comandă, diferențele dintre ele și ce faceți dacă aveți nevoie de altceva.",
    "ru": "7 образов Linux, которые можно выбрать при заказе, их различия и что делать, если нужна другая ОС.",
    "en": "The 7 Linux images you can choose when you order, how they differ, and what to do if you need something else."
   },
   "markdown": {
    "ro": "Sistemul de operare se alege la primul pas al comenzii unui plan VPS, pe ecranul „Sistem de operare”. Ajungeți la el când apăsați „Comandă” pe un card din pagina „Planuri VPS” (`blackbox.md/servers/plans`) sau din secțiunea „Servere virtuale” de pe prima pagină. Serverul este livrat cu sistemul ales gata instalat.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md, la comanda unui plan VPS. Planurile „VPS hosting” și serverele dedicate nu au acest pas.\n\n## Cele 7 sisteme din listă\n\n| Sistem | Familie | Pe scurt |\n|---|---|---|\n| Ubuntu 24.04 LTS | bazat pe Debian | Selectat implicit. Cea mai nouă versiune Ubuntu din listă, recomandată pentru proiecte noi. |\n| Ubuntu 22.04 LTS | bazat pe Debian | Versiunea LTS anterioară. Pentru aplicații care cer 22.04. |\n| Ubuntu 20.04 LTS | bazat pe Debian | Versiune veche. Doar pentru aplicații care nu rulează pe versiuni mai noi. |\n| Debian 12 | Debian | Cea mai nouă versiune Debian din listă. Sistem stabil și minimalist. |\n| Debian 11 | Debian | Versiune veche. Doar pentru compatibilitate. |\n| CentOS Stream 9 | compatibil RHEL | Ramura din care se dezvoltă Red Hat Enterprise Linux (RHEL): primește modificările înaintea RHEL și are suport mai scurt decât AlmaLinux 9. Potrivit mai ales pentru teste. |\n| AlmaLinux 9 | compatibil RHEL | Compatibil cu RHEL, cu suport pe termen lung. Pentru software scris pentru RHEL sau CentOS. |\n\nLTS (Long Term Support) înseamnă o versiune cu suport extins de la dezvoltator. Ubuntu 20.04 LTS și Debian 11 sunt versiuni vechi: perioada lor de suport standard s-a încheiat. Pentru un server pe care îl veți folosi mulți ani, alegeți o versiune nouă. Termenele de suport le publică dezvoltatorii: [ciclul de lansări Ubuntu](https://ubuntu.com/about/release-cycle) și [versiunile Debian](https://www.debian.org/releases/).\n\nToate imaginile sunt pentru servere: fără interfață grafică și fără panou de control. Vă conectați ca `root` prin SSH, pe portul 22; detalii în [Serverul nou: ce primiți și primii pași](#servere.server-nou).\n\n## Cum alegeți sistemul la comandă\n\n1. Apăsați „Planuri VPS” în bara de sus și apoi „Comandă” pe planul dorit.\n2. Dacă nu sunteți autentificat, ajungeți pe pagina de autentificare. După autentificare sau înregistrare reveniți automat la comandă.\n3. Pe ecranul „Sistem de operare” („Alegeți sistemul de operare cu care serverul va fi livrat gata instalat.”) selectați unul dintre cele 7 sisteme. „Ubuntu 24.04 LTS” este selectat de la început.\n4. Apăsați „Continuă”.\n5. Urmează pașii „Date de facturare” și „Cheie SSH pentru server”; pe amândoi îi puteți omite. Comanda se creează abia după ultimul pas, apoi se deschide pagina de plată. Pașii următori sunt în [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n\nPasul „Sistem de operare” nu poate fi omis: o comandă VPS conține întotdeauna sistemul ales. Dacă vă răzgândiți la un pas următor, reîncărcați pagina. Comanda nu a fost încă creată, iar pagina revine la „Sistem de operare”.\n\n> **Sfat**\n> Dacă nu aveți o cerință anume, lăsați „Ubuntu 24.04 LTS”. Pentru software scris pentru RHEL sau CentOS, alegeți „AlmaLinux 9”.\n\n## Diferențele dintre familii\n\n| | Ubuntu și Debian | AlmaLinux 9 și CentOS Stream 9 |\n|---|---|---|\n| Familie | bazate pe Debian | compatibile RHEL |\n| Manager de pachete | `apt` (pachete `.deb`) | `dnf` (pachete `.rpm`) |\n| Firewall-ul sistemului | `ufw` (pe Debian poate lipsi și se instalează cu `apt`) | `firewalld` (poate lipsi și se instalează cu `dnf`) |\n| Serviciul SSH | `ssh` | `sshd` |\n| SELinux | nu (se folosește AppArmor) | activ implicit |\n| Pachete suplimentare | depozitele oficiale ale distribuției | multe vin din depozitul EPEL (de exemplu fail2ban) |\n| Pachetul Apache | `apache2` | `httpd` |\n\nFirewall-ul sistemului (ufw sau firewalld) este inactiv pe un server nou. Separat, traficul care intră spre server trece prin filtrarea din rețea, administrată de BLACKBOX. Înainte să porniți firewall-ul, citiți [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall). Dacă o aplicație instalată de dvs. este blocată pe AlmaLinux sau CentOS Stream fără motiv aparent, căutați în documentația aplicației setările pentru SELinux; nu dezactivați SELinux.\n\nNumele serviciului SSH diferă de la o familie la alta. După o modificare a configurării SSH, comanda de mai jos reîncarcă serviciul pe oricare dintre sisteme. Înainte de modificare, păstrați deschisă o a doua sesiune SSH: nu există consolă web, iar dacă pierdeți accesul trebuie să scrieți suportului.\n\n```bash\nsystemctl reload ssh || systemctl reload sshd\n```\n\nMai jos sunt comenzile de bază pentru fiecare familie. Actualizările automate sunt descrise în [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate).\n\n### Ubuntu și Debian\n\nVerificați versiunea și actualizați sistemul:\n\n```bash\ncat /etc/os-release\napt update\napt upgrade -y\n```\n\n### AlmaLinux și CentOS Stream\n\nVerificați versiunea, actualizați sistemul și vedeți modul SELinux (`Enforcing` înseamnă activ):\n\n```bash\ncat /etc/os-release\ndnf upgrade -y\ngetenforce\n```\n\n## Sisteme care nu pot fi comandate online\n\n| Ce vă trebuie | Situația | Ce faceți |\n|---|---|---|\n| Windows Server | Nu se instalează automat. Windows VPS este disponibil doar la cerere. | Pe pagina „Windows VPS” (`blackbox.md/servers/windows-vps`) apăsați „Cere un Windows VPS” sau scrieți-ne. Detalii în [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere). |\n| Rocky Linux | Nu poate fi comandat online. | Alegeți AlmaLinux 9, care este tot compatibil RHEL. |\n| openSUSE | Nu poate fi comandat online. | Alegeți un sistem din listă sau scrieți-ne. |\n| Panou de control (Hestia, ispmanager etc.) | Nu face parte din lista de sisteme: serverul VPS se livrează fără panou. | Instalați dvs. un panou pe server sau vedeți [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou). |\n| Altă distribuție sau versiune | Online se pot comanda doar cele 7 sisteme din listă. | Scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). |\n\nDacă o comandă cere totuși un sistem din afara listei, comanda nu se creează. Apare ecranul „Eroare la plasarea comenzii” cu mesajul „Sistemul de operare ales nu poate fi instalat automat. Alegeți altul din listă.” Butonul „Încearcă din nou” trimite aceeași cerere și primește aceeași eroare. Reîncărcați pagina, care revine la pasul „Sistem de operare”, și alegeți un sistem din listă. Butonul „Înapoi la prețuri” vă duce pe prima pagină. Celelalte erori sunt în [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n## Planurile fără alegerea sistemului\n\n- **„VPS hosting” (VPS hosting 1, 2 și 3):** nu au pasul „Sistem de operare”, iar imaginea serverului o stabilește BLACKBOX. Înainte de a comanda, întrebați suportul ce panou de control veți primi. Detalii în [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n- **Servere dedicate (Light, Premium, Storage):** nu au pasul „Sistem de operare”. Echipa vă contactează după comandă pentru a stabili sistemul de operare. Detalii în [Servere dedicate](#comenzi.servere-dedicate).\n\n## Unde vedeți sistemul unui server\n\n- **„Contul meu” → „Comenzi”**, coloana „Descriere”: de exemplu „Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. Același text apare la rândul „Serviciu” din emailul „Am primit solicitarea dumneavoastră — BBX-…”.\n- **Emailul „Serverul dvs. este gata — BBX-…”**, la rândul „Sistem de operare”.\n- **Pe server**, cu prima comandă din secțiunile de mai sus.\n\nCardul serverului din „Serverele mele” (panoul app.blackbox.md) nu afișează sistemul de operare.\n\n## Schimbarea sau reinstalarea sistemului\n\nPanoul nu are buton de reinstalare sau de schimbare a sistemului, iar upgrade-ul păstrează sistemul existent.\n\n- **Comanda nu este achitată:** în „Contul meu” → „Comenzi”, folosiți „Anulează comanda” pe rândul comenzii și plasați o comandă nouă. Vedeți [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n- **Comanda este achitată:** regulile de anulare sunt în [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n- **Serverul funcționează deja:** cereți reinstalarea la suport, printr-un tichet ([Deschiderea unui tichet de suport](#suport.tichet-nou)). Indicați numărul comenzii `BBX-…`, adresa IP și sistemul dorit.\n\nO altă variantă: comandați un server nou cu sistemul dorit, mutați datele ([Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site)), apoi ștergeți serverul vechi ([Ștergerea definitivă a unui server](#servere.stergere-server)). Ștergerea nu rambursează suma plătită.\n\n> **Ireversibil**\n> La reinstalare, toate datele de pe server se pierd: fișiere, baze de date și setări. Faceți înainte o copie a datelor; vedeți [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## Întrebări frecvente\n\n**De ce în email numele sistemului arată puțin diferit?**\nEmailul „Serverul dvs. este gata” afișează numele imaginii instalate, de exemplu „Alma Linux 9” sau „CentOS 9 Stream”. Este același sistem pe care l-ați ales.\n\n**Serverul are interfață grafică?**\nNu. Imaginile nu au interfață grafică și nu există consolă web. Serverul se administrează prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**Se schimbă sistemul la upgrade?**\nNu. Upgrade-ul mărește resursele și păstrează sistemul, datele și adresa IP. Vedeți [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n**Pot alege sistemul când comand prin asistentul AI?**\nDa, la planurile VPS: aceleași 7 sisteme, cu codurile `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` și `almalinux-9`. Un sistem din afara listei (de exemplu Windows sau Rocky Linux) este refuzat cu eroarea `unsupported_os`. Precizați întotdeauna sistemul: fără el se instalează automat o versiune Ubuntu LTS, nu neapărat 24.04. Vedeți [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n",
    "ru": "Операционная система выбирается на первом шаге заказа тарифа VPS — на экране «Операционная система». Он открывается, когда вы нажимаете «Заказать» на карточке тарифа на странице «Тарифы VPS» (`blackbox.md/servers/plans`) или в разделе «Виртуальные серверы» на главной странице. Вы получаете сервер с уже установленной выбранной системой.\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md, при заказе тарифа VPS. У тарифов «VPS hosting» и выделенных серверов этого шага нет.\n\n## 7 систем в списке\n\n| Система | Семейство | Коротко |\n|---|---|---|\n| Ubuntu 24.04 LTS | на базе Debian | Выбрана по умолчанию. Самая новая версия Ubuntu в списке, рекомендуется для новых проектов. |\n| Ubuntu 22.04 LTS | на базе Debian | Предыдущая версия LTS. Для приложений, которым нужна именно 22.04. |\n| Ubuntu 20.04 LTS | на базе Debian | Старая версия. Только для приложений, которые не работают на более новых. |\n| Debian 12 | Debian | Самая новая версия Debian в списке. Стабильная и минималистичная система. |\n| Debian 11 | Debian | Старая версия. Только для совместимости. |\n| CentOS Stream 9 | совместима с RHEL | Ветка, на основе которой разрабатывается Red Hat Enterprise Linux (RHEL): изменения попадают в неё раньше, чем в RHEL, а срок поддержки короче, чем у AlmaLinux 9. Подходит в основном для тестов. |\n| AlmaLinux 9 | совместима с RHEL | Совместима с RHEL, с долгосрочной поддержкой. Для ПО, написанного под RHEL или CentOS. |\n\nLTS (Long Term Support) — версия с расширенной поддержкой от разработчика. Ubuntu 20.04 LTS и Debian 11 — старые версии: стандартный срок их поддержки закончился. Для сервера, которым вы будете пользоваться много лет, выбирайте новую версию. Сроки поддержки публикуют сами разработчики: [жизненный цикл выпусков Ubuntu](https://ubuntu.com/about/release-cycle) и [выпуски Debian](https://www.debian.org/releases/).\n\nВсе образы серверные: без графического интерфейса и без панели управления. Вы подключаетесь как `root` по SSH, порт 22; подробнее — в статье [Новый сервер: что вы получаете и первые шаги](#servere.server-nou).\n\n## Как выбрать систему при заказе\n\n1. Нажмите «Тарифы VPS» в верхнем меню, затем «Заказать» на нужном тарифе.\n2. Если вы не вошли в аккаунт, откроется страница входа. После входа или регистрации вы автоматически вернётесь к заказу.\n3. На экране «Операционная система» («Выберите операционную систему, с которой сервер будет установлен.») выберите одну из 7 систем. «Ubuntu 24.04 LTS» выбрана заранее.\n4. Нажмите «Продолжить».\n5. Далее идут шаги «Реквизиты для счёта» и «SSH-ключ для сервера»; оба можно пропустить. Заказ создаётся только после последнего шага, затем открывается страница оплаты. Следующие шаги описаны в статье [Оформление заказа по шагам](#comenzi.plasare-comanda).\n\nШаг «Операционная система» пропустить нельзя: в заказе VPS всегда указана выбранная система. Если вы передумали на одном из следующих шагов, обновите страницу. Заказ ещё не создан, и страница вернётся к шагу «Операционная система».\n\n> **Совет**\n> Если особых требований нет, оставьте «Ubuntu 24.04 LTS». Для ПО, написанного под RHEL или CentOS, выберите «AlmaLinux 9».\n\n## Чем отличаются семейства\n\n| | Ubuntu и Debian | AlmaLinux 9 и CentOS Stream 9 |\n|---|---|---|\n| Семейство | на базе Debian | совместимые с RHEL |\n| Менеджер пакетов | `apt` (пакеты `.deb`) | `dnf` (пакеты `.rpm`) |\n| Файрвол системы | `ufw` (в Debian может отсутствовать — устанавливается через `apt`) | `firewalld` (может отсутствовать — устанавливается через `dnf`) |\n| Служба SSH | `ssh` | `sshd` |\n| SELinux | нет (используется AppArmor) | включён по умолчанию |\n| Дополнительные пакеты | официальные репозитории дистрибутива | многие — из репозитория EPEL (например, fail2ban) |\n| Пакет Apache | `apache2` | `httpd` |\n\nФайрвол системы (ufw или firewalld) на новом сервере выключен. Кроме того, входящий трафик к серверу проходит через сетевую фильтрацию, которой управляет BLACKBOX. Прежде чем включать файрвол, прочитайте статью [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall). Если установленное вами приложение на AlmaLinux или CentOS Stream без видимой причины блокируется, найдите в его документации настройки для SELinux; не отключайте SELinux.\n\nИмя службы SSH в разных семействах разное. После изменения настроек SSH перезагрузите конфигурацию службы командой ниже — она работает в любой из систем. Перед изменением держите открытой вторую SSH-сессию: веб-консоли нет, и если вы потеряете доступ, придётся обращаться в поддержку.\n\n```bash\nsystemctl reload ssh || systemctl reload sshd\n```\n\nНиже — основные команды для каждого семейства. Об автоматических обновлениях — в статье [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate).\n\n### Ubuntu и Debian\n\nПроверьте версию и обновите систему:\n\n```bash\ncat /etc/os-release\napt update\napt upgrade -y\n```\n\n### AlmaLinux и CentOS Stream\n\nПроверьте версию, обновите систему и посмотрите режим SELinux (`Enforcing` — включён):\n\n```bash\ncat /etc/os-release\ndnf upgrade -y\ngetenforce\n```\n\n## Системы, которые нельзя заказать онлайн\n\n| Что нужно | Ситуация | Что делать |\n|---|---|---|\n| Windows Server | Автоматически не устанавливается. Windows VPS доступен только по запросу. | На странице «Windows VPS» (`blackbox.md/servers/windows-vps`) нажмите «Запросить Windows VPS» или напишите нам. Подробнее — в статье [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere). |\n| Rocky Linux | Заказать онлайн нельзя. | Выберите AlmaLinux 9 — она тоже совместима с RHEL. |\n| openSUSE | Заказать онлайн нельзя. | Выберите систему из списка или напишите нам. |\n| Панель управления (Hestia, ispmanager и др.) | Не входит в список систем: сервер VPS поставляется без панели. | Установите панель на сервер сами или посмотрите статью [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou). |\n| Другой дистрибутив или версия | Онлайн можно заказать только 7 систем из списка. | Напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n\nЕсли в заказе всё же указана система не из списка, заказ не создаётся. Появляется экран «Ошибка при оформлении заказа» с сообщением «Выбранная операционная система не может быть установлена автоматически. Выберите другую из списка.» Кнопка «Попробовать снова» отправит тот же запрос и получит ту же ошибку. Обновите страницу — она вернётся к шагу «Операционная система», — и выберите систему из списка. Кнопка «Назад к тарифам» ведёт на главную страницу. Остальные ошибки описаны в статье [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n## Тарифы без выбора системы\n\n- **«VPS hosting» (VPS hosting 1, 2 и 3):** шага «Операционная система» нет, а образ сервера определяет BLACKBOX. Перед заказом уточните в поддержке, какую панель управления вы получите. Подробнее — в статье [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n- **Выделенные серверы (Light, Premium, Storage):** шага «Операционная система» нет. После заказа с вами свяжется наша команда, чтобы согласовать операционную систему. Подробнее — в статье [Выделенные серверы](#comenzi.servere-dedicate).\n\n## Где посмотреть систему сервера\n\n- **«Мой аккаунт» → «Заказы»**, столбец «Описание»: например, «Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS». Тот же текст есть в строке «Услуга» письма «Am primit solicitarea dumneavoastră — BBX-…» (тема письма всегда на румынском).\n- **Письмо «Serverul dvs. este gata — BBX-…»**, строка «Операционная система».\n- **На самом сервере** — первой командой из разделов выше.\n\nКарточка сервера на странице «Мои серверы» (панель app.blackbox.md) операционную систему не показывает.\n\n## Смена или переустановка системы\n\nКнопки переустановки или смены системы в панели нет, а апгрейд сохраняет текущую систему.\n\n- **Заказ не оплачен:** в «Мой аккаунт» → «Заказы» выберите «Отменить заказ» в строке заказа и оформите новый. См. [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n- **Заказ оплачен:** правила отмены — в статье [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n- **Сервер уже работает:** попросите поддержку переустановить систему через тикет ([Создание тикета в поддержку](#suport.tichet-nou)). Укажите номер заказа `BBX-…`, IP-адрес и нужную систему.\n\nДругой вариант: закажите новый сервер с нужной системой, перенесите данные ([Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site)), затем удалите старый сервер ([Безвозвратное удаление сервера](#servere.stergere-server)). При удалении оплаченная сумма не возвращается.\n\n> **Необратимо**\n> При переустановке все данные на сервере теряются: файлы, базы данных и настройки. Заранее сделайте копию данных; см. [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## Частые вопросы\n\n**Почему в письме название системы выглядит немного иначе?**\nВ письме «Serverul dvs. este gata» указано имя установленного образа, например «Alma Linux 9» или «CentOS 9 Stream». Это та же система, которую вы выбрали.\n\n**Есть ли на сервере графический интерфейс?**\nНет. В образах нет графического интерфейса, веб-консоли тоже нет. Сервер администрируется по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**Меняется ли система при апгрейде?**\nНет. Апгрейд увеличивает ресурсы и сохраняет систему, данные и IP-адрес. См. [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n**Можно ли выбрать систему при заказе через AI-ассистента?**\nДа, для тарифов VPS: те же 7 систем с кодами `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` и `almalinux-9`. Система не из списка (например, Windows или Rocky Linux) отклоняется с ошибкой `unsupported_os`. Всегда указывайте систему явно: без неё автоматически устанавливается одна из версий Ubuntu LTS, не обязательно 24.04. См. [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n",
    "en": "You choose the operating system at the first step of ordering a VPS plan, on the “Sistem de operare” (Operating system) screen. You get there when you click “Comandă” (Order) on a plan card on the “Planuri VPS” (VPS plans) page (`blackbox.md/servers/plans`) or in the “Servere virtuale” (Virtual servers) section of the home page. Your server is delivered with the chosen system already installed.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** any customer signed in to blackbox.md, when ordering a VPS plan. The “VPS hosting” plans and dedicated servers do not have this step.\n\n## The 7 systems on the list\n\n| System | Family | In short |\n|---|---|---|\n| Ubuntu 24.04 LTS | Debian-based | Selected by default. The newest Ubuntu version on the list, recommended for new projects. |\n| Ubuntu 22.04 LTS | Debian-based | The previous LTS version. For applications that require 22.04. |\n| Ubuntu 20.04 LTS | Debian-based | An old version. Only for applications that don't run on newer versions. |\n| Debian 12 | Debian | The newest Debian version on the list. A stable, minimal system. |\n| Debian 11 | Debian | An old version. Only for compatibility. |\n| CentOS Stream 9 | RHEL-compatible | The branch from which Red Hat Enterprise Linux (RHEL) is developed: it gets changes before RHEL does and has a shorter support period than AlmaLinux 9. Best suited for testing. |\n| AlmaLinux 9 | RHEL-compatible | Compatible with RHEL, with long-term support. For software written for RHEL or CentOS. |\n\nLTS (Long Term Support) means a version with extended support from the developer. Ubuntu 20.04 LTS and Debian 11 are old versions: their standard support period has ended. For a server you plan to use for many years, choose a newer version. The developers publish the support dates: [Ubuntu release cycle](https://ubuntu.com/about/release-cycle) and [Debian releases](https://www.debian.org/releases/).\n\nAll images are server images: no graphical interface and no control panel. You connect as `root` over SSH, on port 22; details in [Your new server: what you get and first steps](#servere.server-nou).\n\n## How to choose the system when you order\n\n1. Click “Planuri VPS” (VPS plans) in the top menu, then “Comandă” (Order) on the plan you want.\n2. If you are not signed in, you land on the sign-in page. After you sign in or sign up, you are taken back to your order automatically.\n3. On the “Sistem de operare” (Operating system) screen (“Alegeți sistemul de operare cu care serverul va fi livrat gata instalat.” (Choose the operating system your server will be delivered with, already installed.)), select one of the 7 systems. “Ubuntu 24.04 LTS” is selected from the start.\n4. Click “Continuă” (Continue).\n5. Next come the “Date de facturare” (Billing details) and “Cheie SSH pentru server” (SSH key for the server) steps; you can skip both. The order is created only after the last step, and then the payment page opens. The next steps are in [Placing an order step by step](#comenzi.plasare-comanda).\n\nYou can't skip the “Sistem de operare” step: a VPS order always includes the chosen system. If you change your mind at a later step, reload the page. The order hasn't been created yet, and the page goes back to “Sistem de operare”.\n\n> **Tip**\n> If you have no specific requirement, keep “Ubuntu 24.04 LTS”. For software written for RHEL or CentOS, choose “AlmaLinux 9”.\n\n## How the families differ\n\n| | Ubuntu and Debian | AlmaLinux 9 and CentOS Stream 9 |\n|---|---|---|\n| Family | Debian-based | RHEL-compatible |\n| Package manager | `apt` (`.deb` packages) | `dnf` (`.rpm` packages) |\n| System firewall | `ufw` (may be missing on Debian; install it with `apt`) | `firewalld` (may be missing; install it with `dnf`) |\n| SSH service | `ssh` | `sshd` |\n| SELinux | no (AppArmor is used) | active by default |\n| Extra packages | the distribution's official repositories | many come from the EPEL repository (for example fail2ban) |\n| Apache package | `apache2` | `httpd` |\n\nThe system firewall (ufw or firewalld) is inactive on a new server. Separately, incoming traffic to your server passes through network filtering managed by BLACKBOX. Before you turn on the firewall, read [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall). If an application you installed is blocked on AlmaLinux or CentOS Stream for no apparent reason, look in the application's documentation for its SELinux settings; don't disable SELinux.\n\nThe name of the SSH service differs from one family to the other. After you change the SSH configuration, the command below reloads the service on any of the systems. Before making the change, keep a second SSH session open: there is no web console, and if you lose access, you will have to write to support.\n\n```bash\nsystemctl reload ssh || systemctl reload sshd\n```\n\nBelow are the basic commands for each family. Automatic updates are covered in [System updates and automatic security updates](#ghiduri.actualizari-automate).\n\n### Ubuntu and Debian\n\nCheck the version and update the system:\n\n```bash\ncat /etc/os-release\napt update\napt upgrade -y\n```\n\n### AlmaLinux and CentOS Stream\n\nCheck the version, update the system and see the SELinux mode (`Enforcing` means it is active):\n\n```bash\ncat /etc/os-release\ndnf upgrade -y\ngetenforce\n```\n\n## Systems you can't order online\n\n| What you need | Situation | What to do |\n|---|---|---|\n| Windows Server | Not installed automatically. Windows VPS is available only on request. | On the “Windows VPS” page (`blackbox.md/servers/windows-vps`), click “Cere un Windows VPS” (Request a Windows VPS) or write to us. Details in [Products and configurations available on request](#comenzi.produse-la-cerere). |\n| Rocky Linux | Can't be ordered online. | Choose AlmaLinux 9, which is also RHEL-compatible. |\n| openSUSE | Can't be ordered online. | Choose a system from the list or write to us. |\n| Control panel (Hestia, ispmanager, etc.) | Not part of the system list: VPS servers are delivered without a panel. | Install a panel on the server yourself, or see [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou). |\n| Another distribution or version | Only the 7 systems on the list can be ordered online. | Write to us: [How to contact BLACKBOX support](#suport.contact). |\n\nIf an order nevertheless requests a system that is not on the list, the order is not created. The “Eroare la plasarea comenzii” (Error placing the order) screen appears with the message “Sistemul de operare ales nu poate fi instalat automat. Alegeți altul din listă.” (The selected operating system cannot be installed automatically. Choose another one from the list.) The “Încearcă din nou” (Try again) button sends the same request and gets the same error. Reload the page, which goes back to the “Sistem de operare” (Operating system) step, and choose a system from the list. The “Înapoi la prețuri” (Back to pricing) button takes you to the home page. Other errors are covered in [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n## Plans without a choice of system\n\n- **“VPS hosting” (VPS hosting 1, 2 and 3):** there is no “Sistem de operare” (Operating system) step, and BLACKBOX decides the server image. Before ordering, ask support which control panel you will get. Details in [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n- **Dedicated servers (Light, Premium, Storage):** there is no “Sistem de operare” step. The team contacts you after you order to agree on the operating system. Details in [Dedicated servers](#comenzi.servere-dedicate).\n\n## Where to see a server's system\n\n- **“Contul meu” (My account) → “Comenzi” (Orders)**, “Descriere” (Description) column: for example “Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. The same text appears on the “Serviciu” (Service) row of the “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…) email.\n- **The “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email**, on the “Sistem de operare” (Operating system) row.\n- **On the server itself**, with the first command in the sections above.\n\nThe server card in “My Servers” (the app.blackbox.md panel) does not show the operating system.\n\n## Changing or reinstalling the system\n\nThe panel has no button to reinstall or change the system, and an upgrade keeps the existing system.\n\n- **The order is not paid:** in “Contul meu” (My account) → “Comenzi” (Orders), use “Anulează comanda” (Cancel the order) on the order's row and place a new order. See [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n- **The order is paid:** the cancellation rules are in [Order cancellation and refunds](#plati.anulare-si-rambursare).\n- **The server is already running:** ask support to reinstall it, through a support ticket ([Opening a support ticket](#suport.tichet-nou)). Include the order number `BBX-…`, the IP address and the system you want.\n\nAnother option: order a new server with the system you want, move your data ([Moving a site to a BLACKBOX server](#ghiduri.migrare-site)), then delete the old server ([Permanently deleting a server](#servere.stergere-server)). Deleting a server does not refund the amount you paid.\n\n> **Irreversible**\n> When the system is reinstalled, all data on the server is lost: files, databases and settings. Make a copy of your data first; see [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## Frequently asked questions\n\n**Why does the system name look slightly different in the email?**\nThe “Serverul dvs. este gata” (Your server is ready) email shows the name of the installed image, for example “Alma Linux 9” or “CentOS 9 Stream”. It is the same system you chose.\n\n**Does the server have a graphical interface?**\nNo. The images have no graphical interface, and there is no web console. You manage the server over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**Does the system change when I upgrade?**\nNo. An upgrade adds resources and keeps the system, the data and the IP address. See [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n**Can I choose the system when I order through the AI assistant?**\nYes, for VPS plans: the same 7 systems, with the codes `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` and `almalinux-9`. A system that is not on the list (for example Windows or Rocky Linux) is rejected with the error `unsupported_os`. Always specify the system: without it, an Ubuntu LTS version is installed automatically, not necessarily 24.04. See [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n"
   }
  },
  {
   "id": "comenzi.produse-la-cerere",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/produse-la-cerere/",
    "ru": "https://docs.blackbox.md/ru/comenzi/produse-la-cerere/",
    "en": "https://docs.blackbox.md/en/comenzi/produse-la-cerere/"
   },
   "title": {
    "ro": "Produse și configurații disponibile la cerere",
    "ru": "Продукты и конфигурации по запросу",
    "en": "Products and configurations available on request"
   },
   "summary": {
    "ro": "Ce nu se comandă online (Windows VPS, Cloud Storage, instalări Nextcloud/OpenMediaVault, configurații mari, mai multe servere) și cum le cereți.",
    "ru": "Что нельзя заказать онлайн (Windows VPS, Cloud Storage, установка Nextcloud/OpenMediaVault, большие конфигурации, несколько серверов) и как это запросить.",
    "en": "What you can't order online (Windows VPS, Cloud Storage, Nextcloud/OpenMediaVault installation, large configurations, several servers) and how to request it."
   },
   "markdown": {
    "ro": "Unele produse BLACKBOX au pagini de prezentare pe blackbox.md, dar nu se comandă online: butonul de cerere de pe aceste pagini duce la pagina „Contacte” (`/info/contacts`), nu la o pagină de comandă. Le cereți echipei printr-un tichet, pe email sau la telefon, iar prețul și condițiile le primiți într-o ofertă.\n\n**Disponibil pentru:** orice vizitator al blackbox.md (email și telefon); tichetele, doar titularilor unui cont blackbox.md.\n\n## Ce se cere doar prin echipă\n\n| Produs | Pagina și meniul | Butonul de pe pagină |\n|---|---|---|\n| Windows VPS | `/servers/windows-vps`, „Servere” → „Windows VPS” | „Cere un Windows VPS” |\n| Cloud Storage: spațiu pentru copii de rezervă | `/hosting/cloud-storage`, „Găzduire” → „Cloud Storage” | „Comandați stocare” |\n| Nextcloud sau ownCloud (cloud privat) instalat pe un VPS | `/solutions/owncloud`, „Soluții” → „ownCloud” | „Cere instalare” |\n| OpenMediaVault (NAS în cloud) instalat pe un VPS | `/solutions/openmediavault`, „Soluții” → „OpenMediaVault” | „Cere instalare” |\n| Public Cloud | `/solutions/public-cloud`, „Soluții” → „Public Cloud” | „Cere acces beta” |\n| Configurații mai mari decât planurile VPS | — | scrieți-ne |\n| Mai multe servere printr-o singură cerere | — | scrieți-ne |\n\nCe trebuie să știți despre fiecare:\n\n- **Windows VPS.** Pasul „Sistem de operare” de la comandă oferă doar imagini Linux, deci Windows nu se poate alege online. Pe pagină, în locul prețului scrie „Windows la cerere / по запросу”. Vedeți [Sistemele de operare disponibile](#comenzi.sisteme-operare).\n- **Cloud Storage.** Este un spațiu de stocare separat de server, pentru copiile de rezervă. BLACKBOX nu face automat copii de rezervă ale serverelor; vedeți [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n- **Nextcloud, ownCloud și OpenMediaVault.** Instalarea o face echipa, pe un server VPS. Dacă aveți deja serverul, indicați numărul comenzii (`BBX-…`) sau IP-ul; dacă nu, cereți și o recomandare de plan.\n- **Public Cloud.** Pagina îl prezintă ca produs în beta privată. Accesul se acordă doar la cerere.\n- **Configurații mari.** Cele 21 de planuri VPS merg până la 16 vCPU, 64 GB RAM și 400 GB disc, dar niciun plan nu le are pe toate trei deodată ([Planurile VPS: cum alegeți](#comenzi.planuri-vps)). Pentru mai mult sau pentru o combinație care nu există în listă, scrieți-ne. Cele trei servere dedicate de pe pagina principală se comandă online, cu „Comandă” ([Servere dedicate](#comenzi.servere-dedicate)); alt hardware dedicat se cere prin echipă.\n- **Mai multe servere.** O comandă online creează un singur server, cu numărul și plata ei. Puteți plasa mai multe comenzi la rând sau puteți cere o ofertă comună pentru tot proiectul.\n\n## Cum trimiteți cererea\n\n1. Pe pagina produsului apăsați butonul din tabel, de exemplu „Cere un Windows VPS”. Se deschide pagina „Contacte”. Pentru configurații mari sau mai multe servere nu există o pagină separată: treceți direct la pasul 2.\n2. Alegeți canalul:\n   - **tichet:** „Contul meu” → „Ajutor și suport” → „Tichet nou” (trebuie să fiți autentificat);\n   - **email:** support@blackbox.md;\n   - **telefon sau WhatsApp:** +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n3. Dacă alegeți tichetul, completați „Subiect”, de exemplu „Cerere ofertă: Windows VPS”. Dacă cererea privește un server pe care îl aveți deja, scrieți-i numele sau IP-ul în „Server (opțional)”.\n4. În „Descrieți problema” scrieți datele din secțiunea următoare și apăsați „Trimite tichetul”. Pe email sau la telefon comunicați aceleași date.\n\nRăspunsul echipei apare pe pagina tichetului și vă vine și pe email. Continuați discuția tot din pagina tichetului: un răspuns trimis din email nu ajunge în tichet. Toate canalele și programul: [Cum contactați suportul BLACKBOX](#suport.contact). Formularul pas cu pas: [Deschiderea unui tichet de suport](#suport.tichet-nou).\n\n> **Sfat**\n> Dacă aveți nevoie de mai multe produse (de exemplu un Windows VPS și Cloud Storage), descrieți-le pe toate într-o singură cerere.\n\n## Ce scrieți în cerere\n\n| Ce indicați | Exemple |\n|---|---|\n| Produsul | Windows VPS, Cloud Storage, instalare Nextcloud, acces la Public Cloud, server dedicat |\n| Resursele | vCPU, RAM și disc; volumul de stocare; numărul de servere sau de utilizatori |\n| Sistemul de operare sau aplicația | versiunea Windows, Nextcloud sau ownCloud, OpenMediaVault |\n| Perioada dorită | lunar sau plată în avans pe mai multe luni ori pe un an |\n| Datele pentru factură | denumirea companiei, IDNO și adresa; pentru persoană fizică, numele complet |\n\n## Oferta: preț, condiții și termen de livrare\n\nEchipa vă trimite o ofertă cu prețul, condițiile (inclusiv perioada de plată) și termenul de livrare. Dacă echipa emite factura în „Contul meu” → „Facturi”, vedeți cum o achitați în [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi); rechizitele pentru transfer: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n> **Important**\n> Pentru produsele la cerere contează prețul, condițiile și termenul din oferta primită de la echipă, chiar dacă pagina de prezentare afișează alte sume.\n\n## Plata în avans și reduceri individuale\n\nComenzile online se plătesc doar lunar. Pagina „Bonusuri și reduceri” (`/info/bonuses`, „Informații” → „Bonusuri”) descrie două variante cu condiții individuale, stabilite prin suport:\n\n| Varianta de pe pagină | Ce faceți |\n|---|---|\n| „Plată pe termen lung” (mai multe luni sau un an) | scrieți ce servicii și ce perioadă doriți; se aranjează la emiterea facturii |\n| „Studenți și ONG-uri — la cerere” | scrieți pe email și atașați documente justificative |\n\nReducerile nu se aplică automat. Vedeți și [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n\n## Administrare, DevOps și migrare\n\nEchipa oferă la cerere și administrarea serverului, servicii DevOps, migrarea proiectelor de la alt furnizor și consultanță. Se cer la fel, cu o ofertă separată: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n\n## Întrebări frecvente\n\n**De ce nu găsesc Windows în lista de sisteme de operare?**\nWindows nu se instalează automat, așa că pasul „Sistem de operare” arată doar cele 7 imagini Linux. Windows VPS se cere de pe pagina „Windows VPS”, cu „Cere un Windows VPS”.\n\n**Cât costă un Windows VPS sau Cloud Storage?**\nPrețul vi-l comunică echipa în ofertă, în funcție de resursele și perioada cerute.\n\n**Unde este configuratorul de servere?**\nA fost înlocuit de planurile fixe de la „Planuri VPS”, iar linkurile vechi duc acolo. Pentru o combinație de resurse care nu există în listă, scrieți-ne.\n\n**Pot comanda singur mai multe servere?**\nDa, cu câte o comandă pentru fiecare server. Pe site puteți plasa cel mult 10 comenzi pe oră de pe aceeași adresă IP și 30 pe oră pentru un cont; peste limită comanda nu se creează și apare cardul „Eroare la plasarea comenzii”. Comenzile se pot plasa și prin asistentul AI: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Ce altceva se cere tot prin suport?**\nDomeniile și certificatele SSL comerciale ([Înregistrarea și transferul domeniilor](#domenii.inregistrare-transfer), [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl)) și serviciile suplimentare pentru un server existent ([Servicii suplimentare pentru server](#servicii.servicii-suplimentare)). Lista completă: [Ce nu este disponibil și alternative](#faq.limitari-cunoscute).\n",
    "ru": "У некоторых продуктов BLACKBOX есть информационные страницы на blackbox.md, но заказать их онлайн нельзя: кнопка запроса на этих страницах ведёт на страницу «Контакты» (`/ru/info/contacts`), а не к оформлению заказа. Такие продукты запрашивают у команды через тикет, по email или по телефону, а цену и условия вы получаете в коммерческом предложении.\n\n**Доступно:** любому посетителю blackbox.md (email и телефон); тикеты — только владельцам аккаунта blackbox.md.\n\n## Что запрашивается только через команду\n\n| Продукт | Страница и меню | Кнопка на странице |\n|---|---|---|\n| Windows VPS | `/ru/servers/windows-vps`, «Серверы» → «Windows VPS» | «Запросить Windows VPS» |\n| Cloud Storage — хранилище для резервных копий | `/ru/hosting/cloud-storage`, «Хостинг» → «Cloud Storage» | «Заказать хранилище» |\n| Nextcloud или ownCloud (приватное облако) с установкой на VPS | `/ru/solutions/owncloud`, «Решения» → «ownCloud» | «Запросить установку» |\n| OpenMediaVault (NAS в облаке) с установкой на VPS | `/ru/solutions/openmediavault`, «Решения» → «OpenMediaVault» | «Запросить установку» |\n| Public Cloud | `/ru/solutions/public-cloud`, «Решения» → «Public Cloud» | «Запросить доступ к бете» |\n| Конфигурации мощнее тарифов VPS | — | напишите нам |\n| Несколько серверов одним запросом | — | напишите нам |\n\nЧто важно знать о каждом пункте:\n\n- **Windows VPS.** На шаге «Операционная система» при заказе есть только образы Linux, поэтому Windows онлайн не выбрать. На странице вместо цены указано «Windows la cerere / по запросу». См. [Доступные операционные системы](#comenzi.sisteme-operare).\n- **Cloud Storage.** Это отдельное от сервера хранилище для резервных копий. BLACKBOX не делает резервные копии серверов автоматически; см. [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n- **Nextcloud, ownCloud и OpenMediaVault.** Приложение на VPS устанавливает наша команда. Если сервер у вас уже есть, укажите номер заказа (`BBX-…`) или IP; если нет — попросите заодно подобрать тариф.\n- **Public Cloud.** На странице он описан как продукт в закрытой бете. Доступ предоставляется только по запросу.\n- **Большие конфигурации.** В 21 тарифе VPS максимум — 16 vCPU, 64 GB RAM и 400 GB диска, но ни один тариф не сочетает все три максимума ([Тарифы VPS: как выбрать](#comenzi.planuri-vps)). Если нужно больше или нужного сочетания ресурсов нет в списке, напишите нам. Три выделенных сервера с главной страницы заказываются онлайн кнопкой «Заказать» ([Выделенные серверы](#comenzi.servere-dedicate)); другое выделенное оборудование — через команду.\n- **Несколько серверов.** Один онлайн-заказ — это один сервер со своим номером и своей оплатой. Можно оформить несколько заказов подряд или запросить общее предложение на весь проект.\n\n## Как отправить запрос\n\n1. На странице продукта нажмите кнопку из таблицы, например «Запросить Windows VPS». Откроется страница «Контакты». Для больших конфигураций и нескольких серверов отдельной страницы нет — сразу переходите к шагу 2.\n2. Выберите канал связи:\n   - **тикет:** «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» (нужно войти в аккаунт);\n   - **email:** support@blackbox.md;\n   - **телефон или WhatsApp:** +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы.\n3. Если вы выбрали тикет, заполните поле «Тема», например «Запрос предложения: Windows VPS». Если запрос касается уже имеющегося у вас сервера, укажите его название или IP в поле «Сервер (необязательно)».\n4. В поле «Опишите проблему» перечислите данные из следующего раздела и нажмите «Отправить тикет». По email или по телефону сообщите те же данные.\n\nОтвет команды появляется на странице тикета и дублируется на email. Продолжайте переписку на странице тикета: ответ, отправленный из почты, в тикет не попадёт. Все каналы и часы работы: [Как связаться с поддержкой BLACKBOX](#suport.contact). Форма по шагам: [Создание тикета в поддержку](#suport.tichet-nou).\n\n> **Совет**\n> Если нужно несколько продуктов (например, Windows VPS и Cloud Storage), опишите их все в одном запросе.\n\n## Что указать в запросе\n\n| Что указать | Примеры |\n|---|---|\n| Продукт | Windows VPS, Cloud Storage, установка Nextcloud, доступ к Public Cloud, выделенный сервер |\n| Ресурсы | vCPU, RAM и диск; объём хранилища; число серверов или пользователей |\n| Операционная система или приложение | версия Windows, Nextcloud или ownCloud, OpenMediaVault |\n| Желаемый период | помесячно или предоплата за несколько месяцев либо за год |\n| Данные для счёта | название компании, IDNO и адрес; для физлица — полное имя |\n\n## Предложение: цена, условия и срок поставки\n\nКоманда пришлёт предложение с ценой, условиями (включая период оплаты) и сроком поставки. Если команда выставит счёт в разделе «Личный кабинет» → «Счета», как его оплатить, описано в статье [Страница «Счета»: статусы, номера и PDF](#plati.facturi); реквизиты для перевода — в статье [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n> **Важно**\n> Для продуктов по запросу действуют цена, условия и срок из предложения команды, даже если на описательной странице указаны другие суммы.\n\n## Предоплата и индивидуальные скидки\n\nОнлайн-заказы оплачиваются только помесячно. На странице «Бонусы и скидки» (`/ru/info/bonuses`, «Информация» → «Бонусы») описаны два варианта с индивидуальными условиями, которые согласуются через поддержку:\n\n| Вариант на странице | Что сделать |\n|---|---|\n| «Оплата за длительный период» (несколько месяцев или год) | напишите, какие услуги и на какой срок вам нужны; условия оформляются при выставлении счёта |\n| «Студенты и НКО — по запросу» | напишите на email и приложите подтверждающие документы |\n\nАвтоматически скидки не применяются. См. также [Цены, валюта и период оплаты](#comenzi.preturi).\n\n## Администрирование, DevOps и миграция\n\nТакже по запросу команда берёт на себя администрирование сервера, DevOps-задачи, перенос проектов от другого провайдера и консультации. Эти услуги запрашиваются так же, по отдельному предложению: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n\n## Частые вопросы\n\n**Почему в списке операционных систем нет Windows?**\nWindows не устанавливается автоматически, поэтому на шаге «Операционная система» показаны только 7 образов Linux. Windows VPS запрашивается на странице «Windows VPS» кнопкой «Запросить Windows VPS».\n\n**Сколько стоит Windows VPS или Cloud Storage?**\nЦену называет команда в предложении — она зависит от запрошенных ресурсов и периода.\n\n**Куда делся конфигуратор серверов?**\nЕго заменили фиксированные тарифы в разделе «Тарифы VPS», старые ссылки ведут туда. Если нужного сочетания ресурсов нет в списке, напишите нам.\n\n**Могу ли я сам заказать несколько серверов?**\nДа, отдельным заказом на каждый сервер. На сайте можно оформить не больше 10 заказов в час с одного IP-адреса и 30 в час на один аккаунт; при превышении заказ не создаётся и появляется карточка «Ошибка при оформлении заказа». Заказы можно оформлять и через AI-ассистента: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**Что ещё запрашивается через поддержку?**\nДомены и коммерческие SSL-сертификаты ([Регистрация и перенос доменов](#domenii.inregistrare-transfer), [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl)), а также дополнительные услуги для уже работающего сервера ([Дополнительные услуги для сервера](#servicii.servicii-suplimentare)). Полный список: [Что недоступно и какие есть альтернативы](#faq.limitari-cunoscute).\n",
    "en": "Some BLACKBOX products have information pages on blackbox.md but can't be ordered online: the request button on these pages takes you to the “Contacte” (Contacts) page (`/info/contacts`), not to an order page. You request these products from the team through a support ticket, by email or by phone, and you receive the price and terms in a quote.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** any visitor to blackbox.md (email and phone); support tickets only for blackbox.md account holders.\n\n## What you can request only through the team\n\n| Product | Page and menu | Button on the page |\n|---|---|---|\n| Windows VPS | `/servers/windows-vps`, “Servere” (Servers) → “Windows VPS” | “Cere un Windows VPS” (Request a Windows VPS) |\n| Cloud Storage: storage space for backups | `/hosting/cloud-storage`, “Găzduire” (Hosting) → “Cloud Storage” | “Comandați stocare” (Order storage) |\n| Nextcloud or ownCloud (private cloud) installed on a VPS | `/solutions/owncloud`, “Soluții” (Solutions) → “ownCloud” | “Cere instalare” (Request installation) |\n| OpenMediaVault (NAS in the cloud) installed on a VPS | `/solutions/openmediavault`, “Soluții” → “OpenMediaVault” | “Cere instalare” |\n| Public Cloud | `/solutions/public-cloud`, “Soluții” → “Public Cloud” | “Cere acces beta” (Request beta access) |\n| Configurations larger than the VPS plans | — | write to us |\n| Several servers in a single request | — | write to us |\n\nWhat you need to know about each one:\n\n- **Windows VPS.** The “Sistem de operare” (Operating system) step of the order offers only Linux images, so you can't choose Windows online. Instead of a price, the page shows “Windows la cerere / по запросу” (Windows on request). See [Available operating systems](#comenzi.sisteme-operare).\n- **Cloud Storage.** This is storage space separate from your server, for your backups. BLACKBOX does not back up servers automatically; see [Backup strategy for your server](#ghiduri.strategie-backup).\n- **Nextcloud, ownCloud and OpenMediaVault.** The team installs the application on a VPS. If you already have the server, give its order number (`BBX-…`) or IP address; if you don't, also ask for a plan recommendation.\n- **Public Cloud.** The page presents it as a product in private beta. Access is granted only on request.\n- **Large configurations.** The 21 VPS plans go up to 16 vCPU, 64 GB RAM and 400 GB of disk, but no plan has all three at once ([VPS plans: how to choose](#comenzi.planuri-vps)). If you need more, or a combination that isn't on the list, write to us. The three dedicated servers on the home page are ordered online with “Comandă” (Order) ([Dedicated servers](#comenzi.servere-dedicate)); other dedicated hardware is requested through the team.\n- **Several servers.** One online order creates a single server, with its own order number and its own payment. You can place several orders one after another, or ask for a single quote for the whole project.\n\n## How to send your request\n\n1. On the product page, click the button listed in the table, for example “Cere un Windows VPS” (Request a Windows VPS). The “Contacte” (Contacts) page opens. Large configurations and several servers have no separate page: go straight to step 2.\n2. Choose how to contact us:\n   - **support ticket** (you must be signed in): “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket);\n   - **email:** support@blackbox.md;\n   - **phone or WhatsApp:** +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n3. If you choose a support ticket, fill in “Subiect” (Subject), for example “Quote request: Windows VPS”. If your request is about a server you already have, enter its name or IP address in “Server (opțional)” (Server (optional)).\n4. In “Descrieți problema” (Describe the problem), enter the details listed in the next section, then click “Trimite tichetul” (Send ticket). By email or phone, give the same details.\n\nThe team's reply appears on the ticket page and is also sent to you by email. Continue the conversation on the ticket page: a reply sent from your email does not reach the ticket. All channels and hours: [How to contact BLACKBOX support](#suport.contact). The form step by step: [Opening a support ticket](#suport.tichet-nou).\n\n> **Tip**\n> If you need several products (for example a Windows VPS and Cloud Storage), describe them all in a single request.\n\n## What to include in your request\n\n| What to include | Examples |\n|---|---|\n| The product | Windows VPS, Cloud Storage, Nextcloud installation, Public Cloud access, dedicated server |\n| The resources | vCPU, RAM and disk; storage volume; number of servers or users |\n| The operating system or application | Windows version, Nextcloud or ownCloud, OpenMediaVault |\n| The period you want | monthly, or paying in advance for several months or a year |\n| Details for the invoice | company name, IDNO and address; for an individual, full name |\n\n## The quote: price, terms and delivery time\n\nThe team sends you a quote with the price, the terms (including the billing period) and the delivery time. If the team issues the invoice in “Contul meu” (My account) → “Facturi” (Invoices), see how to pay it in [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi); for the bank details for a transfer, see [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n> **Important**\n> For products on request, the price, terms and delivery time in the quote you receive from the team are what apply, even if the information page shows different amounts.\n\n## Paying in advance and individual discounts\n\nOnline orders can be paid only monthly. The “Bonusuri și reduceri” (Bonuses and discounts) page (`/info/bonuses`, “Informații” (Information) → “Bonusuri” (Bonuses)) describes two options with individual terms, arranged through support:\n\n| Option on the page | What to do |\n|---|---|\n| “Plată pe termen lung” (Long-term payment), for several months or a year | write which services you want and for what period; this is arranged when the invoice is issued |\n| “Studenți și ONG-uri — la cerere” (Students and NGOs — on request) | write to us by email and attach supporting documents |\n\nDiscounts are not applied automatically. See also [Prices, currency and billing period](#comenzi.preturi).\n\n## Administration, DevOps and migration\n\nOn request, the team also offers server administration, DevOps services, migration of projects from another provider, and consulting. You request these the same way, with a separate quote: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n\n## Frequently asked questions\n\n**Why can't I find Windows in the list of operating systems?**\nWindows is not installed automatically, so the “Sistem de operare” (Operating system) step shows only the 7 Linux images. To get a Windows VPS, click “Cere un Windows VPS” (Request a Windows VPS) on the “Windows VPS” page.\n\n**How much does a Windows VPS or Cloud Storage cost?**\nThe team gives you the price in the quote, based on the resources and period you request.\n\n**Where is the server configurator?**\nIt was replaced by the fixed plans on “Planuri VPS” (VPS plans), and old links take you there. For a combination of resources that isn't on the list, write to us.\n\n**Can I order several servers myself?**\nYes, with a separate order for each server. On the website you can place at most 10 orders per hour from the same IP address and 30 per hour per account; above the limit, the order is not created and the “Eroare la plasarea comenzii” (Error placing the order) card appears. You can also place orders through the AI assistant: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**What else do I request through support?**\nDomains and commercial SSL certificates ([Registering and transferring domains](#domenii.inregistrare-transfer), [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl)), and add-on services for an existing server ([Add-on services for your server](#servicii.servicii-suplimentare)). The full list: [What isn't available and the alternatives](#faq.limitari-cunoscute).\n"
   }
  },
  {
   "id": "comenzi.preturi",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/preturi/",
    "ru": "https://docs.blackbox.md/ru/comenzi/preturi/",
    "en": "https://docs.blackbox.md/en/comenzi/preturi/"
   },
   "title": {
    "ro": "Prețuri, monedă și perioada de plată",
    "ru": "Цены, валюта и период оплаты",
    "en": "Prices, currency and billing period"
   },
   "summary": {
    "ro": "Cum sunt calculate și afișate prețurile în MDL, perioada lunară cu plată în avans, TVA, locația serverului și reducerile disponibile la cerere.",
    "ru": "Как рассчитываются и показываются цены в MDL, ежемесячный период с предоплатой, НДС, расположение сервера и скидки по запросу.",
    "en": "How prices are calculated and shown in MDL, the monthly period paid in advance, VAT, server location and discounts available on request."
   },
   "markdown": {
    "ro": "Prețurile BLACKBOX sunt afișate pe cardurile planurilor de pe blackbox.md: pe pagina „Planuri VPS” (`blackbox.md/servers/plans`, butonul „Planuri VPS” din bara de sus) și pe pagina principală, unde găsiți și planurile „VPS hosting” și serverele dedicate. Aici aflați în ce monedă și pentru ce perioadă plătiți, cum se stabilește suma comenzii și unde o regăsiți după plată.\n\n**Disponibil pentru:** oricine poate consulta prețurile; comanda și plata sunt disponibile titularului unui cont blackbox.md autentificat.\n\n## Cum sunt afișate prețurile\n\nToate prețurile sunt în lei moldovenești (MDL), pe lună, în sume întregi, de exemplu „578 MDL/lună” pentru Standard M. Pentru o comandă plasată pe site, prețul de pe card este exact totalul comenzii și suma de pe pagina de plată.\n\n| Produs | Preț | Detalii |\n|---|---|---|\n| Planuri VPS (21 de planuri în 5 familii) | de la 416 la 2 954 MDL/lună | [Planurile VPS: cum alegeți](#comenzi.planuri-vps) |\n| VPS hosting 1 / 2 / 3 | 490 / 950 / 1 460 MDL/lună | [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou) |\n| Servere dedicate Light / Premium / Storage | 1 670 / 6 240 / 13 350 MDL/lună | [Servere dedicate](#comenzi.servere-dedicate) |\n\nDacă pe o pagină de prezentare a site-ului vedeți alt preț decât pe cardul planului, este valabil prețul de pe card: cu acesta se creează comanda. Pentru configurațiile din afara acestor planuri, prețul se stabilește în oferta individuală; vedeți [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere).\n\nPrețul planului nu include servicii suplimentare. Acestea nu se pot alege la comanda de pe site și se solicită prin suport; vedeți [Servicii suplimentare pentru server](#servicii.servicii-suplimentare).\n\n## Moneda: MDL\n\n- Plata cu cardul (Visa, Mastercard) prin Paynet se face în MDL. Dacă aveți un card în altă monedă, banca emitentă convertește suma automat, la cursul ei.\n- Soldul contului și facturile sunt tot în MDL.\n- Pentru un transfer bancar în EUR sau USD, scrieți-ne mai întâi la support@blackbox.md ca să primiți datele contului în valuta respectivă. Vedeți [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n## Perioada de plată: lunar, în avans\n\nServiciile se plătesc lunar, în avans. Comanda de pe site este întotdeauna pentru o lună; altă perioadă nu se poate alege.\n\n| Ce plătiți | Când și cum |\n|---|---|\n| Prima lună | La comandă, pe pagina de plată: cu cardul sau din sold. Plata acoperă o lună de la activarea serverului. |\n| Lunile următoare | Pe bază de factură emisă de echipa noastră, care apare în „Facturi”. O achitați prin plata automată din sold, prin transfer bancar sau prin suport. Plata facturilor cu cardul pe site nu este disponibilă: în dreptul facturilor neachitate apare „Plata online — în curând”. Vedeți [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara). |\n| Upgrade la un plan mai mare | Diferența de preț, proporțional cu zilele rămase din ciclul curent de 30 de zile, se reține imediat din sold. De atunci se aplică noul preț lunar. Vedeți [Upgrade server: trecerea la un plan mai mare](#servere.upgrade). |\n\nNu există debitare automată recurentă a cardului, iar datele cardului nu sunt stocate: le introduceți pe pagina Paynet la fiecare plată. Opțional, puteți porni plata automată a facturilor din sold (comutatorul „Reîncărcare automată” de pe pagina „Sold”). Ea folosește doar banii aflați deja în sold și nu debitează cardul. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata).\n\n> **Sfat**\n> Ca să nu ratați scadența, porniți plata automată și păstrați în sold cel puțin prețul lunar al serverelor dvs.\n\n## Cum se calculează suma comenzii\n\nSuma este calculată de serverul BLACKBOX din lista de prețuri curentă, nu de browserul dvs. Prețul pe care l-ați văzut este trimis doar pentru comparație: dacă diferă de prețul curent, comanda nu se creează. Astfel nu puteți plăti altă sumă decât cea afișată.\n\nDacă prețul s-a schimbat după ce ați deschis pagina, apare ecranul „Eroare la plasarea comenzii” cu mesajul în limba engleză „Order total does not match current pricing. Please refresh and try again.” Comanda nu a fost creată și nu ați plătit nimic.\n\n1. Reîncărcați pagina în browser (tasta F5 sau butonul de reîncărcare) și parcurgeți din nou pașii comenzii. Nu folosiți „Încearcă din nou”: butonul retrimite prețul vechi și primiți aceeași eroare.\n2. Dacă eroarea se repetă, deschideți din nou pagina cu planul („Planuri VPS” sau pagina principală), verificați prețul de pe card și apăsați „Comandă”.\n3. Dacă mesajul apare în continuare, scrieți-ne și indicați planul ales.\n\nCelelalte mesaje de pe acest ecran sunt explicate în [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n## TVA și întrebări fiscale\n\nPe pagina de plată, sub sumă, apare mențiunea „TVA inclus”. Pentru întrebări fiscale despre factura dvs. (de exemplu, despre TVA sau despre datele de pe factură), scrieți-ne la support@blackbox.md și indicați numărul comenzii sau al facturii. Ca factura să fie emisă pe datele companiei, completați datele înainte de comandă: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n## Locația serverului\n\n> **Important**\n> Comanda online nu include alegerea centrului de date. Dacă aveți cerințe privind locația serverului sau a datelor, scrieți-ne înainte de a plasa comanda.\n\n## Reduceri\n\nNicio reducere nu se aplică automat, iar la comandă nu există câmp pentru cod promoțional. Condițiile individuale se acordă la cerere, prin suport:\n\n- **Plată pe termen lung** (de exemplu, pentru un an): condițiile se stabilesc individual, la emiterea facturii.\n- **Studenți și organizații non-profit înregistrate**: condiții speciale pentru VPS. Trimiteți cererea împreună cu documentele justificative.\n\nNe puteți scrie printr-un tichet sau la support@blackbox.md; vedeți [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Unde vedeți ce plătiți\n\n| Unde | Ce vedeți |\n|---|---|\n| Cardul planului | Prețul lunar, de exemplu „578 MDL/lună”. |\n| Pagina de plată (`blackbox.md/checkout/order/…`) | Titlul „Comandă BBX-…”, „Referință:”, suma cu două zecimale (de exemplu „578,00 MDL”), mențiunea „TVA inclus” și butonul „Achitați 578,00 MDL”. |\n| „Contul meu” → „Comenzi” (pagina „Comenzile mele”) | Coloana „Total”. La o comandă cu statusul „Nou”, acțiunea „Achită comanda” deschide din nou pagina de plată. |\n| „Contul meu” → „Facturi” (pagina „Facturile mele”) | Coloana „Total”; la „Detalii” → „Poziții factură”, rândul „Total de plată”. |\n| „Contul meu” → „Sold”, tabelul „Istoricul operațiunilor” | Fiecare plată din sold, cu minus în coloana „Sumă” și o descriere ca „Comandă BBX-…”, „Factură …” sau „Upgrade server”. |\n| Emailuri | „Am primit solicitarea dumneavoastră — BBX-…” (rândul „Total”) și „Plată confirmată — BBX-…” (rândul „Sumă plătită”, cu factura PDF atașată). |\n\n## Întrebări frecvente\n\n**Cardul meu va fi debitat automat luna viitoare?**\nNu. BLACKBOX nu păstrează datele cardului și nu face debitări recurente. Lunile următoare se achită pe bază de factură; din sold, automat, numai dacă ați pornit plata automată.\n\n**De ce banca mi-a debitat suma în altă monedă?**\nPlata se face în MDL. Dacă cardul este în EUR, USD sau altă monedă, conversia o face banca dvs., la cursul ei. Pentru detalii despre curs, întrebați banca.\n\n**Pot plăti de la început pentru un an?**\nLa comandă, doar pentru o lună. Pentru plata pe o perioadă mai lungă, scrieți-ne: condițiile sunt individuale.\n\n**Există o perioadă de probă gratuită?**\nNu: fiecare comandă se plătește în avans, pentru o lună. Dacă vă răzgândiți, în primele 24 de ore de la activare puteți apăsa „Anulează comanda” („Contul meu” → „Comenzi”): toată suma achitată revine în sold, iar serverul se șterge definitiv, cu toate datele. Suma exactă apare în dialogul de anulare înainte să confirmați; detalii în [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**Se poate schimba suma facturii lunare?**\nFactura lunară se emite la prețul lunar al serverului dvs. După un upgrade, se aplică prețul noului plan.\n",
    "ru": "Цены BLACKBOX указаны на карточках тарифов сайта blackbox.md: на странице «Тарифы VPS» (`blackbox.md/ru/servers/plans`, кнопка «Тарифы VPS» в верхнем меню) и на главной странице, где есть также тарифы «VPS hosting» и выделенные серверы. Здесь описано, в какой валюте и за какой период вы платите, как определяется сумма заказа и где её увидеть после оплаты.\n\n**Доступно:** цены видны всем посетителям; заказ и оплата — владельцу аккаунта blackbox.md после входа.\n\n## Как указаны цены\n\nВсе цены указаны в молдавских леях (MDL) за месяц, целыми суммами: например, 578 MDL/мес. за Standard M. При заказе на сайте цена на карточке в точности равна сумме заказа и сумме на странице оплаты.\n\n| Продукт | Цена | Подробнее |\n|---|---|---|\n| Тарифы VPS (21 тариф в 5 семействах) | от 416 до 2 954 MDL/мес. | [Тарифы VPS: как выбрать](#comenzi.planuri-vps) |\n| VPS hosting 1 / 2 / 3 | 490 / 950 / 1 460 MDL/мес. | [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou) |\n| Выделенные серверы Light / Premium / Storage | 1 670 / 6 240 / 13 350 MDL/мес. | [Выделенные серверы](#comenzi.servere-dedicate) |\n\nЕсли на одной из информационных страниц сайта цена отличается от цены на карточке тарифа, действует цена на карточке: именно по ней создаётся заказ. Для конфигураций за пределами этих тарифов цена определяется в индивидуальном предложении — см. [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere).\n\nЦена тарифа не включает дополнительные услуги. Выбрать их при заказе на сайте нельзя — они заказываются через поддержку; см. [Дополнительные услуги для сервера](#servicii.servicii-suplimentare).\n\n## Валюта: MDL\n\n- Оплата картой (Visa, Mastercard) через Paynet проходит в MDL. Если карта в другой валюте, банк-эмитент автоматически конвертирует сумму по своему курсу.\n- Баланс аккаунта и счета тоже ведутся в MDL.\n- Чтобы оплатить банковским переводом в EUR или USD, сначала напишите на support@blackbox.md: мы пришлём реквизиты счёта в нужной валюте. См. [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n## Период оплаты: помесячно и авансом\n\nУслуги оплачиваются помесячно и авансом. Заказ на сайте всегда оформляется на один месяц, другой период выбрать нельзя.\n\n| Что оплачивается | Когда и как |\n|---|---|\n| Первый месяц | При заказе, на странице оплаты: картой или с баланса. Оплата покрывает один месяц с момента активации сервера. |\n| Следующие месяцы | По счёту, который выставляет наша команда; он появляется в разделе «Счета». Оплатить его можно автоплатежом с баланса, банковским переводом или через поддержку. Оплата счетов картой на сайте недоступна: рядом с неоплаченным счётом отображается «Онлайн-оплата — скоро». См. [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara). |\n| Апгрейд до большего тарифа | Разница в цене пропорционально оставшимся дням текущего 30-дневного цикла сразу списывается с баланса. Дальше действует новая месячная цена. См. [Апгрейд сервера: переход на больший тариф](#servere.upgrade). |\n\nАвтоматических повторных списаний с карты нет, и данные карты не хранятся: вы вводите их на странице Paynet при каждой оплате. При желании можно включить автоматическую оплату счетов с баланса (переключатель «Автоматическое пополнение» на странице «Баланс»). Автоплатёж расходует только деньги, которые уже есть на балансе, и ничего не списывает с карты. Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n\n> **Совет**\n> Чтобы не пропустить срок оплаты, включите автоплатёж и держите на балансе сумму не меньше месячной стоимости ваших серверов.\n\n## Как рассчитывается сумма заказа\n\nСумму рассчитывает сервер BLACKBOX по актуальному прайсу, а не ваш браузер. Цена, которую вы видели, отправляется только для сверки: если она не совпадает с актуальной, заказ не создаётся. Поэтому заплатить сумму, отличную от показанной, нельзя.\n\nЕсли цена изменилась после того, как вы открыли страницу, появится экран «Ошибка при оформлении заказа» с сообщением на английском: «Order total does not match current pricing. Please refresh and try again.» Заказ не создан, деньги не списаны.\n\n1. Обновите страницу в браузере (клавиша F5 или кнопка обновления) и пройдите шаги заказа заново. Кнопка «Попробовать снова» не поможет: она повторно отправляет старую цену, и ошибка повторится.\n2. Если ошибка осталась, снова откройте страницу с тарифом («Тарифы VPS» или главную страницу), проверьте цену на карточке и нажмите «Заказать».\n3. Если сообщение появляется и дальше, напишите нам и укажите выбранный тариф.\n\nОстальные сообщения этого экрана разобраны в статье [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n## НДС и налоговые вопросы\n\nНа странице оплаты под суммой указано «НДС включён» (если страница открылась на румынском — «TVA inclus»). С налоговыми вопросами по вашему счёту (например, об НДС или о данных в счёте) пишите на support@blackbox.md, указав номер заказа или счёта. Чтобы счёт выставлялся на компанию, заполните реквизиты до оформления заказа: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n## Расположение сервера\n\n> **Важно**\n> При онлайн-заказе выбрать дата-центр нельзя. Если у вас есть требования к расположению сервера или данных, напишите нам до оформления заказа.\n\n## Скидки\n\nАвтоматических скидок нет, поля для промокода при заказе тоже нет. Индивидуальные условия предоставляются по запросу через поддержку:\n\n- **Оплата за длительный период** (например, за год): условия обсуждаются индивидуально при выставлении счёта.\n- **Студенты и зарегистрированные некоммерческие организации**: специальные условия на VPS. Приложите к запросу подтверждающие документы.\n\nНаписать можно через тикет или на support@blackbox.md; см. [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Где видно, сколько вы платите\n\n| Где | Что вы видите |\n|---|---|\n| Карточка тарифа | Цена за месяц, например 578 MDL/мес. |\n| Страница оплаты (`blackbox.md/ru/checkout/order/…`) | Заголовок «Comandă BBX-…» (всегда на румынском), «Референс:», сумма с двумя знаками после запятой (например, 578,00 MDL), пометка «НДС включён» и кнопка «Оплатить 578,00 MDL». Сразу после оформления заказа страница может открыться на румынском; русская версия открывается через «Заказы» → «Оплатить заказ». |\n| «Мой аккаунт» → «Заказы» (страница «Мои заказы») | Столбец «Итого». У заказа со статусом «Новый» действие «Оплатить заказ» снова открывает страницу оплаты. |\n| «Мой аккаунт» → «Счета» (страница «Мои счета») | Столбец «Итого»; в «Детали» → «Позиции счёта» — строка «Итого к оплате». |\n| «Мой аккаунт» → «Баланс», таблица «История операций» | Каждая оплата с баланса — со знаком минус в столбце «Сумма» и описанием на румынском, например «Comandă BBX-…», «Factură …» или «Upgrade server». |\n| Письма | «Am primit solicitarea dumneavoastră — BBX-…» (строка «Сумма») и «Plată confirmată — BBX-…» (строка «Сумма оплаты», к письму приложен счёт в PDF). Темы писем всегда на румынском. |\n\n## Частые вопросы\n\n**Спишут ли в следующем месяце деньги с карты автоматически?**\nНет. BLACKBOX не хранит данные карты и не делает повторных списаний. Следующие месяцы оплачиваются по счёту; автоматически с баланса — только если вы включили автоплатёж.\n\n**Почему банк списал сумму в другой валюте?**\nОплата проходит в MDL. Если карта в EUR, USD или другой валюте, конвертацию выполняет ваш банк по своему курсу. Подробности о курсе уточняйте в банке.\n\n**Можно ли сразу оплатить год?**\nПри заказе — только один месяц. Об оплате за более длительный период напишите нам: условия индивидуальные.\n\n**Есть ли бесплатный пробный период?**\nНет: каждый заказ оплачивается авансом, за один месяц. Если вы передумали, в первые 24 часа после активации можно нажать «Отменить заказ» («Мой аккаунт» → «Заказы»): вся оплаченная сумма вернётся на баланс, а сервер будет удалён навсегда вместе со всеми данными. Точная сумма показана в окне отмены до подтверждения; подробнее — в статье [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Может ли измениться сумма ежемесячного счёта?**\nЕжемесячный счёт выставляется по месячной цене вашего сервера. После апгрейда действует цена нового тарифа.\n",
    "en": "BLACKBOX prices are shown on the plan cards on blackbox.md: on the “Planuri VPS” (VPS plans) page (`blackbox.md/servers/plans`, the “Planuri VPS” button in the top bar) and on the home page, where you also find the “VPS hosting” plans and dedicated servers. This article explains which currency you pay in and for what period, how the order amount is set, and where you can find it after you pay.\n\n**Available to:** anyone can view the prices; ordering and paying are available to the holder of a blackbox.md account who is signed in.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How prices are shown\n\nAll prices are in Moldovan lei (MDL), per month, in whole amounts, for example “578 MDL/lună” (578 MDL/month) for Standard M. For an order placed on the website, the price on the card is exactly the order total and the amount on the payment page.\n\n| Product | Price | Details |\n|---|---|---|\n| VPS plans (21 plans in 5 families) | from 416 to 2,954 MDL/month | [VPS plans: how to choose](#comenzi.planuri-vps) |\n| VPS hosting 1 / 2 / 3 | 490 / 950 / 1,460 MDL/month | [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou) |\n| Dedicated servers Light / Premium / Storage | 1,670 / 6,240 / 13,350 MDL/month | [Dedicated servers](#comenzi.servere-dedicate) |\n\nIf an information page on the website shows a different price than the plan card, the price on the card applies: that is the price your order is created with. For configurations outside these plans, the price is set in an individual offer; see [Products and configurations available on request](#comenzi.produse-la-cerere).\n\nThe plan price does not include add-on services. You can't choose them when you order on the website; you request them through support. See [Add-on services for your server](#servicii.servicii-suplimentare).\n\n## Currency: MDL\n\n- Card payments (Visa, Mastercard) through Paynet are made in MDL. If your card is in another currency, the bank that issued it converts the amount automatically, at its own exchange rate.\n- Your account balance and your invoices are also in MDL.\n- To pay by bank transfer in EUR or USD, first write to us at support@blackbox.md to receive the account details for that currency. See [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n## Billing period: monthly, in advance\n\nServices are paid monthly, in advance. An order on the website is always for one month; you can't choose a different period.\n\n| What you pay | When and how |\n|---|---|\n| The first month | When you order, on the payment page: by card or from your balance. The payment covers one month from the moment your server is activated. |\n| The following months | Based on an invoice issued by our team, which appears in “Facturi” (Invoices). You pay it through automatic payment from your balance, by bank transfer or through support. You can't pay invoices by card on the website: unpaid invoices show “Plata online — în curând” (Online payment — coming soon). See [Monthly renewal and paying on time](#plati.reinnoire-lunara). |\n| An upgrade to a larger plan | The price difference, prorated for the days left in the current 30-day cycle, is deducted from your balance right away. From then on, the new monthly price applies. See [Server upgrade: moving to a larger plan](#servere.upgrade). |\n\nThere is no automatic recurring charge to your card, and your card details are not stored: you enter them on the Paynet page each time you pay. Optionally, you can turn on automatic payment of invoices from your balance (the “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page). It uses only money that is already in your balance and does not charge your card. Details: [Automatic payment of invoices from your balance](#plati.plata-automata).\n\n> **Tip**\n> To avoid missing a due date, turn on automatic payment and keep at least the monthly price of your servers in your balance.\n\n## How the order amount is calculated\n\nThe amount is calculated by the BLACKBOX server from the current price list, not by your browser. The price you saw is sent only for comparison: if it differs from the current price, the order is not created. This way, you can't pay an amount other than the one shown.\n\nIf the price changed after you opened the page, you see the “Eroare la plasarea comenzii” (Error placing the order) screen with this message in English: “Order total does not match current pricing. Please refresh and try again.” The order was not created, and you have not paid anything.\n\n1. Reload the page in your browser (the F5 key or the reload button) and go through the order steps again. Don't use “Încearcă din nou” (Try again): this button resends the old price, and you get the same error.\n2. If the error happens again, reopen the plan page (“Planuri VPS” (VPS plans) or the home page), check the price on the card and click “Comandă” (Order).\n3. If the message still appears, write to us and tell us which plan you chose.\n\nThe other messages on this screen are explained in [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n## VAT and tax questions\n\nOn the payment page, under the amount, you see the note “TVA inclus” (VAT included). For tax questions about your invoice (for example, about VAT or the details on the invoice), write to us at support@blackbox.md and include the order or invoice number. To have the invoice issued with your company's details, fill them in before you order: [Billing details for companies and individuals](#plati.date-facturare).\n\n## Server location\n\n> **Important**\n> Online orders do not include a choice of data center. If you have requirements about where your server or your data is located, write to us before you place your order.\n\n## Discounts\n\nNo discount is applied automatically, and there is no promo code field when you order. Individual terms are granted on request, through support:\n\n- **Long-term payment** (for example, for a year): the terms are agreed individually when the invoice is issued.\n- **Students and registered non-profit organizations**: special terms for VPS. Send your request together with supporting documents.\n\nYou can write to us in a support ticket or at support@blackbox.md; see [How to contact BLACKBOX support](#suport.contact).\n\n## Where you see what you pay\n\n| Where | What you see |\n|---|---|\n| The plan card | The monthly price, for example “578 MDL/lună” (578 MDL/month). |\n| The payment page (`blackbox.md/checkout/order/…`) | The title “Comandă BBX-…” (Order BBX-…), “Referință:” (Reference:), the amount with two decimal places (for example “578,00 MDL”), the note “TVA inclus” (VAT included) and the “Achitați 578,00 MDL” (Pay 578.00 MDL) button. |\n| “Contul meu” (My account) → “Comenzi” (Orders) (the “Comenzile mele” (My orders) page) | The “Total” column. For an order with the status “Nou” (New), the “Achită comanda” (Pay for the order) action opens the payment page again. |\n| “Contul meu” → “Facturi” (Invoices) (the “Facturile mele” (My invoices) page) | The “Total” column; under “Detalii” (Details) → “Poziții factură” (Invoice items), the “Total de plată” (Total due) row. |\n| “Contul meu” → “Sold” (Balance), the “Istoricul operațiunilor” (Transaction history) table | Each payment from your balance, with a minus sign in the “Sumă” (Amount) column and a description such as “Comandă BBX-…”, “Factură …” (Invoice …) or “Upgrade server” (Server upgrade). |\n| Emails | “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…) (the “Total” row) and “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) (the “Sumă plătită” (Amount paid) row, with the PDF invoice attached). |\n\n## Frequently asked questions\n\n**Will my card be charged automatically next month?**\nNo. BLACKBOX does not keep your card details and does not make recurring charges. The following months are paid based on an invoice; they are paid from your balance automatically only if you turned on automatic payment.\n\n**Why did my bank charge me in a different currency?**\nPayment is made in MDL. If your card is in EUR, USD or another currency, your bank does the conversion, at its own rate. For details about the rate, ask your bank.\n\n**Can I pay for a year up front?**\nWhen you order, you can pay for one month only. To pay for a longer period, write to us: the terms are individual.\n\n**Is there a free trial?**\nNo: every order is paid in advance, for one month. If you change your mind, within the first 24 hours after activation you can click “Anulează comanda” (Cancel the order) (“Contul meu” (My account) → “Comenzi” (Orders)): the full amount you paid goes back to your balance, and the server is permanently deleted, with all its data. The exact amount appears in the cancellation dialog before you confirm; details in [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**Can the amount of the monthly invoice change?**\nThe monthly invoice is issued at your server's monthly price. After an upgrade, the price of the new plan applies.\n"
   }
  },
  {
   "id": "comenzi.plasare-comanda",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/plasare-comanda/",
    "ru": "https://docs.blackbox.md/ru/comenzi/plasare-comanda/",
    "en": "https://docs.blackbox.md/en/comenzi/plasare-comanda/"
   },
   "title": {
    "ro": "Plasarea unei comenzi pas cu pas",
    "ru": "Оформление заказа по шагам",
    "en": "Placing an order step by step"
   },
   "summary": {
    "ro": "De la butonul „Comandă” la pagina de plată: pașii, datele cerute și ce se întâmplă după crearea comenzii.",
    "ru": "От кнопки «Заказать» до страницы оплаты: шаги, нужные данные и что происходит после создания заказа.",
    "en": "From the “Comandă” (Order) button to the payment page: the steps, the details you need and what happens after your order is created."
   },
   "markdown": {
    "ro": "Un server se comandă pe blackbox.md, cu butonul „Comandă” de pe cardul unui plan. Se deschide pagina de comandă (`blackbox.md/checkout/plan/…`, de exemplu `/checkout/plan/vm-iops1-m` pentru Standard M), care vă trece prin câțiva pași scurți, creează comanda și vă duce la pagina de plată (`blackbox.md/checkout/order/…`). Comanda o regăsiți apoi în „Contul meu” → „Comenzi”.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Dacă nu sunteți autentificat, site-ul vă cere mai întâi să vă autentificați sau să creați un cont.\n\n## Înainte de a comanda\n\n> **Important**\n> Pagina de comandă nu are formular de contact. Numele, emailul și telefonul din „Contul meu” → „Profil” sunt copiate automat în comandă; dacă numele lipsește, în comandă apare adresa de email. Completați „Nume” și „Telefon” înainte de a comanda: [Profilul meu: nume, telefon și email](#cont.profil).\n\nOpțional, pregătiți din timp:\n\n- un profil de facturare, dacă factura trebuie să poarte datele unei companii sau datele dvs. personale: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare);\n- o cheie SSH salvată în cont: [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont).\n\nLe puteți adăuga și în timpul comenzii, dar atunci trebuie să reîncărcați pagina de comandă ca să apară în listă.\n\n## Pasul 1. Alegeți planul\n\n1. Găsiți planul:\n   - planurile VPS: butonul „Planuri VPS” din antetul site-ului (`blackbox.md/servers/plans`);\n   - „VPS hosting 1”, „VPS hosting 2”, „VPS hosting 3” și serverele dedicate Light, Premium și Storage: pe prima pagină a site-ului.\n2. Apăsați „Comandă” pe cardul planului.\n3. Dacă nu sunteți autentificat, se deschide pagina „Autentificare”. Autentificați-vă cu emailul și parola, cu Google sau GitLab, ori apăsați „Înregistrați-vă” pentru un cont nou. După autentificare sau înregistrare reveniți automat la pagina de comandă.\n\nPagina „Autentificare” se deschide în română chiar dacă ați pornit de pe versiunea rusă a site-ului; după autentificare reveniți la comandă în limba rusă.\n\n## Pasul 2. Parcurgeți pașii comenzii\n\nPașii depind de plan:\n\n| Pas | Planuri VPS | „VPS hosting” și servere dedicate |\n|---|---|---|\n| „Sistem de operare” | da, obligatoriu | nu |\n| „Date de facturare” | da, îl puteți omite | da, îl puteți omite |\n| „Cheie SSH pentru server” | da, îl puteți omite | da, îl puteți omite |\n\n### „Sistem de operare” (doar planurile VPS)\n\n1. Alegeți sistemul: Ubuntu 24.04 LTS (selectat implicit), Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 sau AlmaLinux 9.\n2. Apăsați „Continuă”.\n\nDiferențele dintre ele: [Sistemele de operare disponibile](#comenzi.sisteme-operare).\n\n### „Date de facturare”\n\nPasul afișează textul „Alegeți un profil salvat (companie sau date personale) — va fi folosit pe factură. Puteți omite acest pas.”\n\n1. Alegeți profilul care trebuie să apară pe factură. Profilul setat ca implicit este deja selectat.\n2. Dacă nu aveți nevoie de date pe factură, alegeți „Fără date de facturare”.\n3. Apăsați „Continuă” (cu profil) sau „Continuă fără date de facturare” (fără profil).\n\nLinkul „Gestionează datele de facturare →” deschide pagina „Date de facturare” într-o filă nouă. Un profil adăugat acolo apare în listă doar după ce reîncărcați pagina de comandă. După reîncărcare, pașii încep din nou de la primul; comanda nu este încă creată.\n\n### „Cheie SSH pentru server”\n\n1. Bifați una sau mai multe chei din „Chei salvate” sau lipiți o cheie publică în câmpul „Sau lipiți o cheie publică SSH”.\n2. Apăsați „Continuă”. Dacă nu folosiți o cheie, apăsați „Continuă fără cheie”: parola root vine atunci în emailul de activare.\n\nCând atașați o cheie, caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)” se bifează automat. Detalii, limite și erori: [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda).\n\n## Pasul 3. Comanda este creată\n\nDupă ultimul pas, pagina afișează numele planului, prețul lunar și mesajul „Se plasează comanda…”. Pentru „VPS hosting” și serverele dedicate, dacă pașii „Date de facturare” și „Cheie SSH pentru server” nu apar, comanda se plasează imediat ce se deschide pagina, cu același mesaj.\n\n| Ce primiți | Detalii |\n|---|---|\n| Numărul comenzii | `BBX-YYYY-NNNNNN`, de exemplu `BBX-2026-000123` |\n| Statusul în „Comenzi” | „Nou”: comanda nu este achitată |\n| Emailul de confirmare | subiectul „Am primit solicitarea dumneavoastră — BBX-…”, întotdeauna în română; textul este în limba contului și conține numărul (la „Număr solicitare”), numele, emailul, telefonul, serviciul și totalul |\n| Pagina următoare | pagina de plată `blackbox.md/checkout/order/…` |\n\nEmailul de confirmare are același text pentru orice comandă: „Am primit comanda dumneavoastră și echipa BlackBox o va analiza în cel mai scurt timp.” și „Vă vom contacta în curând pentru detalii suplimentare.” Emailul nu confirmă plata: serverul nu se creează până nu achitați comanda. După plată:\n\n- planurile VPS: nu trebuie să așteptați să fiți contactat; serverul se creează automat, de regulă în câteva minute după confirmarea plății;\n- „VPS hosting”: serverul se creează la fel, iar echipa vă poate contacta pentru detalii;\n- serverele dedicate: le pregătește manual echipa, care vă contactează.\n\nDetalii: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n> **Atenție**\n> Nu reîncărcați pagina cât timp apare „Se plasează comanda…” și nu apăsați din nou „Comandă” pentru o comandă pe care ați creat-o deja. Fiecare trecere prin pași creează o comandă nouă, așa că apar duplicate cu statusul „Nou”. O comandă existentă o achitați din „Comenzi” → „Achită comanda”, iar duplicatele le anulați cu „Anulează comanda”.\n\n## Pasul 4. Achitați comanda\n\n| Element pe pagina de plată | Ce înseamnă |\n|---|---|\n| „Achitare”, titlul „Comandă BBX-…” și „Referință: BBX-…” | comanda pe care o plătiți |\n| suma, de exemplu „578,00 MDL” | totalul comenzii, în MDL |\n| caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” | obligatorie: butoanele de plată sunt inactive până o bifați |\n| „Achitați X MDL” | plata cu cardul prin Paynet |\n| „Achitați din sold (Disponibil în sold: X MDL)” | plata din soldul contului; apare doar când soldul acoperă toată suma |\n\nPașii pentru fiecare metodă: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul) și [Plata unei comenzi din sold](#plati.plata-din-sold). După plată, statusul devine „În lucru”: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n> **Notă**\n> Pagina de plată se poate deschide în română chiar dacă ați comandat de pe versiunea rusă a site-ului. Schimbați limba cu comutatorul „RO / RU” din antet; pe ecranele înguste de telefon comutatorul lipsește, așa că adăugați `/ru` după `blackbox.md` în adresă. Titlul „Comandă BBX-…” rămâne în română în ambele limbi.\n\n## Plata mai târziu sau anularea\n\nO comandă neachitată rămâne în „Contul meu” → „Comenzi” cu statusul „Nou”. Butoanele din rândul comenzii sunt pictograme: pe calculator, numele apare când țineți cursorul pe ele; pe telefon le găsiți în meniul cu trei puncte (⋮, „Mai multe acțiuni”).\n\n- **Ca să o achitați:** apăsați „Achită comanda” în rândul comenzii. Se deschide aceeași pagină de plată.\n- **Ca să o anulați:** apăsați „Anulează comanda”, apoi „Da, anulează” în fereastra „Anulați comanda?”. Statusul devine „Anulat”. Comanda nu a fost achitată, deci nu se returnează nimic.\n\nDetalii: [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele), [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Limite și ce nu alegeți la comandă\n\n| Ce | Regula |\n|---|---|\n| Numărul de comenzi | cel mult 10 comenzi pe oră de pe aceeași adresă IP și 30 pe oră pe cont. Peste limită, comanda nu se creează și apare cardul „Eroare la plasarea comenzii”; așteptați și reîncercați mai târziu. Vedeți [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri). |\n| Servicii suplimentare | nu se aleg în pașii de comandă de pe site; le cereți prin suport. Un asistent AI le poate include doar într-o comandă nouă, plasată chiar de el: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare) |\n| Perioada de plată | doar lunar, în MDL: [Prețuri, monedă și perioada de plată](#comenzi.preturi) |\n| Centrul de date | nu se alege la comandă; dacă aveți cerințe de locație, scrieți suportului înainte de a comanda |\n\n## Dacă apare o eroare\n\nDacă comanda nu poate fi creată, apare cardul „Eroare la plasarea comenzii” cu un mesaj și două butoane: „Încearcă din nou” (repetă comanda cu aceleași alegeri) și „Înapoi la prețuri” (deschide prima pagină a site-ului). Ce înseamnă fiecare mesaj: [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n## Întrebări frecvente\n\n**Emailul de confirmare spune „Vă vom contacta în curând”. Trebuie să aștept?**\nNu, dacă ați comandat un plan VPS: emailul are același text pentru orice comandă și nu confirmă plata. Achitați comanda, iar serverul se creează automat, de regulă în câteva minute după confirmarea plății; nici emailul „Plată confirmată”, cu fraza „Vom continua cu procesarea comenzii dumneavoastră în cel mai scurt timp.”, nu vă cere nimic. Echipa vă contactează pentru serverele dedicate și vă poate contacta pentru detalii la „VPS hosting”.\n\n**Trebuie să am emailul confirmat ca să comand?**\nNu. Puteți comanda și plăti fără email confirmat. Confirmarea este necesară însă ca să deschideți din cont panoul app.blackbox.md, unde administrați serverul: [Verificarea adresei de email](#cont.verificare-email).\n\n**Pot comanda printr-un asistent AI?**\nDa. Un asistent conectat prin MCP poate crea comenzi și le poate achita din sold: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Am un link vechi către configurator sau către un plan retras. Ce fac?**\nConfiguratorul a fost înlocuit de planurile fixe. Linkurile vechi duc la pagina „Planuri VPS”, unde alegeți un plan actual și apăsați „Comandă”.\n",
    "ru": "Сервер заказывают на blackbox.md кнопкой «Заказать» на карточке тарифа. Открывается страница заказа (`blackbox.md/ru/checkout/plan/…`, например `/ru/checkout/plan/vm-iops1-m` для Standard M): она проводит вас через несколько коротких шагов, создаёт заказ и переводит на страницу оплаты (`blackbox.md/checkout/order/…`). Затем заказ можно найти в разделе «Мой аккаунт» → «Заказы».\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md. Если вы не вошли, сайт сначала попросит войти или создать аккаунт.\n\n## Перед заказом\n\n> **Важно**\n> На странице заказа нет формы контактов. Имя, email и телефон из раздела «Мой аккаунт» → «Профиль» автоматически копируются в заказ; если имя не указано, в заказе будет ваш email. Заполните поля «Имя» и «Телефон» до оформления заказа: [Мой профиль: имя, телефон и email](#cont.profil).\n\nПо желанию подготовьте заранее:\n\n- профиль с реквизитами, если в счёте должны стоять данные компании или ваши личные данные: [Реквизиты для счетов: компании и физлица](#plati.date-facturare);\n- SSH-ключ, сохранённый в аккаунте: [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont).\n\nИх можно добавить и во время заказа, но тогда страницу заказа придётся обновить, чтобы они появились в списке.\n\n## Шаг 1. Выберите тариф\n\n1. Найдите тариф:\n   - тарифы VPS — кнопка «Тарифы VPS» в шапке сайта (`blackbox.md/ru/servers/plans`);\n   - «VPS hosting 1», «VPS hosting 2», «VPS hosting 3» и выделенные серверы Light, Premium и Storage — на главной странице сайта.\n2. Нажмите «Заказать» на карточке тарифа.\n3. Если вы не вошли в аккаунт, откроется страница входа. Войдите по email и паролю, через Google или GitLab либо перейдите по ссылке регистрации, чтобы создать аккаунт. После входа или регистрации вы автоматически вернётесь на страницу заказа.\n\nСтраница входа открывается на румынском («Autentificare», ссылка регистрации — «Înregistrați-vă»), даже если вы начали с русской версии сайта; после входа вы вернётесь к заказу на русском.\n\n## Шаг 2. Пройдите шаги заказа\n\nНабор шагов зависит от тарифа:\n\n| Шаг | Тарифы VPS | «VPS hosting» и выделенные серверы |\n|---|---|---|\n| «Операционная система» | есть, обязательный | нет |\n| «Реквизиты для счёта» | есть, можно пропустить | есть, можно пропустить |\n| «SSH-ключ для сервера» | есть, можно пропустить | есть, можно пропустить |\n\n### «Операционная система» (только тарифы VPS)\n\n1. Выберите систему: Ubuntu 24.04 LTS (выбрана по умолчанию), Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 или AlmaLinux 9.\n2. Нажмите «Продолжить».\n\nЧем они отличаются: [Доступные операционные системы](#comenzi.sisteme-operare).\n\n### «Реквизиты для счёта»\n\nНа шаге написано: «Выберите сохранённый профиль (компания или личные данные) — он будет указан в счёте. Можно пропустить.»\n\n1. Выберите профиль, который должен стоять в счёте. Профиль по умолчанию уже выбран.\n2. Если реквизиты в счёте не нужны, выберите «Без реквизитов».\n3. Нажмите «Продолжить» (с профилем) или «Продолжить без реквизитов» (без профиля).\n\nСсылка «Управлять реквизитами →» открывает раздел «Реквизиты» в новой вкладке. Добавленный там профиль появится в списке только после того, как вы обновите страницу заказа. Шаги при этом начнутся заново; заказ ещё не создан.\n\n### «SSH-ключ для сервера»\n\n1. Отметьте один или несколько ключей в списке «Сохранённые ключи» или вставьте публичный ключ в поле «Или вставьте публичный SSH-ключ».\n2. Нажмите «Продолжить». Если ключ не нужен, нажмите «Продолжить без ключа» — тогда пароль root придёт в письме об активации.\n\nКак только вы отмечаете или вставляете ключ, флажок «Отключить вход по паролю (только SSH-ключ)» ставится автоматически. Подробности, лимиты и ошибки: [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda).\n\n## Шаг 3. Заказ создан\n\nПосле последнего шага на странице показаны название тарифа, цена за месяц и сообщение «Оформляем заказ…». Для «VPS hosting» и выделенных серверов, если шаги «Реквизиты для счёта» и «SSH-ключ для сервера» не появились, заказ оформляется сразу при открытии страницы, с тем же сообщением.\n\n| Что вы получаете | Подробности |\n|---|---|\n| Номер заказа | `BBX-YYYY-NNNNNN`, например `BBX-2026-000123` |\n| Статус в разделе «Заказы» | «Новый»: заказ не оплачен |\n| Письмо-подтверждение | тема «Am primit solicitarea dumneavoastră — BBX-…», всегда на румынском; текст письма — на языке аккаунта, в нём номер (в строке «Номер заявки»), имя, email, телефон, услуга и сумма |\n| Следующая страница | страница оплаты `blackbox.md/checkout/order/…` |\n\nТекст письма-подтверждения одинаков для любого заказа: «Мы получили вашу заявку, и команда BlackBox рассмотрит её в кратчайшие сроки.» и «Мы свяжемся с вами в ближайшее время для уточнения деталей.» Это не подтверждение оплаты: пока заказ не оплачен, сервер не создаётся. После оплаты:\n\n- тарифы VPS: ждать, пока с вами свяжутся, не нужно — сервер создаётся автоматически, обычно в течение нескольких минут после подтверждения оплаты;\n- «VPS hosting»: сервер создаётся так же, а команда может связаться с вами, чтобы уточнить детали;\n- выделенные серверы: команда готовит их вручную и связывается с вами.\n\nПодробнее: [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n> **Внимание**\n> Не обновляйте страницу, пока видно «Оформляем заказ…», и не нажимайте «Заказать» ещё раз ради уже созданного заказа. Каждое прохождение шагов создаёт новый заказ, и появляются дубликаты со статусом «Новый». Созданный заказ оплачивайте через «Заказы» → «Оплатить заказ», а дубликаты отменяйте кнопкой «Отменить заказ».\n\n## Шаг 4. Оплатите заказ\n\n| Элемент страницы оплаты | Что означает |\n|---|---|\n| «Оплата», заголовок «Comandă BBX-…» и «Референс: BBX-…» | заказ, который вы оплачиваете |\n| сумма, например «578,00 MDL» | итог заказа в MDL |\n| флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» | обязательный: кнопки оплаты неактивны, пока он не отмечен |\n| «Оплатить X MDL» | оплата картой через Paynet |\n| «Оплатить с баланса (Доступно на балансе: X MDL)» | оплата с баланса аккаунта; кнопка видна, только если баланса хватает на всю сумму |\n\nПорядок действий для каждого способа: [Оплата картой (Paynet)](#plati.plata-cu-cardul) и [Оплата заказа с баланса](#plati.plata-din-sold). После оплаты статус меняется на «В работе»: [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n> **Примечание**\n> Страница оплаты может открыться на румынском, даже если вы заказывали с русской версии сайта. Язык меняется переключателем «RO / RU» в шапке сайта; на узком экране телефона переключателя нет, поэтому допишите `/ru` после `blackbox.md` в адресной строке. Заголовок «Comandă BBX-…» остаётся на румынском на обоих языках.\n\n## Оплата позже или отмена\n\nНеоплаченный заказ остаётся в разделе «Мой аккаунт» → «Заказы» со статусом «Новый». Кнопки в строке заказа показаны значками: на компьютере название появляется при наведении курсора, на телефоне они собраны в меню с тремя точками (⋮, «Другие действия»).\n\n- **Чтобы оплатить:** нажмите «Оплатить заказ» в строке заказа. Откроется та же страница оплаты.\n- **Чтобы отменить:** нажмите «Отменить заказ», затем «Да, отменить» в окне «Отменить заказ?». Статус станет «Отменён». Заказ не был оплачен, поэтому возвращать нечего.\n\nПодробнее: [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele), [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Лимиты и что нельзя выбрать при заказе\n\n| Что | Правило |\n|---|---|\n| Количество заказов | не больше 10 заказов в час с одного IP-адреса и 30 в час на аккаунт. Сверх лимита заказ не создаётся и появляется карточка «Ошибка при оформлении заказа»; подождите и повторите позже. См. [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri). |\n| Дополнительные услуги | в шагах заказа на сайте не выбираются; их запрашивают через поддержку. AI-ассистент может добавить их только в новый заказ, который оформляет сам: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare) |\n| Период оплаты | только помесячно, в MDL: [Цены, валюта и период оплаты](#comenzi.preturi) |\n| Дата-центр | при заказе не выбирается; если у вас есть требования к расположению, напишите в поддержку до заказа |\n\n## Если появилась ошибка\n\nЕсли заказ создать не удалось, появляется карточка «Ошибка при оформлении заказа» с сообщением и двумя кнопками: «Попробовать снова» (повторяет заказ с теми же параметрами) и «Назад к тарифам» (открывает главную страницу сайта). Что означает каждое сообщение: [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n## Частые вопросы\n\n**В письме-подтверждении написано «Мы свяжемся с вами в ближайшее время». Нужно ждать?**\nЕсли вы заказали тариф VPS — нет: текст письма одинаков для любого заказа, и это не подтверждение оплаты. Оплатите заказ, и сервер создастся автоматически, обычно в течение нескольких минут после подтверждения оплаты; письмо «Plată confirmată» с фразой «Мы продолжим обработку вашей заявки в кратчайшие сроки.» тоже не требует от вас действий. Команда связывается с вами по выделенным серверам и может связаться, чтобы уточнить детали по «VPS hosting».\n\n**Нужно ли подтверждать email, чтобы сделать заказ?**\nНет. Заказать и оплатить можно и без подтверждённого email. Но подтверждение нужно, чтобы открыть из аккаунта панель app.blackbox.md, где вы управляете сервером: [Подтверждение адреса email](#cont.verificare-email).\n\n**Можно ли сделать заказ через AI-ассистента?**\nДа. Ассистент, подключённый по MCP, может создавать заказы и оплачивать их с баланса: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**У меня старая ссылка на конфигуратор или на снятый тариф. Что делать?**\nКонфигуратор заменён готовыми тарифами. Старые ссылки ведут на страницу «Тарифы VPS» — выберите актуальный тариф и нажмите «Заказать».\n",
    "en": "You order a server on blackbox.md with the “Comandă” (Order) button on a plan card. This opens the order page (`blackbox.md/checkout/plan/…`, for example `/checkout/plan/vm-iops1-m` for Standard M), which takes you through a few short steps, creates the order and sends you to the payment page (`blackbox.md/checkout/order/…`). You can then find the order in “Contul meu” (My account) → “Comenzi” (Orders).\n\n**Available to:** any customer signed in to blackbox.md. If you are not signed in, the website first asks you to sign in or create an account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Before you order\n\n> **Important**\n> The order page has no contact form. The name, email and phone number from “Contul meu” (My account) → “Profil” (Profile) are copied into the order automatically; if the name is missing, the order shows your email address. Fill in “Nume” (Name) and “Telefon” (Phone) before you order: [My profile: name, phone number and email](#cont.profil).\n\nOptionally, prepare these in advance:\n\n- a billing profile, if the invoice must carry a company's details or your personal details: [Billing details for companies and individuals](#plati.date-facturare);\n- an SSH key saved in your account: [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont).\n\nYou can also add them while you order, but then you have to reload the order page for them to appear in the list.\n\n## Step 1. Choose a plan\n\n1. Find the plan:\n   - VPS plans: the “Planuri VPS” (VPS plans) button in the site header (`blackbox.md/servers/plans`);\n   - “VPS hosting 1”, “VPS hosting 2”, “VPS hosting 3” and the Light, Premium and Storage dedicated servers: on the website's home page.\n2. Click “Comandă” (Order) on the plan card.\n3. If you are not signed in, the “Autentificare” (Sign in) page opens. Sign in with your email and password, with Google or GitLab, or click “Înregistrați-vă” (Sign up) to create a new account. After you sign in or sign up, you return to the order page automatically.\n\nThe “Autentificare” page opens in Romanian even if you started from the Russian version of the website; after you sign in, you return to the order in Russian.\n\n## Step 2. Go through the order steps\n\nThe steps depend on the plan:\n\n| Step | VPS plans | “VPS hosting” and dedicated servers |\n|---|---|---|\n| “Sistem de operare” (Operating system) | yes, required | no |\n| “Date de facturare” (Billing details) | yes, you can skip it | yes, you can skip it |\n| “Cheie SSH pentru server” (SSH key for the server) | yes, you can skip it | yes, you can skip it |\n\n### “Sistem de operare” (VPS plans only)\n\n1. Choose the system: Ubuntu 24.04 LTS (selected by default), Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 12, Debian 11, CentOS Stream 9 or AlmaLinux 9.\n2. Click “Continuă” (Continue).\n\nHow they differ: [Available operating systems](#comenzi.sisteme-operare).\n\n### “Date de facturare”\n\nThe step shows the text “Alegeți un profil salvat (companie sau date personale) — va fi folosit pe factură. Puteți omite acest pas.” (Choose a saved profile (company or personal details); it will be used on the invoice. You can skip this step.)\n\n1. Choose the profile that should appear on the invoice. The profile set as your default is already selected.\n2. If you don't need any details on the invoice, choose “Fără date de facturare” (No billing details).\n3. Click “Continuă” if you chose a profile, or “Continuă fără date de facturare” (Continue without billing details) if you did not.\n\nThe “Gestionează datele de facturare →” (Manage billing details →) link opens the “Date de facturare” page in a new tab. A profile you add there appears in the list only after you reload the order page. After the reload, the steps start again from the first one; the order has not been created yet.\n\n### “Cheie SSH pentru server”\n\n1. Tick one or more keys under “Chei salvate” (Saved keys), or paste a public key into the “Sau lipiți o cheie publică SSH” (Or paste a public SSH key) field.\n2. Click “Continuă”. If you are not using a key, click “Continuă fără cheie” (Continue without a key): your root password then comes in the activation email.\n\nWhen you attach a key, the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box is ticked automatically. Details, limits and errors: [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda).\n\n## Step 3. Your order is created\n\nAfter the last step, the page shows the plan name, the monthly price and the message “Se plasează comanda…” (Placing your order…). For “VPS hosting” and dedicated servers, if the “Date de facturare” (Billing details) and “Cheie SSH pentru server” (SSH key for the server) steps do not appear, the order is placed as soon as the page opens, with the same message.\n\n| What you get | Details |\n|---|---|\n| Order number | `BBX-YYYY-NNNNNN`, for example `BBX-2026-000123` |\n| Status in “Comenzi” (Orders) | “Nou” (New): the order has not been paid |\n| Confirmation email | subject “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…), always in Romanian; the text is in your account's language and contains the number (next to “Număr solicitare” (Request number)), your name, email and phone number, the service and the total |\n| Next page | the payment page `blackbox.md/checkout/order/…` |\n\nThe confirmation email has the same text for every order: “Am primit comanda dumneavoastră și echipa BlackBox o va analiza în cel mai scurt timp.” (We have received your order, and the BlackBox team will review it as soon as possible.) and “Vă vom contacta în curând pentru detalii suplimentare.” (We will contact you soon for further details.) The email does not confirm payment: the server is not created until you pay for the order. After payment:\n\n- VPS plans: you don't need to wait to be contacted; the server is created automatically, usually within a few minutes after the payment is confirmed;\n- “VPS hosting”: the server is created the same way, and the team may contact you for details;\n- dedicated servers: the team prepares them manually and contacts you.\n\nDetails: [After payment: server activation and emails](#comenzi.dupa-plata).\n\n> **Warning**\n> Do not reload the page while “Se plasează comanda…” is shown, and do not click “Comandă” (Order) again for an order you have already created. Each pass through the steps creates a new order, so you end up with duplicates with the “Nou” status. Pay for an existing order from “Comenzi” → “Achită comanda” (Pay for the order), and cancel the duplicates with “Anulează comanda” (Cancel the order).\n\n## Step 4. Pay for the order\n\n| Element on the payment page | What it means |\n|---|---|\n| “Achitare” (Payment), the title “Comandă BBX-…” (Order BBX-…) and “Referință: BBX-…” (Reference: BBX-…) | the order you are paying for |\n| the amount, for example “578,00 MDL” | the order total, in MDL |\n| the “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy) box | required: the payment buttons stay inactive until you tick it |\n| “Achitați X MDL” (Pay X MDL) | payment by card through Paynet |\n| “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)) | payment from your account balance; shown only when your balance covers the full amount |\n\nSteps for each method: [Paying by card (Paynet)](#plati.plata-cu-cardul) and [Paying for an order from your balance](#plati.plata-din-sold). After payment, the status changes to “În lucru” (In progress): [After payment: server activation and emails](#comenzi.dupa-plata).\n\n> **Note**\n> The payment page may open in Romanian even if you ordered from the Russian version of the website. Change the language with the “RO / RU” switcher in the header; on narrow phone screens the switcher is missing, so add `/ru` after `blackbox.md` in the address bar. The “Comandă BBX-…” title stays in Romanian in both languages.\n\n## Paying later or canceling\n\nAn unpaid order stays in “Contul meu” (My account) → “Comenzi” (Orders) with the “Nou” (New) status. The buttons in the order row are icons: on a computer, their name appears when you hover over them; on a phone, you find them in the three-dot menu (⋮, “Mai multe acțiuni” (More actions)).\n\n- **To pay for it:** click “Achită comanda” (Pay for the order) in the order row. The same payment page opens.\n- **To cancel it:** click “Anulează comanda” (Cancel the order), then “Da, anulează” (Yes, cancel) in the “Anulați comanda?” (Cancel the order?) window. The status changes to “Anulat” (Canceled). The order was not paid, so there is nothing to refund.\n\nDetails: [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele), [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Limits and what you don't choose when ordering\n\n| What | Rule |\n|---|---|\n| Number of orders | at most 10 orders per hour from the same IP address and 30 per hour per account. Above the limit, the order is not created and the “Eroare la plasarea comenzii” (Error placing the order) card appears; wait and try again later. See [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri). |\n| Add-on services | not chosen in the order steps on the website; you request them through support. An AI assistant can include them only in a new order that it places itself: [Add-on services for your server](#servicii.servicii-suplimentare) |\n| Billing period | monthly only, in MDL: [Prices, currency and billing period](#comenzi.preturi) |\n| Data center | not chosen when you order; if you have location requirements, write to support before you order |\n\n## If an error appears\n\nIf the order cannot be created, the “Eroare la plasarea comenzii” (Error placing the order) card appears with a message and two buttons: “Încearcă din nou” (Try again), which repeats the order with the same choices, and “Înapoi la prețuri” (Back to pricing), which opens the website's home page. What each message means: [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n## Frequently asked questions\n\n**The confirmation email says “Vă vom contacta în curând” (We will contact you soon). Do I have to wait?**\nNot if you ordered a VPS plan: the email has the same text for every order and does not confirm payment. Pay for the order, and the server is created automatically, usually within a few minutes after the payment is confirmed; the “Plată confirmată” (Payment confirmed) email, with the sentence “Vom continua cu procesarea comenzii dumneavoastră în cel mai scurt timp.” (We will continue processing your order as soon as possible.), does not ask anything of you either. The team contacts you about dedicated servers and may contact you for details about “VPS hosting”.\n\n**Do I need a confirmed email address to place an order?**\nNo. You can order and pay without a confirmed email address. However, you need to confirm it to open the app.blackbox.md panel, where you manage your server, from your account: [Verifying your email address](#cont.verificare-email).\n\n**Can I order through an AI assistant?**\nYes. An assistant connected through MCP can create orders and pay for them from your balance: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**I have an old link to the configurator or to a plan that has been withdrawn. What do I do?**\nThe configurator has been replaced by fixed plans. Old links lead to the “Planuri VPS” (VPS plans) page, where you choose a current plan and click “Comandă” (Order).\n"
   }
  },
  {
   "id": "comenzi.cheie-ssh-la-comanda",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/cheie-ssh-la-comanda/",
    "ru": "https://docs.blackbox.md/ru/comenzi/cheie-ssh-la-comanda/",
    "en": "https://docs.blackbox.md/en/comenzi/cheie-ssh-la-comanda/"
   },
   "title": {
    "ro": "Cheia SSH la comandă și serverele „doar cu cheie”",
    "ru": "SSH-ключ при заказе и серверы «только по ключу»",
    "en": "The SSH key at order time and “key-only” servers"
   },
   "summary": {
    "ro": "Cum atașați chei SSH la un server nou, ce înseamnă dezactivarea autentificării cu parolă și ce primiți pe email.",
    "ru": "Как прикрепить SSH-ключи к новому серверу, что означает отключение входа по паролю и что приходит по email.",
    "en": "How to attach SSH keys to a new server, what disabling password login means, and what you receive by email."
   },
   "markdown": {
    "ro": "Pasul „Cheie SSH pentru server” face parte din comanda unui server pe blackbox.md (`blackbox.md/checkout/plan/…`). Aici atașați chei SSH publice, ca să vă conectați la serverul nou fără parolă, și alegeți dacă serverul se creează „doar cu cheie”. Ajungeți la el după ce apăsați „Comandă” pe cardul planului și treceți de pașii anteriori (vedeți tabelul de mai jos).\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md, la comanda unui server nou.\n\n## Când apare pasul\n\n| Plan | Ordinea pașilor |\n|---|---|\n| Planurile VPS (pagina „Planuri VPS”) | „Sistem de operare” → „Date de facturare” → „Cheie SSH pentru server” |\n| Planurile VPS hosting | „Date de facturare” → „Cheie SSH pentru server” |\n| Serverele dedicate | Pasul apare, dar serverele dedicate sunt pregătite manual de echipă; vă contactăm. Confirmați cu suportul cum primiți accesul. |\n\nDupă acest pas, comanda se creează imediat („Se plasează comanda…”) și treceți la plată. Cheile nu se mai pot schimba pe o comandă plasată; le gestionați ulterior din panou (vedeți mai jos).\n\n## Pregătiți cheia publică\n\nLa comandă dați doar partea **publică** a cheii: fișierul cu extensia `.pub`. Dacă nu aveți o pereche de chei, urmați [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). Ca s-o alegeți dintr-un clic, salvați-o înainte în „Contul meu” → „Chei SSH” (vedeți [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont)).\n\nAfișați cheia publică pe Linux sau macOS:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nLinia începe cu tipul cheii, de exemplu `ssh-ed25519 AAAA… comentariu`. Tipuri acceptate:\n\n| Tip | Observații |\n|---|---|\n| `ssh-ed25519` | — |\n| `ssh-rsa` | cel puțin 2048 de biți |\n| `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521` | — |\n| `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` | chei hardware (FIDO) |\n\nAlte tipuri (de exemplu DSA, `ssh-dss`) nu sunt acceptate.\n\n> **Atenție**\n> Nu lipiți niciodată cheia privată (fișierul fără `.pub` sau un text care începe cu `-----BEGIN`). Pagina o refuză cu mesajul „Aceasta pare a fi o cheie privată sau mai multe linii. Lipiți O SINGURĂ linie de cheie publică SSH.” Cheia privată rămâne doar pe calculatorul dvs.\n\n## Cum atașați cheile\n\n1. Apăsați „Comandă” pe cardul planului. Dacă nu sunteți autentificat, vă autentificați și reveniți automat la comandă.\n2. Treceți de pașii anteriori: „Sistem de operare” (doar la planurile VPS) și „Date de facturare” („Continuă” sau „Continuă fără date de facturare”).\n3. În pasul „Cheie SSH pentru server” („Atașați o cheie SSH pentru a vă conecta la server fără parolă. Puteți omite acest pas.”), alegeți cheile:\n   - sub „Chei salvate”, bifați una sau mai multe chei; fiecare rând arată numele, tipul și începutul amprentei (blocul apare doar dacă aveți chei salvate în „Chei SSH”);\n   - și/sau lipiți o cheie publică în câmpul „Sau lipiți o cheie publică SSH” (o singură linie).\n4. Caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)” se bifează automat când bifați sau lipiți prima cheie. Lăsați-o bifată pentru un server „doar cu cheie” sau debifați-o ca să păstrați și autentificarea cu parolă.\n5. Apăsați „Continuă”. Apare „Se plasează comanda…”, apoi pagina de plată.\n\nLa o comandă puteți atașa cel mult **10 chei** în total (bifate și lipite). Linkul „Gestionează cheile SSH →” deschide „Chei SSH” într-o filă nouă. Cheile atașate se instalează pentru utilizatorul `root` împreună cu comentariul lor, ca să le recunoașteți ușor pe server.\n\n## Ce înseamnă „doar cu cheie”\n\n| Ce alegeți | Cum se creează serverul | Emailul „Serverul dvs. este gata” | Insigna în panou |\n|---|---|---|---|\n| Cheie + caseta bifată | Autentificarea SSH cu parolă este dezactivată; `root` intră doar cu cheie. | Amprentele cheilor, fără parolă. | „Doar cheie” |\n| Cheie + caseta debifată | Cheile sunt instalate, iar autentificarea cu parolă rămâne activă. | Parola root. | „Parolă + cheie” |\n| „Continuă fără cheie” (sau „Continuă” fără nicio cheie) | Autentificare cu parolă. | Parola root. | „Parolă + cheie” |\n\nInsigna „Parolă + cheie” înseamnă că autentificarea cu parolă este permisă. Caseta este inactivă cât timp nu ați ales nicio cheie: un server „doar cu cheie” fără cheie ar fi inaccesibil.\n\nȘi pe un server „doar cu cheie” există o parolă root. Indicația „Parola de consolă rămâne disponibilă în panou.” înseamnă că parola este salvată în panou: o vedeți cu „Afișează datele de acces” pe cardul serverului din „Serverele mele” (vedeți [Afișarea datelor de acces root](#acces.afisare-date-acces)). Prin SSH nu funcționează până nu apăsați „Activează login cu parolă” pe același card. Pe server, valoarea efectivă se verifică astfel:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nPe un server „doar cu cheie”, rezultatul este `passwordauthentication no`.\n\n## Ce primiți pe email\n\nCând serverul este gata, primiți emailul „Serverul dvs. este gata — BBX-…” (de exemplu `BBX-2026-000123`). Conținutul depinde de modul ales:\n\n- **doar cheie:** rândul „Autentificare” cu textul „Cheie SSH — autentificarea cu parolă este dezactivată”, apoi „Amprente chei”, cu câte o amprentă `SHA256:…` pentru fiecare cheie. Parola nu apare în email.\n- **cu parolă:** rândurile „Utilizator” (`root`) și „Parolă” (parola root). Schimbați parola după prima conectare și configurați o cheie SSH.\n\nComparați amprenta din email cu cea a cheii dvs. Pe Linux sau macOS:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nApoi conectați-vă (detalii în [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh root@IP_SERVER\n```\n\n> **Notă**\n> Emailul pentru modul „doar cheie” pomenește o consolă VNC. Clienții nu au consolă web sau VNC: accesul la server este doar prin SSH. Dacă nu vă mai puteți conecta, scrieți-ne.\n\n## Modificări după comandă\n\nTotul se face pe cardul serverului din panoul app.blackbox.md → „Serverele mele”:\n\n| Ce doriți | Butonul |\n|---|---|\n| Adăugați o cheie | „Adaugă cheie SSH” |\n| Ștergeți o cheie | „Adaugă cheie SSH” → lista „Chei instalate” → „Șterge” |\n| Reactivați autentificarea cu parolă | „Activează login cu parolă” |\n| Treceți la „doar cheie” | „Dezactivează login cu parolă” |\n\nPașii sunt în [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server) și în [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). În „Chei instalate” vedeți și „Cheie de administrare (blackbox.md)”. Nu o ștergeți din server: de ea depind butoanele panoului. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n> **Sfat**\n> Păstrați o copie de rezervă a cheii private într-un loc sigur. Pe un server „doar cu cheie”, fără ea nu vă mai puteți conecta prin SSH. Dacă ați pierdut-o, urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Erori posibile\n\nPrimele două mesaje apar chiar în pas, înainte de plasarea comenzii. Celelalte apar pe ecranul „Eroare la plasarea comenzii”, iar comanda nu se creează.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Aceasta pare a fi o cheie privată sau mai multe linii. Lipiți O SINGURĂ linie de cheie publică SSH.” | Ați lipit o cheie privată sau mai multe rânduri. | Lipiți o singură linie din fișierul `.pub`. |\n| „Cheia SSH nu a putut fi recunoscută. Lipiți exact o singură linie de cheie publică.” | Textul nu arată ca o cheie publică. | Copiați din nou întreaga linie din fișierul `.pub`. |\n| „Datele cheii SSH sunt invalide.” | Datele trimise despre chei nu au formatul așteptat. | Reîncărcați pagina și refaceți pașii. Dacă se repetă, scrieți-ne. |\n| „Cheia SSH introdusă nu a putut fi recunoscută.” | Tip neacceptat, RSA sub 2048 de biți sau cheie deteriorată. | Folosiți un tip din tabelul de mai sus sau generați o cheie `ssh-ed25519`. |\n| „Una dintre cheile SSH selectate nu a fost găsită.” | O cheie bifată a fost ștearsă din „Chei SSH” între timp. | Reîncărcați pagina și alegeți din nou cheile. |\n| „Ați selectat prea multe chei SSH.” | Peste 10 chei la o comandă. | Alegeți cel mult 10. |\n| „Trebuie să fiți autentificat pentru a folosi chei SSH salvate.” | Sesiunea a expirat. | Autentificați-vă din nou și refaceți comanda. |\n\n„Încearcă din nou” retrimite aceleași chei, deci eroarea se repetă. Reîncărcați pagina: pașii o iau de la început și puteți corecta cheile. Alte erori de comandă sunt în [Erori la plasarea comenzii și ce înseamnă](#comenzi.erori-comanda).\n\n## Întrebări frecvente\n\n**Pot comanda fără cheie SSH?**\nDa. Apăsați „Continuă fără cheie”. Parola root vine pe email și este în panou, iar cheile le puteți adăuga oricând cu „Adaugă cheie SSH”.\n\n**Am adăugat o cheie în „Chei SSH”, dar nu apare în pas. De ce?**\nLista se încarcă la deschiderea pasului. Reîncărcați pagina de comandă (pașii o iau de la început) sau lipiți cheia în câmpul „Sau lipiți o cheie publică SSH”.\n\n**Dacă șterg cheia din „Chei SSH”, dispare și de pe server?**\nNu. Cheile deja instalate rămân pe server. Ca s-o scoateți de pe server, apăsați „Adaugă cheie SSH” pe cardul serverului, apoi „Șterge” în lista „Chei instalate”.\n\n**Pot folosi aceeași cheie pentru mai multe servere?**\nDa. O cheie salvată se poate atașa la oricâte comenzi.\n\n**Prima conectare eșuează imediat după email. Ce fac?**\nEmailul poate sosi înainte ca SSH să pornească pe server. Așteptați câteva minute și reîncercați.\n",
    "ru": "Шаг «SSH-ключ для сервера» — часть оформления заказа на blackbox.md (`blackbox.md/checkout/plan/…`). На нём вы прикрепляете публичные SSH-ключи, чтобы подключаться к новому серверу без пароля, и решаете, создавать ли сервер «только по ключу». Шаг открывается после того, как вы нажмёте «Заказать» на карточке тарифа и пройдёте предыдущие шаги (см. таблицу ниже).\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md, при заказе нового сервера.\n\n## Когда появляется этот шаг\n\n| Тариф | Порядок шагов |\n|---|---|\n| Тарифы VPS (страница «Тарифы VPS») | «Операционная система» → «Реквизиты для счёта» → «SSH-ключ для сервера» |\n| Тарифы VPS hosting | «Реквизиты для счёта» → «SSH-ключ для сервера» |\n| Выделенные серверы | Шаг показывается, но выделенные серверы команда готовит вручную; мы свяжемся с вами. Уточните в поддержке, как вы получите доступ. |\n\nПосле этого шага заказ создаётся сразу («Оформляем заказ…»), и вы переходите к оплате. Изменить ключи в уже оформленном заказе нельзя — дальше ими управляют из панели (см. ниже).\n\n## Подготовьте публичный ключ\n\nПри заказе указывается только **публичная** часть ключа — файл с расширением `.pub`. Если пары ключей у вас ещё нет, воспользуйтесь статьёй [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). Чтобы выбирать ключ одним щелчком, заранее сохраните его в разделе «Мой аккаунт» → «SSH-ключи» (см. [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont)).\n\nКак вывести публичный ключ в Linux или macOS:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nСтрока начинается с типа ключа, например `ssh-ed25519 AAAA… комментарий`. Поддерживаемые типы:\n\n| Тип | Примечание |\n|---|---|\n| `ssh-ed25519` | — |\n| `ssh-rsa` | не менее 2048 бит |\n| `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521` | — |\n| `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` | аппаратные ключи (FIDO) |\n\nДругие типы (например, DSA, `ssh-dss`) не принимаются.\n\n> **Внимание**\n> Никогда не вставляйте приватный ключ (файл без `.pub` или текст, который начинается с `-----BEGIN`). Страница его не примет и покажет сообщение «Похоже на приватный ключ или несколько строк. Вставьте ОДНУ строку публичного SSH-ключа.» Приватный ключ остаётся только на вашем компьютере.\n\n## Как прикрепить ключи\n\n1. Нажмите «Заказать» на карточке тарифа. Если вы не вошли в аккаунт, войдите — после входа вы вернётесь к заказу.\n2. Пройдите предыдущие шаги: «Операционная система» (только для тарифов VPS) и «Реквизиты для счёта» («Продолжить» или «Продолжить без реквизитов»).\n3. На шаге «SSH-ключ для сервера» («Прикрепите SSH-ключ, чтобы подключаться к серверу без пароля. Можно пропустить.») выберите ключи:\n   - в блоке «Сохранённые ключи» отметьте один или несколько ключей; в каждой строке видны название, тип и начало отпечатка (блок появляется, только если в разделе «SSH-ключи» есть сохранённые ключи);\n   - и/или вставьте публичный ключ в поле «Или вставьте публичный SSH-ключ» (одна строка).\n4. Флажок «Отключить вход по паролю (только SSH-ключ)» ставится автоматически, как только вы отметите или вставите первый ключ. Оставьте его, если нужен сервер «только по ключу», или снимите, чтобы вход по паролю тоже работал.\n5. Нажмите «Продолжить». Появится «Оформляем заказ…», затем откроется страница оплаты.\n\nК одному заказу можно прикрепить не больше **10 ключей** — сохранённые и вставленный считаются вместе. Ссылка «Управлять SSH-ключами →» открывает раздел «SSH-ключи» в новой вкладке. Прикреплённые ключи устанавливаются для пользователя `root` вместе с комментариями — так их легко узнать на сервере.\n\n## Что значит «только по ключу»\n\n| Что вы выбрали | Что будет на сервере | Письмо о готовности сервера | Значок в панели |\n|---|---|---|---|\n| Ключ + флажок стоит | Вход по SSH с паролем отключён; `root` входит только по ключу. | Отпечатки ключей, без пароля. | «Только ключ» |\n| Ключ + флажок снят | Ключи установлены, вход по паролю остаётся включённым. | Пароль root. | «Пароль + ключ» |\n| «Продолжить без ключа» (или «Продолжить» без ключей) | Вход по паролю. | Пароль root. | «Пароль + ключ» |\n\nЗначок «Пароль + ключ» означает, что вход по паролю разрешён. Пока ни один ключ не выбран, флажок неактивен: сервер «только по ключу» без ключа оказался бы недоступен.\n\nПароль root есть и у сервера «только по ключу». Подсказка «Пароль для консоли остаётся доступен в панели.» означает, что пароль сохранён в панели: его показывает кнопка «Показать учётные данные» на карточке сервера в разделе «Мои серверы» (см. [Просмотр учётных данных root](#acces.afisare-date-acces)). По SSH этот пароль не сработает, пока вы не нажмёте на той же карточке «Включить вход по паролю». Действующее значение на сервере проверяется так:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nНа сервере «только по ключу» результат — `passwordauthentication no`.\n\n## Что приходит по email\n\nКогда сервер будет готов, придёт письмо с темой «Serverul dvs. este gata — BBX-…» (тема всегда на румынском, номер вида `BBX-2026-000123`). Содержание зависит от выбранного режима:\n\n- **только по ключу:** строка «Аутентификация» с текстом «SSH-ключ — вход по паролю отключён», затем «Отпечатки ключей» — по одному отпечатку `SHA256:…` на каждый ключ. Пароля в письме нет.\n- **с паролем:** строки «Пользователь» (`root`) и «Пароль» (пароль root). Смените пароль после первого входа и настройте SSH-ключ.\n\nСравните отпечаток из письма с отпечатком своего ключа. В Linux или macOS:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nЗатем подключитесь (подробнее — в статье [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\n> **Примечание**\n> В письме для режима «только по ключу» упоминается VNC-консоль. Ни веб-консоли, ни VNC-консоли у клиентов нет: доступ к серверу возможен только по SSH. Если подключиться не получается, напишите нам.\n\n## Изменения после заказа\n\nВсё делается на карточке сервера в панели app.blackbox.md → «Мои серверы»:\n\n| Что нужно | Кнопка |\n|---|---|\n| Добавить ключ | «Добавить SSH-ключ» |\n| Удалить ключ | «Добавить SSH-ключ» → список «Установленные ключи» → «Удалить» |\n| Снова разрешить вход по паролю | «Включить вход по паролю» |\n| Перейти на «только по ключу» | «Отключить вход по паролю» |\n\nПошаговые инструкции — в статьях [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server) и [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). В списке «Установленные ключи» есть и «Ключ управления (blackbox.md)». Не удаляйте его с сервера: от него зависят кнопки панели. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n> **Совет**\n> Храните резервную копию приватного ключа в надёжном месте. На сервере «только по ключу» без него подключиться по SSH не получится. Если ключ потерян, воспользуйтесь статьёй [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Возможные ошибки\n\nПервые два сообщения появляются прямо на шаге, до оформления заказа. Остальные выводятся на экране «Ошибка при оформлении заказа», и заказ не создаётся.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Похоже на приватный ключ или несколько строк. Вставьте ОДНУ строку публичного SSH-ключа.» | Вставлен приватный ключ или несколько строк. | Вставьте одну строку из файла `.pub`. |\n| «Не удалось распознать SSH-ключ. Вставьте ровно одну строку публичного ключа.» | Текст не похож на публичный ключ. | Ещё раз скопируйте строку из файла `.pub` целиком. |\n| «Некорректные данные SSH-ключа.» | Данные о ключах переданы в неожиданном формате. | Обновите страницу и пройдите шаги заново. Если ошибка повторяется, напишите нам. |\n| «Не удалось распознать введённый SSH-ключ.» | Неподдерживаемый тип, RSA короче 2048 бит или повреждённый ключ. | Используйте тип из таблицы выше или создайте ключ `ssh-ed25519`. |\n| «Один из выбранных SSH-ключей не найден.» | Отмеченный ключ тем временем удалили из раздела «SSH-ключи». | Обновите страницу и выберите ключи заново. |\n| «Выбрано слишком много SSH-ключей.» | В заказе больше 10 ключей. | Оставьте не больше 10. |\n| «Для использования сохранённых SSH-ключей нужно войти в аккаунт.» | Сессия истекла. | Войдите снова и оформите заказ заново. |\n\nКнопка «Попробовать снова» отправляет те же ключи, поэтому ошибка повторится. Обновите страницу: шаги начнутся сначала, и вы сможете исправить ключи. Другие ошибки заказа описаны в статье [Ошибки при оформлении заказа и что они значат](#comenzi.erori-comanda).\n\n## Частые вопросы\n\n**Можно ли заказать сервер без SSH-ключа?**\nДа. Нажмите «Продолжить без ключа». Пароль root придёт по email и будет доступен в панели, а ключи можно добавить в любой момент кнопкой «Добавить SSH-ключ».\n\n**Ключ добавлен в «SSH-ключи», но на шаге его нет. Почему?**\nСписок загружается при открытии шага. Обновите страницу заказа (шаги начнутся сначала) или вставьте ключ в поле «Или вставьте публичный SSH-ключ».\n\n**Если удалить ключ из «SSH-ключей», он исчезнет с сервера?**\nНет. Уже установленные ключи остаются на сервере. Чтобы убрать ключ с сервера, нажмите «Добавить SSH-ключ» на карточке сервера, а затем «Удалить» в списке «Установленные ключи».\n\n**Можно ли использовать один ключ для нескольких серверов?**\nДа. Сохранённый ключ можно прикреплять к любому количеству заказов.\n\n**Сразу после письма подключиться не удаётся. Что делать?**\nПисьмо может прийти раньше, чем на сервере запустится SSH. Подождите несколько минут и повторите попытку.\n",
    "en": "The “Cheie SSH pentru server” (SSH key for the server) step is part of ordering a server on blackbox.md (`blackbox.md/checkout/plan/…`). In this step, you attach public SSH keys so you can connect to the new server without a password, and you choose whether the server is created as “key-only”. You reach it after you click “Comandă” (Order) on the plan's card and go through the previous steps (see the table below).\n\n**Available to:** any customer signed in to blackbox.md, when ordering a new server.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## When the step appears\n\n| Plan | Order of the steps |\n|---|---|\n| VPS plans, on the “Planuri VPS” (VPS plans) page | “Sistem de operare” (Operating system) → “Date de facturare” (Billing details) → “Cheie SSH pentru server” (SSH key for the server) |\n| VPS hosting plans | “Date de facturare” → “Cheie SSH pentru server” |\n| Dedicated servers | The step appears, but dedicated servers are prepared manually by our team; we contact you. Check with support how you will receive access. |\n\nAfter this step, the order is created right away (you see “Se plasează comanda…” (Placing your order…)) and you move on to payment. The keys can no longer be changed on an order that has been placed; you manage them later from the panel (see below).\n\n## Prepare your public key\n\nWhen you order, you provide only the **public** part of the key: the file with the `.pub` extension. If you don't have a key pair, follow [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). To choose your key with a single click, save it beforehand in “Contul meu” (My account) → “Chei SSH” (SSH keys) (see [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont)).\n\nTo display your public key on Linux or macOS:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nThe line starts with the key type, for example `ssh-ed25519 AAAA… comment`. Accepted types:\n\n| Type | Notes |\n|---|---|\n| `ssh-ed25519` | — |\n| `ssh-rsa` | at least 2048 bits |\n| `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521` | — |\n| `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` | hardware keys (FIDO) |\n\nOther types (for example DSA, `ssh-dss`) are not accepted.\n\n> **Warning**\n> Never paste your private key (the file without `.pub`, or text that starts with `-----BEGIN`). The page rejects it with the message “Aceasta pare a fi o cheie privată sau mai multe linii. Lipiți O SINGURĂ linie de cheie publică SSH.” (This looks like a private key or several lines. Paste ONE line of a public SSH key.) Your private key stays only on your computer.\n\n## How to attach keys\n\n1. Click “Comandă” (Order) on the plan's card. If you are not signed in, you sign in first and are then brought back to the order automatically.\n2. Go through the previous steps: “Sistem de operare” (Operating system) (VPS plans only) and “Date de facturare” (Billing details), with “Continuă” (Continue) or “Continuă fără date de facturare” (Continue without billing details).\n3. In the “Cheie SSH pentru server” (SSH key for the server) step, which says “Atașați o cheie SSH pentru a vă conecta la server fără parolă. Puteți omite acest pas.” (Attach an SSH key to connect to the server without a password. You can skip this step.), choose your keys:\n   - under “Chei salvate” (Saved keys), check one or more keys; each row shows the name, the type and the beginning of the fingerprint (this block appears only if you have keys saved in “Chei SSH” (SSH keys));\n   - and/or paste a public key into the “Sau lipiți o cheie publică SSH” (Or paste a public SSH key) field (a single line).\n4. The “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box is checked automatically when you check or paste the first key. Leave it checked for a “key-only” server, or uncheck it to keep password login as well.\n5. Click “Continuă”. “Se plasează comanda…” (Placing your order…) appears, followed by the payment page.\n\nYou can attach at most **10 keys** per order in total (checked and pasted together). The “Gestionează cheile SSH →” (Manage SSH keys →) link opens “Chei SSH” in a new tab. The attached keys are installed for the `root` user together with their comment, so you can easily recognize them on the server.\n\n## What “key-only” means\n\n| What you choose | How the server is created | The “Serverul dvs. este gata” (Your server is ready) email | Badge in the panel |\n|---|---|---|---|\n| Key + box checked | SSH password login is disabled; `root` logs in only with a key. | The key fingerprints, no password. | “Key-only” |\n| Key + box unchecked | The keys are installed, and password login stays enabled. | The root password. | “Password + key” |\n| “Continuă fără cheie” (Continue without a key), or “Continuă” (Continue) without any key | Password login. | The root password. | “Password + key” |\n\nThe “Password + key” badge means that password login is allowed. The box stays disabled as long as you haven't chosen any key: a “key-only” server without a key would be unreachable.\n\nA “key-only” server also has a root password. The hint “Parola de consolă rămâne disponibilă în panou.” (The console password remains available in the panel.) means that the password is saved in the panel: you can see it with “Reveal credentials” on the server card in “My Servers” (see [Showing root credentials](#acces.afisare-date-acces)). It does not work over SSH until you click “Enable password login” on the same card. To check the effective value on the server:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nOn a “key-only” server, the result is `passwordauthentication no`.\n\n## What you receive by email\n\nWhen the server is ready, you receive the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…); the number at the end looks like `BBX-2026-000123`. What it contains depends on the mode you chose:\n\n- **key-only:** the “Autentificare” (Authentication) row with the text “Cheie SSH — autentificarea cu parolă este dezactivată” (SSH key — password authentication is disabled), then “Amprente chei” (Key fingerprints), with one `SHA256:…` fingerprint for each key. The password does not appear in the email.\n- **with a password:** the “Utilizator” (User) row (`root`) and the “Parolă” (Password) row (the root password). Change the password after you first log in and set up an SSH key.\n\nCompare the fingerprint in the email with your key's fingerprint. On Linux or macOS:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nThen connect (details in [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh root@SERVER_IP\n```\n\n> **Note**\n> The email for “key-only” mode mentions a VNC console. Customers have no web or VNC console: the server can be accessed only over SSH. If you can no longer connect, write to us.\n\n## Changes after you order\n\nEverything is done on the server card in the app.blackbox.md panel → “My Servers”:\n\n| What you want | Button |\n|---|---|\n| Add a key | “Add SSH key” |\n| Remove a key | “Add SSH key” → the “Installed keys” list → “Remove” |\n| Turn password login back on | “Enable password login” |\n| Switch to “key-only” | “Disable password login” |\n\nThe steps are in [Adding and removing SSH keys on the server](#acces.chei-ssh-server) and [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). In “Installed keys” you also see “Management key (blackbox.md)”. Do not remove it from the server: the panel buttons depend on it. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n> **Tip**\n> Keep a backup copy of your private key in a safe place. On a “key-only” server, you cannot connect over SSH without it. If you have lost it, follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Possible errors\n\nThe first two messages appear right in the step, before the order is placed. The others appear on the “Eroare la plasarea comenzii” (Error placing the order) screen, and the order is not created.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Aceasta pare a fi o cheie privată sau mai multe linii. Lipiți O SINGURĂ linie de cheie publică SSH.” (This looks like a private key or several lines. Paste ONE line of a public SSH key.) | You pasted a private key or several lines. | Paste a single line from the `.pub` file. |\n| “Cheia SSH nu a putut fi recunoscută. Lipiți exact o singură linie de cheie publică.” (The SSH key could not be recognized. Paste exactly one line of a public key.) | The text doesn't look like a public key. | Copy the whole line from the `.pub` file again. |\n| “Datele cheii SSH sunt invalide.” (The SSH key data is invalid.) | The data sent about the keys is not in the expected format. | Reload the page and go through the steps again. If it happens again, write to us. |\n| “Cheia SSH introdusă nu a putut fi recunoscută.” (The SSH key you entered could not be recognized.) | An unsupported type, an RSA key under 2048 bits, or a damaged key. | Use a type from the table above, or generate an `ssh-ed25519` key. |\n| “Una dintre cheile SSH selectate nu a fost găsită.” (One of the selected SSH keys was not found.) | A key you checked was deleted from “Chei SSH” (SSH keys) in the meantime. | Reload the page and choose your keys again. |\n| “Ați selectat prea multe chei SSH.” (You have selected too many SSH keys.) | More than 10 keys on one order. | Choose 10 at most. |\n| “Trebuie să fiți autentificat pentru a folosi chei SSH salvate.” (You must be signed in to use saved SSH keys.) | Your session has expired. | Sign in again and place the order again. |\n\n“Încearcă din nou” (Try again) sends the same keys again, so the error repeats. Reload the page instead: the steps start over and you can correct the keys. Other order errors are covered in [Errors when placing an order and what they mean](#comenzi.erori-comanda).\n\n## Frequently asked questions\n\n**Can I order without an SSH key?**\nYes. Click “Continuă fără cheie” (Continue without a key). The root password comes by email and is also in the panel, and you can add keys at any time with “Add SSH key”.\n\n**I added a key in “Chei SSH” (SSH keys), but it doesn't appear in the step. Why?**\nThe list loads when the step opens. Reload the order page (the steps start over), or paste the key into the “Sau lipiți o cheie publică SSH” (Or paste a public SSH key) field.\n\n**If I delete the key from “Chei SSH”, is it also removed from the server?**\nNo. Keys that are already installed stay on the server. To remove a key from the server, click “Add SSH key” on the server card, then “Remove” in the “Installed keys” list.\n\n**Can I use the same key for several servers?**\nYes. A saved key can be attached to any number of orders.\n\n**My first connection fails right after the email arrives. What should I do?**\nThe email can arrive before SSH has started on the server. Wait a few minutes and try again.\n"
   }
  },
  {
   "id": "comenzi.erori-comanda",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/erori-comanda/",
    "ru": "https://docs.blackbox.md/ru/comenzi/erori-comanda/",
    "en": "https://docs.blackbox.md/en/comenzi/erori-comanda/"
   },
   "title": {
    "ro": "Erori la plasarea comenzii și ce înseamnă",
    "ru": "Ошибки при оформлении заказа и что они значат",
    "en": "Errors when placing an order and what they mean"
   },
   "summary": {
    "ro": "Mesajele de eroare de la comandă și de pe pagina de plată, cu cauza și soluția pentru fiecare.",
    "ru": "Сообщения об ошибках при заказе и на странице оплаты: причина и решение для каждого.",
    "en": "The error messages you may see when ordering and on the payment page, with the cause and the fix for each one."
   },
   "markdown": {
    "ro": "Mesajele de eroare pot apărea în două locuri. Primul este pagina care se deschide după butonul „Comandă” de pe cardul unui plan (`blackbox.md/checkout/plan/…`). Al doilea este pagina de plată a comenzii (`blackbox.md/checkout/order/…`, „Contul meu” → „Comenzi” → „Achită comanda”). Mai jos găsiți, pentru fiecare mesaj, cauza și ce faceți.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md care plasează sau achită o comandă.\n\n## Cardul „Eroare la plasarea comenzii”\n\nDacă sistemul refuză comanda, în locul pașilor de comandă apare un card cu titlul „Eroare la plasarea comenzii”, mesajul de eroare și două butoane. În acest caz comanda nu a fost creată: nu primiți număr `BBX-…`, nu primiți email și nu aveți nimic de achitat.\n\n| Buton | Ce face |\n|---|---|\n| „Încearcă din nou” | Trimite din nou aceeași comandă, cu aceleași alegeri: sistemul de operare, datele de facturare și cheia SSH. Ajută doar la erorile temporare. |\n| „Înapoi la prețuri” | Deschide pagina principală blackbox.md, cu cardurile de prețuri. Toate planurile VPS sunt pe pagina „Planuri VPS” (`blackbox.md/servers/plans`). |\n\n> **Sfat**\n> Ca să schimbați sistemul de operare, cheia SSH sau datele de facturare, nu apăsați „Încearcă din nou”: reîncărcați pagina în browser (tasta F5). Pașii comenzii pornesc din nou de la primul.\n\n## Mesajele la plasarea comenzii\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Sistemul de operare ales nu poate fi instalat automat. Alegeți altul din listă.” | Sistemul ales nu se poate instala automat pe server. | Reîncărcați pagina și alegeți un sistem din listă. Windows Server se oferă doar la cerere; pentru alt sistem, scrieți-ne. Detalii: [Sistemele de operare disponibile](#comenzi.sisteme-operare). |\n| „Acest plan a fost înlocuit. Vă rugăm alegeți unul dintre tarifele actuale.” | Comandați un plan vechi, care nu se mai vinde, de exemplu dintr-o pagină de comandă deschisă de mult, înainte ca planul să fie retras. | Alegeți un plan actual pe pagina „Planuri VPS”. Vedeți [Planurile VPS: cum alegeți](#comenzi.planuri-vps). |\n| „Acest plan nu este disponibil momentan pentru comandă. Alegeți altul sau reveniți mai târziu.” | Configurația exactă a acestui plan nu poate fi creată acum. | Alegeți alt plan sau reveniți mai târziu și apăsați „Încearcă din nou”. Dacă aveți nevoie anume de acest plan, scrieți-ne. |\n| „Configuratorul nu mai este disponibil. Vă rugăm alegeți unul dintre planurile predefinite.” | Comanda a fost trimisă din vechiul configurator personalizat, de exemplu dintr-o filă deschisă de mult. Configuratorul a fost înlocuit de planuri fixe. | Alegeți un plan pe pagina „Planuri VPS”. Pentru un server dedicat, alegeți unul dintre cardurile din secțiunea „Servere dedicate” de pe pagina principală. |\n| „Order total does not match current pricing. Please refresh and try again.” (în engleză) | Prețul planului s-a schimbat după ce ați deschis pagina. Comanda se înregistrează numai la prețul curent. | Reîncărcați pagina (F5) și refaceți pașii. „Încearcă din nou” nu ajută, pentru că trimite din nou prețul vechi. |\n| „Eroare la plasarea comenzii. Vă rugăm încercați din nou.” (după mai multe comenzi la rând) | Ați depășit limita: 10 comenzi pe oră de la aceeași adresă IP sau 30 de comenzi pe oră pentru un cont. Se numără fiecare încercare, inclusiv cele încheiate cu eroare. | Așteptați: limita se calculează pentru ultimele 60 de minute. Între timp, verificați în „Comenzi” dacă nu aveți deja comenzi „Nou” create. Vedeți [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri). |\n| Mesaje despre cheia SSH, de exemplu „Cheia SSH introdusă nu a putut fi recunoscută.” sau „Ați selectat prea multe chei SSH.” | Cheia aleasă sau lipită la pasul „Cheie SSH pentru server” nu poate fi folosită. | Reîncărcați pagina și refaceți pasul: lipiți cheia publică (conținutul fișierului `.pub`), cel mult 10 chei pe comandă. Toate mesajele: [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda). |\n| „billing_profile_id does not belong to this customer” (în engleză) | Profilul ales la pasul „Date de facturare” nu mai există, de exemplu l-ați șters în fila deschisă cu „Gestionează datele de facturare →”. | Reîncărcați pagina și alegeți alt profil sau „Fără date de facturare”. |\n| „Eroare la plasarea comenzii. Vă rugăm încercați din nou.” sau alt text, de obicei în engleză | Eroare neprevăzută (de exemplu, conexiunea s-a întrerupt) sau un mesaj tehnic netradus. | Apăsați „Încearcă din nou”. Dacă eroarea se repetă, trimiteți suportului textul exact al mesajului. |\n\nLimita pe adresă IP este comună pentru toți cei care comandă din aceeași rețea, de exemplu dintr-un birou.\n\n## Mesajele de pe pagina de plată\n\nPagina de plată se deschide automat după plasarea comenzii sau din „Contul meu” → „Comenzi” → „Achită comanda”. Aici comanda există deja: numărul ei apare în titlul „Comandă BBX-…” și lângă „Referință:”. Se pot achita doar comenzile cu statusul „Nou”.\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Plățile online sunt momentan indisponibile” și „Reveniți curând sau contactați suportul pentru a efectua plata manual.” | Plata online este oprită temporar. În această stare nu apare nici butonul „Achitați din sold”. | Comanda rămâne cu statusul „Nou”; o puteți achita mai târziu din „Comenzi” → „Achită comanda”. Ca să plătiți acum, scrieți-ne: plata se poate face manual, de exemplu prin transfer bancar ([Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar)). Linkul „← Înapoi la cont” vă duce la „Comenzi”. |\n| „Această comandă nu a fost găsită.” | Linkul este greșit sau comanda aparține altui cont, de exemplu sunteți autentificat cu alt email. | Verificați contul cu care sunteți autentificat și deschideți comanda din „Comenzi”. |\n| „Eroare la încărcarea detaliilor plății.” (cu butonul „← Înapoi”) | Cel mai des, comanda nu mai are statusul „Nou”: a fost deja achitată sau anulată. Mai rar, linkul este incomplet sau este o eroare temporară. | Verificați statusul în „Comenzi”. „În lucru”: plata a trecut, nu plătiți din nou. „Anulat”: plasați o comandă nouă. „Nou”: reîncărcați pagina peste câteva minute. |\n| „Nu am putut confirma destinația plății. Contactați suportul.” | Adresa primită pentru plată nu este o adresă Paynet, așa că, pentru siguranță, site-ul nu vă trimite acolo. | Nu plătiți pe alte pagini. Scrieți-ne și indicați numărul comenzii. |\n| „Eroare la inițierea plății. Vă rugăm încercați din nou.” | Plata nu a putut porni. Cauze posibile: o eroare temporară; comanda a fost achitată sau anulată între timp; mai mult de 10 încercări într-un minut cu „Achitați din sold”. | Verificați statusul în „Comenzi”. Dacă este tot „Nou”, încercați din nou peste câteva minute. |\n| „Trebuie să acceptați termenii pentru a continua.” | Caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” nu este bifată. | Bifați caseta și apăsați din nou butonul de plată. |\n| „Deja achitat.” | Ați apăsat „Achitați din sold”, dar comanda tocmai fusese achitată, de exemplu din altă filă. | Verificați „Comenzi”: statusul trebuie să fie „În lucru”. Nu plătiți din nou. |\n| „Sold insuficient.” | Soldul nu mai acoperă suma întreagă, de exemplu s-a folosit între timp pentru altă plată. Nu se poate plăti doar o parte din sold. Butonul „Achitați din sold” apare doar când soldul acoperă toată suma. | Alimentați soldul ([Alimentarea soldului](#plati.alimentare-sold)) sau plătiți cu cardul. |\n| „Plata din sold este momentan indisponibilă.” sau „Funcția de sold este momentan indisponibilă.” | Plata din sold este oprită temporar. | Plătiți cu cardul sau reveniți mai târziu. |\n\nDacă problema apare după ce ați ajuns pe pagina Paynet (plata a fost anulată, sesiunea a expirat sau „Verificăm plata…” durează mult), vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n\n## Ce ne trimiteți când scrieți suportului\n\n> **Important**\n> Includeți întotdeauna numărul comenzii `BBX-…`. După acest număr găsim comanda imediat.\n\n- **Numărul comenzii** `BBX-…`. Îl găsiți în „Contul meu” → „Comenzi” (coloana „ID”), în subiectul emailului „Am primit solicitarea dumneavoastră — BBX-…” și pe pagina de plată, lângă „Referință:”.\n- **Textul exact al mesajului**, copiat sau ca o captură de ecran.\n- **Dacă comanda nu a fost creată** (cardul „Eroare la plasarea comenzii”), nu există număr `BBX-…`: scrieți numele planului, sistemul de operare ales și ora la care a apărut eroarea.\n- **Emailul contului**, dacă ne scrieți de la altă adresă.\n\nNu trimiteți niciodată parole, chei private sau datele cardului. Scrieți-ne printr-un tichet („Contul meu” → „Ajutor și suport”) sau la support@blackbox.md. Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**S-a creat totuși comanda după eroare?**\nDe regulă nu: cardul „Eroare la plasarea comenzii” înseamnă că sistemul a refuzat comanda. Dacă nu sunteți sigur, de exemplu după o întrerupere a conexiunii, verificați „Comenzi” înainte să reîncercați. O comandă „Nou” în plus, neachitată, se poate anula: vedeți [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**De ce un link vechi către un plan deschide pagina „Planuri VPS”?**\nPlanurile vechi `vps-2`, `vps-3` și `vps-4` au fost înlocuite cu planuri fixe noi. Pagina afișează „Planul anterior a fost înlocuit. Mai jos găsiți tarifele actuale, cu caracteristici similare.” Alegeți unul dintre planurile actuale. Vechiul configurator (`blackbox.md/servers/configurator`) duce tot la „Planuri VPS”.\n\n**De ce pagina de plată s-a deschis în română, deși am comandat pe versiunea în rusă?**\nImediat după plasarea comenzii, pagina de plată se deschide mereu în română. Apăsați „RU” în bara de sus a site-ului și pagina se afișează în rusă. Pe telefon acest comutator nu apare: deschideți `blackbox.md/ru/account/orders` și achitați comanda de acolo.\n",
    "ru": "Сообщения об ошибках появляются в двух местах. Первое — страница, которая открывается по кнопке «Заказать» на карточке тарифа (`blackbox.md/ru/checkout/plan/…`). Второе — страница оплаты заказа (`blackbox.md/ru/checkout/order/…`, «Личный кабинет» → «Заказы» → «Оплатить заказ»). Ниже для каждого сообщения указаны причина и что делать.\n\n**Доступно:** любому клиенту, который вошёл в аккаунт на blackbox.md и оформляет или оплачивает заказ.\n\n## Карточка «Ошибка при оформлении заказа»\n\nЕсли система отклонила заказ, вместо шагов оформления появляется карточка с заголовком «Ошибка при оформлении заказа», текстом ошибки и двумя кнопками. В этом случае заказ не создан: номера `BBX-…` нет, письмо не приходит, платить нечего.\n\n| Кнопка | Что делает |\n|---|---|\n| «Попробовать снова» | Отправляет тот же заказ ещё раз с теми же параметрами: операционная система, реквизиты и SSH-ключ. Помогает только при временных ошибках. |\n| «Назад к тарифам» | Открывает главную страницу blackbox.md с карточками тарифов. Все тарифы VPS собраны на странице «Тарифы VPS» (`blackbox.md/ru/servers/plans`). |\n\n> **Совет**\n> Чтобы сменить операционную систему, SSH-ключ или реквизиты, не нажимайте «Попробовать снова», а обновите страницу в браузере (клавиша F5). Оформление начнётся с первого шага.\n\n## Сообщения при оформлении заказа\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Выбранная операционная система не может быть установлена автоматически. Выберите другую из списка.» | Выбранную систему нельзя установить на сервер автоматически. | Обновите страницу и выберите систему из списка. Windows Server доступен только по запросу; если нужна другая система, напишите нам. Подробнее: [Доступные операционные системы](#comenzi.sisteme-operare). |\n| «Этот план был заменён. Пожалуйста, выберите один из актуальных тарифов.» | Вы заказываете старый тариф, который больше не продаётся: например, страница заказа была открыта давно, ещё до того, как тариф сняли с продажи. | Выберите актуальный тариф на странице «Тарифы VPS». См. [Тарифы VPS: как выбрать](#comenzi.planuri-vps). |\n| «Этот тариф сейчас недоступен для заказа. Пожалуйста, выберите другой или попробуйте позже.» | Именно эту конфигурацию тарифа сейчас создать нельзя. | Выберите другой тариф или вернитесь позже и нажмите «Попробовать снова». Если нужен именно этот тариф, напишите нам. |\n| «Конфигуратор больше не доступен. Пожалуйста, выберите один из готовых тарифов.» | Заказ отправлен из старого конфигуратора, например из давно открытой вкладки. Конфигуратор заменили фиксированные тарифы. | Выберите тариф на странице «Тарифы VPS». Для выделенного сервера выберите одну из карточек в разделе «Выделенные серверы» на главной странице. |\n| «Order total does not match current pricing. Please refresh and try again.» (на английском) | Цена тарифа изменилась после того, как вы открыли страницу. Заказ принимается только по текущей цене. | Обновите страницу (F5) и пройдите шаги заново. «Попробовать снова» не поможет: кнопка снова отправит старую цену. |\n| «Ошибка при оформлении заказа. Пожалуйста, попробуйте снова.» (после нескольких заказов подряд) | Превышен лимит: 10 заказов в час с одного IP-адреса или 30 заказов в час на один аккаунт. Считается каждая попытка, в том числе завершившаяся ошибкой. | Подождите: лимит считается за последние 60 минут. Пока ждёте, проверьте в разделе «Заказы», не созданы ли уже заказы со статусом «Новый». См. [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri). |\n| Сообщения об SSH-ключе, например «Не удалось распознать введённый SSH-ключ.» или «Выбрано слишком много SSH-ключей.» | Ключ, выбранный или вставленный на шаге «SSH-ключ для сервера», использовать нельзя. | Обновите страницу и повторите шаг: вставьте публичный ключ (содержимое файла `.pub`), не больше 10 ключей на заказ. Все сообщения — в статье [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda). |\n| «billing_profile_id does not belong to this customer» (на английском) | Профиль, выбранный на шаге «Реквизиты для счёта», больше не существует: например, вы удалили его во вкладке, открытой по ссылке «Управлять реквизитами →». | Обновите страницу и выберите другой профиль или «Без реквизитов». |\n| «Ошибка при оформлении заказа. Пожалуйста, попробуйте снова.» или другой текст, обычно на английском | Непредвиденная ошибка (например, оборвалось соединение) или техническое сообщение без перевода. | Нажмите «Попробовать снова». Если ошибка повторяется, отправьте в поддержку точный текст сообщения. |\n\nЛимит по IP-адресу общий для всех, кто заказывает из одной сети, например из офиса.\n\n## Сообщения на странице оплаты\n\nСтраница оплаты открывается сама после оформления заказа. Её также можно открыть так: «Личный кабинет» → «Заказы» → «Оплатить заказ». Здесь заказ уже создан: его номер указан в заголовке «Comandă BBX-…» (заголовок всегда на румынском) и рядом с «Референс:». Оплатить можно только заказ со статусом «Новый».\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Онлайн-оплата временно недоступна» и «Загляните позже или свяжитесь со службой поддержки для оплаты вручную.» | Онлайн-оплата временно отключена. Кнопки «Оплатить с баланса» в этом случае тоже нет. | Заказ остаётся в статусе «Новый», его можно оплатить позже: «Заказы» → «Оплатить заказ». Чтобы оплатить сейчас, напишите нам: оплату можно провести вручную, например банковским переводом ([Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar)). Ссылка «← Личный кабинет» ведёт в раздел «Заказы». |\n| «Этот заказ не найден.» | Ссылка неверна или заказ принадлежит другому аккаунту: например, вы вошли под другим email. | Проверьте, под каким аккаунтом вы вошли, и откройте заказ из раздела «Заказы». |\n| «Ошибка при загрузке деталей платежа.» (с кнопкой «← Назад») | Чаще всего у заказа уже не статус «Новый»: он оплачен или отменён. Реже ссылка неполная или это временная ошибка. | Проверьте статус в разделе «Заказы». «В работе» — оплата прошла, платить повторно не нужно. «Отменён» — оформите новый заказ. «Новый» — обновите страницу через несколько минут. |\n| «Не удалось подтвердить назначение платежа. Свяжитесь со службой поддержки.» | Полученный адрес для оплаты не принадлежит Paynet, поэтому сайт из соображений безопасности на него не переходит. | Не платите на других страницах. Напишите нам и укажите номер заказа. |\n| «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» | Платёж не удалось запустить. Возможные причины: временная ошибка; заказ тем временем оплачен или отменён; больше 10 попыток за минуту с кнопкой «Оплатить с баланса». | Проверьте статус в разделе «Заказы». Если он по-прежнему «Новый», повторите через несколько минут. |\n| «Необходимо принять условия, чтобы продолжить.» | Не отмечен флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности». | Отметьте флажок и снова нажмите кнопку оплаты. |\n| «Уже оплачено.» | Вы нажали «Оплатить с баланса», но заказ только что оплатили, например в другой вкладке. | Проверьте раздел «Заказы»: статус должен быть «В работе». Не платите повторно. |\n| «Недостаточно средств на балансе.» | Баланса уже не хватает на всю сумму: например, его тем временем потратили на другую оплату. Оплатить с баланса только часть суммы нельзя. Кнопка «Оплатить с баланса» появляется, только если баланса хватает на всю сумму. | Пополните баланс ([Пополнение баланса](#plati.alimentare-sold)) или оплатите картой. |\n| «Оплата с баланса временно недоступна.» или «Функция баланса временно недоступна.» | Оплата с баланса временно отключена. | Оплатите картой или вернитесь позже. |\n\nЕсли проблема возникла уже после перехода на страницу Paynet (платёж отменён, сессия истекла или «Проверяем платёж…» длится слишком долго), см. [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n\n## Что сообщить поддержке\n\n> **Важно**\n> Всегда указывайте номер заказа `BBX-…`: по нему мы сразу находим заказ.\n\n- **Номер заказа** `BBX-…`. Он есть в «Личный кабинет» → «Заказы» (столбец «ID»), в теме письма «Am primit solicitarea dumneavoastră — BBX-…» (тема всегда на румынском) и на странице оплаты рядом с «Референс:».\n- **Точный текст сообщения**: скопируйте его или сделайте снимок экрана.\n- **Если заказ не создан** (карточка «Ошибка при оформлении заказа»), номера `BBX-…` нет: укажите тариф, выбранную операционную систему и время, когда появилась ошибка.\n- **Email аккаунта**, если пишете с другого адреса.\n\nНикогда не присылайте пароли, приватные ключи и данные карты. Напишите нам через тикет («Личный кабинет» → «Помощь и поддержка») или на support@blackbox.md. Все каналы связи — в статье [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Мог ли заказ всё-таки создаться после ошибки?**\nКак правило, нет: карточка «Ошибка при оформлении заказа» означает, что система отклонила заказ. Если сомневаетесь, например после обрыва соединения, загляните в раздел «Заказы», прежде чем пробовать снова. Лишний неоплаченный заказ со статусом «Новый» можно отменить: см. [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Почему старая ссылка на тариф открывает страницу «Тарифы VPS»?**\nСтарые тарифы `vps-2`, `vps-3` и `vps-4` заменены новыми фиксированными тарифами. На странице появляется сообщение «Прежний план был заменён. Ниже — актуальные тарифы с похожими характеристиками.» Выберите один из актуальных тарифов. Старый конфигуратор (`blackbox.md/ru/servers/configurator`) тоже теперь ведёт на «Тарифы VPS».\n\n**Почему страница оплаты открылась на румынском, хотя заказ оформлен на русской версии сайта?**\nСразу после оформления заказа страница оплаты всегда открывается на румынском. Нажмите «RU» в верхней панели сайта, и страница отобразится на русском. На телефоне этого переключателя нет: откройте `blackbox.md/ru/account/orders` и оплатите заказ оттуда.\n",
    "en": "Error messages can appear in two places. The first is the page that opens when you click “Comandă” (Order) on a plan's card (`blackbox.md/checkout/plan/…`). The second is the order's payment page (`blackbox.md/checkout/order/…`, “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order)). Below, you will find the cause of each message and what to do.\n\n**Available to:** any customer signed in to blackbox.md who is placing or paying for an order.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The “Eroare la plasarea comenzii” (Error placing the order) card\n\nIf the system rejects your order, a card replaces the order steps. It has the title “Eroare la plasarea comenzii” (Error placing the order), the error message and two buttons. In this case, the order was not created: you don't get a `BBX-…` number, you don't get an email, and you have nothing to pay.\n\n| Button | What it does |\n|---|---|\n| “Încearcă din nou” (Try again) | Sends the same order again, with the same choices: the operating system, the billing details and the SSH key. It only helps with temporary errors. |\n| “Înapoi la prețuri” (Back to pricing) | Opens the blackbox.md home page, with the pricing cards. All VPS plans are on the “Planuri VPS” (VPS plans) page (`blackbox.md/servers/plans`). |\n\n> **Tip**\n> To change the operating system, the SSH key or the billing details, don't click “Încearcă din nou”: reload the page in your browser (the F5 key). The order steps start again from the first one.\n\n## Messages when placing an order\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Sistemul de operare ales nu poate fi instalat automat. Alegeți altul din listă.” (The selected operating system cannot be installed automatically. Choose another one from the list.) | The system you chose cannot be installed on the server automatically. | Reload the page and choose a system from the list. Windows Server is offered only on request; for any other system, write to us. Details: [Available operating systems](#comenzi.sisteme-operare). |\n| “Acest plan a fost înlocuit. Vă rugăm alegeți unul dintre tarifele actuale.” (This plan has been replaced. Please choose one of the current plans.) | You are ordering an old plan that is no longer sold, for example from an order page you opened long ago, before the plan was retired. | Choose a current plan on the “Planuri VPS” (VPS plans) page. See [VPS plans: how to choose](#comenzi.planuri-vps). |\n| “Acest plan nu este disponibil momentan pentru comandă. Alegeți altul sau reveniți mai târziu.” (This plan is not available for ordering at the moment. Choose another one or come back later.) | The exact configuration of this plan cannot be created right now. | Choose another plan, or come back later and click “Încearcă din nou” (Try again). If you need this particular plan, write to us. |\n| “Configuratorul nu mai este disponibil. Vă rugăm alegeți unul dintre planurile predefinite.” (The configurator is no longer available. Please choose one of the predefined plans.) | The order was sent from the old custom configurator, for example from a tab you opened long ago. The configurator has been replaced by fixed plans. | Choose a plan on the “Planuri VPS” page. For a dedicated server, choose one of the cards in the “Servere dedicate” (Dedicated servers) section of the home page. |\n| “Order total does not match current pricing. Please refresh and try again.” (shown in English) | The plan's price changed after you opened the page. Orders are accepted only at the current price. | Reload the page (F5) and go through the steps again. “Încearcă din nou” does not help, because it sends the old price again. |\n| “Eroare la plasarea comenzii. Vă rugăm încercați din nou.” (Error placing the order. Please try again.) (after several orders in a row) | You have exceeded the limit: 10 orders per hour from the same IP address, or 30 orders per hour for one account. Every attempt counts, including those that ended with an error. | Wait: the limit is calculated over the last 60 minutes. Meanwhile, check “Comenzi” (Orders) to see whether orders with the “Nou” (New) status have already been created. See [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri). |\n| Messages about the SSH key, for example “Cheia SSH introdusă nu a putut fi recunoscută.” (The SSH key you entered could not be recognized.) or “Ați selectat prea multe chei SSH.” (You have selected too many SSH keys.) | The key you selected or pasted at the “Cheie SSH pentru server” (SSH key for the server) step cannot be used. | Reload the page and redo the step: paste the public key (the contents of the `.pub` file), at most 10 keys per order. All the messages: [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda). |\n| “billing_profile_id does not belong to this customer” (shown in English) | The profile you chose at the “Date de facturare” (Billing details) step no longer exists, for example because you deleted it in the tab you opened with “Gestionează datele de facturare →” (Manage billing details →). | Reload the page and choose another profile or “Fără date de facturare” (No billing details). |\n| “Eroare la plasarea comenzii. Vă rugăm încercați din nou.” or other text, usually in English | An unexpected error (for example, the connection dropped) or an untranslated technical message. | Click “Încearcă din nou”. If the error happens again, send support the exact text of the message. |\n\nThe per-IP-address limit is shared by everyone who orders from the same network, for example from an office.\n\n## Messages on the payment page\n\nThe payment page opens automatically after you place an order, or from “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order). Here the order already exists: its number appears in the title “Comandă BBX-…” (Order BBX-…) and next to “Referință:” (Reference:). You can pay only for orders with the “Nou” (New) status.\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable) and “Reveniți curând sau contactați suportul pentru a efectua plata manual.” (Come back soon or contact support to pay manually.) | Online payment is temporarily turned off. In this state, the “Achitați din sold” (Pay from balance) button does not appear either. | The order keeps the “Nou” status; you can pay for it later from “Comenzi” → “Achită comanda”. To pay now, write to us: the payment can be made manually, for example by bank transfer ([Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar)). The “← Înapoi la cont” (← Back to account) link takes you to “Comenzi”. |\n| “Această comandă nu a fost găsită.” (This order was not found.) | The link is wrong, or the order belongs to another account, for example because you are signed in with a different email. | Check which account you are signed in with and open the order from “Comenzi”. |\n| “Eroare la încărcarea detaliilor plății.” (Error loading the payment details.) (with the “← Înapoi” (← Back) button) | Most often, the order no longer has the “Nou” status: it has already been paid or canceled. Less often, the link is incomplete or there is a temporary error. | Check the status in “Comenzi”. “În lucru” (In progress): the payment went through, so don't pay again. “Anulat” (Canceled): place a new order. “Nou”: reload the page in a few minutes. |\n| “Nu am putut confirma destinația plății. Contactați suportul.” (We could not confirm the payment destination. Contact support.) | The address received for the payment is not a Paynet address, so, for your safety, the website does not send you there. | Don't pay on any other page. Write to us and include the order number. |\n| “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) | The payment could not start. Possible causes: a temporary error; the order was paid or canceled in the meantime; more than 10 attempts within one minute with “Achitați din sold”. | Check the status in “Comenzi”. If it is still “Nou”, try again in a few minutes. |\n| “Trebuie să acceptați termenii pentru a continua.” (You must accept the terms to continue.) | The box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy) is not ticked. | Tick the box and click the payment button again. |\n| “Deja achitat.” (Already paid.) | You clicked “Achitați din sold”, but the order had just been paid, for example from another tab. | Check “Comenzi”: the status should be “În lucru”. Don't pay again. |\n| “Sold insuficient.” (Insufficient balance.) | Your balance no longer covers the full amount, for example because it was used for another payment in the meantime. You cannot pay only part of the amount from your balance. The “Achitați din sold” button appears only when your balance covers the whole amount. | Top up your balance ([Topping up your balance](#plati.alimentare-sold)) or pay by card. |\n| “Plata din sold este momentan indisponibilă.” (Payment from balance is currently unavailable.) or “Funcția de sold este momentan indisponibilă.” (The balance feature is currently unavailable.) | Payment from balance is temporarily turned off. | Pay by card or come back later. |\n\nIf the problem appears after you reach the Paynet page (the payment was canceled, the session expired, or “Verificăm plata…” (Checking your payment…) takes a long time), see [The payment failed or the status did not update](#faq.plata-nereusita).\n\n## What to send us when you write to support\n\n> **Important**\n> Always include the order number `BBX-…`. With this number, we find your order right away.\n\n- **The order number** `BBX-…`. You can find it in “Contul meu” (My account) → “Comenzi” (Orders) (the “ID” column), in the subject of the email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…), and on the payment page, next to “Referință:” (Reference:).\n- **The exact text of the message**, copied or as a screenshot.\n- **If the order was not created** (the “Eroare la plasarea comenzii” (Error placing the order) card), there is no `BBX-…` number: tell us the plan name, the operating system you chose and the time when the error appeared.\n- **Your account email**, if you are writing to us from a different address.\n\nNever send passwords, private keys or card details. Write to us through a support ticket (“Contul meu” → “Ajutor și suport” (Help and support)) or at support@blackbox.md. All channels: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Was the order created after the error anyway?**\nUsually not: the “Eroare la plasarea comenzii” (Error placing the order) card means the system rejected the order. If you are not sure, for example after the connection dropped, check “Comenzi” (Orders) before you try again. An extra unpaid order with the “Nou” (New) status can be canceled: see [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**Why does an old link to a plan open the “Planuri VPS” (VPS plans) page?**\nThe old plans `vps-2`, `vps-3` and `vps-4` have been replaced by new fixed plans. The page shows “Planul anterior a fost înlocuit. Mai jos găsiți tarifele actuale, cu caracteristici similare.” (The previous plan has been replaced. Below are the current plans with similar specifications.) Choose one of the current plans. The old configurator (`blackbox.md/servers/configurator`) also leads to “Planuri VPS”.\n\n**Why did the payment page open in Romanian, even though I ordered on the Russian version of the website?**\nRight after you place an order, the payment page always opens in Romanian. Click “RU” in the top bar of the website and the page switches to Russian. On a phone, this switch is not shown: open `blackbox.md/ru/account/orders` and pay for the order from there.\n"
   }
  },
  {
   "id": "comenzi.comenzile-mele",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/comenzile-mele/",
    "ru": "https://docs.blackbox.md/ru/comenzi/comenzile-mele/",
    "en": "https://docs.blackbox.md/en/comenzi/comenzile-mele/"
   },
   "title": {
    "ro": "Pagina „Comenzi”: statusuri și acțiuni",
    "ru": "Страница «Заказы»: статусы и действия",
    "en": "The “Comenzi” (Orders) page: statuses and actions"
   },
   "summary": {
    "ro": "Ce înseamnă fiecare status al comenzii, ce arată detaliile și ce acțiuni aveți pentru fiecare comandă.",
    "ru": "Что означает каждый статус заказа, что показывают детали и какие действия доступны.",
    "en": "What each order status means, what the order details show and which actions you have for each order."
   },
   "markdown": {
    "ro": "Pagina „Comenzile mele” (`blackbox.md/account/orders`, „Contul meu” → „Comenzi”) listează toate comenzile contului, de la cea mai nouă la cea mai veche. Pentru fiecare comandă vedeți statusul, descrierea, suma, data și butoanele de acțiune: detaliile, deschiderea serverului în panou, plata și anularea.\n\n**Disponibil pentru:** titularul contului blackbox.md, autentificat. Fiecare cont vede doar comenzile plasate din el.\n\n## Cum deschideți pagina\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus. Pe telefon, apăsați cercul cu inițialele dvs.\n2. În meniul contului, apăsați „Comenzi”. Pe telefon, deschideți mai întâi „Meniu cont”. Se deschide pagina „Comenzile mele”.\n3. Dacă nu ați plasat încă nicio comandă, pagina afișează „Nu aveți comenzi încă.”\n\nO pagină afișează cel mult 20 de comenzi. Când aveți mai multe, sub tabel apar intervalul afișat (de exemplu „1–20 din 35”) și butoanele „← Anterior” și „Următor →”. Dacă apare „Eroare la încărcare.”, reîncărcați pagina peste câteva momente; dacă eroarea persistă, scrieți-ne.\n\n## Coloanele tabelului\n\n| Coloană | Ce arată |\n|---|---|\n| „ID” | Numărul comenzii, în forma `BBX-YYYY-NNNNNN` (de exemplu `BBX-2026-000123`). Comenzile mai vechi, fără un astfel de număr, apar ca `#` urmat de primele 8 caractere ale identificatorului intern. |\n| „Status” | Statusul comenzii (vedeți tabelul de mai jos). |\n| „Descriere” | Planul ales. La planurile VPS: numele planului, resursele și sistemul de operare, de exemplu „Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. Sub descriere pot apărea serviciile suplimentare și rândul „Server: IP_SERVER”. |\n| „Total” | Suma comenzii, în MDL. |\n| „Data” | Data plasării comenzii. |\n| „Acțiuni” | Butoanele disponibile pentru comanda respectivă. |\n\nRândul „Server: IP_SERVER” apare după ce serverul a fost creat și a primit o adresă IP. După ștergerea serverului, rândul dispare.\n\n## Statusurile comenzii\n\n| Status | Ce înseamnă | Ce puteți face |\n|---|---|---|\n| „Nou” | Comanda este înregistrată, dar nu este achitată. | Achitați-o cu „Achită comanda” sau anulați-o, dacă nu mai aveți nevoie de ea. |\n| „În lucru” | Comanda este achitată. Fără rândul „Server: …”, serverul este în pregătire; cu acest rând, serverul a fost creat. | După ce apare rândul „Server: …”, gestionați serverul cu „Gestionează în app.blackbox.md”. |\n| „Finalizat” | Comanda a fost închisă de echipa BLACKBOX. | Nu trebuie să faceți nimic. Pentru întrebări, scrieți-ne cu numărul comenzii. |\n| „Anulat” | Comanda a fost anulată (de dvs. sau de echipă) sau serverul ei a fost șters. | Nu trebuie să faceți nimic. Pentru un server nou, plasați o comandă nouă. |\n\n> **Notă**\n> Comanda unui server activ rămâne de regulă în statusul „În lucru” cât timp folosiți serverul. Este normal și nu înseamnă că serverul nu este gata: verificați rândul „Server: …” sau cardul serverului din panou.\n\n## Butoanele de acțiune\n\nButoanele apar mereu în aceeași ordine: detalii, gestionare, plată, anulare. Vedeți doar butoanele care se aplică comenzii respective; celelalte nu sunt afișate deloc.\n\n| Buton | Pictogramă | Când apare | Ce face |\n|---|---|---|---|\n| „Vezi detaliile” | ochi | Întotdeauna | Deschide sub rând panoul „Detalii comandă”. Apăsat din nou („Ascunde detaliile”), îl închide. |\n| „Gestionează în app.blackbox.md” | săgeată spre exterior | Când comanda are server (rândul „Server: …”) | Deschide panoul app.blackbox.md la cardul acestui server. |\n| „Achită comanda” | card bancar | Doar la comenzile „Nou” | Deschide pagina de plată a comenzii. |\n| „Anulează comanda” | cerc cu X | Doar când comanda poate fi anulată | Deschide dialogul de anulare. |\n\nPe calculator, butoanele sunt pictograme, iar numele fiecăruia apare când țineți cursorul pe el. La „Gestionează în app.blackbox.md”, în locul numelui apare textul „Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” Pe telefon, pe tabletă și într-o fereastră îngustă rămâne pictograma ochi, iar celelalte acțiuni sunt în meniul cu trei puncte (⋮, „Mai multe acțiuni”), cu numele scris lângă fiecare pictogramă.\n\n### Panoul „Detalii comandă”\n\n| Câmp | Conținut |\n|---|---|\n| „ID comandă” | Identificatorul intern complet al comenzii. |\n| „Tip” | „Plan tarifar” și codul planului, de exemplu „Plan tarifar · vm-iops1-m”. Comenzile vechi, plasate prin fostul configurator (înlocuit de planurile fixe), apar ca „Configurație personalizată”. |\n| „Status” | Statusul curent. |\n| „Total” | Suma comenzii, în MDL. |\n| „Creată la” | Data și ora plasării. |\n| „Număr comandă” | Numărul `BBX-…`. Indicați-l când scrieți suportului. |\n| „Server” | Adresa IP a serverului, dacă există. |\n| „Descriere” | Planul, resursele și sistemul de operare. |\n| „Servicii suplimentare” | Serviciile atașate și starea lor, uneori cu un mesaj (vedeți mai jos). |\n\nLa o comandă cu server, panoul se încheie cu textul „Serverul este activ…” și linkul „Gestionează în app.blackbox.md”.\n\n### Gestionarea serverului din comandă\n\n1. Apăsați „Gestionează în app.blackbox.md” pe rândul comenzii sau linkul din „Detalii comandă”.\n2. Panoul app.blackbox.md se deschide într-o filă nouă și vă autentifică automat cu contul blackbox.md.\n3. Se deschide pagina „Serverele mele”, derulată până la cardul acestui server, care este evidențiat.\n\nDacă se deschide pagina de autentificare a panoului în locul serverului, vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n### Plata unei comenzi „Nou”\n\nApăsați „Achită comanda”. Pe pagina de plată achitați cu cardul sau, dacă soldul acoperă suma, cu „Achitați din sold”. După confirmarea plății, statusul devine „În lucru”. Detalii: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul) și [Plata unei comenzi din sold](#plati.plata-din-sold).\n\n### Anularea unei comenzi\n\n„Anulează comanda” apare la comenzile „Nou” și „În lucru”, dar nu și cât timp serverul se creează sau după ce serverul a fost șters.\n\n1. Apăsați „Anulează comanda”.\n2. Se deschide dialogul „Anulați comanda?”, cu numărul, descrierea și totalul comenzii. Dialogul arată și suma care vă va fi returnată în sold sau mențiunea că nu se returnează nimic.\n3. Apăsați „Da, anulează” pentru a confirma sau „Nu, păstrează” pentru a renunța.\n\nComanda trece în statusul „Anulat”. O comandă neachitată se anulează fără nicio returnare, pentru că nu ați plătit nimic. Regulile de rambursare sunt în [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n> **Ireversibil**\n> Dacă comanda are server, anularea șterge imediat serverul și toate datele de pe el. Dialogul vă avertizează: „Serverul asociat (IP_SERVER) va fi șters definitiv, împreună cu toate datele de pe el.” Copiați datele de care aveți nevoie înainte de a confirma.\n\n## Serviciile suplimentare și stările lor\n\nDacă la comandă sunt atașate servicii suplimentare, sub descriere apare câte o etichetă pentru fiecare, în forma „serviciu: stare”, de exemplu „Monitoring 24/7: Activ” sau „IP dedicat: În curs de activare”. Aceleași informații sunt în „Detalii comandă” → „Servicii suplimentare”.\n\n| Stare | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „În curs de activare” | Serviciul se instalează sau așteaptă o intervenție a echipei. | Așteptați. Dacă starea nu se schimbă, scrieți-ne cu numărul comenzii. „Monitoring 24/7” instalează un agent pe server și funcționează doar pe Ubuntu și Debian; pe alt sistem, starea rămâne „În curs de activare”. |\n| „Activ” | Serviciul funcționează. | Nu trebuie să faceți nimic. |\n| „Contactați suportul” | Activarea automată nu a reușit. Serverul nu este afectat. | Scrieți-ne și indicați numărul `BBX-…`. |\n| „Anulat” | Serviciul a fost oprit, de exemplu pentru că serverul a fost șters. | Nu trebuie să faceți nimic. Dacă nu ați cerut oprirea, scrieți-ne. |\n\nLa „IP dedicat”, adresa IPv4 suplimentară este alocată manual de echipă, nu automat. Cât timp așteaptă alocarea, eticheta arată „În curs de activare”. Cum se comandă serviciile suplimentare: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare).\n\n## Întrebări frecvente\n\n**Am plătit, dar comanda este tot „Nou”.**\nConfirmarea plății poate dura câteva momente. Reîncărcați pagina și verificați dacă ați primit emailul „Plată confirmată — BBX-…”. Dacă statusul nu se schimbă, vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n\n**Comanda este „În lucru”, dar nu apare rândul „Server: …”.**\nServerul este încă în pregătire. Vedeți [După plată: activarea serverului și emailurile](#comenzi.dupa-plata) și [Serverul nu apare după plată](#faq.serverul-nu-este-gata).\n\n**Serverul funcționează. De ce comanda nu trece în „Finalizat”?**\nComanda unui server activ rămâne „În lucru”. Statusul „Finalizat” îl setează doar echipa BLACKBOX.\n\n**De ce nu văd butonul „Anulează comanda”?**\nButonul lipsește la comenzile „Finalizat” și „Anulat”, precum și cât timp serverul se creează sau după ce a fost șters. Dacă serverul tocmai se creează, reveniți peste câteva minute.\n\n**Am șters serverul din panou. De ce comanda este „Anulat”?**\nDupă executarea ștergerii, comanda trece în „Anulat”, iar rândul „Server: …” dispare. Ștergerea din panou nu rambursează nimic: vedeți [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n**Unde găsesc factura comenzii?**\nDupă plată, factura apare în „Contul meu” → „Facturi”, cu același număr `BBX-…` ca și comanda. Vedeți [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n",
    "ru": "Страница «Мои заказы» (`blackbox.md/ru/account/orders`, «Личный кабинет» → «Заказы») показывает все заказы аккаунта, от новых к старым. Для каждого заказа видны статус, описание, сумма, дата и кнопки действий: детали, переход к серверу в панели, оплата и отмена.\n\n**Доступно:** владельцу аккаунта blackbox.md после входа. Каждый аккаунт видит только свои заказы.\n\n## Как открыть страницу\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню. На телефоне нажмите кружок с вашими инициалами.\n2. В меню аккаунта выберите «Заказы». На телефоне сначала откройте «Меню аккаунта». Откроется страница «Мои заказы».\n3. Если вы ещё ничего не заказывали, на странице будет надпись «У вас пока нет заказов.»\n\nНа одной странице показывается не больше 20 заказов. Если их больше, под таблицей появятся диапазон показанных заказов (например, «1–20 из 35») и кнопки «← Назад» и «Далее →». Если появилось «Ошибка загрузки.», обновите страницу через несколько секунд; если ошибка не исчезает, напишите нам.\n\n## Столбцы таблицы\n\n| Столбец | Что в нём |\n|---|---|\n| «ID» | Номер заказа вида `BBX-YYYY-NNNNNN` (например, `BBX-2026-000123`). У старых заказов без такого номера показывается `#` и первые 8 символов внутреннего идентификатора. |\n| «Статус» | Статус заказа (см. таблицу ниже). |\n| «Описание» | Выбранный тариф. Для тарифов VPS — название тарифа, ресурсы и операционная система, например «Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS». Под описанием могут быть дополнительные услуги и строка «Сервер: IP_СЕРВЕРА». |\n| «Итого» | Сумма заказа в MDL. |\n| «Дата» | Дата оформления заказа. |\n| «Действия» | Кнопки, доступные для этого заказа. |\n\nСтрока «Сервер: IP_СЕРВЕРА» появляется, когда сервер создан и получил IP-адрес. После удаления сервера она исчезает.\n\n## Статусы заказа\n\n| Статус | Что означает | Что можно сделать |\n|---|---|---|\n| «Новый» | Заказ оформлен, но не оплачен. | Оплатите его кнопкой «Оплатить заказ» или отмените, если он больше не нужен. |\n| «В работе» | Заказ оплачен. Без строки «Сервер: …» сервер ещё готовится; со строкой — сервер создан. | Когда появится строка «Сервер: …», управляйте сервером через «Управление в app.blackbox.md». |\n| «Завершён» | Заказ закрыт командой BLACKBOX. | Ничего делать не нужно. С вопросами пишите нам, указав номер заказа. |\n| «Отменён» | Заказ отменён (вами или командой) или его сервер удалён. | Ничего делать не нужно. Для нового сервера оформите новый заказ. |\n\n> **Примечание**\n> Заказ активного сервера обычно остаётся в статусе «В работе» всё время, пока вы пользуетесь сервером. Это нормально и не значит, что сервер не готов: смотрите строку «Сервер: …» или карточку сервера в панели.\n\n## Кнопки действий\n\nКнопки всегда идут в одном порядке: детали, управление, оплата, отмена. Показываются только те, что применимы к заказу; остальных просто нет.\n\n| Кнопка | Значок | Когда видна | Что делает |\n|---|---|---|---|\n| «Показать детали» | глаз | Всегда | Открывает под строкой блок «Детали заказа». Повторное нажатие («Скрыть детали») закрывает его. |\n| «Управление в app.blackbox.md» | стрелка наружу | Когда у заказа есть сервер (строка «Сервер: …») | Открывает панель app.blackbox.md на карточке этого сервера. |\n| «Оплатить заказ» | банковская карта | Только у заказов в статусе «Новый» | Открывает страницу оплаты заказа. |\n| «Отменить заказ» | круг с крестиком | Только когда заказ можно отменить | Открывает окно отмены. |\n\nНа компьютере кнопки показаны значками, а название каждой появляется при наведении курсора. У кнопки «Управление в app.blackbox.md» вместо названия появляется подсказка «Сервер активен. Управлять им или отключить его можно в app.blackbox.md.» На телефоне, планшете и в узком окне остаётся значок глаза, а остальные действия собраны в меню с тремя точками (⋮, «Другие действия»), где рядом с каждым значком написано название.\n\n### Блок «Детали заказа»\n\n| Поле | Содержимое |\n|---|---|\n| «ID заказа» | Полный внутренний идентификатор заказа. |\n| «Тип» | «Тарифный план» и код тарифа, например «Тарифный план · vm-iops1-m». Старые заказы, оформленные через прежний конфигуратор (его заменили фиксированные тарифы), показаны как «Индивидуальная конфигурация». |\n| «Статус» | Текущий статус. |\n| «Итого» | Сумма заказа в MDL. |\n| «Создан» | Дата и время оформления. |\n| «Номер заказа» | Номер `BBX-…`. Указывайте его, когда пишете в поддержку. |\n| «Сервер» | IP-адрес сервера, если он есть. |\n| «Описание» | Тариф, ресурсы и операционная система. |\n| «Дополнительные услуги» | Подключённые услуги и их состояние, иногда с пояснением (см. ниже). |\n\nУ заказа с сервером блок заканчивается текстом «Сервер активен…» и ссылкой «Управление в app.blackbox.md».\n\n### Переход к серверу из заказа\n\n1. Нажмите «Управление в app.blackbox.md» в строке заказа или ссылку в блоке «Детали заказа».\n2. Панель app.blackbox.md откроется в новой вкладке, и вход выполнится автоматически через аккаунт blackbox.md.\n3. Откроется страница «Мои серверы», прокрученная до карточки этого сервера; карточка будет выделена.\n\nЕсли вместо сервера открылась страница входа в панель, смотрите [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n### Оплата заказа в статусе «Новый»\n\nНажмите «Оплатить заказ». На странице оплаты заплатите картой или, если на балансе хватает средств, кнопкой «Оплатить с баланса». Когда оплата подтвердится, статус сменится на «В работе». Подробнее: [Оплата картой (Paynet)](#plati.plata-cu-cardul) и [Оплата заказа с баланса](#plati.plata-din-sold).\n\n### Отмена заказа\n\nКнопка «Отменить заказ» есть у заказов в статусах «Новый» и «В работе», кроме случаев, когда сервер ещё создаётся или уже удалён.\n\n1. Нажмите «Отменить заказ».\n2. Откроется окно «Отменить заказ?» с номером, описанием и суммой заказа. В окне также указано, сколько вернётся на баланс, или что возврата не будет.\n3. Нажмите «Да, отменить», чтобы подтвердить, или «Нет, оставить», чтобы передумать.\n\nЗаказ перейдёт в статус «Отменён». Неоплаченный заказ отменяется без возврата: вы ничего не платили. Правила возврата — в статье [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n> **Необратимо**\n> Если у заказа есть сервер, отмена сразу удаляет сервер и все данные на нём. Окно предупреждает: «Связанный сервер (IP_СЕРВЕРА) будет удалён навсегда вместе со всеми данными.» Скопируйте нужные данные до подтверждения.\n\n## Дополнительные услуги и их состояния\n\nЕсли к заказу подключены дополнительные услуги, под описанием для каждой появляется метка вида «услуга: состояние», например «Мониторинг 24/7: Активен» или «Выделенный IP: В процессе активации». То же самое видно в блоке «Детали заказа», в разделе «Дополнительные услуги».\n\n| Состояние | Что означает | Что делать |\n|---|---|---|\n| «В процессе активации» | Услуга устанавливается или ждёт действий команды. | Подождите. Если состояние не меняется, напишите нам и укажите номер заказа. «Мониторинг 24/7» устанавливает на сервер агент и работает только на Ubuntu и Debian; на другой системе состояние так и останется «В процессе активации». |\n| «Активен» | Услуга работает. | Ничего делать не нужно. |\n| «Свяжитесь со службой поддержки» | Автоматическая активация не удалась. Сам сервер это не затрагивает. | Напишите нам и укажите номер `BBX-…`. |\n| «Отменён» | Услуга отключена, например, потому что сервер удалён. | Ничего делать не нужно. Если вы не просили её отключать, напишите нам. |\n\nДля услуги «Выделенный IP» дополнительный IPv4-адрес выделяет команда вручную, а не система автоматически. Пока адрес ждёт выделения, метка показывает «В процессе активации». Как заказать дополнительные услуги: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare).\n\n## Частые вопросы\n\n**Заказ оплачен, но всё ещё в статусе «Новый».**\nПодтверждение оплаты может занять немного времени. Обновите страницу и проверьте, пришло ли письмо «Plată confirmată — BBX-…». Если статус не меняется, смотрите [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n\n**Заказ «В работе», но строки «Сервер: …» нет.**\nСервер ещё готовится. Смотрите [После оплаты: активация сервера и письма](#comenzi.dupa-plata) и [Сервер не появился после оплаты](#faq.serverul-nu-este-gata).\n\n**Сервер работает. Почему заказ не переходит в «Завершён»?**\nЗаказ активного сервера остаётся «В работе». Статус «Завершён» ставит только команда BLACKBOX.\n\n**Почему нет кнопки «Отменить заказ»?**\nКнопки нет у заказов «Завершён» и «Отменён», а также пока сервер создаётся и после его удаления. Если сервер только что начал создаваться, загляните через несколько минут.\n\n**Сервер удалён в панели. Почему заказ «Отменён»?**\nКогда удаление выполнено, заказ переходит в «Отменён», а строка «Сервер: …» исчезает. Удаление в панели не возвращает деньги: смотрите [Безвозвратное удаление сервера](#servere.stergere-server).\n\n**Где найти счёт по заказу?**\nПосле оплаты счёт появляется в разделе «Личный кабинет» → «Счета» с тем же номером `BBX-…`, что и у заказа. Смотрите [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n",
    "en": "The “Comenzile mele” (My orders) page (`blackbox.md/account/orders`, “Contul meu” (My account) → “Comenzi” (Orders)) lists all the orders in your account, from newest to oldest. For each order you see its status, description, amount, date and action buttons: details, opening the server in the panel, payment and cancellation.\n\n**Available to:** the blackbox.md account owner, once signed in. Each account sees only the orders placed from it.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to open the page\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar. On a phone, tap the circle with your initials.\n2. In the account menu, click “Comenzi” (Orders). On a phone, first open “Meniu cont” (Account menu). The “Comenzile mele” (My orders) page opens.\n3. If you have not placed any orders yet, the page shows “Nu aveți comenzi încă.” (You have no orders yet.)\n\nEach page shows up to 20 orders. When you have more, the range shown (for example “1–20 din 35” (1–20 of 35)) and the “← Anterior” (← Previous) and “Următor →” (Next →) buttons appear below the table. If “Eroare la încărcare.” (Loading error.) appears, reload the page after a few moments; if the error persists, write to us.\n\n## The table columns\n\n| Column | What it shows |\n|---|---|\n| “ID” | The order number, in the form `BBX-YYYY-NNNNNN` (for example `BBX-2026-000123`). Older orders without such a number appear as `#` followed by the first 8 characters of the internal identifier. |\n| “Status” | The order status (see the table below). |\n| “Descriere” (Description) | The plan you chose. For VPS plans: the plan name, the resources and the operating system, for example “Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. The add-on services and the “Server: SERVER_IP” line may appear below the description. |\n| “Total” | The order amount, in MDL. |\n| “Data” (Date) | The date the order was placed. |\n| “Acțiuni” (Actions) | The buttons available for that order. |\n\nThe “Server: SERVER_IP” line appears once the server has been created and has received an IP address. After the server is deleted, the line disappears.\n\n## Order statuses\n\n| Status | What it means | What you can do |\n|---|---|---|\n| “Nou” (New) | The order has been registered but not paid. | Pay for it with “Achită comanda” (Pay for the order), or cancel it if you no longer need it. |\n| “În lucru” (In progress) | The order is paid. Without the “Server: …” line, the server is being prepared; with this line, the server has been created. | Once the “Server: …” line appears, manage the server with “Gestionează în app.blackbox.md” (Manage in app.blackbox.md). |\n| “Finalizat” (Completed) | The BLACKBOX team has closed the order. | You don't need to do anything. If you have questions, write to us and include the order number. |\n| “Anulat” (Canceled) | The order was canceled (by you or by the team), or its server was deleted. | You don't need to do anything. For a new server, place a new order. |\n\n> **Note**\n> The order for an active server usually stays in the “În lucru” status for as long as you use the server. This is normal and does not mean that the server is not ready: check the “Server: …” line or the server card in the panel.\n\n## The action buttons\n\nThe buttons always appear in the same order: details, manage, pay, cancel. You see only the buttons that apply to that order; the others are not shown at all.\n\n| Button | Icon | When it appears | What it does |\n|---|---|---|---|\n| “Vezi detaliile” (View details) | eye | Always | Opens the “Detalii comandă” (Order details) section below the row. When you click it again, it reads “Ascunde detaliile” (Hide details) and closes the section. |\n| “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) | arrow pointing outward | When the order has a server (the “Server: …” line) | Opens the app.blackbox.md panel at this server's card. |\n| “Achită comanda” (Pay for the order) | bank card | Only for “Nou” (New) orders | Opens the order's payment page. |\n| “Anulează comanda” (Cancel the order) | circle with an X | Only when the order can be canceled | Opens the cancellation dialog. |\n\nOn a computer, the buttons are icons, and the name of each one appears when you hold the pointer over it. For “Gestionează în app.blackbox.md”, you see this text instead of the name: “Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” (The server is active. You can manage or deactivate it in app.blackbox.md.) On a phone, on a tablet and in a narrow window, the eye icon stays on the row, and the other actions are in the three-dot menu (⋮, “Mai multe acțiuni” (More actions)), with the name written next to each icon.\n\n### The “Detalii comandă” (Order details) section\n\n| Field | Content |\n|---|---|\n| “ID comandă” (Order ID) | The order's full internal identifier. |\n| “Tip” (Type) | “Plan tarifar” (Pricing plan) and the plan code, for example “Plan tarifar · vm-iops1-m”. Older orders placed through the former configurator (replaced by the fixed plans) appear as “Configurație personalizată” (Custom configuration). |\n| “Status” | The current status. |\n| “Total” | The order amount, in MDL. |\n| “Creată la” (Created on) | The date and time the order was placed. |\n| “Număr comandă” (Order number) | The `BBX-…` number. Include it when you write to support. |\n| “Server” | The server's IP address, if there is one. |\n| “Descriere” (Description) | The plan, the resources and the operating system. |\n| “Servicii suplimentare” (Add-on services) | The attached services and their state, sometimes with a message (see below). |\n\nFor an order with a server, the section ends with the text “Serverul este activ…” (The server is active…) and the “Gestionează în app.blackbox.md” link.\n\n### Managing the server from the order\n\n1. Click “Gestionează în app.blackbox.md” on the order's row, or the link in “Detalii comandă”.\n2. The app.blackbox.md panel opens in a new tab and signs you in automatically with your blackbox.md account.\n3. The “My Servers” page opens, scrolled to this server's card, which is highlighted.\n\nIf the panel's sign-in page opens instead of the server, see [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n### Paying for a “Nou” (New) order\n\nClick “Achită comanda”. On the payment page, pay by card or, if your balance covers the amount, with “Achitați din sold” (Pay from balance). Once the payment is confirmed, the status changes to “În lucru” (In progress). Details: [Paying by card (Paynet)](#plati.plata-cu-cardul) and [Paying for an order from your balance](#plati.plata-din-sold).\n\n### Canceling an order\n\n“Anulează comanda” appears on “Nou” and “În lucru” orders, but not while the server is being created or after the server has been deleted.\n\n1. Click “Anulează comanda”.\n2. The “Anulați comanda?” (Cancel the order?) dialog opens, with the order's number, description and total. The dialog also shows the amount that will be returned to your balance, or states that nothing will be returned.\n3. Click “Da, anulează” (Yes, cancel) to confirm, or “Nu, păstrează” (No, keep it) to back out.\n\nThe order moves to the “Anulat” (Canceled) status. An unpaid order is canceled with no refund, because you have not paid anything. The refund rules are in [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n> **Irreversible**\n> If the order has a server, canceling it immediately deletes the server and all the data on it. The dialog warns you: “Serverul asociat (SERVER_IP) va fi șters definitiv, împreună cu toate datele de pe el.” (The associated server (SERVER_IP) will be permanently deleted, together with all the data on it.) Copy the data you need before you confirm.\n\n## Add-on services and their states\n\nIf add-on services are attached to the order, a label for each one appears below the description, in the form “service: state”, for example “Monitoring 24/7: Activ” (Monitoring 24/7: Active) or “IP dedicat: În curs de activare” (Dedicated IP: Activating). The same information is in “Detalii comandă” (Order details) → “Servicii suplimentare” (Add-on services).\n\n| State | What it means | What to do |\n|---|---|---|\n| “În curs de activare” (Activating) | The service is being installed or is waiting for the team to act. | Wait. If the state does not change, write to us with the order number. “Monitoring 24/7” installs an agent on the server and works only on Ubuntu and Debian; on any other system, the state stays “În curs de activare”. |\n| “Activ” (Active) | The service is working. | You don't need to do anything. |\n| “Contactați suportul” (Contact support) | The automatic activation failed. Your server is not affected. | Write to us and include the `BBX-…` number. |\n| “Anulat” (Canceled) | The service was stopped, for example because the server was deleted. | You don't need to do anything. If you did not ask for it to be stopped, write to us. |\n\nFor “IP dedicat” (Dedicated IP), the additional IPv4 address is assigned manually by the team, not automatically. While the address is waiting to be assigned, the label shows “În curs de activare”. How to order add-on services: [Add-on services for your server](#servicii.servicii-suplimentare).\n\n## Frequently asked questions\n\n**I paid, but the order is still “Nou” (New).**\nPayment confirmation can take a few moments. Reload the page and check whether you have received the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email. If the status does not change, see [The payment failed or the status did not update](#faq.plata-nereusita).\n\n**The order is “În lucru” (In progress), but the “Server: …” line does not appear.**\nThe server is still being prepared. See [After payment: server activation and emails](#comenzi.dupa-plata) and [The server does not appear after payment](#faq.serverul-nu-este-gata).\n\n**The server is running. Why doesn't the order move to “Finalizat” (Completed)?**\nThe order for an active server stays “În lucru”. Only the BLACKBOX team sets the “Finalizat” status.\n\n**Why don't I see the “Anulează comanda” (Cancel the order) button?**\nThe button is missing on “Finalizat” and “Anulat” (Canceled) orders, and also while the server is being created or after it has been deleted. If the server is being created right now, come back in a few minutes.\n\n**I deleted the server in the panel. Why is the order “Anulat”?**\nOnce the deletion has been carried out, the order moves to “Anulat”, and the “Server: …” line disappears. Deleting a server in the panel does not refund anything: see [Permanently deleting a server](#servere.stergere-server).\n\n**Where do I find the invoice for an order?**\nAfter payment, the invoice appears in “Contul meu” (My account) → “Facturi” (Invoices), with the same `BBX-…` number as the order. See [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n"
   }
  },
  {
   "id": "comenzi.dupa-plata",
   "section": "comenzi",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/comenzi/dupa-plata/",
    "ru": "https://docs.blackbox.md/ru/comenzi/dupa-plata/",
    "en": "https://docs.blackbox.md/en/comenzi/dupa-plata/"
   },
   "title": {
    "ro": "După plată: activarea serverului și emailurile",
    "ru": "После оплаты: активация сервера и письма",
    "en": "After payment: server activation and emails"
   },
   "summary": {
    "ro": "Ce se întâmplă după plată, ce conține emailul „Serverul dvs. este gata” și unde găsiți serverul în panou.",
    "ru": "Что происходит после оплаты, что приходит в письме о готовности сервера («Serverul dvs. este gata») и где найти сервер в панели.",
    "en": "What happens after payment, what the “Serverul dvs. este gata” (Your server is ready) email contains and where to find your server in the panel."
   },
   "markdown": {
    "ro": "După ce plătiți o comandă pe `blackbox.md` (cu cardul sau din sold), statusul ei din „Contul meu” → „Comenzi” (`/account/orders`) se schimbă, primiți emailurile de confirmare, iar serverul apare în panoul app.blackbox.md, la „Serverele mele” (`app.blackbox.md/my-servers`). Mai jos găsiți fiecare pas și ce faceți dacă ceva întârzie.\n\n**Disponibil pentru:** titularul contului blackbox.md care a plătit comanda.\n\n## Ce se schimbă imediat după plată\n\nIndiferent dacă ați plătit cu cardul sau din sold:\n\n| Unde | Ce vedeți |\n|---|---|\n| „Comenzi” | statusul comenzii trece din „Nou” în „În lucru” |\n| Email | „Plată confirmată — BBX-…”, cu suma plătită și factura PDF atașată (`factura-BBX-….pdf`) |\n| „Facturi” | o factură cu același număr ca al comenzii (`BBX-…`) și statusul „Achitată” |\n\nEmailurile vin de la expeditorul „BlackBox”, pe adresa de email a contului. Subiectul este mereu în română, iar textul este în limba contului (română sau rusă). Vedeți [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\nPăstrați emailul „Plată confirmată”: din pagina „Facturi” PDF-ul nu se poate descărca. Detalii: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n## Cum se activează serverul\n\n| Tip de plan | Activare |\n|---|---|\n| Planurile VPS (`/servers/plans`) | automat, de regulă în câteva minute după confirmarea plății |\n| „VPS hosting” | serverul se creează la fel; echipa vă poate contacta pentru detalii. Întrebați suportul ce panou de control este instalat și cum primiți datele de acces la el: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou) |\n| Servere dedicate | pregătite manual de echipă; vă contactăm pentru sistemul de operare, termenul de livrare și datele de acces: [Servere dedicate](#comenzi.servere-dedicate) |\n\nCând serverul este creat:\n\n- primiți emailul „Serverul dvs. este gata — BBX-…”;\n- în „Comenzi”, sub descrierea comenzii, apare linia „Server: …” cu adresa IP;\n- serverul apare în panou, la „Serverele mele”.\n\nComanda rămâne „În lucru” și după ce serverul funcționează: statusul „Finalizat” îl setează doar echipa. Vedeți [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n## Ce conține emailul „Serverul dvs. este gata”\n\nConținutul depinde de modul de autentificare ales la comandă ([Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda)):\n\n| Câmp din email | Mod cu parolă | Mod „doar cheie SSH” |\n|---|---|---|\n| „Adresă IP” | da | da |\n| „Utilizator” | `root` | — |\n| „Parolă” | parola root | — |\n| „Autentificare” | — | „Cheie SSH — autentificarea cu parolă este dezactivată” |\n| „Sistem de operare” | da | da |\n| „Conectare SSH” | `ssh root@IP_SERVER` | `ssh root@IP_SERVER` |\n| „Amprente chei” | — | amprentele cheilor dvs. |\n\n- În modul cu parolă, emailul recomandă să schimbați parola imediat după prima conectare (comanda `passwd`) și să configurați autentificarea cu cheie SSH. Mai jos vedeți cum schimbați parola astfel încât și panoul să o afișeze pe cea nouă.\n- În modul „doar cheie SSH”, emailul spune că parola de consolă este în panou, „pentru acces de urgență prin consola VNC”.\n\n> **Notă**\n> Mențiunea despre consola VNC din email nu se aplică: clienții nu au consolă web sau VNC. Serverul se administrează prin SSH și cu butoanele din panou. Un server „doar cu cheie” are și el o parolă root, pe care o vedeți cu „Afișează datele de acces”, dar prin SSH ea funcționează doar dacă reactivați autentificarea cu parolă („Activează login cu parolă”): [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\n## Prima conectare\n\nRulați comanda din email:\n\n```bash\nssh root@IP_SERVER\n```\n\nEmailul poate sosi cu aproximativ un minut înainte ca serverul să răspundă la SSH. Dacă prima încercare eșuează (de exemplu „Connection refused” sau expirarea timpului de conectare), așteptați un minut și reîncercați. Detalii: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Dacă tot nu merge: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Unde găsiți serverul în panou\n\n### Din pagina „Comenzi” (cel mai rapid)\n\n1. Deschideți „Contul meu” → „Comenzi”.\n2. Pe rândul comenzii care are linia „Server: …”, apăsați pictograma cu săgeată („Gestionează în app.blackbox.md”). Când țineți cursorul pe ea, apare textul „Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” Același buton există și în detaliile comenzii (pictograma ochi, „Vezi detaliile”), iar pe telefon îl găsiți în meniul cu trei puncte (⋮).\n3. Panoul se deschide într-o filă nouă, vă autentifică automat și afișează „Serverele mele”, cu cardul acestui server evidențiat.\n\n### Din meniul contului\n\n1. Deschideți „Contul meu” → „Panou de administrare” (în meniul lateral).\n2. În meniul panoului apăsați „Serverele mele”.\n\nPe cardul serverului vedeți, printre altele, „Comandă” (numărul BBX), „IP” (cu buton de copiere), „Plan”, „Configurație”, „Adăugat” și butoanele „Afișează datele de acces”, „Resetează parola”, „Repornește”, „Oprește”, „Pornește”. Detalii: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n> **Notă**\n> Panoul se deschide de obicei pe pagina „Prezentare generală”, care poate afișa „Niciun server găsit. Contactați un administrator pentru a obține acces.” Este normal: serverele comandate pe `blackbox.md` sunt la „Serverele mele”.\n\n## Securitatea după prima conectare\n\n1. Schimbați parola root sau treceți la chei SSH:\n   - **parolă nouă:** în panou apăsați „Resetează parola” și confirmați („Parola curentă încetează să funcționeze imediat.”). Parola nouă apare pe card, iar panoul o reține: [Resetarea parolei root](#acces.resetare-parola-root);\n   - **chei SSH:** adăugați cheia pe server ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)). Păstrați deschisă sesiunea SSH curentă, verificați într-un al doilea terminal că vă puteți conecta cu cheia și abia apoi apăsați „Dezactivează login cu parolă”.\n2. Ștergeți sau arhivați emailul „Serverul dvs. este gata” care conține parola.\n\n> **Important**\n> Dacă schimbați parola pe server cu `passwd`, panoul nu află: „Afișează datele de acces” va arăta în continuare parola veche. Ca parola din panou și cea de pe server să fie aceeași, folosiți „Resetează parola”.\n\nLista completă de pași: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Nu ați primit emailul sau serverul\n\nVerificați întâi statusul comenzii în „Comenzi”:\n\n| Ce vedeți | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nou” | plata nu a fost confirmată | [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita) |\n| „În lucru”, fără linia „Server: …” | serverul se pregătește (un server dedicat se pregătește manual) | mai așteptați; pentru un server dedicat vă contactăm noi |\n| „În lucru”, cu linia „Server: …” | serverul există | căutați emailul și deschideți „Serverele mele” |\n\nApoi:\n\n1. Căutați emailul „Serverul dvs. este gata” și în dosarele Spam și Promoții.\n2. Dacă după un timp rezonabil serverul tot nu apare, scrieți suportului cu numărul comenzii `BBX-…`: la support@blackbox.md sau printr-un tichet din „Contul meu” → „Ajutor și suport”. Detalii: [Serverul nu apare după plată](#faq.serverul-nu-este-gata).\n\n## Întrebări frecvente\n\n**Am șters emailul cu parola. Unde o găsesc?**\nÎn panou, pe cardul serverului: „Afișează datele de acces”. Panoul arată parola pe care o are salvată; dacă ați schimbat-o cu `passwd`, generați una nouă cu „Resetează parola”. Vedeți [Afișarea datelor de acces root](#acces.afisare-date-acces).\n\n**Emailul nu conține nicio parolă. Este o greșeală?**\nNu. La comandă ați atașat o cheie SSH cu opțiunea „Dezactivează autentificarea prin parolă (doar cheie SSH)”, așa că vă conectați cu cheia. Emailul listează amprentele cheilor dvs.\n\n**De ce se numește serverul `bbx-bbx-2026-000123`?**\nEste numele intern, format din numărul comenzii. Îi puteți da un nume vizibil doar pentru dvs. cu creionul „Redenumește” de lângă nume: [Redenumirea serverului (nume privat)](#servere.redenumire).\n",
    "ru": "После оплаты заказа на `blackbox.md` (картой или с баланса) меняется статус заказа в разделе «Личный кабинет» → «Заказы» (`/ru/account/orders`), приходят письма с подтверждением, а сервер появляется в панели app.blackbox.md, в разделе «Мои серверы» (`app.blackbox.md/my-servers`). Ниже описан каждый этап и что делать, если что-то задерживается.\n\n**Доступно:** владельцу аккаунта blackbox.md, оплатившему заказ.\n\n## Что меняется сразу после оплаты\n\nНеважно, платили вы картой или с баланса:\n\n| Где | Что вы видите |\n|---|---|\n| «Заказы» | статус заказа меняется с «Новый» на «В работе» |\n| Почта | письмо «Plată confirmată — BBX-…» с суммой оплаты и PDF-счётом во вложении (`factura-BBX-….pdf`) |\n| «Счета» | счёт с тем же номером, что и у заказа (`BBX-…`), и статусом «Оплачен» |\n\nПисьма приходят от отправителя «BlackBox» на email аккаунта. Тема всегда на румынском, а текст — на языке аккаунта (румынском или русском). См. [Язык сайта, панели и писем](#cont.limba).\n\nСохраните письмо «Plată confirmată»: на странице «Счета» скачать PDF нельзя. Подробнее: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n## Как активируется сервер\n\n| Тип тарифа | Активация |\n|---|---|\n| Тарифы VPS (`/ru/servers/plans`) | автоматически, обычно в течение нескольких минут после подтверждения оплаты |\n| «VPS hosting» | сервер создаётся так же; команда может связаться с вами, чтобы уточнить детали. Какая панель управления установлена и как получить доступ к ней, уточните в поддержке: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou) |\n| Выделенные серверы | команда готовит вручную и связывается с вами, чтобы согласовать операционную систему, срок передачи сервера и данные для доступа: [Выделенные серверы](#comenzi.servere-dedicate) |\n\nКогда сервер создан:\n\n- приходит письмо «Serverul dvs. este gata — BBX-…»;\n- в разделе «Заказы» под описанием заказа появляется строка «Сервер: …» с IP-адресом;\n- сервер появляется в панели, в разделе «Мои серверы».\n\nЗаказ остаётся «В работе» и после того, как сервер заработал: статус «Завершён» ставит только команда. См. [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n## Что в письме «Serverul dvs. este gata»\n\nСодержание зависит от способа входа, выбранного при заказе ([SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda)):\n\n| Поле письма | Режим с паролем | Режим «только SSH-ключ» |\n|---|---|---|\n| «IP-адрес» | есть | есть |\n| «Пользователь» | `root` | — |\n| «Пароль» | пароль root | — |\n| «Аутентификация» | — | «SSH-ключ — вход по паролю отключён» |\n| «Операционная система» | есть | есть |\n| «Подключение SSH» | `ssh root@IP_СЕРВЕРА` | `ssh root@IP_СЕРВЕРА` |\n| «Отпечатки ключей» | — | отпечатки ваших ключей |\n\n- В режиме с паролем письмо советует сменить пароль сразу после первого подключения (команда `passwd`) и настроить вход по SSH-ключу. Ниже описано, как сменить пароль так, чтобы и панель показывала новый.\n- В режиме «только SSH-ключ» в письме сказано, что пароль консоли есть в панели — «для экстренного доступа через VNC-консоль».\n\n> **Примечание**\n> Упоминание VNC-консоли в письме к вам не относится: веб- и VNC-консоли для клиентов нет. Сервером управляют по SSH и кнопками в панели. У сервера «только по ключу» тоже есть пароль root — его показывает кнопка «Показать учётные данные», — но по SSH он подойдёт, только если снова включить вход по паролю кнопкой «Включить вход по паролю»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\n## Первое подключение\n\nВыполните команду из письма:\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\nПисьмо может прийти примерно за минуту до того, как сервер начнёт отвечать по SSH. Если первая попытка не удалась (например, «Connection refused» или истекло время ожидания), подождите минуту и повторите. Подробнее: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Если не помогает: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Где найти сервер в панели\n\n### Со страницы «Заказы» (быстрее всего)\n\n1. Откройте «Личный кабинет» → «Заказы».\n2. В строке заказа, где есть «Сервер: …», нажмите значок со стрелкой («Управление в app.blackbox.md»). При наведении курсора появляется подсказка «Сервер активен. Управлять им или отключить его можно в app.blackbox.md.» Та же кнопка есть в деталях заказа (значок глаза, «Показать детали»), а на телефоне — в меню с тремя точками (⋮).\n3. Панель откроется в новой вкладке, вход выполнится автоматически, и вы попадёте в раздел «Мои серверы», где карточка этого сервера будет выделена.\n\n### Из меню личного кабинета\n\n1. Откройте «Личный кабинет» → «Панель управления» (в боковом меню).\n2. В меню панели нажмите «Мои серверы».\n\nНа карточке сервера, среди прочего, указаны «Заказ» (номер BBX), «IP» (с кнопкой копирования), «Тариф», «Конфигурация», «Добавлен», а также кнопки «Показать учётные данные», «Сбросить пароль», «Перезагрузить», «Остановить», «Запустить». Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n> **Примечание**\n> Панель обычно открывается на странице «Обзор», где может быть написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» Это нормально: серверы, заказанные на `blackbox.md`, находятся в разделе «Мои серверы».\n\n## Безопасность после первого входа\n\n1. Смените пароль root или перейдите на SSH-ключи:\n   - **новый пароль:** в панели нажмите «Сбросить пароль» и подтвердите действие («Текущий пароль перестанет работать немедленно.»). Новый пароль появится на карточке, и панель его запомнит: [Сброс пароля root](#acces.resetare-parola-root);\n   - **SSH-ключи:** добавьте ключ на сервер ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)). Не закрывайте текущую SSH-сессию, проверьте во втором терминале, что входите по ключу, и только после этого нажмите «Отключить вход по паролю».\n2. Удалите или перенесите в архив письмо «Serverul dvs. este gata» с паролем.\n\n> **Важно**\n> Если сменить пароль на сервере командой `passwd`, панель об этом не узнает: «Показать учётные данные» будет по-прежнему показывать старый пароль. Чтобы пароль в панели и на сервере совпадал, пользуйтесь кнопкой «Сбросить пароль».\n\nПолный список шагов: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Нет письма или сервера\n\nСначала проверьте статус заказа в разделе «Заказы»:\n\n| Что вы видите | Что это значит | Что делать |\n|---|---|---|\n| «Новый» | оплата не подтверждена | [Оплата не прошла или статус не обновился](#faq.plata-nereusita) |\n| «В работе», строки «Сервер: …» нет | сервер готовится (выделенный сервер готовят вручную) | подождите; по выделенному серверу мы свяжемся с вами сами |\n| «В работе», есть строка «Сервер: …» | сервер создан | найдите письмо и откройте «Мои серверы» |\n\nЗатем:\n\n1. Поищите письмо «Serverul dvs. este gata» в папках «Спам» и «Промоакции».\n2. Если и через разумное время сервера нет, напишите в поддержку, указав номер заказа `BBX-…`: на support@blackbox.md или тикетом в «Личный кабинет» → «Помощь и поддержка». Подробнее: [Сервер не появился после оплаты](#faq.serverul-nu-este-gata).\n\n## Частые вопросы\n\n**Письмо с паролем удалено. Где найти пароль?**\nВ панели, на карточке сервера: «Показать учётные данные». Панель показывает сохранённый у неё пароль; если вы меняли его командой `passwd`, задайте новый кнопкой «Сбросить пароль». См. [Просмотр учётных данных root](#acces.afisare-date-acces).\n\n**В письме нет пароля. Это ошибка?**\nНет. При заказе вы добавили SSH-ключ с флажком «Отключить вход по паролю (только SSH-ключ)», поэтому вход — по ключу. В письме перечислены отпечатки ваших ключей.\n\n**Почему сервер называется `bbx-bbx-2026-000123`?**\nЭто внутреннее имя, составленное из номера заказа. Можно задать название, которое видите только вы: значок карандаша «Переименовать» рядом с именем. См. [Переименование сервера (личное название)](#servere.redenumire).\n",
    "en": "After you pay for an order on `blackbox.md` (by card or from your balance), its status in “Contul meu” (My account) → “Comenzi” (Orders) (`/account/orders`) changes, you receive confirmation emails, and the server appears in the app.blackbox.md panel, under “My Servers” (`app.blackbox.md/my-servers`). Below you'll find each step and what to do if something takes longer than expected.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the blackbox.md account holder who paid for the order.\n\n## What changes right after payment\n\nWhether you paid by card or from your balance:\n\n| Where | What you see |\n|---|---|\n| “Comenzi” (Orders) | the order status changes from “Nou” (New) to “În lucru” (In progress) |\n| Email | “Plată confirmată — BBX-…” (Payment confirmed — BBX-…), with the amount paid and the PDF invoice attached (`factura-BBX-….pdf`) |\n| “Facturi” (Invoices) | an invoice with the same number as the order (`BBX-…`) and the status “Achitată” (Paid) |\n\nEmails come from the sender “BlackBox” and go to your account's email address. The subject is always in Romanian; the text is in your account's language (Romanian or Russian). See [Language of the website, the panel and emails](#cont.limba).\n\nKeep the “Plată confirmată” (Payment confirmed) email: you can't download the PDF from the “Facturi” (Invoices) page. Details: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n## How the server is activated\n\n| Plan type | Activation |\n|---|---|\n| VPS plans (`/servers/plans`) | automatically, usually within a few minutes after the payment is confirmed |\n| “VPS hosting” | the server is created the same way; our team may contact you for details. Ask support which control panel is installed and how you get the login details for it: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou) |\n| Dedicated servers | prepared manually by our team; we contact you about the operating system, the delivery time and the access details: [Dedicated servers](#comenzi.servere-dedicate) |\n\nWhen the server is created:\n\n- you receive the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…);\n- in “Comenzi” (Orders), the line “Server: …” with the IP address appears under the order description;\n- the server appears in the panel, under “My Servers”.\n\nThe order stays “În lucru” (In progress) even after the server is running: only our team sets the status “Finalizat” (Completed). See [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n## What the “Serverul dvs. este gata” (Your server is ready) email contains\n\nThe content depends on the login method you chose when you ordered ([The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda)):\n\n| Field in the email | Password mode | “doar cheie SSH” (SSH key only) mode |\n|---|---|---|\n| “Adresă IP” (IP address) | yes | yes |\n| “Utilizator” (User) | `root` | — |\n| “Parolă” (Password) | the root password | — |\n| “Autentificare” (Authentication) | — | “Cheie SSH — autentificarea cu parolă este dezactivată” (SSH key — password authentication is disabled) |\n| “Sistem de operare” (Operating system) | yes | yes |\n| “Conectare SSH” (SSH connection) | `ssh root@SERVER_IP` | `ssh root@SERVER_IP` |\n| “Amprente chei” (Key fingerprints) | — | the fingerprints of your keys |\n\n- In password mode, the email recommends changing the password right after your first login (the `passwd` command) and setting up SSH key authentication. Further down, you'll see how to change the password so that the panel shows the new one too.\n- In “doar cheie SSH” (SSH key only) mode, the email says that the console password is in the panel, “pentru acces de urgență prin consola VNC” (for emergency access via the VNC console).\n\n> **Note**\n> The mention of the VNC console in the email does not apply: customers have no web or VNC console. You manage the server over SSH and with the buttons in the panel. A “key-only” server also has a root password, which you can see with “Reveal credentials”, but it works over SSH only if you turn password authentication back on (“Enable password login”): [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\n## Your first connection\n\nRun the command from the email:\n\n```bash\nssh root@SERVER_IP\n```\n\nThe email may arrive about a minute before the server starts responding over SSH. If your first attempt fails (for example with “Connection refused” or a connection timeout), wait a minute and try again. Details: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). If it still doesn't work: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Where to find your server in the panel\n\n### From the “Comenzi” (Orders) page (fastest)\n\n1. Open “Contul meu” (My account) → “Comenzi” (Orders).\n2. On the row of the order that shows the “Server: …” line, click the arrow icon, “Gestionează în app.blackbox.md” (Manage in app.blackbox.md). When you hover over it, you see the text “Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” (The server is active. You can manage or deactivate it in app.blackbox.md.) The same button is also in the order details (the eye icon, “Vezi detaliile” (View details)); on a phone, you'll find it in the three-dot menu (⋮).\n3. The panel opens in a new tab, signs you in automatically and shows “My Servers”, with this server's card highlighted.\n\n### From the account menu\n\n1. Open “Contul meu” (My account) → “Panou de administrare” (Admin panel) (in the side menu).\n2. In the panel menu, click “My Servers”.\n\nAmong other things, the server card shows “Order” (the BBX number), “IP” (with a copy button), “Plan”, “Spec”, “Added” and the buttons “Reveal credentials”, “Reset password”, “Reboot”, “Stop”, “Start”. Details: [The “My Servers” page: the server card](#servere.serverele-mele).\n\n> **Note**\n> The panel usually opens on the “Overview” page, which may show “No servers found. Contact an administrator to get access.” This is normal: servers ordered on `blackbox.md` are under “My Servers”.\n\n## Security after your first login\n\n1. Change the root password or switch to SSH keys:\n   - **new password:** in the panel, click “Reset password” and confirm (“The current password stops working immediately.”). The new password appears on the card, and the panel remembers it: [Resetting the root password](#acces.resetare-parola-root);\n   - **SSH keys:** add your key to the server ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)). Keep your current SSH session open, check in a second terminal that you can log in with the key, and only then click “Disable password login”.\n2. Delete or archive the “Serverul dvs. este gata” (Your server is ready) email, which contains the password.\n\n> **Important**\n> If you change the password on the server with `passwd`, the panel doesn't know about it: “Reveal credentials” will keep showing the old password. To keep the password in the panel and the one on the server the same, use “Reset password”.\n\nThe full list of steps: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## You didn't receive the email or the server\n\nFirst, check the order status in “Comenzi” (Orders):\n\n| What you see | What it means | What to do |\n|---|---|---|\n| “Nou” (New) | the payment has not been confirmed | [The payment failed or the status did not update](#faq.plata-nereusita) |\n| “În lucru” (In progress), without the “Server: …” line | the server is being prepared (a dedicated server is prepared manually) | wait a little longer; for a dedicated server, we will contact you |\n| “În lucru” (In progress), with the “Server: …” line | the server exists | look for the email and open “My Servers” |\n\nThen:\n\n1. Look for the “Serverul dvs. este gata” (Your server is ready) email in your Spam and Promotions folders as well.\n2. If the server still doesn't appear after a reasonable time, write to support with your order number `BBX-…`: at support@blackbox.md or through a support ticket in “Contul meu” (My account) → “Ajutor și suport” (Help and support). Details: [The server does not appear after payment](#faq.serverul-nu-este-gata).\n\n## Frequently asked questions\n\n**I deleted the email with the password. Where can I find it?**\nIn the panel, on the server card: “Reveal credentials”. The panel shows the password it has saved; if you changed it with `passwd`, generate a new one with “Reset password”. See [Showing root credentials](#acces.afisare-date-acces).\n\n**The email doesn't contain a password. Is this a mistake?**\nNo. When you ordered, you attached an SSH key with the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) option, so you log in with the key. The email lists the fingerprints of your keys.\n\n**Why is my server named `bbx-bbx-2026-000123`?**\nIt's the internal name, built from the order number. You can give it a name that only you see, with the “Rename” pencil next to the name: [Renaming a server (private name)](#servere.redenumire).\n"
   }
  },
  {
   "id": "plati.metode-de-plata",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/metode-de-plata/",
    "ru": "https://docs.blackbox.md/ru/plati/metode-de-plata/",
    "en": "https://docs.blackbox.md/en/plati/metode-de-plata/"
   },
   "title": {
    "ro": "Metode de plată acceptate",
    "ru": "Принимаемые способы оплаты",
    "en": "Accepted payment methods"
   },
   "summary": {
    "ro": "Cardul prin Paynet, soldul contului și transferul bancar: ce puteți plăti cu fiecare metodă.",
    "ru": "Карта через Paynet, баланс аккаунта и банковский перевод: что можно оплатить каждым способом.",
    "en": "Card via Paynet, your account balance and bank transfer: what you can pay for with each method."
   },
   "markdown": {
    "ro": "BLACKBOX acceptă trei metode de plată: cardul Visa sau Mastercard prin Paynet, soldul contului BLACKBOX și transferul bancar. Prețurile și plățile online sunt în lei moldovenești (MDL). Plățile online se fac pe blackbox.md, în „Contul meu”: comenzile se achită din „Comenzi” (`blackbox.md/account/orders`), soldul se alimentează din „Sold” (`/account/balance`), iar facturile se găsesc în „Facturi” (`/account/invoices`). Regulile generale sunt descrise și pe pagina „Plata serviciilor” (`https://blackbox.md/info/payment`).\n\n**Disponibil pentru:** titularul contului blackbox.md, după autentificare.\n\n## Metodele pe scurt\n\n| Metodă | Cum plătiți | De reținut |\n|---|---|---|\n| Card Visa sau Mastercard, prin Paynet | Pe pagina de plată „Achitare”: apăsați „Achitați X MDL”, apoi introduceți datele cardului pe pagina Paynet. | Suma se debitează în MDL. Un card în altă valută este acceptat: banca emitentă face conversia la cursul zilei. |\n| Soldul contului („Sold”) | Pe aceeași pagină „Achitare”: apăsați „Achitați din sold (Disponibil în sold: X MDL)”. | Soldul se alimentează numai cu cardul, cu sume între 50 și 50 000 MDL la o alimentare. Din sold se plătește doar suma întreagă. |\n| Transfer bancar | Achitați factura din banca dvs., pe rechizitele Click Expert S.R.L. | În principal pentru companii. Serviciul se activează după ce echipa confirmă încasarea. Pentru EUR sau USD, cereți întâi datele contului la suport. |\n| Criptomonede | — | Nu se acceptă. |\n\nPașii detaliați pentru fiecare metodă:\n\n- card: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul);\n- sold: [Soldul contului: cum funcționează](#plati.sold), [Alimentarea soldului](#plati.alimentare-sold) și [Plata unei comenzi din sold](#plati.plata-din-sold);\n- transfer: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n## Ce puteți plăti cu fiecare metodă\n\n| Ce plătiți | Metode | Unde |\n|---|---|---|\n| O comandă nouă (status „Nou”) | Card sau sold. Prin transfer bancar: la cerere, prin suport. | „Contul meu” → „Comenzi” → „Achită comanda” |\n| Alimentarea soldului | Numai card | „Contul meu” → „Sold” → „Alimentează soldul” |\n| O factură emisă de echipă (status „Trimisă” sau „Restantă”) | Transfer bancar, plată automată din sold sau prin suport. Nu se poate achita online cu cardul. | „Contul meu” → „Facturi” |\n| Upgrade-ul unui server | Numai sold | Panoul app.blackbox.md, butonul „Upgrade” |\n| O plată făcută de asistentul AI (MCP) | Numai sold | Asistentul AI conectat la contul dvs. |\n\n> **Important**\n> În dreptul facturilor „Trimisă” și „Restantă”, pagina „Facturi” afișează textul „Plata online — în curând”. Textul înseamnă că factura nu poate fi achitată acum online: nu există nici buton de plată cu cardul, nici buton de plată din sold. Plătiți prin transfer bancar, prin plata automată din sold (vedeți [Plata automată a facturilor din sold](#plati.plata-automata)) sau scrieți-ne la support@blackbox.md, cu numărul facturii.\n\n**Upgrade.** Suma afișată la „Facturat acum (prorata)” se ia din sold. Dacă soldul nu ajunge, fereastra „Upgrade server” afișează „Soldul contului dvs. nu este suficient pentru acest upgrade.” și linkul „Alimentați soldul →”. Detalii: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n**Asistentul AI.** Un asistent conectat prin MCP plătește comenzile numai din sold; nu poate plăti cu cardul și nu poate alimenta soldul. Comanda creată de asistent apare în „Comenzi” cu statusul „Nou”, deci o puteți achita și dvs. pe site, cu cardul. Detalii: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n## Acordul cu Termenii la fiecare plată\n\nPe pagina de plată și pe pagina de alimentare a soldului trebuie să bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”, urmată de versiunea Termenilor în paranteză. Linkurile din casetă deschid documentele într-o filă nouă.\n\nPână bifați caseta, butoanele „Achitați X MDL” și „Achitați din sold” rămân inactive. Bifa nu se memorează: o puneți la fiecare plată. Mesajul „Trebuie să acceptați termenii pentru a continua.” înseamnă că acordul nu a fost înregistrat: reîncărcați pagina, bifați caseta și încercați din nou.\n\n## Securitatea plăților cu cardul\n\n- Introduceți datele cardului numai pe pagina Paynet, unde ajungeți după ce apăsați „Achitați X MDL”. BLACKBOX nu le vede și nu le stochează.\n- Pagina Paynet se deschide la o adresă din domeniul paynet.md. Dacă site-ul nu poate confirma această adresă, afișează „Nu am putut confirma destinația plății. Contactați suportul.” și nu vă redirecționează.\n- Cardul nu este debitat recurent: fiecare plată cu cardul o porniți dvs. Nici comutatorul „Reîncărcare automată” de pe pagina „Sold” nu folosește cardul: el plătește facturile doar din banii aflați deja în sold.\n- Mențiunea „Plăți securizate prin Paynet”, alături de siglele Visa, Mastercard și Paynet, apare în subsolul site-ului blackbox.md, pe pagina de plată și pe pagina de alimentare a soldului.\n\n> **Securitate**\n> Nu trimiteți datele cardului prin email, chat sau tichet. Introduceți-le numai pe pagina Paynet deschisă din butonul „Achitați X MDL”.\n\n## Întrebări frecvente\n\n**Pot plăti o parte din sold și restul cu cardul?**\nNu. Din sold se plătește doar suma întreagă, iar butonul „Achitați din sold” apare numai dacă soldul acoperă toată suma. Alimentați întâi diferența.\n\n**De ce nu văd butonul „Achitați din sold”?**\nSoldul este mai mic decât suma de plată. Dacă pagina afișează „Plățile online sunt momentan indisponibile”, nu apare nici butonul pentru sold; scrieți-ne pentru a plăti altfel.\n\n**Pot plăti în EUR sau USD?**\nCu cardul, da: suma se debitează în MDL, iar banca dvs. face conversia. Pentru un transfer bancar în EUR sau USD, cereți întâi datele contului la support@blackbox.md.\n\n**Cardul meu va fi debitat automat în fiecare lună?**\nNu. Lunile următoare se plătesc pe bază de factură emisă de echipa noastră. Vedeți [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n\n**Am nevoie de factură pe firmă. Ce fac?**\nÎnainte de comandă, adăugați datele companiei în „Contul meu” → „Date de facturare”. Vedeți [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n**Unde ajung banii dacă anulez o comandă?**\nSuma returnată ajunge în soldul BLACKBOX. Pentru rambursare pe card, scrieți la support@blackbox.md. Vedeți [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**Plata nu a trecut sau statusul comenzii nu s-a schimbat. Ce fac?**\nVedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n",
    "ru": "BLACKBOX принимает три способа оплаты: карту Visa или Mastercard через Paynet, баланс аккаунта BLACKBOX и банковский перевод. Цены и онлайн-платежи — в молдавских леях (MDL). Оплачивать онлайн можно на blackbox.md, в личном кабинете («Мой аккаунт»): заказы оплачиваются в разделе «Заказы» (`blackbox.md/ru/account/orders`), баланс пополняется в разделе «Баланс» (`/ru/account/balance`), а счета находятся в разделе «Счета» (`/ru/account/invoices`). Общие правила описаны также на странице «Оплата услуг» (`https://blackbox.md/ru/info/payment`).\n\n**Доступно:** владельцу аккаунта blackbox.md после входа в аккаунт.\n\n## Способы оплаты вкратце\n\n| Способ | Как оплатить | Что важно знать |\n|---|---|---|\n| Карта Visa или Mastercard через Paynet | На странице оплаты «Оплата»: нажмите «Оплатить X MDL», затем введите данные карты на странице Paynet. | Сумма списывается в MDL. Карта в другой валюте тоже подходит: банк-эмитент сам конвертирует сумму по курсу дня. |\n| Баланс аккаунта («Баланс») | На той же странице «Оплата»: нажмите «Оплатить с баланса (Доступно на балансе: X MDL)». | Баланс пополняется только картой, от 50 до 50 000 MDL за одно пополнение. С баланса можно оплатить только всю сумму сразу. |\n| Банковский перевод | Оплатите счёт из своего банка по реквизитам Click Expert S.R.L. | В основном для компаний. Услуга активируется после того, как команда подтвердит поступление денег. Для оплаты в EUR или USD сначала запросите реквизиты в поддержке. |\n| Криптовалюта | — | Не принимается. |\n\nПошаговые инструкции для каждого способа:\n\n- карта: [Оплата картой (Paynet)](#plati.plata-cu-cardul);\n- баланс: [Баланс аккаунта: как это работает](#plati.sold), [Пополнение баланса](#plati.alimentare-sold) и [Оплата заказа с баланса](#plati.plata-din-sold);\n- перевод: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n## Что можно оплатить каждым способом\n\n| Что оплачиваете | Способы | Где |\n|---|---|---|\n| Новый заказ (статус «Новый») | Карта или баланс. Банковским переводом — по запросу через поддержку. | «Мой аккаунт» → «Заказы» → «Оплатить заказ» |\n| Пополнение баланса | Только карта | «Мой аккаунт» → «Баланс» → «Пополнить баланс» |\n| Счёт, выставленный командой (статус «Отправлен» или «Просрочен») | Банковский перевод, автоплатёж с баланса или через поддержку. Оплатить картой онлайн нельзя. | «Мой аккаунт» → «Счета» |\n| Апгрейд сервера | Только баланс | Панель app.blackbox.md, кнопка «Апгрейд» |\n| Платёж, который проводит AI-ассистент (MCP) | Только баланс | AI-ассистент, подключённый к вашему аккаунту |\n\n> **Важно**\n> Напротив счетов со статусом «Отправлен» и «Просрочен» на странице «Счета» написано «Онлайн-оплата — скоро». Это значит, что сейчас такой счёт нельзя оплатить онлайн: нет ни кнопки оплаты картой, ни кнопки оплаты с баланса. Оплатите его банковским переводом, через автоплатёж с баланса (см. [Автоматическая оплата счетов с баланса](#plati.plata-automata)) или напишите на support@blackbox.md, указав номер счёта.\n\n**Апгрейд.** С баланса списывается сумма, указанная в строке «Списано сейчас (пропорционально)». Если денег не хватает, в окне «Апгрейд сервера» появится сообщение «На балансе недостаточно средств для этого апгрейда.» и ссылка «Пополнить баланс →». Подробнее: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n**AI-ассистент.** Ассистент, подключённый по MCP, оплачивает заказы только с баланса: платить картой и пополнять баланс он не может. Заказ, созданный ассистентом, появляется в разделе «Заказы» со статусом «Новый», так что вы можете оплатить его и сами на сайте, картой. Подробнее: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n## Согласие с условиями при каждой оплате\n\nНа странице оплаты и на странице пополнения баланса нужно отметить флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» — после него в скобках указана версия условий. Ссылки во флажке открывают документы в новой вкладке.\n\nПока флажок не отмечен, кнопки «Оплатить X MDL» и «Оплатить с баланса» неактивны. Отметка не запоминается: ставьте её при каждой оплате. Сообщение «Необходимо принять условия, чтобы продолжить.» означает, что согласие не было зафиксировано: обновите страницу, отметьте флажок и повторите попытку.\n\n## Безопасность оплаты картой\n\n- Вводите данные карты только на странице Paynet, куда вы попадаете после нажатия «Оплатить X MDL». BLACKBOX их не видит и не хранит.\n- Страница Paynet открывается по адресу в домене paynet.md. Если сайт не может подтвердить этот адрес, он показывает «Не удалось подтвердить назначение платежа. Свяжитесь со службой поддержки.» и не выполняет переход.\n- Регулярных списаний с карты нет: каждый платёж картой запускаете вы сами. Переключатель «Автоматическое пополнение» на странице «Баланс» карту тоже не использует: он оплачивает счета только деньгами, которые уже лежат на балансе.\n- Надпись «Безопасные платежи через Paynet» вместе с логотипами Visa, Mastercard и Paynet есть в нижней части сайта blackbox.md, на странице оплаты и на странице пополнения баланса.\n\n> **Безопасность**\n> Не отправляйте данные карты по email, в чате или в тикете. Вводите их только на странице Paynet, которая открывается по кнопке «Оплатить X MDL».\n\n## Частые вопросы\n\n**Можно ли оплатить часть суммы с баланса, а остальное картой?**\nНет. С баланса оплачивается только вся сумма, а кнопка «Оплатить с баланса» появляется, только если баланса хватает на всю сумму. Сначала пополните баланс на недостающую сумму.\n\n**Почему я не вижу кнопку «Оплатить с баланса»?**\nНа балансе меньше денег, чем нужно для оплаты. Если на странице написано «Онлайн-оплата временно недоступна», кнопки оплаты с баланса тоже не будет — напишите нам, чтобы оплатить другим способом.\n\n**Можно ли платить в EUR или USD?**\nКартой — да: сумма списывается в MDL, а конвертацию выполняет ваш банк. Для банковского перевода в EUR или USD сначала запросите реквизиты на support@blackbox.md.\n\n**Будут ли с моей карты автоматически списывать деньги каждый месяц?**\nНет. Следующие месяцы оплачиваются по счёту, который выставляет наша команда. См. [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n\n**Мне нужен счёт на компанию. Что делать?**\nДо оформления заказа добавьте данные компании в разделе «Мой аккаунт» → «Реквизиты». См. [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n**Куда вернутся деньги, если я отменю заказ?**\nВозвращённая сумма зачисляется на баланс BLACKBOX. Чтобы вернуть деньги на карту, напишите на support@blackbox.md. См. [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Оплата не прошла или статус заказа не изменился. Что делать?**\nСм. [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n",
    "en": "BLACKBOX accepts three payment methods: a Visa or Mastercard card via Paynet, your BLACKBOX account balance, and bank transfer. Prices and online payments are in Moldovan lei (MDL). You pay online on blackbox.md, in “Contul meu” (My account): you pay for orders under “Comenzi” (Orders) (`blackbox.md/account/orders`), top up your balance under “Sold” (Balance) (`/account/balance`), and find your invoices under “Facturi” (Invoices) (`/account/invoices`). The general rules are also described on the “Plata serviciilor” (Payment for services) page (`https://blackbox.md/info/payment`).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the blackbox.md account holder, once signed in.\n\n## Payment methods at a glance\n\n| Method | How you pay | Good to know |\n|---|---|---|\n| Visa or Mastercard card, via Paynet | On the payment page, “Achitare” (Payment): click “Achitați X MDL” (Pay X MDL), then enter your card details on the Paynet page. | The amount is charged in MDL. A card in another currency is accepted: your issuing bank converts the amount at the day's exchange rate. |\n| Account balance: “Sold” (Balance) | On the same “Achitare” page: click “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)). | You can top up your balance only by card, with 50 to 50,000 MDL per top-up. From the balance you can pay only the full amount. |\n| Bank transfer | Pay the invoice from your bank, using the bank details of Click Expert S.R.L. | Mainly for companies. The service is activated once the team confirms the payment has been received. For EUR or USD, first ask support for the account details. |\n| Cryptocurrencies | — | Not accepted. |\n\nDetailed steps for each method:\n\n- card: [Paying by card (Paynet)](#plati.plata-cu-cardul);\n- balance: [Account balance: how it works](#plati.sold), [Topping up your balance](#plati.alimentare-sold) and [Paying for an order from your balance](#plati.plata-din-sold);\n- bank transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n## What you can pay for with each method\n\n| What you pay for | Methods | Where |\n|---|---|---|\n| A new order (status “Nou” (New)) | Card or balance. By bank transfer: on request, through support. | “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order) |\n| Topping up your balance | Card only | “Contul meu” → “Sold” (Balance) → “Alimentează soldul” (Top up balance) |\n| An invoice issued by the team (status “Trimisă” (Sent) or “Restantă” (Overdue)) | Bank transfer, automatic payment from your balance, or through support. It can't be paid online by card. | “Contul meu” → “Facturi” (Invoices) |\n| A server upgrade | Balance only | The app.blackbox.md panel, “Upgrade” button |\n| A payment made by the AI assistant (MCP) | Balance only | The AI assistant connected to your account |\n\n> **Important**\n> Next to “Trimisă” and “Restantă” invoices, the “Facturi” page shows the text “Plata online — în curând” (Online payment — coming soon). This text means the invoice can't currently be paid online: there is neither a card payment button nor a pay-from-balance button. Pay by bank transfer, through automatic payment from your balance (see [Automatic payment of invoices from your balance](#plati.plata-automata)), or write to us at support@blackbox.md with the invoice number.\n\n**Upgrade.** The amount shown next to “Charged now (prorated)” is taken from your balance. If your balance isn't enough, the “Upgrade server” window shows “Your wallet balance isn't enough to cover this upgrade.” and the link “Top up your balance →”. Details: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n**AI assistant.** An assistant connected via MCP pays for orders only from your balance; it can't pay by card and can't top up your balance. An order created by the assistant appears in “Comenzi” with the status “Nou”, so you can also pay for it yourself on the website, by card. Details: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n## Accepting the Terms with every payment\n\nOn the payment page and on the balance top-up page, you must tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy), followed by the version of the Terms in parentheses. The links in the box open the documents in a new tab.\n\nUntil you tick the box, the “Achitați X MDL” (Pay X MDL) and “Achitați din sold” (Pay from balance) buttons stay inactive. The tick isn't remembered: you tick the box for every payment. The message “Trebuie să acceptați termenii pentru a continua.” (You must accept the terms to continue.) means your consent wasn't recorded: reload the page, tick the box and try again.\n\n## Card payment security\n\n- Enter your card details only on the Paynet page, which you reach after clicking “Achitați X MDL” (Pay X MDL). BLACKBOX doesn't see or store them.\n- The Paynet page opens at an address in the paynet.md domain. If the website can't confirm this address, it shows “Nu am putut confirma destinația plății. Contactați suportul.” (We could not confirm the payment destination. Contact support.) and doesn't redirect you.\n- Your card is not charged on a recurring basis: you start every card payment yourself. The “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page doesn't use your card either: it pays invoices only with money that is already in your balance.\n- The note “Plăți securizate prin Paynet” (Secure payments via Paynet), together with the Visa, Mastercard and Paynet logos, appears in the footer of the blackbox.md website, on the payment page and on the balance top-up page.\n\n> **Security**\n> Don't send your card details by email, chat or support ticket. Enter them only on the Paynet page opened from the “Achitați X MDL” button.\n\n## Frequently asked questions\n\n**Can I pay part of the amount from my balance and the rest by card?**\nNo. From the balance you can pay only the full amount, and the “Achitați din sold” (Pay from balance) button appears only if your balance covers the whole amount. Top up the difference first.\n\n**Why don't I see the “Achitați din sold” button?**\nYour balance is lower than the amount to pay. If the page shows “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable), the balance button doesn't appear either; write to us to pay another way.\n\n**Can I pay in EUR or USD?**\nBy card, yes: the amount is charged in MDL, and your bank does the conversion. For a bank transfer in EUR or USD, first ask support@blackbox.md for the account details.\n\n**Will my card be charged automatically every month?**\nNo. The following months are paid based on an invoice issued by our team. See [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n\n**I need an invoice in my company's name. What do I do?**\nBefore you order, add your company details in “Contul meu” (My account) → “Date de facturare” (Billing details). See [Billing details for companies and individuals](#plati.date-facturare).\n\n**Where does the money go if I cancel an order?**\nThe refunded amount goes to your BLACKBOX balance. For a refund to your card, write to support@blackbox.md. See [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**The payment didn't go through or the order status didn't change. What do I do?**\nSee [The payment failed or the status did not update](#faq.plata-nereusita).\n"
   }
  },
  {
   "id": "plati.plata-cu-cardul",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/plata-cu-cardul/",
    "ru": "https://docs.blackbox.md/ru/plati/plata-cu-cardul/",
    "en": "https://docs.blackbox.md/en/plati/plata-cu-cardul/"
   },
   "title": {
    "ro": "Plata cu cardul (Paynet)",
    "ru": "Оплата картой (Paynet)",
    "en": "Paying by card (Paynet)"
   },
   "summary": {
    "ro": "Pagina de plată, redirecționarea la Paynet, valabilitatea linkului și mesajele de pe pagina de confirmare.",
    "ru": "Страница оплаты, переход на Paynet, срок действия ссылки и сообщения на странице подтверждения.",
    "en": "The payment page, the redirect to Paynet, how long the payment link is valid, and the messages on the confirmation page."
   },
   "markdown": {
    "ro": "Comenzile de pe blackbox.md se achită cu cardul Visa sau Mastercard prin Paynet. Pagina de plată „Achitare” (`blackbox.md/checkout/order/…`) se deschide automat după ce plasați comanda, iar mai târziu o găsiți în „Contul meu” → „Comenzi” → „Achită comanda”. Datele cardului le introduceți numai pe pagina securizată Paynet.\n\n**Disponibil pentru:** titularul contului blackbox.md în care a fost plasată comanda.\n\n## Cum achitați o comandă cu cardul\n\n1. Deschideți pagina de plată. Imediat după plasarea comenzii ajungeți pe ea automat. Mai târziu: „Contul meu” → „Comenzi” și pictograma cu cardul („Achită comanda”) din rândul comenzii; pe telefon sau tabletă, butonul cu trei puncte „⋮” din rândul comenzii → „Achită comanda”. Butonul apare doar la comenzile cu statusul „Nou”. Dacă nu sunteți autentificat, site-ul vă cere mai întâi să intrați în cont.\n2. Verificați comanda: sub „Achitare” vedeți titlul „Comandă BBX-…”, rândul „Referință: BBX-…” și suma în MDL, cu două zecimale.\n3. Bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”. După text apare versiunea documentelor, de exemplu „(v2026-09-03)”. Linkurile din casetă se deschid într-o filă nouă. Până nu bifați caseta, butonul de plată rămâne inactiv.\n4. Apăsați „Achitați … MDL”, de exemplu „Achitați 578,00 MDL”. Cât timp se pregătește plata, butonul arată „Se procesează…”, apoi browserul trece pe pagina Paynet.\n5. Pe pagina Paynet introduceți datele cardului și confirmați plata. Dacă banca cere o confirmare suplimentară (3-D Secure: un cod prin SMS sau o aprobare în aplicația băncii), finalizați-o.\n6. Paynet vă întoarce pe blackbox.md, pe pagina de confirmare (fila „Confirmare plată — BLACKBOX”), care verifică singură plata.\n\nSub butonul principal, dacă soldul acoperă toată suma, apare și „Achitați din sold (Disponibil în sold: X MDL)”: vedeți [Plata unei comenzi din sold](#plati.plata-din-sold). În partea de jos sunt siglele Visa, Mastercard și Paynet și textul „Plăți securizate prin Paynet”.\n\nPagina de plată care se deschide imediat după comandă și pagina de confirmare se afișează în limba română, indiferent de limba aleasă pe site. Din „Comenzi”, pagina de plată se deschide în limba site-ului.\n\n> **Securitate**\n> Datele cardului se introduc numai pe pagina Paynet. BLACKBOX nu are acces la ele și nu le stochează, iar cardul nu se debitează automat în lunile următoare. Nu trimiteți niciodată datele cardului prin email, în tichete sau la telefon.\n\n## Valabilitatea linkului de plată\n\n- Linkul de plată Paynet este valabil 60 de minute din momentul în care apăsați „Achitați … MDL”.\n- Dacă nu ați plătit în acest timp sau ați închis pagina Paynet, comanda rămâne în statusul „Nou”. Deschideți „Comenzi” → „Achită comanda” și apăsați din nou „Achitați … MDL”: se creează un link nou, valabil tot 60 de minute.\n\n## Mesajele de pe pagina de confirmare\n\nPagina verifică plata o dată pe secundă, timp de aproximativ 10 secunde.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Verificăm plata…” și „Vă rugăm așteptați…” | Pagina așteaptă confirmarea de la Paynet. | Așteptați câteva secunde. |\n| „Verificăm plata…” și „Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.”, cu butonul „Reîncercați” | Confirmarea nu a sosit în 10 secunde. Plata poate fi totuși reușită. | Nu plătiți din nou. Așteptați câteva minute, apoi apăsați „Reîncercați” (pagina verifică din nou) sau urmăriți statusul în „Comenzi” și emailul. |\n| „Plata a fost efectuată!” și „Tranzacția a fost confirmată. Veți primi o confirmare pe email.” | Plata a reușit, iar comanda trece în statusul „În lucru”. | Apăsați „← Înapoi la cont” pentru lista de comenzi. Vedeți secțiunea următoare. |\n| „Plata nu a fost finalizată” și „Plata a fost anulată. Puteți încerca din nou.” | Ați anulat plata pe pagina Paynet. Nu s-a debitat nimic, iar comanda rămâne în statusul „Nou”. | „← Înapoi la cont” duce la „Comenzile mele”. Apăsați din nou „Achită comanda”. |\n| „Plata nu a fost finalizată” și „Sesiunea de plată a expirat. Puteți încerca din nou.” | Linkul de plată nu mai este valabil: au trecut cele 60 de minute. | Apăsați „Reîncercați plata” sau „Achită comanda” în „Comenzi”. |\n| „Plata nu a fost finalizată” și „A apărut o eroare la procesarea plății. Puteți încerca din nou.” | Plata nu a trecut, de exemplu a fost refuzată de bancă. | Apăsați „Reîncercați plata”. Dacă eroarea se repetă, vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita). |\n| „Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” | Pagina nu a putut verifica plata, de exemplu din cauza conexiunii sau după mai multe reîncercări la rând. | Apăsați „← Comenzile mele”. „În lucru” înseamnă că plata a trecut; dacă vedeți „Nou”, așteptați emailul înainte să plătiți din nou. |\n| „Sesiune de plată invalidă.” | Adresa paginii este incompletă. | Apăsați „← Contul meu” și verificați statusul în „Comenzi”. |\n\n> **Important**\n> Dacă nu sunteți sigur că plata a trecut, nu plătiți din nou. Verificați mai întâi statusul comenzii în „Comenzi” și emailul „Plată confirmată — BBX-…”.\n\n## După plata reușită\n\n- Comanda trece din „Nou” în „În lucru”.\n- Primiți emailul „Plată confirmată — BBX-…” (subiectul este întotdeauna în română), cu suma achitată și factura PDF atașată (`factura-BBX-….pdf`).\n- Factura cu același număr apare în „Contul meu” → „Facturi”, cu statusul „Achitată”.\n- La planurile VPS și „VPS hosting” serverul se creează automat, de regulă în câteva minute după confirmarea plății, iar datele de acces vin în emailul „Serverul dvs. este gata — BBX-…”. La planurile „VPS hosting” echipa vă poate contacta pentru detalii.\n- Serverele dedicate sunt pregătite manual de echipă; vă contactăm noi.\n\nDetalii în [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n## Erori pe pagina de plată\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Plățile online sunt momentan indisponibile” și „Reveniți curând sau contactați suportul pentru a efectua plata manual.” | Plata cu cardul este oprită temporar. În această stare nu apare nici butonul de plată din sold. | Reveniți mai târziu sau scrieți-ne pentru o plată manuală, de exemplu prin transfer: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar). |\n| „Trebuie să acceptați termenii pentru a continua.” | Caseta de acord nu este bifată. | Bifați caseta și apăsați din nou butonul. |\n| „Deja achitat.” | Apare la plata din sold: comanda a fost deja achitată, de exemplu într-o altă filă. | Verificați statusul în „Comenzi”. Nu plătiți din nou. |\n| „Nu am putut confirma destinația plății. Contactați suportul.” | Adresa primită pentru plată nu este o adresă Paynet, așa că, pentru siguranța dvs., site-ul nu vă trimite acolo. | Nu plătiți pe alte pagini. Scrieți-ne și indicați numărul comenzii. |\n| „Eroare la inițierea plății. Vă rugăm încercați din nou.” | Linkul de plată nu a putut fi creat. Mesajul apare și dacă între timp comanda a fost achitată, de exemplu într-o altă filă. | Verificați statusul comenzii în „Comenzi”. Dacă este tot „Nou”, reîncărcați pagina și încercați din nou. Dacă eroarea se repetă, scrieți-ne. |\n| „Eroare la încărcarea detaliilor plății.” | Pagina nu a putut încărca comanda. Cel mai des, comanda este deja achitată sau anulată. | Verificați statusul în „Comenzi”: se pot achita doar comenzile „Nou”. |\n| „Această comandă nu a fost găsită.” | Comanda nu există sau aparține altui cont. | Verificați că sunteți autentificat în contul în care ați plasat comanda. |\n\n## Plată dublă sau plata unei comenzi anulate\n\nDacă aceeași comandă a fost achitată de două ori (cu cardul și din sold sau cu două carduri) ori ați plătit o comandă care între timp a fost anulată, a doua plată nu se returnează automat. Scrieți-ne pentru rambursare și indicați numărul comenzii `BBX-…`, suma, data și ora plății. Rambursarea pe card se face prin Paynet, pe același card, de regulă în 5–10 zile lucrătoare de la aprobarea cererii; termenul depinde de banca emitentă. Vedeți [Anularea comenzii și rambursări](#plati.anulare-si-rambursare) și [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Ce carduri sunt acceptate și în ce monedă se plătește?**\nVisa și Mastercard. Suma se debitează în MDL; dacă cardul este în altă valută, banca emitentă face conversia la cursul zilei.\n\n**Cardul meu va fi debitat automat în fiecare lună?**\nNu. BLACKBOX nu stochează datele cardului și nu face debitări automate recurente. Fiecare plată cu cardul o inițiați dvs.\n\n**Pot achita o factură cu cardul?**\nNu pe site. În „Facturi”, la facturile „Trimisă” și „Restantă” apare mențiunea „Plata online — în curând”: plata facturilor cu cardul nu este disponibilă. Achitați-le prin transfer bancar, prin plata automată din sold sau scrieți-ne. Vedeți [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n**Pot alimenta soldul cu cardul?**\nDa, tot prin Paynet. Vedeți [Alimentarea soldului](#plati.alimentare-sold).\n\n**Banii au fost retrași, dar comanda este tot „Nou”. Ce fac?**\nAșteptați câteva minute și verificați dacă a sosit emailul „Plată confirmată — BBX-…”. Dacă statusul nu se schimbă, scrieți-ne cu numărul comenzii, suma și ora plății, fără datele cardului. Vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n\n**Banca mi-a refuzat cardul. Ce fac?**\nVerificați la bancă dacă plățile pe internet sunt activate și dacă nu ați depășit limita cardului, apoi încercați din nou sau folosiți alt card. Puteți achita și prin transfer bancar: vedeți [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n",
    "ru": "Заказы на blackbox.md оплачиваются картой Visa или Mastercard через Paynet. Страница оплаты открывается автоматически сразу после оформления заказа, а позже — из раздела «Личный кабинет» → «Заказы» → «Оплатить заказ» (страница «Оплата», `blackbox.md/ru/checkout/order/…`). Данные карты вводятся только на защищённой странице Paynet.\n\n**Доступно:** владельцу аккаунта blackbox.md, в котором оформлен заказ.\n\n## Как оплатить заказ картой\n\n1. Откройте страницу оплаты. Сразу после оформления заказа она откроется сама. Позже: «Личный кабинет» → «Заказы» и значок с картой («Оплатить заказ») в строке заказа; на телефоне или планшете — кнопка с тремя точками «⋮» в строке заказа → «Оплатить заказ». Кнопка есть только у заказов со статусом «Новый». Если вы не вошли в аккаунт, сайт сначала попросит войти.\n2. Проверьте заказ: под надписью «Оплата» указаны заголовок «Comandă BBX-…» (он всегда на румынском), строка «Референс: BBX-…» и сумма в MDL с двумя знаками после запятой.\n3. Отметьте флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» — после текста указана версия документов, например «(v2026-09-03)». Ссылки во флажке открываются в новой вкладке. Пока флажок не отмечен, кнопка оплаты неактивна.\n4. Нажмите «Оплатить … MDL», например «Оплатить 578,00 MDL». Пока готовится платёж, на кнопке написано «Обработка…», затем браузер переходит на страницу Paynet.\n5. На странице Paynet введите данные карты и подтвердите платёж. Если банк запросит дополнительное подтверждение (3-D Secure: код из SMS или подтверждение в приложении банка), пройдите его.\n6. Paynet вернёт вас на blackbox.md, на страницу подтверждения (вкладка «Confirmare plată — BLACKBOX»), которая сама проверит платёж.\n\nПод основной кнопкой, если баланса хватает на всю сумму, есть ещё кнопка «Оплатить с баланса (Доступно на балансе: X MDL)» — см. [Оплата заказа с баланса](#plati.plata-din-sold). Внизу страницы — логотипы Visa, Mastercard и Paynet и надпись «Безопасные платежи через Paynet».\n\nСтраница оплаты, которая открывается сразу после оформления заказа, и страница подтверждения показываются на румынском языке, даже если вы пользуетесь русской версией сайта. Тогда надписи такие: «Achitare», «Referință:», флажок «Am citit și accept…», кнопка «Achitați … MDL». Из раздела «Заказы» страница оплаты открывается на русском.\n\n> **Безопасность**\n> Данные карты вводятся только на странице Paynet. BLACKBOX не имеет к ним доступа и не хранит их, а в следующие месяцы деньги с карты автоматически не списываются. Никогда не присылайте данные карты по email, в тикетах или по телефону.\n\n## Срок действия ссылки на оплату\n\n- Ссылка на оплату в Paynet действует 60 минут с момента, когда вы нажали «Оплатить … MDL».\n- Если вы не успели оплатить или закрыли страницу Paynet, заказ остаётся в статусе «Новый». Откройте «Заказы» → «Оплатить заказ» и снова нажмите «Оплатить … MDL»: будет создана новая ссылка, которая тоже действует 60 минут.\n\n## Сообщения на странице подтверждения\n\nСтраница проверяет платёж раз в секунду, примерно 10 секунд. Она всегда открывается на румынском языке, поэтому в таблице приведены румынские сообщения и их перевод.\n\n| Сообщение на странице | Перевод | Что это значит | Что делать |\n|---|---|---|---|\n| «Verificăm plata…» и «Vă rugăm așteptați…» | «Проверяем платёж…», «Пожалуйста, подождите…» | Страница ждёт подтверждения от Paynet. | Подождите несколько секунд. |\n| «Verificăm plata…» и «Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.», кнопка «Reîncercați» | «Проверяем платёж. Вы получите подтверждение по email сразу после его завершения. Вы можете повторить попытку через несколько минут.», кнопка «Повторить» | За 10 секунд подтверждение не пришло. Платёж при этом мог пройти. | Не платите повторно. Подождите несколько минут, затем нажмите «Reîncercați» (страница проверит платёж ещё раз) или следите за статусом в «Заказах» и за почтой. |\n| «Plata a fost efectuată!» и «Tranzacția a fost confirmată. Veți primi o confirmare pe email.» | «Платёж выполнен!», «Транзакция подтверждена. Вы получите подтверждение по email.» | Платёж прошёл, заказ переходит в статус «В работе». | Нажмите «← Înapoi la cont» («← Назад в личный кабинет»), чтобы вернуться к заказам. См. следующий раздел. |\n| «Plata nu a fost finalizată» и «Plata a fost anulată. Puteți încerca din nou.» | «Платёж не был завершён», «Платёж был отменён. Вы можете попробовать снова.» | Вы отменили оплату на странице Paynet. Деньги не списаны, заказ остаётся в статусе «Новый». | Кнопка «← Înapoi la cont» ведёт на страницу «Мои заказы». Снова нажмите «Оплатить заказ». |\n| «Plata nu a fost finalizată» и «Sesiunea de plată a expirat. Puteți încerca din nou.» | «Платёж не был завершён», «Сессия оплаты истекла. Вы можете попробовать снова.» | Срок действия ссылки (60 минут) истёк. | Нажмите «Reîncercați plata» («Повторить оплату») или «Оплатить заказ» в «Заказах». |\n| «Plata nu a fost finalizată» и «A apărut o eroare la procesarea plății. Puteți încerca din nou.» | «Платёж не был завершён», «Произошла ошибка при обработке платежа. Вы можете попробовать снова.» | Платёж не прошёл — например, его отклонил банк. | Нажмите «Reîncercați plata» («Повторить оплату»). Если ошибка повторяется, см. [Оплата не прошла или статус не обновился](#faq.plata-nereusita). |\n| «Nu s-a putut verifica statusul plății. Verificați comenzile dvs.» | «Не удалось проверить статус платежа. Проверьте свои заказы.» | Страница не смогла проверить платёж — например, из-за связи или после нескольких повторов подряд. | Нажмите «← Comenzile mele» («← Мои заказы»). Статус «В работе» означает, что платёж прошёл; если видите «Новый», дождитесь письма, прежде чем платить снова. |\n| «Sesiune de plată invalidă.» | «Недействительная сессия оплаты.» | Адрес страницы неполный. | Нажмите «← Contul meu» («← Личный кабинет») и проверьте статус в «Заказах». |\n\n> **Важно**\n> Если вы не уверены, что платёж прошёл, не платите повторно. Сначала проверьте статус заказа в «Заказах» и письмо «Plată confirmată — BBX-…».\n\n## После успешной оплаты\n\n- Статус заказа меняется с «Новый» на «В работе».\n- Приходит письмо «Plată confirmată — BBX-…» (тема всегда на румынском) с оплаченной суммой и счётом в PDF во вложении (`factura-BBX-….pdf`).\n- Счёт с тем же номером появляется в разделе «Личный кабинет» → «Счета» со статусом «Оплачен».\n- По тарифам VPS и «VPS hosting» сервер создаётся автоматически, обычно в течение нескольких минут после подтверждения оплаты, а данные доступа приходят в письме «Serverul dvs. este gata — BBX-…». По тарифам «VPS hosting» команда может связаться с вами для уточнения деталей.\n- Выделенные серверы команда готовит вручную; мы сами свяжемся с вами.\n\nПодробнее — в статье [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n## Ошибки на странице оплаты\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Онлайн-оплата временно недоступна» и «Загляните позже или свяжитесь со службой поддержки для оплаты вручную.» | Оплата картой временно отключена. В этом состоянии нет и кнопки оплаты с баланса. | Зайдите позже или напишите нам, чтобы оплатить вручную, например переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar). |\n| «Необходимо принять условия, чтобы продолжить.» | Флажок согласия не отмечен. | Отметьте флажок и снова нажмите кнопку. |\n| «Уже оплачено.» | Появляется при оплате с баланса: заказ уже оплачен — например, в другой вкладке. | Проверьте статус в «Заказах». Не платите повторно. |\n| «Не удалось подтвердить назначение платежа. Свяжитесь со службой поддержки.» | Полученный адрес для оплаты не принадлежит Paynet, поэтому ради вашей безопасности сайт туда не переходит. | Не платите на других страницах. Напишите нам и укажите номер заказа. |\n| «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» | Не удалось создать ссылку на оплату. Это сообщение появляется и тогда, когда заказ тем временем уже оплачен — например, в другой вкладке. | Проверьте статус заказа в «Заказах». Если он всё ещё «Новый», обновите страницу и попробуйте снова. Если ошибка повторяется, напишите нам. |\n| «Ошибка при загрузке деталей платежа.» | Страница не смогла загрузить заказ. Чаще всего он уже оплачен или отменён. | Проверьте статус в «Заказах»: оплатить можно только заказ со статусом «Новый». |\n| «Этот заказ не найден.» | Такого заказа нет, или он относится к другому аккаунту. | Убедитесь, что вошли в тот аккаунт, в котором оформляли заказ. |\n\n## Двойная оплата или оплата отменённого заказа\n\nЕсли один и тот же заказ оплачен дважды (картой и с баланса или двумя картами) или вы оплатили заказ, который тем временем был отменён, второй платёж автоматически не возвращается. Напишите нам, чтобы оформить возврат, и укажите номер заказа `BBX-…`, сумму, дату и время платежа. Возврат на карту проходит через Paynet на ту же карту, обычно в течение 5–10 рабочих дней после одобрения заявки; срок зависит от банка-эмитента. См. [Отмена заказа и возврат средств](#plati.anulare-si-rambursare) и [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Какие карты принимаются и в какой валюте идёт оплата?**\nVisa и Mastercard. Сумма списывается в MDL; если карта в другой валюте, банк-эмитент пересчитает её по курсу дня.\n\n**С карты будут автоматически списывать деньги каждый месяц?**\nНет. BLACKBOX не хранит данные карты и не делает автоматических регулярных списаний. Каждый платёж картой вы запускаете сами.\n\n**Можно ли оплатить картой счёт?**\nНа сайте — нет. В разделе «Счета» у счетов со статусом «Отправлен» и «Просрочен» стоит пометка «Онлайн-оплата — скоро»: оплатить счёт картой на сайте нельзя. Оплатите его банковским переводом, через автоплатёж с баланса или напишите нам. См. [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n**Можно ли пополнить баланс картой?**\nДа, тоже через Paynet. См. [Пополнение баланса](#plati.alimentare-sold).\n\n**Деньги списаны, а заказ всё ещё «Новый». Что делать?**\nПодождите несколько минут и проверьте, пришло ли письмо «Plată confirmată — BBX-…». Если статус не меняется, напишите нам: номер заказа, сумма и время платежа. Данные карты не присылайте. См. [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n\n**Банк отклонил карту. Что делать?**\nУточните в банке, разрешены ли платежи в интернете и не исчерпан ли лимит, затем повторите попытку или воспользуйтесь другой картой. Оплатить можно и банковским переводом: см. [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n",
    "en": "Orders on blackbox.md are paid by Visa or Mastercard card through Paynet. The “Achitare” (Payment) page (`blackbox.md/checkout/order/…`) opens automatically after you place an order; later, you can find it under “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order). You enter your card details only on Paynet's secure page.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the owner of the blackbox.md account in which the order was placed.\n\n## How to pay for an order by card\n\n1. Open the payment page. Right after you place an order, you land on it automatically. Later: go to “Contul meu” (My account) → “Comenzi” (Orders) and click the card icon, “Achită comanda” (Pay for the order), in the order's row; on a phone or tablet, tap the three-dot button “⋮” in the order's row → “Achită comanda”. The button appears only for orders with the “Nou” (New) status. If you are not signed in, the website first asks you to sign in.\n2. Check the order: under “Achitare” (Payment) you see the title “Comandă BBX-…” (Order BBX-…), the line “Referință: BBX-…” (Reference: BBX-…) and the amount in MDL, with two decimal places.\n3. Tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy). The version of the documents appears after the text, for example “(v2026-09-03)”. The links in the box open in a new tab. Until you tick the box, the payment button stays inactive.\n4. Click “Achitați … MDL” (Pay … MDL), for example “Achitați 578,00 MDL” (Pay 578.00 MDL). While the payment is being prepared, the button shows “Se procesează…” (Processing…); then your browser goes to the Paynet page.\n5. On the Paynet page, enter your card details and confirm the payment. If your bank asks for an extra confirmation (3-D Secure: a code by SMS or an approval in your bank's app), complete it.\n6. Paynet brings you back to blackbox.md, to the confirmation page, which checks the payment on its own. Its browser tab reads “Confirmare plată — BLACKBOX” (Payment confirmation — BLACKBOX).\n\nIf your balance covers the full amount, a second button also appears under the main one: “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)). See [Paying for an order from your balance](#plati.plata-din-sold). At the bottom of the page are the Visa, Mastercard and Paynet logos and the text “Plăți securizate prin Paynet” (Secure payments via Paynet).\n\nThe payment page that opens right after you order and the confirmation page are shown in Romanian, whatever language you chose on the website. When you open it from “Comenzi”, the payment page is shown in the website's language.\n\n> **Security**\n> You enter your card details only on the Paynet page. BLACKBOX has no access to them and does not store them, and your card is not charged automatically in the following months. Never send your card details by email, in support tickets or over the phone.\n\n## How long the payment link is valid\n\n- The Paynet payment link is valid for 60 minutes from the moment you click “Achitați … MDL” (Pay … MDL).\n- If you have not paid within that time or you closed the Paynet page, the order stays in the “Nou” (New) status. Open “Comenzi” (Orders) → “Achită comanda” (Pay for the order) and click “Achitați … MDL” again: a new link is created, also valid for 60 minutes.\n\n## Messages on the confirmation page\n\nThe page checks the payment once per second, for about 10 seconds.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Verificăm plata…” (Checking your payment…) and “Vă rugăm așteptați…” (Please wait…) | The page is waiting for confirmation from Paynet. | Wait a few seconds. |\n| “Verificăm plata…” and “Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.” (We are checking your payment. You will receive a confirmation by email as soon as it is confirmed. You can try again in a few minutes.), with the “Reîncercați” (Retry) button | The confirmation did not arrive within 10 seconds. The payment may still have gone through. | Don't pay again. Wait a few minutes, then click “Reîncercați” (the page checks again), or follow the status in “Comenzi” (Orders) and your email. |\n| “Plata a fost efectuată!” (Payment completed!) and “Tranzacția a fost confirmată. Veți primi o confirmare pe email.” (The transaction has been confirmed. You will receive a confirmation by email.) | The payment went through, and the order moves to the “În lucru” (In progress) status. | Click “← Înapoi la cont” (← Back to account) to see your list of orders. See the next section. |\n| “Plata nu a fost finalizată” (The payment was not completed) and “Plata a fost anulată. Puteți încerca din nou.” (The payment was canceled. You can try again.) | You canceled the payment on the Paynet page. Nothing was charged, and the order stays in the “Nou” (New) status. | “← Înapoi la cont” takes you to “Comenzile mele” (My orders). Click “Achită comanda” (Pay for the order) again. |\n| “Plata nu a fost finalizată” and “Sesiunea de plată a expirat. Puteți încerca din nou.” (The payment session has expired. You can try again.) | The payment link is no longer valid: the 60 minutes have passed. | Click “Reîncercați plata” (Retry payment), or “Achită comanda” in “Comenzi”. |\n| “Plata nu a fost finalizată” and “A apărut o eroare la procesarea plății. Puteți încerca din nou.” (An error occurred while processing the payment. You can try again.) | The payment did not go through; for example, the bank declined it. | Click “Reîncercați plata”. If the error happens again, see [The payment failed or the status did not update](#faq.plata-nereusita). |\n| “Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” (The payment status could not be checked. Check your orders.) | The page could not check the payment, for example because of a connection problem or after several retries in a row. | Click “← Comenzile mele” (← My orders). “În lucru” means the payment went through; if you see “Nou”, wait for the email before you pay again. |\n| “Sesiune de plată invalidă.” (Invalid payment session.) | The page address is incomplete. | Click “← Contul meu” (← My account) and check the status in “Comenzi”. |\n\n> **Important**\n> If you are not sure the payment went through, don't pay again. First check the order status in “Comenzi” and look for the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…).\n\n## After a successful payment\n\n- The order moves from “Nou” (New) to “În lucru” (In progress).\n- You receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…; the subject is always in Romanian), with the amount paid and the PDF invoice attached (`factura-BBX-….pdf`).\n- The invoice with the same number appears in “Contul meu” (My account) → “Facturi” (Invoices), with the “Achitată” (Paid) status.\n- For the VPS and “VPS hosting” plans, the server is created automatically, usually within a few minutes after the payment is confirmed, and the access details arrive in the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…). For the “VPS hosting” plans, the team may contact you for details.\n- Dedicated servers are prepared manually by the team; we will contact you.\n\nDetails in [After payment: server activation and emails](#comenzi.dupa-plata).\n\n## Errors on the payment page\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable) and “Reveniți curând sau contactați suportul pentru a efectua plata manual.” (Come back soon or contact support to pay manually.) | Card payment is temporarily turned off. In this state, the pay-from-balance button does not appear either. | Come back later, or write to us to pay manually, for example by transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar). |\n| “Trebuie să acceptați termenii pentru a continua.” (You must accept the terms to continue.) | The consent box is not ticked. | Tick the box and click the button again. |\n| “Deja achitat.” (Already paid.) | Appears when you pay from your balance: the order has already been paid, for example in another tab. | Check the status in “Comenzi” (Orders). Don't pay again. |\n| “Nu am putut confirma destinația plății. Contactați suportul.” (We could not confirm the payment destination. Contact support.) | The address received for the payment is not a Paynet address, so, for your safety, the website does not send you there. | Don't pay on any other page. Write to us and include the order number. |\n| “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) | The payment link could not be created. The message also appears if the order has been paid in the meantime, for example in another tab. | Check the order status in “Comenzi”. If it is still “Nou” (New), reload the page and try again. If the error happens again, write to us. |\n| “Eroare la încărcarea detaliilor plății.” (Error loading the payment details.) | The page could not load the order. Most often, the order has already been paid or canceled. | Check the status in “Comenzi”: only “Nou” orders can be paid. |\n| “Această comandă nu a fost găsită.” (This order was not found.) | The order does not exist or belongs to another account. | Make sure you are signed in to the account in which you placed the order. |\n\n## Double payment or payment for a canceled order\n\nIf the same order was paid twice (by card and from your balance, or with two cards), or you paid for an order that was canceled in the meantime, the second payment is not refunded automatically. Write to us to request a refund and include the order number `BBX-…`, the amount, and the date and time of the payment. Card refunds are made through Paynet to the same card, usually within 5–10 business days after the request is approved; the timing depends on the bank that issued the card. See [Order cancellation and refunds](#plati.anulare-si-rambursare) and [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Which cards are accepted, and in what currency do I pay?**\nVisa and Mastercard. The amount is charged in MDL; if your card is in another currency, the bank that issued it converts the amount at the day's exchange rate.\n\n**Will my card be charged automatically every month?**\nNo. BLACKBOX does not store card details and does not make automatic recurring charges. You start every card payment yourself.\n\n**Can I pay an invoice by card?**\nNot on the website. In “Facturi” (Invoices), invoices with the “Trimisă” (Sent) and “Restantă” (Overdue) statuses show the note “Plata online — în curând” (Online payment — coming soon): paying invoices by card is not available. Pay them by bank transfer, through automatic payment from your balance, or write to us. See [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n**Can I top up my balance by card?**\nYes, also through Paynet. See [Topping up your balance](#plati.alimentare-sold).\n\n**The money was taken from my card, but the order is still “Nou” (New). What should I do?**\nWait a few minutes and check whether the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) has arrived. If the status does not change, write to us with the order number, the amount and the time of the payment, but without your card details. See [The payment failed or the status did not update](#faq.plata-nereusita).\n\n**My bank declined my card. What should I do?**\nCheck with your bank that online payments are enabled and that you have not exceeded the card limit, then try again or use another card. You can also pay by bank transfer: see [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n"
   }
  },
  {
   "id": "plati.transfer-bancar",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/transfer-bancar/",
    "ru": "https://docs.blackbox.md/ru/plati/transfer-bancar/",
    "en": "https://docs.blackbox.md/en/plati/transfer-bancar/"
   },
   "title": {
    "ro": "Plata prin transfer bancar și rechizitele BLACKBOX",
    "ru": "Оплата банковским переводом и реквизиты BLACKBOX",
    "en": "Paying by bank transfer and BLACKBOX bank details"
   },
   "summary": {
    "ro": "Rechizitele bancare ale furnizorului, cum indicați destinația plății și când este activat serviciul.",
    "ru": "Банковские реквизиты поставщика, как указать назначение платежа и когда активируется услуга.",
    "en": "The provider's bank details, what to write as the purpose of payment, and when the service is activated."
   },
   "markdown": {
    "ro": "Comenzile și facturile BLACKBOX se pot achita prin transfer bancar, în MDL. Rechizitele furnizorului sunt pe pagina „Contacte” (`blackbox.md/info/contacts`), în blocul „Date pentru factură”. O deschideți din meniul de sus „Informații” → „Contacte” sau din subsolul site-ului. Toate metodele de plată sunt descrise pe pagina „Plata serviciilor” (`blackbox.md/info/payment`, meniul „Informații” → „Plata serviciilor”).\n\n**Disponibil pentru:** orice client cu cont pe blackbox.md. Rechizitele sunt publice: le vede orice vizitator al site-ului.\n\nTransferul bancar este potrivit pentru companii (persoane juridice, clienți B2B) și pentru oricine achită o factură BLACKBOX din contul bancar. Serviciul nu se activează imediat: întâi banca procesează plata, apoi echipa confirmă încasarea.\n\n## Rechizitele BLACKBOX\n\n1. Deschideți pagina „Contacte”: meniul de sus „Informații” → „Contacte” sau linkul „Contacte” din subsolul site-ului.\n2. Sub cardurile de contact, apăsați „Date pentru factură”. Blocul se deschide și arată rechizitele.\n\n| Câmp pe pagina „Contacte” | Valoare |\n|---|---|\n| Denumire | Click Expert S.R.L. |\n| IDNO | `1021600002628` |\n| Adresă juridică | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| Bancă | BC Moldindconbank SA, fil. A. Russo |\n| SWIFT | `MOLDMD2X366` |\n| IBAN | `MD64ML000000022519662930` |\n\nRechizitele bancare apar și:\n\n- pe pagina „Plata serviciilor”, în blocul „Date pentru factură (B2B)” de la sfârșitul paginii (fără adresa juridică). Butonul „Vezi rechizitele complete”, din partea de sus a paginii, deschide pagina „Contacte”;\n- în subsolul facturii PDF atașate la emailul „Plată confirmată — BBX-…”: „Plata se efectuează prin transfer bancar în contul IBAN MD64ML000000022519662930, BC Moldindconbank SA, fil. A. Russo (SWIFT: MOLDMD2X366).” Acest email vine după ce achitați o comandă cu cardul sau din sold.\n\n> **Notă**\n> BLACKBOX este o marcă administrată de Click Expert S.R.L. În ordinul de plată, la beneficiar indicați Click Expert S.R.L.\n\n> **Atenție**\n> Folosiți aceste rechizite pentru plăți în MDL. Dacă doriți să plătiți prin transfer în EUR sau USD, cereți mai întâi la support@blackbox.md datele contului în valuta respectivă.\n\n## Cum obțineți o factură pentru o comandă nouă\n\n1. Adăugați datele companiei: „Contul meu” → „Date de facturare”. În formularul „Profil nou”, la „Tip” alegeți „Persoană juridică”, completați „Nume profil”, „Denumirea companiei”, „IDNO / nr. înregistrare” și celelalte câmpuri, bifați „Folosește implicit la checkout” și apăsați „Adaugă profil”. Detalii: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n2. Plasați comanda: apăsați „Comandă” pe cardul planului. La pasul „Date de facturare”, alegeți profilul (apare ca „numele profilului — denumirea companiei”) și apăsați „Continuă”. Ceilalți pași: [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n3. Comanda este creată cu un număr `BBX-…` și statusul „Nou”, iar pe email primiți mesajul „Am primit solicitarea dumneavoastră — BBX-…”. Site-ul deschide pagina de plată. Nu trebuie să plătiți cu cardul: puteți închide pagina. Comanda rămâne în „Comenzi” cu statusul „Nou”.\n4. Scrieți-ne: „Contul meu” → „Ajutor și suport” → „Tichet nou”, sau un email la support@blackbox.md. La „Subiect” scrieți, de exemplu, „Plată prin transfer pentru BBX-2026-000123”. La „Descrieți problema” cereți factura pentru plata prin transfer. Dacă nu ați ales un profil la pasul „Date de facturare”, adăugați denumirea companiei și IDNO. Apăsați „Trimite tichetul”.\n5. Echipa emite factura pe datele companiei dvs. și v-o trimite prin email.\n6. Plătiți prin internet banking sau la ghișeul băncii, cu rechizitele BLACKBOX și destinația plății descrisă mai jos.\n\n## Ce scrieți la destinația plății\n\nLa destinația plății indicați:\n\n- numărul comenzii sau al facturii;\n- denumirea companiei dvs.\n\n```text\nPlata pentru BBX-2026-000123, DENUMIREA_COMPANIEI\n```\n\n| Număr | Ce este | Unde îl găsiți |\n|---|---|---|\n| `BBX-2026-000123` | numărul comenzii | „Comenzi”, coloana „ID”; subiectul emailului „Am primit solicitarea dumneavoastră — BBX-…” |\n| `BT-…` | factura lunară pentru reînnoirea serviciului | „Facturi”, coloana „Număr” |\n| `INV-…` | factură emisă de echipă | „Facturi”, coloana „Număr”, sau emailul de la echipă |\n\n> **Important**\n> Fără numărul comenzii sau al facturii, plata nu poate fi asociată rapid cu comanda dvs. Plătiți o singură dată: până când echipa confirmă transferul, în „Comenzi” rămâne butonul „Achită comanda”. Nu achitați aceeași comandă și cu cardul.\n\n## Cum plătiți facturile lunare prin transfer\n\nFacturile lunare de reînnoire sunt emise de echipă și apar în „Contul meu” → „Facturi” (pagina „Facturile mele”), cu statusul „Trimisă” sau „Restantă”. Termenul de plată este în coloana „Scadență”.\n\n1. Deschideți „Contul meu” → „Facturi”.\n2. Copiați numărul facturii din coloana „Număr”. Suma de plată este în coloana „Total”.\n3. Plătiți suma facturii cu rechizitele BLACKBOX și cu numărul facturii la destinația plății.\n\nÎn dreptul facturilor neachitate apare textul „Plata online — în curând”: deocamdată facturile nu se pot achita cu cardul de pe site. Le puteți achita prin transfer bancar, prin [Plata automată a facturilor din sold](#plati.plata-automata) sau cu ajutorul suportului. Despre termene: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n\n## Când este activat serviciul\n\nTransferul bancar nu este instantaneu. Banii ajung în contul bancar al BLACKBOX după procesarea de către bănci, iar apoi echipa confirmă încasarea. Durata depinde de bănci, așa că nu putem indica un termen exact. Dacă activarea este urgentă, scrieți-ne.\n\n| Ce ați plătit | Până la confirmare | După confirmarea încasării |\n|---|---|---|\n| O comandă nouă | Comanda are statusul „Nou” în „Comenzi”. | Comanda trece în „În lucru”. Pentru planurile VPS, când serverul este creat, primiți emailul „Serverul dvs. este gata — BBX-…”. |\n| O factură | Factura are statusul „Trimisă” sau „Restantă” în „Facturi”. | Factura trece în „Achitată”. Dacă apăsați „Detalii”, vedeți rândul „Achitată la” cu data. |\n\nServerele dedicate sunt pregătite manual de echipă; vă contactăm când serverul este gata. Ce conține emailul cu datele serverului: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n## Întrebări frecvente\n\n**Pot alimenta soldul prin transfer bancar?**\nNu din interfață. Pagina „Alimentează soldul” acceptă doar plata cu cardul. Transferul bancar se folosește pentru comenzi și facturi. Vedeți [Alimentarea soldului](#plati.alimentare-sold).\n\n**Am plătit prin transfer, dar comanda are tot statusul „Nou”.**\nStatusul se schimbă abia după ce banca procesează transferul și echipa confirmă încasarea. Dacă suma a fost deja debitată din contul dvs. bancar și comanda nu s-a schimbat, scrieți-ne numărul comenzii, data și suma plății.\n\n**Am uitat să scriu numărul comenzii la destinația plății.**\nScrieți-ne numărul comenzii, denumirea companiei, data și suma plății, ca să putem identifica transferul.\n\n**Am plătit aceeași comandă de două ori: cu cardul și prin transfer.**\nScrieți-ne la support@blackbox.md cu numărul comenzii. Analizăm cererea, iar rambursarea se face pe același instrument de plată folosit la achitare.\n",
    "ru": "Заказы и счета BLACKBOX можно оплатить банковским переводом в MDL. Реквизиты поставщика опубликованы на странице «Контакты» (`blackbox.md/ru/info/contacts`) в блоке «Реквизиты для счёта». Страницу можно открыть из верхнего меню «Информация» → «Контакты» или из подвала сайта. Все способы оплаты описаны на странице «Оплата услуг» (`blackbox.md/ru/info/payment`, меню «Информация» → «Оплата услуг»).\n\n**Доступно:** любому клиенту с аккаунтом на blackbox.md. Реквизиты открыты: их видит любой посетитель сайта.\n\nБанковский перевод подходит компаниям (юридическим лицам, клиентам B2B) и всем, кто оплачивает счёт BLACKBOX со своего банковского счёта. Услуга активируется не сразу: сначала банк обрабатывает платёж, затем команда подтверждает поступление денег.\n\n## Реквизиты BLACKBOX\n\n1. Откройте страницу «Контакты»: верхнее меню «Информация» → «Контакты» или ссылка «Контакты» в подвале сайта.\n2. Под карточками контактов нажмите «Реквизиты для счёта». Блок раскроется и покажет реквизиты.\n\n| Поле на странице «Контакты» | Значение |\n|---|---|\n| Наименование | Click Expert S.R.L. |\n| IDNO | `1021600002628` |\n| Юридический адрес | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| Банк | BC Moldindconbank SA, fil. A. Russo |\n| SWIFT | `MOLDMD2X366` |\n| IBAN | `MD64ML000000022519662930` |\n\nБанковские реквизиты указаны также:\n\n- на странице «Оплата услуг», в блоке «Реквизиты для счёта (B2B)» внизу страницы (без юридического адреса). Кнопка «Посмотреть полные реквизиты» в верхней части страницы открывает страницу «Контакты»;\n- внизу PDF-счёта, который приходит во вложении к письму «Plată confirmată — BBX-…»: «Plata se efectuează prin transfer bancar în contul IBAN MD64ML000000022519662930, BC Moldindconbank SA, fil. A. Russo (SWIFT: MOLDMD2X366).» Это письмо приходит после оплаты заказа картой или с баланса.\n\n> **Примечание**\n> BLACKBOX — торговая марка, находящаяся в управлении Click Expert S.R.L. В платёжном поручении получателем указывайте Click Expert S.R.L.\n\n> **Внимание**\n> Эти реквизиты предназначены для платежей в MDL. Если хотите заплатить переводом в EUR или USD, сначала запросите на support@blackbox.md реквизиты банковского счёта в нужной валюте.\n\n## Как получить счёт на оплату нового заказа\n\n1. Добавьте реквизиты компании: «Мой аккаунт» → «Реквизиты». В форме «Новый профиль» в поле «Тип» выберите «Юридическое лицо», заполните «Название профиля», «Название компании», «IDNO / рег. номер» и остальные поля, отметьте «Использовать по умолчанию при оформлении заказа» и нажмите «Добавить профиль». Подробнее: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n2. Оформите заказ: нажмите «Заказать» на карточке тарифа. На шаге «Реквизиты для счёта» выберите свой профиль (он показан как «название профиля — название компании») и нажмите «Продолжить». Остальные шаги описаны в статье [Оформление заказа по шагам](#comenzi.plasare-comanda).\n3. Заказ создаётся с номером `BBX-…` и статусом «Новый», а на почту приходит письмо «Am primit solicitarea dumneavoastră — BBX-…». Сайт откроет страницу оплаты. Платить картой не нужно — страницу можно закрыть. Заказ останется в разделе «Заказы» со статусом «Новый».\n4. Напишите нам: «Мой аккаунт» → «Помощь и поддержка» → «Новый тикет» или по адресу support@blackbox.md. В поле «Тема» напишите, например, «Оплата переводом по BBX-2026-000123». В поле «Опишите проблему» попросите выставить счёт для оплаты банковским переводом. Если на шаге «Реквизиты для счёта» вы не выбрали профиль, добавьте название компании и IDNO. Нажмите «Отправить тикет».\n5. Команда выставит счёт на реквизиты вашей компании и пришлёт его по email.\n6. Оплатите через интернет-банкинг или в кассе банка по реквизитам BLACKBOX, указав назначение платежа, как описано ниже.\n\n## Что указать в назначении платежа\n\nВ назначении платежа укажите:\n\n- номер заказа или счёта;\n- название вашей компании.\n\n```text\nОплата по BBX-2026-000123, НАЗВАНИЕ_КОМПАНИИ\n```\n\n| Номер | Что это | Где найти |\n|---|---|---|\n| `BBX-2026-000123` | номер заказа | «Заказы», столбец «ID»; тема письма «Am primit solicitarea dumneavoastră — BBX-…» |\n| `BT-…` | ежемесячный счёт за продление услуги | «Счета», столбец «Номер» |\n| `INV-…` | счёт, выставленный командой | «Счета», столбец «Номер», или письмо от команды |\n\n> **Важно**\n> Без номера заказа или счёта мы не сможем быстро сопоставить платёж с вашим заказом. Оплачивайте заказ один раз: пока команда не подтвердит перевод, в разделе «Заказы» остаётся кнопка «Оплатить заказ». Не оплачивайте тот же заказ ещё и картой.\n\n## Как оплатить ежемесячные счета переводом\n\nЕжемесячные счета за продление выставляет команда. Они появляются в разделе «Мой аккаунт» → «Счета» (страница «Мои счета») со статусом «Отправлен» или «Просрочен». Крайний срок оплаты указан в столбце «Срок оплаты».\n\n1. Откройте «Мой аккаунт» → «Счета».\n2. Скопируйте номер счёта из столбца «Номер». Сумма к оплате указана в столбце «Итого».\n3. Переведите сумму счёта по реквизитам BLACKBOX, указав номер счёта в назначении платежа.\n\nУ неоплаченных счетов показана надпись «Онлайн-оплата — скоро»: пока что счета нельзя оплатить картой на сайте. Их можно оплатить банковским переводом, автоплатежом с баланса (см. [Автоматическая оплата счетов с баланса](#plati.plata-automata)) или с помощью поддержки. О сроках оплаты: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n\n## Когда активируется услуга\n\nБанковский перевод проходит не мгновенно. Деньги поступают на банковский счёт BLACKBOX после обработки банками, затем команда подтверждает их получение. Срок зависит от банков, поэтому точное время мы назвать не можем. Если активация нужна срочно, напишите нам.\n\n| Что вы оплатили | До подтверждения | После подтверждения поступления |\n|---|---|---|\n| Новый заказ | У заказа статус «Новый» в разделе «Заказы». | Заказ переходит в статус «В работе». Для тарифов VPS, когда сервер создан, приходит письмо «Serverul dvs. este gata — BBX-…». |\n| Счёт | У счёта статус «Отправлен» или «Просрочен» в разделе «Счета». | Счёт переходит в статус «Оплачен». Если нажать «Детали», появится строка «Оплачен» с датой. |\n\nВыделенные серверы команда готовит вручную; мы свяжемся с вами, когда сервер будет готов. Что содержится в письме с данными сервера: [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n## Частые вопросы\n\n**Можно ли пополнить баланс банковским переводом?**\nЧерез интерфейс — нет. Страница «Пополнить баланс» принимает только оплату картой. Банковским переводом оплачиваются заказы и счета. См. [Пополнение баланса](#plati.alimentare-sold).\n\n**Я оплатил переводом, но у заказа всё ещё статус «Новый».**\nСтатус меняется только после того, как банк обработает перевод и команда подтвердит поступление денег. Если деньги уже списаны с вашего банковского счёта, а статус не изменился, пришлите нам номер заказа, дату и сумму платежа.\n\n**Я забыл указать номер заказа в назначении платежа.**\nПришлите нам номер заказа, название компании, дату и сумму платежа — так мы найдём ваш перевод.\n\n**Я оплатил один и тот же заказ дважды: картой и переводом.**\nНапишите на support@blackbox.md и укажите номер заказа. Мы рассмотрим запрос; деньги возвращаются тем же платёжным инструментом, которым была произведена оплата.\n",
    "en": "You can pay for BLACKBOX orders and invoices by bank transfer, in MDL. The provider's bank details are on the “Contacte” (Contacts) page (`blackbox.md/info/contacts`), in the “Date pentru factură” (Invoice details) block. To open the page, choose “Informații” (Information) → “Contacte” in the top menu, or use the link in the website footer. All payment methods are described on the “Plata serviciilor” (Payment for services) page (`blackbox.md/info/payment`, menu “Informații” → “Plata serviciilor”).\n\n**Available to:** any customer with a blackbox.md account. The bank details are public: any visitor to the website can see them.\n\nBank transfer suits companies (legal entities, B2B customers) and anyone who pays a BLACKBOX invoice from a bank account. The service is not activated right away: first the bank processes the payment, then the team confirms that the money has been received.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## BLACKBOX bank details\n\n1. Open the “Contacte” (Contacts) page: choose “Informații” (Information) → “Contacte” in the top menu, or click the “Contacte” link in the website footer.\n2. Below the contact cards, click “Date pentru factură” (Invoice details). The block expands and shows the bank details.\n\n| Field on the “Contacte” page | Value |\n|---|---|\n| “Denumire” (Name) | Click Expert S.R.L. |\n| “IDNO” | `1021600002628` |\n| “Adresă juridică” (Legal address) | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| “Bancă” (Bank) | BC Moldindconbank SA, fil. A. Russo |\n| “SWIFT” | `MOLDMD2X366` |\n| “IBAN” | `MD64ML000000022519662930` |\n\nThe bank details also appear:\n\n- on the “Plata serviciilor” (Payment for services) page, in the “Date pentru factură (B2B)” (Invoice details, B2B) block at the bottom of the page (without the legal address). The “Vezi rechizitele complete” (See the full details) button at the top of the page opens the “Contacte” page;\n- in the footer of the PDF invoice attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email: “Plata se efectuează prin transfer bancar în contul IBAN MD64ML000000022519662930, BC Moldindconbank SA, fil. A. Russo (SWIFT: MOLDMD2X366).” (Payment is made by bank transfer to IBAN account MD64ML000000022519662930, BC Moldindconbank SA, A. Russo branch, SWIFT: MOLDMD2X366.) You receive this email after you pay for an order by card or from your balance.\n\n> **Note**\n> BLACKBOX is a brand managed by Click Expert S.R.L. In your payment order, enter Click Expert S.R.L. as the beneficiary.\n\n> **Warning**\n> Use these bank details for payments in MDL. If you want to pay by transfer in EUR or USD, first ask support@blackbox.md for the details of the account in that currency.\n\n## How to get an invoice for a new order\n\n1. Add your company details: “Contul meu” (My account) → “Date de facturare” (Billing details). In the “Profil nou” (New profile) form, set “Tip” (Type) to “Persoană juridică” (Legal entity), fill in “Nume profil” (Profile name), “Denumirea companiei” (Company name), “IDNO / nr. înregistrare” (IDNO / registration no.) and the other fields, tick “Folosește implicit la checkout” (Use as default at checkout), and click “Adaugă profil” (Add profile). Details: [Billing details for companies and individuals](#plati.date-facturare).\n2. Place the order: click “Comandă” (Order) on the plan's card. At the “Date de facturare” step, choose your profile (it appears as “profile name — company name”) and click “Continuă” (Continue). For the other steps, see [Placing an order step by step](#comenzi.plasare-comanda).\n3. The order is created with a `BBX-…` number and the status “Nou” (New), and you receive the email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…). The website opens the payment page. You don't need to pay by card: you can close the page. The order stays in “Comenzi” (Orders) with the status “Nou”.\n4. Write to us: “Contul meu” → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket), or send an email to support@blackbox.md. In “Subiect” (Subject), write, for example, “Payment by transfer for BBX-2026-000123”. In “Descrieți problema” (Describe the problem), ask for an invoice so you can pay by bank transfer. If you did not choose a profile at the “Date de facturare” step, add your company name and IDNO. Click “Trimite tichetul” (Send ticket).\n5. The team issues the invoice in your company's name and sends it to you by email.\n6. Pay through internet banking or at a bank counter, using the BLACKBOX bank details and the purpose of payment described below.\n\n## What to write as the purpose of payment\n\nIn the purpose of payment, enter:\n\n- the order or invoice number;\n- your company name.\n\n```text\nPayment for BBX-2026-000123, COMPANY_NAME\n```\n\n| Number | What it is | Where to find it |\n|---|---|---|\n| `BBX-2026-000123` | the order number | “Comenzi” (Orders), “ID” column; the subject of the “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…) email |\n| `BT-…` | the monthly invoice for renewing the service | “Facturi” (Invoices), “Număr” (Number) column |\n| `INV-…` | an invoice issued by the team | “Facturi”, “Număr” column, or the email from the team |\n\n> **Important**\n> Without the order or invoice number, we cannot quickly match the payment to your order. Pay only once: until the team confirms the transfer, the “Achită comanda” (Pay for the order) button stays in “Comenzi”. Do not also pay for the same order by card.\n\n## How to pay monthly invoices by transfer\n\nMonthly renewal invoices are issued by the team. They appear on the “Facturile mele” (My invoices) page, under “Contul meu” (My account) → “Facturi” (Invoices), with the status “Trimisă” (Sent) or “Restantă” (Overdue). The payment deadline is in the “Scadență” (Due date) column.\n\n1. Open “Contul meu” → “Facturi”.\n2. Copy the invoice number from the “Număr” (Number) column. The amount to pay is in the “Total” column.\n3. Pay the invoice amount using the BLACKBOX bank details, with the invoice number in the purpose of payment.\n\nNext to unpaid invoices, you see the text “Plata online — în curând” (Online payment — coming soon): for now, invoices cannot be paid by card on the website. You can pay them by bank transfer, through [Automatic payment of invoices from your balance](#plati.plata-automata), or with help from support. For deadlines, see [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n\n## When the service is activated\n\nA bank transfer is not instant. The money reaches the BLACKBOX bank account after the banks process it, and then the team confirms receipt. How long this takes depends on the banks, so we cannot give an exact time. If you need the service activated urgently, write to us.\n\n| What you paid | Until confirmation | After receipt is confirmed |\n|---|---|---|\n| A new order | The order has the status “Nou” (New) in “Comenzi” (Orders). | The order moves to “În lucru” (In progress). For VPS plans, when the server is created, you receive the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…). |\n| An invoice | The invoice has the status “Trimisă” (Sent) or “Restantă” (Overdue) in “Facturi” (Invoices). | The invoice moves to “Achitată” (Paid). If you click “Detalii” (Details), you see the “Achitată la” (Paid on) line with the date. |\n\nDedicated servers are prepared manually by the team; we contact you when the server is ready. For what the email with the server details contains, see [After payment: server activation and emails](#comenzi.dupa-plata).\n\n## Frequently asked questions\n\n**Can I top up my balance by bank transfer?**\nNot from the website. The “Alimentează soldul” (Top up balance) page accepts only card payments. Bank transfer is used for orders and invoices. See [Topping up your balance](#plati.alimentare-sold).\n\n**I paid by transfer, but the order still has the status “Nou” (New).**\nThe status changes only after the bank processes the transfer and the team confirms receipt. If the amount has already been debited from your bank account and the order has not changed, send us the order number and the date and amount of the payment.\n\n**I forgot to write the order number in the purpose of payment.**\nSend us the order number, your company name, and the date and amount of the payment, so that we can identify the transfer.\n\n**I paid for the same order twice: by card and by transfer.**\nWrite to support@blackbox.md with the order number. We review the request, and the refund is made to the same payment method that was used for the payment.\n"
   }
  },
  {
   "id": "plati.sold",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/sold/",
    "ru": "https://docs.blackbox.md/ru/plati/sold/",
    "en": "https://docs.blackbox.md/en/plati/sold/"
   },
   "title": {
    "ro": "Soldul contului: cum funcționează",
    "ru": "Баланс аккаунта: как это работает",
    "en": "Account balance: how it works"
   },
   "summary": {
    "ro": "Pagina „Sold”, istoricul operațiunilor, la ce se folosește soldul și limitele lui.",
    "ru": "Страница «Баланс», история операций, на что тратится баланс и его лимиты.",
    "en": "The “Sold” (Balance) page, the transaction history, what your balance pays for, and its limits."
   },
   "markdown": {
    "ro": "Soldul reprezintă banii depuși în avans în contul dvs. BLACKBOX, în lei moldovenești (MDL). Pagina „Sold” (`blackbox.md/account/balance`, „Contul meu” → „Sold”) arată suma disponibilă, comutatorul plății automate a facturilor și istoricul tuturor operațiunilor.\n\n**Disponibil pentru:** titularul contului blackbox.md, după autentificare. În panoul app.blackbox.md soldul doar se afișează.\n\n## Ce vedeți pe pagina „Sold”\n\nPagina are trei carduri, de sus în jos:\n\n| Card | Ce conține |\n|---|---|\n| „Sold curent” | Suma disponibilă, cu două zecimale și „MDL”, de exemplu „250,00 MDL”. Alături este butonul „Alimentează soldul”, care deschide pagina de alimentare. |\n| „Reîncărcare automată” | Comutatorul plății automate a facturilor din sold, cu textul „Încarcă automat soldul la epuizarea fondurilor.” Implicit este oprit. |\n| „Istoricul operațiunilor” | Tabelul cu toate sumele intrate în sold și ieșite din el. |\n\nLa un cont nou, soldul este „0,00 MDL”, iar istoricul afișează „Nu există operațiuni încă.”\n\n> **Important**\n> În ciuda numelui, comutatorul „Reîncărcare automată” nu debitează cardul și nu alimentează soldul. Când este pornit, facturile scadente se achită automat din banii aflați deja în sold. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata).\n\n## Istoricul operațiunilor\n\nOperațiunile cele mai noi sunt sus. Tabelul are patru coloane:\n\n| Coloană | Ce arată |\n|---|---|\n| „Data” | ziua operațiunii (fără oră) |\n| „Descriere” | ce s-a întâmplat, de exemplu „Comandă BBX-2026-000123” |\n| „Sumă” | suma cu semn: „+” (verde) pentru banii intrați, „−” (roșu) pentru banii ieșiți |\n| „Sold rămas” | soldul imediat după operațiune |\n\nPe o pagină încap 20 de operațiuni. Dacă sunt mai multe, sub tabel apar contorul (de exemplu „1–20 din 45”) și butoanele „← Anterior” și „Următor →”.\n\n### Tipurile de operațiuni\n\nDescrierile generate de sistem sunt mereu în limba română, inclusiv pe versiunea rusă a site-ului. La corecțiile făcute de echipă apare textul scris de echipă. Dacă o operațiune nu are descriere, coloana afișează tipul ei.\n\n| Tip | Descriere afișată | Semn | Când apare |\n|---|---|---|---|\n| Alimentare | „Alimentare cont BLACKBOX” | + | ați alimentat soldul cu cardul |\n| Plată comandă | „Comandă BBX-…” | − | ați achitat o comandă din sold, pe site sau prin asistentul AI |\n| Plată factură | „Factură …” (numărul facturii) | − | o factură s-a achitat automat din sold |\n| Rambursare | „Rambursare comandă BBX-…” | + | o comandă achitată a fost anulată (de dvs. sau de echipă), iar suma returnată a ajuns în sold |\n| Ajustare | „Upgrade server” | − | ați făcut upgrade unui server, în panou sau prin asistentul AI |\n| Ajustare | „Anulare upgrade server” | + | upgrade-ul nu s-a realizat, iar suma s-a întors în sold |\n| Ajustare | textul scris de echipa BLACKBOX | + sau − | o corecție făcută de echipa noastră |\n\n## La ce folosiți soldul\n\n| Ce plătiți sau primiți | Cum | Detalii |\n|---|---|---|\n| O comandă nouă | Pe pagina de plată, butonul „Achitați din sold (Disponibil în sold: X MDL)”. Butonul apare doar dacă soldul acoperă toată suma. | [Plata unei comenzi din sold](#plati.plata-din-sold) |\n| Facturile emise de echipă | Automat, cu comutatorul „Reîncărcare automată” pornit. | [Plata automată a facturilor din sold](#plati.plata-automata) |\n| Upgrade-ul unui server | În panou, fereastra „Upgrade server”: suma de la „Facturat acum (prorata)” se ia din sold. | [Upgrade server: trecerea la un plan mai mare](#servere.upgrade) |\n| Rambursarea unei comenzi anulate | Suma returnată ajunge în sold imediat după anulare. | [Anularea comenzii și rambursări](#plati.anulare-si-rambursare) |\n\nDin sold se plătește doar suma întreagă; soldul nu se combină cu cardul. Banii din sold nu se întorc automat pe card: pentru o rambursare pe card, scrieți la support@blackbox.md.\n\n## Limitele soldului\n\n| Limită | Valoare | Mesaj la depășire |\n|---|---|---|\n| O alimentare | între 50 și 50 000 MDL | „Suma este în afara intervalului permis.” |\n| Soldul după o alimentare | cel mult 200 000 MDL | „Ați depășit soldul maxim permis.” |\n| Încercări de alimentare | 5 pe oră | „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” |\n| Moneda | numai MDL | — |\n\nPlafonul de 200 000 MDL se aplică doar alimentărilor. Rambursările, anulările de upgrade și corecțiile echipei se adaugă în sold chiar dacă îl duc peste această sumă. Pașii pentru alimentare: [Alimentarea soldului](#plati.alimentare-sold).\n\n## Soldul în panoul app.blackbox.md\n\nÎn bara de sus a panoului, lângă „← blackbox.md”, vedeți suma soldului cu iconița unui portofel, de exemplu „0,00 MDL”.\n\n- La trecerea cu mouse-ul apare „Vedeți soldul pe blackbox.md”.\n- Un clic deschide pagina „Sold” într-o filă nouă.\n- Suma se încarcă o dată, la deschiderea panoului, și nu se actualizează singură. După o alimentare sau o plată, reîncărcați pagina panoului ca să vedeți suma nouă.\n- Soldul nu se poate alimenta din panou, doar pe blackbox.md.\n\nBara de sus este descrisă în [Interfața panoului: meniu, bara de sus și limbă](#servere.interfata-panoului). Un asistent AI conectat prin MCP poate citi și el soldul și istoricul operațiunilor ([Lista uneltelor MCP](#ai.unelte)).\n\n## Soldul la închiderea contului\n\n- Soldul nu expiră: banii rămân în cont cât timp contul există.\n- Contul nu se poate șterge cât timp soldul este mai mare de 0. Cardul „Ștergerea contului” afișează atunci „Aveți fonduri în sold. Folosiți-le sau solicitați o rambursare mai întâi.”\n- Folosiți suma pentru comenzi sau facturi ori scrieți la support@blackbox.md și cereți rambursarea ei. Cererea se analizează individual.\n- Anulați întâi comenzile: rambursările lor ajung tot în sold. Ordinea completă: [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n\n## Mesaje pe pagina „Sold”\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Soldul este temporar indisponibil” | Pagina nu a putut încărca soldul. | Reîncărcați pagina mai târziu. Dacă mesajul rămâne, scrieți la support@blackbox.md. |\n| „Eroare la încărcare.” | Istoricul operațiunilor nu s-a încărcat. | Reîncărcați pagina. |\n| „Nu am putut actualiza setarea. Încercați din nou.” | Comutatorul „Reîncărcare automată” nu s-a salvat și a revenit la poziția anterioară. | Apăsați din nou comutatorul. |\n\n## Întrebări frecvente\n\n**Am alimentat soldul, dar suma nu s-a schimbat. Ce fac?**\nReîncărcați pagina „Sold” după ce pagina de confirmare afișează „Sold alimentat!”. Dacă banii au fost retrași de pe card, dar operațiunea „Alimentare cont BLACKBOX” nu apare în istoric, scrieți la support@blackbox.md cu data și suma plății. Vedeți și [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n\n**De ce suma din email diferă de cea de pe pagina „Sold”?**\nEmailurile despre sold, de exemplu „Alimentare cont confirmată — BLACKBOX”, afișează sumele în lei întregi: zecimalele se omit, fără rotunjire (250,75 MDL apare ca 250 MDL). Suma exactă este pe pagina „Sold”.\n\n**Pot plăti o parte din comandă din sold și restul cu cardul?**\nNu. Alimentați întâi diferența, apoi achitați toată comanda din sold sau toată comanda cu cardul.\n\n**Pot alimenta soldul prin transfer bancar?**\nPe site soldul se alimentează numai cu cardul, prin Paynet. Dacă aveți nevoie de altă metodă, scrieți la support@blackbox.md. Despre plata prin transfer: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n",
    "ru": "Баланс — это деньги, заранее внесённые на ваш аккаунт BLACKBOX, в молдавских леях (MDL). На странице «Баланс» (`blackbox.md/ru/account/balance`, «Мой аккаунт» → «Баланс») видны доступная сумма, переключатель автоплатежа по счетам и история всех операций.\n\n**Доступно:** владельцу аккаунта blackbox.md после входа. В панели app.blackbox.md баланс только отображается.\n\n## Что есть на странице «Баланс»\n\nНа странице три карточки, сверху вниз:\n\n| Карточка | Что в ней |\n|---|---|\n| «Текущий баланс» | Доступная сумма с двумя знаками после запятой и «MDL», например «250,00 MDL». Рядом — кнопка «Пополнить баланс», которая открывает страницу пополнения. |\n| «Автоматическое пополнение» | Переключатель автоплатежа по счетам с баланса и подпись «Автоматически списывать пополнения при недостатке средств.» По умолчанию выключен. |\n| «История операций» | Таблица всех поступлений на баланс и списаний с него. |\n\nУ нового аккаунта на балансе «0,00 MDL», а в истории написано «Операций пока нет.»\n\n> **Важно**\n> Несмотря на название, переключатель «Автоматическое пополнение» не списывает деньги с карты и не пополняет баланс. Когда он включён, счета с наступившим сроком оплаты автоматически оплачиваются из денег, которые уже есть на балансе. Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n\n## История операций\n\nНовые операции показаны сверху. В таблице четыре колонки:\n\n| Колонка | Что показывает |\n|---|---|\n| «Дата» | день операции (без времени) |\n| «Описание» | что произошло, например «Comandă BBX-2026-000123» |\n| «Сумма» | сумма со знаком: «+» (зелёный) — деньги поступили, «−» (красный) — деньги списаны |\n| «Остаток» | баланс сразу после операции |\n\nНа одной странице помещается 20 операций. Если их больше, под таблицей появляются счётчик (например, «1–20 из 45») и кнопки «← Назад» и «Далее →».\n\n### Типы операций\n\nОписания, которые формирует система, всегда на румынском языке — даже в русской версии сайта. У корректировок, внесённых командой, показывается текст, который написала команда. Если у операции нет описания, в колонке показывается её тип.\n\n| Тип | Описание (как на экране) | Знак | Когда появляется |\n|---|---|---|---|\n| Пополнение | «Alimentare cont BLACKBOX» (пополнение аккаунта) | + | вы пополнили баланс картой |\n| Оплата заказа | «Comandă BBX-…» (заказ) | − | вы оплатили заказ с баланса — на сайте или через AI-ассистента |\n| Оплата счёта | «Factură …» (счёт и его номер) | − | счёт автоматически оплачен с баланса |\n| Возврат | «Rambursare comandă BBX-…» (возврат по заказу) | + | оплаченный заказ отменён (вами или командой), и возвращённая сумма поступила на баланс |\n| Корректировка | «Upgrade server» (апгрейд сервера) | − | вы сделали апгрейд сервера — в панели или через AI-ассистента |\n| Корректировка | «Anulare upgrade server» (отмена апгрейда) | + | апгрейд не выполнился, и сумма вернулась на баланс |\n| Корректировка | текст, написанный командой BLACKBOX | + или − | исправление, внесённое нашей командой |\n\n## На что тратится баланс\n\n| Что оплачиваете или получаете | Как | Подробнее |\n|---|---|---|\n| Новый заказ | На странице оплаты кнопка «Оплатить с баланса (Доступно на балансе: X MDL)». Она появляется, только если баланса хватает на всю сумму. | [Оплата заказа с баланса](#plati.plata-din-sold) |\n| Счета, выставленные командой | Автоматически, если включён переключатель «Автоматическое пополнение». | [Автоматическая оплата счетов с баланса](#plati.plata-automata) |\n| Апгрейд сервера | В панели, окно «Апгрейд сервера»: сумма из строки «Списано сейчас (пропорционально)» снимается с баланса. | [Апгрейд сервера: переход на больший тариф](#servere.upgrade) |\n| Возврат за отменённый заказ | Возвращённая сумма поступает на баланс сразу после отмены. | [Отмена заказа и возврат средств](#plati.anulare-si-rambursare) |\n\nС баланса оплачивается только вся сумма целиком: совместить баланс и карту нельзя. Деньги с баланса не возвращаются на карту автоматически — для возврата на карту напишите на support@blackbox.md.\n\n## Лимиты баланса\n\n| Лимит | Значение | Сообщение при превышении |\n|---|---|---|\n| Одно пополнение | от 50 до 50 000 MDL | «Сумма вне допустимого диапазона.» |\n| Баланс после пополнения | не более 200 000 MDL | «Превышен максимально допустимый баланс.» |\n| Попытки пополнения | 5 в час | «Слишком много попыток. Пожалуйста, повторите через несколько минут.» |\n| Валюта | только MDL | — |\n\nПотолок 200 000 MDL действует только для пополнений. Возвраты, суммы отменённых апгрейдов и корректировки команды зачисляются на баланс, даже если он из-за этого превысит эту сумму. Как пополнить баланс: [Пополнение баланса](#plati.alimentare-sold).\n\n## Баланс в панели app.blackbox.md\n\nВ верхней строке панели, рядом с «← blackbox.md», показана сумма баланса со значком кошелька, например «0,00 MDL».\n\n- При наведении курсора появляется подсказка «Посмотреть баланс на blackbox.md».\n- По клику страница «Баланс» открывается в новой вкладке.\n- Сумма загружается один раз, при открытии панели, и сама не обновляется. После пополнения или оплаты обновите страницу панели, чтобы увидеть новую сумму.\n- Пополнить баланс в панели нельзя — только на blackbox.md.\n\nВерхняя строка описана в статье [Интерфейс панели: меню, верхняя панель и язык](#servere.interfata-panoului). Баланс и историю операций может прочитать и AI-ассистент, подключённый по MCP ([Список инструментов MCP](#ai.unelte)).\n\n## Баланс при закрытии аккаунта\n\n- У баланса нет срока действия: деньги остаются на аккаунте, пока он существует.\n- Аккаунт нельзя удалить, пока на балансе больше нуля. В карточке «Удаление аккаунта» тогда появляется сообщение «На вашем балансе есть средства. Сначала используйте их или запросите возврат.»\n- Потратьте сумму на заказы или счета либо напишите на support@blackbox.md и запросите её возврат. Каждый запрос рассматривается индивидуально.\n- Сначала отмените заказы: возвраты по ним тоже поступают на баланс. Полный порядок действий: [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n\n## Сообщения на странице «Баланс»\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Баланс временно недоступен» | Страница не смогла загрузить баланс. | Обновите страницу позже. Если сообщение не исчезает, напишите на support@blackbox.md. |\n| «Ошибка загрузки.» | Не загрузилась история операций. | Обновите страницу. |\n| «Не удалось изменить настройку. Попробуйте снова.» | Новое положение переключателя «Автоматическое пополнение» не сохранилось, и он вернулся обратно. | Нажмите переключатель ещё раз. |\n\n## Частые вопросы\n\n**Баланс пополнен, но сумма на странице не изменилась. Что делать?**\nОбновите страницу «Баланс» после того, как на странице подтверждения появится «Баланс пополнен!». Если деньги с карты списаны, а операции «Alimentare cont BLACKBOX» в истории нет, напишите на support@blackbox.md, указав дату и сумму платежа. См. также [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n\n**Почему сумма в письме отличается от суммы на странице «Баланс»?**\nВ письмах о балансе, например «Alimentare cont confirmată — BLACKBOX», суммы указаны в целых леях: дробная часть отбрасывается без округления (250,75 MDL превращается в 250 MDL). Точная сумма — на странице «Баланс».\n\n**Можно оплатить часть заказа с баланса, а остальное картой?**\nНет. Сначала пополните баланс на недостающую сумму, затем оплатите весь заказ с баланса или весь заказ картой.\n\n**Можно пополнить баланс банковским переводом?**\nНа сайте баланс пополняется только картой через Paynet. Если вам нужен другой способ, напишите на support@blackbox.md. Об оплате переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n",
    "en": "Your balance is money you pay in advance into your BLACKBOX account, in Moldovan lei (MDL). The “Sold” (Balance) page (`blackbox.md/account/balance`, “Contul meu” (My account) → “Sold”) shows the amount available, the switch for automatic payment of invoices, and the history of all transactions.\n\n**Available to:** the blackbox.md account holder, once signed in. In the app.blackbox.md panel, the balance is only displayed.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you see on the “Sold” (Balance) page\n\nThe page has three cards, from top to bottom:\n\n| Card | What it contains |\n|---|---|\n| “Sold curent” (Current balance) | The amount available, with two decimal places and “MDL”, for example “250,00 MDL”. Next to it is the “Alimentează soldul” (Top up balance) button, which opens the top-up page. |\n| “Reîncărcare automată” (Automatic top-up) | The switch for automatic payment of invoices from your balance, with the text “Încarcă automat soldul la epuizarea fondurilor.” (Automatically tops up the balance when funds run out.) It is off by default. |\n| “Istoricul operațiunilor” (Transaction history) | The table of all amounts that came into your balance and went out of it. |\n\nFor a new account, the balance is “0,00 MDL”, and the history shows “Nu există operațiuni încă.” (No transactions yet.)\n\n> **Important**\n> Despite its name, the “Reîncărcare automată” switch does not charge your card and does not top up your balance. When it is on, invoices that are due are paid automatically from the money already in your balance. Details: [Automatic payment of invoices from your balance](#plati.plata-automata).\n\n## Transaction history\n\nThe newest transactions are at the top. The table has four columns:\n\n| Column | What it shows |\n|---|---|\n| “Data” (Date) | the day of the transaction (without the time) |\n| “Descriere” (Description) | what happened, for example “Comandă BBX-2026-000123” (Order BBX-2026-000123) |\n| “Sumă” (Amount) | the amount with a sign: “+” (green) for money coming in, “−” (red) for money going out |\n| “Sold rămas” (Remaining balance) | your balance right after the transaction |\n\nOne page holds 20 transactions. If there are more, a counter (for example “1–20 din 45” (1–20 of 45)) and the “← Anterior” (← Previous) and “Următor →” (Next →) buttons appear below the table.\n\n### Transaction types\n\nDescriptions generated by the system are always in Romanian, even on the Russian version of the website. Corrections made by our team show the text the team wrote. If a transaction has no description, the column shows its type.\n\n| Type | Description shown | Sign | When it appears |\n|---|---|---|---|\n| “Alimentare” (Top-up) | “Alimentare cont BLACKBOX” (BLACKBOX account top-up) | + | you topped up your balance by card |\n| “Plată comandă” (Order payment) | “Comandă BBX-…” (Order BBX-…) | − | you paid for an order from your balance, on the website or through the AI assistant |\n| “Plată factură” (Invoice payment) | “Factură …” (Invoice …), followed by the invoice number | − | an invoice was paid automatically from your balance |\n| “Rambursare” (Refund) | “Rambursare comandă BBX-…” (Order refund BBX-…) | + | a paid order was canceled (by you or by our team), and the refunded amount went to your balance |\n| “Ajustare” (Adjustment) | “Upgrade server” (Server upgrade) | − | you upgraded a server, in the panel or through the AI assistant |\n| “Ajustare” (Adjustment) | “Anulare upgrade server” (Server upgrade cancellation) | + | the upgrade did not go through, and the amount went back to your balance |\n| “Ajustare” (Adjustment) | the text written by the BLACKBOX team | + or − | a correction made by our team |\n\n## What your balance pays for\n\n| What you pay for or receive | How | Details |\n|---|---|---|\n| A new order | On the payment page, the “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)) button. The button appears only if your balance covers the full amount. | [Paying for an order from your balance](#plati.plata-din-sold) |\n| Invoices issued by our team | Automatically, with the “Reîncărcare automată” (Automatic top-up) switch turned on. | [Automatic payment of invoices from your balance](#plati.plata-automata) |\n| A server upgrade | In the panel, in the “Upgrade server” window: the amount shown next to “Charged now (prorated)” is taken from your balance. | [Server upgrade: moving to a larger plan](#servere.upgrade) |\n| A refund for a canceled order | The refunded amount goes to your balance right after the cancellation. | [Order cancellation and refunds](#plati.anulare-si-rambursare) |\n\nYour balance can pay only the full amount; you cannot combine your balance with a card. Money in your balance does not go back to your card automatically: for a refund to your card, write to support@blackbox.md.\n\n## Balance limits\n\n| Limit | Value | Message when exceeded |\n|---|---|---|\n| A single top-up | between 50 and 50,000 MDL | “Suma este în afara intervalului permis.” (The amount is outside the allowed range.) |\n| Balance after a top-up | at most 200,000 MDL | “Ați depășit soldul maxim permis.” (You have exceeded the maximum allowed balance.) |\n| Top-up attempts | 5 per hour | “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) |\n| Currency | MDL only | — |\n\nThe 200,000 MDL cap applies only to top-ups. Refunds, upgrade cancellations and corrections made by our team are added to your balance even if they take it above this amount. The steps for topping up: [Topping up your balance](#plati.alimentare-sold).\n\n## Your balance in the app.blackbox.md panel\n\nIn the panel's top bar, next to “← blackbox.md”, you see your balance amount with a wallet icon, for example “0,00 MDL”.\n\n- When you hover the mouse over it, “View balance on blackbox.md” appears.\n- Clicking it opens the “Sold” (Balance) page in a new tab.\n- The amount loads once, when you open the panel, and does not refresh by itself. After a top-up or a payment, reload the panel page to see the new amount.\n- You cannot top up your balance from the panel, only on blackbox.md.\n\nThe top bar is described in [Panel interface: menu, top bar and language](#servere.interfata-panoului). An AI assistant connected through MCP can also read your balance and transaction history ([List of MCP tools](#ai.unelte)).\n\n## Your balance when you close your account\n\n- Your balance does not expire: the money stays in your account for as long as the account exists.\n- You cannot delete your account while your balance is greater than 0. In that case, the “Ștergerea contului” (Account deletion) card shows “Aveți fonduri în sold. Folosiți-le sau solicitați o rambursare mai întâi.” (You have funds in your balance. Use them or request a refund first.)\n- Use the amount to pay for orders or invoices, or write to support@blackbox.md and ask for a refund. Each request is reviewed individually.\n- Cancel your orders first: their refunds also go to your balance. The full order of steps: [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n\n## Messages on the “Sold” (Balance) page\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Soldul este temporar indisponibil” (The balance is temporarily unavailable) | The page could not load your balance. | Reload the page later. If the message stays, write to support@blackbox.md. |\n| “Eroare la încărcare.” (Loading error.) | The transaction history did not load. | Reload the page. |\n| “Nu am putut actualiza setarea. Încercați din nou.” (We could not update the setting. Please try again.) | The “Reîncărcare automată” (Automatic top-up) switch was not saved and went back to its previous position. | Click the switch again. |\n\n## Frequently asked questions\n\n**I topped up my balance, but the amount did not change. What should I do?**\nReload the “Sold” (Balance) page after the confirmation page shows “Sold alimentat!” (Balance topped up!). If the money was taken from your card but the “Alimentare cont BLACKBOX” (BLACKBOX account top-up) transaction does not appear in the history, write to support@blackbox.md with the date and amount of the payment. See also [The payment failed or the status did not update](#faq.plata-nereusita).\n\n**Why is the amount in the email different from the one on the “Sold” page?**\nBalance emails, for example “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX), show amounts in whole lei: the decimals are dropped, without rounding (250.75 MDL appears as 250 MDL). The exact amount is on the “Sold” page.\n\n**Can I pay for part of an order from my balance and the rest by card?**\nNo. Top up the difference first, then pay for the whole order from your balance or the whole order by card.\n\n**Can I top up my balance by bank transfer?**\nOn the website, you can top up your balance only by card, through Paynet. If you need another method, write to support@blackbox.md. About paying by transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n"
   }
  },
  {
   "id": "plati.alimentare-sold",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/alimentare-sold/",
    "ru": "https://docs.blackbox.md/ru/plati/alimentare-sold/",
    "en": "https://docs.blackbox.md/en/plati/alimentare-sold/"
   },
   "title": {
    "ro": "Alimentarea soldului",
    "ru": "Пополнение баланса",
    "en": "Topping up your balance"
   },
   "summary": {
    "ro": "Cum adăugați bani în sold cu cardul: sumele permise, confirmarea și emailul primit.",
    "ru": "Как пополнить баланс картой: допустимые суммы, подтверждение и письмо.",
    "en": "How to add money to your balance by card: allowed amounts, confirmation and the email you receive."
   },
   "markdown": {
    "ro": "Pagina „Alimentează soldul” (`blackbox.md/checkout/topup`, „Contul meu” → „Sold” → „Alimentează soldul”) vă permite să adăugați bani în soldul contului BLACKBOX cu cardul bancar, prin Paynet. Din sold achitați apoi comenzi, facturi sau un upgrade de server.\n\n**Disponibil pentru:** titularul contului blackbox.md, autentificat pe site. Soldul se alimentează numai cu cardul (Visa sau Mastercard).\n\n## Cum alimentați soldul\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon, pictograma rotundă a contului).\n2. În meniul contului alegeți „Sold”. Pe telefon sau tabletă, apăsați mai întâi „Meniu cont”.\n3. Pe cardul „Sold curent”, apăsați „Alimentează soldul”. Se deschide pagina „Alimentează soldul”, cu indicația „Sumă între 50,00 și 50.000,00 MDL”.\n4. Alegeți suma: apăsați unul dintre butoanele „100 MDL”, „250 MDL”, „500 MDL” sau „1000 MDL” ori scrieți suma în câmpul „Altă sumă”. Puteți scrie și o sumă cu bani, de exemplu 75,50. Dacă scrieți în câmp, butonul ales anterior se deselectează.\n5. Bifați „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)”. Linkurile din text se deschid într-o filă nouă.\n6. Apăsați butonul cu suma aleasă, de exemplu „Achitați 500,00 MDL”. Butonul rămâne inactiv până când alegeți o sumă și bifați acordul. În timpul procesării, pe buton apare „Se procesează…”.\n7. Browserul vă duce pe pagina de plată Paynet. Introduceți datele cardului și confirmați plata. Datele cardului se introduc doar pe pagina Paynet: BLACKBOX nu le vede și nu le păstrează.\n8. Paynet vă întoarce pe blackbox.md, pe pagina de confirmare (fila browserului: „Confirmare plată — BLACKBOX”). Câteva secunde vedeți „Verificăm plata…” și „Vă rugăm așteptați…”.\n9. Când plata este confirmată, apar „Sold alimentat!” și „Alimentarea a fost confirmată. Fondurile au fost creditate în sold.” Apăsați „← Sold” pentru a vedea soldul nou.\n\n## Ce se întâmplă după plată\n\n- Pe pagina „Sold”, în „Istoricul operațiunilor”, apare un rând cu descrierea „Alimentare cont BLACKBOX” și suma cu semnul +. „Sold curent” crește cu aceeași sumă.\n- La adresa de email a contului primiți un email cu subiectul „Alimentare cont confirmată — BLACKBOX” și rândurile „Sumă alimentată” și „Sold curent”. Subiectul este mereu în română, iar textul emailului este în limba contului (vedeți [Limba site-ului, a panoului și a emailurilor](#cont.limba)). În email sumele apar în MDL întregi, fără bani: o alimentare de 75,50 MDL apare ca 75 MDL. Suma exactă o vedeți pe pagina „Sold”, în „Istoricul operațiunilor”.\n- Dacă pe pagina „Sold” ați pornit „Reîncărcare automată”, imediat după alimentare sistemul achită din sold facturile ajunse la scadență pe care soldul le acoperă integral. Pentru fiecare primiți emailul „Factură plătită automat din cont — …”. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata).\n- Cu banii din sold puteți achita o comandă nouă: vedeți [Plata unei comenzi din sold](#plati.plata-din-sold).\n\n## Limite\n\n| Limită | Valoare |\n|---|---|\n| Suma minimă a unei alimentări | 50,00 MDL |\n| Suma maximă a unei alimentări | 50 000,00 MDL |\n| Soldul maxim după alimentare | 200 000 MDL |\n| Încercări de alimentare | cel mult 5 în 60 de minute |\n| Valabilitatea linkului de plată Paynet | 60 de minute |\n\nSe numără fiecare apăsare pe „Achitați … MDL” care ajunge la server, inclusiv plățile pe care nu le-ați finalizat pe pagina Paynet. Limita se calculează pe ultimele 60 de minute, iar încercările făcute cât timp limita este atinsă se numără și ele. De aceea, așteptați o oră înainte să reîncercați. Pentru mai mult de 50 000 MDL, faceți mai multe alimentări. Vedeți și [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Mesaje de eroare pe pagina de alimentare\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Suma este în afara intervalului permis.” | Suma este sub 50,00 MDL sau peste 50 000,00 MDL. | Alegeți o sumă din interval. |\n| „Ați depășit soldul maxim permis.” | Soldul actual plus suma aleasă ar depăși 200 000 MDL. | Alegeți o sumă mai mică. |\n| „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” | Ați făcut deja 5 încercări de alimentare în ultimele 60 de minute. | Așteptați o oră înainte să reîncercați. |\n| „Plățile online sunt momentan indisponibile.” | Plata cu cardul este oprită temporar. | Încercați mai târziu sau scrieți-ne. |\n| „Funcția de sold este momentan indisponibilă.” | Soldul este indisponibil temporar. | Încercați mai târziu. |\n| „Nu am putut confirma destinația plății. Contactați suportul.” | Site-ul nu a putut verifica linkul de plată Paynet, așa că nu vă redirecționează. | Nu reîncercați; scrieți-ne. |\n| „Eroare la inițierea plății. Vă rugăm încercați din nou.” | O eroare temporară. | Încercați din nou peste câteva minute. |\n| „Alimentarea soldului este momentan indisponibilă” în locul formularului | Datele soldului nu s-au putut încărca. | Reîncărcați pagina; dacă mesajul rămâne, scrieți-ne. |\n\n## Dacă plata nu se finalizează\n\n| Ce vedeți după Paynet | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.” și butonul „Reîncercați” | Confirmarea de la Paynet întârzie. | Așteptați câteva minute, apoi apăsați „Reîncercați” (reîncarcă pagina) sau verificați pagina „Sold” și emailul. |\n| „Plata nu a fost finalizată” și „Plata a fost anulată. Puteți încerca din nou.” | Ați renunțat la plată pe pagina Paynet. Nu s-a debitat nimic. | Linkul „← Înapoi la cont” duce la „Comenzile mele”, nu la „Sold”. Deschideți din nou „Sold” → „Alimentează soldul”. |\n| „Plata nu a fost finalizată” și „A apărut o eroare la procesarea plății. Puteți încerca din nou.” | Plata nu a trecut. | Apăsați „Reîncercați alimentarea” sau folosiți alt card. Dacă refuzul se repetă, întrebați banca. |\n| „Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” | Pagina nu a putut afla rezultatul plății. | În loc de „← Comenzile mele”, deschideți „Sold” și verificați „Istoricul operațiunilor” și emailul. |\n\n> **Important**\n> Dacă pagina rămâne la „Verificăm plata…”, nu porniți imediat o nouă alimentare: verificați mai întâi pagina „Sold” și emailul, altfel puteți plăti de două ori. Dacă banii au fost retrași de pe card, dar soldul nu a crescut nici după câteva minute, scrieți-ne cu data, ora și suma plății. Nu trimiteți niciodată datele cardului.\n\nAlte situații: [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita).\n\n## Ce alte căi există\n\n- **Transfer bancar:** soldul nu se poate alimenta prin transfer bancar din interfață. Cum plătiți prin transfer: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n- **Asistentul AI (MCP):** poate afișa soldul și istoricul operațiunilor, dar nu poate alimenta soldul. Vedeți [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n- **Panoul app.blackbox.md:** soldul apare în bara de sus („… MDL”). Dacă soldul nu ajunge pentru un upgrade, fereastra „Upgrade server” afișează linkul „Alimentați soldul →”. Și soldul din bară, și acest link deschid într-o filă nouă pagina „Sold” de pe blackbox.md, de unde faceți alimentarea.\n\n## Întrebări frecvente\n\n**Pot alimenta cu un card în euro sau în dolari?**\nDa. Plata se face în MDL, iar banca emitentă a cardului face automat conversia, la cursul ei.\n\n**Cardul rămâne salvat pentru alimentările următoare?**\nNu. BLACKBOX nu păstrează datele cardului și nu face debitări automate de pe card. Fiecare alimentare o porniți dvs.\n\n**Pot primi înapoi pe card banii din sold?**\nNu automat. Dacă aveți nevoie de o rambursare, scrieți la support@blackbox.md.\n\n**Soldul se alimentează singur când se termină banii?**\nNu. În ciuda numelui, comutatorul „Reîncărcare automată” nu retrage bani de pe card: el achită din sold facturile ajunse la scadență. Vedeți [Plata automată a facturilor din sold](#plati.plata-automata).\n\n**Primesc o factură pentru alimentare?**\nNu: factura se emite când achitați o comandă (cu cardul sau din sold), iar pentru un document pe suma alimentată scrieți la support@blackbox.md. Detalii: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n",
    "ru": "Страница «Пополнить баланс» (`blackbox.md/ru/checkout/topup`, «Мой аккаунт» → «Баланс» → «Пополнить баланс») позволяет внести деньги на баланс аккаунта BLACKBOX банковской картой через Paynet. С баланса затем можно оплачивать заказы, счета и апгрейд сервера.\n\n**Доступно:** владельцу аккаунта blackbox.md после входа на сайт. Пополнить баланс можно только картой (Visa или Mastercard).\n\n## Как пополнить баланс\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню (на телефоне — круглый значок аккаунта).\n2. В меню аккаунта выберите «Баланс». На телефоне или планшете сначала нажмите «Меню аккаунта».\n3. В карточке «Текущий баланс» нажмите «Пополнить баланс». Откроется страница «Пополнить баланс» с подсказкой «Сумма от 50,00 до 50 000,00 MDL».\n4. Выберите сумму: нажмите одну из кнопок «100 MDL», «250 MDL», «500 MDL» или «1000 MDL» либо введите сумму в поле «Другая сумма». Можно ввести и сумму с дробной частью, например 75,50. Если начать вводить сумму в поле, выбор кнопки сбрасывается.\n5. Отметьте «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности (v2026-09-03)». Ссылки в тексте открываются в новой вкладке.\n6. Нажмите кнопку с выбранной суммой, например «Оплатить 500,00 MDL». Кнопка становится активной, только когда выбрана сумма и отмечен флажок. Во время обработки на ней написано «Обработка…».\n7. Браузер перейдёт на платёжную страницу Paynet. Введите данные карты и подтвердите оплату. Данные карты вводятся только на странице Paynet: BLACKBOX их не видит и не хранит.\n8. Paynet вернёт вас на blackbox.md, на страницу подтверждения платежа (вкладка браузера: «Confirmare plată — BLACKBOX»). Эта страница открывается на румынском языке, даже если вы пользуетесь русской версией сайта. Несколько секунд на ней будет «Verificăm plata…» («Проверяем платёж…») и «Vă rugăm așteptați…» («Пожалуйста, подождите…»).\n9. Когда платёж подтверждён, появятся «Sold alimentat!» («Баланс пополнен!») и «Alimentarea a fost confirmată. Fondurile au fost creditate în sold.» («Пополнение подтверждено. Средства уже зачислены на баланс.»). Нажмите «← Sold», чтобы открыть страницу баланса. Она тоже откроется на румынском; чтобы вернуться к русскому, нажмите «RU» в шапке сайта.\n\n## Что происходит после оплаты\n\n- На странице «Баланс» в разделе «История операций» появится строка с описанием «Alimentare cont BLACKBOX» (описания операций всегда на румынском) и суммой со знаком +. «Текущий баланс» увеличится на ту же сумму.\n- На электронную почту аккаунта придёт письмо с темой «Alimentare cont confirmată — BLACKBOX» и строками «Сумма пополнения» и «Текущий баланс». Тема всегда на румынском, текст письма — на языке аккаунта (см. [Язык сайта, панели и писем](#cont.limba)). В письме суммы указаны в целых MDL без дробной части: пополнение на 75,50 MDL будет показано как 75 MDL. Точная сумма — на странице «Баланс», в разделе «История операций».\n- Если на странице «Баланс» включён переключатель «Автоматическое пополнение», сразу после зачисления система оплатит с баланса счета, срок оплаты которых наступил и которые баланс покрывает полностью. По каждому такому счёту придёт письмо «Factură plătită automat din cont — …». Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n- Средствами на балансе можно оплатить новый заказ: см. [Оплата заказа с баланса](#plati.plata-din-sold).\n\n## Лимиты\n\n| Лимит | Значение |\n|---|---|\n| Минимальная сумма пополнения | 50,00 MDL |\n| Максимальная сумма одного пополнения | 50 000,00 MDL |\n| Максимальный баланс после пополнения | 200 000 MDL |\n| Попытки пополнения | не более 5 за 60 минут |\n| Срок действия платёжной ссылки Paynet | 60 минут |\n\nУчитывается каждое нажатие «Оплатить … MDL», которое дошло до сервера, в том числе если вы не завершили оплату на странице Paynet. Лимит считается за последние 60 минут, причём попытки, сделанные во время блокировки, тоже засчитываются. Поэтому подождите час, прежде чем пробовать снова. Чтобы внести больше 50 000 MDL, сделайте несколько пополнений. См. также [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Ошибки на странице пополнения\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Сумма вне допустимого диапазона.» | Сумма меньше 50,00 MDL или больше 50 000,00 MDL. | Выберите сумму в пределах диапазона. |\n| «Превышен максимально допустимый баланс.» | Текущий баланс вместе с выбранной суммой превысит 200 000 MDL. | Выберите меньшую сумму. |\n| «Слишком много попыток. Пожалуйста, повторите через несколько минут.» | За последние 60 минут вы уже сделали 5 попыток пополнения. | Подождите час, прежде чем пробовать снова. |\n| «Онлайн-оплата временно недоступна.» | Оплата картой временно отключена. | Попробуйте позже или напишите нам. |\n| «Функция баланса временно недоступна.» | Баланс временно недоступен. | Попробуйте позже. |\n| «Не удалось подтвердить назначение платежа. Свяжитесь со службой поддержки.» | Сайт не смог проверить платёжную ссылку Paynet, поэтому не выполняет переход. | Не повторяйте попытку, напишите нам. |\n| «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» | Временная ошибка. | Повторите через несколько минут. |\n| «Пополнение баланса временно недоступно» вместо формы | Не удалось загрузить данные баланса. | Обновите страницу; если сообщение не исчезло, напишите нам. |\n\n## Если платёж не завершился\n\nСтраница, на которую вас возвращает Paynet, показывает сообщения на румынском. В скобках — перевод.\n\n| Что вы видите после Paynet | Что это значит | Что делать |\n|---|---|---|\n| «Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.» («Проверяем платёж. Подтверждение придёт по email. Повторите попытку через несколько минут.») и кнопка «Reîncercați» («Повторить») | Подтверждение от Paynet задерживается. | Подождите несколько минут и нажмите «Reîncercați» (страница перезагрузится) или проверьте страницу «Баланс» и почту. |\n| «Plata nu a fost finalizată» и «Plata a fost anulată. Puteți încerca din nou.» («Платёж не был завершён», «Платёж был отменён. Вы можете попробовать снова.») | Вы отказались от оплаты на странице Paynet. Деньги не списаны. | Ссылка «← Înapoi la cont» («← Назад в личный кабинет») ведёт на страницу заказов, а не на «Баланс». Снова откройте «Баланс» → «Пополнить баланс». |\n| «Plata nu a fost finalizată» и «A apărut o eroare la procesarea plății. Puteți încerca din nou.» («Платёж не был завершён», «Произошла ошибка при обработке платежа. Вы можете попробовать снова.») | Платёж не прошёл. | Нажмите «Reîncercați alimentarea» («Повторить пополнение») или используйте другую карту. Если отказ повторяется, обратитесь в банк. |\n| «Nu s-a putut verifica statusul plății. Verificați comenzile dvs.» («Не удалось проверить статус платежа. Проверьте свои заказы.») | Страница не смогла получить результат платежа. | Вместо ссылки «← Comenzile mele» («← Мои заказы») откройте «Баланс» и проверьте «История операций» и почту. |\n\n> **Важно**\n> Если страница остановилась на «Verificăm plata…», не запускайте сразу новое пополнение: сначала проверьте страницу «Баланс» и почту, иначе можно заплатить дважды. Если деньги с карты списаны, а баланс не увеличился даже через несколько минут, напишите нам, указав дату, время и сумму платежа. Никогда не отправляйте данные карты.\n\nДругие ситуации: [Оплата не прошла или статус не обновился](#faq.plata-nereusita).\n\n## Какие ещё есть способы\n\n- **Банковский перевод:** через интерфейс пополнить баланс переводом нельзя. Как платить переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n- **AI-ассистент (MCP):** может показать баланс и историю операций, но пополнить баланс не может. См. [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n- **Панель app.blackbox.md:** баланс виден в верхней панели («… MDL»). Если баланса не хватает на апгрейд, в окне «Апгрейд сервера» появляется ссылка «Пополнить баланс →». И баланс в панели, и эта ссылка открывают в новой вкладке страницу «Баланс» на blackbox.md, откуда и выполняется пополнение.\n\n## Частые вопросы\n\n**Можно ли пополнить баланс картой в евро или долларах?**\nДа. Оплата проходит в MDL, а банк, выпустивший карту, сам конвертирует сумму по своему курсу.\n\n**Сохраняется ли карта для следующих пополнений?**\nНет. BLACKBOX не хранит данные карты и не списывает с неё деньги автоматически. Каждое пополнение вы запускаете сами.\n\n**Можно ли вернуть деньги с баланса на карту?**\nАвтоматически — нет. Если вам нужен возврат, напишите на support@blackbox.md.\n\n**Пополняется ли баланс сам, когда деньги заканчиваются?**\nНет. Несмотря на название, переключатель «Автоматическое пополнение» не списывает деньги с карты: он оплачивает с баланса счета, срок оплаты которых наступил. См. [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n\n**Будет ли счёт за пополнение?**\nНет: счёт выставляется при оплате заказа (картой или с баланса), а если вам нужен документ на сумму пополнения, напишите на support@blackbox.md. Подробнее: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n",
    "en": "The “Alimentează soldul” (Top up balance) page (`blackbox.md/checkout/topup`, “Contul meu” (My account) → “Sold” (Balance) → “Alimentează soldul”) lets you add money to your BLACKBOX account balance with a bank card, through Paynet. You can then use your balance to pay for orders, invoices or a server upgrade.\n\n**Available to:** the holder of the blackbox.md account, signed in on the website. You can top up your balance only by card (Visa or Mastercard).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to top up your balance\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, the round account icon).\n2. In the account menu, choose “Sold” (Balance). On a phone or tablet, first tap “Meniu cont” (Account menu).\n3. On the “Sold curent” (Current balance) card, click “Alimentează soldul” (Top up balance). The “Alimentează soldul” page opens, with the hint “Sumă între 50,00 și 50.000,00 MDL” (Amount between 50.00 and 50,000.00 MDL).\n4. Choose the amount: click one of the “100 MDL”, “250 MDL”, “500 MDL” or “1000 MDL” buttons, or type the amount in the “Altă sumă” (Other amount) field. You can also enter an amount with decimals, for example 75.50. If you type in the field, the button you selected earlier is deselected.\n5. Tick “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)” (I have read and accept the Terms and Conditions and the Privacy Policy). The links in this text open in a new tab.\n6. Click the button with the amount you chose, for example “Achitați 500,00 MDL” (Pay 500.00 MDL). The button stays inactive until you choose an amount and tick the agreement. While the payment is being processed, the button shows “Se procesează…” (Processing…).\n7. Your browser takes you to the Paynet payment page. Enter your card details and confirm the payment. You enter your card details only on the Paynet page: BLACKBOX does not see or store them.\n8. Paynet brings you back to blackbox.md, to the confirmation page (browser tab: “Confirmare plată — BLACKBOX” (Payment confirmation — BLACKBOX)). For a few seconds you see “Verificăm plata…” (Checking your payment…) and “Vă rugăm așteptați…” (Please wait…).\n9. When the payment is confirmed, you see “Sold alimentat!” (Balance topped up!) and “Alimentarea a fost confirmată. Fondurile au fost creditate în sold.” (The top-up has been confirmed. The funds have been credited to your balance.) Click “← Sold” (← Balance) to see your new balance.\n\n## What happens after payment\n\n- On the “Sold” (Balance) page, a row with the description “Alimentare cont BLACKBOX” (BLACKBOX account top-up) and the amount with a + sign appears under “Istoricul operațiunilor” (Transaction history). “Sold curent” (Current balance) increases by the same amount.\n- You receive an email at your account's email address, with the subject “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX) and the rows “Sumă alimentată” (Amount topped up) and “Sold curent”. The subject is always in Romanian, and the body of the email is in your account's language (see [Language of the website, the panel and emails](#cont.limba)). In the email, amounts appear in whole MDL, without decimals: a top-up of 75.50 MDL appears as 75 MDL. You can see the exact amount on the “Sold” page, under “Istoricul operațiunilor”.\n- If you turned on “Reîncărcare automată” (Automatic top-up) on the “Sold” page, right after the top-up the system uses your balance to pay the invoices that have reached their due date and that your balance covers in full. For each one, you receive the email “Factură plătită automat din cont — …” (Invoice paid automatically from your account — …). Details: [Automatic payment of invoices from your balance](#plati.plata-automata).\n- You can use the money in your balance to pay for a new order: see [Paying for an order from your balance](#plati.plata-din-sold).\n\n## Limits\n\n| Limit | Value |\n|---|---|\n| Minimum amount of one top-up | 50.00 MDL |\n| Maximum amount of one top-up | 50,000.00 MDL |\n| Maximum balance after a top-up | 200,000 MDL |\n| Top-up attempts | at most 5 in 60 minutes |\n| Validity of the Paynet payment link | 60 minutes |\n\nEvery click on “Achitați … MDL” (Pay … MDL) that reaches the server counts, including payments you did not complete on the Paynet page. The limit is calculated over the last 60 minutes, and attempts made while the limit is reached also count. So wait an hour before you try again. To add more than 50,000 MDL, make several top-ups. See also [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Error messages on the top-up page\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Suma este în afara intervalului permis.” (The amount is outside the allowed range.) | The amount is below 50.00 MDL or above 50,000.00 MDL. | Choose an amount within the range. |\n| “Ați depășit soldul maxim permis.” (You have exceeded the maximum allowed balance.) | Your current balance plus the amount you chose would exceed 200,000 MDL. | Choose a smaller amount. |\n| “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) | You have already made 5 top-up attempts in the last 60 minutes. | Wait an hour before you try again. |\n| “Plățile online sunt momentan indisponibile.” (Online payments are currently unavailable.) | Card payment is temporarily turned off. | Try again later or write to us. |\n| “Funcția de sold este momentan indisponibilă.” (The balance feature is currently unavailable.) | The balance is temporarily unavailable. | Try again later. |\n| “Nu am putut confirma destinația plății. Contactați suportul.” (We could not confirm the payment destination. Contact support.) | The website could not verify the Paynet payment link, so it does not redirect you. | Do not try again; write to us. |\n| “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) | A temporary error. | Try again in a few minutes. |\n| “Alimentarea soldului este momentan indisponibilă” (Balance top-up is currently unavailable) instead of the form | Your balance data could not be loaded. | Reload the page; if the message is still there, write to us. |\n\n## If the payment is not completed\n\n| What you see after Paynet | What it means | What to do |\n|---|---|---|\n| “Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.” (We are checking your payment. You will receive a confirmation by email as soon as it is confirmed. You can try again in a few minutes.) and the “Reîncercați” (Retry) button | The confirmation from Paynet is delayed. | Wait a few minutes, then click “Reîncercați” (it reloads the page), or check the “Sold” (Balance) page and your email. |\n| “Plata nu a fost finalizată” (The payment was not completed) and “Plata a fost anulată. Puteți încerca din nou.” (The payment was canceled. You can try again.) | You canceled the payment on the Paynet page. Nothing was charged. | The “← Înapoi la cont” (← Back to account) link takes you to “Comenzile mele” (My orders), not to “Sold”. Open “Sold” → “Alimentează soldul” (Top up balance) again. |\n| “Plata nu a fost finalizată” and “A apărut o eroare la procesarea plății. Puteți încerca din nou.” (An error occurred while processing the payment. You can try again.) | The payment did not go through. | Click “Reîncercați alimentarea” (Retry top-up) or use another card. If your card is declined again, ask your bank. |\n| “Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” (The payment status could not be checked. Check your orders.) | The page could not get the payment result. | Instead of “← Comenzile mele” (← My orders), open “Sold” and check “Istoricul operațiunilor” (Transaction history) and your email. |\n\n> **Important**\n> If the page stays on “Verificăm plata…” (Checking your payment…), do not start a new top-up right away: first check the “Sold” page and your email, or you may pay twice. If the money was taken from your card but your balance has not increased even after a few minutes, write to us with the date, time and amount of the payment. Never send your card details.\n\nOther situations: [The payment failed or the status did not update](#faq.plata-nereusita).\n\n## Other ways\n\n- **Bank transfer:** you cannot top up your balance by bank transfer from the interface. How to pay by bank transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n- **The AI assistant (MCP):** it can show your balance and your transaction history, but it cannot top up your balance. See [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n- **The app.blackbox.md panel:** your balance appears in the top bar (“… MDL”). If your balance is not enough for an upgrade, the “Upgrade server” window shows the “Top up your balance →” link. Both the balance in the top bar and this link open the “Sold” (Balance) page on blackbox.md in a new tab, where you can top up.\n\n## Frequently asked questions\n\n**Can I top up with a card in euros or dollars?**\nYes. The payment is made in MDL, and the bank that issued your card converts the amount automatically, at its own exchange rate.\n\n**Is my card saved for future top-ups?**\nNo. BLACKBOX does not keep your card details and does not charge your card automatically. You start each top-up yourself.\n\n**Can I get the money in my balance back to my card?**\nNot automatically. If you need a refund, write to support@blackbox.md.\n\n**Does my balance top itself up when it runs out?**\nNo. Despite its name, the “Reîncărcare automată” (Automatic top-up) switch does not take money from your card: it uses your balance to pay invoices that have reached their due date. See [Automatic payment of invoices from your balance](#plati.plata-automata).\n\n**Do I get an invoice for a top-up?**\nNo: an invoice is issued when you pay for an order (by card or from your balance). If you need a document for the amount you topped up, write to support@blackbox.md. Details: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n"
   }
  },
  {
   "id": "plati.plata-din-sold",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/plata-din-sold/",
    "ru": "https://docs.blackbox.md/ru/plati/plata-din-sold/",
    "en": "https://docs.blackbox.md/en/plati/plata-din-sold/"
   },
   "title": {
    "ro": "Plata unei comenzi din sold",
    "ru": "Оплата заказа с баланса",
    "en": "Paying for an order from your balance"
   },
   "summary": {
    "ro": "Cum achitați o comandă cu banii din sold, când apare butonul și cum se plătesc din sold facturile și upgrade-urile.",
    "ru": "Как оплатить заказ деньгами с баланса, когда появляется кнопка и как с баланса оплачиваются счета и апгрейды.",
    "en": "How to pay for an order with the money in your balance, when the button appears, and how invoices and upgrades are paid from your balance."
   },
   "markdown": {
    "ro": "Butonul „Achitați din sold” de pe pagina de plată (`blackbox.md/checkout/order/…`, „Contul meu” → „Comenzi” → „Achită comanda”) achită o comandă nouă cu banii din soldul contului, fără card. După plată, comanda este procesată exact ca după o plată cu cardul.\n\n**Disponibil pentru:** titularul contului blackbox.md, pentru propriile comenzi cu statusul „Nou”, când soldul acoperă întreaga sumă a comenzii.\n\n## Condiții\n\nButonul „Achitați din sold” apare pe pagina de plată numai dacă:\n\n- comanda are statusul „Nou” (nu este achitată și nici anulată);\n- soldul este cel puțin egal cu suma comenzii;\n- pagina de plată se încarcă normal (dacă afișează „Plățile online sunt momentan indisponibile”, vedeți secțiunea „Dacă butonul nu apare”).\n\nPentru a plăti trebuie să bifați și acordul cu Termenii și Condițiile.\n\n## Cum achitați comanda din sold\n\n1. Verificați soldul: „Contul meu” → „Sold”, cardul „Sold curent”. Dacă suma este mai mică decât totalul comenzii, alimentați mai întâi soldul (vedeți [Alimentarea soldului](#plati.alimentare-sold)).\n2. Deschideți „Contul meu” → „Comenzi”. În rândul comenzii cu statusul „Nou”, apăsați „Achită comanda” (pictograma card). Pe telefon sau tabletă, apăsați în rândul comenzii butonul cu trei puncte („⋮”) și alegeți „Achită comanda”. Dacă tocmai ați plasat comanda, pagina de plată este deja deschisă; treceți la pasul 3.\n3. Pe pagina „Achitare”, verificați titlul „Comandă BBX-…”, rândul „Referință:” și suma în MDL.\n4. Bifați „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)”. Fără bifă, butoanele de plată rămân inactive.\n5. Sub butonul pentru card „Achitați X MDL”, apăsați „Achitați din sold (Disponibil în sold: X MDL)”. Primul buton vă trimite la plata cu cardul pe Paynet, deci nu îl folosiți. În timpul procesării, butonul afișează „Se procesează…”.\n6. Apare mesajul „Achitat din sold!”. După aproximativ o secundă, se deschide pagina „Comenzile mele” (meniul „Comenzi”), iar comanda are statusul „În lucru”.\n\nDe exemplu, pentru planul Standard M (578 MDL/lună) și un sold de 600 MDL, butonul arată „Achitați din sold (Disponibil în sold: 600,00 MDL)”.\n\n## Ce se întâmplă după plată\n\nTotul decurge ca după plata cu cardul: aceleași statusuri, aceeași factură, aceleași emailuri.\n\n| Ce se schimbă | Unde vedeți |\n|---|---|\n| Comanda trece din „Nou” în „În lucru”. | „Comenzi” |\n| Suma se scade din sold: un rând „Comandă BBX-…” cu suma negativă și soldul nou în coloana „Sold rămas”. | „Sold” → „Istoricul operațiunilor” |\n| Apare factura cu același număr `BBX-…` și statusul „Achitată”. | „Facturi” |\n| Primiți emailul „Plată confirmată — BBX-…” cu factura PDF `factura-BBX-….pdf` atașată. | emailul contului |\n| Planurile VPS: serverul se creează automat, de regulă în câteva minute după confirmarea plății, apoi primiți emailul „Serverul dvs. este gata — BBX-…”. | emailul și panoul app.blackbox.md |\n| Serverele dedicate: serverul este pregătit manual de echipă; vă contactăm. | — |\n\nDetalii: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n## Doar suma integrală\n\n> **Important**\n> Comanda se achită din sold numai integral. Nu există plată parțială: nu puteți achita o parte din sold și restul cu cardul. Dacă soldul nu acoperă suma, butonul „Achitați din sold” nu apare deloc.\n\nAlimentați mai întâi diferența, apoi reîncărcați pagina de plată. O alimentare este de cel puțin 50 MDL, chiar dacă diferența este mai mică. Exemplu: comanda costă 578 MDL, iar în sold aveți 550 MDL; alimentați cel puțin 50 MDL. Puteți și achita toată suma cu cardul: [Plata cu cardul (Paynet)](#plati.plata-cu-cardul).\n\n## Dacă butonul nu apare\n\n| Ce vedeți | Cauza | Ce faceți |\n|---|---|---|\n| Doar butonul „Achitați X MDL” | Soldul este mai mic decât suma comenzii sau l-ați alimentat după ce ați deschis pagina. Soldul se citește la încărcarea paginii. | Alimentați soldul, apoi reîncărcați pagina de plată. |\n| „Plățile online sunt momentan indisponibile” și „Reveniți curând sau contactați suportul pentru a efectua plata manual.” | Plățile online sunt oprite temporar. În această situație nu apare nici butonul de plată din sold. | Scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). |\n| „Eroare la încărcarea detaliilor plății.” | Comanda nu mai are statusul „Nou”: a fost deja achitată sau anulată. | Verificați statusul în „Comenzi”. |\n| În „Comenzi” lipsește „Achită comanda” | Comanda nu are statusul „Nou”. | Nu mai este nimic de plătit pentru această comandă. |\n\n## Facturi, upgrade-uri și asistentul AI\n\n### Facturile emise de echipă\n\nPe pagina „Facturi”, la facturile cu statusul „Trimisă” sau „Restantă” apare textul „Plata online — în curând”. Înseamnă că plata online a facturilor nu este disponibilă pe site: nici cu cardul, nici cu un buton de plată din sold. Din sold, aceste facturi se achită numai prin plata automată:\n\n1. Pe pagina „Sold”, activați comutatorul „Reîncărcare automată”. În ciuda numelui, el nu alimentează soldul de pe card, ci plătește din sold facturile scadente.\n2. Factura se achită automat când data din coloana „Scadență” a sosit și soldul acoperă întreaga ei sumă. Primiți emailul „Factură plătită automat din cont — …”, cu numărul facturii.\n\nO factură care are „—” în coloana „Scadență” nu se achită automat; scrieți-ne. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata). Alternativele sunt [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar) sau o cerere la suport.\n\n### Upgrade-ul serverului\n\nUpgrade-ul se plătește întotdeauna din sold; plata cu cardul nu este posibilă. În fereastra „Upgrade server” din panoul app.blackbox.md, suma din rândul „Facturat acum (prorata)” se scade din sold la confirmare, iar rândul „Sold cont” arată cât aveți. Dacă soldul nu ajunge, apare „Soldul contului dvs. nu este suficient pentru acest upgrade.” cu linkul „Alimentați soldul →”. În „Istoricul operațiunilor”, plata apare ca „Upgrade server”. Detalii: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n### Plata prin asistentul AI (MCP)\n\nUn asistent AI conectat prin MCP achită comenzile tot numai din sold, cu unealta `pay_order`. Token-ul trebuie să aibă permisiunea „Plasează și modifică comenzi în numele meu” (`orders:write`), iar asistentul trebuie să confirme exact suma curentă a comenzii. Asistentul nu poate alimenta soldul și nu poate plăti cu cardul. Limita este de 10 apeluri `pay_order` pe minut. Detalii: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Sold insuficient.” | Soldul a scăzut sub suma comenzii după ce ați deschis pagina (de exemplu, după o altă plată sau un upgrade). | Alimentați soldul și reîncărcați pagina. |\n| „Deja achitat.” | Comanda a fost deja achitată, de exemplu cu cardul. Din sold nu s-a scăzut nimic. | Verificați statusul în „Comenzi”. |\n| „Plata din sold este momentan indisponibilă.” | Plata comenzilor din sold este oprită temporar. | Achitați cu cardul sau reveniți mai târziu. Dacă mesajul persistă, scrieți-ne. |\n| „Funcția de sold este momentan indisponibilă.” | Soldul este temporar indisponibil. | Reveniți mai târziu sau scrieți-ne. |\n| „Această comandă nu a fost găsită.” | Comanda nu aparține contului cu care sunteți autentificat. | Autentificați-vă cu contul care a plasat comanda. |\n| „Eroare la inițierea plății. Vă rugăm încercați din nou.” | Comanda nu mai are statusul „Nou”, ați depășit limita de încercări sau a apărut o eroare temporară. | Verificați „Comenzi”, așteptați un minut și încercați din nou. |\n\nPuteți încerca plata din sold de cel mult **10 ori pe minut**. Peste această limită apare mesajul general „Eroare la inițierea plății. Vă rugăm încercați din nou.”; așteptați un minut.\n\n## Întrebări frecvente\n\n**Pot achita o parte din sold și restul cu cardul?**\nNu. Comanda se achită integral fie din sold, fie cu cardul. Alimentați diferența (cel puțin 50 MDL) sau plătiți toată suma cu cardul.\n\n**Primesc alte emailuri decât la plata cu cardul?**\nNu. Primiți același email „Plată confirmată — BBX-…” cu factura PDF, iar pentru planurile VPS și emailul „Serverul dvs. este gata — BBX-…”.\n\n**Am renunțat la plata cu cardul pe pagina Paynet. Pot achita acum din sold?**\nDa. Renunțarea pe Paynet nu debitează nimic, iar comanda rămâne „Nou”. Apăsați din nou „Achită comanda” și alegeți „Achitați din sold”. Nu finalizați apoi și plata cu cardul în altă filă: dacă o comandă a fost achitată de două ori, scrieți-ne cu numărul comenzii pentru rambursarea plății în plus.\n\n**M-am răzgândit după plată. Primesc banii înapoi?**\nDacă în rândul comenzii din „Comenzi” apare „Anulează comanda”, o puteți anula. Suma returnată ajunge în sold, iar dialogul de anulare o arată înainte să confirmați. Detalii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**Folosesc site-ul în limba rusă. De ce s-a deschis pagina de plată în română?**\nImediat după plasarea comenzii, pagina de plată se deschide în română. Butonul se numește atunci „Achitați din sold”. Pentru varianta rusă, deschideți „Заказы” din meniul în rusă și apăsați „Оплатить заказ”.\n",
    "ru": "Кнопка «Оплатить с баланса» на странице оплаты (`blackbox.md/ru/checkout/order/…`, «Личный кабинет» → «Заказы» → «Оплатить заказ») оплачивает новый заказ деньгами с баланса аккаунта, без карты. Дальше заказ обрабатывается точно так же, как после оплаты картой.\n\n**Доступно:** владельцу аккаунта blackbox.md — для своих заказов в статусе «Новый», если баланса хватает на всю сумму заказа.\n\n## Условия\n\nКнопка «Оплатить с баланса» появляется на странице оплаты, только если:\n\n- заказ в статусе «Новый» (не оплачен и не отменён);\n- на балансе не меньше суммы заказа;\n- страница оплаты загрузилась как обычно (если на ней написано «Онлайн-оплата временно недоступна», см. раздел «Если кнопки нет»).\n\nЧтобы оплатить, нужно также отметить согласие с Условиями использования.\n\n## Как оплатить заказ с баланса\n\n1. Проверьте баланс: «Личный кабинет» → «Баланс», карточка «Текущий баланс». Если там меньше суммы заказа, сначала пополните баланс (см. [Пополнение баланса](#plati.alimentare-sold)).\n2. Откройте «Личный кабинет» → «Заказы». В строке заказа со статусом «Новый» нажмите «Оплатить заказ» (значок карты). На телефоне или планшете нажмите в строке заказа кнопку с тремя точками («⋮») и выберите «Оплатить заказ». Если вы только что оформили заказ, страница оплаты уже открыта — переходите к шагу 3.\n3. На странице «Оплата» проверьте заголовок «Comandă BBX-…» (он всегда на румынском), строку «Референс:» и сумму в MDL.\n4. Отметьте «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности (v2026-09-03)». Без этой отметки кнопки оплаты неактивны.\n5. Под кнопкой оплаты картой «Оплатить X MDL» нажмите «Оплатить с баланса (Доступно на балансе: X MDL)». Первая кнопка ведёт к оплате картой на Paynet, её не нажимайте. Пока платёж обрабатывается, на кнопке написано «Обработка…».\n6. Появится сообщение «Оплачено с баланса!». Примерно через секунду откроется страница «Мои заказы» (пункт меню «Заказы»), и у заказа будет статус «В работе».\n\nНапример, для тарифа Standard M (578 MDL/мес.) при балансе 600 MDL кнопка выглядит так: «Оплатить с баланса (Доступно на балансе: 600,00 MDL)».\n\n## Что происходит после оплаты\n\nВсё идёт так же, как после оплаты картой: те же статусы, тот же счёт, те же письма.\n\n| Что меняется | Где это видно |\n|---|---|\n| Заказ переходит из статуса «Новый» в «В работе». | «Заказы» |\n| Сумма списывается с баланса: появляется строка «Comandă BBX-…» с суммой со знаком минус и новым значением в столбце «Остаток». | «Баланс» → «История операций» |\n| Появляется счёт с тем же номером `BBX-…` в статусе «Оплачен». | «Счета» |\n| Приходит письмо «Plată confirmată — BBX-…» с PDF-счётом `factura-BBX-….pdf` во вложении. | почта аккаунта |\n| Тарифы VPS: сервер создаётся автоматически, обычно в течение нескольких минут после подтверждения оплаты, затем приходит письмо «Serverul dvs. este gata — BBX-…». | почта и панель app.blackbox.md |\n| Выделенные серверы: команда готовит сервер вручную; мы с вами свяжемся. | — |\n\nПодробнее: [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n## Только полная сумма\n\n> **Важно**\n> С баланса заказ оплачивается только целиком. Частичной оплаты нет: заплатить часть с баланса, а остаток картой нельзя. Если баланса не хватает, кнопка «Оплатить с баланса» не появляется вовсе.\n\nСначала пополните баланс на недостающую сумму, затем обновите страницу оплаты. Минимальная сумма пополнения — 50 MDL, даже если не хватает меньше. Пример: заказ стоит 578 MDL, на балансе 550 MDL — пополните хотя бы на 50 MDL. Можно также оплатить всю сумму картой: [Оплата картой (Paynet)](#plati.plata-cu-cardul).\n\n## Если кнопки нет\n\n| Что вы видите | Причина | Что делать |\n|---|---|---|\n| Только кнопка «Оплатить X MDL» | На балансе меньше суммы заказа, или вы пополнили его уже после того, как открыли страницу. Баланс считывается при загрузке страницы. | Пополните баланс и обновите страницу оплаты. |\n| «Онлайн-оплата временно недоступна» и «Загляните позже или свяжитесь со службой поддержки для оплаты вручную.» | Онлайн-платежи временно отключены. В этом случае кнопки оплаты с баланса тоже нет. | Напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n| «Ошибка при загрузке деталей платежа.» | Заказ уже не в статусе «Новый»: он оплачен или отменён. | Проверьте статус в разделе «Заказы». |\n| В разделе «Заказы» нет кнопки «Оплатить заказ» | Заказ не в статусе «Новый». | Платить по этому заказу больше нечего. |\n\n## Счета, апгрейды и AI-ассистент\n\n### Счета, выставленные командой\n\nНа странице «Счета» у счетов в статусе «Отправлен» или «Просрочен» вместо кнопки оплаты стоит надпись «Онлайн-оплата — скоро». Это значит, что оплатить счёт онлайн на сайте нельзя: ни картой, ни кнопкой оплаты с баланса. С баланса такие счета оплачиваются только автоплатежом:\n\n1. На странице «Баланс» включите переключатель «Автоматическое пополнение». Несмотря на название, он не пополняет баланс с карты, а оплачивает с баланса счета, срок оплаты которых наступил.\n2. Счёт оплачивается автоматически, когда наступила дата в столбце «Срок оплаты» и баланса хватает на всю сумму счёта. Вам придёт письмо «Factură plătită automat din cont — …» с номером счёта.\n\nСчёт с «—» в столбце «Срок оплаты» автоматически не оплачивается — напишите нам. Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata). Другие варианты — [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar) или запрос в поддержку.\n\n### Апгрейд сервера\n\nАпгрейд всегда оплачивается с баланса, картой его оплатить нельзя. В окне «Апгрейд сервера» в панели app.blackbox.md сумма из строки «Списано сейчас (пропорционально)» списывается с баланса при подтверждении, а строка «Баланс кошелька» показывает, сколько у вас есть. Если денег не хватает, появляется сообщение «На балансе недостаточно средств для этого апгрейда.» со ссылкой «Пополнить баланс →». В разделе «История операций» списание отображается как «Upgrade server». Подробнее: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n### Оплата через AI-ассистента (MCP)\n\nAI-ассистент, подключённый через MCP, тоже оплачивает заказы только с баланса — инструментом `pay_order`. Токену нужно разрешение «Оформлять и изменять заказы от моего имени» (`orders:write`), а ассистент должен подтвердить точную текущую сумму заказа. Пополнить баланс или заплатить картой ассистент не может. Лимит — 10 вызовов `pay_order` в минуту. Подробнее: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n## Сообщения об ошибках\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Недостаточно средств на балансе.» | Баланс стал меньше суммы заказа уже после того, как вы открыли страницу (например, после другой оплаты или апгрейда). | Пополните баланс и обновите страницу. |\n| «Уже оплачено.» | Заказ уже оплачен, например картой. С баланса ничего не списано. | Проверьте статус в разделе «Заказы». |\n| «Оплата с баланса временно недоступна.» | Оплата заказов с баланса временно отключена. | Оплатите картой или вернитесь позже. Если сообщение не исчезает, напишите нам. |\n| «Функция баланса временно недоступна.» | Баланс временно недоступен. | Вернитесь позже или напишите нам. |\n| «Этот заказ не найден.» | Заказ не принадлежит аккаунту, под которым вы вошли. | Войдите в аккаунт, с которого оформлен заказ. |\n| «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» | Заказ уже не в статусе «Новый», превышен лимит попыток или произошёл временный сбой. | Проверьте «Заказы», подождите минуту и попробуйте снова. |\n\nОплатить с баланса можно не более **10 раз в минуту**. Сверх лимита появляется общее сообщение «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» — подождите минуту.\n\n## Частые вопросы\n\n**Можно ли оплатить часть с баланса, а остальное картой?**\nНет. Заказ оплачивается целиком — либо с баланса, либо картой. Пополните баланс на недостающую сумму (не меньше 50 MDL) или оплатите всю сумму картой.\n\n**Отличаются ли письма от тех, что приходят при оплате картой?**\nНет. Приходит то же письмо «Plată confirmată — BBX-…» с PDF-счётом, а для тарифов VPS — ещё и письмо «Serverul dvs. este gata — BBX-…».\n\n**Я отказался от оплаты картой на странице Paynet. Можно теперь оплатить с баланса?**\nДа. При отказе на Paynet ничего не списывается, и заказ остаётся в статусе «Новый». Снова нажмите «Оплатить заказ» и выберите «Оплатить с баланса». Только не завершайте потом оплату картой в другой вкладке: если заказ оплачен дважды, напишите нам с номером заказа, чтобы мы вернули лишний платёж.\n\n**Я передумал после оплаты. Можно вернуть деньги?**\nЕсли в строке заказа в разделе «Заказы» есть кнопка «Отменить заказ», заказ можно отменить. Возвращённая сумма поступает на баланс, а окно отмены показывает её до подтверждения. Подробнее: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Почему страница оплаты открылась на румынском, хотя сайт у меня на русском?**\nСразу после оформления заказа страница оплаты открывается на румынском. Кнопка оплаты с баланса там называется «Achitați din sold», а флажок согласия начинается со слов «Am citit și accept». Чтобы открыть страницу на русском, перейдите в «Заказы» и нажмите «Оплатить заказ».\n",
    "en": "The “Achitați din sold” (Pay from balance) button on the payment page (`blackbox.md/checkout/order/…`, “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order)) pays for a new order with the money in your account balance, without a card. After payment, the order is processed exactly as after a card payment.\n\n**Available to:** the holder of a blackbox.md account, for their own orders with the status “Nou” (New), when the balance covers the full order amount.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Conditions\n\nThe “Achitați din sold” (Pay from balance) button appears on the payment page only if:\n\n- the order has the status “Nou” (New), that is, it is neither paid nor canceled;\n- your balance is at least equal to the order amount;\n- the payment page loads normally (if it shows “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable), see the section “If the button doesn't appear”).\n\nTo pay, you must also tick the box to accept the Terms and Conditions.\n\n## How to pay for an order from your balance\n\n1. Check your balance: “Contul meu” (My account) → “Sold” (Balance), the “Sold curent” (Current balance) card. If the amount is less than the order total, top up your balance first (see [Topping up your balance](#plati.alimentare-sold)).\n2. Open “Contul meu” → “Comenzi” (Orders). In the row of the order with the status “Nou” (New), click “Achită comanda” (Pay for the order) (the card icon). On a phone or tablet, tap the three-dot button (“⋮”) in the order's row and choose “Achită comanda”. If you have just placed the order, the payment page is already open; go to step 3.\n3. On the “Achitare” (Payment) page, check the title “Comandă BBX-…” (Order BBX-…), the “Referință:” (Reference:) line and the amount in MDL.\n4. Tick “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate (v2026-09-03)” (I have read and accept the Terms and Conditions and the Privacy Policy). Until you tick it, the payment buttons stay inactive.\n5. Under the card button “Achitați X MDL” (Pay X MDL), click “Achitați din sold (Disponibil în sold: X MDL)” (Pay from balance (Available balance: X MDL)). The first button takes you to card payment on Paynet, so don't use it. While the payment is processing, the button shows “Se procesează…” (Processing…).\n6. The message “Achitat din sold!” (Paid from balance!) appears. After about a second, the “Comenzile mele” (My orders) page opens (the “Comenzi” menu), and the order has the status “În lucru” (In progress).\n\nFor example, for the Standard M plan (578 MDL/month) and a balance of 600 MDL, the button reads “Achitați din sold (Disponibil în sold: 600,00 MDL)”.\n\n## What happens after payment\n\nEverything works as after a card payment: the same statuses, the same invoice, the same emails.\n\n| What changes | Where you see it |\n|---|---|\n| The order moves from “Nou” (New) to “În lucru” (In progress). | “Comenzi” (Orders) |\n| The amount is deducted from your balance: a “Comandă BBX-…” (Order BBX-…) row with a negative amount, and your new balance in the “Sold rămas” (Remaining balance) column. | “Sold” (Balance) → “Istoricul operațiunilor” (Transaction history) |\n| The invoice appears with the same number `BBX-…` and the status “Achitată” (Paid). | “Facturi” (Invoices) |\n| You receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) with the PDF invoice `factura-BBX-….pdf` attached. | your account's email |\n| VPS plans: the server is created automatically, usually within a few minutes after the payment is confirmed; then you receive the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…). | email and the app.blackbox.md panel |\n| Dedicated servers: the server is prepared manually by the team; we will contact you. | — |\n\nDetails: [After payment: server activation and emails](#comenzi.dupa-plata).\n\n## Full amount only\n\n> **Important**\n> An order can be paid from your balance only in full. There is no partial payment: you can't pay part of the amount from your balance and the rest by card. If your balance doesn't cover the amount, the “Achitați din sold” (Pay from balance) button doesn't appear at all.\n\nTop up the difference first, then reload the payment page. A top-up is at least 50 MDL, even if the difference is smaller. Example: the order costs 578 MDL and you have 550 MDL in your balance; top up at least 50 MDL. You can also pay the whole amount by card: [Paying by card (Paynet)](#plati.plata-cu-cardul).\n\n## If the button doesn't appear\n\n| What you see | Cause | What to do |\n|---|---|---|\n| Only the “Achitați X MDL” (Pay X MDL) button | Your balance is less than the order amount, or you topped it up after you opened the page. The balance is read when the page loads. | Top up your balance, then reload the payment page. |\n| “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable) and “Reveniți curând sau contactați suportul pentru a efectua plata manual.” (Come back soon or contact support to pay manually.) | Online payments are temporarily turned off. In this case, the button for paying from your balance doesn't appear either. | Write to us: [How to contact BLACKBOX support](#suport.contact). |\n| “Eroare la încărcarea detaliilor plății.” (Error loading the payment details.) | The order no longer has the “Nou” (New) status: it has already been paid or canceled. | Check the status in “Comenzi” (Orders). |\n| “Achită comanda” (Pay for the order) is missing in “Comenzi” | The order doesn't have the “Nou” status. | There is nothing left to pay for this order. |\n\n## Invoices, upgrades and the AI assistant\n\n### Invoices issued by the team\n\nOn the “Facturi” (Invoices) page, invoices with the status “Trimisă” (Sent) or “Restantă” (Overdue) show the text “Plata online — în curând” (Online payment — coming soon). This means that invoices can't be paid online on the website: neither by card nor with a pay-from-balance button. From your balance, these invoices can be paid only through automatic payment:\n\n1. On the “Sold” (Balance) page, turn on the “Reîncărcare automată” (Automatic top-up) switch. Despite its name, it doesn't top up your balance from your card; it pays invoices that are due from your balance.\n2. The invoice is paid automatically once the date in the “Scadență” (Due date) column has arrived and your balance covers its full amount. You receive the email “Factură plătită automat din cont — …” (Invoice paid automatically from your account — …), with the invoice number.\n\nAn invoice with “—” in the “Scadență” column is not paid automatically; write to us. Details: [Automatic payment of invoices from your balance](#plati.plata-automata). The alternatives are [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar) or a request to support.\n\n### Server upgrade\n\nAn upgrade is always paid from your balance; you can't pay for it by card. In the “Upgrade server” window in the app.blackbox.md panel, the amount on the “Charged now (prorated)” row is deducted from your balance when you confirm, and the “Wallet balance” row shows how much you have. If your balance is not enough, you see “Your wallet balance isn't enough to cover this upgrade.” with the “Top up your balance →” link. In “Istoricul operațiunilor” (Transaction history), the payment appears as “Upgrade server” (Server upgrade). Details: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n### Paying through an AI assistant (MCP)\n\nAn AI assistant connected through MCP also pays for orders only from your balance, with the `pay_order` tool. The token must have the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission (`orders:write`), and the assistant must confirm the exact current amount of the order. The assistant can't top up your balance or pay by card. The limit is 10 `pay_order` calls per minute. Details: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Sold insuficient.” (Insufficient balance.) | Your balance dropped below the order amount after you opened the page (for example, after another payment or an upgrade). | Top up your balance and reload the page. |\n| “Deja achitat.” (Already paid.) | The order has already been paid, for example by card. Nothing was deducted from your balance. | Check the status in “Comenzi” (Orders). |\n| “Plata din sold este momentan indisponibilă.” (Payment from balance is currently unavailable.) | Paying for orders from your balance is temporarily turned off. | Pay by card or come back later. If the message persists, write to us. |\n| “Funcția de sold este momentan indisponibilă.” (The balance feature is currently unavailable.) | Your balance is temporarily unavailable. | Come back later or write to us. |\n| “Această comandă nu a fost găsită.” (This order was not found.) | The order doesn't belong to the account you are signed in with. | Sign in with the account that placed the order. |\n| “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) | The order no longer has the “Nou” (New) status, you exceeded the attempt limit, or a temporary error occurred. | Check “Comenzi”, wait a minute and try again. |\n\nYou can try to pay from your balance at most **10 times per minute**. Above this limit, you see the general message “Eroare la inițierea plății. Vă rugăm încercați din nou.”; wait a minute.\n\n## Frequently asked questions\n\n**Can I pay part of the amount from my balance and the rest by card?**\nNo. An order is paid in full, either from your balance or by card. Top up the difference (at least 50 MDL) or pay the whole amount by card.\n\n**Do I receive different emails than when I pay by card?**\nNo. You receive the same email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) with the PDF invoice, and for VPS plans also the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…).\n\n**I canceled the card payment on the Paynet page. Can I pay from my balance now?**\nYes. Canceling on Paynet doesn't charge you anything, and the order stays “Nou” (New). Click “Achită comanda” (Pay for the order) again and choose “Achitați din sold” (Pay from balance). Don't then also complete the card payment in another tab: if an order was paid twice, write to us with the order number to get the extra payment refunded.\n\n**I changed my mind after paying. Can I get my money back?**\nIf “Anulează comanda” (Cancel the order) appears in the order's row in “Comenzi” (Orders), you can cancel the order. The refunded amount goes to your balance, and the cancellation dialog shows it before you confirm. Details: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**I use the website in Russian. Why did the payment page open in Romanian?**\nRight after you place an order, the payment page opens in Romanian. The button is then called “Achitați din sold”. For the Russian version, open “Заказы” (Orders) from the Russian menu and click “Оплатить заказ” (Pay for the order).\n"
   }
  },
  {
   "id": "plati.plata-automata",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/plata-automata/",
    "ru": "https://docs.blackbox.md/ru/plati/plata-automata/",
    "en": "https://docs.blackbox.md/en/plati/plata-automata/"
   },
   "title": {
    "ro": "Plata automată a facturilor din sold",
    "ru": "Автоматическая оплата счетов с баланса",
    "en": "Automatic payment of invoices from your balance"
   },
   "summary": {
    "ro": "Ce face comutatorul „Reîncărcare automată”, când plătește facturile și cum îl porniți sau opriți.",
    "ru": "Что делает переключатель «Автоматическое пополнение», когда он оплачивает счета и как его включить или выключить.",
    "en": "What the “Reîncărcare automată” (Automatic top-up) switch does, when it pays invoices and how to turn it on or off."
   },
   "markdown": {
    "ro": "Comutatorul „Reîncărcare automată” de pe pagina „Sold” (`blackbox.md/account/balance`, „Contul meu” → „Sold”) pornește plata automată din sold: facturile ajunse la scadență se achită singure din banii pe care îi aveți deja în sold. Funcția este opțională și este dezactivată implicit.\n\n**Disponibil pentru:** titularul contului blackbox.md. Setarea se schimbă numai pe blackbox.md; în panoul app.blackbox.md nu există.\n\n> **Important**\n> În ciuda numelui, comutatorul nu vă debitează cardul și nu alimentează soldul. El achită automat facturile scadente din banii care sunt deja în sold. Comenzile noi nu le plătește niciodată: acestea se achită pe pagina de plată (vedeți [Plata unei comenzi din sold](#plati.plata-din-sold)).\n\n## Cum porniți sau opriți plata automată\n\n1. Autentificați-vă pe blackbox.md, apăsați „Cont client” în bara de sus, apoi „Sold” în meniul contului. Pe telefon, meniul se deschide cu „Meniu cont”.\n2. Sub cardul „Sold curent” găsiți cardul „Reîncărcare automată”, cu textul „Încarcă automat soldul la epuizarea fondurilor.”\n3. Apăsați comutatorul din dreapta cardului. Când plata automată este pornită, comutatorul este colorat, cu butonul rotund la dreapta; când este oprită, comutatorul este gri.\n4. Setarea se salvează imediat. Nu există buton de salvare și nici mesaj de confirmare.\n\nPentru a opri plata automată, apăsați din nou comutatorul. Facturile achitate deja rămân achitate. Puteți porni sau opri funcția oricând.\n\nPornind comutatorul, sunteți de acord ca facturile scadente să fie achitate din sold fără o confirmare separată pentru fiecare plată.\n\nDacă sub comutator apare „Nu am putut actualiza setarea. Încercați din nou.”, setarea nu s-a schimbat, iar comutatorul revine la poziția anterioară. Reîncărcați pagina (dacă sesiunea a expirat, autentificați-vă din nou) și încercați încă o dată. Dacă eroarea se repetă sau cardul „Reîncărcare automată” lipsește de pe pagină, scrieți-ne ([Cum contactați suportul BLACKBOX](#suport.contact)).\n\n## Ce facturi se plătesc automat\n\nO factură se achită automat numai dacă îndeplinește toate condițiile de mai jos.\n\n| Condiție | Unde verificați |\n|---|---|\n| Statusul este „Trimisă” sau „Restantă”. | Coloana „Status” din pagina „Facturi”. |\n| Factura este în MDL. | Coloana „Total”. |\n| A sosit scadența: data este azi sau a trecut. O factură fără scadență (în coloană apare „—”) nu se plătește automat. | Coloana „Scadență”. |\n| Soldul acoperă integral totalul facturii. Plăți parțiale nu există. | Cardul „Sold curent” de pe pagina „Sold”. |\n\nFacturile se achită pe rând, începând cu cea mai veche scadență. O factură pentru care soldul nu ajunge este sărită, iar următoarea se poate achita dacă soldul o acoperă.\n\nDe exemplu, aveți 600 MDL în sold și două facturi scadente: 742 MDL (scadentă la 1 octombrie) și 578 MDL (scadentă la 5 octombrie). Prima este sărită, a doua se achită, iar în sold rămân 22 MDL. Prima factură se achită după ce alimentați soldul cu suma care lipsește.\n\nPlata automată nu achită comenzile noi (status „Nou”), facturile în altă monedă decât MDL și nici facturile „Achitată” sau „Anulată”. Pentru o factură în altă monedă, scrieți-ne.\n\n## Când rulează plata automată\n\nSistemul caută facturile de achitat în două momente:\n\n- imediat după o alimentare reușită a soldului (vedeți [Alimentarea soldului](#plati.alimentare-sold));\n- periodic, la verificările automate.\n\nSimpla pornire a comutatorului nu declanșează o plată pe loc. Facturile deja scadente se achită la următoarea verificare periodică sau imediat după următoarea alimentare.\n\nPlata automată este cea mai simplă cale de a achita facturile lunare de reînnoire (număr `BT-…`). Și acestea se achită automat numai dacă în coloana „Scadență” apare o dată. Detalii: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n\n## Ce vedeți după o plată automată\n\n- **Email** pe adresa contului, cu subiectul „Factură plătită automat din cont — NUMĂR”, unde NUMĂR este numărul facturii. Emailul arată numărul facturii, „Sumă plătită” și „Sold curent”. Subiectul este mereu în română, iar textul este în limba contului ([Limba site-ului, a panoului și a emailurilor](#cont.limba)). În email sumele apar în MDL întregi, fără zecimale; sumele exacte le vedeți pe pagina „Sold”.\n- **„Istoricul operațiunilor”** de pe pagina „Sold”: un rând „Factură NUMĂR”, cu suma cu semnul minus și „Sold rămas” după plată.\n- **„Facturi”**: factura trece în statusul „Achitată”, iar la „Detalii” apare „Achitată la” cu data plății.\n\nDacă o factură este sărită pentru că soldul nu ajunge, nu primiți email.\n\n> **Sfat**\n> Alimentați soldul din timp, înainte de scadența facturilor, cu cel puțin totalul lor. Verificați din când în când pagina „Facturi” (să nu rămână facturi „Trimisă” sau „Restantă” neachitate) și „Istoricul operațiunilor” de pe pagina „Sold”.\n\n## Întrebări frecvente\n\n**Comutatorul îmi debitează cardul când se termină soldul?**\nNu. BLACKBOX nu păstrează datele cardului și nu face debitări recurente de pe card. Soldul îl alimentați dvs., cu cardul, atunci când doriți: [Alimentarea soldului](#plati.alimentare-sold).\n\n**Plata automată este pornită, dar factura a rămas „Trimisă”. De ce?**\nVerificați condițiile din tabelul de mai sus: scadența, moneda și dacă soldul acoperă întreaga sumă a facturii. Dacă toate sunt îndeplinite, factura se achită la următoarea verificare periodică sau imediat după o alimentare. Dacă rămâne neachitată, scrieți-ne.\n\n**Pot achita manual o factură din sold?**\nNu din pagina „Facturi”: în dreptul facturilor de plătit apare „Plata online — în curând”, adică plata online a facturilor nu este disponibilă. Folosiți plata automată, transferul bancar ([Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar)) sau scrieți-ne.\n\n**Pot porni plata automată din panou sau prin asistentul AI?**\nNu. Setarea există numai pe pagina „Sold” de pe blackbox.md. Un asistent AI conectat prin MCP poate doar citi starea ei (unealta `get_balance`, câmpul `autopay_enabled`), fără să o poată schimba.\n",
    "ru": "Переключатель «Автоматическое пополнение» на странице «Баланс» (`blackbox.md/ru/account/balance`, «Мой аккаунт» → «Баланс») включает автоплатёж с баланса: счета, срок оплаты которых наступил, оплачиваются автоматически из средств, которые уже есть на балансе. Функция необязательная и по умолчанию выключена.\n\n**Доступно:** владельцу аккаунта blackbox.md. Настройка меняется только на blackbox.md, в панели app.blackbox.md её нет.\n\n> **Важно**\n> Несмотря на название, переключатель не списывает деньги с карты и не пополняет баланс. Он автоматически оплачивает счета с наступившим сроком оплаты из средств, которые уже лежат на балансе. Новые заказы он не оплачивает никогда: их оплачивают на странице оплаты (см. [Оплата заказа с баланса](#plati.plata-din-sold)).\n\n## Как включить или выключить автоплатёж\n\n1. Войдите на blackbox.md, нажмите «Личный кабинет» в верхнем меню, затем «Баланс» в меню аккаунта. На телефоне меню открывается кнопкой «Меню аккаунта».\n2. Под карточкой «Текущий баланс» найдите карточку «Автоматическое пополнение» с текстом «Автоматически списывать пополнения при недостатке средств.»\n3. Нажмите переключатель в правой части карточки. Когда автоплатёж включён, переключатель цветной, а круглый ползунок сдвинут вправо; когда выключен — переключатель серый.\n4. Настройка сохраняется сразу. Кнопки сохранения и сообщения об успехе нет.\n\nЧтобы выключить автоплатёж, нажмите переключатель ещё раз. Уже оплаченные счета останутся оплаченными. Включать и выключать функцию можно в любой момент.\n\nВключая переключатель, вы соглашаетесь, что счета с наступившим сроком оплаты будут оплачиваться с баланса без отдельного подтверждения каждого платежа.\n\nЕсли под переключателем появилось «Не удалось изменить настройку. Попробуйте снова.», настройка не изменилась, а переключатель вернулся в прежнее положение. Обновите страницу (если сессия истекла, войдите снова) и попробуйте ещё раз. Если ошибка повторяется или карточки «Автоматическое пополнение» нет на странице, напишите нам ([Как связаться с поддержкой BLACKBOX](#suport.contact)).\n\n## Какие счета оплачиваются автоматически\n\nСчёт оплачивается автоматически, только если выполнены все условия ниже.\n\n| Условие | Где проверить |\n|---|---|\n| Статус — «Отправлен» или «Просрочен». | Столбец «Статус» на странице «Счета». |\n| Счёт выставлен в MDL. | Столбец «Итого». |\n| Срок оплаты наступил: дата — сегодня или уже прошла. Счёт без срока оплаты (в столбце стоит «—») автоматически не оплачивается. | Столбец «Срок оплаты». |\n| Баланса хватает на всю сумму счёта. Частичной оплаты нет. | Карточка «Текущий баланс» на странице «Баланс». |\n\nСчета оплачиваются по одному, начиная с самого раннего срока оплаты. Счёт, на который не хватает средств, пропускается, а следующий может быть оплачен, если на него хватает средств.\n\nПример: на балансе 600 MDL, и наступил срок оплаты двух счетов — на 742 MDL (срок 1 октября) и на 578 MDL (срок 5 октября). Первый пропускается, второй оплачивается, на балансе остаётся 22 MDL. Первый счёт будет оплачен, когда вы пополните баланс на недостающую сумму.\n\nАвтоплатёж не оплачивает новые заказы (статус «Новый»), счета в валюте, отличной от MDL, а также счета со статусом «Оплачен» или «Отменён». По счёту в другой валюте напишите нам.\n\n## Когда срабатывает автоплатёж\n\nСистема ищет счета к оплате в двух случаях:\n\n- сразу после успешного пополнения баланса (см. [Пополнение баланса](#plati.alimentare-sold));\n- периодически, при автоматических проверках.\n\nВключение переключателя само по себе оплату не запускает. Счета, срок оплаты которых уже наступил, будут оплачены при следующей периодической проверке или сразу после ближайшего пополнения.\n\nАвтоплатёж — самый простой способ оплачивать ежемесячные счета за продление (номер `BT-…`). Они тоже оплачиваются автоматически, только если в столбце «Срок оплаты» указана дата. Подробнее: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n\n## Что вы увидите после автоплатежа\n\n- **Письмо** на email аккаунта с темой «Factură plătită automat din cont — НОМЕР», где НОМЕР — номер счёта. В письме указаны номер счёта, «Сумма оплаты» и «Текущий баланс». Тема всегда на румынском, а текст — на языке аккаунта ([Язык сайта, панели и писем](#cont.limba)). Суммы в письме указаны в целых MDL, без дробной части; точные суммы — на странице «Баланс».\n- **«История операций»** на странице «Баланс»: строка «Factură НОМЕР» (описания операций всегда на румынском) с суммой со знаком минус и «Остаток» после оплаты.\n- **«Счета»**: счёт получает статус «Оплачен», а если нажать «Детали», появится строка «Оплачен» с датой оплаты.\n\nЕсли счёт пропущен из-за нехватки средств, письмо не приходит.\n\n> **Совет**\n> Пополняйте баланс заранее, до срока оплаты счетов, как минимум на их общую сумму. Время от времени проверяйте страницу «Счета» (не остались ли неоплаченные счета «Отправлен» или «Просрочен») и «Историю операций» на странице «Баланс».\n\n## Частые вопросы\n\n**Спишет ли переключатель деньги с карты, когда баланс закончится?**\nНет. BLACKBOX не хранит данные карты и не делает регулярных списаний с карты. Баланс вы пополняете сами, картой, когда захотите: [Пополнение баланса](#plati.alimentare-sold).\n\n**Автоплатёж включён, но счёт остался «Отправлен». Почему?**\nПроверьте условия из таблицы выше: срок оплаты, валюту и хватает ли баланса на всю сумму. Если всё выполнено, счёт будет оплачен при следующей периодической проверке или сразу после пополнения. Если счёт так и не оплачен, напишите нам.\n\n**Можно ли оплатить счёт с баланса вручную?**\nСо страницы «Счета» — нет: рядом со счетами к оплате стоит «Онлайн-оплата — скоро», то есть онлайн-оплата счетов недоступна. Используйте автоплатёж, банковский перевод ([Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar)) или напишите нам.\n\n**Можно ли включить автоплатёж в панели или через AI-ассистента?**\nНет. Настройка есть только на странице «Баланс» на blackbox.md. AI-ассистент, подключённый по MCP, может лишь узнать её состояние (инструмент `get_balance`, поле `autopay_enabled`), но не изменить его.\n",
    "en": "The “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page (`blackbox.md/account/balance`, “Contul meu” (My account) → “Sold”) turns on automatic payment from your balance (autopay): invoices that reach their due date are paid automatically with the money you already have in your balance. The feature is optional and is off by default.\n\n**Available to:** the holder of the blackbox.md account. The setting can be changed only on blackbox.md; it does not exist in the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Important**\n> Despite its name, the switch does not charge your card and does not top up your balance. It automatically pays invoices that are due with the money that is already in your balance. It never pays for new orders: you pay for those on the payment page (see [Paying for an order from your balance](#plati.plata-din-sold)).\n\n## How to turn automatic payment on or off\n\n1. Sign in to blackbox.md, click “Cont client” (Customer account) in the top bar, then “Sold” (Balance) in the account menu. On a phone, you open the menu with “Meniu cont” (Account menu).\n2. Under the “Sold curent” (Current balance) card, find the “Reîncărcare automată” (Automatic top-up) card, with the text “Încarcă automat soldul la epuizarea fondurilor.” (Automatically tops up the balance when funds run out.)\n3. Click the switch on the right side of the card. When automatic payment is on, the switch is colored and its round knob is on the right; when it is off, the switch is gray.\n4. The setting is saved immediately. There is no save button and no confirmation message.\n\nTo turn automatic payment off, click the switch again. Invoices that have already been paid stay paid. You can turn the feature on or off at any time.\n\nBy turning the switch on, you agree that invoices that are due will be paid from your balance without a separate confirmation for each payment.\n\nIf “Nu am putut actualiza setarea. Încercați din nou.” (We could not update the setting. Please try again.) appears under the switch, the setting has not changed and the switch returns to its previous position. Reload the page (if your session has expired, sign in again) and try once more. If the error keeps appearing or the “Reîncărcare automată” card is missing from the page, write to us ([How to contact BLACKBOX support](#suport.contact)).\n\n## Which invoices are paid automatically\n\nAn invoice is paid automatically only if it meets all of the conditions below.\n\n| Condition | Where to check |\n|---|---|\n| The status is “Trimisă” (Sent) or “Restantă” (Overdue). | The “Status” column on the “Facturi” (Invoices) page. |\n| The invoice is in MDL. | The “Total” column. |\n| The due date has arrived: it is today or has already passed. An invoice without a due date (the column shows “—”) is not paid automatically. | The “Scadență” (Due date) column. |\n| Your balance covers the full invoice total. There are no partial payments. | The “Sold curent” (Current balance) card on the “Sold” (Balance) page. |\n\nInvoices are paid one at a time, starting with the earliest due date. An invoice that your balance cannot cover is skipped, and the next one can still be paid if your balance covers it.\n\nFor example, you have 600 MDL in your balance and two invoices that are due: 742 MDL (due October 1) and 578 MDL (due October 5). The first one is skipped, the second one is paid, and 22 MDL remains in your balance. The first invoice is paid after you top up your balance with the missing amount.\n\nAutomatic payment does not pay for new orders (status “Nou” (New)), invoices in a currency other than MDL, or invoices that are “Achitată” (Paid) or “Anulată” (Canceled). For an invoice in another currency, write to us.\n\n## When automatic payment runs\n\nThe system looks for invoices to pay at two moments:\n\n- right after a successful top-up of your balance (see [Topping up your balance](#plati.alimentare-sold));\n- periodically, during automatic checks.\n\nTurning the switch on does not trigger a payment by itself. Invoices that are already due are paid at the next periodic check or right after your next top-up.\n\nAutomatic payment is the simplest way to pay your monthly renewal invoices (number `BT-…`). These, too, are paid automatically only if the “Scadență” (Due date) column shows a date. Details: [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n\n## What you see after an automatic payment\n\n- **An email** to your account's email address, with the subject “Factură plătită automat din cont — NUMBER” (Invoice paid automatically from your account — NUMBER), where NUMBER is the invoice number. The email shows the invoice number, “Sumă plătită” (Amount paid) and “Sold curent” (Current balance). The subject is always in Romanian, and the text is in your account's language ([Language of the website, the panel and emails](#cont.limba)). In the email, amounts appear in whole MDL, without decimals; you can see the exact amounts on the “Sold” (Balance) page.\n- **“Istoricul operațiunilor”** (Transaction history) on the “Sold” page: a “Factură NUMBER” (Invoice NUMBER) row, with the amount shown with a minus sign and the “Sold rămas” (Remaining balance) after the payment.\n- **“Facturi”** (Invoices): the invoice changes to the “Achitată” (Paid) status, and under “Detalii” (Details) you see “Achitată la” (Paid on) with the payment date.\n\nIf an invoice is skipped because your balance is not enough, you do not receive an email.\n\n> **Tip**\n> Top up your balance in advance, before your invoices are due, with at least their total amount. From time to time, check the “Facturi” page (so that no invoices with the status “Trimisă” (Sent) or “Restantă” (Overdue) are left unpaid) and “Istoricul operațiunilor” on the “Sold” page.\n\n## Frequently asked questions\n\n**Does the switch charge my card when my balance runs out?**\nNo. BLACKBOX does not store your card details and does not make recurring charges to your card. You top up your balance yourself, by card, whenever you choose: [Topping up your balance](#plati.alimentare-sold).\n\n**Automatic payment is on, but the invoice is still “Trimisă” (Sent). Why?**\nCheck the conditions in the table above: the due date, the currency and whether your balance covers the full invoice amount. If all of them are met, the invoice is paid at the next periodic check or right after a top-up. If it still stays unpaid, write to us.\n\n**Can I pay an invoice from my balance manually?**\nNot from the “Facturi” (Invoices) page: invoices that need to be paid show “Plata online — în curând” (Online payment — coming soon), which means online payment of invoices is not available. Use automatic payment, a bank transfer ([Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar)) or write to us.\n\n**Can I turn on automatic payment from the panel or through an AI assistant?**\nNo. The setting exists only on the “Sold” (Balance) page on blackbox.md. An AI assistant connected through MCP can only read its state (the `get_balance` tool, the `autopay_enabled` field); it cannot change it.\n"
   }
  },
  {
   "id": "plati.facturi",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/facturi/",
    "ru": "https://docs.blackbox.md/ru/plati/facturi/",
    "en": "https://docs.blackbox.md/en/plati/facturi/"
   },
   "title": {
    "ro": "Pagina „Facturi”: statusuri, numere și PDF",
    "ru": "Страница «Счета»: статусы, номера и PDF",
    "en": "The “Facturi” (Invoices) page: statuses, numbers and PDF"
   },
   "summary": {
    "ro": "Cum citiți lista de facturi, ce înseamnă statusurile și numerele și cum obțineți factura în PDF.",
    "ru": "Как читать список счетов, что означают статусы и номера и как получить счёт в PDF.",
    "en": "How to read your list of invoices, what the statuses and numbers mean, and how to get an invoice as a PDF."
   },
   "markdown": {
    "ro": "Pagina „Facturile mele” (`blackbox.md/account/invoices`, „Contul meu” → „Facturi”) listează facturile contului dvs.: facturile comenzilor achitate, facturile lunare de reînnoire și facturile emise de echipa BLACKBOX. Pentru fiecare factură vedeți numărul, datele, suma, statusul și pozițiile. PDF-ul nu se descarcă de pe această pagină; mai jos aflați cum îl obțineți.\n\n**Disponibil pentru:** titularul contului blackbox.md, autentificat. Fiecare cont vede doar facturile proprii.\n\n## Cum deschideți pagina\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus.\n2. În meniul contului (pe telefon îl deschideți cu „Meniu cont”), apăsați „Facturi”. Se deschide pagina „Facturile mele”.\n3. Dacă nu aveți încă nicio factură, pagina afișează „Nu aveți facturi încă.”\n\nFacturile sunt ordonate de la cea mai nouă la cea mai veche, câte 20 pe pagină. Dacă aveți mai mult de 20, sub tabel apar intervalul afișat (de exemplu „1–20 din 35”) și butoanele „← Anterior” și „Următor →”. Dacă în locul listei apare un mesaj de eroare, de exemplu „Eroare la încărcare.”, reîncărcați pagina; dacă eroarea persistă, scrieți-ne.\n\n## Coloanele listei\n\n| Coloană | Ce arată |\n|---|---|\n| „Număr” | Numărul facturii, de exemplu `BBX-2026-000123`. Formatele sunt explicate mai jos. |\n| „Data” | Data emiterii facturii. |\n| „Scadență” | Data până la care trebuie achitată factura. „—” înseamnă că factura nu are scadență, de exemplu factura unei comenzi deja achitate. |\n| „Total” | Suma totală, cu două zecimale, și moneda, de exemplu „578,00 MDL”. |\n| „Status” | Starea facturii (vedeți tabelul următor). |\n| ultima coloană, fără titlu | Butonul „Detalii” și, la facturile „Trimisă” și „Restantă”, textul „Plata online — în curând”. |\n\n## Statusurile facturilor\n\n| Status | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Trimisă” | Factura a fost emisă și așteaptă plata. | Achitați-o până la data din „Scadență” (vedeți mai jos cum). |\n| „Restantă” | Scadența a trecut, iar factura nu este achitată. | Achitați-o cât mai curând sau scrieți-ne. Ce urmează la neplată: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara). |\n| „Achitată” | Plata a fost primită. | Nimic. Data plății apare în „Detalii”, la „Achitată la”. |\n| „Anulată” | Factura nu mai trebuie plătită: a anulat-o echipa sau comanda ei a fost anulată cu rambursarea întregii sume. | Nimic. |\n\nFacturile pe care echipa încă le pregătește nu apar în listă. O factură devine vizibilă abia după ce este emisă.\n\n## Numerele facturilor\n\n| Format | Ce este | Cum apare |\n|---|---|---|\n| `BBX-YYYY-NNNNNN`, de exemplu `BBX-2026-000123` | Factura unei comenzi achitate. Are același număr ca și comanda din „Comenzi”. | Se creează automat când comanda este achitată, cu cardul sau din sold, direct cu statusul „Achitată”. Poziția ei este descrierea comenzii, de exemplu „Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. |\n| `BT-xxxxxxxx-YYYYMM`, de exemplu `BT-1a2b3c4d-202611` | Factura lunară de reînnoire a unui server. `YYYYMM` este anul și luna facturată. | O emite echipa noastră. Poziția are de obicei forma „Monthly hosting — SERVER (YYYY-MM)”, unde SERVER este numele sau IP-ul serverului. Detalii: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara). |\n| `INV-0001`, `INV-0002`… | Factură emisă manual de echipa BLACKBOX, de exemplu pentru un serviciu convenit cu suportul. | O emite echipa, cu pozițiile convenite. |\n\nDacă anulați o comandă și primiți înapoi întreaga sumă, factura ei `BBX-…` devine „Anulată”. La o rambursare parțială, precum și la ștergerea serverului din panou, factura rămâne „Achitată”. Detalii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Detaliile unei facturi\n\n1. În rândul facturii, apăsați „Detalii”.\n2. Sub rând se deschide secțiunea „Poziții factură”. Butonul devine „Ascunde”: apăsați-l ca să închideți secțiunea.\n3. Dacă apare „Nu am putut încărca detaliile facturii.”, apăsați „Ascunde”, apoi din nou „Detalii”, sau reîncărcați pagina.\n\n| Element | Ce arată |\n|---|---|\n| „Descriere” | Ce se facturează: planul comandat, luna de reînnoire sau serviciul. |\n| „Cant.” | Cantitatea. |\n| „Preț unitar” | Prețul unei unități. |\n| „Sumă” | Suma poziției. |\n| „Subtotal” | Suma tuturor pozițiilor. |\n| „TVA (…%)” | Cota și suma taxei, așa cum sunt înregistrate pe factură. Rândul lipsește dacă factura nu are nicio cotă înregistrată. |\n| „Total de plată” | Totalul facturii, același ca în coloana „Total”. |\n| „Achitată la” | Data plății. Apare numai dacă factura are o dată de plată. |\n\n## Cum achitați o factură „Trimisă” sau „Restantă”\n\nÎn dreptul acestor facturi, pagina afișează textul gri „Plata online — în curând”. El înseamnă că factura nu se poate achita online de pe această pagină, nici cu cardul, nici din sold. Folosiți una dintre variantele de mai jos.\n\n| Variantă | Cum procedați | Detalii |\n|---|---|---|\n| Plata automată din sold | Porniți comutatorul „Reîncărcare automată” de pe pagina „Sold” și păstrați în sold cel puțin totalul facturii. Când ajunge data din „Scadență”, factura se achită automat și primiți emailul „Factură plătită automat din cont — NUMĂR”, unde NUMĂR este numărul facturii. O factură fără scadență („—”) nu se achită automat. | [Plata automată a facturilor din sold](#plati.plata-automata), [Alimentarea soldului](#plati.alimentare-sold) |\n| Transfer bancar | Plătiți din banca dvs. pe rechizitele Click Expert S.R.L. și scrieți numărul facturii la destinația plății. Factura devine „Achitată” după ce echipa confirmă încasarea. | [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar) |\n| Prin suport | Scrieți la support@blackbox.md sau deschideți un tichet din „Contul meu” → „Ajutor și suport”. Indicați numărul facturii și cum doriți să plătiți. | [Cum contactați suportul BLACKBOX](#suport.contact) |\n\n> **Important**\n> Comutatorul „Reîncărcare automată” nu debitează cardul și nu alimentează soldul. El achită facturile scadente doar din banii aflați deja în sold și numai dacă soldul acoperă tot totalul facturii.\n\n> **Sfat**\n> Când echipa emite o factură în contul dvs., nu primiți automat un email. Verificați din când în când pagina „Facturi”, mai ales spre sfârșitul perioadei plătite, sau porniți plata automată din sold.\n\n## Factura în PDF\n\nPe pagina „Facturi” nu există buton de descărcare.\n\n- **Factura unei comenzi achitate (`BBX-…`).** PDF-ul `factura-BBX-….pdf` vine atașat la emailul „Plată confirmată — BBX-…”, trimis pe adresa de email a contului imediat după plată, fie cu cardul, fie din sold. Păstrați acest email.\n- **Orice alt PDF** (facturile `BT-…` și `INV-…` sau un PDF pierdut): scrieți la support@blackbox.md și indicați numărul facturii.\n\nCe conține PDF-ul:\n\n| Parte | Conținut |\n|---|---|\n| Antet | „FACTURĂ”, „Nr.” cu numărul facturii și „Status:” cu starea scrisă în engleză (de exemplu `paid` la o factură achitată). |\n| „Furnizor” | Click Expert S.R.L., IDNO 1021600002628, Moldova, mun. Chișinău, Vadul lui Vodă 78/2, BC Moldindconbank SA, fil. A. Russo, SWIFT MOLDMD2X366, IBAN MD64ML000000022519662930, +373 78 003948, support@blackbox.md. |\n| „Client” | Numele și emailul dvs. Dacă factura are un profil din „Date de facturare” (la o comandă, profilul ales la plasarea ei): denumirea companiei, „IDNO:” sau „IDNP:”, „Cod TVA:” (dacă l-ați completat) și adresa; la profilul unei persoane fizice, și numele din profil, dacă diferă de cel al contului. |\n| Date | „Data emiterii”, „Scadență” (dacă există) și „Data plății” (dacă factura este achitată). |\n| Poziții | Tabelul „Descriere”, „Cant.”, „Preț unitar”, „Sumă”. |\n| Totaluri | „Subtotal”, rândul „TVA …%” (numai dacă cota de taxă a facturii este mai mare de zero) și „Total”. |\n| Subsol | „Plata se efectuează prin transfer bancar în contul IBAN …”, cu banca și codul SWIFT. |\n\nBanca, IBAN-ul, telefonul și persoana de contact din profilul unei companii nu apar pe factură. Cum completați profilul: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n> **Notă**\n> PDF-ul este întocmit în limba română. Mențiunea despre transferul bancar din subsol apare pe toate facturile, inclusiv pe cele achitate: o factură „Achitată” nu se plătește din nou.\n\n## Întrebări frecvente\n\n**Am achitat o comandă. Unde îi găsesc factura?**\nÎn „Facturi”, cu același număr `BBX-…` ca al comenzii și cu statusul „Achitată”. PDF-ul este atașat la emailul „Plată confirmată — BBX-…”.\n\n**Nu văd factura comenzii mele.**\nFactura apare numai după ce comanda este achitată; o comandă cu statusul „Nou” nu are încă factură. Dacă ați plătit și factura lipsește, reîncărcați pagina, apoi scrieți-ne cu numărul comenzii.\n\n**Am alimentat soldul. Primesc o factură?**\nNu. Alimentarea nu creează o factură: primiți doar emailul „Alimentare cont confirmată — BLACKBOX”, iar pe pagina „Sold” apare operațiunea „Alimentare cont BLACKBOX”. Facturile se emit pentru serviciile plătite: comanda achitată cu cardul sau din sold primește factura `BBX-…` (PDF-ul este atașat la emailul „Plată confirmată — BBX-…”), iar reînnoirile lunare au facturile `BT-…` din „Facturi”. Dacă firma are nevoie de un document pentru suma alimentată, scrieți la support@blackbox.md.\n\n**Știu că mi s-a emis o factură, dar nu o văd în listă.**\nScrieți-ne la support@blackbox.md și indicați numărul facturii sau serverul la care se referă.\n\n**Am plătit o factură prin transfer. Când devine „Achitată”?**\nDupă ce echipa confirmă încasarea în contul nostru; durata depinde de bănci. Nu primiți email separat, așa că verificați statusul în „Facturi”.\n\n**De ce o factură „Anulată” are data „Achitată la”?**\nEste factura unei comenzi anulate cu rambursare integrală. Data arată ziua în care plata a fost primită; suma a revenit apoi în soldul dvs. BLACKBOX.\n\n**Am nevoie de factură pe datele companiei.**\nAdăugați profilul în „Contul meu” → „Date de facturare” înainte de comandă și alegeți-l la pasul „Date de facturare”. Pentru o factură deja emisă, scrieți-ne cu numărul ei.\n\n**Pot descărca toate facturile deodată?**\nNu în PDF. O copie a datelor contului, inclusiv a facturilor și a pozițiilor lor, o descărcați în format JSON din cardul „Datele mele”: [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date).\n",
    "ru": "Страница «Мои счета» (`blackbox.md/ru/account/invoices`, «Личный кабинет» → «Счета») показывает счета вашего аккаунта: счета за оплаченные заказы, ежемесячные счета за продление и счета, которые выставила команда BLACKBOX. По каждому счёту видны номер, даты, сумма, статус и позиции. Скачать PDF с этой страницы нельзя; как его получить, описано ниже.\n\n**Доступно:** владельцу аккаунта blackbox.md после входа. Каждый аккаунт видит только свои счета.\n\n## Как открыть страницу\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню.\n2. В меню аккаунта (на телефоне оно открывается кнопкой «Меню аккаунта») выберите «Счета». Откроется страница «Мои счета».\n3. Если счетов ещё нет, на странице будет надпись «У вас пока нет счетов.»\n\nСчета идут от новых к старым, по 20 на странице. Если счетов больше 20, под таблицей появятся диапазон показанных счетов (например, «1–20 из 35») и кнопки «← Назад» и «Далее →». Если вместо списка появилось сообщение об ошибке, например «Ошибка загрузки.», обновите страницу; если ошибка не исчезает, напишите нам.\n\n## Столбцы таблицы\n\n| Столбец | Что в нём |\n|---|---|\n| «Номер» | Номер счёта, например `BBX-2026-000123`. Форматы номеров разобраны ниже. |\n| «Дата» | Дата выставления счёта. |\n| «Срок оплаты» | Дата, до которой счёт нужно оплатить. «—» значит, что срока оплаты нет: например, у счёта за уже оплаченный заказ. |\n| «Итого» | Общая сумма с двумя знаками после запятой и валюта, например «578,00 MDL». |\n| «Статус» | Состояние счёта (см. следующую таблицу). |\n| последний столбец без названия | Кнопка «Детали», а у счетов в статусах «Отправлен» и «Просрочен» — надпись «Онлайн-оплата — скоро». |\n\n## Статусы счетов\n\n| Статус | Что означает | Что делать |\n|---|---|---|\n| «Отправлен» | Счёт выставлен и ждёт оплаты. | Оплатите его до даты в столбце «Срок оплаты» (способы — ниже). |\n| «Просрочен» | Срок оплаты прошёл, а счёт не оплачен. | Оплатите его как можно скорее или напишите нам. Что бывает при неоплате: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara). |\n| «Оплачен» | Оплата получена. | Ничего. Дата оплаты указана в «Детали», в строке «Оплачен». |\n| «Отменён» | Счёт больше не нужно оплачивать: его отменила команда или заказ, к которому он относится, отменён с полным возвратом суммы. | Ничего. |\n\nСчета, которые команда ещё готовит, в списке не показываются. Счёт появляется только после того, как его выставят.\n\n## Номера счетов\n\n| Формат | Что это | Как появляется |\n|---|---|---|\n| `BBX-YYYY-NNNNNN`, например `BBX-2026-000123` | Счёт за оплаченный заказ. Номер совпадает с номером заказа на странице «Заказы». | Создаётся автоматически в момент оплаты заказа, картой или с баланса, сразу в статусе «Оплачен». Позиция — описание заказа, например «Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS». |\n| `BT-xxxxxxxx-YYYYMM`, например `BT-1a2b3c4d-202611` | Ежемесячный счёт за продление сервера. `YYYYMM` — год и месяц, за который выставлен счёт. | Выставляет наша команда. Позиция обычно выглядит так: «Monthly hosting — СЕРВЕР (YYYY-MM)», где СЕРВЕР — имя или IP-адрес сервера. Подробнее: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara). |\n| `INV-0001`, `INV-0002`… | Счёт, выставленный командой BLACKBOX вручную, например за услугу, согласованную с поддержкой. | Выставляет команда, с согласованными позициями. |\n\nЕсли вы отменили заказ и вам вернули всю сумму, его счёт `BBX-…` переходит в статус «Отменён». При частичном возврате, а также после удаления сервера в панели счёт остаётся в статусе «Оплачен». Подробнее: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Детали счёта\n\n1. В строке счёта нажмите «Детали».\n2. Под строкой откроется раздел «Позиции счёта». Кнопка сменится на «Скрыть» — нажмите её, чтобы закрыть раздел.\n3. Если появилось «Не удалось загрузить детали счёта.», нажмите «Скрыть», затем снова «Детали» или обновите страницу.\n\n| Элемент | Что показывает |\n|---|---|\n| «Описание» | За что выставлен счёт: заказанный тариф, месяц продления или услуга. |\n| «Кол-во» | Количество. |\n| «Цена» | Цена за единицу. |\n| «Сумма» | Сумма по позиции. |\n| «Подытог» | Сумма всех позиций. |\n| «Налог (…%)» | Ставка и сумма налога в том виде, в каком они записаны в счёте. Строки нет, если ставка в счёте не указана. |\n| «Итого к оплате» | Итоговая сумма счёта, та же, что в столбце «Итого». |\n| «Оплачен» | Дата оплаты. Строка есть, только если у счёта указана дата оплаты. |\n\n## Как оплатить счёт в статусе «Отправлен» или «Просрочен»\n\nРядом с такими счетами на странице стоит серая надпись «Онлайн-оплата — скоро». Она означает, что оплатить счёт онлайн с этой страницы нельзя — ни картой, ни с баланса. Воспользуйтесь одним из способов ниже.\n\n| Способ | Что сделать | Подробнее |\n|---|---|---|\n| Автоплатёж с баланса | Включите переключатель «Автоматическое пополнение» на странице «Баланс» и держите на балансе не меньше суммы счёта. Когда наступит дата из столбца «Срок оплаты», счёт оплатится автоматически, а вы получите письмо «Factură plătită automat din cont — НОМЕР», где НОМЕР — номер счёта. Счёт без срока оплаты («—») автоматически не оплачивается. | [Автоматическая оплата счетов с баланса](#plati.plata-automata), [Пополнение баланса](#plati.alimentare-sold) |\n| Банковский перевод | Оплатите счёт из своего банка по реквизитам Click Expert S.R.L. и укажите номер счёта в назначении платежа. Счёт станет «Оплачен», когда команда подтвердит поступление денег. | [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar) |\n| Через поддержку | Напишите на support@blackbox.md или создайте тикет в «Личный кабинет» → «Помощь и поддержка». Укажите номер счёта и удобный способ оплаты. | [Как связаться с поддержкой BLACKBOX](#suport.contact) |\n\n> **Важно**\n> Переключатель «Автоматическое пополнение» не списывает деньги с карты и не пополняет баланс. Он оплачивает счета, у которых наступил срок оплаты, только деньгами, которые уже лежат на балансе, и только если их хватает на всю сумму счёта.\n\n> **Совет**\n> Когда команда выставляет счёт в вашем аккаунте, письмо автоматически не приходит. Время от времени заглядывайте на страницу «Счета», особенно ближе к концу оплаченного периода, или включите автоплатёж с баланса.\n\n## Счёт в PDF\n\nКнопки скачивания на странице «Счета» нет.\n\n- **Счёт за оплаченный заказ (`BBX-…`).** Файл `factura-BBX-….pdf` приходит вложением в письме «Plată confirmată — BBX-…», которое отправляется на email аккаунта сразу после оплаты — картой или с баланса. Сохраните это письмо.\n- **Любой другой PDF** (счета `BT-…` и `INV-…` или потерянный PDF): напишите на support@blackbox.md и укажите номер счёта.\n\nЧто есть в PDF:\n\n| Часть | Содержание |\n|---|---|\n| Заголовок | «FACTURĂ», «Nr.» с номером счёта и «Status:» с состоянием на английском (например, `paid` у оплаченного счёта). |\n| «Furnizor» (поставщик) | Click Expert S.R.L., IDNO 1021600002628, Moldova, mun. Chișinău, Vadul lui Vodă 78/2, BC Moldindconbank SA, fil. A. Russo, SWIFT MOLDMD2X366, IBAN MD64ML000000022519662930, +373 78 003948, support@blackbox.md. |\n| «Client» (клиент) | Ваше имя и email. Если к счёту привязан профиль из раздела «Реквизиты» (у заказа — профиль, выбранный при оформлении): название компании, «IDNO:» или «IDNP:», «Cod TVA:» (если вы его указали) и адрес; у профиля физического лица — ещё и ФИО из профиля, если оно отличается от имени в аккаунте. |\n| Даты | «Data emiterii» (дата выставления), «Scadență» (срок оплаты, если есть) и «Data plății» (дата оплаты, если счёт оплачен). |\n| Позиции | Таблица «Descriere», «Cant.», «Preț unitar», «Sumă» (описание, количество, цена за единицу, сумма). |\n| Итоги | «Subtotal», строка «TVA …%» (только если ставка налога в счёте больше нуля) и «Total». |\n| Нижняя часть | «Plata se efectuează prin transfer bancar în contul IBAN …» (оплата банковским переводом на IBAN …) с банком и кодом SWIFT. |\n\nБанк, IBAN, телефон и контактное лицо из профиля компании в счёт не попадают. Как заполнить профиль: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n> **Примечание**\n> PDF-счёт составляется на румынском языке. Строка о банковском переводе внизу печатается на всех счетах, в том числе оплаченных: счёт в статусе «Оплачен» повторно оплачивать не нужно.\n\n## Частые вопросы\n\n**Заказ оплачен. Где найти счёт?**\nНа странице «Счета», с тем же номером `BBX-…`, что и у заказа, в статусе «Оплачен». PDF приложен к письму «Plată confirmată — BBX-…».\n\n**Не вижу счёт за свой заказ.**\nСчёт появляется только после оплаты заказа; у заказа в статусе «Новый» счёта ещё нет. Если заказ оплачен, а счёта нет, обновите страницу, затем напишите нам с номером заказа.\n\n**Баланс пополнен. Будет ли счёт?**\nНет. При пополнении счёт не выставляется: придёт только письмо «Alimentare cont confirmată — BLACKBOX» (тема всегда на румынском), а на странице «Баланс» появится операция «Alimentare cont BLACKBOX». Счета выставляются за оплаченные услуги: заказ, оплаченный картой или с баланса, получает счёт `BBX-…` (PDF приложен к письму «Plată confirmată — BBX-…»), а за ежемесячное продление выставляются счета `BT-…` на странице «Счета». Если компании нужен документ на сумму пополнения, напишите на support@blackbox.md.\n\n**Мне выставили счёт, но в списке его нет.**\nНапишите на support@blackbox.md и укажите номер счёта или сервер, к которому он относится.\n\n**Счёт оплачен банковским переводом. Когда он станет «Оплачен»?**\nКогда команда подтвердит поступление оплаты; срок зависит от банков. Отдельного письма не будет, поэтому проверяйте статус на странице «Счета».\n\n**Почему у счёта в статусе «Отменён» есть дата оплаты?**\nЭто счёт за заказ, отменённый с полным возвратом. Дата показывает день, когда оплата была получена; потом сумма вернулась на ваш баланс BLACKBOX.\n\n**Мне нужен счёт на компанию.**\nДо оформления заказа добавьте профиль в «Личный кабинет» → «Реквизиты» и выберите его на шаге «Реквизиты для счёта». Если счёт уже выставлен, напишите нам и укажите его номер.\n\n**Можно скачать все счета сразу?**\nВ PDF — нет. Копию данных аккаунта, включая счета и их позиции, можно скачать в формате JSON из карточки «Мои данные»: [Скачивание ваших данных («Мои данные»)](#cont.export-date).\n",
    "en": "The “Facturile mele” (My invoices) page (`blackbox.md/account/invoices`, “Contul meu” (My account) → “Facturi” (Invoices)) lists your account's invoices: invoices for paid orders, monthly renewal invoices and invoices issued by the BLACKBOX team. For each invoice you can see the number, the dates, the amount, the status and the line items. You cannot download the PDF from this page; see below for how to get it.\n\n**Available to:** the blackbox.md account holder, signed in. Each account sees only its own invoices.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to open the page\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar.\n2. In the account menu (on a phone, open it with “Meniu cont” (Account menu)), click “Facturi” (Invoices). The “Facturile mele” (My invoices) page opens.\n3. If you don't have any invoices yet, the page shows “Nu aveți facturi încă.” (You have no invoices yet.)\n\nInvoices are sorted from newest to oldest, 20 per page. If you have more than 20, the range shown (for example “1–20 din 35” (1–20 of 35)) and the “← Anterior” (← Previous) and “Următor →” (Next →) buttons appear below the table. If an error message appears instead of the list, for example “Eroare la încărcare.” (Loading error.), reload the page; if the error persists, contact us.\n\n## List columns\n\n| Column | What it shows |\n|---|---|\n| “Număr” (Number) | The invoice number, for example `BBX-2026-000123`. The formats are explained below. |\n| “Data” (Date) | The date the invoice was issued. |\n| “Scadență” (Due date) | The date by which the invoice must be paid. “—” means the invoice has no due date, for example the invoice for an order that has already been paid. |\n| “Total” | The total amount, with two decimal places, and the currency, for example “578,00 MDL”. |\n| “Status” | The state of the invoice (see the next table). |\n| the last column, with no heading | The “Detalii” (Details) button and, for “Trimisă” (Sent) and “Restantă” (Overdue) invoices, the text “Plata online — în curând” (Online payment — coming soon). |\n\n## Invoice statuses\n\n| Status | What it means | What to do |\n|---|---|---|\n| “Trimisă” (Sent) | The invoice has been issued and is waiting for payment. | Pay it by the date in “Scadență” (Due date) (see below for how). |\n| “Restantă” (Overdue) | The due date has passed, and the invoice has not been paid. | Pay it as soon as possible or contact us. What happens if you don't pay: [Monthly renewal and paying on time](#plati.reinnoire-lunara). |\n| “Achitată” (Paid) | The payment has been received. | Nothing. The payment date appears under “Detalii” (Details), in the “Achitată la” (Paid on) row. |\n| “Anulată” (Canceled) | The invoice no longer needs to be paid: the team canceled it, or its order was canceled with a refund of the full amount. | Nothing. |\n\nInvoices that the team is still preparing do not appear in the list. An invoice becomes visible only after it has been issued.\n\n## Invoice numbers\n\n| Format | What it is | How it is created |\n|---|---|---|\n| `BBX-YYYY-NNNNNN`, for example `BBX-2026-000123` | The invoice for a paid order. It has the same number as the order in “Comenzi” (Orders). | Created automatically when the order is paid, by card or from your balance, directly with the “Achitată” (Paid) status. Its line item is the order description, for example “Standard M · 2 vCPU / 4 GB RAM / 40 GB SSD · Ubuntu 24.04 LTS”. |\n| `BT-xxxxxxxx-YYYYMM`, for example `BT-1a2b3c4d-202611` | The monthly renewal invoice for a server. `YYYYMM` is the year and month being billed. | Issued by our team. The line item usually reads “Monthly hosting — SERVER (YYYY-MM)”, where SERVER is the name or IP address of the server. Details: [Monthly renewal and paying on time](#plati.reinnoire-lunara). |\n| `INV-0001`, `INV-0002`… | An invoice issued manually by the BLACKBOX team, for example for a service agreed with support. | Issued by the team, with the agreed line items. |\n\nIf you cancel an order and get the full amount back, its `BBX-…` invoice becomes “Anulată” (Canceled). After a partial refund, and also when the server is deleted in the app.blackbox.md panel, the invoice stays “Achitată”. Details: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Invoice details\n\n1. In the invoice row, click “Detalii” (Details).\n2. The “Poziții factură” (Invoice items) section opens below the row. The button changes to “Ascunde” (Hide): click it to close the section.\n3. If “Nu am putut încărca detaliile facturii.” (We could not load the invoice details.) appears, click “Ascunde”, then “Detalii” again, or reload the page.\n\n| Item | What it shows |\n|---|---|\n| “Descriere” (Description) | What is being billed: the plan you ordered, the renewal month or the service. |\n| “Cant.” (Qty) | The quantity. |\n| “Preț unitar” (Unit price) | The price of one unit. |\n| “Sumă” (Amount) | The amount for the line item. |\n| “Subtotal” | The sum of all line items. |\n| “TVA (…%)” (VAT (…%)) | The tax rate and amount, as recorded on the invoice. The row is missing if the invoice has no rate recorded. |\n| “Total de plată” (Total due) | The invoice total, the same as in the “Total” column. |\n| “Achitată la” (Paid on) | The payment date. It appears only if the invoice has a payment date. |\n\n## How to pay a “Trimisă” (Sent) or “Restantă” (Overdue) invoice\n\nNext to these invoices, the page shows the gray text “Plata online — în curând” (Online payment — coming soon). It means that you cannot pay the invoice online from this page, either by card or from your balance. Use one of the options below.\n\n| Option | What to do | Details |\n|---|---|---|\n| Automatic payment from your balance | Turn on the “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page and keep at least the invoice total in your balance. When the date in “Scadență” (Due date) arrives, the invoice is paid automatically and you receive the email “Factură plătită automat din cont — NUMBER” (Invoice paid automatically from your account — NUMBER), where NUMBER is the invoice number. An invoice with no due date (“—”) is not paid automatically. | [Automatic payment of invoices from your balance](#plati.plata-automata), [Topping up your balance](#plati.alimentare-sold) |\n| Bank transfer | Pay from your bank using the bank details of Click Expert S.R.L., and write the invoice number in the payment reference. The invoice becomes “Achitată” (Paid) after the team confirms that the payment has been received. | [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar) |\n| Through support | Write to support@blackbox.md or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). Give the invoice number and tell us how you would like to pay. | [How to contact BLACKBOX support](#suport.contact) |\n\n> **Important**\n> The “Reîncărcare automată” switch does not charge your card and does not top up your balance. It pays invoices that are due only with money that is already in your balance, and only if your balance covers the invoice's full total.\n\n> **Tip**\n> When the team issues an invoice in your account, you do not automatically receive an email. Check the “Facturi” (Invoices) page from time to time, especially toward the end of the period you have paid for, or turn on automatic payment from your balance.\n\n## The invoice as a PDF\n\nThere is no download button on the “Facturi” (Invoices) page.\n\n- **The invoice for a paid order (`BBX-…`).** The PDF `factura-BBX-….pdf` comes attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email, which is sent to your account's email address right after payment, whether by card or from your balance. Keep this email.\n- **Any other PDF** (`BT-…` and `INV-…` invoices, or a lost PDF): write to support@blackbox.md and include the invoice number.\n\nWhat the PDF contains:\n\n| Part | Contents |\n|---|---|\n| Header | “FACTURĂ” (INVOICE), “Nr.” (No.) with the invoice number, and “Status:” with the status written in English (for example `paid` for a paid invoice). |\n| “Furnizor” (Supplier) | Click Expert S.R.L., IDNO 1021600002628, Moldova, mun. Chișinău, Vadul lui Vodă 78/2, BC Moldindconbank SA, fil. A. Russo, SWIFT MOLDMD2X366, IBAN MD64ML000000022519662930, +373 78 003948, support@blackbox.md. |\n| “Client” | Your name and email. If the invoice has a profile from “Date de facturare” (Billing details) (for an order, the profile you chose when you placed it): the company name, “IDNO:” or “IDNP:”, “Cod TVA:” (VAT code:) (if you filled it in) and the address; for an individual's profile, also the name from the profile, if it differs from the name on your account. |\n| Dates | “Data emiterii” (Issue date), “Scadență” (Due date) (if there is one) and “Data plății” (Payment date) (if the invoice has been paid). |\n| Line items | The table “Descriere” (Description), “Cant.” (Qty), “Preț unitar” (Unit price), “Sumă” (Amount). |\n| Totals | “Subtotal”, the “TVA …%” (VAT …%) row (only if the invoice's tax rate is greater than zero) and “Total”. |\n| Footer | “Plata se efectuează prin transfer bancar în contul IBAN …” (Payment is made by bank transfer to the IBAN account …), with the bank and the SWIFT code. |\n\nThe bank, IBAN, phone number and contact person from a company profile do not appear on the invoice. How to fill in the profile: [Billing details for companies and individuals](#plati.date-facturare).\n\n> **Note**\n> The PDF is drawn up in Romanian. The bank transfer note in the footer appears on every invoice, including paid ones: do not pay an “Achitată” (Paid) invoice again.\n\n## Frequently asked questions\n\n**I paid for an order. Where do I find its invoice?**\nIn “Facturi” (Invoices), with the same `BBX-…` number as the order and the status “Achitată” (Paid). The PDF is attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email.\n\n**I can't see the invoice for my order.**\nThe invoice appears only after the order has been paid; an order with the status “Nou” (New) does not have an invoice yet. If you have paid and the invoice is missing, reload the page, then write to us with the order number.\n\n**I topped up my balance. Do I get an invoice?**\nNo. A top-up does not create an invoice: you only receive the “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX) email, and the transaction “Alimentare cont BLACKBOX” (BLACKBOX account top-up) appears on the “Sold” (Balance) page. Invoices are issued for paid services: an order paid by card or from your balance gets a `BBX-…` invoice (the PDF is attached to the “Plată confirmată — BBX-…” email), and monthly renewals have `BT-…` invoices in “Facturi”. If your company needs a document for the amount you topped up, write to support@blackbox.md.\n\n**I know an invoice has been issued to me, but I can't see it in the list.**\nWrite to us at support@blackbox.md and include the invoice number or the server it relates to.\n\n**I paid an invoice by bank transfer. When does it become “Achitată”?**\nAfter the team confirms that the money has reached our account; how long this takes depends on the banks. You do not receive a separate email, so check the status in “Facturi”.\n\n**Why does an “Anulată” (Canceled) invoice have an “Achitată la” (Paid on) date?**\nIt is the invoice for an order that was canceled with a full refund. The date shows the day the payment was received; the amount then went back to your BLACKBOX balance.\n\n**I need an invoice with my company's details.**\nAdd the profile in “Contul meu” (My account) → “Date de facturare” (Billing details) before you order, and choose it at the “Date de facturare” step. For an invoice that has already been issued, write to us with its number.\n\n**Can I download all my invoices at once?**\nNot as PDFs. You can download a copy of your account data, including your invoices and their line items, in JSON format from the “Datele mele” (My data) card: [Downloading your data (“Datele mele”)](#cont.export-date).\n"
   }
  },
  {
   "id": "plati.reinnoire-lunara",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/reinnoire-lunara/",
    "ru": "https://docs.blackbox.md/ru/plati/reinnoire-lunara/",
    "en": "https://docs.blackbox.md/en/plati/reinnoire-lunara/"
   },
   "title": {
    "ro": "Reînnoirea lunară și plata la termen",
    "ru": "Ежемесячное продление и своевременная оплата",
    "en": "Monthly renewal and paying on time"
   },
   "summary": {
    "ro": "Ce acoperă prima plată, cum primiți factura pentru lunile următoare și ce se întâmplă dacă nu plătiți la timp.",
    "ru": "Что покрывает первый платёж, как выставляется счёт за следующие месяцы и что будет при просрочке.",
    "en": "What the first payment covers, how you get the invoice for the following months, and what happens if you don't pay on time."
   },
   "markdown": {
    "ro": "Serverele BLACKBOX se plătesc lunar, în avans. Prima lună o achitați la comandă, iar pentru lunile următoare echipa emite o factură lunară, pe care o găsiți în „Contul meu” → „Facturi” (`blackbox.md/account/invoices`). Regulile generale sunt și pe pagina „Plata serviciilor” (`https://blackbox.md/info/payment`).\n\n**Disponibil pentru:** titularul contului blackbox.md din care a fost comandat serverul.\n\n## Ce acoperă prima plată\n\nPlata comenzii, cu cardul sau din sold, acoperă o lună de la activarea serverului. Data activării este data emailului „Serverul dvs. este gata — BBX-…”. De exemplu, un server activat pe 21 septembrie 2026 este plătit până pe 20 octombrie 2026 inclusiv.\n\nPentru această plată, factura se creează automat: are același număr ca și comanda (`BBX-YYYY-NNNNNN`) și statusul „Achitată”.\n\n## Factura pentru lunile următoare\n\nPagina „Plata serviciilor” spune: „Reînnoirea se face pe bază de factură emisă de echipa noastră.” Concret:\n\n- factura apare în „Facturi” cu statusul „Trimisă”, iar data până la care trebuie achitată este în coloana „Scadență”;\n- numărul are forma `BT-xxxxxxxx-YYYYMM`, unde `YYYYMM` sunt anul și luna facturată;\n- fiecare server are factura lui: apăsați „Detalii”, iar în „Poziții factură” vedeți numele original al serverului (sau adresa lui IP) și luna, de exemplu „Monthly hosting — bbx-bbx-2026-000023 (2026-11)”;\n- suma este prețul lunar al serverului din comandă sau, după un upgrade, noul preț lunar;\n- la emiterea facturii nu primiți un email automat, deci verificați periodic pagina „Facturi”.\n\n| Status | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Trimisă” | Factura a fost emisă și așteaptă plata. | Achitați-o până la data din „Scadență”. |\n| „Restantă” | Scadența a trecut, iar factura nu este achitată. | Achitați-o cât mai repede sau scrieți-ne. |\n| „Achitată” | Plata a fost înregistrată. | Nu trebuie să faceți nimic. |\n| „Anulată” | Factura a fost anulată. | Nu se mai plătește. |\n\nToate coloanele și formatele de număr: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n## Cum achitați factura lunară\n\nFacturile nu se pot achita cu cardul pe site. În dreptul facturilor „Trimisă” și „Restantă” apare textul „Plata online — în curând”: pagina nu are buton de plată. Alegeți una dintre metodele de mai jos.\n\n| Metodă | Ce faceți | Când factura devine „Achitată” |\n|---|---|---|\n| Plata automată din sold (recomandat) | Porniți „Reîncărcare automată” pe pagina „Sold” și țineți în sold cel puțin suma facturii. | Automat, de la data scadenței. Primiți emailul „Factură plătită automat din cont — BT-…”. |\n| Transfer bancar | Plătiți din banca dvs. pe rechizitele Click Expert S.R.L. și scrieți numărul facturii (`BT-…`) la destinația plății. Vedeți [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar). | După ce echipa confirmă încasarea. |\n| Prin suport | Scrieți la support@blackbox.md și indicați numărul facturii. | După modalitatea stabilită cu echipa. |\n\n### Cum porniți plata automată\n\n1. Deschideți „Contul meu” → „Sold” (`blackbox.md/account/balance`).\n2. Porniți comutatorul „Reîncărcare automată”. Dacă apare „Nu am putut actualiza setarea. Încercați din nou.”, reîncărcați pagina și repetați.\n3. Comparați „Sold curent” cu suma facturii. Dacă soldul nu ajunge, apăsați „Alimentează soldul” și alimentați cu cardul cel puțin suma care lipsește ([Alimentarea soldului](#plati.alimentare-sold)).\n4. Factura se achită din sold de la data scadenței, numai dacă soldul acoperă toată suma. O factură cu scadența deja trecută se achită imediat după următoarea alimentare sau la următoarea verificare periodică. Simpla pornire a comutatorului nu o achită pe loc.\n5. Factura trece în „Achitată”, în „Istoricul operațiunilor” apare linia „Factură BT-…”, iar pe email primiți „Factură plătită automat din cont — BT-…”.\n\n> **Important**\n> Denumirea „Reîncărcare automată” și textul „Încarcă automat soldul la epuizarea fondurilor.” induc în eroare: comutatorul nu debitează cardul și nu alimentează soldul. El achită facturile scadente numai cu banii aflați deja în sold. Detalii: [Plata automată a facturilor din sold](#plati.plata-automata).\n\n## Serverul oprit se facturează în continuare\n\nButonul „Oprește” din panoul app.blackbox.md doar oprește serverul. Serverul oprit rămâne al dvs. și se facturează lunar, ca unul pornit.\n\nCa să opriți facturarea, ștergeți serverul:\n\n1. Salvați datele de care mai aveți nevoie: ștergerea este ireversibilă.\n2. În panou, deschideți „Serverele mele” și apăsați „Șterge definitiv” pe cardul serverului.\n3. Tastați textul cerut în dialog (numele original al serverului; adresa IP doar dacă serverul nu are nume) și apăsați „Programează ștergerea”.\n4. Serverul se șterge după perioada de grație de 24 de ore. Până atunci puteți renunța cu „Anulează ștergerea”.\n\nFacturarea lunară se oprește în momentul în care serverul este șters efectiv, iar pe email primiți „Server deleted — NUME_SERVER”. Perioada deja începută nu se rambursează (Termenii și condițiile, punctul 7.4). Pașii compleți: [Ștergerea definitivă a unui server](#servere.stergere-server). Dacă doriți bani înapoi, citiți înainte de ștergere [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## După un upgrade\n\nLa upgrade, diferența pentru zilele rămase din ciclul curent se reține imediat din sold (rândul „Facturat acum (prorata)” din fereastra „Upgrade server”). Facturile lunare următoare au noul preț, cel afișat la „Tarif lunar nou”. Detalii: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n## Dacă nu plătiți la timp\n\nPagina „Plata serviciilor” prevede: „Neplata la termen poate atrage suspendarea și, ulterior, încetarea serviciului. Nu suspendăm serviciile și nu ștergem date fără să vă notificăm în prealabil prin email.”\n\nConcret:\n\n- înainte de orice măsură, vă scriem pe adresa de email a contului; verificați că adresa este corectă ([Profilul meu: nume, telefon și email](#cont.profil));\n- după scadență, serviciul poate fi suspendat, iar dacă nu primim plata sau un răspuns, poate fi încetat definitiv;\n- datele nu sunt șterse fără notificare prealabilă;\n- dacă aveți o dificultate temporară, scrieți-ne și căutăm împreună o soluție.\n\n> **Sfat**\n> Dacă aveți nevoie de alte condiții de plată sau vreți să plătiți în avans pentru o perioadă mai lungă, scrieți la support@blackbox.md cu câteva zile înainte de sfârșitul perioadei plătite. Toate contactele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Cardul meu va fi debitat automat în fiecare lună?**\nNu. Nu există debitare automată recurentă a cardului, iar datele cardului nu sunt stocate. Doar plata automată din sold, dacă o porniți, achită facturile cu banii din sold.\n\n**Pot plăti factura lunară cu cardul?**\nNu direct. Porniți plata automată, apoi alimentați soldul cu cardul: dacă scadența a sosit și soldul acoperă toată suma, factura se achită imediat după alimentare.\n\n**Trebuie să plasez o comandă nouă ca să prelungesc serverul?**\nNu. O comandă nouă creează un server nou. Serverul existent se prelungește prin factura lunară.\n\n**Nu văd încă nicio factură `BT-…`.**\nFactura de reînnoire apare în „Facturi” numai după ce echipa o emite. Dacă perioada plătită se apropie de sfârșit și nu vedeți factura, scrieți-ne.\n\n**Am mai multe servere. Cum se achită facturile?**\nFiecare server are factura lui lunară. Plata automată le achită pe rând, începând cu scadența cea mai veche; o factură pe care soldul nu o acoperă integral este sărită.\n\n**Coloana „Scadență” arată „—”.**\nPlata automată achită numai facturile care au scadență. Scrieți-ne și indicați numărul facturii.\n\n**Cât timp sunt păstrate datele după o suspendare?**\nTermenii și condițiile prevăd că datele sunt păstrate „o perioadă rezonabilă” după suspendare, după care pot fi șterse definitiv. Pagina „Plata serviciilor” adaugă că nu ștergem date fără să vă notificăm în prealabil prin email. Pentru termene exacte, contactați suportul.\n",
    "ru": "Серверы BLACKBOX оплачиваются помесячно и авансом. Первый месяц вы оплачиваете при заказе, а за следующие месяцы команда выставляет ежемесячный счёт — он появляется в разделе «Мой аккаунт» → «Счета» (`blackbox.md/ru/account/invoices`). Общие правила описаны также на странице «Оплата услуг» (`https://blackbox.md/ru/info/payment`).\n\n**Доступно:** владельцу аккаунта blackbox.md, с которого был заказан сервер.\n\n## Что покрывает первый платёж\n\nОплата заказа — картой или с баланса — покрывает один месяц с момента активации сервера. Дата активации — это дата письма «Serverul dvs. este gata — BBX-…». Например, сервер, активированный 21 сентября 2026, оплачен по 20 октября 2026 включительно.\n\nСчёт за этот платёж создаётся автоматически: у него тот же номер, что и у заказа (`BBX-YYYY-NNNNNN`), и статус «Оплачен».\n\n## Счёт за следующие месяцы\n\nНа странице «Оплата услуг» сказано: «Продление происходит на основании счёта, выставленного нашей командой.» На практике это значит:\n\n- счёт появляется в разделе «Счета» со статусом «Отправлен», а дата, до которой его нужно оплатить, указана в колонке «Срок оплаты»;\n- номер имеет вид `BT-xxxxxxxx-YYYYMM`, где `YYYYMM` — год и месяц, за который выставлен счёт;\n- на каждый сервер выставляется отдельный счёт: нажмите «Детали», и в блоке «Позиции счёта» будут видны исходное название сервера (или его IP-адрес) и месяц, например «Monthly hosting — bbx-bbx-2026-000023 (2026-11)»;\n- сумма счёта — месячная цена сервера из заказа, а после апгрейда — новая месячная цена;\n- автоматического письма о новом счёте нет, поэтому время от времени заглядывайте в раздел «Счета».\n\n| Статус | Что значит | Что делать |\n|---|---|---|\n| «Отправлен» | Счёт выставлен и ждёт оплаты. | Оплатите его до даты в колонке «Срок оплаты». |\n| «Просрочен» | Срок оплаты прошёл, а счёт не оплачен. | Оплатите как можно скорее или напишите нам. |\n| «Оплачен» | Оплата зарегистрирована. | Ничего делать не нужно. |\n| «Отменён» | Счёт отменён. | Оплачивать его не нужно. |\n\nВсе колонки и форматы номеров: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n## Как оплатить ежемесячный счёт\n\nОплатить счёт картой на сайте нельзя. Рядом со счетами «Отправлен» и «Просрочен» написано «Онлайн-оплата — скоро»: это значит, что кнопки оплаты на странице нет. Выберите один из способов ниже.\n\n| Способ | Что сделать | Когда счёт станет «Оплачен» |\n|---|---|---|\n| Автоплатёж с баланса (рекомендуем) | Включите «Автоматическое пополнение» на странице «Баланс» и держите на балансе не меньше суммы счёта. | Автоматически, начиная с даты в колонке «Срок оплаты». Придёт письмо «Factură plătită automat din cont — BT-…». |\n| Банковский перевод | Оплатите из своего банка по реквизитам Click Expert S.R.L. и укажите номер счёта (`BT-…`) в назначении платежа. См. [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar). | После того как команда подтвердит поступление денег. |\n| Через поддержку | Напишите на support@blackbox.md и укажите номер счёта. | Так, как вы договоритесь с командой. |\n\n### Как включить автоплатёж\n\n1. Откройте «Мой аккаунт» → «Баланс» (`blackbox.md/ru/account/balance`).\n2. Включите переключатель «Автоматическое пополнение». Если появилось сообщение «Не удалось изменить настройку. Попробуйте снова.», обновите страницу и повторите.\n3. Сравните «Текущий баланс» с суммой счёта. Если денег не хватает, нажмите «Пополнить баланс» и внесите картой не меньше недостающей суммы ([Пополнение баланса](#plati.alimentare-sold)).\n4. Счёт оплачивается с баланса начиная с даты в колонке «Срок оплаты» и только если баланса хватает на всю сумму. Счёт, срок оплаты которого уже прошёл, оплачивается сразу после следующего пополнения или при следующей периодической проверке. Само включение переключателя счёт мгновенно не оплачивает.\n5. Счёт переходит в статус «Оплачен», в «Истории операций» появляется строка «Factură BT-…», а на email приходит письмо «Factură plătită automat din cont — BT-…».\n\n> **Важно**\n> Название «Автоматическое пополнение» и подсказка «Автоматически списывать пополнения при недостатке средств.» сбивают с толку: переключатель не списывает деньги с карты и не пополняет баланс. Он оплачивает счета, срок оплаты которых наступил, только деньгами, которые уже лежат на балансе. Подробнее: [Автоматическая оплата счетов с баланса](#plati.plata-automata).\n\n## Остановленный сервер тоже оплачивается\n\nКнопка «Остановить» в панели app.blackbox.md только выключает сервер. Остановленный сервер остаётся за вами, и счета за него выставляются так же, как за работающий.\n\nЧтобы счета больше не выставлялись, удалите сервер:\n\n1. Сохраните данные, которые вам ещё нужны: удаление необратимо.\n2. В панели откройте «Мои серверы» и нажмите «Удалить» на карточке сервера.\n3. Введите текст, указанный в окне (исходное название сервера; IP-адрес — только если у сервера нет названия), и нажмите «Запланировать удаление».\n4. Сервер удаляется по истечении 24-часового периода отсрочки. До этого момента удаление можно отменить кнопкой «Отменить удаление».\n\nЕжемесячное выставление счетов прекращается в момент, когда сервер фактически удалён, а на email приходит письмо «Server deleted — ИМЯ_СЕРВЕРА». Деньги за уже начавшийся период не возвращаются (Условия использования, пункт 7.4). Подробная инструкция: [Безвозвратное удаление сервера](#servere.stergere-server). Если вы хотите вернуть деньги, до удаления прочитайте [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## После апгрейда\n\nПри апгрейде разница за оставшиеся дни текущего цикла сразу списывается с баланса (строка «Списано сейчас (пропорционально)» в окне «Апгрейд сервера»). Следующие ежемесячные счета выставляются уже по новой цене — той, что указана в строке «Новый месячный тариф». Подробнее: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n## Если не оплатить вовремя\n\nНа странице «Оплата услуг» сказано: «Несвоевременная оплата может повлечь приостановку, а впоследствии — прекращение оказания услуги. Мы не приостанавливаем услуги и не удаляем данные без предварительного уведомления по email.»\n\nЧто это значит на практике:\n\n- прежде чем что-либо предпринять, мы пишем на email вашего аккаунта, поэтому проверьте, что адрес указан верно ([Мой профиль: имя, телефон и email](#cont.profil));\n- после истечения срока оплаты услуга может быть приостановлена, а если не поступит ни оплата, ни ответ, — окончательно прекращена;\n- данные не удаляются без предварительного уведомления;\n- если у вас временные трудности, напишите нам — вместе найдём решение.\n\n> **Совет**\n> Если вам нужны другие условия оплаты или вы хотите заранее оплатить более длительный период, напишите на support@blackbox.md за несколько дней до окончания оплаченного периода. Все контакты: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Будут ли с моей карты автоматически списывать деньги каждый месяц?**\nНет. Регулярных списаний с карты нет, данные карты не хранятся. Только автоплатёж с баланса, если вы его включили, оплачивает счета деньгами с баланса.\n\n**Можно ли оплатить ежемесячный счёт картой?**\nНапрямую — нет. Включите автоплатёж и пополните баланс картой: если срок оплаты уже наступил и баланса хватает на всю сумму, счёт оплатится сразу после пополнения.\n\n**Нужно ли оформлять новый заказ, чтобы продлить сервер?**\nНет. Новый заказ создаёт новый сервер. Существующий сервер продлевается по ежемесячному счёту.\n\n**Я пока не вижу ни одного счёта `BT-…`.**\nСчёт за продление появляется в разделе «Счета» только после того, как его выставит команда. Если оплаченный период подходит к концу, а счёта всё нет, напишите нам.\n\n**У меня несколько серверов. Как оплачиваются счета?**\nНа каждый сервер выставляется свой ежемесячный счёт. Автоплатёж оплачивает их по очереди, начиная с самого раннего срока оплаты; счёт, на который баланса не хватает целиком, пропускается.\n\n**В колонке «Срок оплаты» стоит «—».**\nАвтоплатёж оплачивает только счета, у которых указан срок оплаты. Напишите нам и укажите номер счёта.\n\n**Сколько хранятся данные после приостановки?**\nПо Условиям использования данные хранятся «разумный период времени» после приостановки, после чего могут быть окончательно удалены. На странице «Оплата услуг» добавлено, что данные не удаляются без предварительного уведомления по email. Точные сроки уточняйте в поддержке.\n",
    "en": "BLACKBOX servers are paid monthly, in advance. You pay for the first month when you order. For the following months, the team issues a monthly invoice, which you will find in “Contul meu” (My account) → “Facturi” (Invoices) (`blackbox.md/account/invoices`). The general rules are also on the “Plata serviciilor” (Payment for services) page (`https://blackbox.md/info/payment`).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the holder of the blackbox.md account the server was ordered from.\n\n## What the first payment covers\n\nPaying for the order, by card or from your balance, covers one month from the date the server is activated. The activation date is the date of the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…). For example, a server activated on September 21, 2026 is paid up to and including October 20, 2026.\n\nThe invoice for this payment is created automatically: it has the same number as the order (`BBX-YYYY-NNNNNN`) and the status “Achitată” (Paid).\n\n## The invoice for the following months\n\nThe “Plata serviciilor” (Payment for services) page says: “Reînnoirea se face pe bază de factură emisă de echipa noastră.” (Renewal is based on an invoice issued by our team.) In practice:\n\n- the invoice appears in “Facturi” (Invoices) with the status “Trimisă” (Sent), and the date by which you must pay it is in the “Scadență” (Due date) column;\n- its number has the form `BT-xxxxxxxx-YYYYMM`, where `YYYYMM` is the year and month being billed;\n- each server has its own invoice: click “Detalii” (Details), and under “Poziții factură” (Invoice items) you will see the server's original name (or its IP address) and the month, for example “Monthly hosting — bbx-bbx-2026-000023 (2026-11)”;\n- the amount is the server's monthly price from the order or, after an upgrade, the new monthly price;\n- you don't get an automatic email when the invoice is issued, so check the “Facturi” page from time to time.\n\n| Status | What it means | What to do |\n|---|---|---|\n| “Trimisă” (Sent) | The invoice has been issued and is waiting to be paid. | Pay it by the date in “Scadență”. |\n| “Restantă” (Overdue) | The due date has passed and the invoice has not been paid. | Pay it as soon as possible or write to us. |\n| “Achitată” (Paid) | The payment has been recorded. | You don't need to do anything. |\n| “Anulată” (Canceled) | The invoice has been canceled. | It no longer needs to be paid. |\n\nAll columns and number formats: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n## How to pay the monthly invoice\n\nYou can't pay invoices by card on the website. Next to “Trimisă” (Sent) and “Restantă” (Overdue) invoices you will see the text “Plata online — în curând” (Online payment — coming soon): this means the page has no payment button. Choose one of the methods below.\n\n| Method | What you do | When the invoice becomes “Achitată” (Paid) |\n|---|---|---|\n| Automatic payment from your balance (recommended) | Turn on “Reîncărcare automată” (Automatic top-up) on the “Sold” (Balance) page and keep at least the invoice amount in your balance. | Automatically, from the due date. You receive the email “Factură plătită automat din cont — BT-…” (Invoice paid automatically from your account — BT-…). |\n| Bank transfer | Pay from your bank using the bank details of Click Expert S.R.L., and write the invoice number (`BT-…`) in the purpose of payment. See [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar). | Once the team confirms the payment has been received. |\n| Through support | Write to support@blackbox.md and include the invoice number. | As agreed with the team. |\n\n### How to turn on automatic payment\n\n1. Open “Contul meu” (My account) → “Sold” (Balance) (`blackbox.md/account/balance`).\n2. Turn on the “Reîncărcare automată” (Automatic top-up) switch. If you see “Nu am putut actualiza setarea. Încercați din nou.” (We could not update the setting. Please try again.), reload the page and try again.\n3. Compare “Sold curent” (Current balance) with the invoice amount. If your balance is not enough, click “Alimentează soldul” (Top up balance) and top up by card with at least the missing amount ([Topping up your balance](#plati.alimentare-sold)).\n4. The invoice is paid from your balance starting on the due date, and only if your balance covers the full amount. An invoice whose due date has already passed is paid right after your next top-up or at the next periodic check. Turning on the switch alone does not pay it immediately.\n5. The invoice changes to “Achitată” (Paid), the line “Factură BT-…” (Invoice BT-…) appears in “Istoricul operațiunilor” (Transaction history), and you receive the email “Factură plătită automat din cont — BT-…”.\n\n> **Important**\n> The name “Reîncărcare automată” (Automatic top-up) and the text “Încarcă automat soldul la epuizarea fondurilor.” (Automatically tops up the balance when funds run out.) are misleading: the switch does not charge your card and does not top up your balance. It pays invoices that are due only with money that is already in your balance. Details: [Automatic payment of invoices from your balance](#plati.plata-automata).\n\n## A stopped server is still billed\n\nThe “Stop” button in the app.blackbox.md panel only stops the server. A stopped server is still yours and is billed every month, just like a running one.\n\nTo stop the billing, delete the server:\n\n1. Save any data you still need: deletion is irreversible.\n2. In the panel, open “My Servers” and click “Terminate” on the server's card.\n3. Type the text the dialog asks for (the server's original name; the IP address only if the server has no name) and click “Schedule termination”.\n4. The server is deleted after a 24-hour grace period. Until then, you can change your mind with “Cancel termination”.\n\nMonthly billing stops at the moment the server is actually deleted, and you receive the email “Server deleted — SERVER_NAME”. The period that has already started is not refunded (Terms and Conditions, clause 7.4). Full steps: [Permanently deleting a server](#servere.stergere-server). If you want a refund, read [Order cancellation and refunds](#plati.anulare-si-rambursare) before you delete the server.\n\n## After an upgrade\n\nWhen you upgrade, the difference for the remaining days of the current cycle is taken from your balance right away (the “Charged now (prorated)” row in the “Upgrade server” window). The following monthly invoices use the new price, the one shown next to “New monthly price”. Details: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n## If you don't pay on time\n\nThe “Plata serviciilor” (Payment for services) page states: “Neplata la termen poate atrage suspendarea și, ulterior, încetarea serviciului. Nu suspendăm serviciile și nu ștergem date fără să vă notificăm în prealabil prin email.” (Late payment may lead to suspension and, later, termination of the service. We do not suspend services or delete data without notifying you by email first.)\n\nIn practice:\n\n- before we take any action, we write to your account's email address, so make sure the address is correct ([My profile: name, phone number and email](#cont.profil));\n- after the due date, the service may be suspended, and if we receive neither payment nor a reply, it may be terminated permanently;\n- data is not deleted without prior notice;\n- if you are having temporary difficulties, write to us and we will look for a solution together.\n\n> **Tip**\n> If you need different payment terms or want to pay in advance for a longer period, write to support@blackbox.md a few days before your paid period ends. All contacts: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Will my card be charged automatically every month?**\nNo. There are no automatic recurring card charges, and your card details are not stored. Only automatic payment from your balance, if you turn it on, pays invoices, using the money in your balance.\n\n**Can I pay the monthly invoice by card?**\nNot directly. Turn on automatic payment, then top up your balance by card: if the due date has arrived and your balance covers the full amount, the invoice is paid right after the top-up.\n\n**Do I need to place a new order to renew my server?**\nNo. A new order creates a new server. Your existing server is renewed through the monthly invoice.\n\n**I don't see any `BT-…` invoice yet.**\nThe renewal invoice appears in “Facturi” (Invoices) only after the team issues it. If your paid period is about to end and you still don't see the invoice, write to us.\n\n**I have several servers. How are the invoices paid?**\nEach server has its own monthly invoice. Automatic payment pays them one at a time, starting with the oldest due date; an invoice that your balance does not fully cover is skipped.\n\n**The “Scadență” (Due date) column shows “—”.**\nAutomatic payment pays only invoices that have a due date. Write to us and include the invoice number.\n\n**How long is my data kept after a suspension?**\nThe Terms and Conditions state that data is kept for “o perioadă rezonabilă” (a reasonable period) after a suspension, after which it may be permanently deleted. The “Plata serviciilor” (Payment for services) page adds that we do not delete data without notifying you by email first. For exact time frames, contact support.\n"
   }
  },
  {
   "id": "plati.date-facturare",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/date-facturare/",
    "ru": "https://docs.blackbox.md/ru/plati/date-facturare/",
    "en": "https://docs.blackbox.md/en/plati/date-facturare/"
   },
   "title": {
    "ro": "Date de facturare pentru companii și persoane fizice",
    "ru": "Реквизиты для счетов: компании и физлица",
    "en": "Billing details for companies and individuals"
   },
   "summary": {
    "ro": "Cum adăugați datele companiei sau datele personale care apar pe facturi, cum setați profilul implicit și cum îl alegeți la comandă.",
    "ru": "Как добавить реквизиты компании или личные данные для счетов, выбрать профиль по умолчанию и указать его при заказе.",
    "en": "How to add the company or personal details that appear on your invoices, set a default profile and choose it when you order."
   },
   "markdown": {
    "ro": "Pagina „Date de facturare” (`blackbox.md/account/billing-profile`, „Contul meu” → „Date de facturare”) păstrează profilurile de facturare: datele unei companii sau datele dvs. personale. Sub titlu apare textul „Adăugați datele companiei (sau datele personale) pentru a le folosi la plasarea comenzii și pe facturi.” Profilul ales la comandă apare în blocul „Client” al facturii PDF a comenzii.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Fiecare cont are propriile profiluri.\n\n## Cum funcționează\n\n- Un profil are unul din două tipuri: „Persoană juridică” (companie) sau „Persoană fizică”.\n- Puteți salva oricâte profiluri, de exemplu câte unul pentru fiecare companie.\n- Un singur profil poate fi implicit: el este selectat automat la comandă.\n- La fiecare comandă alegeți un profil sau „Fără date de facturare”. Fără profil, factura poartă doar numele și emailul din cont.\n\n## Cum adăugați un profil\n\n1. Apăsați „Cont client” în bara de sus a site-ului (pe telefon, cercul cu inițialele dvs.), apoi „Date de facturare” în meniul din stânga. Pe telefon, meniul se deschide cu butonul „Meniu cont”.\n2. În cardul „Profil nou”, la „Tip”, alegeți „Persoană juridică” (selectat implicit) sau „Persoană fizică”.\n3. Completați „Nume profil”, de exemplu „Compania principală”. Numele vă ajută doar să recunoașteți profilul și nu apare pe factură.\n4. Completați câmpurile tipului ales (tabelele de mai jos).\n5. Dacă vreți ca profilul să fie selectat automat la comandă, bifați „Folosește implicit la checkout”.\n6. Apăsați „Adaugă profil”. Cât timp se salvează, butonul arată „Se adaugă…”.\n\nProfilul apare în lista de sub formular. Cât timp lista este goală, acolo scrie „Nu aveți încă profiluri salvate.”\n\n### Câmpurile pentru „Persoană juridică”\n\n| Câmp | Obligatoriu | Lungime maximă | Apare pe factură |\n|---|---|---|---|\n| „Nume profil” | da | 120 de caractere | nu |\n| „Denumirea companiei” | da | 200 | da |\n| „IDNO / nr. înregistrare” | da | 20 | da, ca „IDNO: …” |\n| „Cod TVA” | nu | 20 | da, ca „Cod TVA: …” |\n| „Bancă” | nu | 200 | nu |\n| „IBAN” | nu | 34 | nu |\n| „Persoană de contact” | nu | 120 | nu |\n| „Telefon” | nu | 40 | nu |\n| „Adresă” | nu | 2000 | da |\n\n### Câmpurile pentru „Persoană fizică”\n\nCând alegeți „Persoană fizică”, câmpurile companiei dispar, iar formularul arată:\n\n| Câmp | Obligatoriu | Lungime maximă | Apare pe factură |\n|---|---|---|---|\n| „Nume profil” | da | 120 de caractere | nu |\n| „Nume și prenume” | nu | 120 | da, dacă diferă de numele din cont |\n| „IDNP (opțional)” | nu | 20 | da, ca „IDNP: …” |\n| „Telefon” | nu | 40 | nu |\n| „Adresă” | nu | 2000 | da |\n\nSub „IDNP (opțional)” scrie „Numărul de identificare personal — 13 cifre. Va apărea pe factură.”\n\n## Regulile pentru IDNO și IDNP\n\nCâmpurile „IDNO / nr. înregistrare” și „IDNP (opțional)” se verifică la salvare:\n\n- un număr format numai din cifre (IDNO-ul unei companii sau IDNP-ul unei persoane din Republica Moldova) trebuie să aibă exact 13 cifre;\n- un număr de înregistrare sau de identificare străin poate avea 6–20 de litere latine și cifre, fără spații, cratime sau alte semne.\n\nLa „Persoană juridică”, „Denumirea companiei” și „IDNO / nr. înregistrare” sunt obligatorii. „Cod TVA” se tipărește pe factură exact cum l-ați scris. Fără „Nume profil”, browserul nu trimite formularul și evidențiază câmpul.\n\nMesajele de eroare apar cu roșu deasupra butoanelor; datele introduse rămân în formular.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Pentru persoană juridică, completați denumirea companiei și IDNO.” | lipsește denumirea companiei sau IDNO | completați ambele câmpuri |\n| un text tehnic în engleză care conține `MD IDNO must be exactly 13 digits` | numărul are numai cifre, dar nu exact 13 | verificați numărul: 13 cifre, fără spații |\n| un text tehnic în engleză care conține `idno must be 6-20 alphanumeric characters` | numărul conține spații, cratime sau alte semne ori are mai puțin de 6 caractere | scrieți numărul doar cu litere latine și cifre |\n| „Nu am putut salva profilul.” | salvarea nu a reușit | apăsați din nou butonul; dacă eroarea se repetă, reîncărcați pagina |\n\n## Profilul implicit\n\nProfilul implicit are eticheta „Implicit” și apare primul în listă. La pasul „Date de facturare” al comenzii, el este deja selectat.\n\n- Ca să faceți implicit alt profil, apăsați „Setează implicit” pe cardul lui. Profilul implicit de până atunci pierde eticheta.\n- Pe cardul profilului implicit, butonul „Setează implicit” nu apare.\n- Ca să nu aveți niciun profil implicit, apăsați „Editează” pe profilul implicit, debifați „Folosește implicit la checkout” și apăsați „Salvează”. La comandă va fi selectat atunci „Fără date de facturare”.\n\n## Cum modificați sau ștergeți un profil\n\nFiecare card din listă arată numele profilului, eticheta „Pers. juridică” sau „Pers. fizică”, eventual „Implicit”, apoi denumirea companiei sau numele persoanei, „IDNO: …” ori „IDNP: …”, „TVA: …” și adresa.\n\n### Modificarea\n\n1. Apăsați „Editează” pe cardul profilului. Formularul din partea de sus a paginii devine „Editează profilul” și se completează cu datele profilului.\n2. Faceți modificările.\n3. Apăsați „Salvează” (în timpul salvării: „Se salvează…”). Butonul „Anulează” renunță la modificări.\n\nDacă schimbați „Tip” din „Persoană juridică” în „Persoană fizică”, la salvare se șterg „Denumirea companiei”, „Cod TVA”, „Bancă” și „IBAN”. Valoarea din „Persoană de contact” trece în „Nume și prenume”, iar numărul din „IDNO / nr. înregistrare” rămâne în câmpul „IDNP (opțional)” și apare pe factură ca „IDNP: …”. Verificați ambele câmpuri înainte de a salva.\n\n### Ștergerea\n\n1. Apăsați „Șterge” pe cardul profilului.\n2. Se deschide fereastra „Ștergeți profilul?” cu mesajul „Ștergeți acest profil? Facturile deja emise nu se modifică.”\n3. Confirmați cu „Șterge” sau renunțați cu „Anulează”.\n\nUn profil șters nu se poate recupera; dacă aveți din nou nevoie de el, adăugați-l încă o dată.\n\n## Cum alegeți profilul la comandă\n\nPe pagina de comandă, pasul „Date de facturare” vine după „Sistem de operare” la planurile VPS și este primul la „VPS hosting” și la serverele dedicate. Pasul afișează textul „Alegeți un profil salvat (companie sau date personale) — va fi folosit pe factură. Puteți omite acest pas.”\n\n1. Alegeți profilul. În listă apare numele profilului, iar la companii și denumirea companiei, după o liniuță. Profilul implicit este deja selectat.\n2. Dacă nu aveți nevoie de date pe factură, alegeți „Fără date de facturare”.\n3. Apăsați „Continuă” sau, fără profil, „Continuă fără date de facturare”.\n\nLinkul „Gestionează datele de facturare →” deschide pagina „Date de facturare” într-o filă nouă. Un profil adăugat acolo apare în pasul de comandă doar după ce reîncărcați pagina de comandă. Restul pașilor: [Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda).\n\n> **Important**\n> Adăugați profilul înainte de a comanda. După ce comanda este creată, profilul ei nu mai poate fi adăugat sau schimbat din cont. Comenzile plasate prin asistentul AI (MCP) se creează fără date de facturare.\n\n## Ce apare pe factură\n\nDupă confirmarea plății primiți emailul „Plată confirmată — BBX-…” cu factura atașată, `factura-BBX-….pdf`. Factura este în limba română. Blocul „Client” conține, în ordine:\n\n1. numele și emailul din comandă (cele din profilul contului la momentul comenzii);\n2. la persoană juridică: denumirea companiei, „IDNO: …” și „Cod TVA: …”;\n3. la persoană fizică: „Nume și prenume” (dacă diferă de numele din cont) și „IDNP: …”;\n4. adresa.\n\nCâmpurile goale nu se tipăresc. „Bancă”, „IBAN”, „Persoană de contact”, „Telefon” și „Nume profil” rămân doar în profil și nu apar pe factură.\n\nStatusurile și numerele facturilor: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n> **Atenție**\n> Datele se iau din profil în momentul în care se generează PDF-ul, adică la confirmarea plății. Dacă modificați profilul între plasarea comenzii și plată, factura poartă datele noi; dacă îl ștergeți, factura iese fără datele companiei. PDF-urile deja trimise nu se mai schimbă.\n\n## Întrebări frecvente\n\n**Am plasat comanda fără profil. Pot adăuga datele companiei pe factură?**\nNu din cont. Dacă comanda nu este achitată, o puteți anula cu „Anulează comanda” și plasa din nou, alegând profilul. Dacă este achitată, scrieți la support@blackbox.md și indicați numărul comenzii. Vedeți [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**Datele companiei apar și pe facturile lunare?**\nNu. Profilul se leagă doar de comanda în care l-ați ales și de factura acelei comenzi (`BBX-…`). Dacă aveți nevoie de datele companiei pe alte facturi, de exemplu pe cele lunare de reînnoire, scrieți la support@blackbox.md cu numărul facturii și datele de facturare. Vedeți [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n\n**Cum schimb numele și emailul din blocul „Client”?**\nNumele se modifică în „Contul meu” → „Profil” și se aplică comenzilor noi: [Profilul meu: nume, telefon și email](#cont.profil). Emailul contului se schimbă numai prin suport.\n",
    "ru": "Страница «Реквизиты для выставления счетов» (`blackbox.md/ru/account/billing-profile`, «Мой аккаунт» → «Реквизиты») хранит профили с реквизитами компании или с вашими личными данными. Под заголовком написано: «Добавьте реквизиты компании (или личные данные), чтобы использовать их при оформлении заказа и в счетах.» Профиль, выбранный при заказе, попадает в блок «Client» PDF-счёта по этому заказу.\n\n**Доступно:** любому клиенту, вошедшему в аккаунт на blackbox.md. У каждого аккаунта свои профили.\n\n## Как это устроено\n\n- Профиль бывает двух типов: «Юридическое лицо» (компания) или «Физическое лицо».\n- Профилей может быть сколько угодно — например, по одному на каждую компанию.\n- Профиль по умолчанию может быть только один: при заказе он выбирается автоматически.\n- При каждом заказе вы выбираете профиль или вариант «Без реквизитов». Без профиля в счёте будут только имя и email из аккаунта.\n\n## Как добавить профиль\n\n1. Нажмите «Личный кабинет» в верхней панели сайта (на телефоне — кружок с вашими инициалами), затем «Реквизиты» в меню слева. На телефоне меню открывается кнопкой «Меню аккаунта».\n2. В карточке «Новый профиль» в поле «Тип» выберите «Юридическое лицо» (выбрано по умолчанию) или «Физическое лицо».\n3. Заполните «Название профиля», например «Основная компания». Название нужно только вам, чтобы различать профили; в счёт оно не попадает.\n4. Заполните поля выбранного типа (см. таблицы ниже).\n5. Чтобы профиль выбирался при заказе автоматически, отметьте «Использовать по умолчанию при оформлении заказа».\n6. Нажмите «Добавить профиль». Пока профиль сохраняется, на кнопке написано «Добавление…».\n\nПрофиль появится в списке под формой. Пока список пуст, там написано «У вас пока нет сохранённых реквизитов.»\n\n### Поля для юридического лица\n\n| Поле | Обязательное | Максимальная длина | В счёте |\n|---|---|---|---|\n| «Название профиля» | да | 120 символов | нет |\n| «Название компании» | да | 200 | да |\n| «IDNO / рег. номер» | да | 20 | да, как «IDNO: …» |\n| «Код НДС» | нет | 20 | да, как «Cod TVA: …» |\n| «Банк» | нет | 200 | нет |\n| «IBAN» | нет | 34 | нет |\n| «Контактное лицо» | нет | 120 | нет |\n| «Телефон» | нет | 40 | нет |\n| «Адрес» | нет | 2000 | да |\n\n### Поля для физического лица\n\nЕсли выбрать «Физическое лицо», поля компании скрываются, и в форме остаются:\n\n| Поле | Обязательное | Максимальная длина | В счёте |\n|---|---|---|---|\n| «Название профиля» | да | 120 символов | нет |\n| «ФИО» | нет | 120 | да, если отличается от имени в аккаунте |\n| «IDNP (необязательно)» | нет | 20 | да, как «IDNP: …» |\n| «Телефон» | нет | 40 | нет |\n| «Адрес» | нет | 2000 | да |\n\nПод полем «IDNP (необязательно)» написано: «Личный идентификационный номер — 13 цифр. Будет указан в счёте.»\n\n## Правила для IDNO и IDNP\n\nПоля «IDNO / рег. номер» и «IDNP (необязательно)» проверяются при сохранении:\n\n- номер только из цифр (молдавский IDNO компании или IDNP физического лица) должен содержать ровно 13 цифр;\n- иностранный регистрационный или идентификационный номер может состоять из 6–20 латинских букв и цифр, без пробелов, дефисов и других знаков.\n\nДля юридического лица поля «Название компании» и «IDNO / рег. номер» обязательны. «Код НДС» печатается в счёте точно так, как вы его ввели. Если поле «Название профиля» не заполнено, браузер не отправит форму и подсветит его.\n\nСообщения об ошибках появляются красным над кнопками; введённые данные остаются в форме.\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Для юридического лица укажите название компании и IDNO.» | не заполнено название компании или IDNO | заполните оба поля |\n| технический текст на английском с фразой `MD IDNO must be exactly 13 digits` | номер состоит только из цифр, но их не 13 | проверьте номер: 13 цифр без пробелов |\n| технический текст на английском с фразой `idno must be 6-20 alphanumeric characters` | в номере есть пробелы, дефисы или другие знаки либо он короче 6 символов | введите номер только латинскими буквами и цифрами |\n| «Не удалось сохранить профиль.» | сохранить не удалось | нажмите кнопку ещё раз; если ошибка повторяется, обновите страницу |\n\n## Профиль по умолчанию\n\nУ профиля по умолчанию есть метка «По умолчанию», и он стоит в списке первым. На шаге «Реквизиты для счёта» при заказе он уже выбран.\n\n- Чтобы профилем по умолчанию стал другой, нажмите «Сделать по умолчанию» на его карточке. Прежний профиль по умолчанию потеряет метку.\n- На карточке профиля по умолчанию кнопки «Сделать по умолчанию» нет.\n- Чтобы профиля по умолчанию не было совсем, нажмите «Изменить» на профиле по умолчанию, снимите отметку «Использовать по умолчанию при оформлении заказа» и нажмите «Сохранить». Тогда при заказе будет выбран вариант «Без реквизитов».\n\n## Как изменить или удалить профиль\n\nНа каждой карточке в списке видны название профиля, метка «Юр. лицо» или «Физ. лицо», при необходимости «По умолчанию», а также название компании или ФИО, «IDNO: …» или «IDNP: …», «НДС: …» и адрес.\n\n### Изменение\n\n1. Нажмите «Изменить» на карточке профиля. Форма вверху страницы получит заголовок «Редактировать профиль» и заполнится данными профиля.\n2. Внесите изменения.\n3. Нажмите «Сохранить» (во время сохранения — «Сохранение…»). Кнопка «Отмена» отменяет изменения.\n\nЕсли сменить «Тип» с «Юридическое лицо» на «Физическое лицо», при сохранении удаляются «Название компании», «Код НДС», «Банк» и «IBAN». Значение из поля «Контактное лицо» переходит в поле «ФИО», а номер из «IDNO / рег. номер» остаётся в поле «IDNP (необязательно)» и попадёт в счёт как «IDNP: …». Проверьте оба поля перед сохранением.\n\n### Удаление\n\n1. Нажмите «Удалить» на карточке профиля.\n2. Откроется окно «Удалить профиль?» с текстом «Удалить этот профиль? Уже выставленные счета не изменятся.»\n3. Подтвердите кнопкой «Удалить» или нажмите «Отмена».\n\nУдалённый профиль восстановить нельзя; если он снова понадобится, добавьте его заново.\n\n## Как выбрать профиль при заказе\n\nУ тарифов VPS шаг «Реквизиты для счёта» идёт после шага «Операционная система», а у «VPS hosting» и выделенных серверов он первый. На шаге написано: «Выберите сохранённый профиль (компания или личные данные) — он будет указан в счёте. Можно пропустить.»\n\n1. Выберите профиль. В списке показано название профиля, а у компаний — ещё и название компании через тире. Профиль по умолчанию уже выбран.\n2. Если реквизиты в счёте не нужны, выберите «Без реквизитов».\n3. Нажмите «Продолжить» или, если профиль не выбран, «Продолжить без реквизитов».\n\nСсылка «Управлять реквизитами →» открывает раздел «Реквизиты» в новой вкладке. Добавленный там профиль появится на шаге заказа только после того, как вы обновите страницу заказа. Остальные шаги: [Оформление заказа по шагам](#comenzi.plasare-comanda).\n\n> **Важно**\n> Добавьте профиль до оформления заказа. Когда заказ уже создан, профиль к нему нельзя ни добавить, ни заменить из аккаунта. Заказы, оформленные через AI-ассистента (MCP), создаются без реквизитов.\n\n## Что указывается в счёте\n\nПосле подтверждения оплаты приходит письмо с темой «Plată confirmată — BBX-…» (тема всегда на румынском) и вложением `factura-BBX-….pdf`. Сам счёт составлен на румынском языке. В блоке «Client» по порядку указаны:\n\n1. имя и email из заказа (те, что были в профиле аккаунта на момент заказа);\n2. у юридического лица — название компании, «IDNO: …» и «Cod TVA: …»;\n3. у физического лица — ФИО (если оно отличается от имени в аккаунте) и «IDNP: …»;\n4. адрес.\n\nПустые поля не печатаются. «Банк», «IBAN», «Контактное лицо», «Телефон» и «Название профиля» хранятся только в профиле и в счёт не попадают.\n\nСтатусы и номера счетов: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n> **Внимание**\n> Данные берутся из профиля в момент создания PDF, то есть при подтверждении оплаты. Если изменить профиль между оформлением заказа и оплатой, в счёте будут новые данные; если удалить его, счёт выйдет без реквизитов компании. Уже отправленные PDF не меняются.\n\n## Частые вопросы\n\n**Заказ оформлен без профиля. Можно ли добавить реквизиты в счёт?**\nИз аккаунта — нет. Если заказ ещё не оплачен, отмените его кнопкой «Отменить заказ» и оформите заново, выбрав профиль. Если оплачен, напишите на support@blackbox.md и укажите номер заказа. См. [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Попадут ли реквизиты в ежемесячные счета?**\nНет. Профиль привязывается только к заказу, в котором вы его выбрали, и к счёту этого заказа (`BBX-…`). Если реквизиты нужны в других счетах, например в ежемесячных счетах за продление, напишите на support@blackbox.md, указав номер счёта и реквизиты. См. [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n\n**Как изменить имя и email в блоке «Client»?**\nИмя меняется в разделе «Мой аккаунт» → «Профиль» и действует для новых заказов: [Мой профиль: имя, телефон и email](#cont.profil). Email аккаунта меняется только через поддержку.\n",
    "en": "The “Date de facturare” (Billing details) page (`blackbox.md/account/billing-profile`, “Contul meu” (My account) → “Date de facturare”) stores your billing profiles: a company's details or your personal details. Under the title you see the text “Adăugați datele companiei (sau datele personale) pentru a le folosi la plasarea comenzii și pe facturi.” (Add your company details (or personal details) to use them when you place an order and on invoices.) The profile you choose when you order appears in the “Client” block of that order's PDF invoice.\n\n**Available to:** any customer signed in to blackbox.md. Each account has its own profiles.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How it works\n\n- A profile has one of two types: “Persoană juridică” (Legal entity), meaning a company, or “Persoană fizică” (Individual).\n- You can save as many profiles as you like, for example one for each company.\n- Only one profile can be the default: it is selected automatically when you order.\n- For each order, you choose a profile or “Fără date de facturare” (No billing details). Without a profile, the invoice shows only the name and email from your account.\n\n## How to add a profile\n\n1. Click “Cont client” (Customer account) in the top bar of the website (on a phone, tap the circle with your initials), then “Date de facturare” (Billing details) in the menu on the left. On a phone, open the menu with the “Meniu cont” (Account menu) button.\n2. In the “Profil nou” (New profile) card, under “Tip” (Type), choose “Persoană juridică” (Legal entity; selected by default) or “Persoană fizică” (Individual).\n3. Fill in “Nume profil” (Profile name), for example “Main company”. The name only helps you recognize the profile and does not appear on the invoice.\n4. Fill in the fields for the type you chose (see the tables below).\n5. If you want the profile to be selected automatically when you order, tick “Folosește implicit la checkout” (Use as default at checkout).\n6. Click “Adaugă profil” (Add profile). While the profile is being saved, the button shows “Se adaugă…” (Adding…).\n\nThe profile appears in the list below the form. As long as the list is empty, it reads “Nu aveți încă profiluri salvate.” (You have no saved profiles yet.)\n\n### Fields for “Persoană juridică” (Legal entity)\n\n| Field | Required | Maximum length | Appears on the invoice |\n|---|---|---|---|\n| “Nume profil” (Profile name) | yes | 120 characters | no |\n| “Denumirea companiei” (Company name) | yes | 200 | yes |\n| “IDNO / nr. înregistrare” (IDNO / registration no.) | yes | 20 | yes, as “IDNO: …” |\n| “Cod TVA” (VAT code) | no | 20 | yes, as “Cod TVA: …” (VAT code: …) |\n| “Bancă” (Bank) | no | 200 | no |\n| “IBAN” | no | 34 | no |\n| “Persoană de contact” (Contact person) | no | 120 | no |\n| “Telefon” (Phone) | no | 40 | no |\n| “Adresă” (Address) | no | 2000 | yes |\n\n### Fields for “Persoană fizică” (Individual)\n\nWhen you choose “Persoană fizică”, the company fields disappear and the form shows:\n\n| Field | Required | Maximum length | Appears on the invoice |\n|---|---|---|---|\n| “Nume profil” (Profile name) | yes | 120 characters | no |\n| “Nume și prenume” (Full name) | no | 120 | yes, if it differs from the name in your account |\n| “IDNP (opțional)” (IDNP (optional)) | no | 20 | yes, as “IDNP: …” |\n| “Telefon” (Phone) | no | 40 | no |\n| “Adresă” (Address) | no | 2000 | yes |\n\nUnder “IDNP (opțional)” it reads “Numărul de identificare personal — 13 cifre. Va apărea pe factură.” (Personal identification number, 13 digits. It will appear on the invoice.)\n\n## Rules for IDNO and IDNP\n\nThe “IDNO / nr. înregistrare” (IDNO / registration no.) and “IDNP (opțional)” (IDNP (optional)) fields are checked when you save:\n\n- a number made up only of digits (a company's IDNO or a person's IDNP from the Republic of Moldova) must have exactly 13 digits;\n- a foreign registration or identification number can have 6–20 Latin letters and digits, with no spaces, hyphens or other characters.\n\nFor a “Persoană juridică” (Legal entity), “Denumirea companiei” (Company name) and “IDNO / nr. înregistrare” are required. “Cod TVA” (VAT code) is printed on the invoice exactly as you typed it. If “Nume profil” (Profile name) is empty, your browser does not submit the form and highlights the field.\n\nError messages appear in red above the buttons; the details you entered stay in the form.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Pentru persoană juridică, completați denumirea companiei și IDNO.” (For a legal entity, fill in the company name and IDNO.) | the company name or the IDNO is missing | fill in both fields |\n| a technical message in English that contains `MD IDNO must be exactly 13 digits` | the number has only digits, but not exactly 13 | check the number: 13 digits, no spaces |\n| a technical message in English that contains `idno must be 6-20 alphanumeric characters` | the number contains spaces, hyphens or other characters, or is shorter than 6 characters | type the number using only Latin letters and digits |\n| “Nu am putut salva profilul.” (We could not save the profile.) | saving failed | click the button again; if the error repeats, reload the page |\n\n## The default profile\n\nThe default profile has the “Implicit” (Default) badge and appears first in the list. At the “Date de facturare” (Billing details) step of the order, it is already selected.\n\n- To make another profile the default, click “Setează implicit” (Set as default) on its card. The previous default profile loses the badge.\n- The “Setează implicit” button does not appear on the default profile's card.\n- To have no default profile at all, click “Editează” (Edit) on the default profile, untick “Folosește implicit la checkout” (Use as default at checkout) and click “Salvează” (Save). When you order, “Fără date de facturare” (No billing details) is then selected.\n\n## How to edit or delete a profile\n\nEach card in the list shows the profile name, the “Pers. juridică” (Legal entity) or “Pers. fizică” (Individual) badge, “Implicit” (Default) where it applies, then the company name or the person's name, “IDNO: …” or “IDNP: …”, “TVA: …” (VAT: …) and the address.\n\n### Editing\n\n1. Click “Editează” (Edit) on the profile's card. The form at the top of the page changes to “Editează profilul” (Edit profile) and is filled in with the profile's details.\n2. Make your changes.\n3. Click “Salvează” (Save) (while saving, it shows “Se salvează…” (Saving…)). The “Anulează” (Cancel) button discards your changes.\n\nIf you change “Tip” (Type) from “Persoană juridică” (Legal entity) to “Persoană fizică” (Individual), saving deletes “Denumirea companiei” (Company name), “Cod TVA” (VAT code), “Bancă” (Bank) and “IBAN”. The value in “Persoană de contact” (Contact person) moves to “Nume și prenume” (Full name), and the number in “IDNO / nr. înregistrare” (IDNO / registration no.) stays in the “IDNP (opțional)” (IDNP (optional)) field and appears on the invoice as “IDNP: …”. Check both fields before you save.\n\n### Deleting\n\n1. Click “Șterge” (Delete) on the profile's card.\n2. The “Ștergeți profilul?” (Delete the profile?) window opens with the message “Ștergeți acest profil? Facturile deja emise nu se modifică.” (Delete this profile? Invoices that have already been issued will not change.)\n3. Confirm with “Șterge” or cancel with “Anulează” (Cancel).\n\nA deleted profile cannot be recovered; if you need it again, add it again.\n\n## How to choose the profile when you order\n\nOn the order page, the “Date de facturare” (Billing details) step comes after “Sistem de operare” (Operating system) for VPS plans and is the first step for “VPS hosting” and dedicated servers. The step shows the text “Alegeți un profil salvat (companie sau date personale) — va fi folosit pe factură. Puteți omite acest pas.” (Choose a saved profile (company or personal details); it will be used on the invoice. You can skip this step.)\n\n1. Choose the profile. The list shows the profile name and, for companies, also the company name after a dash. The default profile is already selected.\n2. If you don't need any details on the invoice, choose “Fără date de facturare” (No billing details).\n3. Click “Continuă” (Continue) or, if you chose no profile, “Continuă fără date de facturare” (Continue without billing details).\n\nThe “Gestionează datele de facturare →” (Manage billing details →) link opens the “Date de facturare” page in a new tab. A profile you add there appears in the order step only after you reload the order page. The other steps: [Placing an order step by step](#comenzi.plasare-comanda).\n\n> **Important**\n> Add the profile before you order. Once the order has been created, you can no longer add or change its profile from your account. Orders placed through an AI assistant (MCP) are created without billing details.\n\n## What appears on the invoice\n\nAfter your payment is confirmed, you receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) with the invoice attached, `factura-BBX-….pdf`. The invoice is in Romanian. Its “Client” block contains, in this order:\n\n1. the name and email from the order (those in your account profile at the time of the order);\n2. for a legal entity: the company name, “IDNO: …” and “Cod TVA: …” (VAT code: …);\n3. for an individual: the “Nume și prenume” (Full name) value (if it differs from the name in your account) and “IDNP: …”;\n4. the address.\n\nEmpty fields are not printed. “Bancă” (Bank), “IBAN”, “Persoană de contact” (Contact person), “Telefon” (Phone) and “Nume profil” (Profile name) stay only in the profile and do not appear on the invoice.\n\nInvoice statuses and numbers: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n> **Warning**\n> The details are taken from the profile when the PDF is generated, that is, when the payment is confirmed. If you change the profile between placing the order and paying, the invoice shows the new details; if you delete it, the invoice is issued without the company details. PDFs that have already been sent do not change.\n\n## Frequently asked questions\n\n**I placed my order without a profile. Can I add the company details to the invoice?**\nNot from your account. If the order has not been paid, you can cancel it with “Anulează comanda” (Cancel the order) and place it again, choosing the profile. If it has been paid, write to support@blackbox.md and include the order number. See [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**Do the company details also appear on monthly invoices?**\nNo. The profile is linked only to the order in which you chose it and to that order's invoice (`BBX-…`). If you need the company details on other invoices, for example the monthly renewal invoices, write to support@blackbox.md with the invoice number and your billing details. See [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n\n**How do I change the name and email in the “Client” block?**\nYou change the name in “Contul meu” (My account) → “Profil” (Profile), and the change applies to new orders: [My profile: name, phone number and email](#cont.profil). The account email can be changed only through support.\n"
   }
  },
  {
   "id": "plati.anulare-si-rambursare",
   "section": "plati",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/plati/anulare-si-rambursare/",
    "ru": "https://docs.blackbox.md/ru/plati/anulare-si-rambursare/",
    "en": "https://docs.blackbox.md/en/plati/anulare-si-rambursare/"
   },
   "title": {
    "ro": "Anularea comenzii și rambursări",
    "ru": "Отмена заказа и возврат средств",
    "en": "Order cancellation and refunds"
   },
   "summary": {
    "ro": "Când puteți anula singur o comandă, cât vi se returnează în sold și cum cereți rambursarea pe card.",
    "ru": "Когда можно самостоятельно отменить заказ, сколько вернётся на баланс и как запросить возврат на карту.",
    "en": "When you can cancel an order yourself, how much is returned to your balance, and how to request a refund to your card."
   },
   "markdown": {
    "ro": "Puteți anula singur o comandă pe pagina „Comenzile mele” (`blackbox.md/account/orders`, „Contul meu” → „Comenzi”), cu butonul „Anulează comanda”. Suma returnată ajunge în soldul BLACKBOX. Rambursarea pe card se cere prin suport.\n\n**Disponibil pentru:** titularul contului blackbox.md în care a fost plasată comanda.\n\n> **Notă**\n> Înainte să confirmați, dialogul de anulare arată suma care se returnează în sold. Suma se calculează din nou în momentul confirmării, iar suma returnată efectiv apare în mesajul de după anulare. Dacă aveți întrebări despre sumă, scrieți-ne înainte de confirmare.\n\n## Când puteți anula și cât primiți înapoi\n\nButonul „Anulează comanda” apare numai la comenzile care pot fi anulate în acel moment. Statusurile sunt explicate în [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n| Situația comenzii | Butonul | Ce se returnează în sold |\n|---|---|---|\n| „Nou” (neachitată) | apare | Nimic: nu ați plătit nimic. |\n| „În lucru”, serverul nu a fost încă creat | apare | Toată suma achitată, imediat. |\n| „În lucru”, crearea serverului a eșuat | apare | Toată suma achitată, imediat. |\n| „În lucru”, serverul se creează chiar acum | nu apare | Reveniți peste câteva minute. |\n| „În lucru”, serverul este activ de cel mult 24 de ore | apare | Toată suma achitată. Serverul se șterge. |\n| „În lucru”, serverul este activ de mai mult de 24 de ore | apare | O parte din sumă, după zilele folosite. Suma exactă apare în dialog. Serverul se șterge. |\n| „În lucru”, cele 30 de zile de la activare s-au consumat | apare | Nimic. Serverul se șterge. |\n| „Finalizat” sau „Anulat” | nu apare | — |\n| Serverul a fost șters din panou cu „Șterge definitiv” | nu apare | Nimic: ștergerea din panou nu se rambursează. |\n\nCele 24 de ore se socotesc de la activare, adică de la crearea serverului, când primiți emailul „Serverul dvs. este gata — BBX-…”.\n\nMesajele din dialog:\n\n| Situația | Ce scrie în dialog |\n|---|---|\n| Comanda are server | Mai întâi: „Serverul asociat (IP_SERVER) va fi șters definitiv, împreună cu toate datele de pe el.” |\n| Rambursare integrală | „SUMA MDL vor fi returnați în contul dvs. BLACKBOX.” |\n| Rambursare parțială | „SUMA MDL vor fi returnați (proporțional: N zile utilizate din 30).” |\n| Fără rambursare | „Pentru această comandă nu se mai efectuează nicio returnare.” |\n\n„Contul dvs. BLACKBOX” din aceste mesaje înseamnă soldul (pagina „Sold”).\n\n## Cum anulați o comandă\n\n1. Deschideți „Contul meu” → „Comenzi”.\n2. În rândul comenzii, apăsați „Anulează comanda” (pictograma cerc cu X). Pe telefon, deschideți meniul cu trei puncte (⋮) și alegeți „Anulează comanda”.\n3. Se deschide dialogul „Anulați comanda?”, marcat cu roșu. Citiți mesajul: avertizarea despre server, dacă există, și suma care se returnează. Sub mesaj apare rândul comenzii: „BBX-… · descriere · total MDL”.\n4. Apăsați „Da, anulează”. Ca să renunțați, apăsați „Nu, păstrează”.\n5. Apare mesajul „Comanda a fost anulată.” sau „Comanda a fost anulată. SUMA MDL au fost returnați în contul dvs. BLACKBOX.” Dacă s-a șters un server, se adaugă „Serverul a fost șters.”\n\nDupă anulare:\n\n- comanda trece în statusul „Anulat”;\n- dacă s-a returnat o sumă, în „Sold”, la „Istoricul operațiunilor”, apare „Rambursare comandă BBX-…” cu semnul „+”;\n- primiți emailul „Comandă anulată — BBX-…”. Dacă s-a returnat o sumă, emailul arată și „Sumă rambursată” și „Sold curent”, fără zecimale;\n- la o rambursare integrală, factura comenzii (cu același număr `BBX-…`) devine „Anulată” în „Facturi”. În celelalte cazuri, factura rămâne „Achitată”.\n\n> **Ireversibil**\n> Anularea unei comenzi cu server șterge serverul și toate datele de pe el imediat, la confirmare. Spre deosebire de ștergerea din panou, nu există perioadă de grație și nu puteți opri ștergerea. Copiați datele înainte: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Serverul este încă în curs de creare — încercați din nou în câteva minute.” | Serverul se creează chiar acum, iar în acest timp comanda nu se poate anula. | Reveniți peste câteva minute și reîncărcați pagina. |\n| „Ștergerea serverului a eșuat, nimic nu s-a schimbat — încercați din nou.” | Serverul nu a putut fi șters. Comanda și soldul au rămas la fel. | Încercați din nou. Dacă mesajul se repetă, scrieți-ne. |\n| „Serviciul de infrastructură este temporar indisponibil — încercați din nou mai târziu.” | Serverul nu poate fi șters acum. Nu s-a schimbat nimic. | Încercați mai târziu. |\n| „Starea comenzii s-a schimbat între timp — reîncărcați pagina și încercați din nou.” | Comanda s-a schimbat de când ați deschis pagina. | Reîncărcați pagina și reluați pașii. |\n| „Serverul a fost deja șters.” | Serverul acestei comenzi a fost deja șters. | Reîncărcați pagina. Comanda nu mai poate fi anulată. |\n| „Această comandă nu mai poate fi anulată.” | Comanda nu mai îndeplinește condițiile de anulare. | Reîncărcați pagina și verificați statusul. |\n| `not_cancellable` | Comanda are deja statusul „Anulat” sau „Finalizat”. De exemplu, ați anulat-o în altă fereastră sau serverul a fost șters din panou. | Reîncărcați pagina și verificați statusul. |\n| „Too many requests” | Ați depășit limita: 10 încercări de anulare pe minut, iar la comenzile cu server sau cu crearea eșuată, 3 încercări în 5 minute. | Așteptați câteva minute. |\n| „Anularea comenzii a eșuat.” sau alt cod tehnic | Altă eroare. | Reîncărcați pagina. Dacă se repetă, scrieți-ne cu numărul comenzii. |\n\n> **Important**\n> Dacă apare „Nu am putut calcula suma de returnare. Continuați cu prudență.”, dialogul nu mai arată suma exactă și nici avertizarea despre server, ci doar un text general: „Suma achitată va fi returnată în contul dvs. BLACKBOX. Acțiunea nu poate fi anulată.” sau „Comanda nu a fost achitată, deci nu se efectuează nicio returnare. Acțiunea nu poate fi anulată.” Apăsați „Nu, păstrează”, reîncărcați pagina și încercați din nou, ca să vedeți suma reală înainte de a confirma.\n\n## Rambursarea pe card\n\nAnularea returnează banii numai în sold, niciodată automat pe card. Din sold puteți plăti alte comenzi și facturi: vedeți [Soldul contului: cum funcționează](#plati.sold). Dacă vreți banii pe card:\n\n1. Scrieți la support@blackbox.md.\n2. Indicați adresa de email a contului, numărul comenzii (`BBX-…`) sau al facturii, metoda de plată folosită și motivul cererii.\n3. Vă confirmăm primirea cererii și vă comunicăm decizia prin email.\n4. După aprobare, banii revin prin Paynet pe același card, de regulă în 5–10 zile lucrătoare. Termenul depinde de banca emitentă a cardului.\n\nTot așa cereți returnarea unei plăți duble sau a unei plăți făcute pentru o comandă deja anulată: vedeți [Plata cu cardul (Paynet)](#plati.plata-cu-cardul).\n\n## Ce nu se rambursează\n\nÎn afara sumei afișate în dialogul „Anulați comanda?”, Termenii și condițiile (punctul 7.4) nu dau dreptul la rambursare pentru:\n\n- ștergerea unui server de către dvs. înainte de sfârșitul perioadei plătite, de exemplu cu „Șterge definitiv” din panou;\n- perioada rămasă neutilizată dintr-un ciclu de facturare deja început;\n- înregistrările și reînnoirile de domenii deja efectuate la registru.\n\nTextul complet este în secțiunea 7 „Politica de retur” din `https://blackbox.md/info/terms`. Rezumatul: [Termenii și condițiile pe scurt](#legal.termeni-esentiali).\n\n## „Anulează comanda” sau „Șterge definitiv”?\n\n| | „Anulează comanda” | „Șterge definitiv” |\n|---|---|---|\n| Unde | blackbox.md: „Contul meu” → „Comenzi” | panoul app.blackbox.md: „Serverele mele”, pe cardul serverului |\n| Rambursare în sold | Da, suma din dialog | Nu |\n| Când se șterge serverul | Imediat, la confirmare | După o perioadă de grație de 24 de ore |\n| Vă puteți răzgândi | Nu | Da, cu „Anulează ștergerea”, până la executare |\n| Confirmare | „Da, anulează” | Tastați numele afișat în fereastră, apoi „Programează ștergerea” |\n| Statusul comenzii | „Anulat” | „Anulat”, după executare |\n| Factura comenzii | „Anulată” la rambursare integrală | Rămâne „Achitată” |\n| Email | „Comandă anulată — BBX-…” | „Server termination scheduled — …” și „Server deleted — …” (în engleză) |\n\nCând folosiți fiecare:\n\n- „Anulează comanda”: nu mai aveți nevoie de server și vreți înapoi în sold suma rambursabilă, mai ales în primele 24 de ore de la activare.\n- „Șterge definitiv”: nu se mai returnează nimic (de exemplu, s-au consumat cele 30 de zile de la activare) și vreți 24 de ore în care să vă puteți răzgândi. Pașii: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n## Întrebări frecvente\n\n**Am anulat din greșeală. Pot reveni?**\nNu. Anularea nu se poate întoarce, iar un server șters nu poate fi recuperat. Pentru un server nou, plasați o comandă nouă; o puteți plăti din suma returnată în sold.\n\n**De ce suma din email diferă puțin de cea din dialog?**\nÎn email sumele apar fără zecimale. Suma exactă este cea din dialog și din „Istoricul operațiunilor” de pe pagina „Sold”.\n\n**Pot anula o comandă prin asistentul AI?**\nDa. Asistentul cere întâi aceeași previzualizare (suma și dacă se șterge serverul) și este instruit să anuleze comanda numai după ce confirmați. Vedeți [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Vreau să renunț la toate serviciile. În ce ordine procedez?**\nÎntâi anulați comenzile sau ștergeți serverele, apoi folosiți soldul sau cereți rambursarea lui. Vedeți [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n",
    "ru": "Заказ можно отменить самостоятельно на странице «Мои заказы» (`blackbox.md/ru/account/orders`, «Мой аккаунт» → «Заказы») кнопкой «Отменить заказ». Возвращённая сумма зачисляется на баланс BLACKBOX. Возврат на карту оформляется через поддержку.\n\n**Доступно:** владельцу аккаунта blackbox.md, в котором оформлен заказ.\n\n> **Примечание**\n> Перед подтверждением окно отмены показывает сумму, которая вернётся на баланс. В момент подтверждения сумма рассчитывается заново, а фактически возвращённая сумма появляется в сообщении после отмены. Если сумма вызывает вопросы, напишите нам до того, как подтвердите отмену.\n\n## Когда можно отменить заказ и сколько вернётся\n\nКнопка «Отменить заказ» видна только у заказов, которые можно отменить прямо сейчас. Статусы заказов описаны в статье [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n| Ситуация с заказом | Кнопка | Что вернётся на баланс |\n|---|---|---|\n| «Новый» (не оплачен) | есть | Ничего: оплаты не было. |\n| «В работе», сервер ещё не создан | есть | Вся оплаченная сумма, сразу. |\n| «В работе», создать сервер не удалось | есть | Вся оплаченная сумма, сразу. |\n| «В работе», сервер создаётся прямо сейчас | нет | Вернитесь через несколько минут. |\n| «В работе», сервер работает не больше 24 часов | есть | Вся оплаченная сумма. Сервер удаляется. |\n| «В работе», сервер работает больше 24 часов | есть | Часть суммы в зависимости от использованных дней. Точная сумма показана в окне отмены. Сервер удаляется. |\n| «В работе», 30 дней с момента активации уже израсходованы | есть | Ничего. Сервер удаляется. |\n| «Завершён» или «Отменён» | нет | — |\n| Сервер удалён в панели кнопкой «Удалить» | нет | Ничего: удаление в панели не возмещается. |\n\n24 часа отсчитываются с момента активации, то есть создания сервера: тогда же приходит письмо с темой «Serverul dvs. este gata — BBX-…».\n\nЧто пишется в окне отмены:\n\n| Ситуация | Текст в окне |\n|---|---|\n| У заказа есть сервер | Сначала: «Связанный сервер (IP_СЕРВЕРА) будет удалён навсегда вместе со всеми данными.» |\n| Полный возврат | «СУММА MDL будут возвращены на ваш счёт BLACKBOX.» |\n| Частичный возврат | «СУММА MDL будут возвращены (пропорционально: использовано N дней из 30).» |\n| Без возврата | «По этому заказу возврат средств не производится.» |\n\nСлова «ваш счёт BLACKBOX» в этих сообщениях означают ваш баланс (страница «Баланс»).\n\n## Как отменить заказ\n\n1. Откройте «Мой аккаунт» → «Заказы».\n2. В строке заказа нажмите «Отменить заказ» (значок — круг с крестиком). На телефоне откройте меню с тремя точками (⋮) и выберите «Отменить заказ».\n3. Откроется окно «Отменить заказ?», выделенное красным. Прочитайте сообщение: предупреждение о сервере, если он есть, и сумму возврата. Под сообщением показана строка заказа: «BBX-… · описание · сумма MDL».\n4. Нажмите «Да, отменить». Чтобы передумать, нажмите «Нет, оставить».\n5. Появится сообщение «Заказ отменён.» или «Заказ отменён. На ваш счёт BLACKBOX возвращено СУММА MDL.» Если был удалён сервер, к нему добавится «Сервер удалён.»\n\nПосле отмены:\n\n- заказ переходит в статус «Отменён»;\n- если деньги были возвращены, на странице «Баланс», в разделе «История операций», появляется строка «Rambursare comandă BBX-…» со знаком «+» (описания операций всегда на румынском);\n- приходит письмо «Comandă anulată — BBX-…» (тема всегда на румынском). Если деньги были возвращены, в письме есть также строки «Сумма возврата» и «Текущий баланс», суммы в них указаны без дробной части;\n- при полном возврате счёт заказа (с тем же номером `BBX-…`) в разделе «Счета» получает статус «Отменён». В остальных случаях счёт остаётся «Оплачен».\n\n> **Необратимо**\n> Отмена заказа с сервером удаляет сервер и все данные на нём сразу после подтверждения. В отличие от удаления в панели, отсрочки нет, и остановить удаление нельзя. Скопируйте данные заранее: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n## Сообщения об ошибках\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Сервер ещё создаётся — попробуйте снова через несколько минут.» | Сервер создаётся прямо сейчас, и в это время заказ отменить нельзя. | Вернитесь через несколько минут и обновите страницу. |\n| «Не удалось удалить сервер, ничего не изменилось — попробуйте снова.» | Сервер не удалось удалить. Заказ и баланс не изменились. | Повторите попытку. Если сообщение повторяется, напишите нам. |\n| «Служба инфраструктуры временно недоступна — попробуйте позже.» | Сейчас сервер удалить нельзя. Ничего не изменилось. | Повторите попытку позже. |\n| «Статус заказа изменился — обновите страницу и попробуйте снова.» | Заказ изменился с тех пор, как вы открыли страницу. | Обновите страницу и повторите шаги. |\n| «Сервер уже удалён.» | Сервер этого заказа уже удалён. | Обновите страницу. Заказ больше нельзя отменить. |\n| «Этот заказ больше нельзя отменить.» | Заказ больше не подходит под условия отмены. | Обновите страницу и проверьте статус. |\n| `not_cancellable` | У заказа уже статус «Отменён» или «Завершён». Например, вы отменили его в другом окне или сервер был удалён в панели. | Обновите страницу и проверьте статус. |\n| «Too many requests» | Превышен лимит: 10 попыток отмены в минуту, а для заказов с сервером или с неудачным созданием сервера — 3 попытки за 5 минут. | Подождите несколько минут. |\n| «Не удалось отменить заказ.» или другой технический код | Другая ошибка. | Обновите страницу. Если ошибка повторяется, напишите нам и укажите номер заказа. |\n\n> **Важно**\n> Если появилось сообщение «Не удалось рассчитать сумму возврата. Продолжайте с осторожностью.», окно отмены не показывает ни точную сумму, ни предупреждение о сервере, а только общий текст: «Оплаченная сумма будет возвращена на ваш счёт BLACKBOX. Действие необратимо.» или «Заказ ещё не оплачен, поэтому возврат средств не производится. Действие необратимо.» Нажмите «Нет, оставить», обновите страницу и попробуйте снова, чтобы увидеть реальную сумму до подтверждения.\n\n## Возврат на карту\n\nПри отмене деньги возвращаются только на баланс и никогда не уходят на карту автоматически. С баланса можно оплачивать другие заказы и счета: см. [Баланс аккаунта: как это работает](#plati.sold). Если вы хотите получить деньги на карту:\n\n1. Напишите на support@blackbox.md.\n2. Укажите email аккаунта, номер заказа (`BBX-…`) или счёта, способ оплаты и причину обращения.\n3. Мы подтвердим получение заявки и сообщим решение по email.\n4. После одобрения деньги вернутся через Paynet на ту же карту, обычно в течение 5–10 рабочих дней. Срок зависит от банка, выпустившего карту.\n\nТак же запрашивается возврат двойной оплаты или платежа, поступившего за уже отменённый заказ: см. [Оплата картой (Paynet)](#plati.plata-cu-cardul).\n\n## Что не возвращается\n\nПомимо суммы, показанной в окне «Отменить заказ?», Условия использования (пункт 7.4) не дают права на возврат в следующих случаях:\n\n- вы сами удалили сервер до окончания оплаченного периода, например кнопкой «Удалить» в панели;\n- неиспользованный остаток уже начатого расчётного периода;\n- регистрация и продление доменов, уже выполненные в реестре.\n\nПолный текст — в разделе 7 «Политика возврата» на странице `https://blackbox.md/ru/info/terms`. Кратко: [Условия использования: кратко](#legal.termeni-esentiali).\n\n## «Отменить заказ» или «Удалить»?\n\n| | «Отменить заказ» | «Удалить» |\n|---|---|---|\n| Где | blackbox.md: «Мой аккаунт» → «Заказы» | панель app.blackbox.md: «Мои серверы», карточка сервера |\n| Возврат на баланс | Да, сумма из окна отмены | Нет |\n| Когда удаляется сервер | Сразу после подтверждения | Через 24 часа отсрочки |\n| Можно передумать | Нет | Да, кнопкой «Отменить удаление», пока удаление не выполнено |\n| Подтверждение | «Да, отменить» | Введите название, показанное в окне, затем «Запланировать удаление» |\n| Статус заказа | «Отменён» | «Отменён», после выполнения удаления |\n| Счёт заказа | «Отменён» при полном возврате | Остаётся «Оплачен» |\n| Письмо | «Comandă anulată — BBX-…» | «Server termination scheduled — …» и «Server deleted — …» (темы на английском) |\n\nКогда что выбирать:\n\n- «Отменить заказ» — сервер больше не нужен и вы хотите вернуть на баланс положенную сумму, особенно в первые 24 часа после активации.\n- «Удалить» — возвращать уже нечего (например, 30 дней с момента активации израсходованы) и вам нужны 24 часа, чтобы при необходимости передумать. Пошагово: [Безвозвратное удаление сервера](#servere.stergere-server).\n\n## Частые вопросы\n\n**Я отменил заказ по ошибке. Можно всё вернуть?**\nНет. Отмена окончательна, а удалённый сервер восстановить нельзя. Чтобы получить новый сервер, оформите новый заказ — его можно оплатить суммой, которая вернулась на баланс.\n\n**Почему сумма в письме немного отличается от суммы в окне отмены?**\nВ письме суммы указаны без дробной части. Точная сумма — в окне отмены и в «Истории операций» на странице «Баланс».\n\n**Можно ли отменить заказ через AI-ассистента?**\nДа. Ассистент сначала запрашивает тот же предварительный расчёт (сумму и то, будет ли удалён сервер) и по инструкции отменяет заказ только после вашего подтверждения. См. [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**Я хочу отказаться от всех услуг. В каком порядке действовать?**\nСначала отмените заказы или удалите серверы, затем потратьте баланс или запросите его возврат. См. [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n",
    "en": "You can cancel an order yourself on the “Comenzile mele” (My orders) page (`blackbox.md/account/orders`, “Contul meu” (My account) → “Comenzi” (Orders)), with the “Anulează comanda” (Cancel the order) button. The refunded amount goes to your BLACKBOX balance. To get a refund to your card, contact support.\n\n**Available to:** the owner of the blackbox.md account from which the order was placed.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> Before you confirm, the cancellation dialog shows the amount that will be returned to your balance. The amount is recalculated at the moment you confirm, and the amount actually refunded appears in the message after the cancellation. If you have questions about the amount, write to us before you confirm.\n\n## When you can cancel and how much you get back\n\nThe “Anulează comanda” (Cancel the order) button appears only on orders that can be canceled at that moment. The statuses are explained in [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n| Order situation | The button | What is returned to your balance |\n|---|---|---|\n| “Nou” (New), unpaid | shown | Nothing: you have not paid anything. |\n| “În lucru” (In progress), the server has not been created yet | shown | The full amount paid, immediately. |\n| “În lucru”, server creation failed | shown | The full amount paid, immediately. |\n| “În lucru”, the server is being created right now | not shown | Come back in a few minutes. |\n| “În lucru”, the server has been active for 24 hours or less | shown | The full amount paid. The server is deleted. |\n| “În lucru”, the server has been active for more than 24 hours | shown | Part of the amount, based on the days used. The exact amount appears in the dialog. The server is deleted. |\n| “În lucru”, the 30 days since activation have been used up | shown | Nothing. The server is deleted. |\n| “Finalizat” (Completed) or “Anulat” (Canceled) | not shown | — |\n| The server was deleted in the panel with “Terminate” | not shown | Nothing: deleting a server in the panel is not refunded. |\n\nThe 24 hours are counted from activation, that is, from when the server is created and you receive the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email.\n\nThe messages in the dialog:\n\n| Situation | What the dialog says |\n|---|---|\n| The order has a server | First: “Serverul asociat (SERVER_IP) va fi șters definitiv, împreună cu toate datele de pe el.” (The associated server (SERVER_IP) will be permanently deleted, together with all the data on it.) |\n| Full refund | “AMOUNT MDL vor fi returnați în contul dvs. BLACKBOX.” (AMOUNT MDL will be returned to your BLACKBOX account.) |\n| Partial refund | “AMOUNT MDL vor fi returnați (proporțional: N zile utilizate din 30).” (AMOUNT MDL will be returned (prorated: N days used out of 30).) |\n| No refund | “Pentru această comandă nu se mai efectuează nicio returnare.” (No refund will be made for this order.) |\n\n“Contul dvs. BLACKBOX” (your BLACKBOX account) in these messages means your balance (the “Sold” (Balance) page).\n\n## How to cancel an order\n\n1. Open “Contul meu” (My account) → “Comenzi” (Orders).\n2. On the order's row, click “Anulează comanda” (Cancel the order) (the circle-with-an-X icon). On a phone, open the three-dot menu (⋮) and choose “Anulează comanda”.\n3. The “Anulați comanda?” (Cancel the order?) dialog opens, marked in red. Read the message: the warning about the server, if there is one, and the amount that will be returned. Below the message is the order's row: “BBX-… · description · total MDL”.\n4. Click “Da, anulează” (Yes, cancel). To back out, click “Nu, păstrează” (No, keep it).\n5. The message “Comanda a fost anulată.” (The order has been canceled.) or “Comanda a fost anulată. AMOUNT MDL au fost returnați în contul dvs. BLACKBOX.” (The order has been canceled. AMOUNT MDL have been returned to your BLACKBOX account.) appears. If a server was deleted, “Serverul a fost șters.” (The server has been deleted.) is added.\n\nAfter the cancellation:\n\n- the order moves to the “Anulat” (Canceled) status;\n- if an amount was refunded, “Rambursare comandă BBX-…” (Order refund BBX-…) appears with a “+” sign in “Sold” (Balance), under “Istoricul operațiunilor” (Transaction history);\n- you receive the “Comandă anulată — BBX-…” (Order canceled — BBX-…) email. If an amount was refunded, the email also shows “Sumă rambursată” (Amount refunded) and “Sold curent” (Current balance), without decimals;\n- on a full refund, the order's invoice (with the same `BBX-…` number) becomes “Anulată” (Canceled) in “Facturi” (Invoices). In all other cases, the invoice stays “Achitată” (Paid).\n\n> **Irreversible**\n> Canceling an order with a server deletes the server and all the data on it immediately, when you confirm. Unlike deleting a server from the panel, there is no grace period, and you cannot stop the deletion. Copy your data first: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Serverul este încă în curs de creare — încercați din nou în câteva minute.” (The server is still being created — try again in a few minutes.) | The server is being created right now, and the order cannot be canceled during this time. | Come back in a few minutes and reload the page. |\n| “Ștergerea serverului a eșuat, nimic nu s-a schimbat — încercați din nou.” (Deleting the server failed, nothing has changed — try again.) | The server could not be deleted. The order and your balance stayed the same. | Try again. If the message repeats, write to us. |\n| “Serviciul de infrastructură este temporar indisponibil — încercați din nou mai târziu.” (The infrastructure service is temporarily unavailable — try again later.) | The server cannot be deleted right now. Nothing has changed. | Try again later. |\n| “Starea comenzii s-a schimbat între timp — reîncărcați pagina și încercați din nou.” (The order status has changed in the meantime — reload the page and try again.) | The order has changed since you opened the page. | Reload the page and repeat the steps. |\n| “Serverul a fost deja șters.” (The server has already been deleted.) | This order's server has already been deleted. | Reload the page. The order can no longer be canceled. |\n| “Această comandă nu mai poate fi anulată.” (This order can no longer be canceled.) | The order no longer meets the conditions for cancellation. | Reload the page and check the status. |\n| `not_cancellable` | The order already has the “Anulat” (Canceled) or “Finalizat” (Completed) status. For example, you canceled it in another window, or the server was deleted in the panel. | Reload the page and check the status. |\n| “Too many requests” | You have exceeded the limit: 10 cancellation attempts per minute, and, for orders with a server or with failed server creation, 3 attempts in 5 minutes. | Wait a few minutes. |\n| “Anularea comenzii a eșuat.” (Canceling the order failed.) or another technical code | Another error. | Reload the page. If it happens again, write to us and include the order number. |\n\n> **Important**\n> If “Nu am putut calcula suma de returnare. Continuați cu prudență.” (We could not calculate the refund amount. Proceed with caution.) appears, the dialog no longer shows the exact amount or the server warning, only a general text: “Suma achitată va fi returnată în contul dvs. BLACKBOX. Acțiunea nu poate fi anulată.” (The amount paid will be returned to your BLACKBOX account. This action cannot be undone.) or “Comanda nu a fost achitată, deci nu se efectuează nicio returnare. Acțiunea nu poate fi anulată.” (The order has not been paid, so no refund is made. This action cannot be undone.) Click “Nu, păstrează” (No, keep it), reload the page and try again, so that you see the real amount before you confirm.\n\n## Refunds to your card\n\nCanceling an order returns money only to your balance, never automatically to your card. You can use your balance to pay for other orders and invoices: see [Account balance: how it works](#plati.sold). If you want the money back on your card:\n\n1. Write to support@blackbox.md.\n2. Include your account's email address, the order number (`BBX-…`) or the invoice number, the payment method you used and the reason for your request.\n3. We confirm that we have received your request and let you know our decision by email.\n4. Once the request is approved, the money goes back through Paynet to the same card, usually within 5–10 business days. The timing depends on the bank that issued the card.\n\nYou request the return of a double payment, or of a payment made for an order that was already canceled, in the same way: see [Paying by card (Paynet)](#plati.plata-cu-cardul).\n\n## What is not refunded\n\nApart from the amount shown in the “Anulați comanda?” (Cancel the order?) dialog, the Terms and Conditions (point 7.4) give no right to a refund for:\n\n- deleting a server yourself before the end of the paid period, for example with “Terminate” in the panel;\n- the unused remainder of a billing cycle that has already started;\n- domain registrations and renewals already completed at the registry.\n\nThe full text is in section 7, “Politica de retur” (Return policy), at `https://blackbox.md/info/terms`. A summary: [Terms and conditions in brief](#legal.termeni-esentiali).\n\n## “Anulează comanda” or “Terminate”?\n\n| | “Anulează comanda” (Cancel the order) | “Terminate” |\n|---|---|---|\n| Where | blackbox.md: “Contul meu” (My account) → “Comenzi” (Orders) | the app.blackbox.md panel: “My Servers”, on the server card |\n| Refund to your balance | Yes, the amount shown in the dialog | No |\n| When the server is deleted | Immediately, when you confirm | After a 24-hour grace period |\n| You can change your mind | No | Yes, with “Cancel termination”, until the deletion is carried out |\n| Confirmation | “Da, anulează” (Yes, cancel) | Type the name shown in the window, then click “Schedule termination” |\n| Order status | “Anulat” (Canceled) | “Anulat”, once the deletion is carried out |\n| Order invoice | “Anulată” (Canceled) on a full refund | Stays “Achitată” (Paid) |\n| Email | “Comandă anulată — BBX-…” (Order canceled — BBX-…) | “Server termination scheduled — …” and “Server deleted — …” (in English) |\n\nWhen to use each one:\n\n- “Anulează comanda”: you no longer need the server and want the refundable amount back in your balance, especially within the first 24 hours after activation.\n- “Terminate”: nothing is refundable anymore (for example, the 30 days since activation have been used up), and you want 24 hours in which you can still change your mind. Steps: [Permanently deleting a server](#servere.stergere-server).\n\n## Frequently asked questions\n\n**I canceled by mistake. Can I undo it?**\nNo. A cancellation cannot be reversed, and a deleted server cannot be recovered. For a new server, place a new order; you can pay for it with the amount returned to your balance.\n\n**Why is the amount in the email slightly different from the one in the dialog?**\nIn the email, amounts are shown without decimals. The exact amount is the one in the dialog and in “Istoricul operațiunilor” (Transaction history) on the “Sold” (Balance) page.\n\n**Can I cancel an order through the AI assistant?**\nYes. The assistant first requests the same preview (the amount and whether the server will be deleted), and it is instructed to cancel the order only after you confirm. See [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**I want to stop using all the services. In what order should I proceed?**\nFirst cancel your orders or delete your servers, then use up your balance or ask for it to be refunded. See [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n"
   }
  },
  {
   "id": "servere.deschidere-panou",
   "section": "servere",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/deschidere-panou/",
    "ru": "https://docs.blackbox.md/ru/servere/deschidere-panou/",
    "en": "https://docs.blackbox.md/en/servere/deschidere-panou/"
   },
   "title": {
    "ro": "Deschiderea panoului app.blackbox.md din cont",
    "ru": "Вход в панель app.blackbox.md из аккаунта",
    "en": "Opening the app.blackbox.md panel from your account"
   },
   "summary": {
    "ro": "Cum intrați în panou direct din contul blackbox.md, fără a doua autentificare, și ce faceți dacă nu se deschide.",
    "ru": "Как войти в панель прямо из аккаунта blackbox.md без повторного входа и что делать, если она не открывается.",
    "en": "How to enter the panel directly from your blackbox.md account without signing in a second time, and what to do if it does not open."
   },
   "markdown": {
    "ro": "Serverele dvs. se administrează în panoul app.blackbox.md. Îl deschideți din contul de pe blackbox.md („Contul meu”, `blackbox.md/account` → „Panou de administrare”), iar panoul vă autentifică automat cu contul de pe site: nu trebuie să introduceți din nou emailul și parola.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md, cu adresa de email verificată.\n\n## De unde deschideți panoul\n\n| Unde, pe blackbox.md | Ce apăsați | Unde ajungeți în panou |\n|---|---|---|\n| meniul lateral al oricărei pagini din „Contul meu” | „Panou de administrare” (dedesubt scrie „app.blackbox.md”) | „Prezentare generală” |\n| „Profil” → cardul „Serviciile tale” | „Deschide panoul” | „Prezentare generală” |\n| „Comenzi” → o comandă cu rândul „Server: …” | „Gestionează în app.blackbox.md” (pictograma cu săgeată) | „Serverele mele”, cu cardul acestui server evidențiat |\n\nPe telefon și pe ecranele mici, meniul lateral se deschide cu butonul „Meniu cont”. Când țineți cursorul pe „Panou de administrare”, apare textul „Deschide panoul app.blackbox.md (autentificare separată)”. Panoul are într-adevăr un cont și o sesiune proprii, dar la intrarea din blackbox.md vă autentifică singur.\n\n## Cum deschideți panoul\n\n1. Pe blackbox.md, apăsați „Cont client” în bara de sus a site-ului (pe telefon, pictograma rotundă a contului). Se deschide pagina „Profilul meu”.\n2. Apăsați „Panou de administrare” în meniul lateral sau „Deschide panoul” în cardul „Serviciile tale”.\n3. Panoul se deschide într-o filă nouă. Dacă browserul blochează ferestrele pop-up, se deschide în aceeași filă.\n4. Pentru câteva clipe apare mesajul „Vă autentificăm…”.\n5. Ajungeți pe pagina „Prezentare generală” (titlul de pe pagină: „Rapoarte de audit al serverelor”). Pentru serverele dvs., apăsați „Serverele mele” în meniul din stânga.\n\nCa să ajungeți direct la un anumit server, deschideți „Contul meu” → „Comenzi” și, pe rândul comenzii cu linia „Server: …”, apăsați pictograma cu săgeată („Gestionează în app.blackbox.md”). Pe telefon, butonul este în meniul cu trei puncte (⋮). Panoul deschide „Serverele mele”, derulează pagina până la cardul serverului și îl marchează cu un chenar colorat. Detalii: [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n> **Notă**\n> Serverele comandate pe blackbox.md sunt în „Serverele mele”. Pagina „Prezentare generală” poate afișa „Niciun server găsit. Contactați un administrator pentru a obține acces.” Este normal și nu înseamnă că lipsește ceva din contul dvs. Vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n## Condiții și limite\n\n| Ce | Detalii |\n|---|---|\n| Email verificat | Panoul se deschide din cont numai dacă adresa de email este verificată. Vedeți [Verificarea adresei de email](#cont.verificare-email). |\n| Număr de deschideri | Cel mult 10 pe oră pentru un cont și 30 pe oră de la aceeași adresă IP. |\n| Linkul de intrare | La fiecare clic, blackbox.md creează un link de intrare valabil 60 de secunde, care funcționează o singură dată. |\n| Sesiunea din panou | Fiecare intrare din cont pornește o sesiune nouă în panou, valabilă 8 ore. |\n\n## Prima intrare: contul din panou\n\n- La prima deschidere, contul dvs. din panou se creează automat. Nu vă înregistrați a doua oară.\n- Numele de utilizator din panou este adresa dvs. de email, scrisă cu litere mici. Îl vedeți în colțul din dreapta sus al panoului și în „Setări”.\n- Parola panoului este parola contului de pe blackbox.md și se actualizează la fiecare intrare din cont. Dacă ați creat contul cu Google sau GitLab și nu aveți parolă, nu puteți intra în panou cu nume de utilizator și parolă. Intrați din blackbox.md sau, după prima intrare din cont, cu butonul „Google” ori „GitLab” de pe pagina de autentificare a panoului (cu aceeași adresă de email). Vedeți [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa).\n\n## Limba panoului\n\nPanoul preia limba în care navigați pe blackbox.md: din paginile în română se deschide în română, din cele în rusă (`blackbox.md/ru/...`) se deschide în rusă. Puteți alege altă limbă cu butoanele „EN”, „RO”, „RU” din bara de sus a panoului, dar la următoarea intrare din cont panoul revine la limba site-ului. Detalii: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n## Dacă ați activat 2FA în panou\n\n1. După „Vă autentificăm…” apare pasul „Autentificare în doi pași”.\n2. Introduceți codul din 6 cifre din aplicația de autentificare în câmpul „Cod din aplicație”.\n3. Dacă doriți, bifați „Rețineți acest dispozitiv 30 de zile”. Următoarele intrări din blackbox.md, în același browser, nu vor mai cere codul timp de 30 de zile.\n4. Apăsați „Verifică”. Ajungeți pe pagina pe care ați deschis-o din cont, de exemplu la cardul serverului din „Serverele mele”.\n\nPasul trebuie finalizat în 5 minute. Codurile de recuperare și situațiile în care codul se cere din nou sunt explicate în [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n\n## Dacă panoul nu se deschide\n\n### Se deschide pagina de autentificare a panoului\n\nÎn locul mesajului „Vă autentificăm…” vedeți pagina de autentificare a panoului („BlackBox”, „Panou server”), cu câmpurile „Nume utilizator” și „Parolă”. Dacă nu ați mai deschis panoul în acest browser, pagina este în engleză: „Server Panel”, „Username”, „Password”. blackbox.md nu afișează nicio eroare în acest caz. Cauza este una dintre următoarele:\n\n| Cauză | Ce faceți |\n|---|---|\n| Adresa de email nu este verificată. | Pe pagina „Profilul meu”, în cardul „Securitatea contului”, apăsați „Trimite emailul de verificare”. Confirmați adresa din email, apoi deschideți din nou panoul. |\n| Panoul a fost deschis în ultima oră de peste 10 ori din contul dvs. sau de peste 30 de ori de la aceeași adresă IP. | Așteptați și încercați din nou. Limita se eliberează treptat, în cel mult o oră. |\n| Sesiunea de pe blackbox.md a expirat (durează 8 ore). | Reîncărcați pagina contului, autentificați-vă din nou și apăsați din nou butonul. |\n| Un blocator de reclame, o extensie a browserului sau o problemă de rețea a întrerupt cererea. | Dezactivați extensia pentru blackbox.md sau folosiți alt browser, apoi apăsați din nou butonul. |\n\nPe această pagină vă puteți autentifica și direct, dar numai în anumite condiții: vedeți [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa).\n\n### Mesaje de eroare în panou\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu am putut finaliza autentificarea. Încercați din nou.” | Linkul de intrare a expirat (este valabil 60 de secunde) sau a fost deja folosit, de exemplu după reîncărcarea filei. | Închideți fila, reveniți în contul de pe blackbox.md și apăsați din nou „Panou de administrare” sau „Deschide panoul”. |\n| „Autentificare eșuată: cod lipsă.” | Pagina de intrare s-a deschis fără codul din link, de exemplu dintr-o adresă copiată sau salvată incomplet. | La fel: deschideți din nou panoul din cont. |\n\nLinkul „Înapoi la autentificare” de sub aceste mesaje duce la pagina de autentificare a panoului, nu înapoi pe blackbox.md.\n\n## Întrebări frecvente\n\n**Trebuie să introduc parola când deschid panoul din cont?**\nNu. Intrarea din blackbox.md este automată. Vi se cere doar codul 2FA, dacă ați activat autentificarea în doi pași în panou.\n\n**Apăs butonul și nu se deschide nimic.**\nCel mai probabil, browserul a blocat fila nouă. Permiteți ferestrele pop-up pentru blackbox.md și apăsați din nou. Dacă se deschide pagina de autentificare a panoului, verificați cauzele din tabelul de mai sus.\n\n**Pot salva panoul în marcaje?**\nPuteți salva `app.blackbox.md`, dar nu adresa paginii „Vă autentificăm…”: linkul de intrare funcționează o singură dată. Fără o sesiune activă în panou, marcajul deschide pagina de autentificare, așa că este mai simplu să intrați din cont.\n\n**Cât timp rămân autentificat în panou?**\n8 ore de la intrare. „Deconectare” pe blackbox.md nu închide sesiunea panoului, iar „Deconectare” în panou nu vă scoate de pe blackbox.md. După expirare, deschideți din nou panoul din cont.\n\n**Contul meu a fost creat cu Google sau GitLab. Pot deschide panoul?**\nDa, la fel, din „Contul meu”. De regulă, emailul unui astfel de cont este deja verificat, pentru că l-a confirmat Google sau GitLab. Nu aveți însă o parolă pentru panou, așa că nu vă puteți autentifica direct cu nume de utilizator și parolă. După prima intrare din cont, puteți folosi și butonul „Google” sau „GitLab” de pe pagina de autentificare a panoului.\n",
    "ru": "Серверами вы управляете в панели app.blackbox.md. Открыть её можно из личного кабинета на blackbox.md («Мой аккаунт», `blackbox.md/ru/account` → «Панель управления»). Панель сама выполнит вход по вашему аккаунту на сайте: вводить email и пароль ещё раз не нужно.\n\n**Доступно:** любому клиенту с подтверждённым email, вошедшему в аккаунт на blackbox.md.\n\n## Откуда открыть панель\n\n| Где на blackbox.md | Что нажать | Куда вы попадёте в панели |\n|---|---|---|\n| боковое меню на любой странице раздела «Мой аккаунт» | «Панель управления» (под ним написано «app.blackbox.md») | «Обзор» |\n| «Профиль» → карточка «Ваши услуги» | «Открыть панель» | «Обзор» |\n| «Заказы» → заказ со строкой «Сервер: …» | «Управление в app.blackbox.md» (значок со стрелкой) | «Мои серверы» с выделенной карточкой этого сервера |\n\nНа телефоне и на небольших экранах боковое меню открывается кнопкой «Меню аккаунта». При наведении курсора на «Панель управления» появляется подсказка «Открыть панель app.blackbox.md (отдельный вход)». У панели действительно своя учётная запись и своя сессия, но при переходе с blackbox.md вход выполняется автоматически.\n\n## Как открыть панель\n\n1. На blackbox.md нажмите «Личный кабинет» в шапке сайта (на телефоне — круглый значок аккаунта). Откроется страница «Мой профиль».\n2. Нажмите «Панель управления» в боковом меню или «Открыть панель» в карточке «Ваши услуги».\n3. Панель откроется в новой вкладке. Если браузер блокирует всплывающие окна, она откроется в той же вкладке.\n4. На несколько секунд появится сообщение «Выполняется вход…».\n5. Откроется страница «Обзор» (заголовок на самой странице — «Отчёты аудита серверов»). Чтобы перейти к своим серверам, нажмите «Мои серверы» в меню слева.\n\nЧтобы сразу попасть к нужному серверу, откройте «Мой аккаунт» → «Заказы» и в строке заказа, где есть «Сервер: …», нажмите значок со стрелкой («Управление в app.blackbox.md»). На телефоне эта кнопка находится в меню с тремя точками (⋮). Панель откроет раздел «Мои серверы», прокрутит его до карточки сервера и выделит её цветной рамкой. Подробнее: [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n> **Примечание**\n> Серверы, заказанные на blackbox.md, находятся в разделе «Мои серверы». На странице «Обзор» может быть написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» Это нормально и не означает, что с вашим аккаунтом что-то не так. См. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n## Условия и ограничения\n\n| Что | Подробности |\n|---|---|\n| Подтверждённый email | Панель открывается из аккаунта, только если ваш email подтверждён. См. [Подтверждение адреса email](#cont.verificare-email). |\n| Число открытий | Не больше 10 в час для одного аккаунта и 30 в час с одного IP-адреса. |\n| Ссылка для входа | При каждом нажатии blackbox.md создаёт ссылку для входа. Она действует 60 секунд и срабатывает только один раз. |\n| Сессия в панели | Каждый вход из аккаунта открывает в панели новую сессию на 8 часов. |\n\n## Первый вход: учётная запись в панели\n\n- При первом открытии учётная запись в панели создаётся автоматически. Регистрироваться ещё раз не нужно.\n- Имя пользователя в панели — ваш email строчными буквами. Его видно в правом верхнем углу панели и на странице «Настройки».\n- Пароль панели совпадает с паролем аккаунта на blackbox.md и обновляется при каждом входе из аккаунта. Если аккаунт создан через Google или GitLab и пароля у вас нет, войти в панель по имени пользователя и паролю не получится. Входите из blackbox.md или, после первого входа из аккаунта, кнопкой «Google» либо «GitLab» на странице входа в панель (с тем же адресом email). См. [Прямой вход на app.blackbox.md](#servere.autentificare-directa).\n\n## Язык панели\n\nПанель открывается на том языке, на котором вы просматриваете blackbox.md: с румынских страниц — на румынском, с русских (`blackbox.md/ru/...`) — на русском. Язык можно сменить кнопками «EN», «RO», «RU» в верхней панели, но при следующем входе из аккаунта панель снова переключится на язык сайта. Подробнее: [Язык сайта, панели и писем](#cont.limba).\n\n## Если в панели включена 2FA\n\n1. После сообщения «Выполняется вход…» появится шаг «Двухфакторная аутентификация».\n2. Введите 6-значный код из приложения-аутентификатора в поле «Код из приложения».\n3. При желании отметьте «Запомнить это устройство на 30 дней». Тогда при следующих входах из blackbox.md в этом же браузере код 30 дней запрашиваться не будет.\n4. Нажмите «Проверить». Откроется та страница, на которую вы переходили из аккаунта, например карточка сервера в разделе «Мои серверы».\n\nЭтот шаг нужно завершить за 5 минут. О кодах восстановления и о том, когда код запрашивается снова, читайте в статье [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n\n## Если панель не открывается\n\n### Открылась страница входа в панель\n\nВместо сообщения «Выполняется вход…» вы видите страницу входа в панель («BlackBox», «Панель сервера») с полями «Имя пользователя» и «Пароль». Если вы ещё не открывали панель в этом браузере, страница будет на английском: «Server Panel», «Username», «Password». В этом случае blackbox.md не показывает никакой ошибки. Причина — одна из следующих:\n\n| Причина | Что делать |\n|---|---|\n| Email не подтверждён. | На странице «Мой профиль» в карточке «Безопасность аккаунта» нажмите «Отправить письмо для подтверждения». Подтвердите адрес по ссылке из письма и снова откройте панель. |\n| За последний час панель открывали больше 10 раз из вашего аккаунта или больше 30 раз с одного IP-адреса. | Подождите и попробуйте снова. Ограничение снимается постепенно, самое позднее через час. |\n| Истекла сессия на blackbox.md (она длится 8 часов). | Обновите страницу аккаунта, войдите заново и ещё раз нажмите кнопку. |\n| Запрос прервал блокировщик рекламы, расширение браузера или сбой сети. | Отключите расширение для blackbox.md или откройте сайт в другом браузере и снова нажмите кнопку. |\n\nНа этой странице можно войти и напрямую, но только при определённых условиях: см. [Прямой вход на app.blackbox.md](#servere.autentificare-directa).\n\n### Сообщения об ошибках в панели\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Не удалось завершить вход. Попробуйте ещё раз.» | Ссылка для входа истекла (она действует 60 секунд) или уже использована — например, вы обновили вкладку. | Закройте вкладку, вернитесь в аккаунт на blackbox.md и снова нажмите «Панель управления» или «Открыть панель». |\n| «Ошибка аутентификации: отсутствует код.» | Страница входа открыта без кода из ссылки — например, адрес скопировали или сохранили не полностью. | То же самое: снова откройте панель из аккаунта. |\n\nСсылка «Вернуться ко входу» под этими сообщениями ведёт на страницу входа в панель, а не обратно на blackbox.md.\n\n## Частые вопросы\n\n**Нужно ли вводить пароль, когда я открываю панель из аккаунта?**\nНет. Вход из blackbox.md выполняется автоматически. Код 2FA понадобится, только если вы включили двухфакторную аутентификацию в панели.\n\n**Я нажимаю кнопку, но ничего не открывается.**\nСкорее всего, браузер заблокировал новую вкладку. Разрешите всплывающие окна для blackbox.md и нажмите кнопку ещё раз. Если откроется страница входа в панель, проверьте причины из таблицы выше.\n\n**Можно ли добавить панель в закладки?**\nМожно сохранить `app.blackbox.md`, но не адрес страницы «Выполняется вход…»: ссылка для входа срабатывает только один раз. Если активной сессии в панели нет, закладка откроет страницу входа, поэтому проще входить из аккаунта.\n\n**Сколько длится сессия в панели?**\n8 часов с момента входа. «Выйти» на blackbox.md не закрывает сессию панели, а «Выйти» в панели не завершает сессию на blackbox.md. Когда сессия истечёт, снова откройте панель из аккаунта.\n\n**Аккаунт создан через Google или GitLab. Можно ли открыть панель?**\nДа, точно так же — из раздела «Мой аккаунт». Как правило, email такого аккаунта уже подтверждён, потому что его подтвердил Google или GitLab. Но пароля для панели у вас нет, поэтому войти напрямую по имени пользователя и паролю не получится. После первого входа из аккаунта можно также пользоваться кнопкой «Google» или «GitLab» на странице входа в панель.\n",
    "en": "You manage your servers in the app.blackbox.md panel. You open it from your account on blackbox.md (“Contul meu” (My account), `blackbox.md/account` → “Panou de administrare” (Admin panel)), and the panel signs you in automatically with your website account: you don't need to enter your email and password again.\n\n**Available to:** any customer signed in to blackbox.md whose email address is verified.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Where to open the panel from\n\n| Where on blackbox.md | What to click | Where you land in the panel |\n|---|---|---|\n| the side menu on any page of “Contul meu” (My account) | “Panou de administrare” (Admin panel), with “app.blackbox.md” written below it | “Overview” |\n| “Profil” (Profile) → the “Serviciile tale” (Your services) card | “Deschide panoul” (Open the panel) | “Overview” |\n| “Comenzi” (Orders) → an order with the “Server: …” line | “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) (the arrow icon) | “My Servers”, with this server's card highlighted |\n\nOn phones and small screens, the side menu opens with the “Meniu cont” (Account menu) button. When you hover over “Panou de administrare”, the text “Deschide panoul app.blackbox.md (autentificare separată)” (Open the app.blackbox.md panel (separate sign-in)) appears. The panel does have its own account and session, but when you enter from blackbox.md, it signs you in by itself.\n\n## How to open the panel\n\n1. On blackbox.md, click “Cont client” (Customer account) in the site's top bar (on a phone, the round account icon). The “Profilul meu” (My profile) page opens.\n2. Click “Panou de administrare” (Admin panel) in the side menu or “Deschide panoul” (Open the panel) on the “Serviciile tale” (Your services) card.\n3. The panel opens in a new tab. If your browser blocks pop-up windows, it opens in the same tab.\n4. The message “Signing you in…” appears for a few moments.\n5. You land on the “Overview” page (the heading on the page reads “Server Audit Reports”). To see your servers, click “My Servers” in the left menu.\n\nTo go straight to a specific server, open “Contul meu” (My account) → “Comenzi” (Orders) and, on the row of the order with the “Server: …” line, click the arrow icon (“Gestionează în app.blackbox.md” (Manage in app.blackbox.md)). On a phone, this button is in the three-dot menu (⋮). The panel opens “My Servers”, scrolls down to the server's card and marks it with a colored border. Details: [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n> **Note**\n> Servers ordered on blackbox.md are in “My Servers”. The “Overview” page may show “No servers found. Contact an administrator to get access.” This is normal and does not mean anything is missing from your account. See [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n## Requirements and limits\n\n| What | Details |\n|---|---|\n| Verified email | The panel opens from your account only if your email address is verified. See [Verifying your email address](#cont.verificare-email). |\n| Number of openings | At most 10 per hour per account and 30 per hour from the same IP address. |\n| Entry link | Each time you click, blackbox.md creates an entry link that is valid for 60 seconds and works only once. |\n| Panel session | Each entry from your account starts a new panel session, valid for 8 hours. |\n\n## First entry: your panel account\n\n- The first time you open the panel, your panel account is created automatically. You don't need to register a second time.\n- Your panel username is your email address, in lowercase. You can see it in the top right corner of the panel and in “Settings”.\n- Your panel password is your blackbox.md account password, and it is updated each time you enter from your account. If you created your account with Google or GitLab and have no password, you can't sign in to the panel with a username and password. Enter from blackbox.md or, after your first entry from your account, use the “Google” or “GitLab” button on the panel's sign-in page (with the same email address). See [Signing in directly to app.blackbox.md](#servere.autentificare-directa).\n\n## Panel language\n\nThe panel takes the language you are browsing blackbox.md in: from Romanian pages it opens in Romanian, and from Russian pages (`blackbox.md/ru/...`) it opens in Russian. You can choose another language with the “EN”, “RO”, “RU” buttons in the panel's top bar, but the next time you enter from your account, the panel switches back to the website's language. Details: [Language of the website, the panel and emails](#cont.limba).\n\n## If you turned on 2FA in the panel\n\n1. After “Signing you in…”, the “Two-Factor Authentication” step appears.\n2. Enter the 6-digit code from your authenticator app in the “Authenticator Code” field.\n3. If you want, check “Remember this device for 30 days”. For the next 30 days, entering from blackbox.md in the same browser will not ask you for the code.\n4. Click “Verify”. You land on the page you opened from your account, for example the server's card in “My Servers”.\n\nYou must complete this step within 5 minutes. Recovery codes and the situations in which the code is asked for again are explained in [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n\n## If the panel does not open\n\n### The panel's sign-in page opens\n\nInstead of the “Signing you in…” message, you see the panel's sign-in page (“BlackBox”, “Server Panel”) with the “Username” and “Password” fields. If you have not opened the panel in this browser before, this page is in English. blackbox.md does not show any error in this case. The cause is one of the following:\n\n| Cause | What to do |\n|---|---|\n| Your email address is not verified. | On the “Profilul meu” (My profile) page, on the “Securitatea contului” (Account security) card, click “Trimite emailul de verificare” (Send verification email). Confirm the address from the email, then open the panel again. |\n| In the last hour, the panel was opened more than 10 times from your account or more than 30 times from the same IP address. | Wait and try again. The limit frees up gradually, within one hour at most. |\n| Your session on blackbox.md has expired (it lasts 8 hours). | Reload your account page, sign in again and click the button again. |\n| An ad blocker, a browser extension or a network problem interrupted the request. | Turn off the extension for blackbox.md or use another browser, then click the button again. |\n\nYou can also sign in directly on this page, but only under certain conditions: see [Signing in directly to app.blackbox.md](#servere.autentificare-directa).\n\n### Error messages in the panel\n\n| Message | What it means | What to do |\n|---|---|---|\n| “We couldn't finish signing you in. Please try again.” | The entry link has expired (it is valid for 60 seconds) or has already been used, for example after you reloaded the tab. | Close the tab, go back to your account on blackbox.md and click “Panou de administrare” (Admin panel) or “Deschide panoul” (Open the panel) again. |\n| “Authentication failed: missing code.” | The entry page opened without the code from the link, for example from an address that was copied or saved incompletely. | The same: open the panel again from your account. |\n\nThe “Back to login” link below these messages leads to the panel's sign-in page, not back to blackbox.md.\n\n## Frequently asked questions\n\n**Do I need to enter my password when I open the panel from my account?**\nNo. Entering from blackbox.md is automatic. You are asked only for the 2FA code, if you turned on two-factor authentication in the panel.\n\n**I click the button and nothing opens.**\nMost likely, your browser blocked the new tab. Allow pop-up windows for blackbox.md and click again. If the panel's sign-in page opens, check the causes in the table above.\n\n**Can I bookmark the panel?**\nYou can save `app.blackbox.md`, but not the address of the “Signing you in…” page: the entry link works only once. Without an active panel session, the bookmark opens the sign-in page, so it is simpler to enter from your account.\n\n**How long do I stay signed in to the panel?**\n8 hours from when you enter. “Deconectare” (Sign out) on blackbox.md does not end your panel session, and “Logout” in the panel does not sign you out of blackbox.md. Once the session expires, open the panel again from your account.\n\n**My account was created with Google or GitLab. Can I open the panel?**\nYes, the same way, from “Contul meu” (My account). As a rule, the email of such an account is already verified, because Google or GitLab confirmed it. However, you have no panel password, so you can't sign in directly with a username and password. After your first entry from your account, you can also use the “Google” or “GitLab” button on the panel's sign-in page.\n"
   }
  },
  {
   "id": "servere.autentificare-directa",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/autentificare-directa/",
    "ru": "https://docs.blackbox.md/ru/servere/autentificare-directa/",
    "en": "https://docs.blackbox.md/en/servere/autentificare-directa/"
   },
   "title": {
    "ro": "Autentificarea directă pe app.blackbox.md",
    "ru": "Прямой вход на app.blackbox.md",
    "en": "Signing in directly to app.blackbox.md"
   },
   "summary": {
    "ro": "Cum intrați în panou din pagina lui de autentificare: utilizator, parolă, 2FA și mesajele de eroare.",
    "ru": "Как войти в панель через её страницу входа: имя пользователя, пароль, 2FA и сообщения об ошибках.",
    "en": "How to enter the panel from its own sign-in page: username, password, 2FA and error messages."
   },
   "markdown": {
    "ro": "Pagina de autentificare a panoului (`app.blackbox.md/login`) vă permite să intrați în panoul app.blackbox.md fără să treceți prin blackbox.md: cu numele de utilizator și parola sau cu Google ori GitLab. Ajungeți aici când tastați adresa în browser, după expirarea sesiunii sau atunci când „Deschide panoul” din blackbox.md nu reușește să vă autentifice automat.\n\n**Disponibil pentru:** titularul unui cont blackbox.md care a deschis cel puțin o dată panoul din blackbox.md.\n\n> **Sfat**\n> Calea recomandată rămâne „Deschide panoul” din blackbox.md („Contul meu” → „Profil”, cardul „Serviciile tale”) sau „Panou de administrare” din meniul contului. Nu cere nume de utilizator și parolă și funcționează și pentru conturile create cu Google sau GitLab. Detalii: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n## Ce vedeți pe pagină\n\nFormularul are antetul „BlackBox”, subtitlul „Panou server” și, în dreapta sus, butoanele de limbă „EN”, „RO” și „RU”. Pagina se deschide în engleză, cu excepția cazului în care în acest browser a fost aleasă deja altă limbă (de exemplu, la o intrare anterioară din blackbox.md). Apăsați „RO”: limba se schimbă imediat și este reținută în browser.\n\n| Element | În engleză | În română |\n|---|---|---|\n| Subtitlu | „Server Panel” | „Panou server” |\n| Câmp | „Username” | „Nume utilizator” |\n| Câmp | „Password” | „Parolă” |\n| Buton | „Sign in” | „Autentificare” |\n| Link | „Forgot password?” | „Ați uitat parola?” |\n| Blocul cu butoanele Google și GitLab | „Sign in with” | „Sign in with” (doar în engleză) |\n\n## Ce introduceți\n\n| Câmp | Ce introduceți |\n|---|---|\n| „Nume utilizator” | Adresa de email a contului blackbox.md, scrisă cu litere mici, de exemplu `ion@companie.md` |\n| „Parolă” | Parola contului blackbox.md |\n\nContul din panou se creează automat prima dată când deschideți panoul din blackbox.md, iar parola lui este o copie a parolei de pe blackbox.md. De aceea:\n\n- până la prima deschidere din blackbox.md, autentificarea directă nu funcționează; pentru prima deschidere, adresa de email trebuie să fie verificată (vedeți [Verificarea adresei de email](#cont.verificare-email));\n- conturile create doar cu Google sau GitLab nu au o parolă pentru panou: folosiți butoanele „Google” sau „GitLab” de pe această pagină ori „Deschide panoul”;\n- după ce schimbați parola pe blackbox.md, parola nouă funcționează în panou abia după următoarea deschidere a panoului din blackbox.md.\n\n## Cum vă autentificați cu numele de utilizator și parola\n\n1. Deschideți `https://app.blackbox.md/login`.\n2. Dacă pagina este în engleză, apăsați „RO”.\n3. În „Nume utilizator”, introduceți adresa de email a contului, cu litere mici.\n4. În „Parolă”, introduceți parola contului blackbox.md.\n5. Apăsați „Autentificare”. Butonul afișează „Se autentifică…”.\n6. Dacă ați activat 2FA în panou, apare pasul „Autentificare în doi pași” (vedeți mai jos). Altfel, panoul se deschide.\n\nDupă autentificare ajungeți întotdeauna pe pagina „Prezentare generală”, chiar dacă ați pornit de la un link spre altă pagină. Serverele comandate pe blackbox.md sunt în meniul din stânga, la „Serverele mele”. Dacă „Prezentare generală” afișează „Niciun server găsit.” și „Contactați un administrator pentru a obține acces.”, este normal: vedeți [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala).\n\nSesiunea durează 8 ore de la autentificare. După aceea, la următoarea pagină deschisă, panoul vă întoarce la formularul de autentificare. Ca să ieșiți mai devreme, deschideți meniul utilizatorului (dreapta sus) → „Deconectare”. Ieșirea din panou nu vă deconectează de pe blackbox.md.\n\n## Cum vă autentificați cu Google sau GitLab\n\nDeasupra formularului, sub „Sign in with”, sunt butoanele „GitLab” și „Google”. Ele funcționează doar dacă:\n\n- contul dvs. din panou există deja, adică ați deschis cel puțin o dată panoul din blackbox.md;\n- contul Google sau GitLab are aceeași adresă de email ca și contul blackbox.md, confirmată la furnizor.\n\n1. Apăsați „Google” sau „GitLab”.\n2. Autentificați-vă la furnizor cu contul care are aceeași adresă de email și permiteți accesul.\n3. Panoul deschide „Prezentare generală”. Dacă ați activat 2FA, apare mai întâi pasul „Autentificare în doi pași”.\n\nButoanele din panou nu creează un cont nou. Dacă panoul nu găsește un cont cu adresa de email primită de la furnizor, afișează „We couldn't finish signing you in. Please try again.”\n\n> **Ecran în limba engleză**\n> Blocul „Sign in with” și pagina afișată la întoarcerea de la Google sau GitLab sunt doar în engleză, indiferent de limba aleasă. De pe pagina de eroare reveniți la formular cu linkul „Back to login”.\n\n## Pasul „Autentificare în doi pași”\n\nApare doar dacă ați activat 2FA în panou (vedeți [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa)).\n\n1. Pagina afișează mesajul „Introduceți codul din 6 cifre din aplicația de autentificare.”\n2. Introduceți codul din aplicație în câmpul „Cod din aplicație”.\n3. Apăsați „Verifică”.\n\nDacă nu aveți telefonul la îndemână, apăsați „Folosiți un cod de recuperare”, introduceți unul dintre codurile de 8 caractere în câmpul „Cod de recuperare” și apăsați „Verifică”. Fiecare cod de recuperare funcționează o singură dată.\n\nPasul trebuie finalizat în 5 minute, cu cel mult 5 încercări. Mesajele de eroare apar de regulă în engleză: „Invalid 2FA code” sau „Cod invalid. Încercați din nou.” (cod greșit sau deja folosit), „Too many 2FA attempts” (ați folosit cele 5 încercări), „No 2FA session pending” (au trecut cele 5 minute). În ultimele două cazuri apăsați „Înapoi” și reluați autentificarea.\n\nLa autentificarea directă, codul se cere de fiecare dată. Opțiunea „Rețineți acest dispozitiv 30 de zile” apare doar când intrați din blackbox.md cu „Deschide panoul”.\n\nPe acest pas există și linkul „Ați pierdut dispozitivul 2FA?”. El se referă doar la 2FA din panou, iar paginile lui sunt în limba engleză. Dacă nu mai aveți nici telefonul, nici codurile de recuperare, citiți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut) sau scrieți la support@blackbox.md.\n\n## Blocarea temporară după prea multe încercări\n\nPanoul acceptă cel mult 5 încercări de autentificare în 5 minute pentru același nume de utilizator și 20 de încercări în 5 minute de pe aceeași adresă IP. Peste limită, pagina afișează același mesaj „Nume de utilizator sau parolă incorecte.”, chiar dacă parola este corectă.\n\n> **Atenție**\n> Fiecare încercare făcută în timpul blocării o prelungește. Așteptați 5 minute fără nicio încercare sau intrați din blackbox.md cu „Deschide panoul”, pe care această blocare nu îl afectează.\n\n## Mesaje de eroare\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Nume de utilizator sau parolă incorecte.” | Email sau parolă greșite; email scris cu majuscule; nu ați deschis încă panoul din blackbox.md; cont fără parolă (creat doar cu Google sau GitLab); blocare temporară | Verificați datele; deschideți panoul o dată din blackbox.md; așteptați 5 minute fără încercări |\n| „We couldn't finish signing you in. Please try again.” | Panoul nu are un cont cu adresa primită de la Google sau GitLab sau a apărut altă eroare | Deschideți panoul o dată din blackbox.md; folosiți contul Google sau GitLab cu aceeași adresă; reluați de la început |\n| „Please sign in with an account that has a verified email address.” | Furnizorul nu a confirmat adresa de email | Confirmați adresa la Google sau GitLab |\n| „Your login session expired. Please start the login again.” sau „Your login link expired. Please start the login again.” | Autentificarea la furnizor nu a fost finalizată la timp | Reluați de la început |\n| „Login was cancelled.” | Ați refuzat accesul la furnizor | Reluați și permiteți accesul |\n\n## Linkul „Ați uitat parola?”\n\nLinkul de sub butonul „Autentificare” se referă doar la parola contului din panou, nu la parola de pe blackbox.md, iar paginile lui sunt în limba engleză. Orice parolă setată doar în panou este înlocuită cu parola de pe blackbox.md la următoarea deschidere a panoului din blackbox.md. Dacă ați uitat parola, citiți [Ați uitat parola contului](#cont.parola-uitata).\n\n## Întrebări frecvente\n\n**Introduc emailul și parola corecte, dar văd „Nume de utilizator sau parolă incorecte.” De ce?**\nVerificați că emailul este scris cu litere mici și că ați deschis cel puțin o dată panoul din blackbox.md. Dacă ați făcut 5 încercări în ultimele 5 minute, intrarea este blocată temporar: așteptați 5 minute fără nicio încercare sau folosiți „Deschide panoul”.\n\n**Am schimbat parola în panou, pe pagina „Setări”. Care parolă este valabilă?**\nParola setată în panou rămâne valabilă doar până la următoarea deschidere a panoului din blackbox.md, când este înlocuită cu parola de pe blackbox.md. Schimbați parola pe blackbox.md; detalii în [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou).\n\n**Contul meu a fost creat cu Google și nu are parolă. Pot intra direct?**\nDa, cu butonul „Google” de pe pagina de autentificare a panoului, dacă ați deschis deja o dată panoul din blackbox.md. Cu nume de utilizator și parolă nu puteți intra.\n\n**Am apăsat „Deschide panoul” pe blackbox.md și s-a deschis această pagină. De ce?**\nIntrarea automată nu a reușit, de exemplu pentru că adresa de email a contului nu este verificată. Verificați adresa, apoi apăsați din nou „Deschide panoul”. Alte cauze: [Nu pot intra în cont sau în panou](#faq.nu-pot-intra).\n",
    "ru": "Страница входа в панель (`app.blackbox.md/login`) позволяет войти в панель app.blackbox.md напрямую, минуя blackbox.md: по имени пользователя и паролю или через Google либо GitLab. Сюда вы попадаете, если набираете адрес в браузере, после окончания сессии или если автоматический вход по кнопке «Открыть панель» на blackbox.md не удался.\n\n**Доступно:** владельцу аккаунта blackbox.md, который хотя бы раз открывал панель из blackbox.md.\n\n> **Совет**\n> Рекомендуемый способ — кнопка «Открыть панель» на blackbox.md («Личный кабинет» → «Профиль», карточка «Ваши услуги») или пункт «Панель управления» в меню аккаунта. Имя пользователя и пароль вводить не нужно, и этот способ работает и для аккаунтов, созданных через Google или GitLab. Подробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n## Что есть на странице\n\nВ шапке формы — «BlackBox» и подзаголовок «Панель сервера», справа вверху — кнопки выбора языка «EN», «RO» и «RU». Страница открывается на английском, если в этом браузере ещё не был выбран другой язык (например, при прошлом входе из blackbox.md). Нажмите «RU»: язык сменится сразу, и браузер его запомнит.\n\n| Элемент | На английском | На русском |\n|---|---|---|\n| Подзаголовок | «Server Panel» | «Панель сервера» |\n| Поле | «Username» | «Имя пользователя» |\n| Поле | «Password» | «Пароль» |\n| Кнопка | «Sign in» | «Войти» |\n| Ссылка | «Forgot password?» | «Забыли пароль?» |\n| Блок с кнопками Google и GitLab | «Sign in with» | «Sign in with» (только на английском) |\n\n## Что вводить\n\n| Поле | Что вводить |\n|---|---|\n| «Имя пользователя» | Email аккаунта blackbox.md строчными буквами, например `ion@companie.md` |\n| «Пароль» | Пароль от аккаунта blackbox.md |\n\nАккаунт в панели создаётся автоматически, когда вы впервые открываете панель из blackbox.md, а его пароль — копия пароля от blackbox.md. Поэтому:\n\n- до первого входа из blackbox.md прямой вход не работает; для первого входа email должен быть подтверждён (см. [Подтверждение адреса email](#cont.verificare-email));\n- у аккаунтов, созданных только через Google или GitLab, пароля для панели нет: используйте кнопки «Google» или «GitLab» на этой странице либо «Открыть панель»;\n- после смены пароля на blackbox.md новый пароль начнёт действовать в панели только после следующего входа в панель из blackbox.md.\n\n## Как войти по имени пользователя и паролю\n\n1. Откройте `https://app.blackbox.md/login`.\n2. Если страница на английском, нажмите «RU».\n3. В поле «Имя пользователя» введите email аккаунта строчными буквами.\n4. В поле «Пароль» введите пароль от аккаунта blackbox.md.\n5. Нажмите «Войти». На кнопке появится «Вход…».\n6. Если в панели включена 2FA, откроется шаг «Двухфакторная аутентификация» (см. ниже). Если нет — откроется панель.\n\nПосле входа всегда открывается страница «Обзор», даже если вы переходили по ссылке на другую страницу. Серверы, заказанные на blackbox.md, находятся в левом меню, в разделе «Мои серверы». Если на странице «Обзор» написано «Серверы не найдены.» и «Обратитесь к администратору для получения доступа.», это нормально: см. [Страница «Обзор» (Overview)](#servere.prezentare-generala).\n\nСессия длится 8 часов с момента входа. Затем при открытии следующей страницы панель вернёт вас к форме входа. Чтобы выйти раньше, откройте меню пользователя (справа вверху) → «Выйти». Выход из панели не завершает сессию на blackbox.md.\n\n## Как войти через Google или GitLab\n\nНад формой, под надписью «Sign in with», есть кнопки «GitLab» и «Google». Они работают, только если:\n\n- ваш аккаунт в панели уже существует, то есть вы хотя бы раз открывали панель из blackbox.md;\n- у аккаунта Google или GitLab тот же email, что и у аккаунта blackbox.md, и этот email подтверждён у провайдера.\n\n1. Нажмите «Google» или «GitLab».\n2. Войдите у провайдера в аккаунт с тем же email и разрешите доступ.\n3. Откроется страница «Обзор». Если включена 2FA, сначала появится шаг «Двухфакторная аутентификация».\n\nЭти кнопки не создают новый аккаунт. Если панель не находит аккаунт с email, полученным от провайдера, появится сообщение «We couldn't finish signing you in. Please try again.»\n\n> **Экран на английском**\n> Блок «Sign in with» и страница, которая открывается после возврата из Google или GitLab, всегда на английском, какой бы язык вы ни выбрали. Со страницы ошибки вернитесь к форме по ссылке «Back to login».\n\n## Шаг «Двухфакторная аутентификация»\n\nПоявляется, только если вы включили 2FA в панели (см. [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa)).\n\n1. На странице появится подсказка «Введите 6-значный код из приложения-аутентификатора.»\n2. Введите код из приложения в поле «Код из приложения».\n3. Нажмите «Проверить».\n\nЕсли телефона нет под рукой, нажмите «Использовать код восстановления», введите один из 8-символьных кодов в поле «Код восстановления» и нажмите «Проверить». Каждый код восстановления срабатывает только один раз.\n\nШаг нужно пройти за 5 минут, не более чем за 5 попыток. Сообщения об ошибках обычно на английском: «Invalid 2FA code» или «Неверный код. Попробуйте ещё раз.» (неверный или уже использованный код), «Too many 2FA attempts» (исчерпаны 5 попыток), «No 2FA session pending» (прошло 5 минут). В двух последних случаях нажмите «Назад» и войдите заново.\n\nПри прямом входе код запрашивается каждый раз. Флажок «Запомнить это устройство на 30 дней» появляется только при входе из blackbox.md кнопкой «Открыть панель».\n\nНа этом шаге есть и ссылка «Потеряли устройство 2FA?». Она относится только к 2FA в панели, а её страницы — на английском. Если у вас нет ни телефона, ни кодов восстановления, прочитайте статью [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut) или напишите на support@blackbox.md.\n\n## Временная блокировка после слишком частых попыток\n\nПанель принимает не более 5 попыток входа за 5 минут для одного имени пользователя и не более 20 попыток за 5 минут с одного IP-адреса. При превышении лимита страница показывает то же сообщение «Неверное имя пользователя или пароль.», даже если пароль верный.\n\n> **Внимание**\n> Каждая попытка во время блокировки продлевает её. Подождите 5 минут, ничего не вводя, или войдите из blackbox.md кнопкой «Открыть панель» — эта блокировка на неё не действует.\n\n## Сообщения об ошибках\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Неверное имя пользователя или пароль.» | Неверный email или пароль; email введён с заглавными буквами; вы ещё не открывали панель из blackbox.md; у аккаунта нет пароля (создан только через Google или GitLab); временная блокировка | Проверьте данные; откройте панель один раз из blackbox.md; подождите 5 минут, ничего не вводя |\n| «We couldn't finish signing you in. Please try again.» | В панели нет аккаунта с email, полученным от Google или GitLab, или произошла другая ошибка | Откройте панель один раз из blackbox.md; входите в Google или GitLab с тем же email; начните вход заново |\n| «Please sign in with an account that has a verified email address.» | Провайдер не подтвердил email | Подтвердите email в Google или GitLab |\n| «Your login session expired. Please start the login again.» или «Your login link expired. Please start the login again.» | Вход у провайдера не был завершён вовремя | Начните вход заново |\n| «Login was cancelled.» | Вы отказали в доступе у провайдера | Начните заново и разрешите доступ |\n\n## Ссылка «Забыли пароль?»\n\nСсылка под кнопкой «Войти» относится только к паролю аккаунта в панели, а не к паролю от blackbox.md; её страницы — на английском. Любой пароль, заданный только в панели, при следующем входе в панель из blackbox.md заменяется паролем от blackbox.md. Если вы забыли пароль, прочитайте статью [Забыли пароль от аккаунта](#cont.parola-uitata).\n\n## Частые вопросы\n\n**Ввожу правильные email и пароль, но вижу «Неверное имя пользователя или пароль.» Почему?**\nПроверьте, что email набран строчными буквами и что вы хотя бы раз открывали панель из blackbox.md. Если за последние 5 минут было 5 попыток, вход временно заблокирован: подождите 5 минут, ничего не вводя, или воспользуйтесь кнопкой «Открыть панель».\n\n**Пароль был изменён в панели, на странице «Настройки». Какой из паролей теперь действует?**\nПароль, заданный в панели, действует только до следующего входа в панель из blackbox.md: затем его заменяет пароль от blackbox.md. Меняйте пароль на blackbox.md; подробнее — в статье [Настройки панели: профиль, пароль и сессии](#cont.setari-panou).\n\n**Аккаунт создан через Google, пароля у меня нет. Можно войти напрямую?**\nДа, кнопкой «Google» на странице входа в панель, если вы уже хотя бы раз открывали панель из blackbox.md. По имени пользователя и паролю войти не получится.\n\n**Нажимаю «Открыть панель» на blackbox.md, а открывается эта страница. Почему?**\nАвтоматический вход не удался — например, потому что email аккаунта не подтверждён. Подтвердите email и снова нажмите «Открыть панель». Другие причины: [Не получается войти в аккаунт или панель](#faq.nu-pot-intra).\n",
    "en": "The panel's sign-in page (`app.blackbox.md/login`) lets you enter the app.blackbox.md panel without going through blackbox.md: with your username and password, or with Google or GitLab. You land here when you type the address in your browser, after your session expires, or when “Deschide panoul” (Open the panel) on blackbox.md cannot sign you in automatically.\n\n**Available to:** the blackbox.md account holder who has opened the panel from blackbox.md at least once.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Tip**\n> The recommended way is still “Deschide panoul” on blackbox.md (“Contul meu” (My account) → “Profil” (Profile), the “Serviciile tale” (Your services) card) or “Panou de administrare” (Admin panel) in the account menu. It does not ask for a username and password, and it also works for accounts created with Google or GitLab. Details: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n## What you see on the page\n\nThe form has the heading “BlackBox”, the subtitle “Server Panel” and, in the top right corner, the language buttons “EN”, “RO” and “RU”. The page opens in English unless another language has already been chosen in this browser (for example, during an earlier entry from blackbox.md). If it is in another language, click “EN”: the language changes immediately and the browser remembers it.\n\n| Element | In English | In Romanian |\n|---|---|---|\n| Subtitle | “Server Panel” | “Panou server” |\n| Field | “Username” | “Nume utilizator” |\n| Field | “Password” | “Parolă” |\n| Button | “Sign in” | “Autentificare” |\n| Link | “Forgot password?” | “Ați uitat parola?” |\n| Block with the Google and GitLab buttons | “Sign in with” | “Sign in with” (English only) |\n\n## What to enter\n\n| Field | What to enter |\n|---|---|\n| “Username” | The email address of your blackbox.md account, in lowercase letters, for example `ion@companie.md` |\n| “Password” | The password of your blackbox.md account |\n\nYour panel account is created automatically the first time you open the panel from blackbox.md, and its password is a copy of your blackbox.md password. This means:\n\n- direct sign-in does not work until you open the panel from blackbox.md for the first time; for that first entry, your email address must be verified (see [Verifying your email address](#cont.verificare-email));\n- accounts created only with Google or GitLab have no panel password: use the “Google” or “GitLab” buttons on this page, or “Deschide panoul” (Open the panel);\n- after you change your password on blackbox.md, the new password works in the panel only after the next time you open the panel from blackbox.md.\n\n## How to sign in with your username and password\n\n1. Open `https://app.blackbox.md/login`.\n2. If the page is in another language, click “EN”.\n3. In “Username”, enter your account's email address in lowercase letters.\n4. In “Password”, enter your blackbox.md account password.\n5. Click “Sign in”. The button shows “Signing in…”.\n6. If you have turned on 2FA in the panel, the “Two-Factor Authentication” step appears (see below). Otherwise, the panel opens.\n\nAfter you sign in, you always land on the “Overview” page, even if you started from a link to another page. The servers you ordered on blackbox.md are in the left menu, under “My Servers”. If “Overview” shows “No servers found.” and “Contact an administrator to get access.”, this is normal: see [The “Overview” page](#servere.prezentare-generala).\n\nYour session lasts 8 hours from sign-in. After that, the next page you open takes you back to the sign-in form. To sign out earlier, open the user menu (top right) → “Logout”. Logging out of the panel does not sign you out of blackbox.md.\n\n## How to sign in with Google or GitLab\n\nAbove the form, under “Sign in with”, are the “GitLab” and “Google” buttons. They work only if:\n\n- your panel account already exists, which means you have opened the panel from blackbox.md at least once;\n- your Google or GitLab account has the same email address as your blackbox.md account, confirmed with the provider.\n\n1. Click “Google” or “GitLab”.\n2. Sign in with the provider using the account that has the same email address, and allow access.\n3. The panel opens “Overview”. If you have turned on 2FA, the “Two-Factor Authentication” step appears first.\n\nThe panel's buttons do not create a new account. If the panel cannot find an account with the email address it received from the provider, it shows “We couldn't finish signing you in. Please try again.” To return to the form from this error page, use the “Back to login” link.\n\n## The “Two-Factor Authentication” step\n\nIt appears only if you have turned on 2FA in the panel (see [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa)).\n\n1. The page shows the message “Enter the 6-digit code from your authenticator app.”\n2. Enter the code from the app in the “Authenticator Code” field.\n3. Click “Verify”.\n\nIf your phone is not at hand, click “Use recovery code instead”, enter one of your 8-character codes in the “Recovery Code” field and click “Verify”. Each recovery code works only once.\n\nYou must complete this step within 5 minutes, with no more than 5 attempts. The error messages are: “Invalid 2FA code” or “Invalid code. Please try again.” (wrong or already used code), “Too many 2FA attempts” (you have used all 5 attempts), “No 2FA session pending” (the 5 minutes have passed). In the last two cases, click “Back” and sign in again.\n\nWith direct sign-in, the code is requested every time. The “Remember this device for 30 days” option appears only when you enter from blackbox.md with “Deschide panoul” (Open the panel).\n\nThis step also has the “Lost 2FA device?” link. It applies only to 2FA in the panel. If you have neither your phone nor your recovery codes, read [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut) or write to support@blackbox.md.\n\n## Temporary lockout after too many attempts\n\nThe panel accepts no more than 5 sign-in attempts in 5 minutes for the same username, and 20 attempts in 5 minutes from the same IP address. Above the limit, the page shows the same message, “Invalid username or password.”, even if the password is correct.\n\n> **Warning**\n> Every attempt you make during the lockout extends it. Wait 5 minutes without any attempt, or enter from blackbox.md with “Deschide panoul” (Open the panel), which this lockout does not affect.\n\n## Error messages\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Invalid username or password.” | Wrong email address or password; email address typed with capital letters; you have not yet opened the panel from blackbox.md; account without a password (created only with Google or GitLab); temporary lockout | Check what you entered; open the panel once from blackbox.md; wait 5 minutes without any attempt |\n| “We couldn't finish signing you in. Please try again.” | The panel has no account with the address received from Google or GitLab, or another error occurred | Open the panel once from blackbox.md; use the Google or GitLab account with the same address; start again from the beginning |\n| “Please sign in with an account that has a verified email address.” | The provider has not confirmed your email address | Confirm your address with Google or GitLab |\n| “Your login session expired. Please start the login again.” or “Your login link expired. Please start the login again.” | Signing in with the provider was not completed in time | Start again from the beginning |\n| “Login was cancelled.” | You declined access with the provider | Start again and allow access |\n\n## The “Forgot password?” link\n\nThe link under the “Sign in” button applies only to the password of your panel account, not to your blackbox.md password. Any password set only in the panel is replaced with your blackbox.md password the next time you open the panel from blackbox.md. If you forgot your password, read [Forgot your account password](#cont.parola-uitata).\n\n## Frequently asked questions\n\n**I enter the correct email address and password, but I see “Invalid username or password.” Why?**\nCheck that your email address is typed in lowercase letters and that you have opened the panel from blackbox.md at least once. If you have made 5 attempts in the last 5 minutes, sign-in is temporarily blocked: wait 5 minutes without any attempt, or use “Deschide panoul” (Open the panel).\n\n**I changed my password in the panel, on the “Settings” page. Which password is valid?**\nThe password set in the panel stays valid only until the next time you open the panel from blackbox.md, when it is replaced with your blackbox.md password. Change your password on blackbox.md; details in [Panel settings: profile, password, and sessions](#cont.setari-panou).\n\n**My account was created with Google and has no password. Can I sign in directly?**\nYes, with the “Google” button on the panel's sign-in page, if you have already opened the panel from blackbox.md once. You cannot sign in with a username and password.\n\n**I clicked “Deschide panoul” on blackbox.md and this page opened. Why?**\nAutomatic sign-in failed, for example because your account's email address is not verified. Verify your address, then click “Deschide panoul” again. Other causes: [I can't sign in to my account or the panel](#faq.nu-pot-intra).\n"
   }
  },
  {
   "id": "servere.interfata-panoului",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/interfata-panoului/",
    "ru": "https://docs.blackbox.md/ru/servere/interfata-panoului/",
    "en": "https://docs.blackbox.md/en/servere/interfata-panoului/"
   },
   "title": {
    "ro": "Interfața panoului: meniu, bara de sus și limbă",
    "ru": "Интерфейс панели: меню, верхняя панель и язык",
    "en": "Panel interface: menu, top bar and language"
   },
   "summary": {
    "ro": "Ce conține meniul lateral, bara de sus (sold, limbă, temă, utilizator) și cum arată panoul pe telefon și pe tabletă.",
    "ru": "Что в боковом меню и верхней панели (баланс, язык, тема, пользователь) и как панель выглядит на телефоне и планшете.",
    "en": "What's in the sidebar and the top bar (balance, language, theme, user) and how the panel looks on a phone and on a tablet."
   },
   "markdown": {
    "ro": "Toate paginile panoului app.blackbox.md au aceeași structură: în stânga, meniul lateral cu paginile panoului; sus, bara cu legătura către blackbox.md, soldul, limba, tema și meniul utilizatorului; în rest, conținutul paginii. Intrați în panou de pe blackbox.md, din „Contul meu” → „Panou de administrare”: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n**Disponibil pentru:** orice client autentificat în panoul app.blackbox.md.\n\n## Meniul lateral\n\n| Secțiune | Element | Ce găsiți |\n|---|---|---|\n| „Infrastructură” | „Prezentare generală” | pagina de start a panoului: [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala) |\n| „Infrastructură” | „Monitorizare” | starea serverelor dvs. și alertele: [Pagina „Monitorizare”](#servicii.monitorizare) |\n| „Infrastructură” | „Serverele mele” | serverele dvs. și acțiunile asupra lor: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele) |\n| „Infrastructură” | „DNS” | conectarea Cloudflare sau GoDaddy și înregistrările DNS: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare) |\n| „Cont” | „Securitate” | autentificarea în doi pași (2FA): [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa) |\n| „Cont” | „Setări” | profilul din panou, parola panoului și sesiunile: [Setările panoului: profil, parolă și sesiuni](#cont.setari-panou) |\n\n- Pagina deschisă este evidențiată în meniu.\n- Logo-ul din partea de sus a meniului duce la „Prezentare generală”.\n- Între „Infrastructură” și „Cont” apare titlul „Operațiuni”, fără elemente. Pentru clienți secțiunea este goală; o puteți ignora.\n\n### Restrângerea meniului\n\n1. Apăsați butonul cu săgeată din dreapta logo-ului (indicația „Restrânge bara laterală”).\n2. Meniul devine o coloană îngustă, doar cu pictograme. Țineți cursorul pe o pictogramă ca să vedeți numele paginii.\n3. Pentru a extinde meniul, apăsați din nou săgeata (indicația „Extinde bara laterală”).\n\nAlegerea se păstrează în acest browser și la următoarele vizite. În alt browser sau pe alt dispozitiv meniul apare extins.\n\n## Bara de sus\n\nElementele, de la stânga la dreapta:\n\n| Element | Ce face |\n|---|---|\n| „← blackbox.md” (indicația „Înapoi la blackbox.md”) | Deschide „Contul meu” pe blackbox.md în aceeași filă. Sesiunea din panou nu se încheie. |\n| Soldul, de exemplu „0,00 MDL” | Deschide pagina „Sold” pe blackbox.md într-o filă nouă. |\n| „EN”, „RO”, „RU” | Schimbă limba panoului. |\n| Butonul cu lună sau cu soare | Comută între tema întunecată și cea luminoasă. |\n| Inițialele și adresa de email | Deschide meniul utilizatorului. |\n\n### Soldul\n\n- Indicatorul arată soldul contului dvs. blackbox.md, în MDL, cu două zecimale. Un cont care nu a fost alimentat niciodată arată „0,00 MDL”.\n- Apăsați pe sumă (indicația „Vedeți soldul pe blackbox.md”): pagina „Sold” de pe blackbox.md se deschide într-o filă nouă. Detalii: [Soldul contului: cum funcționează](#plati.sold).\n- Suma se citește o singură dată, când panoul se încarcă în browser. Trecerea la altă pagină din meniu nu o actualizează. După o alimentare sau o plată, reîncărcați pagina ca să vedeți suma nouă.\n- Dacă soldul nu poate fi citit în acel moment, indicatorul lipsește; restul panoului funcționează normal.\n\n> **Important**\n> Soldul nu se alimentează din panou. Alimentarea se face numai pe blackbox.md: [Alimentarea soldului](#plati.alimentare-sold).\n\n### Limba\n\n1. Apăsați „EN”, „RO” sau „RU” (butonul activ este evidențiat).\n2. Textele panoului se schimbă imediat, fără reîncărcarea paginii.\n\n- Alegerea se păstrează în acest browser timp de un an.\n- La fiecare intrare din blackbox.md („Panou de administrare”, „Deschide panoul” sau „Gestionează în app.blackbox.md”), panoul preia din nou limba site-ului: română sau rusă. Dacă preferați engleza, apăsați „EN” după fiecare intrare.\n- Când panoul este în rusă, „← blackbox.md” și indicatorul de sold deschid versiunea în rusă a site-ului; când este în română sau engleză, versiunea în română.\n- Limba site-ului și a emailurilor: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n> **Ecran în limba engleză**\n> Unele texte rămân în engleză în orice limbă a panoului: tabelul serverelor din „Prezentare generală” și raportul de audit deschis cu „View”, pagina „403 — Access denied”, paginile de resetare a parolei și a 2FA din panou, textul „Sign in with” de pe pagina de autentificare, statusul serverului din „Serverele mele” (de exemplu `active`) și titlul „BlackBox Server Panel” din fila browserului (pe majoritatea paginilor).\n\n### Tema\n\n- Implicit, panoul folosește tema dispozitivului (luminoasă sau întunecată).\n- Butonul cu lună („Comută pe modul întunecat”) trece panoul pe tema întunecată. În tema întunecată, butonul cu soare („Comută pe modul luminos”) revine la tema luminoasă.\n- După ce apăsați butonul, alegerea se păstrează în acest browser.\n\n### Meniul utilizatorului\n\nButonul din dreapta sus arată un cerc cu primele două litere ale numelui de utilizator, numele de utilizator (adresa dvs. de email) și o săgeată. Apăsați-l pentru a deschide meniul:\n\n| Opțiune | Ce face |\n|---|---|\n| „Securitate și 2FA” | Deschide pagina „Securitate”, unde activați autentificarea în doi pași. |\n| „Deconectare” | Încheie sesiunea din panou în acest browser și deschide pagina de autentificare a panoului. Pe blackbox.md rămâneți autentificat. |\n\nMeniul se închide cu un clic în afara lui sau cu tasta Esc. „Setări” nu se află în acest meniu, ci în meniul lateral, la „Cont”.\n\n## Panoul pe telefon și pe tabletă\n\nPe telefon, meniul lateral este ascuns:\n\n1. Apăsați butonul cu trei linii din stânga barei de sus („Deschide meniul”).\n2. Meniul glisează din stânga peste pagină, iar restul ecranului se întunecă.\n3. Alegeți o pagină: meniul se închide singur. Îl puteți închide și cu „X” („Închide meniul”) sau atingând zona întunecată.\n\nPe telefon, „← blackbox.md” apare doar ca pictogramă, iar butonul de restrângere a meniului nu este afișat.\n\nPe tabletă, meniul lateral apare ca o coloană îngustă de pictograme, fără titlurile secțiunilor.\n\n## Link-uri către pagini care nu sunt pentru clienți\n\nPanoul conține și pagini de lucru ale echipei BLACKBOX. Dacă deschideți un link către o astfel de pagină (de exemplu, o adresă tastată de mână), de regulă vedeți una dintre situațiile de mai jos:\n\n| Ce vedeți | Ce faceți |\n|---|---|\n| Ajungeți direct la „Prezentare generală” | Nu trebuie să faceți nimic; așa funcționează panoul. |\n| Pagina „403 — Access denied”, cu textele „You don't have permission to view …” și „Signed in as … (client)” | Apăsați „Go to dashboard” ca să reveniți la „Prezentare generală”. |\n| O pagină de informare cu butonul „Înapoi la prezentare generală” | Apăsați butonul. |\n\nEste normal: contul și serverele dvs. nu sunt afectate. Nu este nevoie să ne scrieți, chiar dacă pagina 403 vă îndeamnă să contactați un „Superadmin”. Dacă pagina deschisă afișează doar mesaje de eroare, alegeți o pagină din meniul lateral.\n\n## După o pauză lungă: „Nu s-au putut încărca…”\n\nSesiunea din panou durează 8 ore de la autentificare și nu se prelungește cât timp lucrați. Dacă panoul a rămas deschis mai mult timp sau ați folosit „Deconectare de peste tot” pe alt dispozitiv, pagina afișată nu mai primește date: apare un mesaj de eroare, de exemplu „Nu s-au putut încărca datele serverelor. Încercați mai târziu.” sau „Unauthorized”, iar acțiunile nu reușesc.\n\n1. Reîncărcați pagina (tasta F5 sau butonul de reîncărcare al browserului).\n2. Dacă sesiunea a expirat, se deschide pagina de autentificare a panoului.\n3. Intrați din nou din blackbox.md, cu „Panou de administrare” ([Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)), sau autentificați-vă direct ([Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa)).\n\nFiecare intrare din blackbox.md pornește o sesiune nouă de 8 ore. Alte mesaje: [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n\n## Întrebări frecvente\n\n**„Prezentare generală” arată „Niciun server găsit. Contactați un administrator pentru a obține acces.” Unde sunt serverele mele?**\nÎn „Serverele mele”. „Prezentare generală” afișează doar rapoartele de audit ale serverelor de companie administrate de BLACKBOX, așa că pentru serverele comandate pe blackbox.md pagina este goală. Este normal.\n\n**Am ales „EN”, dar panoul a revenit la română.**\nLa fiecare intrare din blackbox.md panoul preia limba site-ului. Apăsați „EN” după intrare.\n\n**Am alimentat soldul, dar suma din bara de sus a rămas aceeași.**\nIndicatorul nu se actualizează singur, nici când treceți la altă pagină din meniu. Reîncărcați pagina din panou.\n\n**„Deconectare” din panou mă deconectează și de pe blackbox.md?**\nNu. Panoul și blackbox.md au sesiuni separate. Pe blackbox.md apăsați „Deconectare” în meniul contului.\n\n**Nu mai văd numele paginilor în meniul lateral.**\nMeniul este restrâns: apăsați săgeata de sus („Extinde bara laterală”). Pe tabletă meniul rămâne mereu îngust, iar pe telefon îl deschideți cu butonul „Deschide meniul”.\n",
    "ru": "Все страницы панели app.blackbox.md устроены одинаково: слева — боковое меню со страницами панели, сверху — панель со ссылкой на blackbox.md, балансом, выбором языка и темы и меню пользователя, остальное место занимает содержимое страницы. В панель входят с blackbox.md: «Личный кабинет» → «Панель управления». Подробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n**Доступно:** любому клиенту, вошедшему в панель app.blackbox.md.\n\n## Боковое меню\n\n| Раздел | Пункт | Что там |\n|---|---|---|\n| «Инфраструктура» | «Обзор» | стартовая страница панели: [Страница «Обзор» (Overview)](#servere.prezentare-generala) |\n| «Инфраструктура» | «Мониторинг» | состояние ваших серверов и оповещения: [Страница «Мониторинг»](#servicii.monitorizare) |\n| «Инфраструктура» | «Мои серверы» | ваши серверы и действия с ними: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele) |\n| «Инфраструктура» | «DNS» | подключение Cloudflare или GoDaddy и DNS-записи: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare) |\n| «Аккаунт» | «Безопасность» | двухфакторная аутентификация (2FA): [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa) |\n| «Аккаунт» | «Настройки» | профиль панели, пароль панели и сессии: [Настройки панели: профиль, пароль и сессии](#cont.setari-panou) |\n\n- Открытая страница подсвечена в меню.\n- Логотип в верхней части меню ведёт на «Обзор».\n- Между разделами «Инфраструктура» и «Аккаунт» выводится заголовок «Операции» без пунктов. Для клиентов этот раздел пустой — на него можно не обращать внимания.\n\n### Как свернуть меню\n\n1. Нажмите кнопку со стрелкой справа от логотипа (подсказка «Свернуть боковую панель»).\n2. Меню превратится в узкую колонку из значков. Чтобы увидеть название страницы, наведите курсор на значок.\n3. Чтобы развернуть меню, снова нажмите на стрелку (подсказка «Развернуть боковую панель»).\n\nВыбор сохраняется в этом браузере и действует при следующих визитах. В другом браузере или на другом устройстве меню будет развёрнуто.\n\n## Верхняя панель\n\nЭлементы слева направо:\n\n| Элемент | Что делает |\n|---|---|\n| «← blackbox.md» (подсказка «Вернуться на blackbox.md») | Открывает личный кабинет на blackbox.md в той же вкладке. Сессия в панели при этом не завершается. |\n| Баланс, например «0,00 MDL» | Открывает страницу «Баланс» на blackbox.md в новой вкладке. |\n| «EN», «RO», «RU» | Переключают язык панели. |\n| Кнопка с луной или солнцем | Переключает тёмную и светлую тему. |\n| Инициалы и email | Открывают меню пользователя. |\n\n### Баланс\n\n- Индикатор показывает баланс вашего аккаунта blackbox.md в MDL с двумя знаками после запятой. Если баланс ни разу не пополнялся, вы увидите «0,00 MDL».\n- Нажмите на сумму (подсказка «Посмотреть баланс на blackbox.md») — в новой вкладке откроется страница «Баланс» на blackbox.md. Подробнее: [Баланс аккаунта: как это работает](#plati.sold).\n- Сумма считывается один раз — когда панель загружается в браузере. При переходе на другую страницу через меню она не обновляется. После пополнения или оплаты обновите страницу, чтобы увидеть новую сумму.\n- Если баланс в данный момент недоступен, индикатор не отображается; остальная панель работает как обычно.\n\n> **Важно**\n> Пополнить баланс в панели нельзя — только на blackbox.md: [Пополнение баланса](#plati.alimentare-sold).\n\n### Язык\n\n1. Нажмите «EN», «RO» или «RU» (активная кнопка подсвечена).\n2. Тексты панели сменятся сразу, без перезагрузки страницы.\n\n- Выбор сохраняется в этом браузере на год.\n- При каждом входе с blackbox.md («Панель управления», «Открыть панель» или «Управление в app.blackbox.md») панель снова переключается на язык сайта — румынский или русский. Если вам удобнее английский, нажимайте «EN» после каждого входа.\n- Когда панель на русском, «← blackbox.md» и индикатор баланса открывают русскую версию сайта; когда на румынском или английском — румынскую.\n- Язык сайта и писем: [Язык сайта, панели и писем](#cont.limba).\n\n> **Экран на английском**\n> Некоторые тексты остаются английскими при любом языке панели: таблица серверов на странице «Обзор» и отчёт аудита, который открывается кнопкой «View», страница «403 — Access denied», страницы сброса пароля и 2FA в панели, надпись «Sign in with» на странице входа, статус сервера на странице «Мои серверы» (например, `active`) и заголовок «BlackBox Server Panel» на вкладке браузера (на большинстве страниц).\n\n### Тема\n\n- По умолчанию панель использует тему устройства (светлую или тёмную).\n- Кнопка с луной («Переключить на тёмную тему») включает тёмную тему. В тёмной теме кнопка с солнцем («Переключить на светлую тему») возвращает светлую.\n- После нажатия кнопки выбор сохраняется в этом браузере.\n\n### Меню пользователя\n\nНа кнопке в правом верхнем углу — кружок с первыми двумя буквами имени пользователя, само имя пользователя (ваш email) и стрелка. Нажмите на неё, чтобы открыть меню:\n\n| Пункт | Что делает |\n|---|---|\n| «Безопасность и 2FA» | Открывает страницу «Безопасность», где включается двухфакторная аутентификация. |\n| «Выйти» | Завершает сессию в панели в этом браузере и открывает страницу входа в панель. На blackbox.md вы остаётесь в аккаунте. |\n\nМеню закрывается щелчком за его пределами или клавишей Esc. Пункта «Настройки» в этом меню нет: он находится в боковом меню, в разделе «Аккаунт».\n\n## Панель на телефоне и планшете\n\nНа телефоне боковое меню скрыто:\n\n1. Нажмите кнопку с тремя полосками слева в верхней панели («Открыть меню»).\n2. Меню выдвинется слева поверх страницы, остальной экран затемнится.\n3. Выберите страницу — меню закроется само. Закрыть его можно и крестиком («Закрыть меню») или касанием затемнённой области.\n\nНа телефоне «← blackbox.md» отображается только значком, а кнопки сворачивания меню нет.\n\nНа планшете боковое меню отображается узкой колонкой из значков, без заголовков разделов.\n\n## Ссылки на страницы, не предназначенные для клиентов\n\nВ панели есть и рабочие страницы команды BLACKBOX. Если вы откроете ссылку на такую страницу (например, введёте адрес вручную), обычно происходит одно из следующего:\n\n| Что вы видите | Что делать |\n|---|---|\n| Сразу открывается «Обзор» | Ничего делать не нужно: так устроена панель. |\n| Страница «403 — Access denied» с текстами «You don't have permission to view …» и «Signed in as … (client)» | Нажмите «Go to dashboard», чтобы вернуться на «Обзор». |\n| Информационная страница с кнопкой «Вернуться к обзору» | Нажмите эту кнопку. |\n\nЭто нормально: ваш аккаунт и серверы не затронуты. Писать нам не нужно, даже если страница 403 предлагает обратиться к «Superadmin». Если на открывшейся странице только сообщения об ошибках, выберите страницу в боковом меню.\n\n## После долгого перерыва: «Не удалось загрузить…»\n\nСессия в панели длится 8 часов с момента входа и не продлевается, пока вы работаете. Если панель была открыта дольше или вы нажали «Выйти везде» на другом устройстве, открытая страница перестаёт получать данные: вместо них появляется сообщение об ошибке, например «Не удалось загрузить данные серверов. Попробуйте позже.» или «Unauthorized», а действия не выполняются.\n\n1. Обновите страницу (клавиша F5 или кнопка обновления в браузере).\n2. Если сессия истекла, откроется страница входа в панель.\n3. Войдите снова с blackbox.md через «Панель управления» ([Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)) или напрямую ([Прямой вход на app.blackbox.md](#servere.autentificare-directa)).\n\nКаждый вход с blackbox.md начинает новую сессию на 8 часов. Другие сообщения: [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n\n## Частые вопросы\n\n**На странице «Обзор» написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» Где мои серверы?**\nНа странице «Мои серверы». «Обзор» показывает только отчёты аудита серверов компаний, которые администрирует BLACKBOX, поэтому для серверов, заказанных на blackbox.md, эта страница пустая. Это нормально.\n\n**Почему панель снова на русском, хотя был выбран «EN»?**\nПри каждом входе с blackbox.md панель переключается на язык сайта. Нажмите «EN» после входа.\n\n**После пополнения баланса сумма в верхней панели не изменилась.**\nИндикатор не обновляется сам — даже при переходе на другую страницу через меню. Обновите страницу панели.\n\n**Если нажать «Выйти» в панели, я выйду и из blackbox.md?**\nНет. У панели и blackbox.md отдельные сессии. На blackbox.md нажмите «Выйти» в меню аккаунта.\n\n**В боковом меню пропали названия страниц.**\nМеню свёрнуто: нажмите на стрелку вверху («Развернуть боковую панель»). На планшете меню всегда узкое, а на телефоне его открывает кнопка «Открыть меню».\n",
    "en": "Every page of the app.blackbox.md panel has the same layout: on the left, the sidebar with the panel's pages; at the top, a bar with the link to blackbox.md, your balance, the language, the theme and the user menu; everything else is the page content. You enter the panel from blackbox.md, through “Contul meu” (My account) → “Panou de administrare” (Admin panel): [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n**Available to:** any customer signed in to the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Sidebar\n\n| Section | Item | What you find there |\n|---|---|---|\n| “Infrastructure” | “Overview” | the panel's start page: [The “Overview” page](#servere.prezentare-generala) |\n| “Infrastructure” | “Monitoring” | the status of your servers and alerts: [The “Monitoring” page](#servicii.monitorizare) |\n| “Infrastructure” | “My Servers” | your servers and the actions you can take on them: [The “My Servers” page: the server card](#servere.serverele-mele) |\n| “Infrastructure” | “DNS” | connecting Cloudflare or GoDaddy, and DNS records: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare) |\n| “Account” | “Security” | two-factor authentication (2FA): [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa) |\n| “Account” | “Settings” | your panel profile, the panel password and sessions: [Panel settings: profile, password, and sessions](#cont.setari-panou) |\n\n- The page you have open is highlighted in the menu.\n- The logo at the top of the menu takes you to “Overview”.\n- Between “Infrastructure” and “Account” there is an “Operations” heading with no items under it. For customers this section is empty; you can ignore it.\n\n### Collapsing the sidebar\n\n1. Click the arrow button to the right of the logo (tooltip “Collapse sidebar”).\n2. The menu turns into a narrow column of icons only. Hold the pointer over an icon to see the page name.\n3. To expand the menu, click the arrow again (tooltip “Expand sidebar”).\n\nYour choice is kept in this browser for your next visits too. In another browser or on another device, the menu appears expanded.\n\n## Top bar\n\nThe items, from left to right:\n\n| Item | What it does |\n|---|---|\n| “← blackbox.md” (tooltip “Back to blackbox.md”) | Opens “Contul meu” (My account) on blackbox.md in the same tab. Your panel session does not end. |\n| Your balance, for example “0,00 MDL” | Opens the “Sold” (Balance) page on blackbox.md in a new tab. |\n| “EN”, “RO”, “RU” | Change the panel language. |\n| The moon or sun button | Switches between the dark and the light theme. |\n| Your initials and email address | Opens the user menu. |\n\n### Balance\n\n- The indicator shows the balance of your blackbox.md account in MDL, with two decimal places. An account that has never been topped up shows “0,00 MDL”.\n- Click the amount (tooltip “View balance on blackbox.md”): the “Sold” page on blackbox.md opens in a new tab. Details: [Account balance: how it works](#plati.sold).\n- The amount is read only once, when the panel loads in your browser. Moving to another page from the menu does not update it. After a top-up or a payment, reload the page to see the new amount.\n- If the balance cannot be read at that moment, the indicator is not shown; the rest of the panel works normally.\n\n> **Important**\n> You cannot top up your balance from the panel. Top-ups are made only on blackbox.md: [Topping up your balance](#plati.alimentare-sold).\n\n### Language\n\n1. Click “EN”, “RO” or “RU” (the active button is highlighted).\n2. The panel's text changes immediately, without reloading the page.\n\n- Your choice is kept in this browser for one year.\n- Each time you enter from blackbox.md (“Panou de administrare” (Admin panel), “Deschide panoul” (Open the panel) or “Gestionează în app.blackbox.md” (Manage in app.blackbox.md)), the panel takes the website's language again: Romanian or Russian. If you prefer English, click “EN” after each entry.\n- When the panel is in Russian, “← blackbox.md” and the balance indicator open the Russian version of the website; when it is in Romanian or English, they open the Romanian version.\n- Language of the website and of emails: [Language of the website, the panel and emails](#cont.limba).\n\n### Theme\n\n- By default, the panel uses your device's theme (light or dark).\n- The moon button (“Switch to dark mode”) switches the panel to the dark theme. In the dark theme, the sun button (“Switch to light mode”) switches back to the light theme.\n- Once you click the button, your choice is kept in this browser.\n\n### User menu\n\nThe button at the top right shows a circle with the first two letters of your username, your username (your email address) and an arrow. Click it to open the menu:\n\n| Option | What it does |\n|---|---|\n| “Security & 2FA” | Opens the “Security” page, where you turn on two-factor authentication. |\n| “Logout” | Ends your panel session in this browser and opens the panel's sign-in page. You stay signed in on blackbox.md. |\n\nThe menu closes when you click outside it or press Esc. “Settings” is not in this menu; it is in the sidebar, under “Account”.\n\n## The panel on a phone and on a tablet\n\nOn a phone, the sidebar is hidden:\n\n1. Tap the three-line button on the left of the top bar (“Open menu”).\n2. The menu slides in from the left over the page, and the rest of the screen is dimmed.\n3. Choose a page: the menu closes by itself. You can also close it with the “X” (“Close menu”) or by tapping the dimmed area.\n\nOn a phone, “← blackbox.md” appears only as an icon, and the button that collapses the menu is not shown.\n\nOn a tablet, the sidebar appears as a narrow column of icons, without the section headings.\n\n## Links to pages that are not for customers\n\nThe panel also contains working pages for the BLACKBOX team. If you open a link to one of these pages (for example, an address typed by hand), you will usually see one of the following:\n\n| What you see | What to do |\n|---|---|\n| You land directly on “Overview” | You don't need to do anything; this is how the panel works. |\n| The “403 — Access denied” page, with the text “You don't have permission to view …” and “Signed in as … (client)” | Click “Go to dashboard” to go back to “Overview”. |\n| An information page with the “Back to Overview” button | Click the button. |\n\nThis is normal: your account and your servers are not affected. You don't need to write to us, even if the 403 page tells you to contact a “Superadmin”. If the page that opens shows only error messages, choose a page from the sidebar.\n\n## After a long break: “Failed to load…”\n\nA panel session lasts 8 hours from sign-in and is not extended while you work. If the panel has stayed open longer, or you used “Sign Out Everywhere” on another device, the page on screen stops receiving data: an error message appears instead, for example “Failed to load server data. Please try again later.” or “Unauthorized”, and actions fail.\n\n1. Reload the page (the F5 key or your browser's reload button).\n2. If the session has expired, the panel's sign-in page opens.\n3. Enter again from blackbox.md with “Panou de administrare” (Admin panel) ([Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)), or sign in directly ([Signing in directly to app.blackbox.md](#servere.autentificare-directa)).\n\nEach entry from blackbox.md starts a new 8-hour session. Other messages: [Panel error messages and what they mean](#faq.erori-panou).\n\n## Frequently asked questions\n\n**“Overview” shows “No servers found. Contact an administrator to get access.” Where are my servers?**\nIn “My Servers”. “Overview” shows only the audit reports for company servers managed by BLACKBOX, so for servers ordered on blackbox.md this page is empty. This is normal.\n\n**I chose “EN”, but the panel switched back to Romanian.**\nEach time you enter from blackbox.md, the panel takes the website's language. Click “EN” after you enter.\n\n**I topped up my balance, but the amount in the top bar stayed the same.**\nThe indicator does not update by itself, not even when you move to another page from the menu. Reload the panel page.\n\n**Does “Logout” in the panel also sign me out of blackbox.md?**\nNo. The panel and blackbox.md have separate sessions. On blackbox.md, click “Deconectare” (Sign out) in the account menu.\n\n**I no longer see the page names in the sidebar.**\nThe menu is collapsed: click the arrow at the top (“Expand sidebar”). On a tablet the menu always stays narrow, and on a phone you open it with the “Open menu” button.\n"
   }
  },
  {
   "id": "servere.prezentare-generala",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/prezentare-generala/",
    "ru": "https://docs.blackbox.md/ru/servere/prezentare-generala/",
    "en": "https://docs.blackbox.md/en/servere/prezentare-generala/"
   },
   "title": {
    "ro": "Pagina „Prezentare generală” (Overview)",
    "ru": "Страница «Обзор» (Overview)",
    "en": "The “Overview” page"
   },
   "summary": {
    "ro": "De ce prima pagină a panoului poate afișa „Niciun server găsit” și când arată rapoarte de audit.",
    "ru": "Почему первая страница панели может показывать «Серверы не найдены» и когда на ней видны отчёты аудита.",
    "en": "Why the panel's first page may show “No servers found” and when it shows audit reports."
   },
   "markdown": {
    "ro": "Pagina „Prezentare generală” (`app.blackbox.md/`, bara laterală → „Infrastructură” → „Prezentare generală”) este prima pagină pe care o vedeți după intrarea în panoul app.blackbox.md. Titlul ei este „Rapoarte de audit al serverelor”: aici apar rapoartele de audit ale serverelor pe care BLACKBOX le administrează pentru companii. Serverele comandate de dvs. pe blackbox.md nu apar aici, ci în „Serverele mele”.\n\n**Disponibil pentru:** orice client autentificat în panou. Rapoartele de audit apar doar dacă BLACKBOX v-a acordat acces la serverele unei companii pe care o administrează.\n\n## Când ajungeți pe această pagină\n\nPanoul deschide „Prezentare generală” când:\n\n- apăsați „Deschide panoul” sau „Panou de administrare” în „Contul meu” pe blackbox.md ([Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou));\n- vă autentificați direct pe `app.blackbox.md/login` ([Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa));\n- apăsați logo-ul din partea de sus a barei laterale.\n\n> **Sfat**\n> Ca să ajungeți direct la un server comandat, deschideți pe blackbox.md „Contul meu” → „Comenzi” și apăsați „Gestionează în app.blackbox.md” la comanda respectivă. Se deschide „Serverele mele”, cu cardul serverului evidențiat.\n\n## „Niciun server găsit”: pagina goală\n\nDacă aveți doar servere comandate pe blackbox.md, pagina arată așa:\n\n- titlul „Rapoarte de audit al serverelor”, iar sub el doar „· 0 servere”, fără dată;\n- insignele „0 servere”, „0 accesibile”, „0 inaccesibile”, „0 cu disc critic”, „0 neauditate”;\n- textul „Niciun server găsit. Contactați un administrator pentru a obține acces.”\n\nEste normal: nu lipsește nimic și nu trebuie să cereți acces. Serverele dvs. le găsiți astfel:\n\n1. În bara laterală, la „Infrastructură”, apăsați „Serverele mele”.\n2. Se deschide pagina „Serverele mele”, cu câte un card pentru fiecare server activ. Detalii: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\nDacă serverul lipsește și din „Serverele mele”, vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n## Rapoartele de audit pentru serverele administrate\n\nDacă aveți acces la serverele unei companii administrate de BLACKBOX, insignele arată numere reale, iar sub titlu apar data și ora ultimului audit (în UTC) și numărul de servere.\n\nBlocul „Rezumat” are șase plăci:\n\n| Placă | Ce numără |\n|---|---|\n| „Total servere” | Toate serverele la care aveți acces |\n| „Accesibile” | Serverele la care ultimul audit s-a conectat (starea `OK` sau `PARTIAL`) |\n| „Inaccesibile” | Toate celelalte servere, inclusiv cele încă neauditate |\n| „Disc critic ≥90%” | Serverele cu cel puțin o partiție ocupată 90% sau mai mult |\n| „Fără fail2ban” | Serverele pe care auditul nu a găsit fail2ban instalat (inclusiv cele neauditate) |\n| „Neauditate” | Serverele care nu au încă date de audit |\n\nBlocul „Toate serverele” conține tabelul serverelor:\n\n- câmpul de căutare „Search name, IP, or domain…” și filtrele „All Statuses”, „All Disk”, „Docker: Any”, „fail2ban: Any”, „Audit: Any”; cu acces la mai multe companii apare și „All Clients”. După ce căutați sau alegeți un filtru, apare butonul „Clear”, care anulează căutarea și filtrele;\n- coloanele „Name / IP”, „OS”, „Role”, „Port”, „Docker”, „fail2ban”, „Disk %” (verde sub 80%, galben 80–89%, roșu de la 90%), „Backup” („Restic” sau „None”), „Status” și „Actions”; cu mai multe companii apare și „Client”.\n\n| Valoare în „Status” | Ce înseamnă |\n|---|---|\n| `OK` (verde) | Auditul s-a conectat și a colectat toate datele |\n| `PARTIAL` (galben) | Auditul s-a conectat, dar nu a colectat toate datele |\n| Altă valoare (roșu), de exemplu `UNREACHABLE` | Auditul nu a reușit să se conecteze la server |\n| `not audited` (gri) | Serverul nu are încă date de audit |\n\n> **Ecran în limba engleză**\n> Tabelul „Toate serverele” și raportul deschis cu „View” sunt afișate în limba engleză, indiferent de limba panoului. Titlul paginii, insignele și plăcile din „Rezumat” sunt traduse.\n\n> **Notă**\n> Datele nu sunt în timp real: provin dintr-un audit care rulează o dată pe noapte. Un server adăugat recent apare cu `not audited` până la următorul audit.\n\n## Cum deschideți raportul unui server\n\n1. În „Toate serverele”, găsiți serverul: tastați numele, IP-ul sau domeniul în câmpul de căutare ori folosiți filtrele.\n2. Apăsați „View” în coloana „Actions”.\n3. Se deschide raportul. Sus vedeți numele serverului, IP-ul cu portul, sistemul de operare, starea și data auditului. Secțiunile sunt închise: apăsați titlul unei secțiuni ca s-o deschideți.\n4. Ca să reveniți la listă, apăsați „← Back”.\n\nSecțiunile raportului: „Docker”, „Identity” (sistemul și timpul de funcționare), „Resources” (procesor, RAM, discuri), „Running Services”, „Network” (porturile pe care ascultă serviciile și regulile UFW), „Nginx”, „Databases”, „Cron & Backups”, „Security” (fail2ban și setările SSH) și „Recommendations” (problemele găsite și ce se recomandă). Raportul este doar pentru citire: din el nu puteți modifica nimic. Pentru orice modificare, scrieți-ne.\n\n## Serverele companiei în „Serverele mele”\n\nServerele companiei apar și în „Serverele mele”. Cardul lor are insigna „Administrat” și nota „Acest server este administrat de echipa noastră. Pentru orice modificare, contactați suportul.”\n\nAceste servere sunt doar pentru vizualizare: cardul nu are butoane de administrare. Puteți doar să le dați un nume privat cu butonul creion „Redenumește” ([Redenumirea serverului (nume privat)](#servere.redenumire)). Pentru repornire, chei SSH sau alte modificări, scrieți-ne.\n\nLa cerere, BLACKBOX vă poate acorda și drepturi de administrare pentru serverele unei companii; unele servere pot rămâne totuși doar pentru vizualizare. Pe cardurile unde aveți aceste drepturi, insigna „Administrat” și nota nu mai apar; în schimb, vedeți butoanele „Afișează datele de acces”, „Resetează parola”, „Repornește” și „Adaugă cheie SSH”. Pe unele servere apar și „Oprește”, „Pornește” și blocul „Containere Docker”. Butoanele „Upgrade” și „Șterge definitiv” nu apar niciodată pentru serverele companiei.\n\n### Blocul „Containere Docker”\n\nBlocul apare doar pe serverele companiei la care aveți drepturi de administrare și pe care este instalat Docker. Pe serverele comandate pe blackbox.md nu apare niciodată. Lista este citită direct de pe server când se deschide pagina („Se încarcă containerele…”) și arată numele, imaginea și starea fiecărui container, așa cum o raportează Docker (de exemplu `running` sau `exited`). Dacă serverul nu are containere, vedeți „Nu s-au găsit containere pe acest server.”\n\nFiecare container are trei butoane: ▶ (pornire), ■ (oprire) și ↻ (repornire). Fiecare acțiune cere confirmare: „Porniți NUME?”, „Opriți NUME?” sau „Reporniți NUME?”, unde NUME este numele containerului. Sub listă apare rezultatul: „NUME: start finalizat.” (sau `stop`, `restart`: acțiunea este afișată în engleză) ori „NUME: acțiunea nu s-a finalizat.”\n\nContainerele din stiva de monitorizare și securitate a BLACKBOX și sarcinile Docker Swarm nu au butoane; în locul lor apare insigna „Administrat de BlackBox”. Țineți cursorul pe insignă ca să vedeți motivul: „Acest container face parte din stiva noastră de monitorizare/securitate și nu poate fi controlat de aici.” sau „Acest container este administrat de Docker Swarm și nu poate fi controlat individual.”\n\nLimite: 10 acțiuni într-un minut pentru contul dvs. și 30 de acțiuni în 10 minute pentru un server; lista se poate încărca de cel mult 30 de ori într-un minut. Dacă apare „Nu s-au putut încărca containerele.” sau „Acțiunea a eșuat.”, așteptați câteva minute și reîncărcați pagina; dacă mesajul se repetă, scrieți-ne.\n\n## Cum obțineți și cum pierdeți accesul\n\n1. Scrieți-ne la support@blackbox.md sau deschideți un tichet din „Contul meu” → „Ajutor și suport” ([Deschiderea unui tichet de suport](#suport.tichet-nou)).\n2. Precizați compania ale cărei servere le administrează BLACKBOX și adresa de email a contului dvs. blackbox.md.\n3. După ce BLACKBOX acordă accesul, reîncărcați pagina „Prezentare generală” sau intrați din nou cu „Deschide panoul”. Serverele companiei apar aici și în „Serverele mele”.\n\nAccesul se acordă contului dvs. blackbox.md, separat pentru fiecare companie. Nu puteți da singuri acces altor persoane; pentru un coleg, scrieți-ne.\n\nDacă BLACKBOX retrage accesul la o companie, sesiunile dvs. din panou se încheie: la următoarea încărcare a unei pagini ajungeți la pagina de autentificare. Intrați din nou cu „Deschide panoul”; serverele acelei companii nu mai apar.\n\n## Mesaje pe pagină\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu s-au putut încărca datele serverelor. Încercați mai târziu.” | Datele nu au putut fi citite | Reîncărcați pagina mai târziu; dacă se repetă, scrieți-ne |\n| „Audit data could not be loaded — servers are shown without audit status until the next successful refresh.” | Lista apare, dar fără datele de audit | Reîncărcați pagina mai târziu |\n| „No servers match the current filters.” | Niciun server nu corespunde filtrelor | Apăsați „Clear” |\n| „No audit snapshot for this server yet. It will appear after the next nightly run.” (în raport) | Serverul nu a fost încă auditat | Reveniți după următorul audit de noapte |\n\n## Întrebări frecvente\n\n**Am comandat un server, dar pagina îmi cere să contactez un administrator. Trebuie s-o fac?**\nNu. Aici apar doar rapoartele serverelor administrate de BLACKBOX pentru companii; serverul dvs. este în „Serverele mele”. Scrieți-ne doar dacă vă așteptați să vedeți serverele unei astfel de companii.\n\n**Pot face ca panoul să se deschidă direct la „Serverele mele”?**\n„Deschide panoul”, „Panou de administrare” și autentificarea directă duc întotdeauna la „Prezentare generală”. Folosiți „Gestionează în app.blackbox.md” din pagina „Comenzi” ([Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele)) sau apăsați „Serverele mele” în bara laterală.\n\n**Pot reporni sau modifica un server marcat „Administrat”?**\nNu. Raportul și cardurile cu „Administrat” sunt doar pentru citire. Scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**De ce am fost deconectat brusc din panou?**\nEste posibil ca BLACKBOX să vă fi retras accesul la serverele unei companii. Sesiunea din panou se încheie și la 8 ore după autentificare. În ambele cazuri, intrați din nou cu „Deschide panoul”.\n\n**Vreau ca BLACKBOX să administreze serverele companiei mele.**\nEste un serviciu la cerere: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n",
    "ru": "Страница «Обзор» (`app.blackbox.md/`, боковое меню → «Инфраструктура» → «Обзор») — первая страница, которую вы видите после входа в панель app.blackbox.md. Её заголовок — «Отчёты аудита серверов»: здесь показываются отчёты аудита серверов, которые BLACKBOX обслуживает для компаний. Серверы, заказанные вами на blackbox.md, сюда не попадают — они находятся в разделе «Мои серверы».\n\n**Доступно:** любому клиенту, вошедшему в панель. Отчёты аудита видны, только если BLACKBOX открыл вам доступ к серверам обслуживаемой им компании.\n\n## Когда открывается эта страница\n\nПанель открывает «Обзор», когда вы:\n\n- нажимаете «Открыть панель» или «Панель управления» в личном кабинете на blackbox.md ([Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou));\n- входите напрямую на `app.blackbox.md/login` ([Прямой вход на app.blackbox.md](#servere.autentificare-directa));\n- нажимаете на логотип в верхней части бокового меню.\n\n> **Совет**\n> Чтобы сразу перейти к заказанному серверу, откройте на blackbox.md «Личный кабинет» → «Заказы» и нажмите «Управление в app.blackbox.md» у нужного заказа. Откроется страница «Мои серверы», где карточка этого сервера будет выделена.\n\n## «Серверы не найдены»: пустая страница\n\nЕсли у вас только серверы, заказанные на blackbox.md, страница выглядит так:\n\n- заголовок «Отчёты аудита серверов», а под ним только «· серверов: 0», без даты;\n- значки «Серверов: 0», «Доступно: 0», «Недоступно: 0», «Критичный диск: 0», «Без аудита: 0»;\n- текст «Серверы не найдены. Обратитесь к администратору для получения доступа.»\n\nЭто нормально: ничего не пропало, и запрашивать доступ не нужно. Свои серверы вы найдёте так:\n\n1. В боковом меню в разделе «Инфраструктура» нажмите «Мои серверы».\n2. Откроется страница «Мои серверы» с отдельной карточкой для каждого активного сервера. Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\nЕсли сервера нет и в разделе «Мои серверы», см. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n## Отчёты аудита по обслуживаемым серверам\n\nЕсли у вас есть доступ к серверам компании, которую обслуживает BLACKBOX, значки показывают реальные числа, а под заголовком указаны дата и время последнего аудита (по UTC) и число серверов.\n\nВ блоке «Сводка» шесть плашек:\n\n| Плашка | Что считает |\n|---|---|\n| «Всего серверов» | Все серверы, к которым у вас есть доступ |\n| «Доступны» | Серверы, к которым последний аудит смог подключиться (статус `OK` или `PARTIAL`) |\n| «Недоступны» | Все остальные серверы, включая ещё не проверенные |\n| «Диск заполнен ≥90%» | Серверы, у которых хотя бы один раздел заполнен на 90% и больше |\n| «Нет fail2ban» | Серверы, на которых аудит не нашёл установленный fail2ban (включая ещё не проверенные) |\n| «Без аудита» | Серверы, по которым пока нет данных аудита |\n\nВ блоке «Все серверы» — таблица серверов:\n\n- поле поиска «Search name, IP, or domain…» и фильтры «All Statuses», «All Disk», «Docker: Any», «fail2ban: Any», «Audit: Any»; если у вас доступ к нескольким компаниям, есть ещё «All Clients». Когда вы ищете или выбираете фильтр, появляется кнопка «Clear» — она сбрасывает поиск и фильтры;\n- столбцы «Name / IP», «OS», «Role», «Port», «Docker», «fail2ban», «Disk %» (зелёный — до 80%, жёлтый — 80–89%, красный — от 90%), «Backup» («Restic» или «None»), «Status» и «Actions»; при нескольких компаниях добавляется «Client».\n\n| Значение в «Status» | Что означает |\n|---|---|\n| `OK` (зелёный) | Аудит подключился и собрал все данные |\n| `PARTIAL` (жёлтый) | Аудит подключился, но собрал не все данные |\n| Другое значение (красный), например `UNREACHABLE` | Аудиту не удалось подключиться к серверу |\n| `not audited` (серый) | По серверу пока нет данных аудита |\n\n> **Экран на английском**\n> Таблица «Все серверы» и отчёт, который открывается кнопкой «View», выводятся на английском при любом языке панели. Заголовок страницы, значки и плашки блока «Сводка» переведены.\n\n> **Примечание**\n> Данные обновляются не в реальном времени: они берутся из аудита, который выполняется раз в сутки, ночью. Недавно добавленный сервер отображается как `not audited` до следующего аудита.\n\n## Как открыть отчёт по серверу\n\n1. В блоке «Все серверы» найдите сервер: введите имя, IP-адрес или домен в поле поиска либо воспользуйтесь фильтрами.\n2. Нажмите «View» в столбце «Actions».\n3. Откроется отчёт. Вверху — имя сервера, IP-адрес с портом, операционная система, статус и дата аудита. Разделы свёрнуты: чтобы развернуть раздел, нажмите на его заголовок.\n4. Чтобы вернуться к списку, нажмите «← Back».\n\nРазделы отчёта: «Docker», «Identity» (система и время работы), «Resources» (процессор, память, диски), «Running Services», «Network» (порты, на которых работают службы, и правила UFW), «Nginx», «Databases», «Cron & Backups», «Security» (fail2ban и настройки SSH) и «Recommendations» (найденные проблемы и рекомендации). Отчёт доступен только для чтения: изменить из него ничего нельзя. Если нужно что-то поменять, напишите нам.\n\n## Серверы компании в разделе «Мои серверы»\n\nСерверы компании видны и в разделе «Мои серверы». На их карточке есть значок «Обслуживается» и примечание «Этим сервером занимается наша команда. Чтобы запросить изменения, обратитесь в поддержку.»\n\nТакие серверы доступны только для просмотра: кнопок управления на карточке нет. Можно лишь задать серверу личное название кнопкой с карандашом «Переименовать» ([Переименование сервера (личное название)](#servere.redenumire)). Для перезагрузки, работы с SSH-ключами и других изменений напишите нам.\n\nПо запросу BLACKBOX может также дать вам права на управление серверами компании; некоторые серверы при этом могут остаться только для просмотра. На карточках, где у вас есть такие права, значка «Обслуживается» и примечания нет, зато есть кнопки «Показать учётные данные», «Сбросить пароль», «Перезагрузить» и «Добавить SSH-ключ». На некоторых серверах есть также «Остановить», «Запустить» и блок «Контейнеры Docker». Кнопки «Апгрейд» и «Удалить» для серверов компании не появляются никогда.\n\n### Блок «Контейнеры Docker»\n\nЭтот блок есть только на серверах компании, где у вас есть права на управление и установлен Docker. На серверах, заказанных на blackbox.md, его не бывает. Список читается напрямую с сервера при открытии страницы («Загрузка контейнеров…») и показывает имя, образ и состояние каждого контейнера в том виде, в каком его сообщает Docker (например, `running` или `exited`). Если контейнеров на сервере нет, вы увидите «На этом сервере контейнеры не найдены.»\n\nУ каждого контейнера три кнопки: ▶ (запуск), ■ (остановка) и ↻ (перезапуск). Каждое действие нужно подтвердить: «Запустить ИМЯ?», «Остановить ИМЯ?» или «Перезапустить ИМЯ?», где ИМЯ — имя контейнера. Под списком появляется результат: «ИМЯ: start выполнено.» (или `stop`, `restart` — действие выводится по-английски) либо «ИМЯ: действие не завершено.»\n\nУ контейнеров стека мониторинга и безопасности BLACKBOX и у задач Docker Swarm кнопок нет — вместо них стоит значок «Управляется BlackBox». Чтобы увидеть причину, наведите на значок курсор: «Этот контейнер входит в наш стек мониторинга/безопасности и не может управляться отсюда.» или «Этот контейнер управляется Docker Swarm и не может управляться по отдельности.»\n\nОграничения: 10 действий за минуту для вашего аккаунта и 30 действий за 10 минут для одного сервера; список можно загрузить не больше 30 раз за минуту. Если появилось «Не удалось загрузить контейнеры.» или «Действие не выполнено.», подождите несколько минут и обновите страницу; если сообщение повторяется, напишите нам.\n\n## Как получить доступ и когда он пропадает\n\n1. Напишите на support@blackbox.md или создайте тикет: «Личный кабинет» → «Помощь и поддержка» ([Создание тикета в поддержку](#suport.tichet-nou)).\n2. Укажите компанию, серверы которой обслуживает BLACKBOX, и email вашего аккаунта blackbox.md.\n3. Когда BLACKBOX откроет доступ, обновите страницу «Обзор» или снова войдите кнопкой «Открыть панель». Серверы компании появятся здесь и в разделе «Мои серверы».\n\nДоступ открывается вашему аккаунту blackbox.md, отдельно для каждой компании. Сами дать доступ другим людям вы не можете — чтобы добавить коллегу, напишите нам.\n\nЕсли BLACKBOX закроет доступ к компании, ваши сессии в панели завершатся: при следующей загрузке любой страницы откроется страница входа. Войдите снова кнопкой «Открыть панель» — серверов этой компании в панели больше не будет.\n\n## Сообщения на странице\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Не удалось загрузить данные серверов. Попробуйте позже.» | Данные не удалось получить | Обновите страницу позже; если ошибка повторяется, напишите нам |\n| «Audit data could not be loaded — servers are shown without audit status until the next successful refresh.» | Список показан, но без данных аудита | Обновите страницу позже |\n| «No servers match the current filters.» | Ни один сервер не подходит под выбранные фильтры | Нажмите «Clear» |\n| «No audit snapshot for this server yet. It will appear after the next nightly run.» (в отчёте) | Сервер ещё не проверялся | Откройте отчёт после следующего ночного аудита |\n\n## Частые вопросы\n\n**Я заказал сервер, а страница предлагает обратиться к администратору. Нужно ли это делать?**\nНет. Здесь показываются только отчёты по серверам, которые BLACKBOX обслуживает для компаний; ваш сервер находится в разделе «Мои серверы». Пишите нам, только если ожидаете увидеть серверы такой компании.\n\n**Можно ли сделать так, чтобы панель сразу открывала «Мои серверы»?**\nПосле «Открыть панель», «Панель управления» и прямого входа всегда открывается «Обзор». Пользуйтесь кнопкой «Управление в app.blackbox.md» на странице «Заказы» ([Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele)) или пунктом «Мои серверы» в боковом меню.\n\n**Можно ли перезагрузить или изменить сервер со значком «Обслуживается»?**\nНет. Отчёт и карточки со значком «Обслуживается» доступны только для чтения. Напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**Почему панель внезапно попросила войти заново?**\nВозможно, BLACKBOX закрыл вам доступ к серверам одной из компаний. Кроме того, сессия в панели завершается через 8 часов после входа. В обоих случаях войдите снова кнопкой «Открыть панель».\n\n**Я хочу, чтобы BLACKBOX обслуживал серверы моей компании.**\nЭто услуга по запросу: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n",
    "en": "The “Overview” page (`app.blackbox.md/`, sidebar → “Infrastructure” → “Overview”) is the first page you see after you sign in to the app.blackbox.md panel. Its title is “Server Audit Reports”: it shows the audit reports for the servers that BLACKBOX manages for companies. Servers you ordered on blackbox.md don't appear here; you'll find them in “My Servers”.\n\n**Available to:** any customer signed in to the panel. Audit reports appear only if BLACKBOX has given you access to the servers of a company it manages.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## When you land on this page\n\nThe panel opens “Overview” when you:\n\n- click “Deschide panoul” (Open the panel) or “Panou de administrare” (Admin panel) in “Contul meu” (My account) on blackbox.md ([Opening the app.blackbox.md panel from your account](#servere.deschidere-panou));\n- sign in directly at `app.blackbox.md/login` ([Signing in directly to app.blackbox.md](#servere.autentificare-directa));\n- click the logo at the top of the sidebar.\n\n> **Tip**\n> To go straight to a server you ordered, open “Contul meu” → “Comenzi” (Orders) on blackbox.md and click “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) on that order. “My Servers” opens with the server's card highlighted.\n\n## “No servers found”: the empty page\n\nIf you only have servers ordered on blackbox.md, the page looks like this:\n\n- the title “Server Audit Reports”, with only “· 0 servers” under it and no date;\n- the badges “0 Servers”, “0 Reachable”, “0 Unreachable”, “0 Critical Disk”, “0 Not Audited”;\n- the text “No servers found. Contact an administrator to get access.”\n\nThis is normal: nothing is missing, and you don't need to ask for access. To find your servers:\n\n1. In the sidebar, under “Infrastructure”, click “My Servers”.\n2. The “My Servers” page opens, with one card for each active server. Details: [The “My Servers” page: the server card](#servere.serverele-mele).\n\nIf the server is missing from “My Servers” too, see [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n## Audit reports for managed servers\n\nIf you have access to the servers of a company managed by BLACKBOX, the badges show real numbers, and under the title you see the date and time of the last audit (in UTC) and the number of servers.\n\nThe “Summary” block has six tiles:\n\n| Tile | What it counts |\n|---|---|\n| “Total Servers” | All the servers you have access to |\n| “Reachable” | Servers the last audit was able to connect to (status `OK` or `PARTIAL`) |\n| “Unreachable” | All other servers, including those not audited yet |\n| “Critical Disk ≥90%” | Servers with at least one partition that is 90% full or more |\n| “Missing fail2ban” | Servers on which the audit did not find fail2ban installed (including those not audited yet) |\n| “Not Audited” | Servers that have no audit data yet |\n\nThe “All Servers” block contains the server table:\n\n- the “Search name, IP, or domain…” search field and the “All Statuses”, “All Disk”, “Docker: Any”, “fail2ban: Any” and “Audit: Any” filters; if you have access to several companies, “All Clients” also appears. Once you search or choose a filter, the “Clear” button appears; it clears the search and the filters;\n- the columns “Name / IP”, “OS”, “Role”, “Port”, “Docker”, “fail2ban”, “Disk %” (green below 80%, yellow at 80–89%, red from 90%), “Backup” (“Restic” or “None”), “Status” and “Actions”; with several companies, “Client” also appears.\n\n| Value in “Status” | What it means |\n|---|---|\n| `OK` (green) | The audit connected and collected all the data |\n| `PARTIAL` (yellow) | The audit connected but did not collect all the data |\n| Any other value (red), for example `UNREACHABLE` | The audit could not connect to the server |\n| `not audited` (gray) | The server has no audit data yet |\n\n> **Note**\n> The data is not real-time: it comes from an audit that runs once a night. A recently added server shows `not audited` until the next audit.\n\n## How to open a server's report\n\n1. In “All Servers”, find the server: type its name, IP address or domain in the search field, or use the filters.\n2. Click “View” in the “Actions” column.\n3. The report opens. At the top you see the server name, the IP address with the port, the operating system, the status and the audit date. The sections are collapsed: click a section's title to expand it.\n4. To go back to the list, click “← Back”.\n\nThe report sections are “Docker”, “Identity” (the system and its uptime), “Resources” (CPU, RAM, disks), “Running Services”, “Network” (the ports services listen on and the UFW rules), “Nginx”, “Databases”, “Cron & Backups”, “Security” (fail2ban and the SSH settings) and “Recommendations” (the problems found and what is recommended). The report is read-only: you can't change anything from it. For any change, write to us.\n\n## Company servers in “My Servers”\n\nCompany servers also appear in “My Servers”. Their card has the “Managed” badge and the note “This server is looked after by our team. To request a change, please contact support.”\n\nThese servers are view-only: the card has no management buttons. The only thing you can do is give them a private name with the pencil button, “Rename” ([Renaming a server (private name)](#servere.redenumire)). For a reboot, SSH keys or any other change, write to us.\n\nOn request, BLACKBOX can also give you management rights for a company's servers; some servers may still stay view-only. On the cards where you have these rights, the “Managed” badge and the note no longer appear; instead, you see the “Reveal credentials”, “Reset password”, “Reboot” and “Add SSH key” buttons. Some servers also show “Stop”, “Start” and the “Docker containers” block. The “Upgrade” and “Terminate” buttons never appear for company servers.\n\n### The “Docker containers” block\n\nThis block appears only on company servers where you have management rights and Docker is installed. It never appears on servers ordered on blackbox.md. The list is read directly from the server when the page opens (“Loading containers…”) and shows each container's name, image and state as Docker reports it (for example `running` or `exited`). If the server has no containers, you see “No containers found on this server.”\n\nEach container has three buttons: ▶ (start), ■ (stop) and ↻ (restart). Each action asks for confirmation: “Start NAME?”, “Stop NAME?” or “Restart NAME?”, where NAME is the container's name. The result appears under the list: “NAME: start done.” (or `stop`, `restart`) or “NAME: action did not complete.”\n\nContainers that belong to BLACKBOX's monitoring and security stack, and Docker Swarm tasks, have no buttons; they show the “Managed by BlackBox” badge instead. Hold the pointer over the badge to see why: “This container is part of our monitoring/security stack and can't be controlled here.” or “This container is managed by Docker Swarm and can't be controlled individually.”\n\nLimits: 10 actions per minute for your account and 30 actions in 10 minutes per server; the list can be loaded at most 30 times per minute. If you see “Failed to load containers.” or “Action failed.”, wait a few minutes and reload the page; if the message appears again, write to us.\n\n## How you get access and how you lose it\n\n1. Write to us at support@blackbox.md or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support) ([Opening a support ticket](#suport.tichet-nou)).\n2. Name the company whose servers BLACKBOX manages, and give the email address of your blackbox.md account.\n3. Once BLACKBOX grants you access, reload the “Overview” page or sign in again with “Deschide panoul” (Open the panel). The company's servers appear here and in “My Servers”.\n\nAccess is granted to your blackbox.md account, separately for each company. You can't give other people access yourself; to add a colleague, write to us.\n\nIf BLACKBOX withdraws your access to a company, your panel sessions end: the next time a page loads, you land on the sign-in page. Sign in again with “Deschide panoul”; that company's servers no longer appear.\n\n## Messages on the page\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Failed to load server data. Please try again later.” | The data could not be read | Reload the page later; if it happens again, write to us |\n| “Audit data could not be loaded — servers are shown without audit status until the next successful refresh.” | The list appears, but without the audit data | Reload the page later |\n| “No servers match the current filters.” | No server matches the filters | Click “Clear” |\n| “No audit snapshot for this server yet. It will appear after the next nightly run.” (in the report) | The server has not been audited yet | Come back after the next nightly audit |\n\n## Frequently asked questions\n\n**I ordered a server, but the page tells me to contact an administrator. Do I need to?**\nNo. This page shows only the reports for servers that BLACKBOX manages for companies; your server is in “My Servers”. Write to us only if you expect to see the servers of such a company.\n\n**Can I make the panel open directly on “My Servers”?**\n“Deschide panoul” (Open the panel), “Panou de administrare” (Admin panel) and signing in directly always take you to “Overview”. Use “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) on the “Comenzi” (Orders) page ([The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele)), or click “My Servers” in the sidebar.\n\n**Can I reboot or change a server marked “Managed”?**\nNo. The report and the cards marked “Managed” are read-only. Write to us: [How to contact BLACKBOX support](#suport.contact).\n\n**Why was I suddenly signed out of the panel?**\nBLACKBOX may have withdrawn your access to a company's servers. Your panel session also ends 8 hours after you sign in. In both cases, sign in again with “Deschide panoul”.\n\n**I want BLACKBOX to manage my company's servers.**\nThis is a service available on request: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n"
   }
  },
  {
   "id": "servere.serverele-mele",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/serverele-mele/",
    "ru": "https://docs.blackbox.md/ru/servere/serverele-mele/",
    "en": "https://docs.blackbox.md/en/servere/serverele-mele/"
   },
   "title": {
    "ro": "Pagina „Serverele mele”: cardul serverului",
    "ru": "Страница «Мои серверы»: карточка сервера",
    "en": "The “My Servers” page: the server card"
   },
   "summary": {
    "ro": "Ce informații și butoane are fiecare card de server și cum le folosiți.",
    "ru": "Какая информация и кнопки есть в карточке каждого сервера и как ими пользоваться.",
    "en": "The information and buttons on each server card, and how to use them."
   },
   "markdown": {
    "ro": "Pagina „Serverele mele” (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”) arată serverele contului dvs., câte un card pentru fiecare server. Pe card vedeți adresa IP, planul și resursele serverului și găsiți butoanele pentru datele de acces, repornire, cheile SSH, upgrade și ștergere.\n\n**Disponibil pentru:** titularul contului blackbox.md, în panoul app.blackbox.md. Vedeți serverele comandate din contul dvs. și, dacă BLACKBOX v-a acordat acces, serverele companiei administrate de echipa noastră.\n\n## Cum deschideți pagina\n\n1. Intrați în panoul app.blackbox.md din contul blackbox.md. Vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n2. În bara laterală, la „Infrastructură”, apăsați „Serverele mele”.\n3. Se deschide pagina „Serverele mele”, cu subtitlul „Servere alocate contului dvs.”\n\nCardurile sunt așezate într-o grilă, de la cel mai nou server la cel mai vechi; pe telefon, câte unul pe rând. Pagina arată doar serverele active: după ce ștergerea definitivă a unui server s-a executat, cardul lui dispare. Lista nu se actualizează singură, așa că reîncărcați pagina ca să vedeți un server nou.\n\n### Mesajele paginii\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Se încarcă…” | Lista serverelor se încarcă. | Așteptați câteva secunde. |\n| „Nu s-au putut încărca serverele.” (sau alt text, într-o casetă roșie) | Lista nu a putut fi citită, de exemplu pentru că sesiunea a expirat. | Reîncărcați pagina și, dacă este nevoie, intrați din nou în panou. Dacă eroarea persistă, scrieți-ne. |\n| „Încă nu aveți servere. Comandați unul din magazin și va apărea aici imediat ce este gata.” | Contul nu are niciun server activ. | Dacă ați achitat o comandă, așteptați activarea și reîncărcați pagina. Vedeți [Serverul nu apare după plată](#faq.serverul-nu-este-gata). |\n| „Niciun server nu este asociat contului dvs. încă.” | Contul cu care ați intrat în panou nu este legat de un cont blackbox.md. | Deconectați-vă și intrați în panou din contul blackbox.md care a plasat comanda. Vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele). |\n\n## Antetul cardului\n\n| Element | Ce arată |\n|---|---|\n| Numele | Numele privat pe care l-ați dat serverului. Fără nume privat apare numele intern: la serverele comandate pe blackbox.md, `bbx-` urmat de numărul comenzii, de exemplu `bbx-bbx-2026-000023` pentru comanda `BBX-2026-000023`. Fără nume intern apare adresa IP. Numele lungi sunt scurtate; țineți cursorul pe nume ca să-l vedeți întreg. |\n| Creionul („Redenumește”) | Deschide câmpul pentru numele privat. Vedeți [Redenumirea serverului (nume privat)](#servere.redenumire). |\n| „Doar cheie” | Autentificarea SSH cu parolă este dezactivată: vă conectați doar cu o cheie SSH. |\n| „Parolă + cheie” | Serverul acceptă autentificarea SSH și cu parolă, și cu cheie. |\n| „Administrat” | Server al companiei, administrat de echipa BLACKBOX. Sub datele serverului apare nota „Acest server este administrat de echipa noastră. Pentru orice modificare, contactați suportul.” Cardul nu are butoane de administrare; îi puteți da doar un nume privat. Vedeți [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala). |\n| `active` | Eticheta verde de stare (vedeți nota de mai jos). |\n\nInsignele „Doar cheie” și „Parolă + cheie” apar doar când panoul cunoaște modul de autentificare al serverului. Îl schimbați cu butoanele „Dezactivează login cu parolă” și „Activează login cu parolă”.\n\n> **Ecran în limba engleză**\n> Eticheta de stare apare în engleză în toate limbile panoului: `active`. Pagina arată doar serverele active, deci eticheta este mereu `active`. Ea nu arată dacă serverul este pornit sau oprit.\n\n## Datele serverului\n\n| Câmp | Ce arată |\n|---|---|\n| „Nume original” | Apare doar dacă ați dat serverului un nume privat: numele intern sau adresa IP. Pe acesta îl tastați la ștergerea definitivă. |\n| „Comandă” | Numărul comenzii din care a fost creat serverul, de exemplu `BBX-2026-000123`. Lipsește dacă serverul nu este legat de o comandă din contul dvs. |\n| „IP” | Adresa IP publică a serverului. Butonul de copiere de lângă ea (indicația „Copiază adresa IP a acestui server”) copiază adresa, iar timp de 1,5 secunde apare „Copiat”. |\n| „Plan” | Codul planului, de exemplu `vm-iops1-m` (Standard M). Ce plan corespunde fiecărui cod: [Planurile VPS: cum alegeți](#comenzi.planuri-vps). Lipsește dacă panoul nu cunoaște planul serverului. |\n| „Configurație” | Resursele serverului, în ordinea procesoare, memorie RAM, disc, de exemplu `2 vCPU · 4 GB · 40 GB`. Lipsește dacă panoul nu cunoaște resursele serverului. |\n| „Adăugat” | Data și ora la care serverul a fost adăugat în panou, în formatul browserului dvs. |\n\nDacă browserul blochează accesul la clipboard, „Copiat” nu apare: selectați adresa și copiați-o manual.\n\n## Butoanele cardului\n\n| Buton | Ce face | Detalii |\n|---|---|---|\n| „Afișează datele de acces” | După confirmare, afișează pe card utilizatorul și parola root salvate („Utilizator”, „Parolă”). | [Afișarea datelor de acces root](#acces.afisare-date-acces) |\n| „Resetează parola” | Generează pe server o parolă root nouă și o afișează în aceeași casetă. Parola veche nu mai funcționează. | [Resetarea parolei root](#acces.resetare-parola-root) |\n| „Repornește”, „Oprește”, „Pornește” | Repornește, oprește sau pornește serverul. „Oprește” și „Pornește” apar amândouă, oricare ar fi starea serverului: panoul nu arată dacă serverul rulează. | [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire) |\n| „Dezactivează login cu parolă” / „Activează login cu parolă” | Dezactivează sau reactivează autentificarea SSH cu parolă. Apare împreună cu insigna „Doar cheie” sau „Parolă + cheie”. | [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh) |\n| „Upgrade” | Deschide fereastra „Upgrade server”: trecerea la un plan mai mare din aceeași familie, plătită din sold. | [Upgrade server: trecerea la un plan mai mare](#servere.upgrade) |\n| „Șterge definitiv” (roșu) | Deschide fereastra „Ștergere definitivă server”. Serverul se șterge după o perioadă de grație de 24 de ore, în care puteți anula ștergerea. | [Ștergerea definitivă a unui server](#servere.stergere-server) |\n| „Adaugă cheie SSH” | Deschide sub butoane lista „Chei instalate” și formularul pentru adăugarea unei chei pe server. Apăsat din nou, închide secțiunea. | [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server) |\n| „Backup” | Deschide secțiunea de backup. Serviciul nu este disponibil (vedeți mai jos). | [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup) |\n\n„Upgrade”, „Șterge definitiv” și „Backup” apar doar pe serverele comandate din contul dvs.\n\n> **Notă**\n> Panoul nu are consolă web sau VNC. Lucrați cu serverul prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Dacă nu vă mai puteți conecta, vedeți [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces) sau scrieți-ne.\n\n### Ce vedeți după ce apăsați un buton\n\n- La majoritatea acțiunilor, panoul cere întâi confirmarea într-o fereastră a browserului, de exemplu „Reporniți bbx-bbx-2026-000023?”. Cât timp cererea rulează, butonul este inactiv.\n- La reușită nu apare niciun mesaj de confirmare. „Afișează datele de acces” și „Resetează parola” afișează caseta cu „Utilizator” și „Parolă”, care rămâne pe card până reîncărcați pagina. „Repornește”, „Oprește” și „Pornește” doar reactivează butonul, iar acțiunea continuă pe server. Butonul de autentificare cu parolă își schimbă textul, iar insigna trece în „Doar cheie” sau „Parolă + cheie”.\n- Dacă acțiunea nu reușește, mesajul apare într-o casetă roșie, sub datele serverului. Poate fi un text tradus (de exemplu „Nu s-a putut schimba autentificarea prin parolă.”), un cod tehnic (de exemplu `power_action_failed`) sau o frază în engleză (de exemplu „Rate limit exceeded — …”). Explicațiile sunt în [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n- În timpul unui upgrade, sub date apare o etichetă cu etapa curentă, de exemplu „În așteptare”. Eticheta se vede doar în fila în care ați pornit upgrade-ul.\n\n## Deschiderea cardului din „Comenzi” pe blackbox.md\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Comenzi”.\n2. Pe rândul comenzii, apăsați „Gestionează în app.blackbox.md” (pictograma cu săgeată spre exterior; pe telefon, în meniul „Mai multe acțiuni”). Același link îl găsiți și în „Vezi detaliile”.\n3. Panoul se deschide într-o filă nouă, pe pagina „Serverele mele”. Pagina derulează până la cardul serverului din comandă, evidențiat cu un chenar colorat.\n\nButonul apare doar la comenzile care au server. Vedeți [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n## Butonul „Backup”\n\n1. Apăsați „Backup” pe cardul serverului.\n2. Apare „Se încarcă…”, apoi o casetă roșie cu mesajul tehnic `backup_extra_disabled`.\n3. Butonul devine „Ascunde backup”. Apăsați-l ca să închideți secțiunea.\n\nMesajul `backup_extra_disabled` înseamnă că serviciul de backup automat nu este disponibil. Nu este o defecțiune a serverului, iar datele de pe el nu sunt afectate.\n\n> **Important**\n> În prezent, BLACKBOX nu face copii de rezervă automate ale serverului dvs. Faceți-vă singuri copiile, pe alt sistem decât serverul: vedeți [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## Întrebări frecvente\n\n**De ce serverul se numește `bbx-bbx-…`?**\nEste numele intern, format din `bbx-` și numărul comenzii. Îi puteți da un nume privat cu creionul „Redenumește”. La ștergerea definitivă tastați însă numele original (adresa IP doar dacă serverul nu are nume).\n\n**Eticheta arată `active`, dar serverul nu răspunde.**\nEticheta nu arată dacă serverul rulează. Dacă l-ați oprit, apăsați „Pornește”. Dacă tot nu vă puteți conecta, vedeți [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**După upgrade, „Plan” arată tot codul vechi.**\n„Configurație” arată resursele noi după upgrade, dar „Plan” poate păstra codul planului inițial. Codul planului curent îl vedeți pe blackbox.md, în „Comenzi” → „Vezi detaliile” → „Tip”.\n\n**Am cerut ștergerea serverului, dar cardul este tot acolo.**\nȘtergerea se execută după perioada de grație de 24 de ore. Până atunci cardul rămâne pe pagină și puteți anula ștergerea din „Șterge definitiv”. După executare, cardul dispare.\n\n**Văd un server cu insigna „Administrat”.**\nEste un server al companiei, administrat de echipa BLACKBOX, pe care îl puteți vedea, dar nu și administra. Pentru modificări, scrieți-ne. Dacă BLACKBOX v-a acordat drepturi de administrare pe un server al companiei, insigna lipsește și vedeți o parte din butoane; detalii în [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala).\n",
    "ru": "Страница «Мои серверы» (`app.blackbox.md/my-servers`, боковое меню → «Инфраструктура» → «Мои серверы») показывает серверы вашего аккаунта — по карточке на каждый сервер. В карточке видны IP-адрес, тариф и ресурсы сервера, а также кнопки для учётных данных, перезагрузки, SSH-ключей, апгрейда и удаления.\n\n**Доступно:** владельцу аккаунта blackbox.md в панели app.blackbox.md. Вы видите серверы, заказанные из вашего аккаунта, а если BLACKBOX открыл вам доступ — ещё и серверы вашей компании, которые обслуживает наша команда.\n\n## Как открыть страницу\n\n1. Войдите в панель app.blackbox.md из аккаунта blackbox.md. См. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n2. В боковом меню, в разделе «Инфраструктура», нажмите «Мои серверы».\n3. Откроется страница «Мои серверы» с подзаголовком «Серверы, выделенные вашему аккаунту.»\n\nКарточки выстроены сеткой, от самого нового сервера к самому старому; на телефоне — по одной в ряд. На странице показаны только активные серверы: как только удаление сервера выполнено, его карточка исчезает. Список сам не обновляется, поэтому, чтобы увидеть новый сервер, обновите страницу.\n\n### Сообщения на странице\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Загрузка…» | Список серверов загружается. | Подождите несколько секунд. |\n| «Не удалось загрузить серверы.» (или другой текст в красной рамке) | Список получить не удалось, например, потому что истекла сессия. | Обновите страницу и при необходимости войдите в панель заново. Если ошибка повторяется, напишите нам. |\n| «У вас пока нет серверов. Закажите сервер в магазине — он появится здесь, когда будет готов.» | В аккаунте нет ни одного активного сервера. | Если вы оплатили заказ, дождитесь активации и обновите страницу. См. [Сервер не появился после оплаты](#faq.serverul-nu-este-gata). |\n| «К вашему аккаунту пока не привязан ни один сервер.» | Учётная запись, под которой вы вошли в панель, не связана с аккаунтом blackbox.md. | Выйдите и войдите в панель из того аккаунта blackbox.md, с которого оформлен заказ. См. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele). |\n\n## Заголовок карточки\n\n| Элемент | Что показывает |\n|---|---|\n| Название | Личное название, которое вы дали серверу. Если его нет — внутреннее имя: у серверов, заказанных на blackbox.md, это `bbx-` и номер заказа, например `bbx-bbx-2026-000023` для заказа `BBX-2026-000023`. Если нет и внутреннего имени — IP-адрес. Длинные названия обрезаются; наведите на название курсор, чтобы увидеть его целиком. |\n| Карандаш («Переименовать») | Открывает поле для личного названия. См. [Переименование сервера (личное название)](#servere.redenumire). |\n| «Только ключ» | Вход по SSH с паролем отключён: подключиться можно только с SSH-ключом. |\n| «Пароль + ключ» | Сервер принимает вход по SSH и с паролем, и с ключом. |\n| «Обслуживается» | Сервер вашей компании, который обслуживает команда BLACKBOX. Под данными сервера стоит примечание «Этим сервером занимается наша команда. Чтобы запросить изменения, обратитесь в поддержку.» Кнопок управления в такой карточке нет — можно только задать личное название. См. [Страница «Обзор» (Overview)](#servere.prezentare-generala). |\n| `active` | Зелёная метка статуса (см. примечание ниже). |\n\nЗначки «Только ключ» и «Пароль + ключ» появляются, только когда панель знает способ входа на сервер. Переключается он кнопками «Отключить вход по паролю» и «Включить вход по паролю».\n\n> **Экран на английском**\n> Метка статуса на любом языке панели показывается по-английски: `active`. На странице есть только активные серверы, поэтому метка всегда `active`. Она не показывает, включён сервер или выключен.\n\n## Данные сервера\n\n| Поле | Что показывает |\n|---|---|\n| «Исходное название» | Только если вы задали личное название: внутреннее имя сервера или его IP-адрес. Именно его нужно ввести при удалении сервера. |\n| «Заказ» | Номер заказа, из которого создан сервер, например `BBX-2026-000123`. Поля нет, если сервер не связан с заказом вашего аккаунта. |\n| «IP» | Публичный IP-адрес сервера. Кнопка копирования рядом с ним (подсказка «Скопировать IP-адрес этого сервера») копирует адрес, и на 1,5 секунды появляется «Скопировано». |\n| «Тариф» | Код тарифа, например `vm-iops1-m` (Standard M). Какому тарифу соответствует каждый код: [Тарифы VPS: как выбрать](#comenzi.planuri-vps). Поля нет, если панель не знает тариф сервера. |\n| «Конфигурация» | Ресурсы сервера по порядку: процессоры, оперативная память, диск, например `2 vCPU · 4 GB · 40 GB`. Поля нет, если панель не знает ресурсы сервера. |\n| «Добавлен» | Дата и время, когда сервер был добавлен в панель, в формате вашего браузера. |\n\nЕсли браузер не даёт доступа к буферу обмена, «Скопировано» не появится — выделите адрес и скопируйте его вручную.\n\n## Кнопки карточки\n\n| Кнопка | Что делает | Подробнее |\n|---|---|---|\n| «Показать учётные данные» | После подтверждения показывает в карточке сохранённые логин и пароль root («Пользователь», «Пароль»). | [Просмотр учётных данных root](#acces.afisare-date-acces) |\n| «Сбросить пароль» | Создаёт на сервере новый пароль root и показывает его в том же блоке. Старый пароль перестаёт работать. | [Сброс пароля root](#acces.resetare-parola-root) |\n| «Перезагрузить», «Остановить», «Запустить» | Перезагружает, останавливает или запускает сервер. «Остановить» и «Запустить» видны обе, в каком бы состоянии ни был сервер: панель не показывает, работает ли он. | [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire) |\n| «Отключить вход по паролю» / «Включить вход по паролю» | Отключает или снова включает вход по SSH с паролем. Показывается вместе со значком «Только ключ» или «Пароль + ключ». | [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh) |\n| «Апгрейд» | Открывает окно «Апгрейд сервера»: переход на больший тариф того же семейства с оплатой с баланса. | [Апгрейд сервера: переход на больший тариф](#servere.upgrade) |\n| «Удалить» (красная) | Открывает окно «Удаление сервера». Сервер удаляется по истечении 24 часов отсрочки, а до этого удаление можно отменить. | [Безвозвратное удаление сервера](#servere.stergere-server) |\n| «Добавить SSH-ключ» | Раскрывает под кнопками список «Установленные ключи» и форму для добавления ключа на сервер. Повторное нажатие сворачивает блок. | [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server) |\n| «Резервные копии» | Раскрывает блок резервного копирования. Услуга недоступна (см. ниже). | [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup) |\n\n«Апгрейд», «Удалить» и «Резервные копии» есть только в карточках серверов, заказанных из вашего аккаунта.\n\n> **Примечание**\n> Веб-консоли и консоли VNC в панели нет. С сервером вы работаете по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Если подключиться больше не удаётся, см. [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces) или напишите нам.\n\n### Что происходит после нажатия кнопки\n\n- Для большинства действий панель сначала просит подтверждения в окне браузера, например «Перезагрузить bbx-bbx-2026-000023?». Пока запрос выполняется, кнопка неактивна.\n- Об успехе отдельного сообщения нет. «Показать учётные данные» и «Сбросить пароль» выводят блок с полями «Пользователь» и «Пароль»; он остаётся в карточке до обновления страницы. После «Перезагрузить», «Остановить» и «Запустить» кнопка просто снова становится активной, а действие продолжается на сервере. Кнопка входа по паролю меняет надпись, а значок переключается на «Только ключ» или «Пароль + ключ».\n- Если действие не удалось, сообщение появляется в красной рамке под данными сервера. Это может быть переведённый текст (например, «Не удалось изменить вход по паролю.»), технический код (например, `power_action_failed`) или фраза на английском (например, «Rate limit exceeded — …»). Расшифровки — в статье [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n- Во время апгрейда под данными сервера появляется метка с текущим этапом, например «В очереди». Метка видна только во вкладке, где вы запустили апгрейд.\n\n## Переход к карточке из «Заказов» на blackbox.md\n\n1. На blackbox.md откройте «Личный кабинет» → «Заказы».\n2. В строке заказа нажмите «Управление в app.blackbox.md» (значок со стрелкой наружу; на телефоне — в меню «Другие действия»). Та же ссылка есть в блоке «Показать детали».\n3. Панель откроется в новой вкладке на странице «Мои серверы». Страница прокрутится до карточки сервера из этого заказа, а карточка будет выделена цветной рамкой.\n\nКнопка есть только у заказов, к которым уже привязан сервер. См. [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n## Кнопка «Резервные копии»\n\n1. Нажмите «Резервные копии» в карточке сервера.\n2. Появится «Загрузка…», а затем красная рамка с техническим сообщением `backup_extra_disabled`.\n3. Кнопка сменится на «Скрыть резервные копии». Нажмите её, чтобы свернуть блок.\n\nСообщение `backup_extra_disabled` означает, что услуга автоматического резервного копирования недоступна. Это не неисправность сервера, данные на нём не затронуты.\n\n> **Важно**\n> Сейчас BLACKBOX не делает автоматических резервных копий вашего сервера. Делайте копии сами и храните их не на этом сервере: см. [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## Частые вопросы\n\n**Почему сервер называется `bbx-bbx-…`?**\nЭто внутреннее имя: `bbx-` плюс номер заказа. Карандашом «Переименовать» можно задать личное название. Но при удалении сервера нужно ввести исходное название (IP-адрес — только если у сервера нет названия).\n\n**Метка показывает `active`, а сервер не отвечает.**\nМетка не показывает, работает ли сервер. Если вы его останавливали, нажмите «Запустить». Если подключиться всё равно не удаётся, см. [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**После апгрейда в поле «Тариф» остался старый код.**\n«Конфигурация» после апгрейда показывает новые ресурсы, а «Тариф» может сохранить код исходного тарифа. Код текущего тарифа виден на blackbox.md: «Заказы» → «Показать детали» → «Тип».\n\n**Удаление сервера запрошено, а карточка всё ещё на месте.**\nУдаление выполняется после 24 часов отсрочки. До этого карточка остаётся на странице, и удаление можно отменить через кнопку «Удалить». После выполнения карточка исчезает.\n\n**Вижу сервер со значком «Обслуживается».**\nЭто сервер вашей компании, который обслуживает команда BLACKBOX: вы его видите, но управлять им не можете. Чтобы что-то изменить, напишите нам. Если BLACKBOX выдал вам права на управление сервером компании, значка нет и часть кнопок доступна — подробнее в статье [Страница «Обзор» (Overview)](#servere.prezentare-generala).\n",
    "en": "The “My Servers” page (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”) shows the servers in your account, one card per server. Each card shows the server's IP address, plan and resources, along with the buttons for credentials, reboot, SSH keys, upgrade and deletion.\n\n**Available to:** the blackbox.md account owner, in the app.blackbox.md panel. You see the servers ordered from your account and, if BLACKBOX has given you access, your company's servers managed by our team.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to open the page\n\n1. Enter the app.blackbox.md panel from your blackbox.md account. See [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n2. In the sidebar, under “Infrastructure”, click “My Servers”.\n3. The “My Servers” page opens, with the subtitle “Servers provisioned to your account.”\n\nThe cards are laid out in a grid, from the newest server to the oldest; on a phone, one per row. The page shows only active servers: once a server's permanent deletion has been carried out, its card disappears. The list does not refresh on its own, so reload the page to see a new server.\n\n### Page messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Loading…” | The server list is loading. | Wait a few seconds. |\n| “Failed to load servers.” (or other text, in a red box) | The list could not be read, for example because your session has expired. | Reload the page and, if needed, sign in to the panel again. If the error persists, write to us. |\n| “You don't have any servers yet. Order one from the shop and it will appear here once it's ready.” | The account has no active servers. | If you have paid for an order, wait for activation and reload the page. See [The server does not appear after payment](#faq.serverul-nu-este-gata). |\n| “No servers are linked to your account yet.” | The account you used to sign in to the panel is not linked to a blackbox.md account. | Sign out and enter the panel from the blackbox.md account that placed the order. See [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele). |\n\n## The card header\n\n| Element | What it shows |\n|---|---|\n| Name | The private name you gave the server. Without a private name, the internal name appears: for servers ordered on blackbox.md, `bbx-` followed by the order number, for example `bbx-bbx-2026-000023` for order `BBX-2026-000023`. Without an internal name, the IP address appears. Long names are shortened; hold the pointer over the name to see it in full. |\n| The pencil (“Rename”) | Opens the field for the private name. See [Renaming a server (private name)](#servere.redenumire). |\n| “Key-only” | SSH password login is disabled: you connect only with an SSH key. |\n| “Password + key” | The server accepts SSH login with either a password or a key. |\n| “Managed” | Your company's server, managed by the BLACKBOX team. Below the server details, the note “This server is looked after by our team. To request a change, please contact support.” appears. The card has no management buttons; you can only give the server a private name. See [The “Overview” page](#servere.prezentare-generala). |\n| `active` | The green status label (see below). |\n\nThe “Key-only” and “Password + key” badges appear only when the panel knows how the server handles SSH login. You change it with the “Disable password login” and “Enable password login” buttons.\n\nThe page shows only active servers, so the status label always reads `active`. It does not show whether the server is running or stopped.\n\n## Server details\n\n| Field | What it shows |\n|---|---|\n| “Original name” | Appears only if you have given the server a private name: the internal name or the IP address. This is the name you type when you permanently delete the server. |\n| “Order” | The number of the order the server was created from, for example `BBX-2026-000123`. Not shown if the server is not linked to an order in your account. |\n| “IP” | The server's public IP address. The copy button next to it (tooltip “Copy this server's IP address”) copies the address, and “Copied” appears for 1.5 seconds. |\n| “Plan” | The plan code, for example `vm-iops1-m` (Standard M). Which plan each code stands for: [VPS plans: how to choose](#comenzi.planuri-vps). Not shown if the panel does not know the server's plan. |\n| “Spec” | The server's resources, in this order: processors, RAM, disk, for example `2 vCPU · 4 GB · 40 GB`. Not shown if the panel does not know the server's resources. |\n| “Added” | The date and time the server was added to the panel, in your browser's format. |\n\nIf your browser blocks access to the clipboard, “Copied” does not appear: select the address and copy it manually.\n\n## The card buttons\n\n| Button | What it does | Details |\n|---|---|---|\n| “Reveal credentials” | After you confirm, shows the saved root username and password on the card (“Username”, “Password”). | [Showing root credentials](#acces.afisare-date-acces) |\n| “Reset password” | Generates a new root password on the server and shows it in the same box. The old password stops working. | [Resetting the root password](#acces.resetare-parola-root) |\n| “Reboot”, “Stop”, “Start” | Reboots, stops or starts the server. “Stop” and “Start” are both shown, whatever state the server is in: the panel does not show whether the server is running. | [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire) |\n| “Disable password login” / “Enable password login” | Disables or re-enables SSH password login. Appears together with the “Key-only” or “Password + key” badge. | [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh) |\n| “Upgrade” | Opens the “Upgrade server” dialog: moving to a larger plan in the same family, paid from your balance. | [Server upgrade: moving to a larger plan](#servere.upgrade) |\n| “Terminate” (red) | Opens the “Terminate server” dialog. The server is deleted after a 24-hour grace period, during which you can cancel the deletion. | [Permanently deleting a server](#servere.stergere-server) |\n| “Add SSH key” | Opens the “Installed keys” list below the buttons, along with the form for adding a key to the server. Click it again to close the section. | [Adding and removing SSH keys on the server](#acces.chei-ssh-server) |\n| “Backups” | Opens the backup section. The service is not available (see below). | [Backup strategy for your server](#ghiduri.strategie-backup) |\n\n“Upgrade”, “Terminate” and “Backups” appear only on servers ordered from your account.\n\n> **Note**\n> The panel has no web or VNC console. You work with the server over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). If you can no longer connect, see [Lost access to your server (password or key)](#acces.recuperare-acces) or write to us.\n\n### What you see after you click a button\n\n- For most actions, the panel first asks you to confirm in a browser window, for example “Reboot bbx-bbx-2026-000023?”. While the request is running, the button is inactive.\n- When an action succeeds, no confirmation message appears. “Reveal credentials” and “Reset password” show the box with “Username” and “Password”, which stays on the card until you reload the page. “Reboot”, “Stop” and “Start” only make the button active again, and the action continues on the server. The password login button changes its text, and the badge switches to “Key-only” or “Password + key”.\n- If the action fails, the message appears in a red box below the server details. It can be a panel message (for example “Failed to change password login.”), a technical code (for example `power_action_failed`) or a phrase that stays in English in every panel language (for example “Rate limit exceeded — …”). The explanations are in [Panel error messages and what they mean](#faq.erori-panou).\n- During an upgrade, a label with the current stage appears below the details, for example “Queued”. The label is visible only in the browser tab where you started the upgrade.\n\n## Opening the card from “Comenzi” (Orders) on blackbox.md\n\n1. On blackbox.md, open “Contul meu” (My account) → “Comenzi” (Orders).\n2. On the order's row, click “Gestionează în app.blackbox.md” (Manage in app.blackbox.md): the icon with an arrow pointing outward; on a phone, it is in the “Mai multe acțiuni” (More actions) menu. The same link is also in “Vezi detaliile” (View details).\n3. The panel opens in a new tab, on the “My Servers” page. The page scrolls to the card of the order's server, which is highlighted with a colored border.\n\nThe button appears only on orders that have a server. See [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n## The “Backups” button\n\n1. Click “Backups” on the server card.\n2. “Loading…” appears, then a red box with the technical message `backup_extra_disabled`.\n3. The button changes to “Hide backups”. Click it to close the section.\n\nThe `backup_extra_disabled` message means that the automatic backup service is not available. It is not a fault of your server, and the data on it is not affected.\n\n> **Important**\n> BLACKBOX currently does not make automatic backups of your server. Make your own backups, on a system other than the server itself: see [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## Frequently asked questions\n\n**Why is my server called `bbx-bbx-…`?**\nThis is the internal name, made up of `bbx-` and the order number. You can give the server a private name with the “Rename” pencil. When you permanently delete the server, however, you type the original name (the IP address only if the server has no name).\n\n**The label shows `active`, but the server does not respond.**\nThe label does not show whether the server is running. If you stopped it, click “Start”. If you still can't connect, see [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**After an upgrade, “Plan” still shows the old code.**\nAfter an upgrade, “Spec” shows the new resources, but “Plan” may keep the code of the original plan. You can see the current plan code on blackbox.md, in “Comenzi” (Orders) → “Vezi detaliile” (View details) → “Tip” (Type).\n\n**I asked for the server to be deleted, but the card is still there.**\nThe deletion is carried out after the 24-hour grace period. Until then, the card stays on the page, and you can cancel the deletion from “Terminate”. Once the deletion has been carried out, the card disappears.\n\n**I see a server with the “Managed” badge.**\nIt is your company's server, managed by the BLACKBOX team: you can see it, but not manage it. For changes, write to us. If BLACKBOX has given you management rights on a company server, the badge is missing and you see some of the buttons; details in [The “Overview” page](#servere.prezentare-generala).\n"
   }
  },
  {
   "id": "servere.server-nou",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/server-nou/",
    "ru": "https://docs.blackbox.md/ru/servere/server-nou/",
    "en": "https://docs.blackbox.md/en/servere/server-nou/"
   },
   "title": {
    "ro": "Serverul nou: ce primiți și primii pași",
    "ru": "Новый сервер: что вы получаете и первые шаги",
    "en": "Your new server: what you get and first steps"
   },
   "summary": {
    "ro": "Configurația unui server nou (utilizator, rețea, chei, firewall) și lista de verificare pentru primele minute.",
    "ru": "Конфигурация нового сервера (пользователь, сеть, ключи, файрвол) и чек-лист на первые минуты.",
    "en": "The setup of a new server (user, network, keys, firewall) and a checklist for the first few minutes."
   },
   "markdown": {
    "ro": "Aici aflați ce conține un server nou imediat după activare (sistemul, resursele, adresa IP, accesul `root`, cheile SSH și regulile de rețea) și ce să faceți în primele minute. Serverul îl găsiți în panoul app.blackbox.md, în meniul „Serverele mele” (`app.blackbox.md/my-servers`), iar datele de acces vin în emailul „Serverul dvs. este gata — BBX-…”: [După plată: activarea serverului și emailurile](#comenzi.dupa-plata).\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat un plan VPS sau „VPS hosting”. Serverele dedicate sunt pregătite manual de echipă, iar configurația lor o stabiliți cu noi: [Servere dedicate](#comenzi.servere-dedicate).\n\n## Ce primiți\n\n| Ce | Pe serverul nou | Unde vedeți |\n|---|---|---|\n| Sistem de operare | cel ales la comandă ([Sistemele de operare disponibile](#comenzi.sisteme-operare)); la planurile „VPS hosting” imaginea o stabilește BLACKBOX ([Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou)) | emailul, rândul „Sistem de operare” |\n| Resurse | vCPU, RAM și discul planului; la planurile VPS, exact cele din descrierea planului ([Planurile VPS: cum alegeți](#comenzi.planuri-vps)) | cardul serverului: „Plan” (de exemplu `vm-iops1-m`) și „Configurație” (de exemplu `2 vCPU · 4 GB · 40 GB`) |\n| Adresă IP | o adresă IPv4 publică | cardul serverului, câmpul „IP” (cu buton de copiere), și emailul |\n| Utilizator | `root` | emailul și butonul „Afișează datele de acces” |\n| SSH | portul 22 | emailul: `ssh root@IP_SERVER` |\n| Nume intern | `bbx-` urmat de numărul comenzii cu litere mici, de exemplu `bbx-bbx-2026-000123` | titlul cardului, până îl redenumiți |\n\n## Parola root și modul de autentificare\n\nFiecare server primește o parolă root generată aleatoriu, de 22 de caractere (litere, cifre, `-` și `_`). Parola nu expiră: sistemul nu vă obligă s-o schimbați la prima conectare. Modul de autentificare l-ați ales la comandă ([Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda)), iar cardul serverului îl arată cu o insignă:\n\n| | „Parolă + cheie” | „Doar cheie” |\n|---|---|---|\n| Când | comandă fără cheie SSH sau cu caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)” debifată | cheie atașată la comandă, cu caseta bifată |\n| Parola root în email | da | nu: emailul conține amprentele cheilor |\n| Parola root în panou („Afișează datele de acces”) | da | da |\n| Autentificare SSH cu parolă | permisă | dezactivată (`PasswordAuthentication no`, `PermitRootLogin prohibit-password`) |\n| Autentificare SSH cu cheie | cu cheile atașate la comandă, dacă există | cu cheile atașate la comandă |\n\nCa să schimbați parola astfel încât panoul s-o cunoască, folosiți „Resetează parola”: [Resetarea parolei root](#acces.resetare-parola-root). Dacă o schimbați pe server cu `passwd`, „Afișează datele de acces” arată în continuare parola veche.\n\n## Cheile SSH de pe server\n\nÎn `/root/.ssh/authorized_keys` al unui server nou pot fi trei tipuri de chei. Le vedeți pe cardul serverului: „Adaugă cheie SSH” → „Chei instalate”.\n\n| Cheie | Cum o recunoașteți | La ce folosește | Ștergere |\n|---|---|---|---|\n| Cheile dvs. de la comandă | comentariul lor | conectarea dvs. | „Șterge” în „Chei instalate” |\n| Cheia de administrare BLACKBOX | „Cheie de administrare (blackbox.md)” | „Resetează parola”, adăugarea și ștergerea cheilor, butoanele de login cu parolă, extinderea discului la upgrade, comenzile rulate prin asistentul AI | nu se poate șterge din panou |\n| Cheia agentului AI | comentariul `blackbox-agent-bbx-2026-000123` (cu numărul comenzii dvs.) | accesul SSH al unui asistent AI autorizat de dvs. printr-un token API | „Șterge” în „Chei instalate”; funcțiile panoului nu depind de ea |\n\nDetalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n> **Important**\n> Nu ștergeți „Cheie de administrare (blackbox.md)” din `authorized_keys` și nu setați `PermitRootLogin no`: panoul se conectează ca `root` cu această cheie. Dacă restricționați autentificarea root, folosiți `PermitRootLogin prohibit-password` (root doar cu cheie). Altfel butoanele panoului nu mai funcționează.\n\n## Rețeaua și porturile\n\nTraficul care intră spre server trece prin două straturi:\n\n| Strat | Cine îl administrează | Pe un server nou |\n|---|---|---|\n| Filtrarea din rețea | BLACKBOX | sunt deschise SSH (22), HTTP (80), HTTPS (443) și ping |\n| Firewall-ul din sistem (`ufw` sau `firewalld`) | dvs. | nu este activat |\n\n- Panoul nu are setări de firewall. Pentru alt port (de exemplu 8080), scrieți suportului cu adresa IP a serverului și portul: [Cum contactați suportul BLACKBOX](#suport.contact).\n- Traficul ajunge la aplicație doar dacă portul este deschis în ambele straturi. Detalii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## Numele serverului\n\nÎn panou, serverul apare cu numele intern `bbx-bbx-…`. Ca să afișați alt nume, apăsați creionul „Redenumește”: numele nou îl vedeți doar dvs., iar serverul nu se modifică ([Redenumirea serverului (nume privat)](#servere.redenumire)). Numele de gazdă (hostname) al sistemului îl puteți schimba singur, dacă doriți:\n\n```bash\nhostnamectl set-hostname NUME_GAZDA\n```\n\n## Primii pași: lista de verificare\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC: serverul se administrează prin SSH. Când schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH până verificați că vă puteți conecta din nou. Dacă rămâneți fără acces, scrieți suportului: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n1. **Conectați-vă prin SSH.** Emailul poate sosi cu aproximativ un minut înainte ca serverul să răspundă; dacă prima încercare eșuează, reîncercați peste un minut. Detalii: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\n2. **Actualizați sistemul.** Ubuntu și Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n   Dacă s-a actualizat nucleul, reporniți serverul („Repornește” în panou). Actualizări automate: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate).\n3. **Adăugați cheia SSH și testați-o.** Dacă nu ați atașat o cheie la comandă, generați una ([Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) și adăugați-o cu „Adaugă cheie SSH” ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)). Verificați într-un al doilea terminal că vă conectați cu cheia.\n4. **Treceți la autentificarea doar cu cheie.** După ce cheia funcționează, apăsați pe card „Dezactivează login cu parolă” și confirmați. Nu editați `PasswordAuthentication` în `/etc/ssh/sshd_config`: butonul scrie o setare care are prioritate. Detalii: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). Verificare pe server (rezultatul așteptat este `passwordauthentication no`):\n\n   ```bash\n   sshd -T | grep -i passwordauthentication\n   ```\n\n5. **Activați firewall-ul, permițând întâi portul 22.** Ubuntu și Debian (pe Debian `ufw` trebuie instalat):\n\n   ```bash\n   apt install -y ufw\n   ufw allow 22/tcp\n   ufw enable\n   ```\n\n   La întrebarea „Command may disrupt existing ssh connections. Proceed with operation (y|n)?” răspundeți `y`. AlmaLinux și CentOS Stream (zona implicită permite deja SSH, iar comanda a treia o confirmă):\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --permanent --add-service=ssh\n   firewall-cmd --reload\n   ```\n\n   Pentru un site, permiteți și 80 și 443: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n6. **Instalați fail2ban**, care blochează adresele ce încearcă să ghicească parole: [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n7. **Planificați copiile de rezervă.** BLACKBOX nu face copii de rezervă automate ale serverului dvs.: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n8. **Verificați pagina „Monitorizare”** din meniul panoului: [Pagina „Monitorizare”](#servicii.monitorizare). Graficele live (CPU, RAM, disc) apar pentru serverele cu serviciul suplimentar Monitoring: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\nLista completă, cu explicații: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Întrebări frecvente\n\n**Dacă opresc serverul, plătesc mai puțin?**\nNu. Un server oprit cu „Oprește” se facturează în continuare la prețul planului. Facturarea se oprește doar când ștergeți serverul: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n**Pot muta SSH pe alt port?**\nNu vă recomandăm. Filtrarea din rețea lasă să treacă implicit doar porturile de mai sus, iar „Resetează parola”, „Adaugă cheie SSH” și asistentul AI se conectează la server pe portul 22. Pe alt port, aceste funcții nu mai merg, iar SSH poate deveni inaccesibil.\n\n**În „Chei instalate” văd chei pe care nu le-am adăugat. Ce sunt?**\nPe orice server nou sunt cele două chei BLACKBOX: „Cheie de administrare (blackbox.md)” și cheia cu comentariul `blackbox-agent-…`. Dacă o cheie nu este nici a dvs., nici una dintre acestea, ștergeți-o și scrieți suportului.\n\n**Emailul pomenește o consolă VNC. Unde o găsesc?**\nClienții nu au consolă web sau VNC. Ceea ce emailul numește „parola de consolă” este parola root, pe care o vedeți cu „Afișează datele de acces”. Pe un server „Doar cheie” ea nu funcționează prin SSH cât timp autentificarea cu parolă este dezactivată.\n",
    "ru": "Здесь описано, что есть на новом сервере сразу после активации (система, ресурсы, IP-адрес, доступ `root`, SSH-ключи и сетевые правила) и что сделать в первые минуты. Сервер находится в панели app.blackbox.md, в разделе «Мои серверы» (`app.blackbox.md/my-servers`), а данные для доступа приходят в письме с темой «Serverul dvs. este gata — BBX-…» (тема всегда на румынском): [После оплаты: активация сервера и письма](#comenzi.dupa-plata).\n\n**Доступно:** владельцу аккаунта blackbox.md, заказавшему тариф VPS или «VPS hosting». Выделенные серверы команда готовит вручную, их конфигурацию вы согласуете с нами: [Выделенные серверы](#comenzi.servere-dedicate).\n\n## Что вы получаете\n\n| Что | На новом сервере | Где посмотреть |\n|---|---|---|\n| Операционная система | выбранная при заказе ([Доступные операционные системы](#comenzi.sisteme-operare)); для тарифов «VPS hosting» образ определяет BLACKBOX ([Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou)) | письмо, строка «Операционная система» |\n| Ресурсы | vCPU, ОЗУ и диск тарифа; для тарифов VPS — ровно те, что указаны в описании тарифа ([Тарифы VPS: как выбрать](#comenzi.planuri-vps)) | карточка сервера: «Тариф» (например, `vm-iops1-m`) и «Конфигурация» (например, `2 vCPU · 4 GB · 40 GB`) |\n| IP-адрес | один публичный адрес IPv4 | карточка сервера, поле «IP» (с кнопкой копирования), и письмо |\n| Пользователь | `root` | письмо и кнопка «Показать учётные данные» |\n| SSH | порт 22 | письмо: `ssh root@IP_СЕРВЕРА` |\n| Внутреннее имя | `bbx-` и номер заказа строчными буквами, например `bbx-bbx-2026-000123` | заголовок карточки, пока вы её не переименуете |\n\n## Пароль root и способ входа\n\nКаждый сервер получает случайный пароль root из 22 символов (буквы, цифры, `-` и `_`). Срок действия пароля не ограничен: при первом входе система не потребует его сменить. Способ входа вы выбрали при заказе ([SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda)), на карточке сервера он отмечен значком:\n\n| | «Пароль + ключ» | «Только ключ» |\n|---|---|---|\n| Когда | заказ без SSH-ключа или со снятым флажком «Отключить вход по паролю (только SSH-ключ)» | ключ добавлен при заказе, флажок оставлен |\n| Пароль root в письме | есть | нет: в письме отпечатки ключей |\n| Пароль root в панели («Показать учётные данные») | есть | есть |\n| Вход по SSH с паролем | разрешён | отключён (`PasswordAuthentication no`, `PermitRootLogin prohibit-password`) |\n| Вход по SSH с ключом | ключами, добавленными при заказе, если они есть | ключами, добавленными при заказе |\n\nЧтобы сменить пароль так, чтобы панель знала новый, нажмите «Сбросить пароль»: [Сброс пароля root](#acces.resetare-parola-root). Если сменить пароль на сервере командой `passwd`, кнопка «Показать учётные данные» по-прежнему будет показывать старый.\n\n## SSH-ключи на сервере\n\nВ `/root/.ssh/authorized_keys` нового сервера могут быть ключи трёх видов. Их список есть на карточке сервера: «Добавить SSH-ключ» → «Установленные ключи».\n\n| Ключ | Как узнать | Для чего | Удаление |\n|---|---|---|---|\n| Ваши ключи из заказа | по их комментарию | ваш вход на сервер | «Удалить» в списке «Установленные ключи» |\n| Ключ управления BLACKBOX | «Ключ управления (blackbox.md)» | «Сбросить пароль», добавление и удаление ключей, кнопки входа по паролю, расширение диска при апгрейде, команды через AI-ассистента | из панели удалить нельзя |\n| Ключ AI-агента | комментарий `blackbox-agent-bbx-2026-000123` (с номером вашего заказа) | SSH-доступ AI-ассистента, которому вы дали доступ API-токеном | «Удалить» в списке «Установленные ключи»; функции панели от него не зависят |\n\nПодробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n> **Важно**\n> Не удаляйте «Ключ управления (blackbox.md)» из `authorized_keys` и не ставьте `PermitRootLogin no`: панель подключается к серверу как `root` по этому ключу. Если хотите ограничить вход под root, используйте `PermitRootLogin prohibit-password` (root только по ключу). Иначе кнопки панели перестанут работать.\n\n## Сеть и порты\n\nВходящий трафик к серверу проходит через два уровня:\n\n| Уровень | Кто управляет | На новом сервере |\n|---|---|---|\n| Сетевая фильтрация | BLACKBOX | открыты SSH (22), HTTP (80), HTTPS (443) и ping |\n| Файрвол в системе (`ufw` или `firewalld`) | вы | не включён |\n\n- Настроек файрвола в панели нет. Если нужен другой порт (например, 8080), напишите в поддержку, указав IP-адрес сервера и порт: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n- Трафик дойдёт до приложения, только если порт открыт на обоих уровнях. Подробнее: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## Имя сервера\n\nВ панели сервер отображается под внутренним именем `bbx-bbx-…`. Чтобы видеть другое название, нажмите значок карандаша «Переименовать»: новое название видите только вы, сам сервер не меняется ([Переименование сервера (личное название)](#servere.redenumire)). Имя хоста (hostname) в системе можно сменить самостоятельно, если нужно:\n\n```bash\nhostnamectl set-hostname ИМЯ_ХОСТА\n```\n\n## Первые шаги: чек-лист\n\n> **Внимание**\n> Веб- и VNC-консоли для клиентов нет: сервером управляют по SSH. Меняя настройки SSH или файрвола, держите открытой вторую SSH-сессию, пока не убедитесь, что можете войти заново. Если доступ потерян, напишите в поддержку: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n1. **Подключитесь по SSH.** Письмо может прийти примерно за минуту до того, как сервер начнёт отвечать; если первая попытка не удалась, повторите через минуту. Подробнее: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\n2. **Обновите систему.** Ubuntu и Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n   Если обновилось ядро, перезагрузите сервер (кнопка «Перезагрузить» в панели). Автоматические обновления: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate).\n3. **Добавьте SSH-ключ и проверьте его.** Если при заказе ключ не добавляли, создайте его ([Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) и добавьте кнопкой «Добавить SSH-ключ» ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)). Во втором терминале убедитесь, что входите по ключу.\n4. **Перейдите на вход только по ключу.** Когда вход по ключу заработал, нажмите на карточке «Отключить вход по паролю» и подтвердите. Не редактируйте `PasswordAuthentication` в `/etc/ssh/sshd_config`: кнопка записывает настройку, которая имеет приоритет. Подробнее: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). Проверка на сервере (ожидаемый результат — `passwordauthentication no`):\n\n   ```bash\n   sshd -T | grep -i passwordauthentication\n   ```\n\n5. **Включите файрвол, сначала разрешив порт 22.** Ubuntu и Debian (в Debian `ufw` нужно установить):\n\n   ```bash\n   apt install -y ufw\n   ufw allow 22/tcp\n   ufw enable\n   ```\n\n   На вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?» ответьте `y`. AlmaLinux и CentOS Stream (зона по умолчанию уже разрешает SSH, третья команда это подтверждает):\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --permanent --add-service=ssh\n   firewall-cmd --reload\n   ```\n\n   Для сайта откройте также порты 80 и 443: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n6. **Установите fail2ban** — он блокирует адреса, с которых подбирают пароли: [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n7. **Спланируйте резервное копирование.** BLACKBOX не делает автоматических резервных копий вашего сервера: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n8. **Загляните на страницу «Мониторинг»** в меню панели: [Страница «Мониторинг»](#servicii.monitorizare). Графики в реальном времени (CPU, ОЗУ, диск) появляются для серверов с дополнительной услугой «Мониторинг»: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\nПолный список с пояснениями: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Частые вопросы\n\n**Если остановить сервер, платить придётся меньше?**\nНет. Сервер, остановленный кнопкой «Остановить», оплачивается по цене тарифа, как и работающий. Начисления прекращаются только после удаления сервера: [Безвозвратное удаление сервера](#servere.stergere-server).\n\n**Можно перенести SSH на другой порт?**\nНе рекомендуем. Сетевая фильтрация по умолчанию пропускает только перечисленные выше порты, а «Сбросить пароль», «Добавить SSH-ключ» и AI-ассистент подключаются к серверу на порт 22. На другом порту эти функции перестанут работать, а сам SSH может оказаться недоступен.\n\n**В списке «Установленные ключи» есть ключи, которые я не добавлял. Что это?**\nНа каждом новом сервере есть два ключа BLACKBOX: «Ключ управления (blackbox.md)» и ключ с комментарием `blackbox-agent-…`. Если ключ не ваш и не один из этих двух, удалите его и напишите в поддержку.\n\n**В письме упоминается VNC-консоль. Где она?**\nВеб- и VNC-консоли для клиентов нет. «Пароль консоли» из письма — это пароль root; его показывает кнопка «Показать учётные данные». На сервере «Только ключ» по SSH он не подойдёт, пока вход по паролю отключён.\n",
    "en": "This article explains what a new server includes right after activation (the system, resources, IP address, `root` access, SSH keys and network rules) and what to do in the first few minutes. You'll find the server in the app.blackbox.md panel, in the “My Servers” menu (`app.blackbox.md/my-servers`), and the access details come in the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…): [After payment: server activation and emails](#comenzi.dupa-plata).\n\n**Available to:** the blackbox.md account holder who ordered a VPS plan or a “VPS hosting” plan. Dedicated servers are prepared manually by our team, and you agree on their configuration with us: [Dedicated servers](#comenzi.servere-dedicate).\n\n## What you get\n\n| What | On the new server | Where you see it |\n|---|---|---|\n| Operating system | the one you chose when you ordered ([Available operating systems](#comenzi.sisteme-operare)); for “VPS hosting” plans, BLACKBOX chooses the image ([“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou)) | the email, the “Sistem de operare” (Operating system) row |\n| Resources | the plan's vCPU, RAM and disk; for VPS plans, exactly what the plan description lists ([VPS plans: how to choose](#comenzi.planuri-vps)) | the server card: “Plan” (for example `vm-iops1-m`) and “Spec” (for example `2 vCPU · 4 GB · 40 GB`) |\n| IP address | one public IPv4 address | the server card, the “IP” field (with a copy button), and the email |\n| User | `root` | the email and the “Reveal credentials” button |\n| SSH | port 22 | the email: `ssh root@SERVER_IP` |\n| Internal name | `bbx-` followed by the order number in lowercase, for example `bbx-bbx-2026-000123` | the card title, until you rename it |\n\n## The root password and the login method\n\nEach server gets a randomly generated 22-character root password (letters, digits, `-` and `_`). The password does not expire: the system does not make you change it at your first login. You chose the login method when you ordered ([The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda)), and the server card shows it with a badge:\n\n| | “Password + key” | “Key-only” |\n|---|---|---|\n| When | an order without an SSH key, or with the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box unchecked | a key attached to the order, with the box checked |\n| Root password in the email | yes | no: the email contains the key fingerprints |\n| Root password in the panel (“Reveal credentials”) | yes | yes |\n| SSH password authentication | allowed | disabled (`PasswordAuthentication no`, `PermitRootLogin prohibit-password`) |\n| SSH key authentication | with the keys attached to the order, if there are any | with the keys attached to the order |\n\nTo change the password so that the panel knows the new one, use “Reset password”: [Resetting the root password](#acces.resetare-parola-root). If you change it on the server with `passwd`, “Reveal credentials” keeps showing the old password.\n\n## SSH keys on the server\n\nA new server's `/root/.ssh/authorized_keys` file can contain three kinds of keys. You can see them on the server card: “Add SSH key” → “Installed keys”.\n\n| Key | How to recognize it | What it's for | Removing it |\n|---|---|---|---|\n| Your keys from the order | their comment | your own login | “Remove” in “Installed keys” |\n| The BLACKBOX management key | “Management key (blackbox.md)” | “Reset password”, adding and removing keys, the password login buttons, extending the disk on upgrade, commands run through the AI assistant | it can't be removed from the panel |\n| The AI agent key | the comment `blackbox-agent-bbx-2026-000123` (with your order number) | SSH access for an AI assistant you authorized with an API token | “Remove” in “Installed keys”; the panel features don't depend on it |\n\nDetails: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n> **Important**\n> Don't remove “Management key (blackbox.md)” from `authorized_keys`, and don't set `PermitRootLogin no`: the panel connects as `root` with this key. If you want to restrict root login, use `PermitRootLogin prohibit-password` (root with a key only). Otherwise, the panel buttons stop working.\n\n## Network and ports\n\nIncoming traffic to the server passes through two layers:\n\n| Layer | Who manages it | On a new server |\n|---|---|---|\n| Network filtering | BLACKBOX | SSH (22), HTTP (80), HTTPS (443) and ping are open |\n| The operating system firewall (`ufw` or `firewalld`) | you | not enabled |\n\n- The panel has no firewall settings. For another port (for example 8080), write to support with the server's IP address and the port: [How to contact BLACKBOX support](#suport.contact).\n- Traffic reaches your application only if the port is open in both layers. Details: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## The server name\n\nIn the panel, the server appears under its internal name `bbx-bbx-…`. To show a different name, click the “Rename” pencil: only you see the new name, and the server itself doesn't change ([Renaming a server (private name)](#servere.redenumire)). If you want, you can change the system's hostname yourself:\n\n```bash\nhostnamectl set-hostname HOSTNAME\n```\n\n## First steps: checklist\n\n> **Warning**\n> Customers have no web or VNC console: you manage the server over SSH. When you change SSH settings or the firewall, keep a second SSH session open until you have checked that you can connect again. If you lose access, write to support: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n1. **Connect over SSH.** The email may arrive about a minute before the server responds; if your first attempt fails, try again a minute later. Details: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\n2. **Update the system.** Ubuntu and Debian:\n\n   ```bash\n   apt update\n   apt upgrade -y\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   dnf upgrade -y\n   ```\n\n   If the kernel was updated, restart the server (“Reboot” in the panel). Automatic updates: [System updates and automatic security updates](#ghiduri.actualizari-automate).\n3. **Add your SSH key and test it.** If you didn't attach a key to the order, generate one ([Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) and add it with “Add SSH key” ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)). In a second terminal, check that you can log in with the key.\n4. **Switch to key-only login.** Once the key works, click “Disable password login” on the card and confirm. Don't edit `PasswordAuthentication` in `/etc/ssh/sshd_config`: the button writes a setting that takes precedence. Details: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). To check on the server (the expected result is `passwordauthentication no`):\n\n   ```bash\n   sshd -T | grep -i passwordauthentication\n   ```\n\n5. **Turn on the firewall, allowing port 22 first.** Ubuntu and Debian (on Debian, you need to install `ufw`):\n\n   ```bash\n   apt install -y ufw\n   ufw allow 22/tcp\n   ufw enable\n   ```\n\n   When you see the question “Command may disrupt existing ssh connections. Proceed with operation (y|n)?”, answer `y`. AlmaLinux and CentOS Stream (the default zone already allows SSH, and the third command confirms it):\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --permanent --add-service=ssh\n   firewall-cmd --reload\n   ```\n\n   For a website, also allow 80 and 443: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n6. **Install fail2ban**, which blocks addresses that try to guess passwords: [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n7. **Plan your backups.** BLACKBOX does not make automatic backups of your server: [Backup strategy for your server](#ghiduri.strategie-backup).\n8. **Check the “Monitoring” page** in the panel menu: [The “Monitoring” page](#servicii.monitorizare). Live charts (CPU, RAM, disk) appear for servers with the Monitoring add-on service: [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\nThe full list, with explanations: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## Frequently asked questions\n\n**If I stop my server, do I pay less?**\nNo. A server stopped with “Stop” is still billed at the plan price. Billing stops only when you delete the server: [Permanently deleting a server](#servere.stergere-server).\n\n**Can I move SSH to a different port?**\nWe don't recommend it. By default, the network filtering lets through only the ports listed above, and “Reset password”, “Add SSH key” and the AI assistant connect to the server on port 22. On a different port, these features stop working, and SSH may become unreachable.\n\n**In “Installed keys” I see keys I didn't add. What are they?**\nEvery new server has the two BLACKBOX keys: “Management key (blackbox.md)” and the key with the comment `blackbox-agent-…`. If a key is neither yours nor one of these two, remove it and write to support.\n\n**The email mentions a VNC console. Where do I find it?**\nCustomers have no web or VNC console. What the email calls the “parola de consolă” (console password) is the root password, which you can see with “Reveal credentials”. On a “Key-only” server, it doesn't work over SSH while password authentication is disabled.\n"
   }
  },
  {
   "id": "servere.redenumire",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/redenumire/",
    "ru": "https://docs.blackbox.md/ru/servere/redenumire/",
    "en": "https://docs.blackbox.md/en/servere/redenumire/"
   },
   "title": {
    "ro": "Redenumirea serverului (nume privat)",
    "ru": "Переименование сервера (личное название)",
    "en": "Renaming a server (private name)"
   },
   "summary": {
    "ro": "Cum dați serverului un nume vizibil doar pentru dvs. și unde nu este folosit acest nume.",
    "ru": "Как дать серверу название, видимое только вам, и где это название не используется.",
    "en": "How to give your server a name that only you can see, and where this name is not used."
   },
   "markdown": {
    "ro": "Creionul de lângă numele serverului, în pagina „Serverele mele” (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”), vă permite să dați serverului un nume privat, de exemplu „Magazin online” în loc de numele original `bbx-bbx-2026-000123`. Numele privat schimbă doar ce vedeți dvs. în panoul app.blackbox.md. Serverul, numele lui original și numele de host din sistemul de operare rămân aceleași.\n\n**Disponibil pentru:** orice client autentificat în panou, pentru fiecare server din „Serverele mele”, inclusiv serverele marcate „Administrat”.\n\n## Cum redenumiți serverul\n\n1. Deschideți „Serverele mele” și găsiți cardul serverului.\n2. Apăsați creionul de lângă numele serverului. La trecerea cursorului peste el apare indicația „Redenumește”.\n3. Sub nume se deschide un câmp de text. Dacă serverul nu are încă un nume privat, câmpul este gol și arată în gri numele original. Dacă are deja unul, numele actual apare selectat, gata de înlocuit.\n4. Sub câmp este afișat textul „Doar dumneavoastră vedeți acest nume. Serverul în sine nu se modifică.”\n5. Scrieți numele nou, de cel mult 80 de caractere.\n6. Apăsați „Salvează” sau tasta Enter. Cât timp se salvează, butonul arată „Se salvează…”.\n7. Câmpul se închide, iar cardul arată numele nou. În lista de date a cardului apare rândul „Nume original”, cu numele inițial al serverului.\n\nNu apare un mesaj separat de confirmare: numele nou din antetul cardului arată că salvarea a reușit. Ca să renunțați fără să salvați, apăsați „Anulează” sau tasta Esc.\n\n## Cum reveniți la numele original\n\nAlegeți una dintre variante:\n\n- apăsați creionul, apoi „Revino la numele original” (butonul apare doar dacă serverul are un nume privat);\n- ștergeți tot textul din câmp și apăsați „Salvează”;\n- scrieți exact numele original și apăsați „Salvează”.\n\nNumele privat este șters, cardul arată din nou numele original, iar rândul „Nume original” dispare.\n\n## Reguli pentru nume\n\n| Regulă | Detalii |\n|---|---|\n| Lungime | Cel mult 80 de caractere. Câmpul nu vă lasă să tastați mai mult. Spațiile de la început și de la sfârșit se elimină automat. |\n| Un singur rând | Numele nu poate conține sfârșit de rând. |\n| Caractere | Orice litere (inclusiv cu diacritice sau chirilice), cifre, spații și semne. Nu sunt permise caracterele de control invizibile, de exemplu tabulatorul. |\n| Câmp gol sau numele original | Șterge numele privat. |\n| Limită | Cel mult 30 de modificări în 5 minute, pentru toate serverele contului la un loc. |\n\n## Mesaje de eroare\n\nMesajul apare într-o casetă roșie sub câmp. Câmpul rămâne deschis, deci puteți corecta numele și salva din nou.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Numele poate avea cel mult 80 de caractere.” | Numele depășește 80 de caractere | Scurtați numele |\n| „Numele trebuie să fie pe un singur rând.” | Textul conține un sfârșit de rând, de obicei copiat dintr-un alt document | Ștergeți textul și tastați numele de mână |\n| „Numele conține caractere nepermise.” | Textul conține un caracter de control invizibil, de exemplu un tabulator copiat odată cu textul | Ștergeți textul și tastați numele de mână |\n| „Prea multe modificări. Încercați din nou peste câteva minute.” | Ați făcut peste 30 de modificări în 5 minute | Așteptați 5 minute fără să salvați, apoi reîncercați. Încercările din acest interval se numără și ele |\n| „Numele nu a putut fi salvat. Încercați din nou.” | Altă eroare, de exemplu o problemă de conexiune | Reîncărcați pagina și reîncercați. Dacă eroarea se repetă, scrieți-ne |\n\n## Unde apare numele privat și unde nu\n\n| Unde | Ce nume vedeți |\n|---|---|\n| Cardul serverului din pagina „Serverele mele” | Numele privat; numele original apare pe rândul „Nume original” |\n| Mesajele de confirmare ale butoanelor de pe card, de exemplu „Reporniți …?” | Numele privat |\n| Fereastra „Upgrade server”, rândul „Server:” | Numele privat |\n| Pagina „Monitorizare”: tabelul serverelor și lista din blocul „Tendințe” | Numele privat |\n| Blocul „Alerte” din pagina „Monitorizare” | Numele original |\n| Fereastra „Ștergere definitivă server” | Numele original |\n| Emailurile de la BLACKBOX (server gata, upgrade, ștergere, alerte) | Numele privat nu este folosit |\n| Facturile și comenzile de pe blackbox.md | Numele privat nu este folosit |\n| Numele de host al serverului (în terminal, după `root@`) | Nu se schimbă |\n| Asistentul AI (MCP) | Vede numele privat alături de cel original, dar nu îl poate schimba |\n| Exportul de date de pe blackbox.md | Include numele private, cu IP-ul fiecărui server: [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date) |\n\n> **Important**\n> Pentru ștergerea definitivă tastați numele original afișat în fereastra „Ștergere definitivă server” (de exemplu `bbx-bbx-2026-000123`), nu numele privat. Butonul „Programează ștergerea” rămâne inactiv până când textul coincide exact. Detalii: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n> **Sfat**\n> Când scrieți suportului, indicați IP-ul serverului, numărul comenzii sau numele original. Numele privat îl vedeți doar dvs.\n\n## Schimbarea numelui de host pe server\n\nNumele de host este numele serverului în sistemul de operare: apare, de exemplu, în linia de comandă după `root@`. Numele privat nu îl schimbă, iar un nume de host schimbat pe server nu apare în panou. Dacă doriți ca și sistemul să poarte alt nume, conectați-vă prin SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) și urmați pașii:\n\n1. Setați numele nou. Folosiți doar litere latine mici, cifre și cratime, fără spații (de exemplu, `web-01`):\n\n   ```bash\n   hostnamectl set-hostname NUME_HOST\n   ```\n\n2. Deschideți fișierul `/etc/hosts` într-un editor de text, de exemplu nano:\n\n   ```bash\n   nano /etc/hosts\n   ```\n\n   Pe AlmaLinux și CentOS Stream, dacă nano lipsește, instalați-l mai întâi:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n3. Înlocuiți numele vechi cu cel nou. Dacă numele vechi nu apare în fișier, adăugați la sfârșit linia:\n\n   ```text\n   127.0.1.1 NUME_HOST\n   ```\n\n4. Salvați fișierul (în nano: Ctrl+O, Enter, apoi Ctrl+X) și verificați rezultatul. Numele nou apare pe rândul „Static hostname”:\n\n   ```bash\n   hostnamectl\n   ```\n\n5. Serverele pornesc cu cloud-init, care la pornire poate restabili numele vechi și conținutul fișierului `/etc/hosts`. Ca modificările dvs. să rămână și după repornire, rulați:\n\n   ```bash\n   echo \"preserve_hostname: true\" > /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   echo \"manage_etc_hosts: false\" >> /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   ```\n\nLinia de comandă arată numele nou de la următoarea conectare prin SSH.\n\n## Întrebări frecvente\n\n**Cine mai vede numele privat?**\nDoar dvs., în contul dvs. Numele nu apare în emailuri și nici pe facturi.\n\n**Pot redenumi un server marcat „Administrat”?**\nDa. Numele privat nu modifică serverul, de aceea creionul este disponibil și pe aceste carduri.\n\n**Numele privat rămâne după repornire sau upgrade?**\nDa. Numele privat ține de cont, nu de sistemul de operare, deci repornirea sau upgrade-ul nu îl schimbă: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n**După repornire, numele de host a revenit la cel vechi. Ce fac?**\nProbabil cloud-init a restabilit numele la pornire. Rulați comenzile de la pasul 5 din secțiunea „Schimbarea numelui de host pe server”, apoi repetați pașii 1–4.\n",
    "ru": "Кнопка с карандашом рядом с названием сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`, боковое меню → «Инфраструктура» → «Мои серверы») позволяет дать серверу личное название, например «Интернет-магазин» вместо исходного `bbx-bbx-2026-000123`. Личное название меняет только то, что вы видите в панели app.blackbox.md. Сам сервер, его исходное название и имя хоста в операционной системе остаются прежними.\n\n**Доступно:** любому клиенту, вошедшему в панель, для каждого сервера на странице «Мои серверы», в том числе для серверов с пометкой «Обслуживается».\n\n## Как переименовать сервер\n\n1. Откройте «Мои серверы» и найдите карточку сервера.\n2. Нажмите на карандаш рядом с названием сервера. При наведении курсора появляется подсказка «Переименовать».\n3. Под названием откроется текстовое поле. Если у сервера ещё нет личного названия, поле пустое, а серым в нём показано исходное название. Если личное название уже задано, оно будет выделено, и можно сразу вводить новое.\n4. Под полем написано: «Это название видите только вы. Сам сервер не изменяется.»\n5. Введите новое название длиной не более 80 символов.\n6. Нажмите «Сохранить» или клавишу Enter. Пока идёт сохранение, на кнопке написано «Сохранение…».\n7. Поле закроется, а на карточке появится новое название. В списке данных карточки добавится строка «Исходное название» с первоначальным названием сервера.\n\nОтдельного сообщения об успехе нет: новое название в заголовке карточки и есть подтверждение. Чтобы выйти без сохранения, нажмите «Отмена» или клавишу Esc.\n\n## Как вернуть исходное название\n\nПодойдёт любой из способов:\n\n- нажмите на карандаш, затем «Вернуть исходное название» (кнопка видна, только если у сервера есть личное название);\n- сотрите весь текст в поле и нажмите «Сохранить»;\n- введите в точности исходное название и нажмите «Сохранить».\n\nЛичное название удаляется, на карточке снова показано исходное название, а строка «Исходное название» исчезает.\n\n## Правила для названия\n\n| Правило | Подробности |\n|---|---|\n| Длина | Не более 80 символов. Больше ввести в поле нельзя. Пробелы в начале и в конце удаляются автоматически. |\n| Одна строка | В названии не может быть переноса строки. |\n| Символы | Любые буквы (в том числе кириллица и латиница с диакритикой), цифры, пробелы и знаки. Нельзя использовать невидимые управляющие символы, например табуляцию. |\n| Пустое поле или исходное название | Удаляет личное название. |\n| Лимит | Не более 30 изменений за 5 минут для всех серверов аккаунта вместе. |\n\n## Сообщения об ошибках\n\nСообщение появляется в красной рамке под полем. Поле остаётся открытым: название можно исправить и сохранить ещё раз.\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Название может содержать не более 80 символов.» | Название длиннее 80 символов | Сократите название |\n| «Название должно помещаться в одну строку.» | В тексте есть перенос строки, обычно скопированный из другого документа | Сотрите текст и введите название вручную |\n| «Название содержит недопустимые символы.» | В тексте есть невидимый управляющий символ, например табуляция, скопированная вместе с текстом | Сотрите текст и введите название вручную |\n| «Слишком много изменений. Попробуйте снова через несколько минут.» | Больше 30 изменений за 5 минут | Подождите 5 минут, ничего не сохраняя, затем повторите. Попытки в этот промежуток тоже учитываются |\n| «Не удалось сохранить название. Попробуйте ещё раз.» | Другая ошибка, например проблема со связью | Обновите страницу и повторите. Если ошибка повторяется, напишите нам |\n\n## Где используется личное название, а где нет\n\n| Где | Какое название вы видите |\n|---|---|\n| Карточка сервера на странице «Мои серверы» | Личное; исходное — в строке «Исходное название» |\n| Окна подтверждения у кнопок карточки, например «Перезагрузить …?» | Личное |\n| Окно «Апгрейд сервера», строка «Сервер:» | Личное |\n| Страница «Мониторинг»: таблица серверов и список в блоке «Динамика» | Личное |\n| Блок «Оповещения» на странице «Мониторинг» | Исходное |\n| Окно «Удаление сервера» | Исходное |\n| Письма от BLACKBOX (сервер готов, апгрейд, удаление, оповещения) | Личное название не используется |\n| Счета и заказы на blackbox.md | Личное название не используется |\n| Имя хоста сервера (в терминале, после `root@`) | Не меняется |\n| AI-ассистент (MCP) | Видит личное название рядом с исходным, но изменить его не может |\n| Выгрузка данных с blackbox.md | Содержит личные названия с IP каждого сервера: [Скачивание ваших данных («Мои данные»)](#cont.export-date) |\n\n> **Важно**\n> Для безвозвратного удаления введите исходное название, показанное в окне «Удаление сервера» (например, `bbx-bbx-2026-000123`), а не личное. Кнопка «Запланировать удаление» остаётся неактивной, пока текст не совпадёт полностью. Подробнее: [Безвозвратное удаление сервера](#servere.stergere-server).\n\n> **Совет**\n> В обращениях в поддержку указывайте IP сервера, номер заказа или исходное название. Личное название видите только вы.\n\n## Смена имени хоста на сервере\n\nИмя хоста — это имя сервера в операционной системе: например, оно видно в командной строке после `root@`. Личное название его не меняет, а имя хоста, изменённое на сервере, не появится в панели. Если нужно, чтобы и система называлась иначе, подключитесь по SSH ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) и выполните шаги:\n\n1. Задайте новое имя. Используйте только строчные латинские буквы, цифры и дефисы, без пробелов (например, `web-01`):\n\n   ```bash\n   hostnamectl set-hostname ИМЯ_ХОСТА\n   ```\n\n2. Откройте файл `/etc/hosts` в текстовом редакторе, например в nano:\n\n   ```bash\n   nano /etc/hosts\n   ```\n\n   На AlmaLinux и CentOS Stream, если nano нет, сначала установите его:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n3. Замените старое имя новым. Если старого имени в файле нет, добавьте в конец строку:\n\n   ```text\n   127.0.1.1 ИМЯ_ХОСТА\n   ```\n\n4. Сохраните файл (в nano: Ctrl+O, Enter, затем Ctrl+X) и проверьте результат. Новое имя будет в строке «Static hostname»:\n\n   ```bash\n   hostnamectl\n   ```\n\n5. Серверы запускаются с cloud-init, который при загрузке может вернуть старое имя и прежнее содержимое файла `/etc/hosts`. Чтобы ваши изменения сохранились и после перезагрузки, выполните:\n\n   ```bash\n   echo \"preserve_hostname: true\" > /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   echo \"manage_etc_hosts: false\" >> /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   ```\n\nКомандная строка покажет новое имя при следующем подключении по SSH.\n\n## Частые вопросы\n\n**Кто ещё видит личное название?**\nТолько вы, в своём аккаунте. В письмах и счетах оно не появляется.\n\n**Можно ли переименовать сервер с пометкой «Обслуживается»?**\nДа. Личное название не меняет сам сервер, поэтому карандаш есть и на таких карточках.\n\n**Сохранится ли личное название после перезагрузки или апгрейда?**\nДа. Личное название хранится в вашем аккаунте, а не в операционной системе, поэтому перезагрузка и апгрейд его не меняют: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n**После перезагрузки вернулось старое имя хоста. Что делать?**\nСкорее всего, имя вернул cloud-init при загрузке. Выполните команды из шага 5 в разделе «Смена имени хоста на сервере», затем повторите шаги 1–4.\n",
    "en": "The pencil next to the server name on the “My Servers” page (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”) lets you give the server a private name, for example “Online store” instead of its original name `bbx-bbx-2026-000123`. The private name only changes what you see in the app.blackbox.md panel. The server itself, its original name and the hostname in the operating system stay the same.\n\n**Available to:** any customer signed in to the panel, for every server in “My Servers”, including servers marked “Managed”.\n\n## How to rename a server\n\n1. Open “My Servers” and find the server's card.\n2. Click the pencil next to the server name. When you hover over it, the tooltip “Rename” appears.\n3. A text field opens below the name. If the server doesn't have a private name yet, the field is empty and shows the original name in gray. If it already has one, the current name appears selected, ready to be replaced.\n4. Below the field, you see the text “Only you see this name. The server itself is not changed.”\n5. Type the new name, up to 80 characters.\n6. Click “Save” or press Enter. While the name is being saved, the button shows “Saving…”.\n7. The field closes and the card shows the new name. The “Original name” row appears in the card's details list, with the server's original name.\n\nThere is no separate confirmation message: the new name in the card header shows that it was saved. To cancel without saving, click “Cancel” or press Esc.\n\n## How to go back to the original name\n\nUse any of these options:\n\n- click the pencil, then “Reset to original name” (this button appears only if the server has a private name);\n- delete all the text in the field and click “Save”;\n- type the original name exactly and click “Save”.\n\nThe private name is removed, the card shows the original name again, and the “Original name” row disappears.\n\n## Name rules\n\n| Rule | Details |\n|---|---|\n| Length | Up to 80 characters. The field won't let you type more. Spaces at the beginning and end are removed automatically. |\n| One line | The name can't contain a line break. |\n| Characters | Any letters (including letters with diacritics and Cyrillic letters), digits, spaces and symbols. Invisible control characters, such as the tab character, are not allowed. |\n| Empty field or the original name | Removes the private name. |\n| Limit | Up to 30 changes in 5 minutes, for all the servers in your account combined. |\n\n## Error messages\n\nThe message appears in a red box below the field. The field stays open, so you can correct the name and save again.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “The name can be at most 80 characters.” | The name is longer than 80 characters | Shorten the name |\n| “The name must fit on one line.” | The text contains a line break, usually copied from another document | Delete the text and type the name by hand |\n| “The name contains characters that aren't allowed.” | The text contains an invisible control character, such as a tab copied along with the text | Delete the text and type the name by hand |\n| “Too many changes. Please try again in a few minutes.” | You made more than 30 changes in 5 minutes | Wait 5 minutes without saving, then try again. Attempts made during this time also count |\n| “Could not save the name. Please try again.” | Another error, such as a connection problem | Reload the page and try again. If the error keeps happening, write to us |\n\n## Where the private name is used and where it isn't\n\n| Where | Which name you see |\n|---|---|\n| The server card on the “My Servers” page | The private name; the original name appears in the “Original name” row |\n| The confirmation messages of the card's buttons, for example “Reboot …?” | The private name |\n| The “Upgrade server” window, the “Server:” row | The private name |\n| The “Monitoring” page: the server table and the list in the “Trends” block | The private name |\n| The “Alerts” block on the “Monitoring” page | The original name |\n| The “Terminate server” window | The original name |\n| Emails from BLACKBOX (server ready, upgrade, deletion, alerts) | The private name is not used |\n| Invoices and orders on blackbox.md | The private name is not used |\n| The server's hostname (in the terminal, after `root@`) | Does not change |\n| The AI assistant (MCP) | Sees the private name next to the original one, but can't change it |\n| The data export on blackbox.md | Includes the private names, with each server's IP address: [Downloading your data (“Datele mele”)](#cont.export-date) |\n\n> **Important**\n> To delete a server permanently, type the original name shown in the “Terminate server” window (for example, `bbx-bbx-2026-000123`), not the private name. The “Schedule termination” button stays inactive until the text matches exactly. Details: [Permanently deleting a server](#servere.stergere-server).\n\n> **Tip**\n> When you write to support, include the server's IP address, the order number or the original name. Only you can see the private name.\n\n## Changing the hostname on the server\n\nThe hostname is the server's name in the operating system: for example, it appears on the command line after `root@`. The private name doesn't change it, and a hostname you change on the server doesn't appear in the panel. If you want the system to have a different name too, connect over SSH ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) and follow these steps:\n\n1. Set the new name. Use only lowercase Latin letters, digits and hyphens, with no spaces (for example, `web-01`):\n\n   ```bash\n   hostnamectl set-hostname HOSTNAME\n   ```\n\n2. Open the `/etc/hosts` file in a text editor, such as nano:\n\n   ```bash\n   nano /etc/hosts\n   ```\n\n   On AlmaLinux and CentOS Stream, if nano isn't installed, install it first:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n3. Replace the old name with the new one. If the old name doesn't appear in the file, add this line at the end:\n\n   ```text\n   127.0.1.1 HOSTNAME\n   ```\n\n4. Save the file (in nano: Ctrl+O, Enter, then Ctrl+X) and check the result. The new name appears in the “Static hostname” line:\n\n   ```bash\n   hostnamectl\n   ```\n\n5. Servers start with cloud-init, which can restore the old name and the old contents of the `/etc/hosts` file at boot. To keep your changes after a reboot, run:\n\n   ```bash\n   echo \"preserve_hostname: true\" > /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   echo \"manage_etc_hosts: false\" >> /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg\n   ```\n\nThe command line shows the new name the next time you connect over SSH.\n\n## Frequently asked questions\n\n**Who else can see the private name?**\nOnly you, in your account. The name does not appear in emails or on invoices.\n\n**Can I rename a server marked “Managed”?**\nYes. The private name doesn't change the server, so the pencil is available on these cards too.\n\n**Does the private name stay after a reboot or an upgrade?**\nYes. The private name belongs to your account, not to the operating system, so a reboot or an upgrade doesn't change it: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n**After a reboot, the hostname went back to the old one. What should I do?**\nMost likely, cloud-init restored the name at boot. Run the commands from step 5 in the “Changing the hostname on the server” section, then repeat steps 1–4.\n"
   }
  },
  {
   "id": "servere.pornire-oprire-repornire",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/pornire-oprire-repornire/",
    "ru": "https://docs.blackbox.md/ru/servere/pornire-oprire-repornire/",
    "en": "https://docs.blackbox.md/en/servere/pornire-oprire-repornire/"
   },
   "title": {
    "ro": "Repornirea, oprirea și pornirea serverului",
    "ru": "Перезагрузка, остановка и запуск сервера",
    "en": "Rebooting, stopping and starting a server"
   },
   "summary": {
    "ro": "Ce fac butoanele „Repornește”, „Oprește” și „Pornește”, cât durează și ce faceți dacă serverul nu răspunde.",
    "ru": "Что делают кнопки «Перезагрузить», «Остановить» и «Запустить», сколько это занимает и что делать, если сервер не отвечает.",
    "en": "What the “Reboot”, “Stop” and “Start” buttons do, how long they take and what to do if the server doesn't respond."
   },
   "markdown": {
    "ro": "Butoanele „Repornește”, „Oprește” și „Pornește” se află pe cardul serverului, în pagina „Serverele mele” din panoul app.blackbox.md (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”). De pe blackbox.md ajungeți direct la cardul serverului din „Contul meu” → „Comenzi” → „Gestionează în app.blackbox.md”.\n\n**Disponibil pentru:** titularul serverului (contul blackbox.md cu care a fost comandat). Pe un server marcat „Administrat” butoanele lipsesc. Dacă echipa BLACKBOX v-a dat drept de administrare pe un server al companiei, pe card apare de regulă doar „Repornește”.\n\n## Ce face fiecare buton\n\n| Buton | Confirmarea din browser | Ce se întâmplă |\n|---|---|---|\n| „Repornește” | „Reporniți {name}?” | Repornire obișnuită (soft), prin sistemul de operare: serviciile se închid corect, apoi serverul pornește din nou. |\n| „Oprește” | „Opriți {name}?” | Oprire corectă (graceful): sistemul de operare se închide, iar serverul rămâne oprit până apăsați „Pornește”. |\n| „Pornește” | „Porniți {name}?” | Pornește un server oprit; sistemul de operare se încarcă la fel ca la o pornire obișnuită. |\n\nÎn locul lui {name} apare numele privat al serverului, dacă l-ați setat ([Redenumirea serverului (nume privat)](#servere.redenumire)). Altfel apare numele original, de exemplu `bbx-bbx-2026-000023`, iar dacă acesta lipsește, adresa IP.\n\n## Cum reporniți, opriți sau porniți serverul\n\n1. Deschideți „Serverele mele” și găsiți cardul serverului.\n2. Apăsați „Repornește”, „Oprește” sau „Pornește”.\n3. Confirmați în fereastra browserului (de exemplu, „Reporniți bbx-bbx-2026-000023?”). Dacă renunțați, nu se trimite nimic.\n4. Cât timp cererea este trimisă, cele trei butoane sunt inactive. Dacă butoanele redevin active și nu apare nicio eroare, cererea a fost acceptată. Panoul nu afișează un mesaj de succes: apar doar erorile, într-o casetă roșie sub datele serverului.\n5. Comanda se execută în fundal. După „Repornește” sau „Pornește”, așteptați 30–60 de secunde înainte de a vă conecta prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n> **Sfat**\n> Nu apăsați din nou dacă serverul nu răspunde imediat. O comandă nouă, trimisă cât timp serverul încă o execută pe cea anterioară, poate fi refuzată cu `power_action_failed` și se numără oricum la limită.\n\n## Panoul nu arată dacă serverul este pornit\n\nCardul nu afișează starea serverului (pornit sau oprit), de aceea „Oprește” și „Pornește” sunt mereu vizibile împreună. Eticheta verde „active” de pe card arată doar că serverul este activ în contul dvs., nu că este pornit.\n\nCa să aflați starea:\n\n- încercați să vă conectați prin SSH sau să deschideți site-ul de pe server;\n- dacă aveți un asistent AI conectat la cont, întrebați-l care este starea serverului (vedeți întrebările de la final).\n\nMesajul `power_action_failed` după „Pornește” sau „Oprește” înseamnă de obicei că serverul era deja în starea cerută. „Repornește” nu funcționează pe un server oprit: apăsați „Pornește”.\n\n## Repornirea și oprirea din sistemul de operare\n\nPuteți reporni serverul și din sesiunea SSH. Serverul pornește din nou singur:\n\n```bash\nreboot\n```\n\nDacă îl opriți din sistem, serverul rămâne oprit până apăsați „Pornește” în panou:\n\n```bash\nshutdown -h now\n```\n\n## Facturarea cât timp serverul este oprit\n\n> **Important**\n> Un server oprit se facturează în continuare la prețul lunar al planului: oprirea nu suspendă serviciul. Facturarea se oprește doar când serverul este șters: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n## Dacă serverul nu răspunde\n\n1. Apăsați „Repornește” și așteptați câteva minute.\n2. Încercați din nou să vă conectați prin SSH. Dacă nu reușiți, urmați pașii din [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n3. Dacă serverul tot nu răspunde, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). Indicați adresa IP a serverului, numărul comenzii (`BBX-…`), ce ați încercat și când a încetat să răspundă. Pentru o problemă urgentă în orele de lucru, sunați la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei) și deschideți și un tichet.\n\n> **Notă**\n> Panoul nu are buton de repornire forțată (hard reset) și nici consolă web sau VNC. Dacă repornirea obișnuită nu ajută, doar echipa BLACKBOX poate interveni.\n\nDupă ce serverul răspunde din nou, căutați cauza (memorie epuizată, disc plin, procese blocate): [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza).\n\n## Limite\n\nCel mult 6 acțiuni în 60 de secunde, pentru toate serverele împreună. Pe un server al companiei pe care îl administrați se aplică, în plus, cel mult 3 reporniri în 10 minute pentru acel server. Se numără fiecare apăsare confirmată, inclusiv cele refuzate cu `power_action_failed`, iar apăsările făcute după atingerea limitei prelungesc așteptarea. Pentru ambele limite mesajul este același, cel din tabelul de mai jos. Toate limitele: [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Mesaje de eroare\n\nUnele erori apar sub formă de coduri tehnice sau de texte în limba engleză.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `power_action_failed` | Comanda a fost refuzată. De obicei serverul era deja în starea cerută (de exemplu, „Pornește” pe un server pornit) sau încă execută comanda anterioară. Mai rar, pe server rulează altă operație (de exemplu, un upgrade) sau serviciul de infrastructură este temporar indisponibil. | Verificați dacă serverul răspunde; dacă este oprit, apăsați „Pornește”. Altfel, așteptați un minut și reîncercați; dacă eroarea se repetă, scrieți-ne |\n| „Rate limit exceeded — power actions are limited to 6 requests per 60 seconds” | Ați depășit limita de acțiuni | Așteptați cel puțin un minut fără să apăsați butoanele (pe un server al companiei, până la 10 minute) |\n| `no_instance_id` | Acest server nu poate fi oprit sau pornit din panou | Scrieți-ne |\n| `invalid_action` | Panoul a trimis o acțiune necunoscută | Reîncărcați pagina și reîncercați |\n| „Not found” | Serverul nu mai este disponibil în contul dvs. (de exemplu, a fost șters) | Reîncărcați pagina |\n| „Unauthorized” | Sesiunea din panou a expirat | Intrați din nou în panou din blackbox.md: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou) |\n| „Repornirea a eșuat.” / „Oprirea a eșuat.” / „Pornirea a eșuat.” sau un text tehnic care începe cu `[POST]` | Cererea nu a primit un răspuns clar, de exemplu conexiunea la internet s-a întrerupt | Verificați conexiunea, reîncărcați pagina și reîncercați; dacă se repetă, scrieți-ne |\n\nToate erorile panoului: [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n\n## Întrebări frecvente\n\n**Se pierd datele sau se schimbă adresa IP la repornire sau oprire?**\nNu. Fișierele de pe disc și adresa IP rămân aceleași. Se pierde doar ce era în memorie, așa că serviciile importante trebuie să pornească automat la boot. De exemplu, pentru nginx:\n\n```bash\nsystemctl enable nginx\n```\n\n**Pot reporni serverul printr-un asistent AI?**\nDa. Token-ul API are nevoie de permisiunea „Controlează alimentarea serverelor (repornire/oprire/pornire)”. Cu permisiunea „Citește lista și statusul serverelor mele”, asistentul vă poate spune și dacă serverul este pornit sau oprit, lucru pe care panoul nu îl afișează. Detalii: [Lista uneltelor MCP](#ai.unelte).\n\n**De ce nu văd aceste butoane pe card?**\nServerul este marcat „Administrat” sau nu poate fi controlat din panou. Dacă trebuie repornit, scrieți-ne.\n",
    "ru": "Кнопки «Перезагрузить», «Остановить» и «Запустить» находятся на карточке сервера, на странице «Мои серверы» в панели app.blackbox.md (`app.blackbox.md/my-servers`, боковая панель → «Инфраструктура» → «Мои серверы»). С blackbox.md можно сразу перейти к карточке сервера: «Личный кабинет» → «Заказы» → «Управление в app.blackbox.md».\n\n**Доступно:** владельцу сервера (аккаунту blackbox.md, с которого сервер заказан). На сервере с отметкой «Обслуживается» этих кнопок нет. Если команда BLACKBOX выдала вам права управления сервером компании, на карточке, как правило, будет только «Перезагрузить».\n\n## Что делает каждая кнопка\n\n| Кнопка | Подтверждение в браузере | Что происходит |\n|---|---|---|\n| «Перезагрузить» | «Перезагрузить {name}?» | Обычная (мягкая) перезагрузка средствами операционной системы: службы корректно завершаются, затем сервер загружается заново. |\n| «Остановить» | «Остановить {name}?» | Корректное завершение работы: операционная система выключается, и сервер остаётся выключенным, пока вы не нажмёте «Запустить». |\n| «Запустить» | «Запустить {name}?» | Включает остановленный сервер; операционная система загружается, как при обычном включении. |\n\nВместо {name} подставляется личное название сервера, если вы его задали ([Переименование сервера (личное название)](#servere.redenumire)). Иначе — исходное название, например `bbx-bbx-2026-000023`, а если его нет — IP-адрес.\n\n## Как перезагрузить, остановить или запустить сервер\n\n1. Откройте «Мои серверы» и найдите карточку сервера.\n2. Нажмите «Перезагрузить», «Остановить» или «Запустить».\n3. Подтвердите действие в окне браузера (например, «Перезагрузить bbx-bbx-2026-000023?»). Если вы откажетесь, запрос не будет отправлен.\n4. Пока запрос отправляется, все три кнопки неактивны. Если кнопки снова стали активными и ошибки нет, запрос принят. Сообщения об успехе панель не показывает: появляются только ошибки — в красной рамке под данными сервера.\n5. Команда выполняется в фоне. После «Перезагрузить» или «Запустить» подождите 30–60 секунд, прежде чем подключаться по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n> **Совет**\n> Не нажимайте кнопку повторно, если сервер не ответил сразу. Новая команда, отправленная, пока сервер ещё выполняет предыдущую, может быть отклонена с ошибкой `power_action_failed`, а в лимит она всё равно засчитается.\n\n## Панель не показывает, включён ли сервер\n\nНа карточке не видно, включён сервер или выключен, поэтому «Остановить» и «Запустить» показываются всегда. Зелёная метка «active» означает лишь, что сервер активен в вашем аккаунте, а не что он включён.\n\nЧтобы узнать состояние:\n\n- попробуйте подключиться по SSH или открыть сайт, размещённый на сервере;\n- если к аккаунту подключён AI-ассистент, спросите у него, в каком состоянии сервер (см. частые вопросы в конце статьи).\n\nОшибка `power_action_failed` после «Запустить» или «Остановить» обычно означает, что сервер уже был в этом состоянии. «Перезагрузить» не работает, если сервер выключен: нажмите «Запустить».\n\n## Перезагрузка и выключение из операционной системы\n\nПерезагрузить сервер можно и из SSH-сессии — он загрузится сам:\n\n```bash\nreboot\n```\n\nЕсли выключить сервер из системы, он останется выключенным, пока вы не нажмёте «Запустить» в панели:\n\n```bash\nshutdown -h now\n```\n\n## Оплата за остановленный сервер\n\n> **Важно**\n> Остановленный сервер оплачивается как обычно, по месячной цене тарифа: остановка не приостанавливает услугу. Начисления прекращаются только после удаления сервера: [Безвозвратное удаление сервера](#servere.stergere-server).\n\n## Если сервер не отвечает\n\n1. Нажмите «Перезагрузить» и подождите несколько минут.\n2. Снова попробуйте подключиться по SSH. Если не получается, пройдите шаги из статьи [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n3. Если сервер так и не ответил, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). Укажите IP-адрес сервера, номер заказа (`BBX-…`), что вы уже пробовали и когда сервер перестал отвечать. Если вопрос срочный и сейчас рабочее время, позвоните по номеру +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы) и дополнительно создайте тикет.\n\n> **Примечание**\n> В панели нет кнопки принудительной перезагрузки (hard reset), нет и веб-консоли или VNC. Если обычная перезагрузка не помогла, вмешаться может только команда BLACKBOX.\n\nКогда сервер снова заработает, выясните причину (нехватка памяти, заполненный диск, зависшие процессы): [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza).\n\n## Лимиты\n\nНе больше 6 действий за 60 секунд для всех серверов вместе. Для сервера компании, которым вы управляете, дополнительно действует лимит — не больше 3 перезагрузок этого сервера за 10 минут. Засчитывается каждое подтверждённое нажатие, в том числе отклонённое с ошибкой `power_action_failed`, а нажатия после достижения лимита продлевают ожидание. Сообщение для обоих лимитов одинаковое — оно приведено в таблице ниже. Все лимиты: [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Сообщения об ошибках\n\nЧасть ошибок показывается в виде технического кода или текста на английском.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| `power_action_failed` | Команда отклонена. Чаще всего сервер уже в нужном состоянии (например, «Запустить» для включённого сервера) или ещё выполняет предыдущую команду. Реже на сервере идёт другая операция (например, апгрейд) или инфраструктурный сервис временно недоступен. | Проверьте, отвечает ли сервер; если он выключен, нажмите «Запустить». Иначе подождите минуту и повторите; если ошибка не исчезает, напишите нам |\n| «Rate limit exceeded — power actions are limited to 6 requests per 60 seconds» | Превышен лимит действий | Подождите не меньше минуты, ничего не нажимая (для сервера компании — до 10 минут) |\n| `no_instance_id` | Этот сервер нельзя остановить или запустить из панели | Напишите нам |\n| `invalid_action` | Панель отправила неизвестное действие | Обновите страницу и повторите |\n| «Not found» | Сервера больше нет в вашем аккаунте (например, он удалён) | Обновите страницу |\n| «Unauthorized» | Сессия в панели истекла | Снова войдите в панель с blackbox.md: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou) |\n| «Не удалось перезагрузить.» / «Не удалось остановить.» / «Не удалось запустить.» или технический текст, начинающийся с `[POST]` | Запрос не получил понятного ответа, например прервалось интернет-соединение | Проверьте соединение, обновите страницу и повторите; если не помогло, напишите нам |\n\nВсе ошибки панели: [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n\n## Частые вопросы\n\n**Не пропадут ли данные и не сменится ли IP-адрес после перезагрузки или остановки?**\nНет. Файлы на диске и IP-адрес сохраняются. Теряется только то, что было в оперативной памяти, поэтому важные службы должны запускаться автоматически при загрузке. Например, для nginx:\n\n```bash\nsystemctl enable nginx\n```\n\n**Можно ли перезагрузить сервер через AI-ассистента?**\nДа. API-токену нужно разрешение «Управлять питанием серверов (перезагрузка/выкл/вкл)». С разрешением «Читать список и статус моих серверов» ассистент также подскажет, включён сервер или выключен, — панель этого не показывает. Подробнее: [Список инструментов MCP](#ai.unelte).\n\n**Почему на карточке нет этих кнопок?**\nСервер отмечен «Обслуживается» или им нельзя управлять из панели. Если его нужно перезагрузить, напишите нам.\n",
    "en": "The “Reboot”, “Stop” and “Start” buttons are on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”). From blackbox.md you can go straight to the server card through “Contul meu” (My account) → “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n\n**Available to:** the server owner (the blackbox.md account the server was ordered from). The buttons are not shown on a server marked “Managed”. If the BLACKBOX team has given you management rights to a company server, the card usually shows only “Reboot”.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What each button does\n\n| Button | Browser confirmation | What happens |\n|---|---|---|\n| “Reboot” | “Reboot SERVER_NAME?” | A normal (soft) reboot through the operating system: services shut down cleanly, then the server starts up again. |\n| “Stop” | “Stop SERVER_NAME?” | A clean (graceful) shutdown: the operating system shuts down, and the server stays off until you click “Start”. |\n| “Start” | “Start SERVER_NAME?” | Starts a stopped server; the operating system boots just as it does on a normal power-on. |\n\nIn place of SERVER_NAME you see the server's private name, if you have set one ([Renaming a server (private name)](#servere.redenumire)). Otherwise you see the original name, for example `bbx-bbx-2026-000023`, and if there is none, the IP address.\n\n## How to reboot, stop or start your server\n\n1. Open “My Servers” and find the server card.\n2. Click “Reboot”, “Stop” or “Start”.\n3. Confirm in the browser window (for example, “Reboot bbx-bbx-2026-000023?”). If you cancel, nothing is sent.\n4. While the request is being sent, all three buttons are inactive. If the buttons become active again and no error appears, the request was accepted. The panel doesn't show a success message: only errors appear, in a red box below the server details.\n5. The command runs in the background. After “Reboot” or “Start”, wait 30–60 seconds before you connect over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n> **Tip**\n> Don't click again if the server doesn't respond right away. A new command sent while the server is still carrying out the previous one may be rejected with `power_action_failed`, and it still counts toward the limit.\n\n## The panel doesn't show whether the server is on\n\nThe card doesn't show the server's power state (on or off), which is why “Stop” and “Start” are always shown together. The green “active” label on the card only means that the server is active in your account, not that it is running.\n\nTo find out the state:\n\n- try to connect over SSH or to open the website hosted on the server;\n- if you have an AI assistant connected to your account, ask it what state the server is in (see the questions at the end of this article).\n\nThe `power_action_failed` message after “Start” or “Stop” usually means that the server was already in the requested state. “Reboot” doesn't work on a stopped server: click “Start”.\n\n## Rebooting and shutting down from the operating system\n\nYou can also reboot the server from your SSH session. The server starts up again by itself:\n\n```bash\nreboot\n```\n\nIf you shut it down from the system, the server stays off until you click “Start” in the panel:\n\n```bash\nshutdown -h now\n```\n\n## Billing while the server is stopped\n\n> **Important**\n> A stopped server is still billed at the plan's monthly price: stopping it doesn't suspend the service. Billing stops only when the server is deleted: [Permanently deleting a server](#servere.stergere-server).\n\n## If the server doesn't respond\n\n1. Click “Reboot” and wait a few minutes.\n2. Try to connect over SSH again. If you can't, follow the steps in [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n3. If the server still doesn't respond, write to us: [How to contact BLACKBOX support](#suport.contact). Include the server's IP address, the order number (`BBX-…`), what you have tried and when the server stopped responding. For an urgent issue during business hours, call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time), and also open a support ticket.\n\n> **Note**\n> The panel has no forced reboot (hard reset) button, and no web console or VNC either. If a normal reboot doesn't help, only the BLACKBOX team can step in.\n\nOnce the server responds again, look for the cause (memory exhausted, disk full, stuck processes): [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza).\n\n## Limits\n\nAt most 6 actions in 60 seconds, for all your servers combined. On a company server that you manage, an additional limit applies: at most 3 reboots in 10 minutes for that server. Every confirmed click counts, including clicks rejected with `power_action_failed`, and clicks made after you reach the limit extend the wait. Both limits show the same message, the one in the table below. All limits: [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Error messages\n\nSome errors appear as technical codes or as short system messages.\n\n| Message | What it means | What to do |\n|---|---|---|\n| `power_action_failed` | The command was rejected. Usually the server was already in the requested state (for example, “Start” on a server that is already running) or is still carrying out the previous command. Less often, another operation is running on the server (for example, an upgrade) or the infrastructure service is temporarily unavailable. | Check whether the server responds; if it is off, click “Start”. Otherwise, wait a minute and try again; if the error repeats, write to us |\n| “Rate limit exceeded — power actions are limited to 6 requests per 60 seconds” | You have exceeded the action limit | Wait at least a minute without clicking the buttons (on a company server, up to 10 minutes) |\n| `no_instance_id` | This server can't be stopped or started from the panel | Write to us |\n| `invalid_action` | The panel sent an unknown action | Reload the page and try again |\n| “Not found” | The server is no longer available in your account (for example, it was deleted) | Reload the page |\n| “Unauthorized” | Your panel session has expired | Sign in to the panel again from blackbox.md: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou) |\n| “Failed to reboot.” / “Failed to stop.” / “Failed to start.” or a technical message beginning with `[POST]` | The request didn't get a clear response, for example because your internet connection dropped | Check your connection, reload the page and try again; if it happens again, write to us |\n\nAll panel errors: [Panel error messages and what they mean](#faq.erori-panou).\n\n## Frequently asked questions\n\n**Will I lose data or get a new IP address when I reboot or stop the server?**\nNo. The files on the disk and the IP address stay the same. Only what was in memory is lost, so important services should start automatically at boot. For example, for nginx:\n\n```bash\nsystemctl enable nginx\n```\n\n**Can I reboot the server through an AI assistant?**\nYes. The API token needs the “Controlează alimentarea serverelor (repornire/oprire/pornire)” (Control server power (reboot/stop/start)) permission. With the “Citește lista și statusul serverelor mele” (Read the list and status of my servers) permission, the assistant can also tell you whether the server is on or off, which the panel doesn't show. Details: [List of MCP tools](#ai.unelte).\n\n**Why don't I see these buttons on the card?**\nThe server is marked “Managed” or can't be controlled from the panel. If it needs a reboot, write to us.\n"
   }
  },
  {
   "id": "servere.upgrade",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/upgrade/",
    "ru": "https://docs.blackbox.md/ru/servere/upgrade/",
    "en": "https://docs.blackbox.md/en/servere/upgrade/"
   },
   "title": {
    "ro": "Upgrade server: trecerea la un plan mai mare",
    "ru": "Апгрейд сервера: переход на больший тариф",
    "en": "Server upgrade: moving to a larger plan"
   },
   "summary": {
    "ro": "Cum măriți resursele serverului din panou, cât costă, cât durează și ce limite există.",
    "ru": "Как увеличить ресурсы сервера из панели, сколько это стоит, сколько длится и какие есть ограничения.",
    "en": "How to increase your server's resources from the panel, what it costs, how long it takes and what the limits are."
   },
   "markdown": {
    "ro": "Cu butonul „Upgrade” de pe cardul serverului treceți serverul pe un plan mai mare din aceeași familie. Butonul îl găsiți în pagina „Serverele mele” din panoul app.blackbox.md (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”). Suma se retrage din soldul contului, iar adresa IP și datele de pe server se păstrează.\n\n**Disponibil pentru:** titularul serverului (contul blackbox.md din care a fost comandat), pentru serverele pe planurile VPS din catalog (`vm-…`). Pentru celelalte servere, scrieți-ne.\n\n## Când vedeți butonul „Upgrade”\n\n- Butonul apare pe cardul serverelor comandate din contul dvs. și create automat după plată.\n- Nu apare pe serverele companiei administrate de echipa BLACKBOX (cu sau fără insigna „Administrat”) și nici pe serverele dedicate.\n- La planurile „VPS hosting” (`vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`) și la planurile mai vechi, care nu se mai vând, butonul poate apărea, dar fereastra afișează „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.”\n- Cât timp rulează un upgrade pornit din fila curentă, butonul este inactiv.\n\nDacă nu vedeți butonul sau upgrade-ul nu este posibil pentru serverul dvs., scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). Cum ajungeți în panou: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n## Ce planuri puteți alege\n\nLista „Upgrade la” arată doar planurile mai mari din aceeași familie: cu cel puțin tot atâția vCPU și tot atâta memorie, cu același disc sau cu unul mai mare. De exemplu, de pe Standard M puteți trece pe Standard L sau Standard XL.\n\n| Familie | Planuri, de la mic la mare | Discul după upgrade |\n|---|---|---|\n| Basic | XS → S → M → L → XL | crește: 20 → 50 → 100 → 200 → 400 GB |\n| CPU | S → M → L → XL → XXL | rămâne 30 GB |\n| Standard | S → M → L → XL | crește: 20 → 40 → 80 → 160 GB |\n| High-Frequency | XS → S → M | crește: 100 → 200 → 400 GB |\n| High-Frequency Compute | XS → S → M → L | rămâne 50 GB |\n\nResursele și prețul fiecărui plan: [Planurile VPS: cum alegeți](#comenzi.planuri-vps).\n\n> **Important**\n> Upgrade-ul merge într-un singur sens. Din panou nu puteți trece pe un plan mai mic și nici în altă familie, iar discul nu se mai poate micșora. Dacă aveți nevoie de un plan mai mic sau de altă familie, comandați un server nou pe planul dorit, mutați datele și apoi ștergeți serverul vechi.\n\n## Cât costă\n\n- Plătiți doar din soldul contului. Suma se retrage înainte ca serverul să fie modificat. În această fereastră nu puteți plăti cu cardul: alimentați mai întâi soldul ([Alimentarea soldului](#plati.alimentare-sold)).\n- Suma este diferența dintre tariful lunar nou și cel actual, calculată proporțional cu zilele rămase din ciclul curent de 30 de zile. Ciclurile se socotesc de la activarea serverului, iar o zi începută se socotește întreagă.\n- Fereastra arată suma la „Facturat acum (prorata)” înainte să confirmați, rotunjită la leu întreg. În istoricul soldului apare suma exactă, cu descrierea „Upgrade server”.\n- După upgrade se aplică tariful lunar al planului nou: facturile lunare următoare se emit la noul preț.\n\nExemplu: un server Standard M (578 MDL/lună), activat acum 9 zile și câteva ore, trece pe Standard L (742 MDL/lună). Diferența lunară este de 164 MDL. Se socotesc 10 zile folosite, deci rămân 20 din 30. Suma retrasă acum: 164 × 20 / 30 = 109,33 MDL (fereastra arată „109 MDL”). De atunci, tariful lunar este 742 MDL.\n\n## Cum faceți upgrade\n\n> **Sfat**\n> Înainte de upgrade, faceți o copie de rezervă a datelor importante și verificați că aplicațiile dvs. pornesc singure după o repornire. Vedeți [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n1. În panou, deschideți „Serverele mele” și găsiți cardul serverului.\n2. Dacă ați oprit serverul, porniți-l mai întâi cu „Pornește”.\n3. Apăsați „Upgrade”. Se deschide fereastra „Upgrade server”, cu numele serverului la „Server:”.\n4. Verificați configurația curentă la „Actual”, de exemplu „2 vCPU · 4 GB RAM · 40 GB SSD”.\n5. La „Upgrade la”, alegeți configurația nouă. Fiecare opțiune arată resursele și prețul, de exemplu „2 vCPU · 8 GB RAM · 80 GB SSD — 742 MDL/lună”. Implicit este selectat cel mai mic plan disponibil.\n6. Verificați sumele din tabelul de sub listă (vedeți mai jos).\n7. Bifați „Înțeleg că serverul va reporni (câteva minute de întrerupere; adresa IP și toate datele sunt păstrate).” Fără această bifă butonul rămâne inactiv.\n8. Apăsați „Upgrade server”. Butonul afișează „Se procesează…”, apoi fereastra se închide.\n9. Pe card apare starea upgrade-ului, la început „În așteptare”. Urmăriți-o până la „Upgrade finalizat”.\n\n| Rând din fereastră | Ce arată |\n|---|---|\n| „Tarif lunar actual” | prețul lunar al planului de acum |\n| „Tarif lunar nou” | prețul lunar al planului ales |\n| „Facturat acum (prorata)” | suma care se retrage din sold după confirmare |\n| „Sold cont” | soldul dvs. actual, rotunjit la leu întreg |\n\n„Anulează” sau „×” închid fereastra fără nicio modificare.\n\n## Dacă soldul nu ajunge\n\nCând soldul este mai mic decât suma de la „Facturat acum (prorata)”, în fereastră apare „Soldul contului dvs. nu este suficient pentru acest upgrade.” cu linkul „Alimentați soldul →”.\n\n1. Apăsați „Alimentați soldul →”. Pagina „Sold” de pe blackbox.md se deschide într-o filă nouă.\n2. Apăsați „Alimentează soldul” și achitați cu cardul cel puțin suma care lipsește (o alimentare începe de la 50 MDL).\n3. Reveniți în panou, închideți fereastra cu „Anulează” și apăsați din nou „Upgrade”, ca fereastra să arate soldul nou.\n\n## Progresul upgrade-ului\n\nStarea apare pe cardul serverului și se actualizează la fiecare 5 secunde.\n\n| Stare | Ce se întâmplă |\n|---|---|\n| „În așteptare” | cererea a fost primită |\n| „Se facturează” | suma se retrage din sold |\n| „Se redimensionează” | serverul trece pe configurația nouă și repornește |\n| „Se verifică” | se așteaptă pregătirea configurației noi |\n| „Se confirmă” | configurația nouă se confirmă |\n| „Se activează” | serverul pornește cu resursele noi |\n| „Se extinde discul” | sistemul de fișiere se extinde pe discul mărit |\n| „Se finalizează” | se înregistrează planul și tariful nou |\n| „Upgrade finalizat” | gata: câmpul „Configurație” de pe card arată resursele noi |\n| „Upgrade eșuat” | upgrade-ul s-a oprit cu o eroare; dacă suma a fost deja retrasă, ea revine automat în sold |\n| „Se revine” | serverul este readus la configurația anterioară |\n| „Upgrade anulat” | serverul a revenit la configurația anterioară; suma revine automat în sold |\n| „Upgrade blocat — contactați suportul” | starea nu s-a schimbat timp de 15 minute; scrieți-ne |\n\nDe regulă, tot upgrade-ul durează în jur de un minut, inclusiv repornirea. Planificați totuși câteva minute de întrerupere, cum avertizează și fereastra.\n\n> **Notă**\n> Starea se vede doar în fila în care ați pornit upgrade-ul. Dacă reîncărcați pagina sau o deschideți în altă filă, starea dispare, dar upgrade-ul continuă. Rezultatul îl vedeți în emailul de confirmare și în câmpul „Configurație”.\n\n## După upgrade\n\n- Pe card, „Configurație” arată resursele noi. Câmpul „Plan” păstrează codul planului cu care ați comandat serverul, de exemplu `vm-iops1-m`. Codul planului nou îl vedeți pe blackbox.md, în „Comenzi” → „Vezi detaliile” → „Tip”.\n- La adresa de email indicată în comandă primiți emailul „Serverul dvs. a fost actualizat — BBX-…” (cu numărul comenzii). Conține adresa IP, resursele noi, suma retrasă și tariful lunar nou. Subiectul este mereu în română, iar textul emailului este în limba contului (vedeți [Limba site-ului, a panoului și a emailurilor](#cont.limba)).\n- Discul se mărește automat. Îl puteți verifica pe server:\n\n```bash\ndf -h /\n```\n\nDacă emailul spune că discul poate necesita o extindere manuală, iar comanda arată încă dimensiunea veche, scrieți-ne.\n\n## Dacă upgrade-ul nu reușește\n\n- La „Upgrade eșuat” sau „Upgrade anulat”, suma retrasă revine automat în sold. În istoricul soldului apare operațiunea „Anulare upgrade server” (cu „+”). În acest caz nu primiți email.\n- Reîncărcați pagina și verificați „Configurație”. Puteți încerca din nou mai târziu; dacă eșuează iar, scrieți-ne.\n- La „Upgrade blocat — contactați suportul”, scrieți-ne cu numărul comenzii. Echipa verifică serverul și suma retrasă.\n\n## Mesaje din fereastră\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.” | Serverul este pe un plan „VPS hosting” sau pe un plan mai vechi, care nu se mai vinde. | Scrieți-ne. |\n| „Nu este disponibilă nicio configurație mai mare pentru acest server momentan.” | Serverul este deja pe cel mai mare plan din familie sau planurile mai mari nu sunt disponibile acum. | Reîncercați mai târziu sau scrieți-ne. |\n| „Upgrade-ul nu este disponibil momentan (…).” În paranteze apare un cod tehnic în engleză; același cod poate apărea și singur, după ce apăsați „Upgrade server”. | Serverul este într-o stare intermediară (de exemplu, tocmai repornește), serviciul de infrastructură este temporar indisponibil sau configurația serverului nu a putut fi citită. | Așteptați câteva minute și deschideți din nou fereastra. Dacă mesajul rămâne, trimiteți-ne textul exact. |\n| „Soldul contului dvs. nu este suficient pentru acest upgrade.” | Soldul nu acoperă suma. | Alimentați soldul (secțiunea de mai sus). |\n| „Un upgrade este deja în curs pentru acest server.” | Un upgrade pornit mai devreme încă rulează. | Așteptați emailul de confirmare sau verificați „Configurație” peste câteva minute. |\n| „Rate limit exceeded — resize is limited to 3 requests per 600 seconds” | Ați trimis deja 3 cereri de upgrade din panou în ultimele 10 minute (pentru toate serverele dvs. la un loc). | Așteptați 10 minute fără să reîncercați: încercările făcute între timp se numără și ele. |\n| „Nu s-au putut încărca opțiunile de upgrade.” | Fereastra nu a primit datele. | Închideți-o și deschideți-o din nou. |\n| „Nu s-a putut porni upgrade-ul.” | Cererea nu a fost acceptată. | Încercați din nou; dacă se repetă, scrieți-ne. |\n\n## Întrebări frecvente\n\n**Se schimbă adresa IP sau se pierd date?**\nNu. Adresa IP și datele rămân. Serverul repornește o singură dată, pentru scurt timp.\n\n**Pot reveni la planul vechi după upgrade?**\nNu, discul nu se poate micșora. Soluția: comandați un server nou pe planul mai mic și mutați datele pe el.\n\n**De ce în istoricul soldului suma are zecimale, iar fereastra a arătat un număr întreg?**\nFereastra rotunjește suma la leu întreg, iar emailul arată doar leii întregi, fără bani, așa că cele două pot diferi cu 1 MDL. Suma exactă, cu bani, este cea din istoricul soldului.\n\n**Am închis fila în timpul upgrade-ului. S-a oprit?**\nNu, upgrade-ul continuă. Așteptați emailul sau reîncărcați „Serverele mele” peste câteva minute și verificați „Configurație”. Dacă în 15 minute nu s-a schimbat nimic și suma nu a revenit în sold, scrieți-ne.\n\n**Pot face upgrade prin asistentul AI?**\nDa, cu aceleași reguli: doar planuri mai mari din aceeași familie, cu plata din sold. Vedeți [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n",
    "ru": "Кнопкой «Апгрейд» на карточке сервера можно перевести сервер на более крупный тариф того же семейства. Кнопка находится на странице «Мои серверы» в панели app.blackbox.md (`app.blackbox.md/my-servers`, боковое меню → «Инфраструктура» → «Мои серверы»). Деньги списываются с баланса аккаунта, а IP-адрес и данные на сервере сохраняются.\n\n**Доступно:** владельцу сервера (аккаунту blackbox.md, с которого он заказан) для серверов на тарифах VPS из каталога (`vm-…`). По остальным серверам напишите нам.\n\n## Когда видна кнопка «Апгрейд»\n\n- Кнопка есть на карточках серверов, которые заказаны с вашего аккаунта и созданы автоматически после оплаты.\n- Её нет на серверах компании, которые обслуживает команда BLACKBOX (со значком «Обслуживается» или без него), и на выделенных серверах.\n- На тарифах «VPS hosting» (`vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`) и на старых тарифах, которые больше не продаются, кнопка может появиться, но окно показывает «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.»\n- Пока идёт апгрейд, запущенный в текущей вкладке, кнопка неактивна.\n\nЕсли кнопки нет или апгрейд для вашего сервера невозможен, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). Как попасть в панель: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n## Какие тарифы можно выбрать\n\nВ списке «Обновить до» есть только более крупные тарифы того же семейства: vCPU и памяти не меньше, чем сейчас, а диск такой же или больше. Например, со Standard M можно перейти на Standard L или Standard XL.\n\n| Семейство | Тарифы, от меньшего к большему | Диск после апгрейда |\n|---|---|---|\n| Basic | XS → S → M → L → XL | растёт: 20 → 50 → 100 → 200 → 400 GB |\n| CPU | S → M → L → XL → XXL | остаётся 30 GB |\n| Стандарт | S → M → L → XL | растёт: 20 → 40 → 80 → 160 GB |\n| High-Frequency | XS → S → M | растёт: 100 → 200 → 400 GB |\n| High-Frequency Compute | XS → S → M → L | остаётся 50 GB |\n\nРесурсы и цены всех тарифов: [Тарифы VPS: как выбрать](#comenzi.planuri-vps).\n\n> **Важно**\n> Апгрейд возможен только в одну сторону. В панели нельзя перейти на меньший тариф или в другое семейство, а увеличенный диск уже не уменьшить. Если нужен меньший тариф или другое семейство, закажите новый сервер на нужном тарифе, перенесите данные и удалите старый.\n\n## Сколько это стоит\n\n- Оплата только с баланса аккаунта. Сумма списывается до того, как начнётся изменение сервера. Оплатить картой прямо в этом окне нельзя: сначала пополните баланс ([Пополнение баланса](#plati.alimentare-sold)).\n- Сумма — это разница между новой и текущей месячной ценой, пересчитанная пропорционально дням, которые остались в текущем 30-дневном цикле. Циклы отсчитываются от активации сервера, начатый день считается полным.\n- Окно показывает сумму в строке «Списано сейчас (пропорционально)» ещё до подтверждения, округлённую до целых леев. В истории операций баланса видна точная сумма с описанием «Upgrade server» (описание всегда на румынском).\n- После апгрейда действует месячная цена нового тарифа: следующие ежемесячные счета выставляются уже по ней.\n\nПример: сервер Standard M (578 MDL/мес.), активированный 9 дней и несколько часов назад, переходит на Standard L (742 MDL/мес.). Разница — 164 MDL в месяц. Использованными считаются 10 дней, значит, осталось 20 из 30. Сейчас спишется 164 × 20 / 30 = 109,33 MDL (в окне — «109 MDL»). Дальше месячный тариф составит 742 MDL.\n\n## Как сделать апгрейд\n\n> **Совет**\n> Перед апгрейдом сделайте резервную копию важных данных и убедитесь, что ваши приложения сами запускаются после перезагрузки. См. [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n1. В панели откройте «Мои серверы» и найдите карточку сервера.\n2. Если вы останавливали сервер, сначала запустите его кнопкой «Запустить».\n3. Нажмите «Апгрейд». Откроется окно «Апгрейд сервера», в строке «Сервер:» будет имя сервера.\n4. В поле «Текущая» проверьте текущую конфигурацию, например «2 vCPU · 4 GB RAM · 40 GB SSD».\n5. В списке «Обновить до» выберите новую конфигурацию. В каждом варианте указаны ресурсы и цена, например «2 vCPU · 8 GB RAM · 80 GB SSD — 742 MDL/мес». По умолчанию выбран самый маленький из доступных тарифов.\n6. Проверьте суммы в таблице под списком (см. ниже).\n7. Отметьте «Я понимаю, что сервер перезагрузится (несколько минут простоя; IP-адрес и все данные сохранятся).» Без этой отметки кнопка остаётся неактивной.\n8. Нажмите «Обновить сервер». На кнопке появится «Обновление…», затем окно закроется.\n9. На карточке появится статус апгрейда, сначала «В очереди». Дождитесь статуса «Апгрейд завершён».\n\n| Строка в окне | Что показывает |\n|---|---|\n| «Текущий месячный тариф» | месячная цена нынешнего тарифа |\n| «Новый месячный тариф» | месячная цена выбранного тарифа |\n| «Списано сейчас (пропорционально)» | сумма, которая спишется с баланса после подтверждения |\n| «Баланс кошелька» | ваш текущий баланс, округлённый до целых леев |\n\nКнопка «Отмена» или «×» закрывает окно без изменений.\n\n## Если не хватает средств\n\nЕсли на балансе меньше, чем в строке «Списано сейчас (пропорционально)», в окне появится «На балансе недостаточно средств для этого апгрейда.» и ссылка «Пополнить баланс →».\n\n1. Нажмите «Пополнить баланс →». Страница «Баланс» на blackbox.md откроется в новой вкладке.\n2. Нажмите «Пополнить баланс» и оплатите картой как минимум недостающую сумму (одно пополнение — от 50 MDL).\n3. Вернитесь в панель, закройте окно кнопкой «Отмена» и снова нажмите «Апгрейд», чтобы окно показало новый баланс.\n\n## Ход апгрейда\n\nСтатус показывается на карточке сервера и обновляется каждые 5 секунд.\n\n| Статус | Что происходит |\n|---|---|\n| «В очереди» | запрос принят |\n| «Списание» | сумма списывается с баланса |\n| «Изменение размера» | сервер переводится на новую конфигурацию и перезагружается |\n| «Проверка» | ожидается готовность новой конфигурации |\n| «Подтверждение» | новая конфигурация подтверждается |\n| «Активация» | сервер запускается с новыми ресурсами |\n| «Расширение диска» | файловая система расширяется на увеличенный диск |\n| «Завершение» | записываются новый тариф и цена |\n| «Апгрейд завершён» | готово: поле «Конфигурация» на карточке показывает новые ресурсы |\n| «Апгрейд не удался» | апгрейд остановился с ошибкой; если сумма уже была списана, она автоматически возвращается на баланс |\n| «Откат» | сервер возвращается к прежней конфигурации |\n| «Апгрейд отменён» | сервер вернулся к прежней конфигурации; сумма автоматически возвращается на баланс |\n| «Апгрейд завис — обратитесь в поддержку» | статус не менялся 15 минут; напишите нам |\n\nОбычно весь апгрейд вместе с перезагрузкой занимает около минуты. Но на всякий случай заложите несколько минут простоя — об этом предупреждает и окно.\n\n> **Примечание**\n> Статус виден только во вкладке, где вы запустили апгрейд. Если перезагрузить страницу или открыть её в другой вкладке, статус пропадёт, но апгрейд продолжится. Результат вы увидите в письме-подтверждении и в поле «Конфигурация».\n\n## После апгрейда\n\n- На карточке в поле «Конфигурация» показаны новые ресурсы. В поле «Тариф» остаётся код тарифа, с которым сервер был заказан, например `vm-iops1-m`. Код нового тарифа виден на blackbox.md: «Заказы» → «Показать детали» → «Тип».\n- На email, указанный в заказе, приходит письмо с темой «Serverul dvs. a fost actualizat — BBX-…» (с номером заказа). В письме указаны IP-адрес, новые ресурсы, списанная сумма и новый месячный тариф. Тема всегда на румынском, а текст письма — на языке аккаунта (см. [Язык сайта, панели и писем](#cont.limba)).\n- Диск увеличивается автоматически. Проверить его можно на сервере:\n\n```bash\ndf -h /\n```\n\nЕсли в письме сказано, что дополнительное место на диске может потребовать ручного расширения, а команда по-прежнему показывает старый размер, напишите нам.\n\n## Если апгрейд не удался\n\n- При статусе «Апгрейд не удался» или «Апгрейд отменён» списанная сумма автоматически возвращается на баланс. В истории операций появится строка «Anulare upgrade server» (со знаком «+»). Письмо в этом случае не приходит.\n- Перезагрузите страницу и проверьте поле «Конфигурация». Повторите попытку позже; если снова не получится, напишите нам.\n- При статусе «Апгрейд завис — обратитесь в поддержку» напишите нам и укажите номер заказа. Мы проверим сервер и списанную сумму.\n\n## Сообщения в окне\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.» | Сервер на тарифе «VPS hosting» или на старом тарифе, который больше не продаётся. | Напишите нам. |\n| «Сейчас для этого сервера нет доступной более крупной конфигурации.» | Сервер уже на самом большом тарифе семейства, или более крупные тарифы сейчас недоступны. | Попробуйте позже или напишите нам. |\n| «Апгрейд сейчас недоступен (…).» В скобках — технический код на английском; тот же код может появиться и отдельно, после нажатия «Обновить сервер». | Сервер в переходном состоянии (например, как раз перезагружается), инфраструктурный сервис временно недоступен или не удалось определить конфигурацию сервера. | Подождите несколько минут и откройте окно снова. Если сообщение не исчезает, пришлите нам его точный текст. |\n| «На балансе недостаточно средств для этого апгрейда.» | Баланса не хватает на списание. | Пополните баланс (см. раздел выше). |\n| «Апгрейд для этого сервера уже выполняется.» | Апгрейд, запущенный ранее, ещё идёт. | Дождитесь письма или проверьте поле «Конфигурация» через несколько минут. |\n| «Rate limit exceeded — resize is limited to 3 requests per 600 seconds» | Вы уже отправили из панели 3 запроса на апгрейд за последние 10 минут (по всем вашим серверам вместе). | Подождите 10 минут и не повторяйте попытки: запросы, отправленные за это время, тоже учитываются. |\n| «Не удалось загрузить варианты апгрейда.» | Окно не получило данные. | Закройте окно и откройте его снова. |\n| «Не удалось запустить апгрейд.» | Запрос не принят. | Попробуйте ещё раз; если ошибка повторяется, напишите нам. |\n\n## Частые вопросы\n\n**Изменится ли IP-адрес, пропадут ли данные?**\nНет. IP-адрес и данные сохраняются. Сервер один раз ненадолго перезагружается.\n\n**Можно ли после апгрейда вернуться на прежний тариф?**\nНет, диск нельзя уменьшить. Выход — заказать новый сервер на меньшем тарифе и перенести на него данные.\n\n**Почему в истории баланса сумма с дробной частью, а в окне было целое число?**\nОкно округляет сумму до целых леев, а письмо показывает только целые леи без дробной части, поэтому они могут различаться на 1 MDL. Точная сумма, с дробной частью, — в истории операций баланса.\n\n**Если закрыть вкладку во время апгрейда, он остановится?**\nНет, апгрейд продолжится. Дождитесь письма или через несколько минут перезагрузите «Мои серверы» и проверьте поле «Конфигурация». Если за 15 минут ничего не изменилось и сумма не вернулась на баланс, напишите нам.\n\n**Можно ли сделать апгрейд через AI-ассистента?**\nДа, по тем же правилам: только более крупные тарифы того же семейства и оплата с баланса. См. [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n",
    "en": "The “Upgrade” button on the server card moves your server to a larger plan in the same family. You'll find the button on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”). The amount is taken from your account balance, and your IP address and the data on the server are kept.\n\n**Available to:** the server's owner (the blackbox.md account it was ordered from), for servers on the VPS plans from the catalog (`vm-…`). For other servers, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## When you see the “Upgrade” button\n\n- The button appears on the cards of servers that were ordered from your account and created automatically after payment.\n- It does not appear on company servers managed by the BLACKBOX team (with or without the “Managed” badge), or on dedicated servers.\n- On the “VPS hosting” plans (`vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`) and on older plans that are no longer sold, the button may appear, but the window shows “This server's plan can't be upgraded this way — contact support.”\n- While an upgrade started from the current tab is running, the button is inactive.\n\nIf you don't see the button or an upgrade isn't possible for your server, write to us: [How to contact BLACKBOX support](#suport.contact). How to get to the panel: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n## Which plans you can choose\n\nThe “Upgrade to” list shows only larger plans in the same family: at least as many vCPUs and as much memory, and the same disk or a larger one. For example, from Standard M you can move to Standard L or Standard XL.\n\n| Family | Plans, smallest to largest | Disk after the upgrade |\n|---|---|---|\n| Basic | XS → S → M → L → XL | grows: 20 → 50 → 100 → 200 → 400 GB |\n| CPU | S → M → L → XL → XXL | stays at 30 GB |\n| Standard | S → M → L → XL | grows: 20 → 40 → 80 → 160 GB |\n| High-Frequency | XS → S → M | grows: 100 → 200 → 400 GB |\n| High-Frequency Compute | XS → S → M → L | stays at 50 GB |\n\nThe resources and price of each plan: [VPS plans: how to choose](#comenzi.planuri-vps).\n\n> **Important**\n> An upgrade works in one direction only. From the panel, you cannot move to a smaller plan or to another family, and the disk cannot be made smaller again. If you need a smaller plan or another family, order a new server on the plan you want, move your data, and then delete the old server.\n\n## How much it costs\n\n- You pay only from your account balance. The amount is taken before the server is changed. You cannot pay by card in this window: top up your balance first ([Topping up your balance](#plati.alimentare-sold)).\n- The amount is the difference between the new monthly price and the current one, prorated to the days left in the current 30-day cycle. Cycles are counted from the server's activation, and a day that has started counts as a full day.\n- Before you confirm, the window shows the amount next to “Charged now (prorated)”, rounded to whole lei. Your balance history shows the exact amount, with the description “Upgrade server” (Server upgrade).\n- After the upgrade, the monthly price of the new plan applies: your next monthly invoices are issued at the new price.\n\nExample: a Standard M server (578 MDL/month), activated 9 days and a few hours ago, moves to Standard L (742 MDL/month). The monthly difference is 164 MDL. 10 days count as used, so 20 of 30 remain. The amount taken now: 164 × 20 / 30 = 109.33 MDL (the window shows “109 MDL”). From then on, the monthly price is 742 MDL.\n\n## How to upgrade\n\n> **Tip**\n> Before the upgrade, back up your important data and check that your applications start on their own after a reboot. See [Backup strategy for your server](#ghiduri.strategie-backup).\n\n1. In the panel, open “My Servers” and find the server's card.\n2. If you have stopped the server, start it first with “Start”.\n3. Click “Upgrade”. The “Upgrade server” window opens, with the server's name next to “Server:”.\n4. Check the current configuration next to “Current”, for example “2 vCPU · 4 GB RAM · 40 GB SSD”.\n5. Under “Upgrade to”, choose the new configuration. Each option shows the resources and the price, for example “2 vCPU · 8 GB RAM · 80 GB SSD — 742 MDL/mo”. The smallest available plan is selected by default.\n6. Check the amounts in the table below the list (see below).\n7. Tick “I understand the server will restart (a few minutes of downtime; the IP address and all data are preserved).” Until you tick it, the button stays inactive.\n8. Click “Upgrade server”. The button shows “Upgrading…”, and then the window closes.\n9. The upgrade status appears on the card, starting with “Queued”. Follow it until you see “Upgrade complete”.\n\n| Row in the window | What it shows |\n|---|---|\n| “Current monthly price” | the monthly price of your current plan |\n| “New monthly price” | the monthly price of the plan you chose |\n| “Charged now (prorated)” | the amount taken from your balance after you confirm |\n| “Wallet balance” | your current balance, rounded to whole lei |\n\n“Cancel” or “×” closes the window without changing anything.\n\n## If your balance is not enough\n\nWhen your balance is lower than the amount next to “Charged now (prorated)”, the window shows “Your wallet balance isn't enough to cover this upgrade.” with the “Top up your balance →” link.\n\n1. Click “Top up your balance →”. The “Sold” (Balance) page on blackbox.md opens in a new tab.\n2. Click “Alimentează soldul” (Top up balance) and pay by card at least the missing amount (a top-up starts at 50 MDL).\n3. Go back to the panel, close the window with “Cancel”, and click “Upgrade” again so that the window shows your new balance.\n\n## Upgrade progress\n\nThe status appears on the server card and refreshes every 5 seconds.\n\n| Status | What is happening |\n|---|---|\n| “Queued” | the request has been received |\n| “Charging” | the amount is being taken from your balance |\n| “Resizing” | the server is moving to the new configuration and restarting |\n| “Verifying” | waiting for the new configuration to be ready |\n| “Confirming” | the new configuration is being confirmed |\n| “Activating” | the server is starting with the new resources |\n| “Growing disk” | the file system is being extended to the larger disk |\n| “Finishing up” | the new plan and price are being recorded |\n| “Upgrade complete” | done: the “Spec” field on the card shows the new resources |\n| “Upgrade failed” | the upgrade stopped with an error; if the amount was already taken, it goes back to your balance automatically |\n| “Reverting” | the server is being returned to its previous configuration |\n| “Upgrade reverted” | the server is back on its previous configuration; the amount goes back to your balance automatically |\n| “Upgrade stalled — contact support” | the status has not changed for 15 minutes; write to us |\n\nUsually the whole upgrade takes about a minute, including the restart. Still, plan for a few minutes of downtime, as the window also warns.\n\n> **Note**\n> The status is visible only in the tab where you started the upgrade. If you reload the page or open it in another tab, the status disappears, but the upgrade continues. You'll see the result in the confirmation email and in the “Spec” field.\n\n## After the upgrade\n\n- On the card, “Spec” shows the new resources. The “Plan” field keeps the code of the plan you ordered the server with, for example `vm-iops1-m`. You can see the new plan's code on blackbox.md, under “Comenzi” (Orders) → “Vezi detaliile” (View details) → “Tip” (Type).\n- At the email address given in the order, you receive the email “Serverul dvs. a fost actualizat — BBX-…” (Your server has been updated — BBX-…), with the order number. It contains the IP address, the new resources, the amount taken and the new monthly price. The subject is always in Romanian, and the body of the email is in your account's language (see [Language of the website, the panel and emails](#cont.limba)).\n- The disk is enlarged automatically. You can check it on the server:\n\n```bash\ndf -h /\n```\n\nIf the email says that the disk may need to be extended manually, and the command still shows the old size, write to us.\n\n## If the upgrade fails\n\n- With “Upgrade failed” or “Upgrade reverted”, the amount taken goes back to your balance automatically. Your balance history shows the transaction “Anulare upgrade server” (Server upgrade cancellation), with a “+”. In this case, you don't receive an email.\n- Reload the page and check “Spec”. You can try again later; if it fails again, write to us.\n- With “Upgrade stalled — contact support”, write to us with the order number. The team checks the server and the amount taken.\n\n## Messages in the window\n\n| Message | What it means | What to do |\n|---|---|---|\n| “This server's plan can't be upgraded this way — contact support.” | The server is on a “VPS hosting” plan or on an older plan that is no longer sold. | Write to us. |\n| “No larger configuration is available for this server right now.” | The server is already on the largest plan in its family, or the larger plans are not available right now. | Try again later or write to us. |\n| “Upgrade isn't available right now (…).” The parentheses contain a technical code; the same code may also appear on its own after you click “Upgrade server”. | The server is in an intermediate state (for example, it is restarting right now), the infrastructure service is temporarily unavailable, or the server's configuration could not be read. | Wait a few minutes and open the window again. If the message stays, send us its exact text. |\n| “Your wallet balance isn't enough to cover this upgrade.” | Your balance does not cover the amount. | Top up your balance (see the section above). |\n| “An upgrade is already in progress for this server.” | An upgrade started earlier is still running. | Wait for the confirmation email or check “Spec” in a few minutes. |\n| “Rate limit exceeded — resize is limited to 3 requests per 600 seconds” | You have already sent 3 upgrade requests from the panel in the last 10 minutes (for all your servers combined). | Wait 10 minutes without trying again: attempts made in the meantime also count. |\n| “Failed to load upgrade options.” | The window did not receive the data. | Close it and open it again. |\n| “Failed to start the upgrade.” | The request was not accepted. | Try again; if it happens again, write to us. |\n\n## Frequently asked questions\n\n**Does the IP address change, or is any data lost?**\nNo. Your IP address and data stay. The server restarts once, briefly.\n\n**Can I go back to the old plan after an upgrade?**\nNo, the disk cannot be made smaller. The solution: order a new server on the smaller plan and move your data to it.\n\n**Why does the amount in my balance history have decimals when the window showed a whole number?**\nThe window rounds the amount to whole lei, and the email shows only whole lei, without decimals, so the two may differ by 1 MDL. The exact amount, with decimals, is the one in your balance history.\n\n**I closed the tab during the upgrade. Did it stop?**\nNo, the upgrade continues. Wait for the email, or reload “My Servers” in a few minutes and check “Spec”. If nothing has changed within 15 minutes and the amount has not come back to your balance, write to us.\n\n**Can I upgrade through the AI assistant?**\nYes, with the same rules: only larger plans in the same family, paid from your balance. See [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n"
   }
  },
  {
   "id": "servere.stergere-server",
   "section": "servere",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servere/stergere-server/",
    "ru": "https://docs.blackbox.md/ru/servere/stergere-server/",
    "en": "https://docs.blackbox.md/en/servere/stergere-server/"
   },
   "title": {
    "ro": "Ștergerea definitivă a unui server",
    "ru": "Безвозвратное удаление сервера",
    "en": "Permanently deleting a server"
   },
   "summary": {
    "ro": "Cum programați ștergerea, perioada de grație de 24 de ore, anularea și ce se întâmplă cu facturarea.",
    "ru": "Как запланировать удаление, 24-часовая отсрочка, отмена и что происходит с оплатой.",
    "en": "How to schedule the deletion, the 24-hour grace period, how to cancel it and what happens to billing."
   },
   "markdown": {
    "ro": "Butonul „Șterge definitiv” de pe cardul serverului, în pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`, meniul „Serverele mele”), programează ștergerea definitivă a serverului. Ștergerea se execută după o perioadă de grație de 24 de ore, în care o puteți anula.\n\n**Disponibil pentru:** titularul serverului, adică contul blackbox.md din care a fost comandat. Pe serverele companiei la care ați primit acces (de exemplu cele marcate „Administrat”) butonul nu apare; pentru ele scrieți-ne.\n\n> **Ireversibil**\n> După executare, serverul, discurile lui și toate datele de pe el sunt șterse definitiv și nu mai pot fi recuperate. Faceți copiile de care aveți nevoie înainte de a programa ștergerea.\n\n## Înainte de ștergere\n\n- **Copiați datele.** Salvați pe calculatorul dvs. sau pe alt server fișierele site-urilor, bazele de date, căsuțele de email, certificatele SSL și configurațiile. BLACKBOX nu face copii automate ale serverului dvs. Vedeți [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) și [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n- **Mutați domeniile.** Îndreptați domeniile către noul server sau ștergeți înregistrările DNS care indică adresa IP a acestui server (de obicei înregistrările A). După ștergere, adresa IP poate fi atribuită altui server. Vedeți [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu) și [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari).\n- **Decideți dacă vreți bani înapoi.** Ștergerea din panou nu returnează nimic. Dacă sperați la o rambursare, verificați mai întâi anularea comenzii (vedeți secțiunea „Ștergerea nu returnează bani” de mai jos).\n\n## Cum programați ștergerea\n\n1. Deschideți panoul și mergeți la „Serverele mele”. Din blackbox.md puteți ajunge direct la cardul serverului: „Contul meu” → „Comenzi” → „Gestionează în app.blackbox.md”.\n2. Pe cardul serverului apăsați butonul roșu „Șterge definitiv” (indicația butonului: „Solicită ștergerea definitivă a acestui server (cu perioadă de grație)”).\n3. Se deschide dialogul „Ștergere definitivă server”, cu rândul „Server: bbx-bbx-2026-000023” și avertismentul „Aceasta șterge definitiv mașina virtuală după o perioadă de grație. Nu poate fi anulată după ce se execută. Puteți anula oricând înainte, din acest dialog.”\n4. În câmpul „Tastați `bbx-bbx-2026-000023` pentru a confirma” scrieți exact numele afișat (este și textul gri din câmp). Este numele original al serverului, cu litere mici; dacă serverul nu are nume, în locul lui apare adresa IP și o tastați pe aceasta. Numele privat dat cu creionul nu este acceptat. Dacă ați redenumit serverul, numele original apare pe card în rândul „Nume original” ([Redenumirea serverului (nume privat)](#servere.redenumire)).\n5. Butonul „Programează ștergerea” devine activ doar când textul coincide exact. Apăsați-l; cât se trimite cererea, pe buton scrie „Se programează…”. Butonul „Anulează” închide dialogul fără nicio modificare.\n6. Dialogul afișează „O ștergere este deja programată. Se va executa la … dacă nu o anulați mai jos.”, cu data și ora în fusul orar al dispozitivului dvs., și butoanele „Închide” și „Anulează ștergerea”.\n7. Pe adresa contului primiți emailul „Server termination scheduled — bbx-bbx-2026-000023”.\n\n## Perioada de grație de 24 de ore\n\n- Ora execuției este momentul cererii plus 24 de ore și se fixează la programare.\n- Ștergerea rulează la prima verificare automată de după această oră. Verificarea are loc o dată pe oră, așa că serverul se șterge între 24 și aproximativ 25 de ore după cerere.\n- Până atunci serverul funcționează normal: site-urile, SSH-ul și butoanele din panou rămân disponibile, iar facturarea nu se modifică.\n- Cardul nu arată că ștergerea este programată. Ca să verificați, apăsați din nou „Șterge definitiv”: dialogul afișează data programată.\n- Dacă o încercare de ștergere eșuează, dialogul afișează „Ultima încercare de execuție a eșuat și va fi reluată automat.” Ștergerea se reia la verificarea din ora următoare, iar până la executare o puteți anula în continuare. Dacă mesajul rămâne câteva ore, scrieți-ne.\n- Nu puteți grăbi ștergerea. Dacă serverul trebuie șters imediat, folosiți anularea comenzii (vedeți mai jos).\n\n## Cum anulați ștergerea\n\n1. În „Serverele mele”, pe cardul serverului, apăsați „Șterge definitiv”.\n2. Dialogul arată mesajul despre ștergerea programată. Apăsați „Anulează ștergerea” (pe buton apare „Se anulează…”). Nu se cere altă confirmare.\n3. Dialogul revine la câmpul de confirmare: nicio ștergere nu mai este programată. Închideți-l cu „Anulează” sau cu ×.\n\nLa anulare nu se trimite email. Puteți programa ștergerea din nou oricând; cele 24 de ore se numără de la noua cerere.\n\n## Ce se întâmplă la executare\n\n| Ce | Ce se întâmplă |\n|---|---|\n| Mașina virtuală și discurile ei, cu toate fișierele, bazele de date și setările | se șterg definitiv |\n| Serverul în panou | dispare din „Serverele mele”; datele de acces nu mai pot fi afișate |\n| Comanda serverului | trece în statusul „Anulat”, iar rândul „Server: …” dispare ([Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele)) |\n| Serviciile suplimentare ale comenzii (de exemplu „Monitoring 24/7”) | se opresc și apar în „Comenzi” cu starea „Anulat” |\n| Facturarea lunară | se oprește: nu se mai emit facturi lunare pentru acest server ([Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara)) |\n| Adresa IP | nu se păstrează și poate fi atribuită altui server |\n| Facturile deja emise, inclusiv factura comenzii („Achitată”) | rămân în „Facturi” neschimbate |\n| Contul, soldul, celelalte servere, cheile SSH salvate în cont, conexiunile DNS și token-urile API | rămân neschimbate |\n\n## Ștergerea nu returnează bani\n\n> **Important**\n> „Șterge definitiv” nu returnează bani pentru perioada deja plătită, nici pentru zilele rămase din luna începută ([Termenii și condițiile, punctul 7.4](https://blackbox.md/info/terms#fara-rambursare)). Dacă vreți să recuperați o parte din bani, anulați comanda în locul ștergerii, în limitele regulilor de anulare.\n\n| | „Șterge definitiv” (panou) | „Anulează comanda” (blackbox.md) |\n|---|---|---|\n| Unde | „Serverele mele” → cardul serverului | „Contul meu” → „Comenzi” → rândul comenzii |\n| Când se șterge serverul | după 24–25 de ore | imediat după confirmare |\n| Vă puteți răzgândi | da, până la executare | nu |\n| Bani înapoi | nu | după regulile de anulare, în sold |\n| Statusul comenzii | „Anulat” | „Anulat” |\n\nLa anulare, fereastra „Anulați comanda?” arată înainte de confirmare dacă și ce sumă vi se returnează în sold. Puteți anula comanda și în perioada de grație a unei ștergeri programate. Regulile complete: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Emailurile\n\n| Subiect | Când îl primiți | Ce conține |\n|---|---|---|\n| „Server termination scheduled — bbx-bbx-2026-000023” | imediat după programare | momentul după care serverul va fi șters (în UTC), perioada de grație de 24 de ore și faptul că o puteți anula din pagina „Serverele mele” (în email: „My Servers”) |\n| „Server deleted — bbx-bbx-2026-000023” | după executare | confirmarea că mașina virtuală și discurile ei au fost șterse și nu pot fi recuperate, că facturarea lunară s-a oprit și îndemnul de a contacta suportul dacă nu v-ați așteptat la ștergere |\n\nDupă liniuță apare numele original al serverului (sau adresa IP). Data din primul email este în format tehnic UTC, de exemplu `2026-10-10T09:30:12.345678+00:00`. Pentru ora Moldovei adăugați 2 ore iarna și 3 ore vara.\n\n> **Ecran în limba engleză**\n> Subiectul acestor emailuri este în engleză. Dacă limba contului este româna, și textul emailului este în engleză; pentru conturile în limba rusă textul este în rusă. Vedeți [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu corespunde. Tastați exact \"bbx-bbx-2026-000023\" pentru a confirma.” | textul trimis nu coincide cu numele serverului; se poate întâmpla dacă pagina afișa date vechi | reîncărcați pagina, deschideți din nou dialogul și tastați exact numele afișat după „Server:”, nu numele privat |\n| „Nu s-a putut programa ștergerea.” sau un mesaj tehnic în engleză | cererea nu a fost înregistrată | reîncărcați pagina și încercați din nou; dacă eroarea se repetă, scrieți-ne cu textul ei |\n| „Nu s-a putut anula ștergerea.” sau un mesaj tehnic în engleză | anularea nu a fost înregistrată | reîncărcați pagina, deschideți din nou dialogul și repetați; dacă nu reușiți și ora execuției este aproape, contactați imediat suportul |\n| „No pending termination request” sau „Not found” | ștergerea a fost anulată între timp (de exemplu din altă filă) sau serverul a fost deja șters | reîncărcați pagina; dacă serverul nu mai apare în „Serverele mele”, ștergerea s-a executat |\n| „Nu s-a putut încărca starea ștergerii.” sau un mesaj tehnic în engleză | dialogul nu a putut verifica dacă există o ștergere programată | închideți dialogul, reîncărcați pagina și deschideți-l din nou |\n\nDacă ștergerea a fost deja programată între timp (de exemplu din altă filă), după ce apăsați „Programează ștergerea” dialogul trece direct la mesajul „O ștergere este deja programată. Se va executa la …”. A doua ștergere nu se creează.\n\nDatele de contact ale suportului: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Pot opri serverul în loc să-l șterg, ca să nu mai plătesc?**\nNu. Un server oprit cu „Oprește” rămâne în contul dvs. și se facturează în continuare. Facturarea se oprește doar după ștergere sau după anularea comenzii.\n\n**Am primit emailul „Server termination scheduled”, dar nu eu am cerut ștergerea.**\nDeschideți imediat „Serverele mele” → „Șterge definitiv” și apăsați „Anulează ștergerea”. Apoi schimbați parola contului și scrieți-ne. Vedeți [Recomandări de securitate pentru contul dvs.](#cont.securitate-cont).\n\n**Pot păstra adresa IP după ștergere?**\nNu. Adresa se eliberează și poate fi atribuită altui server. Mutați domeniile și serviciile care o folosesc înainte de ștergere.\n\n**Pot cere asistentului AI să șteargă serverul?**\nAsistentul AI nu poate programa ștergerea cu perioadă de grație. El poate anula comanda, iar atunci serverul se șterge imediat. Vedeți [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Vreau să închid contul. Ce fac cu serverele?**\nȘtergeți sau anulați toate serverele înainte de a cere ștergerea contului; cât timp o ștergere de server este programată, contul nu poate fi șters. Ordinea completă: [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n",
    "ru": "Кнопка «Удалить» на карточке сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`, меню «Мои серверы») планирует безвозвратное удаление сервера. Удаление выполняется через 24 часа — в течение этой отсрочки его можно отменить.\n\n**Доступно:** владельцу сервера, то есть аккаунту blackbox.md, из которого сервер был заказан. На серверах компании, к которым вам открыли доступ (например, с меткой «Обслуживается»), этой кнопки нет — по таким серверам напишите нам.\n\n> **Необратимо**\n> После выполнения удаления сервер, его диски и все данные на нём удаляются навсегда, восстановить их нельзя. Сделайте нужные копии до того, как запланировать удаление.\n\n## Перед удалением\n\n- **Скопируйте данные.** Сохраните на свой компьютер или на другой сервер файлы сайтов, базы данных, почтовые ящики, SSL-сертификаты и конфигурации. BLACKBOX не делает автоматических резервных копий вашего сервера. См. [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) и [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n- **Перенесите домены.** Направьте домены на новый сервер или удалите DNS-записи, которые указывают на IP-адрес этого сервера (обычно это записи A). После удаления этот IP-адрес может достаться другому серверу. См. [Как направить домен на сервер](#domenii.indreptare-domeniu) и [Управление DNS-записями из панели](#servicii.dns-inregistrari).\n- **Решите, нужен ли вам возврат денег.** Удаление в панели ничего не возвращает. Если вы рассчитываете на возврат, сначала проверьте вариант с отменой заказа (см. раздел «Удаление не возвращает деньги» ниже).\n\n## Как запланировать удаление\n\n1. Откройте панель и перейдите в «Мои серверы». С blackbox.md можно сразу попасть на карточку сервера: «Личный кабинет» → «Заказы» → «Управление в app.blackbox.md».\n2. На карточке сервера нажмите красную кнопку «Удалить» (подсказка к ней: «Запросить безвозвратное удаление сервера (с отсрочкой)»).\n3. Откроется окно «Удаление сервера» со строкой «Сервер: bbx-bbx-2026-000023» и предупреждением «Это безвозвратно удалит виртуальную машину после периода отсрочки. После выполнения отменить нельзя. До этого момента вы можете отменить удаление в этом же окне.»\n4. В поле «Введите `bbx-bbx-2026-000023` для подтверждения» наберите в точности показанное название (оно же написано в поле серым). Это исходное название сервера, строчными буквами; если у сервера нет названия, вместо него показан IP-адрес — тогда введите IP. Личное название, заданное кнопкой с карандашом, не подойдёт. Если вы переименовывали сервер, исходное название показано на карточке в строке «Исходное название» ([Переименование сервера (личное название)](#servere.redenumire)).\n5. Кнопка «Запланировать удаление» становится активной, только когда текст совпадает полностью. Нажмите её; пока запрос отправляется, на кнопке написано «Планирование…». Кнопка «Отмена» закрывает окно, ничего не меняя.\n6. В окне появится сообщение «Удаление уже запланировано. Оно выполнится … если вы не отмените его ниже.» с датой и временем по часовому поясу вашего устройства, а также кнопки «Закрыть» и «Отменить удаление».\n7. На адрес аккаунта придёт письмо «Server termination scheduled — bbx-bbx-2026-000023».\n\n## Отсрочка 24 часа\n\n- Время удаления — это момент запроса плюс 24 часа; оно фиксируется при планировании.\n- Удаление запускается при первой автоматической проверке после этого времени. Проверка проходит раз в час, поэтому сервер удаляется через 24 — примерно 25 часов после запроса.\n- До этого сервер работает как обычно: сайты, SSH и кнопки в панели доступны, начисление оплаты не меняется.\n- На карточке не видно, что удаление запланировано. Чтобы проверить, снова нажмите «Удалить» — в окне будет указана запланированная дата.\n- Если попытка удаления не удалась, в окне появится «Последняя попытка выполнения не удалась и будет повторена автоматически.» Удаление повторится при проверке в следующем часу, а до его выполнения отменить удаление по-прежнему можно. Если сообщение не исчезает несколько часов, напишите нам.\n- Ускорить удаление нельзя. Если сервер нужно удалить немедленно, отмените заказ (см. ниже).\n\n## Как отменить удаление\n\n1. В разделе «Мои серверы» на карточке сервера нажмите «Удалить».\n2. В окне будет сообщение о запланированном удалении. Нажмите «Отменить удаление» (на кнопке появится «Отмена…»). Дополнительного подтверждения не требуется.\n3. В окне снова появится поле для подтверждения — значит, удаление больше не запланировано. Закройте окно кнопкой «Отмена» или ×.\n\nПисьмо об отмене не отправляется. Запланировать удаление снова можно в любой момент; 24 часа отсчитываются от нового запроса.\n\n## Что происходит при удалении\n\n| Что | Что происходит |\n|---|---|\n| Виртуальная машина и её диски со всеми файлами, базами данных и настройками | удаляются навсегда |\n| Сервер в панели | исчезает из раздела «Мои серверы»; учётные данные больше нельзя посмотреть |\n| Заказ сервера | переходит в статус «Отменён», строка «Сервер: …» исчезает ([Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele)) |\n| Дополнительные услуги заказа (например, «Мониторинг 24/7») | отключаются и отображаются в разделе «Заказы» с состоянием «Отменён» |\n| Ежемесячная оплата | прекращается: новые ежемесячные счета за этот сервер не выставляются ([Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara)) |\n| IP-адрес | не сохраняется и может быть выдан другому серверу |\n| Уже выставленные счета, включая счёт заказа («Оплачен») | остаются в разделе «Счета» без изменений |\n| Аккаунт, баланс, другие серверы, SSH-ключи, сохранённые в аккаунте, подключения DNS и API-токены | остаются без изменений |\n\n## Удаление не возвращает деньги\n\n> **Важно**\n> «Удалить» не возвращает деньги ни за уже оплаченный период, ни за оставшиеся дни начатого месяца ([Условия использования, пункт 7.4](https://blackbox.md/ru/info/terms#fara-rambursare)). Если вы хотите вернуть часть средств, вместо удаления отмените заказ — в пределах правил отмены.\n\n| | «Удалить» (панель) | «Отменить заказ» (blackbox.md) |\n|---|---|---|\n| Где | «Мои серверы» → карточка сервера | «Личный кабинет» → «Заказы» → строка заказа |\n| Когда удаляется сервер | через 24–25 часов | сразу после подтверждения |\n| Можно передумать | да, до выполнения | нет |\n| Возврат денег | нет | по правилам отмены, на баланс |\n| Статус заказа | «Отменён» | «Отменён» |\n\nПри отмене окно «Отменить заказ?» ещё до подтверждения показывает, будет ли возврат на баланс и в каком размере. Отменить заказ можно и во время отсрочки уже запланированного удаления. Все правила: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Письма\n\n| Тема | Когда приходит | Что в нём |\n|---|---|---|\n| «Server termination scheduled — bbx-bbx-2026-000023» | сразу после планирования | время, после которого сервер будет удалён (по UTC), отсрочка 24 часа и напоминание, что удаление можно отменить на странице «Мои серверы» |\n| «Server deleted — bbx-bbx-2026-000023» | после удаления | подтверждение, что виртуальная машина и её диски удалены и не подлежат восстановлению, что ежемесячная оплата прекращена, и просьба связаться с поддержкой, если удаление стало для вас неожиданностью |\n\nПосле тире указано исходное название сервера (или IP-адрес). Время в первом письме указано в техническом формате UTC, например `2026-10-10T09:30:12.345678+00:00`. Чтобы получить время Молдовы, прибавьте 2 часа зимой и 3 часа летом.\n\n> **Экран на английском**\n> Тема этих писем — на английском. Если язык аккаунта румынский, текст письма тоже на английском; для аккаунтов на русском текст письма на русском. См. [Язык сайта, панели и писем](#cont.limba).\n\n## Сообщения об ошибках\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Не совпадает. Введите точно \"bbx-bbx-2026-000023\" для подтверждения.» | отправленный текст не совпадает с названием сервера; так бывает, если на странице были устаревшие данные | обновите страницу, снова откройте окно и введите в точности название, указанное после «Сервер:», а не личное название |\n| «Не удалось запланировать удаление.» или техническое сообщение на английском | запрос не зарегистрирован | обновите страницу и повторите; если ошибка повторяется, напишите нам и приложите её текст |\n| «Не удалось отменить удаление.» или техническое сообщение на английском | отмена не зарегистрирована | обновите страницу, снова откройте окно и повторите; если не получается, а время удаления близко, срочно свяжитесь с поддержкой |\n| «No pending termination request» или «Not found» | удаление тем временем отменили (например, из другой вкладки) или сервер уже удалён | обновите страницу; если сервера больше нет в разделе «Мои серверы», удаление выполнено |\n| «Не удалось загрузить статус удаления.» или техническое сообщение на английском | окну не удалось проверить, запланировано ли удаление | закройте окно, обновите страницу и откройте его снова |\n\nЕсли удаление тем временем уже запланировали (например, из другой вкладки), после нажатия «Запланировать удаление» окно сразу покажет сообщение «Удаление уже запланировано. Оно выполнится …». Второе удаление не создаётся.\n\nКонтакты поддержки: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Можно остановить сервер вместо удаления, чтобы не платить?**\nНет. Сервер, остановленный кнопкой «Остановить», остаётся в вашем аккаунте, и оплата за него продолжает начисляться. Оплата прекращается только после удаления сервера или отмены заказа.\n\n**Пришло письмо «Server termination scheduled», но я удаление не запрашивал.**\nСразу откройте «Мои серверы» → «Удалить» и нажмите «Отменить удаление». Затем смените пароль от аккаунта и напишите нам. См. [Рекомендации по безопасности аккаунта](#cont.securitate-cont).\n\n**Можно сохранить IP-адрес после удаления?**\nНет. Адрес освобождается и может достаться другому серверу. Перенесите домены и сервисы, которые его используют, до удаления.\n\n**Можно попросить AI-ассистента удалить сервер?**\nЗапланировать удаление с отсрочкой AI-ассистент не может. Он может отменить заказ — тогда сервер удаляется сразу. См. [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**Я хочу закрыть аккаунт. Что делать с серверами?**\nУдалите или отмените все серверы до того, как запрашивать удаление аккаунта: пока удаление сервера запланировано, аккаунт удалить нельзя. Полный порядок действий: [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n",
    "en": "The “Terminate” button on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, the “My Servers” menu), schedules the permanent deletion of the server. The deletion runs after a 24-hour grace period, during which you can cancel it.\n\n**Available to:** the server owner, meaning the blackbox.md account the server was ordered from. On company servers you have been given access to (for example, those marked “Managed”), the button does not appear; for those servers, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Irreversible**\n> Once the deletion runs, the server, its disks and all the data on it are permanently deleted and cannot be recovered. Make any copies you need before you schedule the deletion.\n\n## Before you delete\n\n- **Copy your data.** Save the site files, databases, mailboxes, SSL certificates and configurations to your computer or to another server. BLACKBOX does not make automatic copies of your server. See [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere) and [Backup strategy for your server](#ghiduri.strategie-backup).\n- **Move your domains.** Point your domains to the new server, or delete the DNS records that point to this server's IP address (usually A records). After the deletion, the IP address may be assigned to another server. See [How to point your domain to the server](#domenii.indreptare-domeniu) and [Managing DNS records from the panel](#servicii.dns-inregistrari).\n- **Decide whether you want money back.** Deleting a server from the panel refunds nothing. If you are hoping for a refund, look at canceling the order first (see the section “Deletion does not refund money” below).\n\n## How to schedule the deletion\n\n1. Open the panel and go to “My Servers”. From blackbox.md you can go straight to the server card: “Contul meu” (My account) → “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n2. On the server card, click the red “Terminate” button (its tooltip: “Request permanent deletion of this server (with a grace period)”).\n3. The “Terminate server” dialog opens, with the line “Server: bbx-bbx-2026-000023” and the warning “This permanently deletes the VM after a grace period. It cannot be undone once it runs. You can cancel any time before then from this same dialog.”\n4. In the “Type `bbx-bbx-2026-000023` to confirm” field, type the name shown, exactly as it appears (it is also the gray text in the field). This is the server's original name, in lowercase letters; if the server has no name, its IP address appears instead, and you type that. The private name you set with the pencil is not accepted. If you have renamed the server, the original name appears on the card in the “Original name” row ([Renaming a server (private name)](#servere.redenumire)).\n5. The “Schedule termination” button becomes active only when the text matches exactly. Click it; while the request is being sent, the button reads “Scheduling…”. The “Cancel” button closes the dialog without changing anything.\n6. The dialog shows “A termination is already scheduled. It will run at … unless you cancel it below.”, with the date and time in your device's time zone, and the “Close” and “Cancel termination” buttons.\n7. You receive the email “Server termination scheduled — bbx-bbx-2026-000023” at your account's email address.\n\n## The 24-hour grace period\n\n- The execution time is the moment of your request plus 24 hours. It is fixed when you schedule the deletion.\n- The deletion runs at the first automatic check after that time. The check runs once an hour, so the server is deleted between 24 and about 25 hours after your request.\n- Until then, the server works normally: your sites, SSH and the panel buttons stay available, and billing does not change.\n- The card does not show that a deletion is scheduled. To check, click “Terminate” again: the dialog shows the scheduled date.\n- If a deletion attempt fails, the dialog shows “The last execution attempt failed and will be retried automatically.” The deletion is retried at the next hourly check, and you can still cancel it until it runs. If the message stays for several hours, write to us.\n- You cannot speed up the deletion. If the server must be deleted immediately, cancel the order instead (see below).\n\n## How to cancel the deletion\n\n1. In “My Servers”, click “Terminate” on the server card.\n2. The dialog shows the message about the scheduled deletion. Click “Cancel termination” (the button shows “Cancelling…”). No further confirmation is asked for.\n3. The dialog goes back to the confirmation field: no deletion is scheduled anymore. Close it with “Cancel” or ×.\n\nNo email is sent when you cancel. You can schedule the deletion again at any time; the 24 hours are counted from the new request.\n\n## What happens when the deletion runs\n\n| What | What happens |\n|---|---|\n| The virtual machine and its disks, with all files, databases and settings | Permanently deleted |\n| The server in the panel | Disappears from “My Servers”; its credentials can no longer be revealed |\n| The server's order | Moves to the “Anulat” (Canceled) status, and the “Server: …” line disappears ([The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele)) |\n| The order's add-on services (for example “Monitoring 24/7”) | Stop, and appear in “Comenzi” (Orders) with the state “Anulat” |\n| Monthly billing | Stops: no more monthly invoices are issued for this server ([Monthly renewal and paying on time](#plati.reinnoire-lunara)) |\n| The IP address | Not kept; it may be assigned to another server |\n| Invoices already issued, including the order invoice, marked “Achitată” (Paid) | Stay unchanged in “Facturi” (Invoices) |\n| Your account, balance, other servers, SSH keys saved in your account, DNS connections and API tokens | Stay unchanged |\n\n## Deletion does not refund money\n\n> **Important**\n> “Terminate” does not refund money for the period already paid, or for the remaining days of a month that has already started ([Terms and Conditions, clause 7.4](https://blackbox.md/info/terms#fara-rambursare)). If you want to get part of your money back, cancel the order instead of deleting the server, within the cancellation rules.\n\n| | “Terminate” (panel) | “Anulează comanda” (Cancel the order) (blackbox.md) |\n|---|---|---|\n| Where | “My Servers” → the server card | “Contul meu” (My account) → “Comenzi” (Orders) → the order row |\n| When the server is deleted | After 24–25 hours | Immediately after you confirm |\n| You can change your mind | Yes, until it runs | No |\n| Money back | No | According to the cancellation rules, to your balance |\n| Order status | “Anulat” (Canceled) | “Anulat” |\n\nWhen you cancel, the “Anulați comanda?” (Cancel the order?) dialog shows, before you confirm, whether any amount will be refunded to your balance and how much. You can also cancel the order during the grace period of a scheduled deletion. Full rules: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Emails\n\n| Subject | When you receive it | What it contains |\n|---|---|---|\n| “Server termination scheduled — bbx-bbx-2026-000023” | Immediately after you schedule the deletion | The time after which the server will be deleted (in UTC), the 24-hour grace period, and the fact that you can cancel the deletion from the “My Servers” page |\n| “Server deleted — bbx-bbx-2026-000023” | After the deletion runs | Confirmation that the virtual machine and its disks have been deleted and cannot be recovered, that monthly billing has stopped, and a request to contact support if you did not expect the deletion |\n\nThe server's original name (or its IP address) appears after the dash. The date in the first email is in a technical UTC format, for example `2026-10-10T09:30:12.345678+00:00`. For Moldova time, add 2 hours in winter and 3 hours in summer.\n\nThe subject of these emails is in English. If your account language is Romanian, the email text is in English too; for accounts in Russian, the text is in Russian. See [Language of the website, the panel and emails](#cont.limba).\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “That doesn't match. Type \"bbx-bbx-2026-000023\" exactly to confirm.” | The text sent does not match the server name; this can happen if the page was showing outdated data | Reload the page, open the dialog again and type exactly the name shown after “Server:”, not the private name |\n| “Failed to schedule termination.” or a technical message | The request was not recorded | Reload the page and try again; if the error repeats, write to us and include its text |\n| “Failed to cancel termination.” or a technical message | The cancellation was not recorded | Reload the page, open the dialog again and try again; if it still fails and the execution time is close, contact support immediately |\n| “No pending termination request” or “Not found” | The deletion was canceled in the meantime (for example, from another tab) or the server has already been deleted | Reload the page; if the server no longer appears in “My Servers”, the deletion has run |\n| “Failed to load termination status.” or a technical message | The dialog could not check whether a deletion is scheduled | Close the dialog, reload the page and open the dialog again |\n\nIf the deletion was already scheduled in the meantime (for example, from another tab), after you click “Schedule termination” the dialog goes straight to the message “A termination is already scheduled. It will run at …”. A second deletion is not created.\n\nSupport contact details: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**Can I stop the server instead of deleting it, so I no longer pay?**\nNo. A server stopped with “Stop” stays in your account and is still billed. Billing stops only after the server is deleted or the order is canceled.\n\n**I received the “Server termination scheduled” email, but I did not request the deletion.**\nImmediately open “My Servers” → “Terminate” and click “Cancel termination”. Then change your account password and write to us. See [Security recommendations for your account](#cont.securitate-cont).\n\n**Can I keep the IP address after the deletion?**\nNo. The address is released and may be assigned to another server. Move the domains and services that use it before the deletion.\n\n**Can I ask the AI assistant to delete the server?**\nThe AI assistant cannot schedule a deletion with a grace period. It can cancel the order, and then the server is deleted immediately. See [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**I want to close my account. What do I do with my servers?**\nDelete or cancel all your servers before you request the deletion of your account; while a server deletion is scheduled, the account cannot be deleted. The full order of steps: [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n"
   }
  },
  {
   "id": "acces.afisare-date-acces",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/afisare-date-acces/",
    "ru": "https://docs.blackbox.md/ru/acces/afisare-date-acces/",
    "en": "https://docs.blackbox.md/en/acces/afisare-date-acces/"
   },
   "title": {
    "ro": "Afișarea datelor de acces root",
    "ru": "Просмотр учётных данных root",
    "en": "Showing root credentials"
   },
   "summary": {
    "ro": "Cum vedeți utilizatorul și parola root salvate în panou și de ce parola afișată poate fi veche.",
    "ru": "Как посмотреть сохранённые в панели имя пользователя и пароль root и почему пароль может быть устаревшим.",
    "en": "How to see the root username and password saved in the panel, and why the password shown may be out of date."
   },
   "markdown": {
    "ro": "Butonul „Afișează datele de acces” arată utilizatorul și parola root pe care panoul app.blackbox.md le are salvate pentru serverul dvs. Butonul se află pe cardul serverului, pe pagina „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Din blackbox.md ajungeți direct la card prin „Contul meu” → „Comenzi” → „Gestionează în app.blackbox.md”.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul sau un cont căruia BLACKBOX i-a acordat drept de administrare pentru server. Pe cardurile marcate „Administrat” butonul nu apare.\n\n## Cum afișați datele de acces\n\n1. Intrați în panou (vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)) și deschideți „Serverele mele”.\n2. Găsiți cardul serverului după nume sau după câmpul „IP”.\n3. Apăsați „Afișează datele de acces”.\n4. Browserul cere confirmarea „Afișați datele de acces salvate pentru NUME_SERVER? Accesul este înregistrat.”, unde NUME_SERVER este numele de pe card. Apăsați „OK”. Dacă renunțați, nu se afișează și nu se înregistrează nimic.\n5. Pe card apare o casetă cu „Utilizator” (pentru serverele comandate pe blackbox.md, `root`) și „Parolă”.\n\nCaseta rămâne pe card până când reîncărcați pagina sau treceți la altă pagină a panoului. Nu are buton de copiere: selectați parola cu mouse-ul de la primul la ultimul caracter și copiați-o (Ctrl+C, pe macOS Cmd+C). Dublu-clicul poate selecta doar o parte din parolă dacă aceasta conține `-`. În aceeași casetă apare și parola nouă după ce apăsați „Resetează parola”.\n\nCu aceste date vă conectați prin SSH la adresa din câmpul „IP”:\n\n```bash\nssh root@IP_SERVER\n```\n\nCând terminalul cere parola, lipiți-o și apăsați Enter; caracterele nu apar pe ecran. Instrucțiuni pentru fiecare sistem: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## De ce parola afișată poate fi veche\n\n> **Important**\n> Panoul afișează parola pe care a salvat-o, nu o citește de pe server. Dacă ați schimbat parola root direct pe server, de exemplu cu comanda `passwd`, caseta arată în continuare parola veche, care nu mai funcționează.\n\nPanoul cunoaște parola setată la crearea serverului și orice parolă generată ulterior cu „Resetează parola”. Ca să aveți din nou o parolă pe care panoul o cunoaște:\n\n1. Pe același card, apăsați „Resetează parola” și confirmați.\n2. Panoul setează pe server o parolă nouă și o afișează în aceeași casetă. Parola veche nu mai funcționează din acel moment.\n\nCondițiile și erorile resetării sunt descrise în [Resetarea parolei root](#acces.resetare-parola-root). Când vreți să schimbați parola root, folosiți „Resetează parola” în locul comenzii `passwd`: astfel parola din panou rămâne corectă.\n\n## Serverele „Doar cheie”\n\nEticheta de lângă numele serverului arată dacă parola poate fi folosită la SSH:\n\n| Etichetă | Ce înseamnă pentru parola afișată |\n|---|---|\n| „Parolă + cheie” | Vă puteți conecta prin SSH atât cu parola, cât și cu o cheie SSH instalată. |\n| „Doar cheie” | Serverul are o parolă root și panoul o afișează, dar autentificarea SSH cu parolă este dezactivată. Vă conectați doar cu cheia SSH. |\n\nPe un server „Doar cheie”, o conectare cu parolă se termină de regulă cu mesajul `Permission denied (publickey)`. Parola devine utilizabilă prin SSH doar după ce reactivați autentificarea cu parolă, cu butonul „Activează login cu parolă” (vedeți [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)). Dacă vă conectați fără probleme cu cheia, lăsați autentificarea cu parolă dezactivată: este varianta mai sigură.\n\nPanoul nu are consolă web sau VNC pentru clienți. Dacă nu mai aveți cheia și nu vă puteți conecta, citiți [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Fiecare afișare este înregistrată\n\nLa fiecare afișare reușită se înregistrează contul, data și ora, adresa IP și browserul de pe care s-au cerut datele. Jurnalul nu poate fi consultat în panou. Dacă bănuiți că altcineva v-a văzut parola, apăsați „Resetează parola”, schimbați parola contului (vedeți [Schimbarea parolei contului](#cont.schimbare-parola)) și scrieți-ne (vedeți [Cum contactați suportul BLACKBOX](#suport.contact)).\n\nAceleași date le poate afișa și un asistent AI conectat prin MCP, dar numai dacă token-ul lui are permisiunea „Vizualizează parolele/accesul serverelor” (`servers:credentials`). Și aceste afișări se înregistrează. Detalii în [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\n## Limita și mesajele de eroare\n\nPuteți afișa datele de acces de cel mult 20 de ori pe minut, pentru toate serverele din cont la un loc. Se numără și încercările nereușite, inclusiv cele respinse din cauza limitei. Erorile apar într-o casetă roșie pe card; primele trei sunt în limba engleză.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds” | Ați depășit 20 de afișări într-un minut. | Așteptați un minut fără să mai apăsați butonul, apoi încercați din nou. |\n| „No credentials stored for this server” | Panoul nu are date de acces salvate pentru acest server. | Scrieți suportului. |\n| „Failed to decrypt credentials — encryption key may have changed” | Datele salvate nu pot fi citite. | Scrieți suportului. |\n| „Nu s-au putut afișa datele de acces.” sau alt mesaj tehnic | Cererea nu a reușit. | Reîncărcați pagina și încercați din nou. Dacă eroarea se repetă, scrieți suportului. |\n\n## Păstrați parola în siguranță\n\n> **Securitate**\n> Oricine intră în contul dvs. poate afișa parola root a serverelor. Protejați contul cu o parolă puternică și activați autentificarea în doi pași (vedeți [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa)).\n\n- Nu partajați parola și nu o trimiteți prin email sau mesagerie.\n- Nu faceți capturi de ecran ale casetei cu parola.\n- Păstrați parola într-un manager de parole.\n- După ce ați copiat parola, reîncărcați pagina ca să dispară caseta, mai ales dacă ecranul este partajat sau vizibil altora.\n- Preferați cheile SSH: vedeți [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh) și [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server). După ce vă conectați fără probleme cu cheia, puteți dezactiva autentificarea cu parolă.\n\n## Întrebări frecvente\n\n**Parola afișată nu funcționează. Ce verific?**\nDacă serverul are eticheta „Doar cheie”, SSH nu acceptă parole: conectați-vă cu cheia. Dacă ați schimbat parola pe server, folosiți „Resetează parola”. Verificați și că ați copiat toată parola, fără spații la început sau la sfârșit.\n\n**Pot afișa parola când serverul este oprit?**\nDa. Panoul afișează datele salvate și nu se conectează la server. „Resetează parola” funcționează însă doar cu serverul pornit.\n\n**De ce nu văd butonul „Afișează datele de acces”?**\nCardul are eticheta „Administrat” și mesajul „Acest server este administrat de echipa noastră. Pentru orice modificare, contactați suportul.” Pentru acces, scrieți suportului. Dacă serverul nu apare deloc, citiți [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n**Se schimbă parola salvată de la sine?**\nNu. Ea se schimbă doar când cineva apasă „Resetează parola” în panou sau când un asistent AI cu permisiunea „Vizualizează parolele/accesul serverelor” resetează parola.\n",
    "ru": "Кнопка «Показать учётные данные» выводит имя пользователя и пароль root, которые панель app.blackbox.md хранит для вашего сервера. Кнопка находится в карточке сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»). С blackbox.md можно сразу перейти к карточке: «Личный кабинет» → «Заказы» → «Управление в app.blackbox.md».\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером. В карточках с отметкой «Обслуживается» кнопки нет.\n\n## Как посмотреть учётные данные\n\n1. Войдите в панель (см. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)) и откройте «Мои серверы».\n2. Найдите карточку сервера по названию или по полю «IP».\n3. Нажмите «Показать учётные данные».\n4. Браузер попросит подтвердить: «Показать сохранённые учётные данные для ИМЯ_СЕРВЕРА? Доступ фиксируется в журнале.», где ИМЯ_СЕРВЕРА — название из карточки. Нажмите «OK». Если вы откажетесь, данные не появятся и в журнал ничего не попадёт.\n5. В карточке появится блок с полями «Пользователь» (для серверов, заказанных на blackbox.md, — `root`) и «Пароль».\n\nБлок остаётся в карточке, пока вы не обновите страницу или не перейдёте на другую страницу панели. Кнопки копирования в нём нет: выделите пароль мышью от первого до последнего символа и скопируйте его (Ctrl+C, на macOS Cmd+C). Двойной щелчок может выделить только часть пароля, если в нём есть `-`. В этом же блоке появляется и новый пароль после нажатия «Сбросить пароль».\n\nС этими данными вы подключаетесь по SSH к адресу из поля «IP»:\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\nКогда терминал запросит пароль, вставьте его и нажмите Enter; символы на экране не отображаются. Инструкции для каждой системы: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Почему пароль может быть устаревшим\n\n> **Важно**\n> Панель показывает пароль, который она сохранила, а не читает его с сервера. Если вы сменили пароль root прямо на сервере, например командой `passwd`, в блоке по-прежнему будет старый пароль, который больше не подходит.\n\nПанель знает пароль, заданный при создании сервера, и любой пароль, созданный позже кнопкой «Сбросить пароль». Чтобы снова получить пароль, известный панели:\n\n1. В той же карточке нажмите «Сбросить пароль» и подтвердите действие.\n2. Панель установит на сервере новый пароль и покажет его в том же блоке. Старый пароль сразу перестанет работать.\n\nУсловия и ошибки сброса описаны в статье [Сброс пароля root](#acces.resetare-parola-root). Если хотите сменить пароль root, пользуйтесь кнопкой «Сбросить пароль», а не командой `passwd`: тогда пароль в панели останется актуальным.\n\n## Серверы «Только ключ»\n\nОтметка рядом с названием сервера показывает, можно ли входить по SSH с паролем:\n\n| Отметка | Что это значит для показанного пароля |\n|---|---|\n| «Пароль + ключ» | По SSH можно войти и с паролем, и с установленным SSH-ключом. |\n| «Только ключ» | Пароль root на сервере есть, и панель его показывает, но вход по паролю по SSH отключён. Подключиться можно только с SSH-ключом. |\n\nНа сервере «Только ключ» попытка войти с паролем обычно заканчивается сообщением `Permission denied (publickey)`. Для входа по SSH пароль подойдёт, только когда вы снова включите вход по паролю кнопкой «Включить вход по паролю» (см. [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)). Если вы без проблем входите по ключу, оставьте вход по паролю отключённым: так безопаснее.\n\nВеб-консоли или VNC-консоли для клиентов в панели нет. Если ключа больше нет и подключиться не получается, прочитайте статью [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Каждый просмотр записывается в журнал\n\nПри каждом успешном просмотре записываются аккаунт, дата и время, IP-адрес и браузер, с которого запросили данные. Посмотреть этот журнал в панели нельзя. Если вы подозреваете, что ваш пароль видел кто-то другой, нажмите «Сбросить пароль», смените пароль аккаунта (см. [Смена пароля аккаунта](#cont.schimbare-parola)) и напишите нам (см. [Как связаться с поддержкой BLACKBOX](#suport.contact)).\n\nТе же данные может показать и AI-ассистент, подключённый через MCP, но только если у его токена есть разрешение «Просматривать пароли/доступы к серверам» (`servers:credentials`). Такие просмотры тоже записываются в журнал. Подробнее — в статье [Разрешения токенов (scopes)](#ai.permisiuni).\n\n## Лимит и сообщения об ошибках\n\nУчётные данные можно посмотреть не больше 20 раз в минуту — для всех серверов аккаунта вместе. Неудачные попытки тоже учитываются, в том числе отклонённые из-за лимита. Ошибки появляются в красном блоке в карточке; первые три — на английском.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds» | Вы превысили 20 просмотров за минуту. | Подождите минуту, не нажимая кнопку, и повторите. |\n| «No credentials stored for this server» | У панели нет сохранённых учётных данных для этого сервера. | Напишите в поддержку. |\n| «Failed to decrypt credentials — encryption key may have changed» | Сохранённые данные не удаётся прочитать. | Напишите в поддержку. |\n| «Не удалось показать учётные данные.» или другое техническое сообщение | Запрос не выполнен. | Обновите страницу и повторите. Если ошибка повторяется, напишите в поддержку. |\n\n## Как хранить пароль безопасно\n\n> **Безопасность**\n> Любой, кто вошёл в ваш аккаунт, может посмотреть пароль root ваших серверов. Защитите аккаунт надёжным паролем и включите двухфакторную аутентификацию (см. [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa)).\n\n- Не передавайте пароль другим людям и не отправляйте его по email или в мессенджерах.\n- Не делайте скриншоты блока с паролем.\n- Храните пароль в менеджере паролей.\n- Скопировав пароль, обновите страницу, чтобы блок исчез, особенно если вы демонстрируете экран или его видят другие.\n- По возможности входите по SSH-ключу: см. [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh) и [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server). Когда вход по ключу работает без проблем, вход по паролю можно отключить.\n\n## Частые вопросы\n\n**Показанный пароль не подходит. Что проверить?**\nЕсли у сервера отметка «Только ключ», SSH не принимает пароли: входите по ключу. Если вы меняли пароль на сервере, воспользуйтесь «Сбросить пароль». Проверьте также, что скопировали пароль целиком, без пробелов в начале и в конце.\n\n**Можно ли посмотреть пароль, если сервер остановлен?**\nДа. Панель показывает сохранённые данные и не подключается к серверу. А вот «Сбросить пароль» работает только на запущенном сервере.\n\n**Почему я не вижу кнопку «Показать учётные данные»?**\nУ карточки отметка «Обслуживается» и сообщение «Этим сервером занимается наша команда. Чтобы запросить изменения, обратитесь в поддержку.» Чтобы получить доступ, напишите в поддержку. Если сервера вообще нет в списке, прочитайте статью [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n**Может ли сохранённый пароль измениться сам?**\nНет. Он меняется, только когда кто-то нажимает «Сбросить пароль» в панели или когда пароль сбрасывает AI-ассистент с разрешением «Просматривать пароли/доступы к серверам».\n",
    "en": "The “Reveal credentials” button shows the root username and password that the app.blackbox.md panel has saved for your server. The button is on the server card, on the “My Servers” page (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”). From blackbox.md you can go straight to the card through “Contul meu” (My account) → “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n\n**Available to:** the blackbox.md account holder who ordered the server, or an account that BLACKBOX has given management rights for the server. Cards marked “Managed” don't show the button.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to show the credentials\n\n1. Sign in to the panel (see [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)) and open “My Servers”.\n2. Find the server card by its name or by the “IP” field.\n3. Click “Reveal credentials”.\n4. The browser asks you to confirm: “Reveal stored credentials for SERVER_NAME? This access is logged.”, where SERVER_NAME is the name shown on the card. Click “OK”. If you cancel, nothing is shown and nothing is logged.\n5. A box appears on the card with “Username” (`root` for servers ordered on blackbox.md) and “Password”.\n\nThe box stays on the card until you reload the page or go to another page of the panel. It has no copy button: select the password with your mouse from the first character to the last and copy it (Ctrl+C, or Cmd+C on macOS). Double-clicking may select only part of the password if it contains `-`. The same box also shows the new password after you click “Reset password”.\n\nWith these credentials, you connect over SSH to the address in the “IP” field:\n\n```bash\nssh root@SERVER_IP\n```\n\nWhen the terminal asks for the password, paste it and press Enter; the characters don't appear on the screen. Instructions for each system: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Why the password shown may be out of date\n\n> **Important**\n> The panel shows the password it has saved; it doesn't read it from the server. If you changed the root password directly on the server, for example with the `passwd` command, the box still shows the old password, which no longer works.\n\nThe panel knows the password set when the server was created and any password generated later with “Reset password”. To have a password the panel knows again:\n\n1. On the same card, click “Reset password” and confirm.\n2. The panel sets a new password on the server and shows it in the same box. From that moment on, the old password no longer works.\n\nThe conditions and errors of a reset are described in [Resetting the root password](#acces.resetare-parola-root). When you want to change the root password, use “Reset password” instead of the `passwd` command: that way, the password in the panel stays correct.\n\n## “Key-only” servers\n\nThe badge next to the server name shows whether the password can be used for SSH:\n\n| Badge | What it means for the password shown |\n|---|---|\n| “Password + key” | You can connect over SSH with either the password or an installed SSH key. |\n| “Key-only” | The server has a root password and the panel shows it, but SSH password login is disabled. You can connect only with your SSH key. |\n\nOn a “Key-only” server, an attempt to connect with the password usually ends with the message `Permission denied (publickey)`. The password works over SSH only after you turn password login back on with the “Enable password login” button (see [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)). If you can connect with your key without problems, leave password login disabled: it is the safer option.\n\nThe panel has no web or VNC console for customers. If you no longer have your key and can't connect, read [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Every reveal is logged\n\nEach successful reveal records the account, the date and time, the IP address and the browser from which the credentials were requested. You can't view this log in the panel. If you suspect that someone else has seen your password, click “Reset password”, change your account password (see [Changing your account password](#cont.schimbare-parola)) and write to us (see [How to contact BLACKBOX support](#suport.contact)).\n\nAn AI assistant connected through MCP can also show the same credentials, but only if its token has the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission (`servers:credentials`). These reveals are logged too. Details: [Token permissions (scopes)](#ai.permisiuni).\n\n## Limit and error messages\n\nYou can show credentials at most 20 times per minute, for all the servers in your account combined. Failed attempts count too, including those rejected because of the limit. Errors appear in a red box on the card.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds” | You have exceeded 20 reveals in one minute. | Wait a minute without clicking the button, then try again. |\n| “No credentials stored for this server” | The panel has no saved credentials for this server. | Write to support. |\n| “Failed to decrypt credentials — encryption key may have changed” | The saved credentials can't be read. | Write to support. |\n| “Failed to reveal credentials.” or another technical message | The request failed. | Reload the page and try again. If the error repeats, write to support. |\n\n## Keep the password safe\n\n> **Security**\n> Anyone who gets into your account can see the root password of your servers. Protect your account with a strong password and turn on two-factor authentication (see [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa)).\n\n- Don't share the password, and don't send it by email or through messaging apps.\n- Don't take screenshots of the box with the password.\n- Keep the password in a password manager.\n- After you copy the password, reload the page so that the box disappears, especially if your screen is shared or visible to others.\n- Prefer SSH keys: see [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh) and [Adding and removing SSH keys on the server](#acces.chei-ssh-server). Once you can connect with your key without problems, you can disable password login.\n\n## Frequently asked questions\n\n**The password shown doesn't work. What should I check?**\nIf the server has the “Key-only” badge, SSH doesn't accept passwords: connect with your key. If you changed the password on the server, use “Reset password”. Also check that you copied the whole password, with no spaces at the beginning or end.\n\n**Can I show the password when the server is stopped?**\nYes. The panel shows the saved credentials and doesn't connect to the server. “Reset password”, however, works only when the server is running.\n\n**Why don't I see the “Reveal credentials” button?**\nThe card has the “Managed” badge and the message “This server is looked after by our team. To request a change, please contact support.” For access, write to support. If the server doesn't appear at all, read [The “My Servers” page: the server card](#servere.serverele-mele).\n\n**Can the saved password change by itself?**\nNo. It changes only when someone clicks “Reset password” in the panel, or when an AI assistant with the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission resets the password.\n"
   }
  },
  {
   "id": "acces.resetare-parola-root",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/resetare-parola-root/",
    "ru": "https://docs.blackbox.md/ru/acces/resetare-parola-root/",
    "en": "https://docs.blackbox.md/en/acces/resetare-parola-root/"
   },
   "title": {
    "ro": "Resetarea parolei root",
    "ru": "Сброс пароля root",
    "en": "Resetting the root password"
   },
   "summary": {
    "ro": "Cum generați o parolă root nouă din panou, ce condiții trebuie îndeplinite și ce înseamnă erorile.",
    "ru": "Как сгенерировать новый пароль root из панели, какие нужны условия и что означают ошибки.",
    "en": "How to generate a new root password from the panel, which conditions must be met, and what the errors mean."
   },
   "markdown": {
    "ro": "Butonul „Resetează parola” setează o parolă nouă pentru utilizatorul `root` al serverului, fără să vă ceară parola veche. Îl găsiți pe cardul serverului, pe pagina „Serverele mele” din panoul app.blackbox.md (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”).\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul sau un cont căruia BLACKBOX i-a acordat drept de administrare pentru server. Pe cardurile cu insigna „Administrat” butonul nu apare.\n\n> **Notă**\n> Este parola `root` a serverului, nu parola contului blackbox.md. Parola contului se schimbă separat: [Schimbarea parolei contului](#cont.schimbare-parola).\n\n## Cum resetați parola root\n\n1. Intrați în panou (vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)) și deschideți „Serverele mele” din meniul din stânga.\n2. Pe cardul serverului, apăsați „Resetează parola”. Când țineți mouse-ul pe buton, apare indicația „Generează o parolă root nouă prin SSH”.\n3. Browserul cere confirmarea „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.”, unde NUME_SERVER este numele de pe card. Apăsați „OK”. Dacă renunțați, nu se schimbă nimic.\n4. Așteptați rezultatul: poate dura până la 30 de secunde. În acest timp butonul este inactiv.\n5. Pe card, deasupra butoanelor, apare caseta cu „Utilizator” (`root`) și „Parolă” (parola nouă). Un mesaj separat de reușită nu apare.\n6. Copiați parola în managerul de parole. Caseta nu are buton de copiere și dispare la reîncărcarea paginii.\n\nDin acest moment parola veche nu mai funcționează. Parola nouă rămâne salvată în panou: o vedeți oricând cu „Afișează datele de acces” ([Afișarea datelor de acces root](#acces.afisare-date-acces)).\n\nParola are 20 de caractere aleatorii: litere mari și mici, cifre, `-` și `_`. Selectați-o cu mouse-ul de la primul la ultimul caracter: dublu-clic poate selecta doar o parte din ea dacă parola conține `-`.\n\n## Cum funcționează și ce condiții trebuie îndeplinite\n\nPanoul se conectează la server prin SSH ca `root`, cu cheia de administrare BLACKBOX („Cheie de administrare (blackbox.md)”), și setează parola nouă. Resetarea reușește doar dacă:\n\n- serverul este pornit și răspunde la SSH pe portul 22;\n- „Cheie de administrare (blackbox.md)” se află în continuare în `/root/.ssh/authorized_keys` (vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox));\n- configurația SSH permite autentificarea `root` cu cheie: `PermitRootLogin prohibit-password` este potrivit, iar cu `PermitRootLogin no` panoul nu se poate conecta;\n- firewall-ul de pe server (ufw sau firewalld) nu limitează portul 22 doar la anumite adrese IP.\n\nResetarea schimbă numai parola. Cheile SSH instalate și setarea de autentificare cu parolă rămân neschimbate.\n\n## Serverele „Doar cheie”\n\n> **Atenție**\n> Pe un server cu insigna „Doar cheie”, resetarea schimbă parola root, dar conectarea prin SSH cere în continuare o cheie: parola nouă nu este acceptată la SSH. Panoul nu vă avertizează despre acest lucru.\n\nParola devine utilizabilă la SSH numai după ce apăsați „Activează login cu parolă” pe același card: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). Dacă ați pierdut cheia privată, urmați pașii din [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Limita: 3 resetări în 5 minute\n\nDin panou puteți face cel mult 3 resetări în 5 minute pentru tot contul, la toate serverele la un loc. Se numără fiecare încercare confirmată, inclusiv cele eșuate și cele respinse din cauza limitei. La depășire apare mesajul în limba engleză „Rate limit exceeded — password reset is limited to 3 requests per 5 minutes”. Așteptați 5 minute fără să mai apăsați butonul, apoi reîncercați.\n\n## Erori\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `reset_failed` | Panoul nu s-a putut conecta la server sau cheia de administrare a fost refuzată. Nu s-a schimbat nimic: parola veche funcționează în continuare. | Verificați serverul cu pașii de mai jos și reîncercați. |\n| `reset_persist_failed` | Parola de pe server a fost schimbată, dar panoul nu a putut-o salva. Parola veche nu mai funcționează. | Scrieți imediat suportului. |\n| `reset_partial_failure_check_redis` | La fel: parola de pe server s-a schimbat, iar panoul nu a salvat-o. | Scrieți imediat suportului. |\n| „Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” | Limita de 3 resetări în 5 minute a fost depășită. | Așteptați 5 minute fără alte încercări. |\n| „Not found” | Serverul nu mai este asociat contului dvs. (de exemplu, a fost șters) sau nu mai aveți drept de administrare pe el. | Reîncărcați pagina. Dacă serverul apare în continuare, scrieți-ne. |\n| „Nu s-a putut reseta parola.” sau alt text tehnic | Altă eroare, de exemplu conexiunea cu panoul s-a întrerupt. | Reîncărcați pagina, apăsați „Afișează datele de acces” și încercați să vă conectați cu parola afișată. Dacă nu merge, reîncercați resetarea. |\n\n> **Important**\n> La `reset_persist_failed` sau `reset_partial_failure_check_redis`, scrieți imediat la support@blackbox.md sau deschideți un tichet din „Contul meu” → „Ajutor și suport”. Indicați numărul comenzii (`BBX-…`), adresa IP și codul erorii, fără parole. Până la răspuns vă puteți conecta cu o cheie SSH instalată.\n\n### Dacă apare `reset_failed`\n\n1. Verificați dacă serverul răspunde la SSH. Rulați pe calculatorul dvs.:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\n   Dacă vi se cere parola, intrați cu cheia sau primiți „Permission denied”, serverul răspunde. Dacă nu primiți niciun răspuns, serverul poate fi oprit: apăsați „Pornește” pe card, așteptați puțin și reîncercați resetarea ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)).\n2. Dacă vă puteți conecta la server (ca `root` sau cu alt utilizator, apoi `sudo -i`), verificați valoarea efectivă `PermitRootLogin`:\n\n   ```bash\n   sshd -T | grep -i permitrootlogin\n   ```\n\n   Sunt potrivite valorile `prohibit-password`, `without-password` (denumirea veche a aceleiași setări) și `yes`. Dacă vedeți `no`, găsiți fișierul în care este scrisă setarea (liniile care încep cu `#` nu contează):\n\n   ```bash\n   grep -ri permitrootlogin /etc/ssh/sshd_config /etc/ssh/sshd_config.d/\n   ```\n\n   Schimbați acolo `no` în `prohibit-password`. Păstrați deschisă sesiunea curentă, verificați configurația (dacă `sshd -t` nu afișează nimic, este corectă) și abia apoi reîncărcați SSH:\n\n   ```bash\n   sshd -t\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n3. Dacă ați configurat firewall-ul pe server, verificați regulile pentru portul 22. Pe Ubuntu și Debian:\n\n   ```bash\n   ufw status\n   ```\n\n   Pe AlmaLinux și CentOS Stream:\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n   Dacă SSH este permis doar de la anumite adrese IP, panoul nu se poate conecta: deschideți din nou portul 22 pentru orice adresă. Detalii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n4. Pe card, apăsați „Adaugă cheie SSH” și uitați-vă în lista „Chei instalate”. În ea trebuie să apară „Cheie de administrare (blackbox.md)”. Dacă lista nu se încarcă sau cheia lipsește, scrieți suportului ca s-o restaurăm.\n5. Dacă serverul răspunde, dar eroarea se repetă, scrieți suportului cu numărul comenzii și adresa IP.\n\n## După resetare\n\n- Actualizați parola peste tot unde ați salvat-o: în managerul de parole, în profilurile clienților SSH și SFTP (de exemplu PuTTY, WinSCP, FileZilla), în scripturile și serviciile care se conectează ca `root`.\n- Parola din emailul „Serverul dvs. este gata — BBX-…” nu mai este valabilă.\n- Sesiunile SSH deja deschise rămân active; parola nouă se cere la următoarea conectare.\n\n## Întrebări frecvente\n\n**Pot alege eu parola nouă?**\nNu, panoul o generează automat. Dacă o schimbați apoi pe server cu `passwd`, panoul nu află, iar „Afișează datele de acces” va arăta în continuare parola generată.\n\n**Am schimbat parola cu `passwd` și am uitat-o. Ce fac?**\nApăsați „Resetează parola”: panoul nu are nevoie de parola curentă. După resetare, parola din panou și cea de pe server coincid din nou.\n\n**Am șters cheia de administrare. Mai pot reseta parola?**\nDe regulă, nu. Fără cheie, panoul încearcă parola root pe care o are salvată, iar aceasta merge numai dacă autentificarea SSH cu parolă este activă și parola nu a fost schimbată pe server. Altfel apare `reset_failed`. Scrieți suportului ca să restaurăm cheia: fără ea nu funcționează nici gestionarea cheilor din panou.\n\n**De ce nu văd butonul „Resetează parola”?**\nCardul are insigna „Administrat”: serverul este administrat de echipa BLACKBOX, iar dvs. îl puteți doar vizualiza. Pentru o parolă nouă, scrieți suportului.\n\n**Pot reseta parola printr-un asistent AI?**\nDa. Token-ul API trebuie să aibă permisiunea „Vizualizează parolele/accesul serverelor” (`servers:credentials`); asistentul folosește unealta `reset_server_password`, cu aceleași condiții ca butonul din panou. Vedeți [Lista uneltelor MCP](#ai.unelte).\n",
    "ru": "Кнопка «Сбросить пароль» задаёт новый пароль пользователю `root` на сервере, причём старый пароль знать не нужно. Она находится в карточке сервера на странице «Мои серверы» в панели app.blackbox.md (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»).\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером. В карточках с пометкой «Обслуживается» этой кнопки нет.\n\n> **Примечание**\n> Речь о пароле `root` на сервере, а не о пароле аккаунта blackbox.md. Пароль аккаунта меняется отдельно: [Смена пароля аккаунта](#cont.schimbare-parola).\n\n## Как сбросить пароль root\n\n1. Войдите в панель (см. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)) и откройте «Мои серверы» в левом меню.\n2. В карточке сервера нажмите «Сбросить пароль». Если навести на кнопку указатель мыши, появится подсказка «Сгенерировать новый пароль root по SSH».\n3. Браузер попросит подтвердить: «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.», где ИМЯ_СЕРВЕРА — название из карточки. Нажмите «OK». Если отказаться, ничего не изменится.\n4. Дождитесь результата: это может занять до 30 секунд. Всё это время кнопка неактивна.\n5. В карточке над кнопками появится блок с полями «Пользователь» (`root`) и «Пароль» (новый пароль). Отдельного сообщения об успехе не будет.\n6. Скопируйте пароль в менеджер паролей. Кнопки копирования в блоке нет, а после перезагрузки страницы блок исчезает.\n\nС этого момента старый пароль не работает. Новый пароль сохраняется в панели: его можно в любой момент посмотреть кнопкой «Показать учётные данные» ([Просмотр учётных данных root](#acces.afisare-date-acces)).\n\nПароль состоит из 20 случайных символов: заглавные и строчные латинские буквы, цифры, `-` и `_`. Выделяйте его мышью от первого до последнего символа: двойной щелчок может выделить только часть пароля, если в нём есть `-`.\n\n## Как это работает и какие нужны условия\n\nПанель подключается к серверу по SSH как `root` с ключом управления BLACKBOX («Ключ управления (blackbox.md)») и задаёт новый пароль. Сброс сработает, только если:\n\n- сервер включён и отвечает по SSH на порту 22;\n- «Ключ управления (blackbox.md)» по-прежнему есть в `/root/.ssh/authorized_keys` (см. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox));\n- настройки SSH разрешают вход `root` по ключу: `PermitRootLogin prohibit-password` подходит, а с `PermitRootLogin no` панель подключиться не сможет;\n- файрвол на сервере (ufw или firewalld) не ограничивает доступ к порту 22 отдельными IP-адресами.\n\nМеняется только пароль. Установленные SSH-ключи и настройка входа по паролю остаются прежними.\n\n## Серверы «Только ключ»\n\n> **Внимание**\n> На сервере с пометкой «Только ключ» сброс меняет пароль root, но войти по SSH по-прежнему можно только по ключу: новый пароль для SSH не подойдёт. Панель об этом не предупреждает.\n\nПароль начнёт работать для SSH только после того, как вы нажмёте в той же карточке «Включить вход по паролю»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). Если вы потеряли закрытый ключ, действуйте по инструкции [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Лимит: 3 сброса за 5 минут\n\nИз панели можно выполнить не больше 3 сбросов за 5 минут на весь аккаунт, по всем серверам вместе. Учитывается каждая подтверждённая попытка, в том числе неудачные и отклонённые из-за лимита. При превышении появится сообщение на английском «Rate limit exceeded — password reset is limited to 3 requests per 5 minutes». Подождите 5 минут, не нажимая кнопку, и повторите.\n\n## Ошибки\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| `reset_failed` | Панель не смогла подключиться к серверу, или сервер отклонил ключ управления. Ничего не изменилось: старый пароль по-прежнему работает. | Проверьте сервер по шагам ниже и повторите попытку. |\n| `reset_persist_failed` | Пароль на сервере изменён, но панель не смогла его сохранить. Старый пароль больше не работает. | Сразу напишите в поддержку. |\n| `reset_partial_failure_check_redis` | То же самое: пароль на сервере изменён, а панель его не сохранила. | Сразу напишите в поддержку. |\n| «Rate limit exceeded — password reset is limited to 3 requests per 5 minutes» | Превышен лимит в 3 сброса за 5 минут. | Подождите 5 минут, не повторяя попыток. |\n| «Not found» | Сервер больше не привязан к вашему аккаунту (например, удалён) или у вас больше нет прав на управление им. | Обновите страницу. Если сервер по-прежнему в списке, напишите нам. |\n| «Не удалось сбросить пароль.» или другой технический текст | Другая ошибка, например прервалось соединение с панелью. | Обновите страницу, нажмите «Показать учётные данные» и попробуйте войти с показанным паролем. Если не получится, повторите сброс. |\n\n> **Важно**\n> При ошибке `reset_persist_failed` или `reset_partial_failure_check_redis` сразу напишите на support@blackbox.md или создайте тикет в разделе «Личный кабинет» → «Помощь и поддержка». Укажите номер заказа (`BBX-…`), IP-адрес и код ошибки, но не пароли. Пока ждёте ответа, подключайтесь по установленному SSH-ключу.\n\n### Если появилась ошибка `reset_failed`\n\n1. Проверьте, отвечает ли сервер по SSH. Выполните на своём компьютере:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\n   Если сервер запрашивает пароль, пускает по ключу или отвечает «Permission denied», значит, он доступен. Если ответа нет, сервер может быть выключен: нажмите в карточке «Запустить», немного подождите и повторите сброс ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)).\n2. Если вы можете войти на сервер (как `root` или под другим пользователем, а затем `sudo -i`), проверьте действующее значение `PermitRootLogin`:\n\n   ```bash\n   sshd -T | grep -i permitrootlogin\n   ```\n\n   Подходят значения `prohibit-password`, `without-password` (старое название той же настройки) и `yes`. Если там `no`, найдите файл, в котором задана эта настройка (строки, начинающиеся с `#`, не действуют):\n\n   ```bash\n   grep -ri permitrootlogin /etc/ssh/sshd_config /etc/ssh/sshd_config.d/\n   ```\n\n   Замените в нём `no` на `prohibit-password`. Не закрывайте текущую сессию, проверьте конфигурацию (если `sshd -t` ничего не выводит, ошибок нет) и только после этого примените изменения:\n\n   ```bash\n   sshd -t\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n3. Если вы настраивали файрвол на сервере, проверьте правила для порта 22. В Ubuntu и Debian:\n\n   ```bash\n   ufw status\n   ```\n\n   В AlmaLinux и CentOS Stream:\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n   Если SSH разрешён только с отдельных IP-адресов, панель подключиться не сможет: снова откройте порт 22 для любых адресов. Подробнее: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n4. В карточке нажмите «Добавить SSH-ключ» и найдите список «Установленные ключи». В нём должен быть «Ключ управления (blackbox.md)». Если список не загружается или этого ключа нет, напишите в поддержку, и мы его восстановим.\n5. Если сервер отвечает, а ошибка повторяется, напишите в поддержку, указав номер заказа и IP-адрес.\n\n## После сброса\n\n- Обновите пароль везде, где он сохранён: в менеджере паролей, в профилях SSH- и SFTP-клиентов (например, PuTTY, WinSCP, FileZilla), в скриптах и сервисах, которые подключаются как `root`.\n- Пароль из письма «Serverul dvs. este gata — BBX-…» больше не действует.\n- Уже открытые SSH-сессии не закрываются; новый пароль потребуется при следующем подключении.\n\n## Частые вопросы\n\n**Можно ли задать пароль самому?**\nНет, панель генерирует его автоматически. Если потом сменить пароль на сервере командой `passwd`, панель об этом не узнает и «Показать учётные данные» будет по-прежнему показывать сгенерированный пароль.\n\n**Я сменил пароль командой `passwd` и забыл его. Что делать?**\nНажмите «Сбросить пароль»: панели не нужен текущий пароль. После сброса пароли в панели и на сервере снова совпадут.\n\n**Я удалил ключ управления. Сброс ещё сработает?**\nКак правило, нет. Без ключа панель пробует сохранённый у неё пароль root, а он подойдёт, лишь если вход по паролю по SSH включён и пароль на сервере не меняли. Иначе появится `reset_failed`. Напишите в поддержку, чтобы мы восстановили ключ: без него не работает и управление ключами из панели.\n\n**Почему у меня нет кнопки «Сбросить пароль»?**\nВ карточке стоит пометка «Обслуживается»: сервером занимается команда BLACKBOX, а вам он доступен только для просмотра. Чтобы получить новый пароль, напишите в поддержку.\n\n**Можно ли сбросить пароль через AI-ассистента?**\nДа. У API-токена должно быть разрешение «Просматривать пароли/доступы к серверам» (`servers:credentials`); ассистент использует инструмент `reset_server_password` с теми же условиями, что и кнопка в панели. См. [Список инструментов MCP](#ai.unelte).\n",
    "en": "The “Reset password” button sets a new password for the server's `root` user without asking for the old one. You'll find it on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”).\n\n**Available to:** the owner of the blackbox.md account that ordered the server, or an account that BLACKBOX has given management rights to the server. The button does not appear on cards with the “Managed” badge.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> This is the server's `root` password, not your blackbox.md account password. You change your account password separately: [Changing your account password](#cont.schimbare-parola).\n\n## How to reset the root password\n\n1. Sign in to the panel (see [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)) and open “My Servers” from the left menu.\n2. On the server card, click “Reset password”. When you hover over the button, the tooltip “Generate a new root password over SSH” appears.\n3. Your browser asks you to confirm: “Reset the password for SERVER_NAME? The current password stops working immediately.”, where SERVER_NAME is the name shown on the card. Click “OK”. If you cancel, nothing changes.\n4. Wait for the result: it can take up to 30 seconds. During this time the button is inactive.\n5. A box with “Username” (`root`) and “Password” (the new password) appears on the card, above the buttons. There is no separate success message.\n6. Copy the password into your password manager. The box has no copy button and disappears when you reload the page.\n\nFrom this moment on, the old password no longer works. The new password stays saved in the panel: you can view it at any time with “Reveal credentials” ([Showing root credentials](#acces.afisare-date-acces)).\n\nThe password has 20 random characters: uppercase and lowercase letters, digits, `-` and `_`. Select it with the mouse from the first character to the last: a double-click may select only part of it if the password contains `-`.\n\n## How it works and what conditions must be met\n\nThe panel connects to the server over SSH as `root` with the BLACKBOX management key (“Management key (blackbox.md)”) and sets the new password. The reset succeeds only if:\n\n- the server is running and responds to SSH on port 22;\n- “Management key (blackbox.md)” is still in `/root/.ssh/authorized_keys` (see [BLACKBOX keys on your server](#acces.cheile-blackbox));\n- the SSH configuration allows `root` to log in with a key: `PermitRootLogin prohibit-password` is fine, while with `PermitRootLogin no` the panel cannot connect;\n- the firewall on the server (ufw or firewalld) does not restrict port 22 to specific IP addresses.\n\nThe reset changes only the password. Installed SSH keys and the password login setting stay as they are.\n\n## “Key-only” servers\n\n> **Warning**\n> On a server with the “Key-only” badge, the reset changes the root password, but SSH logins still require a key: the new password is not accepted over SSH. The panel does not warn you about this.\n\nThe password becomes usable over SSH only after you click “Enable password login” on the same card: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). If you have lost your private key, follow the steps in [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Limit: 3 resets in 5 minutes\n\nFrom the panel you can make at most 3 resets in 5 minutes for the whole account, across all servers combined. Every confirmed attempt counts, including failed ones and those rejected because of the limit. When you go over the limit, the message “Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” appears. Wait 5 minutes without clicking the button again, then try again.\n\n## Errors\n\n| Message | What it means | What to do |\n|---|---|---|\n| `reset_failed` | The panel could not connect to the server, or the management key was refused. Nothing has changed: the old password still works. | Check the server with the steps below and try again. |\n| `reset_persist_failed` | The password on the server was changed, but the panel could not save it. The old password no longer works. | Write to support immediately. |\n| `reset_partial_failure_check_redis` | Same as above: the password on the server changed, but the panel did not save it. | Write to support immediately. |\n| “Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” | The limit of 3 resets in 5 minutes was exceeded. | Wait 5 minutes without trying again. |\n| “Not found” | The server is no longer linked to your account (for example, it was deleted) or you no longer have management rights to it. | Reload the page. If the server still appears, write to us. |\n| “Failed to reset password.” or other technical text | Another error, for example the connection to the panel dropped. | Reload the page, click “Reveal credentials” and try to connect with the password shown. If that doesn't work, try the reset again. |\n\n> **Important**\n> If you get `reset_persist_failed` or `reset_partial_failure_check_redis`, write immediately to support@blackbox.md or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). Include the order number (`BBX-…`), the IP address and the error code, but no passwords. Until we reply, you can connect with an installed SSH key.\n\n### If you get `reset_failed`\n\n1. Check whether the server responds to SSH. Run this on your computer:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\n   If it asks for a password, lets you in with your key, or replies “Permission denied”, the server is responding. If you get no response at all, the server may be stopped: click “Start” on the card, wait a little and try the reset again ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)).\n2. If you can log in to the server (as `root`, or as another user and then `sudo -i`), check the effective value of `PermitRootLogin`:\n\n   ```bash\n   sshd -T | grep -i permitrootlogin\n   ```\n\n   The values `prohibit-password`, `without-password` (the old name of the same setting) and `yes` are fine. If you see `no`, find the file where the setting is written (lines that start with `#` don't count):\n\n   ```bash\n   grep -ri permitrootlogin /etc/ssh/sshd_config /etc/ssh/sshd_config.d/\n   ```\n\n   Change `no` to `prohibit-password` there. Keep your current session open, check the configuration (if `sshd -t` prints nothing, it is correct), and only then reload SSH:\n\n   ```bash\n   sshd -t\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n3. If you have set up a firewall on the server, check the rules for port 22. On Ubuntu and Debian:\n\n   ```bash\n   ufw status\n   ```\n\n   On AlmaLinux and CentOS Stream:\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n   If SSH is allowed only from specific IP addresses, the panel cannot connect: open port 22 to any address again. Details: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n4. On the card, click “Add SSH key” and look at the “Installed keys” list. It must include “Management key (blackbox.md)”. If the list does not load or the key is missing, write to support so we can restore it.\n5. If the server responds but the error keeps coming back, write to support with the order number and the IP address.\n\n## After the reset\n\n- Update the password everywhere you have saved it: in your password manager, in your SSH and SFTP client profiles (for example PuTTY, WinSCP, FileZilla), and in scripts and services that connect as `root`.\n- The password from the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email is no longer valid.\n- SSH sessions that are already open stay active; the new password is required the next time you connect.\n\n## Frequently asked questions\n\n**Can I choose the new password myself?**\nNo, the panel generates it automatically. If you then change it on the server with `passwd`, the panel won't know, and “Reveal credentials” will keep showing the generated password.\n\n**I changed the password with `passwd` and forgot it. What do I do?**\nClick “Reset password”: the panel doesn't need the current password. After the reset, the password in the panel and the one on the server match again.\n\n**I deleted the management key. Can I still reset the password?**\nUsually not. Without the key, the panel tries the root password it has saved, and that works only if SSH password login is enabled and the password has not been changed on the server. Otherwise you get `reset_failed`. Write to support so we can restore the key: without it, key management from the panel doesn't work either.\n\n**Why don't I see the “Reset password” button?**\nThe card has the “Managed” badge: the server is managed by the BLACKBOX team, and you can only view it. For a new password, write to support.\n\n**Can I reset the password through an AI assistant?**\nYes. The API token needs the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission (`servers:credentials`); the assistant uses the `reset_server_password` tool, with the same conditions as the button in the panel. See [List of MCP tools](#ai.unelte).\n"
   }
  },
  {
   "id": "acces.chei-ssh-cont",
   "section": "acces",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/chei-ssh-cont/",
    "ru": "https://docs.blackbox.md/ru/acces/chei-ssh-cont/",
    "en": "https://docs.blackbox.md/en/acces/chei-ssh-cont/"
   },
   "title": {
    "ro": "Cheile SSH din cont (blackbox.md)",
    "ru": "SSH-ключи в аккаунте (blackbox.md)",
    "en": "SSH keys in your account (blackbox.md)"
   },
   "summary": {
    "ro": "Cum salvați cheile publice SSH în cont pentru comenzi, servere și asistentul AI, ce limite se aplică și ce înseamnă erorile.",
    "ru": "Как сохранить публичные SSH-ключи в аккаунте для заказов, серверов и AI-ассистента, какие действуют лимиты и что значат ошибки.",
    "en": "How to save public SSH keys in your account for orders, servers and the AI assistant, what limits apply, and what the errors mean."
   },
   "markdown": {
    "ro": "Pagina „Chei SSH” (`blackbox.md/account/ssh-keys`, „Contul meu” → „Chei SSH”) păstrează cheile publice SSH pe care le alegeți apoi la comanda unui server nou, le instalați pe serverele existente sau le folosiți prin asistentul AI. Pe pagină scrie: „Înregistrați chei publice SSH pe care le veți putea folosi la comanda serverelor noi și conecta prin asistentul AI (MCP). Cheia privată nu este niciodată transmisă sau stocată aici.”\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md, pentru cheile propriului cont.\n\n## Pregătiți cheia publică\n\nO cheie SSH are două părți. Partea **privată** rămâne doar pe calculatorul dvs. Partea **publică** (fișierul cu extensia `.pub`) este cea pe care o salvați în cont. Dacă nu aveți încă o pereche de chei, urmați [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\nAfișați cheia publică pe Linux sau macOS:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nDacă fișierul dvs. are alt nume (de exemplu `id_rsa.pub`), folosiți acel nume. Copiați întreaga linie, de forma `ssh-ed25519 AAAAC3Nza… comentariu`.\n\n> **Atenție**\n> Nu lipiți niciodată cheia privată (fișierul fără `.pub`, fișierul `.ppk` din PuTTY sau un text care începe cu `-----BEGIN`). Pagina o refuză, dar cheia privată nu trebuie să părăsească în niciun caz calculatorul dvs.\n\n## Cum adăugați o cheie\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon, cercul cu inițialele dvs.).\n2. În meniul din stânga alegeți „Chei SSH”. Pe telefon sau tabletă, meniul se deschide cu butonul „Meniu cont”.\n3. În cardul „Adaugă o cheie SSH”, completați „Nume cheie” cu un nume după care recunoașteți cheia, de exemplu „Laptop de serviciu”. Câmpul acceptă cel mult 80 de caractere.\n4. În „Cheie publică SSH” lipiți linia copiată. Sub câmp scrie: „Lipiți conținutul fișierului .pub (ex. ~/.ssh/id_ed25519.pub). NU lipiți niciodată cheia privată.”\n5. Apăsați „Adaugă cheia”. Cât timp se salvează, butonul arată „Se adaugă…”.\n6. Câmpurile se golesc, iar cheia apare prima în tabel. Nu se afișează alt mesaj de confirmare. Dacă sub câmpuri apare un text roșu, căutați-l în tabelul de erori de mai jos.\n\n## Reguli și limite\n\n| Regulă | Valoare |\n|---|---|\n| Tipuri acceptate | `ssh-ed25519`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` (ultimele două sunt chei hardware FIDO) |\n| Chei RSA | cel puțin 2048 de biți |\n| Format | o singură linie, cel mult 16 KB |\n| Nume | obligatoriu, cel mult 80 de caractere |\n| Chei pe cont | cel mult 20 |\n| Duplicate | aceeași cheie se salvează o singură dată, chiar și cu alt nume sau alt comentariu |\n| Adăugări | cel mult 10 încercări pe oră; se numără și încercările respinse |\n| Ștergeri | cel mult 20 de încercări pe oră |\n\n## Lista cheilor salvate\n\nSub formular, tabelul arată cheile, de la cea mai nouă:\n\n| Coloană | Ce conține |\n|---|---|\n| „Nume” | numele pe care l-ați dat cheii |\n| „Tip” | tipul cheii, de exemplu `ssh-ed25519` |\n| „Amprentă” | amprenta SHA-256 a cheii, în formatul `SHA256:…` |\n| „Adăugată” | data și ora salvării |\n| — | butonul „Șterge” |\n\nCând nu aveți nicio cheie, pagina arată „Nu aveți încă chei SSH salvate.”\n\nCa să verificați că amprenta corespunde cheii de pe calculatorul dvs., rulați:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nValoarea `SHA256:…` din rezultat trebuie să fie aceeași cu cea din coloana „Amprentă”.\n\n## Unde folosiți cheile salvate\n\nSalvarea în cont nu instalează cheia pe niciun server. O cheie salvată se folosește în trei locuri:\n\n| Unde | Cum |\n|---|---|\n| La comanda unui server nou | În pasul „Cheie SSH pentru server”, la „Chei salvate”, bifați una sau mai multe chei (în total cel mult 10 chei pe comandă, socotind și o cheie lipită). Detalii în [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda). |\n| Pe un server existent | În panoul app.blackbox.md → „Serverele mele”, pe cardul serverului: „Adaugă cheie SSH” → „Folosește o cheie salvată”, alegeți cheia din lista „Selectați o cheie…”, apoi „Adaugă cheia”. Rezultatul este „Cheie adăugată.” Pașii sunt în [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server). |\n| Prin asistentul AI (MCP) | Cu un token API care are permisiunea „Citește lista cheilor mele SSH”, asistentul vede lista. Cu „Adaugă și șterge cheile mele SSH”, asistentul poate adăuga și șterge chei din cont. Instalarea unei chei pe server cere permisiunea „Vizualizează parolele/accesul serverelor”. Vedeți [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai). |\n\nLinkul „Cum funcționează conectarea AI (MCP) — ghid complet →” de pe pagină deschide prezentarea integrării AI (`blackbox.md/info/mcp`).\n\n## Cum ștergeți o cheie din cont\n\n1. În tabel, apăsați „Șterge” pe rândul cheii.\n2. Se deschide fereastra „Ștergeți cheia SSH?” cu textul „Ștergeți această cheie SSH? Dacă este deja instalată pe un server, accesul la acel server NU este afectat — cheia este ștearsă doar din contul dvs. blackbox.md.”\n3. Apăsați „Șterge” ca să confirmați sau „Anulează” ca să renunțați.\n4. Butonul arată „Se șterge…”, apoi rândul dispare din tabel. Dacă rândul rămâne, ștergerea nu a reușit (de exemplu, ați depășit 20 de încercări de ștergere pe oră); nu apare niciun mesaj de eroare. Încercați din nou mai târziu.\n\n> **Important**\n> Ștergerea din cont NU scoate cheia de pe servere: cine are cheia privată se poate conecta în continuare la serverele pe care ea este instalată. Ca să retrageți accesul, ștergeți cheia de pe fiecare server: în panou, „Serverele mele” → „Adaugă cheie SSH” → lista „Chei instalate” → „Șterge”. În această listă, cheia apare cu comentariul ei și cu începutul amprentei, nu cu numele din cont.\n\n## Erori și mesaje\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Aceasta pare a fi o cheie privată. Lipiți cheia publică (de regulă fișierul cu extensia .pub).” | Textul conține o cheie privată. | Lipiți conținutul fișierului `.pub`. |\n| „Tip de cheie neacceptat.” | Tipul cheii nu este în listă (de exemplu `ssh-dss`). | Generați o cheie `ssh-ed25519`. |\n| „Cheia RSA este prea slabă — minim 2048 biți.” | Cheie RSA sub 2048 de biți. | Generați o cheie nouă, de preferință `ssh-ed25519`. |\n| „Cheia publică nu a putut fi recunoscută. Verificați că ați lipit exact o singură linie.” | Mai multe rânduri, o linie incompletă sau deteriorată, ori text peste 16 KB. | Copiați din nou întreaga linie din fișierul `.pub`. |\n| „Această cheie este deja adăugată în contul dvs.” | Aceeași cheie este deja salvată, eventual sub alt nume. | Folosiți cheia existentă din tabel. |\n| „Ați atins limita de chei salvate.” | Aveți deja 20 de chei. | Ștergeți o cheie pe care nu o mai folosiți. |\n| „Introduceți un nume pentru cheie.” / „Lipiți cheia publică.” | Un câmp este gol. | Completați ambele câmpuri. |\n| „Nu am putut adăuga cheia.” | Altă eroare, inclusiv depășirea limitei de 10 încercări de adăugare pe oră. | Așteptați o oră fără să mai încercați: fiecare încercare în acest timp prelungește blocarea. Dacă eroarea se repetă, scrieți-ne. |\n| „Eroare la încărcare.” sau alt text de eroare (uneori în engleză) în locul tabelului | Lista nu s-a putut încărca. | Reîncărcați pagina sau autentificați-vă din nou. |\n| „Gestionarea cheilor SSH nu este disponibilă momentan.” | Funcția este temporar indisponibilă; pagina nu arată formularul. | Reveniți mai târziu. Dacă mesajul persistă, contactați suportul (vedeți [Cum contactați suportul BLACKBOX](#suport.contact)). |\n\n## Întrebări frecvente\n\n**Cheia salvată ajunge automat pe serverele mele?**\nNu. O alegeți la comanda unui server nou sau o instalați pe un server existent cu „Adaugă cheie SSH” din panou.\n\n**Pot redenumi o cheie?**\nNu există buton de redenumire. Ștergeți cheia din cont și adăugați-o din nou cu alt nume. Cheile deja instalate pe servere nu sunt afectate.\n\n**Am pierdut laptopul cu cheia privată. Ce fac?**\nGenerați o cheie nouă pe alt calculator și instalați-o pe servere din panou. Apoi ștergeți cheia veche din „Chei instalate” pe fiecare server și, la final, din „Chei SSH”. Dacă nu mai aveți acces la un server, urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n**Am generat cheia în PuTTYgen. Ce lipesc?**\nCopiați textul din câmpul „Public key for pasting into OpenSSH authorized_keys file” din PuTTYgen: o singură linie care începe cu `ssh-ed25519` sau `ssh-rsa`. Fișierul salvat cu „Save public key” începe cu `---- BEGIN SSH2 PUBLIC KEY ----`, are mai multe rânduri și este refuzat cu mesajul „Cheia publică nu a putut fi recunoscută…”.\n\n**De ce primesc „Această cheie este deja adăugată în contul dvs.”, deși am pus alt nume?**\nCheile se compară după amprentă. Numele și comentariul nu contează, așa că aceeași cheie nu se poate salva de două ori.\n",
    "ru": "На странице «SSH-ключи» (`blackbox.md/ru/account/ssh-keys`, «Мой аккаунт» → «SSH-ключи») хранятся публичные SSH-ключи, которые вы затем выбираете при заказе нового сервера, устанавливаете на уже работающие серверы или используете через AI-ассистента. На странице написано: «Зарегистрируйте публичные SSH-ключи, которые сможете использовать при заказе новых серверов и подключать через AI-ассистента (MCP). Приватный ключ никогда не передаётся и не хранится здесь.»\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md, — для ключей своего аккаунта.\n\n## Подготовьте публичный ключ\n\nSSH-ключ состоит из двух частей. **Приватная** часть остаётся только на вашем компьютере. **Публичная** часть (файл с расширением `.pub`) — это то, что вы сохраняете в аккаунте. Если пары ключей у вас ещё нет, воспользуйтесь статьёй [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\nЧтобы вывести публичный ключ в Linux или macOS, выполните:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nЕсли ваш файл называется иначе (например, `id_rsa.pub`), укажите его имя. Скопируйте строку целиком — она выглядит так: `ssh-ed25519 AAAAC3Nza… комментарий`.\n\n> **Внимание**\n> Никогда не вставляйте приватный ключ (файл без `.pub`, файл `.ppk` из PuTTY или текст, который начинается с `-----BEGIN`). Страница его не примет, но приватный ключ в любом случае не должен покидать ваш компьютер.\n\n## Как добавить ключ\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхней панели (на телефоне — кружок с вашими инициалами).\n2. В меню слева выберите «SSH-ключи». На телефоне или планшете меню открывается кнопкой «Меню аккаунта».\n3. В карточке «Добавить SSH-ключ» заполните поле «Название ключа» — по нему вы будете узнавать ключ, например «Рабочий ноутбук». Поле принимает не более 80 символов.\n4. В поле «Публичный SSH-ключ» вставьте скопированную строку. Под полем написано: «Вставьте содержимое файла .pub (например, ~/.ssh/id_ed25519.pub). НИКОГДА не вставляйте приватный ключ.»\n5. Нажмите «Добавить ключ». Пока ключ сохраняется, на кнопке написано «Добавление…».\n6. Поля очищаются, а ключ появляется первым в таблице. Отдельного сообщения об успехе нет. Если под полями появился красный текст, найдите его в таблице ошибок ниже.\n\n## Правила и лимиты\n\n| Правило | Значение |\n|---|---|\n| Поддерживаемые типы | `ssh-ed25519`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` (последние два — аппаратные ключи FIDO) |\n| RSA-ключи | не менее 2048 бит |\n| Формат | одна строка, не более 16 КБ |\n| Название | обязательно, не более 80 символов |\n| Ключей в аккаунте | не более 20 |\n| Повторы | один и тот же ключ сохраняется только один раз, даже под другим названием или с другим комментарием |\n| Добавление | не более 10 попыток в час; учитываются и отклонённые попытки |\n| Удаление | не более 20 попыток в час |\n\n## Список сохранённых ключей\n\nПод формой находится таблица ключей — сначала самые новые:\n\n| Столбец | Что в нём |\n|---|---|\n| «Название» | название, которое вы дали ключу |\n| «Тип» | тип ключа, например `ssh-ed25519` |\n| «Отпечаток» | отпечаток ключа SHA-256 в формате `SHA256:…` |\n| «Добавлен» | дата и время сохранения |\n| — | кнопка «Удалить» |\n\nЕсли ключей нет, на странице написано «У вас пока нет сохранённых SSH-ключей.»\n\nЧтобы проверить, что отпечаток совпадает с ключом на вашем компьютере, выполните:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nЗначение `SHA256:…` в выводе должно совпадать со значением в столбце «Отпечаток».\n\n## Где используются сохранённые ключи\n\nСохранение в аккаунте не устанавливает ключ ни на один сервер. Сохранённый ключ используется в трёх местах:\n\n| Где | Как |\n|---|---|\n| При заказе нового сервера | На шаге «SSH-ключ для сервера» в блоке «Сохранённые ключи» отметьте один или несколько ключей (всего не более 10 ключей на заказ, считая и вставленный вручную). Подробнее — в статье [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda). |\n| На работающем сервере | В панели app.blackbox.md → «Мои серверы», на карточке сервера: «Добавить SSH-ключ» → «Использовать сохранённый ключ», выберите ключ в списке «Выберите ключ…», затем «Добавить ключ». Результат — «Ключ добавлен.» Пошагово — в статье [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server). |\n| Через AI-ассистента (MCP) | С API-токеном, у которого есть разрешение «Читать список моих SSH-ключей», ассистент видит список. С разрешением «Добавлять и удалять мои SSH-ключи» ассистент может добавлять ключи в аккаунт и удалять их. Чтобы установить ключ на сервер, нужно разрешение «Просматривать пароли/доступы к серверам». См. [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai). |\n\nСсылка «Как работает подключение AI (MCP) — полное руководство →» на странице открывает описание AI-интеграции (`blackbox.md/ru/info/mcp`).\n\n## Как удалить ключ из аккаунта\n\n1. В таблице нажмите «Удалить» в строке ключа.\n2. Откроется окно «Удалить SSH-ключ?» с текстом «Удалить этот SSH-ключ? Если он уже установлен на сервере, доступ к серверу это НЕ затронет — ключ удаляется только из вашего аккаунта blackbox.md.»\n3. Нажмите «Удалить», чтобы подтвердить, или «Отмена», чтобы передумать.\n4. На кнопке появится «Удаление…», затем строка исчезнет из таблицы. Если строка осталась, удалить ключ не удалось (например, вы превысили лимит в 20 попыток удаления в час); сообщения об ошибке при этом нет. Повторите попытку позже.\n\n> **Важно**\n> Удаление из аккаунта НЕ убирает ключ с серверов: тот, у кого есть приватный ключ, по-прежнему может подключаться к серверам, на которых этот ключ установлен. Чтобы отозвать доступ, удалите ключ с каждого сервера: в панели «Мои серверы» → «Добавить SSH-ключ» → список «Установленные ключи» → «Удалить». В этом списке ключ показан с его комментарием и началом отпечатка, а не с названием из аккаунта.\n\n## Ошибки и сообщения\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Это похоже на приватный ключ. Вставьте публичный ключ (обычно файл с расширением .pub).» | В тексте приватный ключ. | Вставьте содержимое файла `.pub`. |\n| «Неподдерживаемый тип ключа.» | Типа ключа нет в списке (например, `ssh-dss`). | Создайте ключ `ssh-ed25519`. |\n| «RSA-ключ слишком слабый — минимум 2048 бит.» | RSA-ключ короче 2048 бит. | Создайте новый ключ, лучше `ssh-ed25519`. |\n| «Не удалось распознать публичный ключ. Проверьте, что вставлена ровно одна строка.» | Несколько строк, неполная или повреждённая строка либо текст больше 16 КБ. | Скопируйте заново всю строку из файла `.pub`. |\n| «Этот ключ уже добавлен в вашем аккаунте.» | Этот ключ уже сохранён, возможно под другим названием. | Используйте ключ, который уже есть в таблице. |\n| «Достигнут лимит сохранённых ключей.» | У вас уже 20 ключей. | Удалите ключ, которым больше не пользуетесь. |\n| «Укажите название ключа.» / «Вставьте публичный ключ.» | Одно из полей пустое. | Заполните оба поля. |\n| «Не удалось добавить ключ.» | Другая ошибка, в том числе превышение лимита в 10 попыток добавления в час. | Подождите час и не повторяйте попытки: каждая попытка в это время продлевает блокировку. Если ошибка повторяется, напишите нам. |\n| «Ошибка загрузки.» или другой текст ошибки (иногда на английском) вместо таблицы | Не удалось загрузить список. | Обновите страницу или войдите в аккаунт заново. |\n| «Управление SSH-ключами временно недоступно.» | Функция временно недоступна, форма на странице не показывается. | Зайдите позже. Если сообщение не исчезает, обратитесь в поддержку (см. [Как связаться с поддержкой BLACKBOX](#suport.contact)). |\n\n## Частые вопросы\n\n**Попадает ли сохранённый ключ на мои серверы автоматически?**\nНет. Вы выбираете его при заказе нового сервера или устанавливаете на работающий сервер кнопкой «Добавить SSH-ключ» в панели.\n\n**Можно ли переименовать ключ?**\nКнопки переименования нет. Удалите ключ из аккаунта и добавьте его снова под новым названием. На ключи, уже установленные на серверах, это не повлияет.\n\n**Ноутбук с приватным ключом потерян. Что делать?**\nСоздайте новый ключ на другом компьютере и установите его на серверы через панель. Затем удалите старый ключ из списка «Установленные ключи» на каждом сервере, а в конце — из раздела «SSH-ключи». Если доступа к серверу уже нет, воспользуйтесь статьёй [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n**Ключ создан в PuTTYgen. Что вставлять?**\nСкопируйте текст из поля «Public key for pasting into OpenSSH authorized_keys file» в PuTTYgen — это одна строка, которая начинается с `ssh-ed25519` или `ssh-rsa`. Файл, сохранённый кнопкой «Save public key», начинается с `---- BEGIN SSH2 PUBLIC KEY ----`, занимает несколько строк и отклоняется с сообщением «Не удалось распознать публичный ключ…».\n\n**Почему появляется «Этот ключ уже добавлен в вашем аккаунте.», хотя название другое?**\nКлючи сравниваются по отпечатку. Название и комментарий не учитываются, поэтому один и тот же ключ нельзя сохранить дважды.\n",
    "en": "The “Chei SSH” (SSH keys) page (`blackbox.md/account/ssh-keys`, “Contul meu” (My account) → “Chei SSH”) stores the public SSH keys that you then choose when you order a new server, install on your existing servers, or use through the AI assistant. The page says: “Înregistrați chei publice SSH pe care le veți putea folosi la comanda serverelor noi și conecta prin asistentul AI (MCP). Cheia privată nu este niciodată transmisă sau stocată aici.” (Register public SSH keys that you can use when ordering new servers and connect through the AI assistant (MCP). The private key is never sent or stored here.)\n\n**Available to:** any customer signed in to blackbox.md, for the keys in their own account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Prepare your public key\n\nAn SSH key has two parts. The **private** part stays only on your computer. The **public** part (the file with the `.pub` extension) is the one you save in your account. If you don't have a key pair yet, follow [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\nTo display your public key on Linux or macOS:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nIf your file has a different name (for example `id_rsa.pub`), use that name. Copy the whole line, which looks like `ssh-ed25519 AAAAC3Nza… comment`.\n\n> **Warning**\n> Never paste your private key (the file without `.pub`, the `.ppk` file from PuTTY, or text that starts with `-----BEGIN`). The page rejects it, but in any case your private key must never leave your computer.\n\n## How to add a key\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, the circle with your initials).\n2. In the left menu, choose “Chei SSH” (SSH keys). On a phone or tablet, open the menu with the “Meniu cont” (Account menu) button.\n3. In the “Adaugă o cheie SSH” (Add an SSH key) card, fill in “Nume cheie” (Key name) with a name that helps you recognize the key, for example “Work laptop”. The field accepts at most 80 characters.\n4. In “Cheie publică SSH” (Public SSH key), paste the line you copied. Below the field it says: “Lipiți conținutul fișierului .pub (ex. ~/.ssh/id_ed25519.pub). NU lipiți niciodată cheia privată.” (Paste the contents of the .pub file (e.g. ~/.ssh/id_ed25519.pub). NEVER paste the private key.)\n5. Click “Adaugă cheia” (Add key). While the key is being saved, the button shows “Se adaugă…” (Adding…).\n6. The fields are cleared, and the key appears first in the table. No other confirmation message is shown. If red text appears below the fields, look it up in the error table below.\n\n## Rules and limits\n\n| Rule | Value |\n|---|---|\n| Accepted types | `ssh-ed25519`, `ssh-rsa`, `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com` (the last two are FIDO hardware keys) |\n| RSA keys | at least 2048 bits |\n| Format | a single line, at most 16 KB |\n| Name | required, at most 80 characters |\n| Keys per account | at most 20 |\n| Duplicates | the same key is saved only once, even with a different name or a different comment |\n| Additions | at most 10 attempts per hour; rejected attempts count too |\n| Deletions | at most 20 attempts per hour |\n\n## List of saved keys\n\nBelow the form, the table shows your keys, newest first:\n\n| Column | What it contains |\n|---|---|\n| “Nume” (Name) | the name you gave the key |\n| “Tip” (Type) | the key type, for example `ssh-ed25519` |\n| “Amprentă” (Fingerprint) | the key's SHA-256 fingerprint, in the `SHA256:…` format |\n| “Adăugată” (Added) | the date and time the key was saved |\n| — | the “Șterge” (Delete) button |\n\nWhen you have no keys, the page shows “Nu aveți încă chei SSH salvate.” (You don't have any saved SSH keys yet.)\n\nTo check that the fingerprint matches the key on your computer, run:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nThe `SHA256:…` value in the output must be the same as the one in the “Amprentă” column.\n\n## Where you use saved keys\n\nSaving a key in your account does not install it on any server. A saved key is used in three places:\n\n| Where | How |\n|---|---|\n| When you order a new server | In the “Cheie SSH pentru server” (SSH key for the server) step, under “Chei salvate” (Saved keys), check one or more keys (at most 10 keys per order in total, counting a pasted key too). Details in [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda). |\n| On an existing server | In the app.blackbox.md panel → “My Servers”, on the server card: “Add SSH key” → “Use a saved key”, choose the key from the “Select a key…” list, then “Add key”. The result is “Key added.” The steps are in [Adding and removing SSH keys on the server](#acces.chei-ssh-server). |\n| Through the AI assistant (MCP) | With an API token that has the “Citește lista cheilor mele SSH” (Read the list of my SSH keys) permission, the assistant sees the list. With “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys), the assistant can add keys to your account and delete them. Installing a key on a server requires the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission. See [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai). |\n\nThe “Cum funcționează conectarea AI (MCP) — ghid complet →” (How the AI (MCP) connection works — full guide →) link on the page opens the overview of the AI integration (`blackbox.md/info/mcp`).\n\n## How to delete a key from your account\n\n1. In the table, click “Șterge” (Delete) on the key's row.\n2. The “Ștergeți cheia SSH?” (Delete the SSH key?) window opens with the text “Ștergeți această cheie SSH? Dacă este deja instalată pe un server, accesul la acel server NU este afectat — cheia este ștearsă doar din contul dvs. blackbox.md.” (Delete this SSH key? If it is already installed on a server, access to that server is NOT affected — the key is deleted only from your blackbox.md account.)\n3. Click “Șterge” to confirm, or “Anulează” (Cancel) to back out.\n4. The button shows “Se șterge…” (Deleting…), then the row disappears from the table. If the row stays, the deletion failed (for example, you went over 20 deletion attempts per hour); no error message appears. Try again later.\n\n> **Important**\n> Deleting a key from your account does NOT remove it from your servers: anyone who has the private key can still connect to the servers where it is installed. To revoke access, remove the key from each server: in the panel, “My Servers” → “Add SSH key” → the “Installed keys” list → “Remove”. In this list, the key appears with its comment and the beginning of its fingerprint, not with the name it has in your account.\n\n## Errors and messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Aceasta pare a fi o cheie privată. Lipiți cheia publică (de regulă fișierul cu extensia .pub).” (This looks like a private key. Paste the public key (usually the file with the .pub extension).) | The text contains a private key. | Paste the contents of the `.pub` file. |\n| “Tip de cheie neacceptat.” (Unsupported key type.) | The key type is not in the list (for example `ssh-dss`). | Generate an `ssh-ed25519` key. |\n| “Cheia RSA este prea slabă — minim 2048 biți.” (The RSA key is too weak — 2048 bits minimum.) | An RSA key under 2048 bits. | Generate a new key, preferably `ssh-ed25519`. |\n| “Cheia publică nu a putut fi recunoscută. Verificați că ați lipit exact o singură linie.” (The public key could not be recognized. Check that you pasted exactly one line.) | Several lines, an incomplete or damaged line, or text over 16 KB. | Copy the whole line from the `.pub` file again. |\n| “Această cheie este deja adăugată în contul dvs.” (This key is already added to your account.) | The same key is already saved, possibly under a different name. | Use the existing key in the table. |\n| “Ați atins limita de chei salvate.” (You have reached the limit of saved keys.) | You already have 20 keys. | Delete a key you no longer use. |\n| “Introduceți un nume pentru cheie.” (Enter a name for the key.) / “Lipiți cheia publică.” (Paste the public key.) | A field is empty. | Fill in both fields. |\n| “Nu am putut adăuga cheia.” (We couldn't add the key.) | Another error, including going over the limit of 10 add attempts per hour. | Wait an hour without trying again: every attempt during that time extends the block. If the error happens again, write to us. |\n| “Eroare la încărcare.” (Loading error.) or another error text (sometimes in English) instead of the table | The list could not be loaded. | Reload the page or sign in again. |\n| “Gestionarea cheilor SSH nu este disponibilă momentan.” (SSH key management is not available at the moment.) | The feature is temporarily unavailable; the page does not show the form. | Come back later. If the message persists, contact support (see [How to contact BLACKBOX support](#suport.contact)). |\n\n## Frequently asked questions\n\n**Does a saved key reach my servers automatically?**\nNo. You choose it when you order a new server, or you install it on an existing server with “Add SSH key” in the panel.\n\n**Can I rename a key?**\nThere is no rename button. Delete the key from your account and add it again with a different name. Keys already installed on servers are not affected.\n\n**I lost the laptop with my private key. What should I do?**\nGenerate a new key on another computer and install it on your servers from the panel. Then remove the old key from “Installed keys” on each server and, finally, from “Chei SSH” (SSH keys). If you no longer have access to a server, follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n**I generated my key in PuTTYgen. What do I paste?**\nCopy the text from the “Public key for pasting into OpenSSH authorized_keys file” field in PuTTYgen: a single line that starts with `ssh-ed25519` or `ssh-rsa`. The file saved with “Save public key” starts with `---- BEGIN SSH2 PUBLIC KEY ----`, has several lines, and is rejected with the message “Cheia publică nu a putut fi recunoscută…” (The public key could not be recognized…).\n\n**Why do I get “Această cheie este deja adăugată în contul dvs.” (This key is already added to your account.) even though I used a different name?**\nKeys are compared by their fingerprint. The name and the comment don't matter, so the same key cannot be saved twice.\n"
   }
  },
  {
   "id": "acces.chei-ssh-server",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/chei-ssh-server/",
    "ru": "https://docs.blackbox.md/ru/acces/chei-ssh-server/",
    "en": "https://docs.blackbox.md/en/acces/chei-ssh-server/"
   },
   "title": {
    "ro": "Adăugarea și ștergerea cheilor SSH pe server",
    "ru": "Добавление и удаление SSH-ключей на сервере",
    "en": "Adding and removing SSH keys on the server"
   },
   "summary": {
    "ro": "Cum vedeți cheile instalate pe server, cum adăugați o cheie salvată sau nouă și cum ștergeți una în siguranță.",
    "ru": "Как посмотреть ключи на сервере, добавить сохранённый или новый ключ и безопасно удалить ключ.",
    "en": "How to see the keys installed on the server, add a saved or new key, and safely remove one."
   },
   "markdown": {
    "ro": "Secțiunea „Adaugă cheie SSH” de pe cardul serverului arată cheile SSH cu care se poate conecta utilizatorul `root` și vă permite să adăugați sau să ștergeți chei fără să intrați pe server. O găsiți în panoul app.blackbox.md, pe pagina „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Din blackbox.md ajungeți direct la card prin „Contul meu” → „Comenzi” → „Gestionează în app.blackbox.md”.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul sau un cont căruia BLACKBOX i-a acordat drept de administrare pentru server. Pe cardurile marcate „Administrat” secțiunea nu apare; pentru modificări, scrieți-ne.\n\n## Lista „Chei instalate”\n\n1. Pe cardul serverului, apăsați „Adaugă cheie SSH”. Sub butoanele cardului se deschide o secțiune; cât timp panoul citește datele de pe server, vedeți „Se încarcă cheile dvs…”.\n2. Sus apare lista „Chei instalate”: cheile din fișierul `/root/.ssh/authorized_keys` al serverului, câte un rând pentru fiecare.\n\nFiecare rând arată începutul amprentei (primele 20 de caractere, de exemplu `SHA256:Ab12Cd34Ef56G…`), tipul cheii (`ssh-ed25519`, `ssh-rsa` etc.) și comentariul cheii:\n\n| Rândul | Ce este | Butonul „Șterge” |\n|---|---|---|\n| „Cheie de administrare (blackbox.md)” | Cheia prin care funcționează butoanele panoului. | Nu există |\n| Comentariul `blackbox-agent-…` | Cheia pentru asistentul AI. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). | Există |\n| Alt comentariu (de exemplu `utilizator@laptop`) sau niciunul | Cheile dvs. sau chei adăugate de altcineva direct pe server. | Există |\n\nPe serverele unei companii la care BLACKBOX v-a acordat drept de administrare, eticheta „Cheie de administrare (blackbox.md)”, fără buton „Șterge”, apare la toate cheile pe care nu le-ați adăugat dvs. din panou și care nu sunt salvate în contul dvs. Aceste chei nu se pot șterge din panou.\n\nCa să vă recunoașteți cheia, afișați-i amprenta pe calculatorul dvs. și comparați începutul cu cel din listă:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nDacă fișierul conține rânduri pe care panoul nu le poate citi ca chei, sub listă apare „{count} linie(i) neinteligibile din authorized_keys au fost ignorate.”, cu numărul lor în loc de `{count}`. Se numără și rândurile de comentariu care încep cu `#`. Aceste rânduri nu se afișează și panoul nu le modifică.\n\n## Cum adăugați o cheie\n\nPuteți instala o cheie salvată în cont (vedeți [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont)) sau orice cheie publică lipită direct. Dacă nu aveți încă o pereche de chei, urmați [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n1. Pe cardul serverului, apăsați „Adaugă cheie SSH”.\n2. Sub „Chei instalate”, alegeți una dintre opțiuni:\n   - „Folosește o cheie salvată”, apoi cheia dorită din lista „Selectați o cheie…”; fiecare intrare arată numele și tipul cheii;\n   - „Lipește o cheie nouă”, apoi lipiți în câmp o singură linie din fișierul `.pub` (câmpul gol arată exemplul `ssh-ed25519 AAAA... dvs@example.com`).\n3. Apăsați „Adaugă cheia”. Butonul devine activ după ce ați ales sau ați lipit o cheie; în timpul operației afișează „Se adaugă…”.\n4. Sub buton apare rezultatul:\n   - „Cheie adăugată.”: cheia a fost scrisă pe server;\n   - „Această cheie este deja pe server.”: aceeași cheie era deja în fișier, chiar dacă avea alt comentariu; nu s-a schimbat nimic.\n5. Lista „Chei instalate” se reîncarcă și arată cheia nouă.\n\nPanoul adaugă cheia, cu comentariul ei, pe un rând nou la sfârșitul fișierului `/root/.ssh/authorized_keys`. Rândurile existente nu se modifică. Dacă directorul `.ssh` sau fișierul lipsesc, panoul le creează cu drepturile corecte.\n\n- Dacă nu aveți chei salvate în cont, opțiunea „Folosește o cheie salvată” este inactivă, iar secțiunea se deschide direct pe „Lipește o cheie nouă”.\n- Lista cheilor salvate se încarcă o singură dată, la prima deschidere a secțiunii. Dacă ați adăugat între timp o cheie în „Contul meu” → „Chei SSH”, reîncărcați pagina „Serverele mele”.\n- O cheie lipită se instalează doar pe acest server și nu se salvează în cont.\n- Tipurile acceptate sunt aceleași ca în cont: `ssh-ed25519`, `ssh-rsa` (cel puțin 2048 de biți), `ecdsa-sha2-nistp256/384/521` și cheile hardware `sk-…`. Nu lipiți niciodată cheia privată.\n\nVerificați apoi, dintr-un terminal nou, că vă conectați cu cheia, fără parolă (detalii în [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh -o PreferredAuthentications=publickey root@IP_SERVER\n```\n\n## Cum ștergeți o cheie\n\n1. Pe cardul serverului, apăsați „Adaugă cheie SSH”.\n2. În „Chei instalate”, găsiți cheia după amprentă și comentariu și apăsați „Șterge” pe rândul ei.\n3. Browserul cere confirmarea „Ștergeți cheia {fp} de pe acest server?”, cu începutul amprentei în loc de `{fp}`. Apăsați „OK”. Butonul afișează „Se șterge…”.\n4. Sub listă apare rezultatul:\n   - „Cheie ștearsă.”: cheia a fost scoasă din fișier;\n   - „Cheia nu era instalată.”: cheia a dispărut din fișier chiar în timpul operației; panoul nu a schimbat nimic.\n\nPanoul scoate din `/root/.ssh/authorized_keys` doar rândul acelei chei; celelalte rânduri rămân neschimbate. Cheia rămâne salvată în „Contul meu” → „Chei SSH”. Invers, ștergerea unei chei din cont nu o scoate de pe servere: o scoateți de pe fiecare server de aici.\n\n> **Atenție**\n> Înainte să ștergeți chei sau să dezactivați autentificarea cu parolă, asigurați-vă că pe server rămâne instalată o cheie a **dvs.** și testați conectarea cu ea într-un terminal separat, păstrând sesiunea curentă deschisă. Nu există consolă web: dacă rămâneți fără acces, urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Protecții și mesaje\n\nPanoul refuză unele ștergeri riscante, dar nu vă poate feri de orice greșeală: verificați de fiecare dată că vă rămâne o cheie proprie. Mesajele apar într-o casetă roșie sub listă:\n\n| Mesaj | Când apare | Ce faceți |\n|---|---|---|\n| „Aceasta este cheia proprie de administrare blackbox.md și nu poate fi ștearsă.” | Cheia aleasă este cheia de administrare. | Nimic: cheia rămâne pe server. |\n| „Aceasta este ultima cheie pe un server doar-cu-cheie — ștergerea ei v-ar bloca accesul.” | Serverul are insigna „Doar cheie”, iar cheia aleasă este ultima cheie de acces. | Adăugați întâi altă cheie sau apăsați „Activează login cu parolă” (vedeți [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)). |\n| „O altă modificare a cheilor este deja în curs pentru acest server — încercați din nou în câteva momente.” | Pe un server al companiei rulează chiar atunci altă modificare a cheilor sau a autentificării cu parolă. | Așteptați un minut și reîncercați. |\n| „Nu am putut verifica cheia noastră de administrare — această acțiune nu este disponibilă acum.” | Panoul nu poate identifica cheia de administrare și, din precauție, nu șterge nimic. | Scrieți-ne. |\n| „Nu s-a putut șterge cheia.” | Alt motiv: serverul nu răspunde, ați atins limita de ștergeri sau cheia nu mai este în fișier (de exemplu, ați șters-o manual după ce s-a încărcat lista). | Reîncărcați pagina, așteptați câteva minute și reîncercați. |\n\n## Erori tehnice și limite\n\nLa adăugare și la încărcarea listei, unele erori apar ca un cod tehnic sau ca o frază în engleză:\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `invalid_public_key` | Textul lipit nu este o cheie publică acceptată: mai multe rânduri, o cheie privată, un tip neacceptat sau o cheie RSA sub 2048 de biți. | Copiați din nou o singură linie din fișierul `.pub`. |\n| `ssh_key_push_failed` | Panoul nu a putut scrie cheia pe server. De regulă, serverul este oprit, încă pornește, nu răspunde prin SSH sau cheia de administrare a fost ștearsă. | Dacă ați oprit serverul, apăsați „Pornește”, așteptați un minut și reîncercați. Dacă eroarea persistă, scrieți-ne. |\n| `ssh_key_list_failed` (în locul listei) | Aceleași cauze, la citirea listei „Chei instalate”. | La fel ca mai sus. |\n| `not_found` | Cheia salvată aleasă nu mai există în cont. | Reîncărcați pagina și alegeți altă cheie. |\n| „Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes” | Ați atins limita de adăugări. | Așteptați 5 minute. |\n| „Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds” | Lista a fost încărcată de prea multe ori. | Așteptați un minut. |\n\nLimitele se aplică pentru tot contul, pe toate serverele la un loc, și numără și încercările nereușite:\n\n| Acțiune | Limită |\n|---|---|\n| Adăugarea unei chei | 10 în 5 minute |\n| Ștergerea unei chei | 10 în 5 minute |\n| Încărcarea listei „Chei instalate” | 30 pe minut |\n\nLista se încarcă la fiecare deschidere a secțiunii și după fiecare adăugare sau ștergere. Vedeți și [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri) și [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n\nDacă în locul secțiunii vedeți „Gestionarea cheilor SSH nu este disponibilă momentan.”, funcția este temporar indisponibilă. Reîncercați mai târziu; dacă mesajul persistă, scrieți-ne.\n\n## Editarea manuală a fișierului authorized_keys\n\nPuteți gestiona cheile și direct pe server, conectat ca `root`. Panoul citește fișierul la fiecare deschidere a secțiunii, deci vede și modificările manuale.\n\n1. Faceți o copie de rezervă a fișierului:\n\n   ```bash\n   cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak\n   ```\n\n2. Afișați amprentele tuturor cheilor din fișier. Cheile ale căror amprente încep la fel ca rândurile „Cheie de administrare (blackbox.md)” din panou sunt chei de administrare: nu le atingeți.\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/authorized_keys\n   ```\n\n3. Deschideți fișierul într-un editor (`nano` sau `vi`). Ștergeți rândul întreg al cheii pe care o eliminați; o cheie nouă se adaugă pe un rând separat, la sfârșit.\n\n   ```bash\n   nano ~/.ssh/authorized_keys\n   ```\n\n   Dacă `nano` nu este instalat (se poate întâmpla pe AlmaLinux și CentOS Stream), instalați-l sau folosiți `vi`:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. Modificarea se aplică imediat, fără repornirea serviciului SSH. Testați conectarea dintr-un terminal nou înainte să închideți sesiunea curentă. Dacă ceva nu merge, restaurați copia:\n\n   ```bash\n   cp ~/.ssh/authorized_keys.bak ~/.ssh/authorized_keys\n   ```\n\n> **Important**\n> Nu ștergeți niciodată rândul cheii de administrare. Fără el nu mai funcționează lista „Chei instalate”, adăugarea și ștergerea cheilor, butoanele de autentificare cu parolă, comenzile prin asistentul AI și, de regulă, nici „Resetează parola”. Cheia o poate pune la loc doar suportul. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n## Întrebări frecvente\n\n**De ce în „Chei instalate” nu văd numele dat cheii în cont?**\nLista arată comentariul din linia cheii (de exemplu `utilizator@laptop`), nu numele din „Chei SSH”. Recunoașteți cheia după începutul amprentei.\n\n**Panoul gestionează și cheile altor utilizatori decât `root`?**\nNu. Lista și butoanele lucrează doar cu `/root/.ssh/authorized_keys`. Pentru alt utilizator, editați manual fișierul `/home/NUME_UTILIZATOR/.ssh/authorized_keys`; pașii sunt în [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n**Am pierdut cheia privată, iar serverul este „Doar cheie”. Ce fac?**\nGenerați o pereche nouă de chei și adăugați cheia publică nouă cu „Lipește o cheie nouă”: panoul o instalează fără să aibă nevoie de cheia veche. După ce vă conectați cu cheia nouă, ștergeți cheia pierdută din „Chei instalate”. Alte situații sunt în [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n",
    "ru": "Раздел «Добавить SSH-ключ» на карточке сервера показывает, с какими SSH-ключами может входить пользователь `root`, и позволяет добавлять и удалять ключи, не заходя на сервер. Он находится в панели app.blackbox.md на странице «Мои серверы» (`app.blackbox.md/my-servers`, меню слева «Инфраструктура» → «Мои серверы»). С blackbox.md к нужной карточке ведёт ссылка «Мой аккаунт» → «Заказы» → «Управление в app.blackbox.md».\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером. На карточках с отметкой «Обслуживается» этого раздела нет — для изменений напишите нам.\n\n## Список «Установленные ключи»\n\n1. На карточке сервера нажмите «Добавить SSH-ключ». Под кнопками карточки откроется раздел; пока панель считывает данные с сервера, видна надпись «Загрузка ваших ключей…».\n2. Вверху появится список «Установленные ключи» — ключи из файла `/root/.ssh/authorized_keys` на сервере, по одной строке на ключ.\n\nВ каждой строке — начало отпечатка (первые 20 символов, например `SHA256:Ab12Cd34Ef56G…`), тип ключа (`ssh-ed25519`, `ssh-rsa` и т. д.) и комментарий ключа:\n\n| Строка | Что это | Кнопка «Удалить» |\n|---|---|---|\n| «Ключ управления (blackbox.md)» | Ключ, через который работают кнопки панели. | Нет |\n| Комментарий `blackbox-agent-…` | Ключ для AI-ассистента. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). | Есть |\n| Другой комментарий (например, `user@laptop`) или без комментария | Ваши ключи или ключи, которые кто-то добавил прямо на сервере. | Есть |\n\nНа серверах компании, где BLACKBOX выдал вам права на управление, подпись «Ключ управления (blackbox.md)» без кнопки «Удалить» стоит у всех ключей, которые вы не добавляли сами через панель и которых нет в вашем аккаунте. Такие ключи через панель удалить нельзя.\n\nЧтобы узнать свой ключ, выведите его отпечаток на своём компьютере и сравните начало с тем, что в списке:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nЕсли в файле есть строки, которые панель не может распознать как ключи, под списком появится «{count} нераспознанных строк в authorized_keys были пропущены.» — вместо `{count}` будет их число. Сюда же попадают строки-комментарии, начинающиеся с `#`. Такие строки не показываются, и панель их не изменяет.\n\n## Как добавить ключ\n\nМожно установить ключ, сохранённый в аккаунте (см. [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont)), или вставить любой публичный ключ напрямую. Если пары ключей у вас ещё нет, воспользуйтесь статьёй [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n1. На карточке сервера нажмите «Добавить SSH-ключ».\n2. Под списком «Установленные ключи» выберите вариант:\n   - «Использовать сохранённый ключ» — затем нужный ключ в списке «Выберите ключ…»; в каждом пункте указаны название и тип ключа;\n   - «Вставить новый ключ» — затем вставьте в поле одну строку из файла `.pub` (в пустом поле виден пример `ssh-ed25519 AAAA... you@example.com`).\n3. Нажмите «Добавить ключ». Кнопка становится активной, когда ключ выбран или вставлен; во время операции на ней написано «Добавление…».\n4. Под кнопкой появится результат:\n   - «Ключ добавлен.» — ключ записан на сервер;\n   - «Этот ключ уже есть на сервере.» — такой ключ уже был в файле, пусть даже с другим комментарием; ничего не изменилось.\n5. Список «Установленные ключи» обновится, и в нём появится новый ключ.\n\nПанель дописывает ключ вместе с его комментарием новой строкой в конец файла `/root/.ssh/authorized_keys`. Существующие строки не меняются. Если каталога `.ssh` или самого файла нет, панель создаёт их с правильными правами доступа.\n\n- Если в аккаунте нет сохранённых ключей, вариант «Использовать сохранённый ключ» неактивен, и раздел сразу открывается в режиме «Вставить новый ключ».\n- Список сохранённых ключей загружается один раз — при первом открытии раздела. Если вы тем временем добавили ключ в «Мой аккаунт» → «SSH-ключи», обновите страницу «Мои серверы».\n- Вставленный ключ устанавливается только на этот сервер и в аккаунте не сохраняется.\n- Поддерживаются те же типы, что и в аккаунте: `ssh-ed25519`, `ssh-rsa` (не менее 2048 бит), `ecdsa-sha2-nistp256/384/521` и аппаратные ключи `sk-…`. Никогда не вставляйте приватный ключ.\n\nЗатем проверьте в новом терминале, что входите по ключу без пароля (подробнее — в статье [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh -o PreferredAuthentications=publickey root@IP_СЕРВЕРА\n```\n\n## Как удалить ключ\n\n1. На карточке сервера нажмите «Добавить SSH-ключ».\n2. В списке «Установленные ключи» найдите ключ по отпечатку и комментарию и нажмите «Удалить» в его строке.\n3. Браузер попросит подтвердить: «Удалить ключ {fp} с этого сервера?» — вместо `{fp}` будет начало отпечатка. Нажмите «OK». На кнопке появится «Удаление…».\n4. Под списком появится результат:\n   - «Ключ удалён.» — ключ убран из файла;\n   - «Этот ключ не был установлен.» — ключ исчез из файла прямо во время операции; панель ничего не изменила.\n\nПанель убирает из `/root/.ssh/authorized_keys` только строку этого ключа, остальные строки не меняются. В разделе «Мой аккаунт» → «SSH-ключи» ключ остаётся. И наоборот: удаление ключа из аккаунта не убирает его с серверов — с каждого сервера его нужно удалить здесь.\n\n> **Внимание**\n> Прежде чем удалять ключи или отключать вход по паролю, убедитесь, что на сервере останется **ваш** ключ, и проверьте вход с ним в отдельном терминале, не закрывая текущую сессию. Веб-консоли нет: если доступ потерян, воспользуйтесь статьёй [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Защита и сообщения\n\nПанель не даёт выполнить некоторые опасные удаления, но не защищает от любой ошибки: каждый раз проверяйте, что у вас остаётся собственный ключ. Сообщения появляются в красной рамке под списком:\n\n| Сообщение | Когда появляется | Что делать |\n|---|---|---|\n| «Это собственный ключ управления blackbox.md, его нельзя удалить.» | Выбран ключ управления. | Ничего: ключ остаётся на сервере. |\n| «Это последний ключ на сервере только с ключом — его удаление заблокирует доступ.» | У сервера значок «Только ключ», а выбранный ключ — последний ключ для входа. | Сначала добавьте другой ключ или нажмите «Включить вход по паролю» (см. [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)). |\n| «Для этого сервера уже выполняется другое изменение ключей — повторите попытку через момент.» | На сервере компании в этот момент уже идёт другое изменение ключей или входа по паролю. | Подождите минуту и повторите. |\n| «Не удалось проверить наш ключ управления — это действие сейчас недоступно.» | Панель не может определить ключ управления и из осторожности ничего не удаляет. | Напишите нам. |\n| «Не удалось удалить ключ.» | Другая причина: сервер не отвечает, исчерпан лимит удалений или ключа уже нет в файле (например, вы удалили его вручную после загрузки списка). | Обновите страницу, подождите несколько минут и повторите. |\n\n## Технические ошибки и лимиты\n\nПри добавлении ключа и загрузке списка некоторые ошибки выводятся в виде технического кода или фразы на английском:\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| `invalid_public_key` | Вставленный текст не является допустимым публичным ключом: несколько строк, приватный ключ, неподдерживаемый тип или ключ RSA короче 2048 бит. | Ещё раз скопируйте одну строку из файла `.pub`. |\n| `ssh_key_push_failed` | Панель не смогла записать ключ на сервер. Обычно сервер остановлен, ещё загружается, не отвечает по SSH или с него удалён ключ управления. | Если вы остановили сервер, нажмите «Запустить», подождите минуту и повторите. Если ошибка не исчезает, напишите нам. |\n| `ssh_key_list_failed` (вместо списка) | Те же причины, но при чтении списка «Установленные ключи». | То же, что выше. |\n| `not_found` | Выбранного сохранённого ключа больше нет в аккаунте. | Обновите страницу и выберите другой ключ. |\n| «Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes» | Исчерпан лимит добавлений. | Подождите 5 минут. |\n| «Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds» | Список загружался слишком часто. | Подождите минуту. |\n\nЛимиты действуют на весь аккаунт, по всем серверам вместе, и учитывают в том числе неудачные попытки:\n\n| Действие | Лимит |\n|---|---|\n| Добавление ключа | 10 за 5 минут |\n| Удаление ключа | 10 за 5 минут |\n| Загрузка списка «Установленные ключи» | 30 в минуту |\n\nСписок загружается при каждом открытии раздела и после каждого добавления или удаления. См. также [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri) и [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n\nЕсли вместо раздела видна надпись «Управление SSH-ключами сейчас недоступно.», функция временно недоступна. Повторите попытку позже; если сообщение не исчезает, напишите нам.\n\n## Ручное редактирование файла authorized_keys\n\nКлючами можно управлять и прямо на сервере, войдя как `root`. Панель читает файл при каждом открытии раздела, поэтому видит и ручные изменения.\n\n1. Сделайте резервную копию файла:\n\n   ```bash\n   cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak\n   ```\n\n2. Выведите отпечатки всех ключей из файла. Ключи, отпечатки которых начинаются так же, как в строках «Ключ управления (blackbox.md)» в панели, — это ключи управления: их не трогайте.\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/authorized_keys\n   ```\n\n3. Откройте файл в редакторе (`nano` или `vi`). Удалите целиком строку ключа, который хотите убрать; новый ключ добавляйте отдельной строкой в конец.\n\n   ```bash\n   nano ~/.ssh/authorized_keys\n   ```\n\n   Если `nano` не установлен (так бывает в AlmaLinux и CentOS Stream), установите его или воспользуйтесь `vi`:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. Изменения действуют сразу, перезапускать SSH не нужно. Проверьте вход в новом терминале, прежде чем закрывать текущую сессию. Если что-то пошло не так, восстановите копию:\n\n   ```bash\n   cp ~/.ssh/authorized_keys.bak ~/.ssh/authorized_keys\n   ```\n\n> **Важно**\n> Никогда не удаляйте строку ключа управления. Без неё перестанут работать список «Установленные ключи», добавление и удаление ключей, кнопки входа по паролю, команды через AI-ассистента и, как правило, «Сбросить пароль». Вернуть ключ может только поддержка. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n## Частые вопросы\n\n**Почему в списке «Установленные ключи» не видно названия, которое я дал ключу в аккаунте?**\nВ списке показывается комментарий из строки ключа (например, `user@laptop`), а не название из раздела «SSH-ключи». Узнавайте ключ по началу отпечатка.\n\n**Управляет ли панель ключами других пользователей, кроме `root`?**\nНет. Список и кнопки работают только с файлом `/root/.ssh/authorized_keys`. Для другого пользователя отредактируйте вручную файл `/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys` — порядок действий описан в статье [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n**Приватный ключ потерян, а сервер работает в режиме «Только ключ». Что делать?**\nСоздайте новую пару ключей и добавьте новый публичный ключ через «Вставить новый ключ»: панель установит его без старого ключа. Когда убедитесь, что входите с новым ключом, удалите потерянный ключ из списка «Установленные ключи». Другие ситуации разобраны в статье [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n",
    "en": "The “Add SSH key” section on a server card shows which SSH keys the `root` user can log in with, and lets you add or remove keys without logging in to the server. You find it in the app.blackbox.md panel, on the “My Servers” page (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”). From blackbox.md, you can go straight to the card through “Contul meu” (My account) → “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n\n**Available to:** the blackbox.md account holder who ordered the server, or an account that BLACKBOX has given management rights for the server. On cards marked “Managed”, the section does not appear; to request changes, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The “Installed keys” list\n\n1. On the server card, click “Add SSH key”. A section opens below the card's buttons; while the panel reads the data from the server, you see “Loading your keys…”.\n2. The “Installed keys” list appears at the top: the keys from the server's `/root/.ssh/authorized_keys` file, one row per key.\n\nEach row shows the beginning of the fingerprint (the first 20 characters, for example `SHA256:Ab12Cd34Ef56G…`), the key type (`ssh-ed25519`, `ssh-rsa`, etc.) and the key's comment:\n\n| Row | What it is | “Remove” button |\n|---|---|---|\n| “Management key (blackbox.md)” | The key that makes the panel buttons work. | No |\n| The comment `blackbox-agent-…` | The key for the AI assistant. See [BLACKBOX keys on your server](#acces.cheile-blackbox). | Yes |\n| Another comment (for example `user@laptop`) or none | Your keys, or keys that someone else added directly on the server. | Yes |\n\nOn company servers where BLACKBOX has given you management rights, the “Management key (blackbox.md)” label, with no “Remove” button, appears on every key that you did not add yourself from the panel and that is not saved in your account. These keys cannot be removed from the panel.\n\nTo recognize your key, display its fingerprint on your computer and compare the beginning with the one in the list:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nIf the file contains lines that the panel cannot read as keys, “{count} unreadable line(s) in authorized_keys were skipped.” appears below the list, with their number in place of `{count}`. Comment lines that start with `#` are counted too. These lines are not shown, and the panel does not change them.\n\n## How to add a key\n\nYou can install a key saved in your account (see [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont)) or paste any public key directly. If you don't have a key pair yet, follow [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n1. On the server card, click “Add SSH key”.\n2. Below “Installed keys”, choose one of the options:\n   - “Use a saved key”, then the key you want from the “Select a key…” list; each entry shows the key's name and type;\n   - “Paste a new key”, then paste a single line from the `.pub` file into the field (the empty field shows the example `ssh-ed25519 AAAA... you@example.com`).\n3. Click “Add key”. The button becomes active once you have chosen or pasted a key; while the operation runs, it shows “Adding…”.\n4. The result appears below the button:\n   - “Key added.”: the key was written to the server;\n   - “This key is already on the server.”: the same key was already in the file, even if it had a different comment; nothing changed.\n5. The “Installed keys” list reloads and shows the new key.\n\nThe panel adds the key, with its comment, on a new line at the end of the `/root/.ssh/authorized_keys` file. Existing lines are not changed. If the `.ssh` directory or the file is missing, the panel creates them with the correct permissions.\n\n- If you have no keys saved in your account, the “Use a saved key” option is inactive, and the section opens directly on “Paste a new key”.\n- The list of saved keys loads only once, the first time you open the section. If you have added a key in “Contul meu” (My account) → “Chei SSH” (SSH keys) in the meantime, reload the “My Servers” page.\n- A pasted key is installed only on this server and is not saved in your account.\n- The accepted types are the same as in your account: `ssh-ed25519`, `ssh-rsa` (at least 2048 bits), `ecdsa-sha2-nistp256/384/521` and `sk-…` hardware keys. Never paste your private key.\n\nThen check, from a new terminal, that you can log in with the key, without a password (details in [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n```bash\nssh -o PreferredAuthentications=publickey root@SERVER_IP\n```\n\n## How to remove a key\n\n1. On the server card, click “Add SSH key”.\n2. In “Installed keys”, find the key by its fingerprint and comment, and click “Remove” on its row.\n3. The browser asks you to confirm “Remove key SHA256:… from this server?”, with the beginning of the key's fingerprint after “Remove key”. Click “OK”. The button shows “Removing…”.\n4. The result appears below the list:\n   - “Key removed.”: the key was taken out of the file;\n   - “That key wasn't installed.”: the key disappeared from the file while the operation was running; the panel changed nothing.\n\nThe panel removes only that key's line from `/root/.ssh/authorized_keys`; the other lines stay unchanged. The key stays saved in “Contul meu” (My account) → “Chei SSH” (SSH keys). Conversely, deleting a key from your account does not remove it from your servers: you remove it from each server here.\n\n> **Warning**\n> Before you remove keys or disable password login, make sure that one of **your** keys stays installed on the server, and test logging in with it in a separate terminal while you keep your current session open. There is no web console: if you lose access, follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Safeguards and messages\n\nThe panel refuses some risky removals, but it cannot protect you from every mistake: each time, check that you still have a key of your own. The messages appear in a red box below the list:\n\n| Message | When it appears | What to do |\n|---|---|---|\n| “This is blackbox.md's own management key and can't be removed.” | The key you chose is the management key. | Nothing: the key stays on the server. |\n| “This is the last key on a key-only server — removing it would lock you out.” | The server has the “Key-only” badge, and the key you chose is the last access key. | First add another key, or click “Enable password login” (see [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)). |\n| “Another key change is already running for this server — try again in a moment.” | On a company server, another change to the keys or to password login is running at that very moment. | Wait a minute and try again. |\n| “We couldn't verify our management key — this action is unavailable right now.” | The panel cannot identify the management key and, as a precaution, removes nothing. | Write to us. |\n| “Failed to remove the key.” | Another reason: the server is not responding, you have reached the removal limit, or the key is no longer in the file (for example, you removed it manually after the list loaded). | Reload the page, wait a few minutes and try again. |\n\n## Technical errors and limits\n\nWhen you add a key or load the list, some errors appear as a technical code or as a sentence in English:\n\n| Message | What it means | What to do |\n|---|---|---|\n| `invalid_public_key` | The pasted text is not an accepted public key: several lines, a private key, an unsupported type, or an RSA key under 2048 bits. | Copy a single line from the `.pub` file again. |\n| `ssh_key_push_failed` | The panel could not write the key to the server. Usually the server is stopped, is still starting, is not responding over SSH, or the management key has been removed. | If you stopped the server, click “Start”, wait a minute and try again. If the error persists, write to us. |\n| `ssh_key_list_failed` (instead of the list) | The same causes, when reading the “Installed keys” list. | Same as above. |\n| `not_found` | The saved key you chose no longer exists in your account. | Reload the page and choose another key. |\n| “Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes” | You have reached the limit for adding keys. | Wait 5 minutes. |\n| “Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds” | The list was loaded too many times. | Wait a minute. |\n\nThe limits apply to your whole account, across all servers combined, and failed attempts count too:\n\n| Action | Limit |\n|---|---|\n| Adding a key | 10 in 5 minutes |\n| Removing a key | 10 in 5 minutes |\n| Loading the “Installed keys” list | 30 per minute |\n\nThe list loads every time you open the section and after every addition or removal. See also [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri) and [Panel error messages and what they mean](#faq.erori-panou).\n\nIf you see “SSH key management isn't available right now.” instead of the section, the feature is temporarily unavailable. Try again later; if the message persists, write to us.\n\n## Editing the authorized_keys file manually\n\nYou can also manage keys directly on the server, logged in as `root`. The panel reads the file every time you open the section, so it also sees manual changes.\n\n1. Make a backup copy of the file:\n\n   ```bash\n   cp ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak\n   ```\n\n2. Display the fingerprints of all the keys in the file. Keys whose fingerprints start the same way as the “Management key (blackbox.md)” rows in the panel are management keys: do not touch them.\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/authorized_keys\n   ```\n\n3. Open the file in an editor (`nano` or `vi`). Delete the whole line of the key you are removing; add a new key on a separate line at the end.\n\n   ```bash\n   nano ~/.ssh/authorized_keys\n   ```\n\n   If `nano` is not installed (this can happen on AlmaLinux and CentOS Stream), install it or use `vi`:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. The change takes effect immediately, without restarting the SSH service. Test logging in from a new terminal before you close your current session. If something goes wrong, restore the copy:\n\n   ```bash\n   cp ~/.ssh/authorized_keys.bak ~/.ssh/authorized_keys\n   ```\n\n> **Important**\n> Never delete the management key's line. Without it, the “Installed keys” list, adding and removing keys, the password login buttons, commands through the AI assistant and, as a rule, “Reset password” stop working. Only support can put the key back. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n## Frequently asked questions\n\n**Why don't I see the name I gave the key in my account in “Installed keys”?**\nThe list shows the comment from the key's line (for example `user@laptop`), not the name from “Chei SSH” (SSH keys). Recognize the key by the beginning of its fingerprint.\n\n**Does the panel also manage the keys of users other than `root`?**\nNo. The list and the buttons work only with `/root/.ssh/authorized_keys`. For another user, edit the `/home/USERNAME/.ssh/authorized_keys` file manually; the steps are in [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n**I lost my private key, and the server is “Key-only”. What do I do?**\nGenerate a new key pair and add the new public key with “Paste a new key”: the panel installs it without needing the old key. Once you have logged in with the new key, remove the lost key from “Installed keys”. Other situations are covered in [Lost access to your server (password or key)](#acces.recuperare-acces).\n"
   }
  },
  {
   "id": "acces.autentificare-parola-ssh",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/autentificare-parola-ssh/",
    "ru": "https://docs.blackbox.md/ru/acces/autentificare-parola-ssh/",
    "en": "https://docs.blackbox.md/en/acces/autentificare-parola-ssh/"
   },
   "title": {
    "ro": "Activarea și dezactivarea autentificării SSH cu parolă",
    "ru": "Включение и отключение входа по паролю по SSH",
    "en": "Enabling and disabling SSH password login"
   },
   "summary": {
    "ro": "Cum treceți serverul la autentificare doar cu cheie sau reactivați parola din panou, în siguranță.",
    "ru": "Как из панели безопасно перевести сервер на вход только по ключу или снова включить вход по паролю.",
    "en": "How to switch your server to key-only login, or turn password login back on, safely from the panel."
   },
   "markdown": {
    "ro": "Butoanele „Dezactivează login cu parolă” și „Activează login cu parolă” se află pe cardul serverului, pe pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Cu ele alegeți dacă serverul acceptă conexiuni SSH doar cu cheie sau și cu parola root. Din blackbox.md ajungeți direct la card prin „Contul meu” → „Comenzi” → „Gestionează în app.blackbox.md”.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul sau un cont căruia BLACKBOX i-a acordat drept de administrare pentru server. Pe cardurile marcate „Administrat” butoanele nu apar; scrieți-ne.\n\n## Ce vedeți pe card\n\nLângă numele serverului, o insignă arată modul curent de autentificare SSH. Printre butoanele cardului apare butonul care îl schimbă:\n\n| Insigna | Ce înseamnă | Butonul de pe card |\n|---|---|---|\n| „Doar cheie” | Autentificarea SSH cu parolă este dezactivată. Vă conectați doar cu o cheie instalată. | „Activează login cu parolă” |\n| „Parolă + cheie” | Funcționează atât parola root, cât și cheile instalate. | „Dezactivează login cu parolă” |\n| fără insignă | Panoul nu cunoaște starea SSH a serverului. | niciunul |\n\nInsigna și butonul apar doar când panoul cunoaște starea serverului. Dacă lipsesc, deschideți „Adaugă cheie SSH” pe același card: la încărcarea listei „Chei instalate”, panoul verifică serverul și, dacă reușește, le afișează.\n\n## Ce se schimbă pe server\n\nPanoul scrie pe server setările SSH administrate de BLACKBOX, într-un fișier din directorul `/etc/ssh/sshd_config.d/`:\n\n| Acțiune | Rezultat |\n|---|---|\n| Dezactivare | Autentificarea SSH cu parolă este oprită pentru toți utilizatorii, iar `root` se conectează doar cu cheie. |\n| Activare | Autentificarea cu parolă funcționează din nou: vă puteți conecta ca `root` cu parola root. Cheile instalate funcționează în continuare. |\n\nPanoul verifică setările noi, reîncarcă serviciul SSH și confirmă valoarea aplicată. Dacă un pas eșuează, setările anterioare sunt restaurate și pe server nu se schimbă nimic. Sesiunile SSH deja deschise nu se întrerup: regula nouă se aplică la conexiunile următoare.\n\nParola root nu se șterge. Fraza „Parola de consolă rămâne funcțională” din confirmare înseamnă doar atât: parola root rămâne setată pe server și salvată în panou, unde o vedeți cu „Afișează datele de acces”. Prin SSH funcționează din nou după „Activează login cu parolă”. Clienții nu au consolă web sau VNC.\n\nTrecerea la autentificarea doar cu cheie face parte din [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Cum dezactivați autentificarea cu parolă\n\n> **Atenție**\n> Înainte de dezactivare, instalați pe server propria dvs. cheie SSH și verificați într-un al doilea terminal că vă conectați cu ea. Panoul nu poate face această verificare în locul dvs. Păstrați acea sesiune deschisă până confirmați că totul funcționează după schimbare.\n\n1. Pe cardul serverului, deschideți „Adaugă cheie SSH” și verificați lista „Chei instalate”. Cheia dvs. trebuie să fie acolo: comparați începutul amprentei (`SHA256:…`) cu rezultatul comenzii de mai jos, rulată pe calculatorul dvs. (pentru o cheie RSA, fișierul este `~/.ssh/id_rsa.pub`). Cu „Cheie de administrare (blackbox.md)” și cu celelalte chei BLACKBOX nu vă puteți conecta dvs. (vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox)). Dacă cheia lipsește, adăugați-o: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n2. Într-un terminal nou, conectați-vă doar cu cheia. Dacă apare `Permission denied`, cheia nu funcționează: nu continuați.\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@IP_SERVER\n   ```\n\n3. Lăsați această sesiune deschisă.\n4. În panou, apăsați „Dezactivează login cu parolă”.\n5. Browserul cere confirmarea „Dezactivați autentificarea prin parolă SSH pe NUME_SERVER? După aceasta, doar cheile SSH instalate se vor putea conecta. Parola de consolă rămâne funcțională.”, unde NUME_SERVER este numele serverului de pe card. Apăsați „OK”.\n6. Cât timp se aplică schimbarea, butonul este inactiv. Nu apare un mesaj de succes separat: insigna devine „Doar cheie”, iar butonul se schimbă în „Activează login cu parolă”.\n7. Verificați dintr-un terminal nou că intrați cu cheia (comanda de la pasul 2) și că parola este refuzată. Comanda de mai jos trebuie să se termine cu `Permission denied`, fără să vă ceară parola:\n\n   ```bash\n   ssh -o PubkeyAuthentication=no root@IP_SERVER\n   ```\n\n8. Închideți sesiunea de la pasul 2 abia după aceste verificări.\n\n## Cum reactivați autentificarea cu parolă\n\n1. Pe cardul serverului, apăsați „Activează login cu parolă”.\n2. Confirmați „Reactivați autentificarea prin parolă SSH pe NUME_SERVER?” cu „OK”.\n3. Insigna devine „Parolă + cheie”, iar butonul se schimbă în „Dezactivează login cu parolă”.\n4. Afișați parola root cu „Afișează datele de acces” (vedeți [Afișarea datelor de acces root](#acces.afisare-date-acces)) și conectați-vă:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\nDacă ați schimbat parola root pe server cu `passwd`, panoul afișează parola veche. Generați una nouă cu „Resetează parola” (vedeți [Resetarea parolei root](#acces.resetare-parola-root)). Cât timp autentificarea cu parolă este activă, serverul va fi ținta încercărilor de ghicire a parolei: folosiți o parolă lungă și vedeți [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n\n## Verificarea pe server\n\nValoarea pe care SSH o aplică efectiv se vede cu:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nRezultatul este `passwordauthentication no` pentru „Doar cheie” și `passwordauthentication yes` pentru „Parolă + cheie”.\n\n> **Important**\n> Nu modificați manual `PasswordAuthentication` în `/etc/ssh/sshd_config`. Setările panoului au prioritate, așa că modificarea poate rămâne fără efect. Schimbați setarea doar cu butoanele de pe card.\n\nInsigna arată ultima stare cunoscută de panou. Panoul recitește configurația SSH reală a serverului când deschideți „Adaugă cheie SSH” și se încarcă lista „Chei instalate”; dacă setarea a fost schimbată direct pe server, insigna și butonul se corectează. Pentru o nouă verificare, reîncărcați pagina și deschideți din nou „Adaugă cheie SSH”.\n\n## Limite și erori\n\nPuteți schimba setarea de cel mult 5 ori în 5 minute, pentru toate serverele din cont la un loc. Se numără fiecare încercare, inclusiv cele nereușite. Erorile apar într-o casetă roșie pe card.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu a fost găsită nicio cheie instalată — adăugați o cheie înainte de a dezactiva parola.” | Panoul nu a găsit nicio cheie instalată pe server și refuză dezactivarea. | Adăugați cheia dvs. cu „Adaugă cheie SSH”, testați conectarea, apoi reîncercați. |\n| „Nu am putut verifica cheia noastră de administrare — această acțiune nu este disponibilă acum.” | Panoul nu poate confirma cheia de administrare a acestui server și, din precauție, nu schimbă nimic. | Scrieți-ne la support@blackbox.md. |\n| „Nu s-a putut schimba autentificarea prin parolă.” | Mesaj general. Cauze posibile: ați depășit 5 încercări în 5 minute; o altă modificare este deja în curs pentru același server (de exemplu, dintr-o altă filă sau prin asistentul AI); serverul este oprit sau panoul nu se poate conecta la el; setările noi nu au trecut verificarea și au fost restaurate cele anterioare. | Așteptați 5 minute, apoi reîncercați. Dacă serverul este oprit, porniți-l mai întâi cu „Pornește”. Dacă mesajul se repetă, scrieți-ne. |\n\n## Dacă nu vă mai puteți conecta\n\nCât timp butoanele panoului funcționează, apăsați „Activează login cu parolă” și conectați-vă cu parola afișată de „Afișează datele de acces”. Dacă nici așa nu reușiți, urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Întrebări frecvente\n\n**Butoanele panoului funcționează și pe un server „Doar cheie”?**\nDa. Panoul nu se conectează cu parola, ci cu propria cheie, afișată în „Chei instalate” ca „Cheie de administrare (blackbox.md)”. Nu ștergeți această cheie de pe server.\n\n**Am apăsat „Resetează parola” pe un server „Doar cheie”, dar parola nouă nu merge prin SSH. De ce?**\nResetarea schimbă doar parola root. Autentificarea SSH cu parolă rămâne dezactivată până apăsați „Activează login cu parolă”.\n\n**Dezactivarea afectează și alți utilizatori, nu doar `root`?**\nDa. Niciun utilizator nu se mai poate conecta prin SSH cu parolă, așa că utilizatorii fără cheie instalată pierd accesul prin SSH.\n\n**Pot schimba setarea prin asistentul AI?**\nDa, cu aceleași verificări. Vedeți [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n\n**Pot alege „doar cheie” încă de la comandă?**\nDa. Vedeți [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda).\n",
    "ru": "Кнопки «Отключить вход по паролю» и «Включить вход по паролю» находятся в карточке сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»). С их помощью вы выбираете, как можно входить на сервер по SSH: только по ключу или также с паролем root. С blackbox.md можно сразу перейти к карточке: «Личный кабинет» → «Заказы» → «Управление в app.blackbox.md».\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером. В карточках с отметкой «Обслуживается» этих кнопок нет — напишите нам.\n\n## Что показывает карточка\n\nРядом с названием сервера стоит отметка с текущим режимом входа. Среди кнопок карточки есть та, что его переключает:\n\n| Отметка | Что это значит | Кнопка в карточке |\n|---|---|---|\n| «Только ключ» | Вход по SSH с паролем отключён. Подключиться можно только с установленным ключом. | «Включить вход по паролю» |\n| «Пароль + ключ» | Работают и пароль root, и установленные ключи. | «Отключить вход по паролю» |\n| нет отметки | Панель не знает, как настроен SSH на сервере. | нет |\n\nОтметка и кнопка появляются, только когда панель знает текущий режим. Если их нет, откройте «Добавить SSH-ключ» в той же карточке: когда загрузится список «Установленные ключи», панель проверит сервер и, если проверка удастся, покажет их.\n\n## Что меняется на сервере\n\nПанель записывает на сервер настройки SSH, которыми управляет BLACKBOX, — в файл в каталоге `/etc/ssh/sshd_config.d/`:\n\n| Действие | Результат |\n|---|---|\n| Отключение | Вход по SSH с паролем запрещён для всех пользователей, а `root` входит только по ключу. |\n| Включение | Вход по паролю снова работает: можно подключиться как `root` с паролем root. Установленные ключи продолжают работать. |\n\nПанель проверяет новые настройки, перезагружает конфигурацию SSH и сверяет применённое значение. Если какой-то шаг не удался, прежние настройки восстанавливаются и на сервере ничего не меняется. Уже открытые SSH-сессии не обрываются: новое правило действует для следующих подключений.\n\nПароль root при этом не удаляется. Фраза «Пароль для консоли останется рабочим» в окне подтверждения означает только это: пароль root по-прежнему задан на сервере и хранится в панели, его показывает кнопка «Показать учётные данные». По SSH он снова заработает после «Включить вход по паролю». Ни веб-консоли, ни VNC-консоли у клиентов нет.\n\nПереход на вход только по ключу — один из пунктов статьи [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Как отключить вход по паролю\n\n> **Внимание**\n> Перед отключением установите на сервер собственный SSH-ключ и во втором терминале убедитесь, что входите с ним. Панель не может проверить это за вас. Не закрывайте эту сессию, пока не убедитесь, что после изменения всё работает.\n\n1. В карточке сервера откройте «Добавить SSH-ключ» и посмотрите список «Установленные ключи». Ваш ключ должен быть в нём: сравните начало отпечатка (`SHA256:…`) с результатом команды ниже, выполненной на вашем компьютере (для RSA-ключа файл называется `~/.ssh/id_rsa.pub`). «Ключ управления (blackbox.md)» и другие ключи BLACKBOX вам для входа не подойдут (см. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox)). Если вашего ключа нет, добавьте его: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n2. В новом терминале подключитесь только по ключу. Если появится `Permission denied`, ключ не работает — дальше не продолжайте.\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@IP_СЕРВЕРА\n   ```\n\n3. Не закрывайте эту сессию.\n4. В панели нажмите «Отключить вход по паролю».\n5. Браузер попросит подтвердить: «Отключить вход по паролю по SSH на ИМЯ_СЕРВЕРА? После этого войти можно будет только с установленными SSH-ключами. Пароль для консоли останется рабочим.», где ИМЯ_СЕРВЕРА — название из карточки. Нажмите «OK».\n6. Пока изменение применяется, кнопка неактивна. Отдельного сообщения об успехе нет: отметка сменится на «Только ключ», а кнопка — на «Включить вход по паролю».\n7. Из нового терминала проверьте, что вход по ключу работает (команда из шага 2), а пароль не принимается. Команда ниже должна завершиться сообщением `Permission denied`, не запрашивая пароль:\n\n   ```bash\n   ssh -o PubkeyAuthentication=no root@IP_СЕРВЕРА\n   ```\n\n8. Закройте сессию из шага 2 только после этих проверок.\n\n## Как снова включить вход по паролю\n\n1. В карточке сервера нажмите «Включить вход по паролю».\n2. Подтвердите «Снова включить вход по паролю по SSH на ИМЯ_СЕРВЕРА?» кнопкой «OK».\n3. Отметка сменится на «Пароль + ключ», а кнопка — на «Отключить вход по паролю».\n4. Посмотрите пароль root кнопкой «Показать учётные данные» (см. [Просмотр учётных данных root](#acces.afisare-date-acces)) и подключитесь:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\nЕсли вы меняли пароль root на сервере командой `passwd`, панель покажет старый пароль. Создайте новый кнопкой «Сбросить пароль» (см. [Сброс пароля root](#acces.resetare-parola-root)). Пока вход по паролю включён, сервер будут пытаться взломать подбором пароля: используйте длинный пароль и прочитайте статью [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n\n## Проверка на сервере\n\nЗначение, которое SSH применяет на самом деле, показывает команда:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nДля «Только ключ» результат — `passwordauthentication no`, для «Пароль + ключ» — `passwordauthentication yes`.\n\n> **Важно**\n> Не меняйте `PasswordAuthentication` вручную в `/etc/ssh/sshd_config`. Настройки панели имеют приоритет, поэтому такая правка может ни на что не повлиять. Меняйте режим входа только кнопками в карточке.\n\nОтметка показывает последнее известное панели состояние. Панель заново считывает реальную конфигурацию SSH сервера, когда вы открываете «Добавить SSH-ключ» и загружается список «Установленные ключи»; если настройку меняли прямо на сервере, отметка и кнопка исправятся. Чтобы проверить ещё раз, обновите страницу и снова откройте «Добавить SSH-ключ».\n\n## Лимиты и ошибки\n\nРежим входа можно менять не больше 5 раз за 5 минут — для всех серверов аккаунта вместе. Учитывается каждая попытка, в том числе неудачная. Ошибки появляются в красном блоке в карточке.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Установленный ключ не найден — сначала добавьте ключ, прежде чем отключать пароль.» | Панель не нашла на сервере ни одного установленного ключа и не отключает пароль. | Добавьте свой ключ через «Добавить SSH-ключ», проверьте вход по нему и повторите. |\n| «Не удалось проверить наш ключ управления — это действие сейчас недоступно.» | Панель не может подтвердить ключ управления этого сервера и из предосторожности ничего не меняет. | Напишите нам на support@blackbox.md. |\n| «Не удалось изменить вход по паролю.» | Общее сообщение. Возможные причины: больше 5 попыток за 5 минут; для этого сервера уже выполняется другое изменение (например, из другой вкладки или через AI-ассистента); сервер остановлен или панель не может к нему подключиться; новые настройки не прошли проверку, и восстановлены прежние. | Подождите 5 минут и повторите. Если сервер остановлен, сначала запустите его кнопкой «Запустить». Если ошибка повторяется, напишите нам. |\n\n## Если подключиться не получается\n\nПока кнопки панели работают, нажмите «Включить вход по паролю» и войдите с паролем, который показывает кнопка «Показать учётные данные». Если и так не получается, воспользуйтесь статьёй [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Частые вопросы\n\n**Работают ли кнопки панели на сервере «Только ключ»?**\nДа. Панель подключается не по паролю, а по своему ключу — в списке «Установленные ключи» он называется «Ключ управления (blackbox.md)». Не удаляйте этот ключ с сервера.\n\n**После «Сбросить пароль» на сервере «Только ключ» новый пароль не подходит для SSH. Почему?**\nСброс меняет только пароль root. Вход по паролю по SSH остаётся отключённым, пока вы не нажмёте «Включить вход по паролю».\n\n**Отключение касается только `root` или всех пользователей?**\nВсех. Никто больше не сможет войти по SSH с паролем, а пользователи без установленного ключа вообще не смогут подключиться по SSH.\n\n**Можно ли переключить режим через AI-ассистента?**\nДа, с теми же проверками. См. [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n\n**Можно ли выбрать «только по ключу» ещё при заказе?**\nДа. См. [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda).\n",
    "en": "The “Disable password login” and “Enable password login” buttons are on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”). With them, you choose whether the server accepts SSH connections with a key only, or with the root password as well. From blackbox.md you can go straight to the card through “Contul meu” (My account) → “Comenzi” (Orders) → “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n\n**Available to:** the blackbox.md account holder who ordered the server, or an account that BLACKBOX has given management rights for the server. The buttons are not shown on cards marked “Managed”; write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you see on the card\n\nNext to the server's name, a badge shows the current SSH login mode. Among the card's buttons is the one that changes it:\n\n| Badge | What it means | Button on the card |\n|---|---|---|\n| “Key-only” | SSH password login is disabled. You connect only with an installed key. | “Enable password login” |\n| “Password + key” | Both the root password and the installed keys work. | “Disable password login” |\n| no badge | The panel doesn't know the server's SSH state. | none |\n\nThe badge and the button appear only when the panel knows the server's state. If they're missing, open “Add SSH key” on the same card: when the “Installed keys” list loads, the panel checks the server and, if the check succeeds, shows them.\n\n## What changes on the server\n\nThe panel writes the SSH settings managed by BLACKBOX to the server, in a file in the `/etc/ssh/sshd_config.d/` directory:\n\n| Action | Result |\n|---|---|\n| Disabling | SSH password login is turned off for all users, and `root` can connect only with a key. |\n| Enabling | Password login works again: you can connect as `root` with the root password. Installed keys keep working. |\n\nThe panel checks the new settings, reloads the SSH service and confirms the applied value. If any step fails, the previous settings are restored and nothing changes on the server. SSH sessions that are already open are not interrupted: the new rule applies to the next connections.\n\nThe root password is not deleted. The phrase “The console password still works” in the confirmation means only this: the root password stays set on the server and saved in the panel, where you can see it with “Reveal credentials”. Over SSH, it works again after “Enable password login”. There is no web or VNC console for customers.\n\nSwitching to key-only login is part of [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## How to disable password login\n\n> **Warning**\n> Before disabling, install your own SSH key on the server and check in a second terminal that you can connect with it. The panel can't do this check for you. Keep that session open until you've confirmed that everything works after the change.\n\n1. On the server card, open “Add SSH key” and check the “Installed keys” list. Your key must be there: compare the start of its fingerprint (`SHA256:…`) with the output of the command below, run on your computer (for an RSA key, the file is `~/.ssh/id_rsa.pub`). You can't use the “Management key (blackbox.md)” or the other BLACKBOX keys to connect yourself (see [BLACKBOX keys on your server](#acces.cheile-blackbox)). If your key is missing, add it: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n2. In a new terminal, connect using only the key. If you see `Permission denied`, the key doesn't work: don't continue.\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@SERVER_IP\n   ```\n\n3. Leave this session open.\n4. In the panel, click “Disable password login”.\n5. The browser asks you to confirm “Disable SSH password login on SERVER_NAME? After this, only installed SSH keys can log in. The console password still works.”, where SERVER_NAME is the server's name on the card. Click “OK”.\n6. While the change is being applied, the button is inactive. There is no separate success message: the badge changes to “Key-only”, and the button changes to “Enable password login”.\n7. From a new terminal, check that you can log in with the key (the command from step 2) and that the password is refused. The command below must end with `Permission denied` without asking you for a password:\n\n   ```bash\n   ssh -o PubkeyAuthentication=no root@SERVER_IP\n   ```\n\n8. Close the session from step 2 only after these checks.\n\n## How to turn password login back on\n\n1. On the server card, click “Enable password login”.\n2. Confirm “Re-enable SSH password login on SERVER_NAME?” with “OK”.\n3. The badge changes to “Password + key”, and the button changes to “Disable password login”.\n4. Show the root password with “Reveal credentials” (see [Showing root credentials](#acces.afisare-date-acces)) and connect:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\nIf you changed the root password on the server with `passwd`, the panel shows the old password. Generate a new one with “Reset password” (see [Resetting the root password](#acces.resetare-parola-root)). While password login is on, your server will be a target of password-guessing attempts: use a long password and see [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n\n## Checking on the server\n\nYou can see the value that SSH actually applies with:\n\n```bash\nsshd -T | grep -i passwordauthentication\n```\n\nThe output is `passwordauthentication no` for “Key-only” and `passwordauthentication yes` for “Password + key”.\n\n> **Important**\n> Don't change `PasswordAuthentication` manually in `/etc/ssh/sshd_config`. The panel's settings take precedence, so your change may have no effect. Change the setting only with the buttons on the card.\n\nThe badge shows the last state the panel knows. The panel rereads the server's actual SSH configuration when you open “Add SSH key” and the “Installed keys” list loads; if the setting was changed directly on the server, the badge and the button are corrected. To check again, reload the page and open “Add SSH key” again.\n\n## Limits and errors\n\nYou can change the setting at most 5 times in 5 minutes, for all the servers in your account together. Every attempt counts, including failed ones. Errors appear in a red box on the card.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “No installed key found — add a key before disabling password login.” | The panel found no installed key on the server and refuses to disable password login. | Add your key with “Add SSH key”, test that you can connect, then try again. |\n| “We couldn't verify our management key — this action is unavailable right now.” | The panel can't confirm this server's management key and, as a precaution, changes nothing. | Write to us at support@blackbox.md. |\n| “Failed to change password login.” | A general message. Possible causes: you've gone over 5 attempts in 5 minutes; another change is already in progress for the same server (for example, from another tab or through the AI assistant); the server is stopped or the panel can't connect to it; the new settings failed the check and the previous ones were restored. | Wait 5 minutes, then try again. If the server is stopped, start it first with “Start”. If the message repeats, write to us. |\n\n## If you can no longer connect\n\nAs long as the panel's buttons work, click “Enable password login” and connect with the password shown by “Reveal credentials”. If that doesn't work either, follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Frequently asked questions\n\n**Do the panel's buttons also work on a “Key-only” server?**\nYes. The panel doesn't connect with the password but with its own key, shown in “Installed keys” as “Management key (blackbox.md)”. Don't delete this key from the server.\n\n**I clicked “Reset password” on a “Key-only” server, but the new password doesn't work over SSH. Why?**\nResetting changes only the root password. SSH password login stays disabled until you click “Enable password login”.\n\n**Does disabling also affect other users, not just `root`?**\nYes. No user can connect over SSH with a password anymore, so users without an installed key lose SSH access.\n\n**Can I change the setting through the AI assistant?**\nYes, with the same checks. See [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n\n**Can I choose “key-only” right when I order?**\nYes. See [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda).\n"
   }
  },
  {
   "id": "acces.cheile-blackbox",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/cheile-blackbox/",
    "ru": "https://docs.blackbox.md/ru/acces/cheile-blackbox/",
    "en": "https://docs.blackbox.md/en/acces/cheile-blackbox/"
   },
   "title": {
    "ro": "Cheile BLACKBOX de pe serverul dvs.",
    "ru": "Ключи BLACKBOX на вашем сервере",
    "en": "BLACKBOX keys on your server"
   },
   "summary": {
    "ro": "Ce sunt cheia de administrare și cheia agentului AI din authorized_keys, la ce folosesc și ce se întâmplă dacă le ștergeți.",
    "ru": "Что такое ключ управления и ключ AI-агента в authorized_keys, зачем они нужны и что будет, если их удалить.",
    "en": "What the management key and the AI agent key in authorized_keys are, what they are for and what happens if you delete them."
   },
   "markdown": {
    "ro": "Pe fiecare server VPS nou comandat pe blackbox.md, fișierul `/root/.ssh/authorized_keys` conține, pe lângă cheile dvs., două chei adăugate de BLACKBOX: cheia de administrare și cheia agentului AI. Le vedeți în panoul app.blackbox.md, pe pagina „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”): pe cardul serverului apăsați „Adaugă cheie SSH”, iar lista apare în secțiunea „Chei instalate”.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul. Pe cardurile marcate „Administrat” lista de chei nu apare; pentru aceste servere scrieți-ne.\n\n## Cele două chei pe scurt\n\n| | Cheia de administrare | Cheia agentului AI |\n|---|---|---|\n| Cum apare în „Chei instalate” | „Cheie de administrare (blackbox.md)”, fără buton „Șterge” | comentariul `blackbox-agent-…`, cu buton „Șterge” |\n| Tipul cheii | `ssh-rsa` | `ssh-ed25519` |\n| De unde vine | generată separat pentru comanda dvs., la crearea serverului | adăugată la crearea serverului |\n| Cine o folosește | panoul și asistentul AI, pentru acțiunile pe care le cereți | un asistent AI căruia i-ați dat acces SSH prin MCP |\n| Se poate șterge din panou | nu | da |\n| Dacă lipsește | acțiunile panoului care se execută pe server nu mai funcționează | panoul funcționează normal |\n\nPartea privată a ambelor chei o păstrează BLACKBOX, criptat, împreună cu celelalte date de acces ale serverului. Niciuna dintre ele nu înlocuiește cheia dvs.: pentru propria conectare folosiți cheia dvs. sau parola root.\n\n## Cum recunoașteți cheile\n\nÎn panou, fiecare rând din „Chei instalate” arată începutul amprentei (de exemplu `SHA256:Ab12Cd34Ef56G…`), tipul cheii și eticheta: „Cheie de administrare (blackbox.md)” pentru cheia de administrare, iar pentru celelalte comentariul din fișier.\n\nPe server, afișați amprentele tuturor cheilor și comparați-le cu cele din panou:\n\n```bash\nssh-keygen -lf /root/.ssh/authorized_keys\n```\n\nComentariul cheii agentului începe cu `blackbox-agent-` și, de regulă, continuă cu numărul comenzii, de exemplu `blackbox-agent-bbx-2026-000123`. Comentariul cheii de administrare este adăugat automat la crearea serverului; o recunoașteți după amprentă și după tipul RSA.\n\n## Cheia de administrare\n\nPanoul se conectează cu ea la server prin SSH, ca `root`, de fiecare dată când cereți o acțiune care se execută pe server:\n\n- „Resetează parola”;\n- lista „Chei instalate”, „Adaugă cheia” și „Șterge”;\n- „Dezactivează login cu parolă” și „Activează login cu parolă”;\n- pasul „Se extinde discul” al unui upgrade ([Upgrade server: trecerea la un plan mai mare](#servere.upgrade));\n- comenzile rulate de un asistent AI ([Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server)) și instalarea cheii agentului;\n- instalarea agentului pentru serviciul suplimentar Monitoring ([Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare)).\n\nNu au nevoie de ea: „Afișează datele de acces”, „Repornește”, „Oprește”, „Pornește”, „Redenumește” și „Șterge definitiv”.\n\nCheia nu se poate șterge din panou: rândul ei nu are buton „Șterge”, iar un asistent AI care încearcă primește eroarea `management_key_protected`.\n\n### Dacă ați șters-o manual\n\n| Acțiunea | Ce vedeți |\n|---|---|\n| „Resetează parola” | de regulă `reset_failed` |\n| „Chei instalate” | `ssh_key_list_failed` |\n| „Adaugă cheia” | `ssh_key_push_failed` |\n| „Șterge” la o cheie | „Nu s-a putut șterge cheia.” |\n| „Dezactivează login cu parolă” / „Activează login cu parolă” | „Nu s-a putut schimba autentificarea prin parolă.” |\n| Comenzi și acces SSH prin asistentul AI | `ssh_connection_failed` |\n\nAceleași erori apar și când serverul este oprit sau nu răspunde prin SSH, așa că verificați întâi asta. Panoul nu poate reinstala cheia. Scrieți suportului, cu numărul comenzii (`BBX-…`) și adresa IP a serverului, ca s-o restabilim: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n> **Important**\n> Nu ștergeți cheia de administrare din `authorized_keys` și nu setați `PermitRootLogin no`. Înainte să schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH. Pentru clienți nu există consolă web sau VNC: dacă panoul nu mai ajunge la server și pierdeți și propriul acces, vă poate ajuta doar suportul ([Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces)).\n\n## Setările SSH care blochează cheia de administrare\n\nConexiunea de administrare intră ca `root`, cu cheie, pe portul 22.\n\n| Schimbarea pe server | De ce blochează | Ce faceți în schimb |\n|---|---|---|\n| `PermitRootLogin no` | root nu se mai poate conecta nici cu cheie | `PermitRootLogin prohibit-password`: root doar cu cheie |\n| SSH mutat pe alt port | panoul se conectează pe portul 22, iar noul port poate fi blocat de filtrul de rețea BLACKBOX | scrieți suportului înainte de schimbare |\n| firewall care permite portul 22 doar de la adresa dvs. IP | conexiunea BLACKBOX este respinsă | lăsați portul 22 deschis și protejați SSH cu chei și fail2ban; pentru restricții pe IP, întrebați întâi suportul |\n\nVerificați setarea efectivă:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nRezultatele `permitrootlogin yes`, `permitrootlogin prohibit-password` și `permitrootlogin without-password` (aceeași setare, cu numele vechi) sunt în regulă. `permitrootlogin no` blochează panoul. Dacă vreți să lucrați zilnic cu alt utilizator decât `root`, creați-l, dar lăsați conectarea lui `root` cu cheie: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Cheia agentului AI\n\nCu această cheie, un asistent AI (Claude, Cursor etc.) căruia îi dați voie poate deschide o sesiune SSH directă, de exemplu pentru `rsync` sau `scp`. Asistentul primește partea privată doar când o cere prin MCP cu unealta `get_server_ssh_access`, folosind un token cu permisiunea „Vizualizează parolele/accesul serverelor” (`servers:credentials`). Detalii: [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n\n- Pe un server există o singură cheie de agent, comună pentru toate token-urile dvs.\n- Comenzile rulate prin AI cu `run_server_command` nu o folosesc: ele trec prin cheia de administrare.\n- Funcțiile panoului nu depind de ea.\n\n### Cum ștergeți cheia agentului\n\n1. Pe cardul serverului apăsați „Adaugă cheie SSH”.\n2. În „Chei instalate”, găsiți rândul cu tipul `ssh-ed25519` și comentariul `blackbox-agent-…`.\n3. Apăsați „Șterge” și confirmați întrebarea „Ștergeți cheia {fp} de pe acest server?” (în locul {fp} apare începutul amprentei).\n4. Apare mesajul „Cheie ștearsă.”\n\nCheia nu revine singură. Este reinstalată doar când un asistent AI cu un token care are permisiunea `servers:credentials` cere din nou acces SSH la server, și atunci revine aceeași cheie. Cheia se schimbă doar la cererea `get_server_ssh_access` cu `regenerate=true`: se creează o cheie nouă, iar cea veche este ștearsă de pe server.\n\n> **Securitate**\n> Partea privată a cheii agentului dă acces `root`, la fel ca o parolă. Dacă bănuiți că a ajuns unde nu trebuie, revocați token-urile implicate, ștergeți cheia din panou și, dacă mai folosiți acces SSH prin AI, cereți o cheie nouă cu `regenerate=true`. Altfel, următoarea cerere reinstalează cheia veche.\n\n## Controlul rămâne la dvs.\n\n- Un asistent AI poate folosi cheile BLACKBOX doar printr-un token API creat de dvs. și doar cu permisiunile bifate la crearea lui: [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n- „Vizualizează parolele/accesul serverelor” (`servers:credentials`) permite cererea cheii agentului, iar „Rulează orice comandă ca root pe serverele mele” (`servers:exec`) permite comenzi prin cheia de administrare. Ambele înseamnă acces `root` pe toate serverele dvs.\n- Revocați token-urile pe care nu le folosiți: blackbox.md → „Contul meu” → „Token-uri API” → „Revocă”. Clientul AI pierde accesul imediat: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n- Schimbarea parolei contului blackbox.md oprește toate token-urile create înainte de schimbare.\n\n## Întrebări frecvente\n\n**În „Chei instalate” văd o cheie pe care nu am adăugat-o. Ce fac?**\nIdentificați-o după etichetă și comentariu. „Cheie de administrare (blackbox.md)” și cheia cu comentariul `blackbox-agent-…` sunt ale BLACKBOX. Dacă o cheie nu este nici a dvs., nici una dintre acestea două, ștergeți-o cu „Șterge” și scrieți suportului: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n**Poate echipa BLACKBOX să acceseze serverul meu?**\nCheia de administrare se folosește pentru acțiunile pe care le cereți dvs. în panou sau prin asistentul AI. Nu accesăm și nu citim conținutul aplicației dvs., cu excepția suportului tehnic la cererea dvs. explicită sau când legea ne obligă; atunci, dacă legea nu interzice, vă informăm în prealabil ([Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa)). Fiecare afișare a datelor de acces este înregistrată. Pentru comenzile rulate prin AI înregistrăm doar faptul că au rulat, fără textul comenzii și fără rezultatul ei.\n\n**Nu folosesc asistenți AI. De ce am cheia agentului pe server?**\nEste adăugată pe fiecare server VPS nou, ca un asistent AI să poată lucra fără pași suplimentari. Fără un token cu permisiunea `servers:credentials`, nimeni nu o poate cere din contul dvs. O puteți șterge oricând; nu revine decât la o nouă cerere de acces SSH prin AI. Pe un server care nu a primit-o la creare, ea se creează la prima astfel de cerere.\n",
    "ru": "На каждом новом VPS-сервере, заказанном на blackbox.md, в файле `/root/.ssh/authorized_keys` кроме ваших ключей есть два ключа, которые добавляет BLACKBOX: ключ управления и ключ AI-агента. Их видно в панели app.blackbox.md на странице «Мои серверы» (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»): в карточке сервера нажмите «Добавить SSH-ключ» — список появится в разделе «Установленные ключи».\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер. В карточках с отметкой «Обслуживается» списка ключей нет — по таким серверам напишите нам.\n\n## Два ключа вкратце\n\n| | Ключ управления | Ключ AI-агента |\n|---|---|---|\n| Как отображается в разделе «Установленные ключи» | «Ключ управления (blackbox.md)», без кнопки «Удалить» | комментарий `blackbox-agent-…`, есть кнопка «Удалить» |\n| Тип ключа | `ssh-rsa` | `ssh-ed25519` |\n| Откуда берётся | создаётся отдельно для вашего заказа при создании сервера | добавляется при создании сервера |\n| Кто им пользуется | панель и AI-ассистент — для действий, которые запускаете вы | AI-ассистент, которому вы дали SSH-доступ через MCP |\n| Можно удалить из панели | нет | да |\n| Если его нет | действия панели, которые выполняются на сервере, перестают работать | панель работает как обычно |\n\nПриватную часть обоих ключей BLACKBOX хранит в зашифрованном виде вместе с остальными учётными данными сервера. Ни один из них не заменяет ваш ключ: для собственного входа пользуйтесь своим ключом или паролем root.\n\n## Как отличить ключи\n\nВ панели каждая строка раздела «Установленные ключи» показывает начало отпечатка (например, `SHA256:Ab12Cd34Ef56G…`), тип ключа и подпись: у ключа управления — «Ключ управления (blackbox.md)», у остальных — комментарий из файла.\n\nНа сервере выведите отпечатки всех ключей и сравните их с панелью:\n\n```bash\nssh-keygen -lf /root/.ssh/authorized_keys\n```\n\nУ ключа агента комментарий начинается с `blackbox-agent-`, дальше обычно идёт номер заказа, например `blackbox-agent-bbx-2026-000123`. Комментарий ключа управления проставляется автоматически при создании сервера; узнать этот ключ можно по отпечатку и типу RSA.\n\n## Ключ управления\n\nПо этому ключу панель подключается к серверу по SSH под `root` каждый раз, когда вы запускаете действие, которое выполняется на самом сервере:\n\n- «Сбросить пароль»;\n- список «Установленные ключи», «Добавить ключ» и «Удалить»;\n- «Отключить вход по паролю» и «Включить вход по паролю»;\n- шаг «Расширение диска» при апгрейде ([Апгрейд сервера: переход на больший тариф](#servere.upgrade));\n- команды, которые выполняет AI-ассистент ([Выполнение команд на сервере через AI](#ai.comenzi-pe-server)), и установка ключа агента;\n- установка агента дополнительной услуги «Мониторинг» ([Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare)).\n\nБез него работают «Показать учётные данные», «Перезагрузить», «Остановить», «Запустить», «Переименовать» и удаление сервера кнопкой «Удалить» в карточке.\n\nУдалить ключ управления из панели нельзя: в его строке нет кнопки «Удалить», а AI-ассистент при такой попытке получит ошибку `management_key_protected`.\n\n### Если вы удалили его вручную\n\n| Действие | Что вы увидите |\n|---|---|\n| «Сбросить пароль» | как правило, `reset_failed` |\n| «Установленные ключи» | `ssh_key_list_failed` |\n| «Добавить ключ» | `ssh_key_push_failed` |\n| «Удалить» у ключа | «Не удалось удалить ключ.» |\n| «Отключить вход по паролю» / «Включить вход по паролю» | «Не удалось изменить вход по паролю.» |\n| Команды и SSH-доступ через AI-ассистента | `ssh_connection_failed` |\n\nТе же ошибки появляются, когда сервер остановлен или не отвечает по SSH, поэтому сначала проверьте это. Из панели ключ заново не установить. Напишите в поддержку, указав номер заказа (`BBX-…`) и IP-адрес сервера, и мы его восстановим: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n> **Важно**\n> Не удаляйте ключ управления из `authorized_keys` и не ставьте `PermitRootLogin no`. Прежде чем менять настройки SSH или файрвола, держите открытой вторую SSH-сессию. Веб- и VNC-консоли для клиентов нет: если панель потеряет связь с сервером, а вы — собственный доступ, помочь сможет только поддержка ([Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces)).\n\n## Настройки SSH, которые блокируют ключ управления\n\nПанель подключается к серверу под `root`, по ключу, через порт 22.\n\n| Изменение на сервере | Почему мешает | Что делать вместо этого |\n|---|---|---|\n| `PermitRootLogin no` | root не может войти даже по ключу | `PermitRootLogin prohibit-password`: root только по ключу |\n| SSH перенесён на другой порт | панель подключается к порту 22, а новый порт может блокироваться сетевым фильтром BLACKBOX | перед сменой напишите в поддержку |\n| файрвол пускает на порт 22 только ваш IP-адрес | подключение BLACKBOX отклоняется | оставьте порт 22 открытым и защищайте SSH ключами и fail2ban; ограничения по IP сначала согласуйте с поддержкой |\n\nПроверьте действующее значение:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nЗначения `permitrootlogin yes`, `permitrootlogin prohibit-password` и `permitrootlogin without-password` (та же настройка под старым названием) в порядке. `permitrootlogin no` блокирует панель. Если для повседневной работы вам нужен отдельный пользователь, создайте его, но оставьте вход `root` по ключу: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Ключ AI-агента\n\nС этим ключом AI-ассистент (Claude, Cursor и т. д.), которому вы это разрешили, может открыть прямую SSH-сессию, например для `rsync` или `scp`. Приватную часть ключа ассистент получает, только когда запрашивает её через MCP инструментом `get_server_ssh_access` по токену с разрешением «Просматривать пароли/доступы к серверам» (`servers:credentials`). Подробнее: [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n\n- На сервере один ключ агента, общий для всех ваших токенов.\n- Команды через AI (`run_server_command`) его не используют: они идут через ключ управления.\n- Функции панели от него не зависят.\n\n### Как удалить ключ агента\n\n1. В карточке сервера нажмите «Добавить SSH-ключ».\n2. В разделе «Установленные ключи» найдите строку с типом `ssh-ed25519` и комментарием `blackbox-agent-…`.\n3. Нажмите «Удалить» и подтвердите удаление в окне «Удалить ключ {fp} с этого сервера?» (вместо {fp} будет начало отпечатка).\n4. Появится сообщение «Ключ удалён.»\n\nСам по себе ключ не вернётся. Его установят заново, только если AI-ассистент с токеном, у которого есть разрешение `servers:credentials`, снова запросит SSH-доступ к серверу, — и это будет тот же самый ключ. Ключ меняется только по запросу `get_server_ssh_access` с `regenerate=true`: создаётся новый ключ, а старый удаляется с сервера.\n\n> **Безопасность**\n> Приватная часть ключа агента даёт доступ `root`, как пароль. Если есть подозрение, что она попала в чужие руки, отзовите затронутые токены, удалите ключ в панели и, если SSH-доступ через AI вам ещё нужен, запросите новый ключ с `regenerate=true`. Иначе следующий запрос вернёт на сервер старый ключ.\n\n## Контроль остаётся за вами\n\n- AI-ассистент может воспользоваться ключами BLACKBOX только через API-токен, который создали вы, и только в пределах разрешений, отмеченных при его создании: [Разрешения токенов (scopes)](#ai.permisiuni).\n- Разрешение «Просматривать пароли/доступы к серверам» (`servers:credentials`) позволяет запросить ключ агента, а «Выполнять любые команды от root на моих серверах» (`servers:exec`) — выполнять команды через ключ управления. Оба означают доступ `root` ко всем вашим серверам.\n- Отзывайте токены, которыми не пользуетесь: blackbox.md → «Личный кабинет» → «API-токены» → «Отозвать». AI-клиент сразу теряет доступ: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n- После смены пароля аккаунта blackbox.md все токены, созданные до смены, перестают работать.\n\n## Частые вопросы\n\n**В разделе «Установленные ключи» есть ключ, который я не добавлял. Что делать?**\nОпределите его по подписи и комментарию. «Ключ управления (blackbox.md)» и ключ с комментарием `blackbox-agent-…` принадлежат BLACKBOX. Если ключ не ваш и не один из этих двух, удалите его кнопкой «Удалить» и напишите в поддержку: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n**Может ли команда BLACKBOX зайти на мой сервер?**\nКлюч управления используется для действий, которые вы сами запускаете в панели или через AI-ассистента. Мы не получаем доступ к содержимому вашего приложения и не читаем ваши данные, кроме случаев, когда это нужно для технической поддержки по вашему прямому запросу или когда этого требует закон; тогда, если закон не запрещает, мы предупредим вас заранее ([Соглашение об обработке данных (DPA) для компаний](#legal.dpa)). Каждый просмотр учётных данных фиксируется в журнале. По командам через AI мы фиксируем только сам факт запуска — без текста команды и её результата.\n\n**Я не пользуюсь AI-ассистентами. Зачем на сервере ключ агента?**\nОн добавляется на каждый новый VPS-сервер, чтобы AI-ассистент мог работать без дополнительной настройки. Без токена с разрешением `servers:credentials` запросить его из вашего аккаунта невозможно. Ключ можно удалить в любой момент; вернётся он только при новом запросе SSH-доступа через AI. Если сервер не получил этот ключ при создании, он будет создан при первом таком запросе.\n",
    "en": "On every new VPS ordered on blackbox.md, the `/root/.ssh/authorized_keys` file contains, in addition to your own keys, two keys added by BLACKBOX: the management key and the AI agent key. You can see them in the app.blackbox.md panel, on the “My Servers” page (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”): on the server card, click “Add SSH key”, and the list appears in the “Installed keys” section.\n\n**Available to:** the holder of the blackbox.md account that ordered the server. The key list does not appear on cards marked “Managed”; for those servers, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The two keys at a glance\n\n| | Management key | AI agent key |\n|---|---|---|\n| How it appears in “Installed keys” | “Management key (blackbox.md)”, with no “Remove” button | the comment `blackbox-agent-…`, with a “Remove” button |\n| Key type | `ssh-rsa` | `ssh-ed25519` |\n| Where it comes from | generated separately for your order when the server is created | added when the server is created |\n| Who uses it | the panel and the AI assistant, for the actions you request | an AI assistant you have given SSH access through MCP |\n| Can be removed from the panel | no | yes |\n| If it is missing | panel actions that run on the server stop working | the panel works normally |\n\nBLACKBOX keeps the private part of both keys, encrypted, together with the server's other access credentials. Neither key replaces your own: to connect yourself, use your own key or the root password.\n\n## How to recognize the keys\n\nIn the panel, each row in “Installed keys” shows the beginning of the fingerprint (for example `SHA256:Ab12Cd34Ef56G…`), the key type and the label: “Management key (blackbox.md)” for the management key, and the comment from the file for the others.\n\nOn the server, display the fingerprints of all the keys and compare them with the ones in the panel:\n\n```bash\nssh-keygen -lf /root/.ssh/authorized_keys\n```\n\nThe agent key's comment starts with `blackbox-agent-` and usually continues with the order number, for example `blackbox-agent-bbx-2026-000123`. The management key's comment is added automatically when the server is created; you can recognize this key by its fingerprint and its RSA type.\n\n## The management key\n\nThe panel uses this key to connect to the server over SSH, as `root`, every time you request an action that runs on the server:\n\n- “Reset password”;\n- the “Installed keys” list, “Add key” and “Remove”;\n- “Disable password login” and “Enable password login”;\n- the “Growing disk” step of an upgrade ([Server upgrade: moving to a larger plan](#servere.upgrade));\n- commands run by an AI assistant ([Running commands on the server through AI](#ai.comenzi-pe-server)) and installing the agent key;\n- installing the agent for the Monitoring add-on service ([The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare)).\n\nThese actions do not need it: “Reveal credentials”, “Reboot”, “Stop”, “Start”, “Rename” and “Terminate”.\n\nYou cannot remove this key from the panel: its row has no “Remove” button, and an AI assistant that tries gets the error `management_key_protected`.\n\n### If you deleted it manually\n\n| Action | What you see |\n|---|---|\n| “Reset password” | usually `reset_failed` |\n| “Installed keys” | `ssh_key_list_failed` |\n| “Add key” | `ssh_key_push_failed` |\n| “Remove” on a key | “Failed to remove the key.” |\n| “Disable password login” / “Enable password login” | “Failed to change password login.” |\n| Commands and SSH access through the AI assistant | `ssh_connection_failed` |\n\nThe same errors also appear when the server is stopped or does not respond over SSH, so check that first. The panel cannot reinstall the key. Write to support with the order number (`BBX-…`) and the server's IP address, and we will restore it: [How to contact BLACKBOX support](#suport.contact).\n\n> **Important**\n> Do not delete the management key from `authorized_keys`, and do not set `PermitRootLogin no`. Before you change the SSH or firewall settings, keep a second SSH session open. There is no web or VNC console for customers: if the panel can no longer reach the server and you also lose your own access, only support can help you ([Lost access to your server (password or key)](#acces.recuperare-acces)).\n\n## SSH settings that block the management key\n\nThe management connection logs in as `root`, with a key, on port 22.\n\n| Change on the server | Why it blocks the key | What to do instead |\n|---|---|---|\n| `PermitRootLogin no` | root can no longer log in, not even with a key | `PermitRootLogin prohibit-password`: root with a key only |\n| SSH moved to another port | the panel connects on port 22, and the new port may be blocked by the BLACKBOX network filter | write to support before making the change |\n| a firewall that allows port 22 only from your IP address | the BLACKBOX connection is rejected | leave port 22 open and protect SSH with keys and fail2ban; for IP restrictions, ask support first |\n\nCheck the effective setting:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nThe results `permitrootlogin yes`, `permitrootlogin prohibit-password` and `permitrootlogin without-password` (the same setting under its old name) are fine. `permitrootlogin no` blocks the panel. If you want to work day to day as a user other than `root`, create that user, but keep `root` login with a key: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## The AI agent key\n\nWith this key, an AI assistant (Claude, Cursor, etc.) that you have allowed to do so can open a direct SSH session, for example for `rsync` or `scp`. The assistant receives the private part only when it requests it through MCP with the `get_server_ssh_access` tool, using a token with the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission (`servers:credentials`). Details: [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n\n- A server has a single agent key, shared by all your tokens.\n- Commands run through AI with `run_server_command` do not use it: they go through the management key.\n- Panel features do not depend on it.\n\n### How to remove the agent key\n\n1. On the server card, click “Add SSH key”.\n2. In “Installed keys”, find the row with the type `ssh-ed25519` and the comment `blackbox-agent-…`.\n3. Click “Remove” and confirm the question “Remove key SHA256:… from this server?” (after “Remove key”, you see the beginning of the key's fingerprint).\n4. The message “Key removed.” appears.\n\nThe key does not come back by itself. It is reinstalled only when an AI assistant with a token that has the `servers:credentials` permission requests SSH access to the server again, and then the same key comes back. The key changes only on a `get_server_ssh_access` request with `regenerate=true`: a new key is created, and the old one is deleted from the server.\n\n> **Security**\n> The private part of the agent key gives `root` access, just like a password. If you suspect it has ended up in the wrong hands, revoke the tokens involved, remove the key in the panel and, if you still use SSH access through AI, request a new key with `regenerate=true`. Otherwise, the next request reinstalls the old key.\n\n## You stay in control\n\n- An AI assistant can use the BLACKBOX keys only through an API token you created, and only with the permissions you checked when you created it: [Token permissions (scopes)](#ai.permisiuni).\n- “Vizualizează parolele/accesul serverelor” (View server passwords/access) (`servers:credentials`) allows requesting the agent key, and “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) (`servers:exec`) allows commands through the management key. Both mean `root` access to all your servers.\n- Revoke the tokens you don't use: blackbox.md → “Contul meu” (My account) → “Token-uri API” (API tokens) → “Revocă” (Revoke). The AI client loses access immediately: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n- Changing your blackbox.md account password stops all tokens created before the change.\n\n## Frequently asked questions\n\n**In “Installed keys” I see a key I did not add. What should I do?**\nIdentify it by its label and comment. “Management key (blackbox.md)” and the key with the comment `blackbox-agent-…` belong to BLACKBOX. If a key is neither yours nor one of these two, remove it with “Remove” and write to support: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n**Can the BLACKBOX team access my server?**\nThe management key is used for the actions you request in the panel or through the AI assistant. We do not access or read the content of your application, except for technical support at your explicit request or when the law requires us to; in that case, unless the law forbids it, we inform you in advance ([Data Processing Agreement (DPA) for companies](#legal.dpa)). Every time the access credentials are shown, this is logged. For commands run through AI, we log only the fact that they ran, without the command text or its output.\n\n**I don't use AI assistants. Why is the agent key on my server?**\nIt is added to every new VPS so that an AI assistant can work without extra steps. Without a token with the `servers:credentials` permission, no one can request it from your account. You can remove it at any time; it comes back only with a new request for SSH access through AI. On a server that did not receive it at creation, it is created at the first such request.\n"
   }
  },
  {
   "id": "acces.conectare-ssh",
   "section": "acces",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/conectare-ssh/",
    "ru": "https://docs.blackbox.md/ru/acces/conectare-ssh/",
    "en": "https://docs.blackbox.md/en/acces/conectare-ssh/"
   },
   "title": {
    "ro": "Conectarea la server prin SSH (Windows, macOS, Linux)",
    "ru": "Подключение к серверу по SSH (Windows, macOS, Linux)",
    "en": "Connecting to your server over SSH (Windows, macOS, Linux)"
   },
   "summary": {
    "ro": "Cum vă conectați la server cu parolă sau cu cheie din Windows, macOS și Linux, plus erorile de la prima conectare.",
    "ru": "Как подключиться к серверу по паролю или ключу из Windows, macOS и Linux, и что делать с ошибками при первом подключении.",
    "en": "How to connect to your server with a password or a key from Windows, macOS and Linux, plus the errors you may see the first time you connect."
   },
   "markdown": {
    "ro": "Serverul se administrează prin SSH: vă conectați din terminal (macOS, Linux, Windows) sau din PuTTY și lucrați direct în linia de comandă a serverului. Datele de conectare le găsiți în panoul app.blackbox.md, la „Serverele mele” (`app.blackbox.md/my-servers`; din blackbox.md: „Contul meu” → „Panou de administrare” → „Serverele mele”), și în emailul cu subiectul „Serverul dvs. este gata — BBX-…”.\n\n**Disponibil pentru:** titularul contului blackbox.md care are un server VPS activ. Serverele dedicate sunt pregătite manual de echipă, iar datele de acces le stabiliți împreună cu ea.\n\n## Ce vă trebuie\n\n| Ce | Unde găsiți |\n|---|---|\n| Adresa IP a serverului | panoul → „Serverele mele” → cardul serverului, câmpul „IP” (butonul de lângă adresă o copiază și afișează „Copiat”); emailul, rândul „Adresă IP”; „Contul meu” → „Comenzi”, linia „Server: …” |\n| Utilizatorul | `root` |\n| Portul | 22 |\n| Parola (servere „Parolă + cheie”) | emailul, rândul „Parolă”, sau butonul „Afișează datele de acces” de pe card: [Afișarea datelor de acces root](#acces.afisare-date-acces) |\n| Cheia privată (servere „Doar cheie”) | pe calculatorul dvs.: cheia privată din aceeași pereche cu cheia publică atașată la comandă sau adăugată din panou; de obicei `~/.ssh/id_ed25519` |\n\nInsigna de lângă numele serverului, pe card, arată modul de autentificare: „Parolă + cheie” (funcționează și parola, și cheile instalate) sau „Doar cheie” (funcționează doar cheile). Modul se alege la comandă ([Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda)) și se poate schimba apoi din panou ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)).\n\n> **Notă**\n> Emailul „Serverul dvs. este gata” poate sosi cu aproximativ un minut înainte ca serverul să răspundă la SSH. Dacă prima încercare eșuează, așteptați un minut și reîncercați.\n\n## Conectarea din macOS și Linux\n\nClientul SSH este deja instalat.\n\n1. Deschideți aplicația Terminal. Pe macOS: Cmd + Spațiu, tastați „Terminal” și apăsați Enter. Pe Linux: din meniul de aplicații (pe Ubuntu, Ctrl + Alt + T).\n2. Rulați comanda, înlocuind `IP_SERVER` cu adresa serverului:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\n3. La prima conectare, SSH vă arată amprenta (fingerprint) serverului și vă întreabă dacă aveți încredere în el:\n\n   ```text\n   The authenticity of host 'IP_SERVER (IP_SERVER)' can't be established.\n   ED25519 key fingerprint is SHA256:….\n   Are you sure you want to continue connecting (yes/no/[fingerprint])?\n   ```\n\n   Tastați `yes` și apăsați Enter. Amprenta se salvează în `~/.ssh/known_hosts`, iar întrebarea nu mai apare.\n4. Introduceți parola și apăsați Enter. Parola nu apare pe ecran în timp ce o tastați, nici măcar ca asteriscuri: este normal. Pe un server „Doar cheie” parola nu vi se cere: dacă cheia este acceptată, intrați direct (dacă cheia are o frază de acces, vi se cere fraza).\n5. Când apare linia de comandă a serverului, terminată cu `#`, sunteți conectat ca `root`. Încheiați sesiunea cu Ctrl + D.\n\n### Cu o anumită cheie\n\nCa să indicați explicit cheia (de exemplu, când aveți mai multe), scrieți după `-i` calea către cheia privată, adică fișierul fără `.pub`:\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@IP_SERVER\n```\n\nDacă SSH afișează `WARNING: UNPROTECTED PRIVATE KEY FILE!` și ignoră cheia, fișierul are permisiuni prea largi. Restrângeți-le:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\nCum creați o cheie: [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n## Conectarea din Windows 10 și 11\n\n### PowerShell sau Windows Terminal\n\nWindows 10 și 11 includ clientul OpenSSH, deci comenzile sunt aceleași ca pe macOS și Linux.\n\n1. Deschideți PowerShell sau Windows Terminal (meniul Start → tastați „PowerShell”).\n2. Rulați:\n\n   ```powershell\n   ssh root@IP_SERVER\n   ```\n\n3. La prima conectare confirmați amprenta cu `yes`, apoi introduceți parola, ca mai sus.\n\nCu o anumită cheie (cheile se află în folderul `.ssh` din profilul dvs., `C:\\Users\\NUME_UTILIZATOR\\.ssh`):\n\n```powershell\nssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@IP_SERVER\n```\n\nDacă Windows răspunde că `ssh` nu este recunoscut ca o comandă, adăugați componenta OpenSSH Client din setările Windows, la funcțiile opționale.\n\n### PuTTY\n\nPuTTY este un client SSH grafic și gratuit. Descărcați-l de pe [site-ul oficial PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).\n\n1. Deschideți PuTTY. În categoria „Session” completați:\n   - „Host Name (or IP address)”: adresa IP a serverului;\n   - „Port”: `22`;\n   - „Connection type”: „SSH”.\n2. Opțional, la „Connection” → „Data”, scrieți `root` în câmpul „Auto-login username”.\n3. Pentru autentificarea cu cheie, deschideți „Connection” → „SSH” → „Auth” → „Credentials”, apăsați „Browse...” lângă „Private key file for authentication” și alegeți fișierul `.ppk` (vedeți mai jos). În versiunile mai vechi de PuTTY, câmpul se află direct la „Auth”.\n4. Apăsați „Open”. La prima conectare apare fereastra „PuTTY Security Alert” cu amprenta serverului: apăsați „Accept”.\n5. La „login as:” tastați `root` (dacă nu l-ați completat la pasul 2), apoi parola. Parola nu apare pe ecran.\n\n### Cheia pentru PuTTY: formatul .ppk\n\nPuTTY nu citește direct cheile OpenSSH (de exemplu `id_ed25519`); are nevoie de formatul `.ppk`. Conversia o faceți cu PuTTYgen, instalat împreună cu PuTTY:\n\n1. Deschideți PuTTYgen și apăsați „Load”.\n2. În fereastra de alegere a fișierului, selectați filtrul „All Files (\\*.\\*)” și deschideți cheia privată (de exemplu `C:\\Users\\NUME_UTILIZATOR\\.ssh\\id_ed25519`, fișierul fără `.pub`).\n3. Dacă cheia are o frază de acces (passphrase), introduceți-o.\n4. Apăsați „Save private key” și salvați fișierul `.ppk`. Pe acesta îl alegeți în PuTTY la pasul 3.\n\nDacă ați generat cheia direct în PuTTYgen, aveți deja fișierul `.ppk`.\n\n## Alt port decât 22\n\nPe serverele BLACKBOX, SSH ascultă pe portul 22. Dacă ați mutat singur SSH pe alt port, indicați-l cu `-p` (în PuTTY, în câmpul „Port”):\n\n```bash\nssh -p PORT root@IP_SERVER\n```\n\nFiltrarea din rețea administrată de BLACKBOX lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping, iar panoul se conectează la server tot pe portul 22 (pentru „Resetează parola”, cheile SSH și login-ul cu parolă). Pe alt port, SSH poate fi inaccesibil din internet, iar aceste butoane nu mai funcționează. Scrieți suportului înainte de schimbare: [Cum contactați suportul BLACKBOX](#suport.contact). Detalii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## Avertismentul „REMOTE HOST IDENTIFICATION HAS CHANGED”\n\n```text\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n…\nHost key verification failed.\n```\n\nLa o conectare anterioară, calculatorul dvs. a salvat altă amprentă pentru această adresă IP. Se întâmplă când serverul a fost recreat sau sistemul a fost reinstalat, ori când adresa IP a aparținut unui alt server la care v-ați conectat înainte. SSH refuză conectarea până ștergeți amprenta veche.\n\n1. Ștergeți amprenta veche (comanda funcționează și în PowerShell):\n\n   ```bash\n   ssh-keygen -R IP_SERVER\n   ```\n\n2. Conectați-vă din nou și confirmați noua amprentă cu `yes`.\n\nÎn PuTTY apare fereastra „PuTTY Security Alert”, care avertizează că cheia serverului nu corespunde celei salvate. Dacă știți de ce s-a schimbat, apăsați „Accept” (în versiunile mai vechi, „Yes”).\n\n> **Atenție**\n> Dacă serverul nu a fost recreat sau reinstalat și adresa IP nu s-a schimbat, nu continuați conectarea și scrieți suportului: [Cum contactați suportul BLACKBOX](#suport.contact). O amprentă schimbată fără motiv poate însemna că cineva interceptează conexiunea.\n\n## Serverele „Doar cheie”\n\nPe un server cu insigna „Doar cheie”, SSH nu cere parola: fără cheia corectă apare `Permission denied (publickey)`.\n\n- Parola root există (o vedeți cu „Afișează datele de acces”), dar prin SSH funcționează doar după „Activează login cu parolă”: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n- O cheie nouă (de exemplu, de pe alt calculator) o adăugați cu „Adaugă cheie SSH”: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n- Ați pierdut cheia privată: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Erori frecvente la prima conectare\n\n| Mesaj | Cauză probabilă | Ce faceți |\n|---|---|---|\n| `Connection timed out` (pe macOS `Operation timed out`) | serverul tocmai a fost creat sau este oprit, IP-ul este greșit ori rețeaua dvs. blochează portul 22 | așteptați un minut; comparați IP-ul cu cel de pe card; dacă ați oprit serverul, apăsați „Pornește”; încercați din altă rețea |\n| `Connection refused` | SSH încă pornește (primul minut), ascultă pe alt port sau îl respinge firewall-ul serverului | așteptați un minut; dacă ați schimbat portul, adăugați `-p PORT` |\n| `Permission denied (publickey)` | server „Doar cheie”, iar cheia dvs. nu este instalată sau SSH oferă altă cheie; utilizator diferit de `root` | conectați-vă ca `root`, cu cheia corectă (`-i`); adăugați cheia cu „Adaugă cheie SSH” |\n| `Permission denied, please try again.` | parolă greșită (de exemplu, panoul arată parola veche după o schimbare cu `passwd`) | copiați parola din „Afișează datele de acces” sau setați una nouă cu „Resetează parola”: [Resetarea parolei root](#acces.resetare-parola-root) |\n\nToate cazurile, cu verificări pas cu pas: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Nu există consolă în browser\n\nClienții nu au consolă web sau VNC (nici cea pomenită în emailul pentru serverele „Doar cheie”): serverul se administrează prin SSH. Din panou, fără să vă conectați, puteți reporni, opri și porni serverul, reseta parola root și gestiona cheile (ultimele două cer ca SSH să funcționeze pe server): [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele). Dacă nu vă puteți conecta și butoanele din panou nu ajută: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## După prima conectare\n\n### Schimbați parola din email sau treceți la chei\n\n- **Parolă nouă:** pe cardul serverului apăsați „Resetează parola”. Panoul setează o parolă nouă și o reține, așa că „Afișează datele de acces” arată parola corectă: [Resetarea parolei root](#acces.resetare-parola-root). Dacă schimbați parola cu `passwd`, panoul va arăta în continuare parola veche.\n- **Chei SSH:** adăugați cheia cu „Adaugă cheie SSH”, verificați într-un al doilea terminal că vă conectați cu ea și abia apoi apăsați „Dezactivează login cu parolă”.\n\n### Actualizați sistemul\n\nUbuntu și Debian:\n\n```bash\napt update\napt upgrade -y\n```\n\nPe Ubuntu poate apărea o fereastră a programului needrestart, care întreabă ce servicii să fie repornite: lăsați selecția propusă și apăsați Enter.\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf upgrade -y\n```\n\nDacă s-a actualizat nucleul (kernel), reporniți serverul cu „Repornește” din panou. Actualizări automate: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate).\n\n> **Important**\n> Când schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH până verificați că vă puteți conecta din nou. Dacă rămâneți fără acces, scrieți suportului.\n\nPașii următori: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Întrebări frecvente\n\n**Emailul unui server „Doar cheie” arată „Amprente chei”. Trebuie să coincidă cu amprenta de la prima conectare?**\nNu. În email sunt amprentele cheilor dvs. publice, atașate la comandă. La prima conectare, SSH arată amprenta serverului, care este alta. Amprenta cheii dvs. o vedeți cu comanda de mai jos și o comparați cu cea din email.\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n**Mă pot conecta cu alt utilizator decât `root`?**\nDatele de acces de la BLACKBOX (parola și cheile de la comandă) sunt pentru `root`. Alți utilizatori îi puteți crea singur pe server.\n\n**Cum copiez fișiere pe server?**\nTot prin SSH, cu `scp`, `rsync` sau un client SFTP: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n",
    "ru": "Сервер администрируется по SSH: вы подключаетесь из терминала (macOS, Linux, Windows) или из PuTTY и работаете прямо в командной строке сервера. Данные для подключения есть в панели app.blackbox.md, в разделе «Мои серверы» (`app.blackbox.md/my-servers`; с blackbox.md: «Личный кабинет» → «Панель управления» → «Мои серверы»), а также в письме с темой «Serverul dvs. este gata — BBX-…».\n\n**Доступно:** владельцу аккаунта blackbox.md с активным VPS-сервером. Выделенные серверы команда готовит вручную, и данные для доступа вы согласуете с ней.\n\n## Что понадобится\n\n| Что | Где найти |\n|---|---|\n| IP-адрес сервера | панель → «Мои серверы» → карточка сервера, поле «IP» (кнопка рядом с адресом копирует его и показывает «Скопировано»); письмо, строка «IP-адрес»; «Личный кабинет» → «Заказы», строка «Сервер: …» |\n| Пользователь | `root` |\n| Порт | 22 |\n| Пароль (серверы «Пароль + ключ») | письмо, строка «Пароль», или кнопка «Показать учётные данные» на карточке: [Просмотр учётных данных root](#acces.afisare-date-acces) |\n| Приватный ключ (серверы «Только ключ») | на вашем компьютере: приватный ключ из той же пары, что и публичный ключ, прикреплённый при заказе или добавленный в панели; обычно `~/.ssh/id_ed25519` |\n\nЗначок рядом с именем сервера на карточке показывает способ входа: «Пароль + ключ» (работают и пароль, и установленные ключи) или «Только ключ» (работают только ключи). Способ выбирается при заказе ([SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda)), а потом его можно изменить в панели ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)).\n\n> **Примечание**\n> Письмо «Serverul dvs. este gata» может прийти примерно за минуту до того, как сервер начнёт отвечать по SSH. Если первая попытка не удалась, подождите минуту и повторите.\n\n## Подключение с macOS и Linux\n\nSSH-клиент уже установлен.\n\n1. Откройте приложение «Терминал». На macOS нажмите Cmd + Пробел, введите «Терминал» (или Terminal) и нажмите Enter. В Linux — через меню приложений (в Ubuntu — Ctrl + Alt + T).\n2. Выполните команду, подставив адрес сервера вместо `IP_СЕРВЕРА`:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\n3. При первом подключении SSH покажет отпечаток (fingerprint) сервера и спросит, доверяете ли вы ему:\n\n   ```text\n   The authenticity of host 'IP_СЕРВЕРА (IP_СЕРВЕРА)' can't be established.\n   ED25519 key fingerprint is SHA256:….\n   Are you sure you want to continue connecting (yes/no/[fingerprint])?\n   ```\n\n   Введите `yes` и нажмите Enter. Отпечаток сохранится в `~/.ssh/known_hosts`, и больше этот вопрос не появится.\n4. Введите пароль и нажмите Enter. При вводе пароль не отображается — даже звёздочками, и это нормально. На сервере «Только ключ» пароль не запрашивается: если ключ принят, вы сразу попадаете на сервер (если ключ защищён парольной фразой, SSH попросит ввести её).\n5. Когда появится командная строка сервера, которая заканчивается на `#`, вы вошли как `root`. Завершить сеанс можно сочетанием Ctrl + D.\n\n### С определённым ключом\n\nЧтобы явно указать ключ (например, если ключей у вас несколько), передайте в параметре `-i` путь к приватному ключу — файлу без `.pub`:\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРА\n```\n\nЕсли SSH выводит `WARNING: UNPROTECTED PRIVATE KEY FILE!` и не использует ключ, у файла слишком широкие права доступа. Ограничьте их:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\nКак создать ключ: [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n## Подключение с Windows 10 и 11\n\n### PowerShell или Windows Terminal\n\nВ Windows 10 и 11 встроен клиент OpenSSH, поэтому команды те же, что в macOS и Linux.\n\n1. Откройте PowerShell или Windows Terminal (меню «Пуск» → введите «PowerShell»).\n2. Выполните:\n\n   ```powershell\n   ssh root@IP_СЕРВЕРА\n   ```\n\n3. При первом подключении подтвердите отпечаток словом `yes` и введите пароль — так же, как описано выше.\n\nС определённым ключом (ключи хранятся в папке `.ssh` вашего профиля, `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh`):\n\n```powershell\nssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@IP_СЕРВЕРА\n```\n\nЕсли Windows сообщает, что `ssh` не распознан как команда, добавьте компонент OpenSSH Client в параметрах Windows, в разделе дополнительных компонентов.\n\n### PuTTY\n\nPuTTY — бесплатный SSH-клиент с графическим интерфейсом. Скачайте его с [официального сайта PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).\n\n1. Откройте PuTTY. В разделе «Session» заполните:\n   - «Host Name (or IP address)» — IP-адрес сервера;\n   - «Port» — `22`;\n   - «Connection type» — «SSH».\n2. При желании в разделе «Connection» → «Data» укажите `root` в поле «Auto-login username».\n3. Для входа по ключу откройте «Connection» → «SSH» → «Auth» → «Credentials», нажмите «Browse...» рядом с полем «Private key file for authentication» и выберите файл `.ppk` (см. ниже). В старых версиях PuTTY это поле находится прямо в разделе «Auth».\n4. Нажмите «Open». При первом подключении появится окно «PuTTY Security Alert» с отпечатком сервера — нажмите «Accept».\n5. На приглашение «login as:» введите `root` (если не указали его на шаге 2), затем пароль. Пароль на экране не отображается.\n\n### Ключ для PuTTY: формат .ppk\n\nPuTTY не читает ключи OpenSSH (например, `id_ed25519`) напрямую — ему нужен формат `.ppk`. Преобразовать ключ можно в PuTTYgen, который устанавливается вместе с PuTTY:\n\n1. Откройте PuTTYgen и нажмите «Load».\n2. В окне выбора файла переключите фильтр на «All Files (\\*.\\*)» и откройте приватный ключ (например, `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\id_ed25519` — файл без `.pub`).\n3. Если ключ защищён парольной фразой (passphrase), введите её.\n4. Нажмите «Save private key» и сохраните файл `.ppk`. Именно его нужно выбрать в PuTTY на шаге 3.\n\nЕсли ключ создавался в PuTTYgen, файл `.ppk` у вас уже есть.\n\n## Порт, отличный от 22\n\nНа серверах BLACKBOX SSH работает на порту 22. Если вы сами перенесли SSH на другой порт, укажите его через `-p` (в PuTTY — в поле «Port»):\n\n```bash\nssh -p ПОРТ root@IP_СЕРВЕРА\n```\n\nСетевая фильтрация, которой управляет BLACKBOX, по умолчанию пропускает только SSH (22), HTTP (80), HTTPS (443) и ping, а панель тоже подключается к серверу через порт 22 (для «Сбросить пароль», SSH-ключей и входа по паролю). На другом порту SSH может оказаться недоступен из интернета, а эти кнопки перестанут работать. Перед сменой порта напишите в поддержку: [Как связаться с поддержкой BLACKBOX](#suport.contact). Подробнее: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## Предупреждение «REMOTE HOST IDENTIFICATION HAS CHANGED»\n\n```text\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n…\nHost key verification failed.\n```\n\nПри одном из прошлых подключений ваш компьютер сохранил для этого IP-адреса другой отпечаток. Так бывает, если сервер пересоздали или переустановили на нём систему, а также если этот IP раньше принадлежал другому серверу, к которому вы подключались. Пока старый отпечаток не удалён, SSH отказывается подключаться.\n\n1. Удалите старый отпечаток (команда работает и в PowerShell):\n\n   ```bash\n   ssh-keygen -R IP_СЕРВЕРА\n   ```\n\n2. Подключитесь снова и подтвердите новый отпечаток словом `yes`.\n\nВ PuTTY появится окно «PuTTY Security Alert» с предупреждением, что ключ сервера не совпадает с сохранённым. Если вы знаете, почему он изменился, нажмите «Accept» (в старых версиях — «Yes»).\n\n> **Внимание**\n> Если сервер не пересоздавался, система не переустанавливалась и IP-адрес не менялся, не продолжайте подключение и напишите в поддержку: [Как связаться с поддержкой BLACKBOX](#suport.contact). Отпечаток, сменившийся без причины, может означать, что соединение кто-то перехватывает.\n\n## Серверы «Только ключ»\n\nНа сервере со значком «Только ключ» SSH не запрашивает пароль: без нужного ключа появляется `Permission denied (publickey)`.\n\n- Пароль root у сервера есть (его можно посмотреть кнопкой «Показать учётные данные»), но по SSH он заработает только после «Включить вход по паролю»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n- Новый ключ (например, с другого компьютера) добавьте кнопкой «Добавить SSH-ключ»: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n- Приватный ключ потерян: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Частые ошибки при первом подключении\n\n| Сообщение | Вероятная причина | Что делать |\n|---|---|---|\n| `Connection timed out` (в macOS — `Operation timed out`) | сервер только что создан или остановлен, IP указан неверно либо ваша сеть блокирует порт 22 | подождите минуту; сверьте IP с карточкой сервера; если вы останавливали сервер, нажмите «Запустить»; попробуйте подключиться из другой сети |\n| `Connection refused` | SSH ещё запускается (первая минута), работает на другом порту или его отклоняет файрвол сервера | подождите минуту; если меняли порт, добавьте `-p ПОРТ` |\n| `Permission denied (publickey)` | сервер «Только ключ», а ваш ключ не установлен или SSH предлагает не тот ключ; пользователь — не `root` | подключайтесь как `root` с нужным ключом (`-i`); добавьте ключ кнопкой «Добавить SSH-ключ» |\n| `Permission denied, please try again.` | неверный пароль (например, панель показывает старый пароль после смены через `passwd`) | скопируйте пароль через «Показать учётные данные» или задайте новый кнопкой «Сбросить пароль»: [Сброс пароля root](#acces.resetare-parola-root) |\n\nВсе случаи с пошаговыми проверками: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Консоли в браузере нет\n\nУ клиентов нет ни веб-консоли, ни VNC-консоли (в том числе той, что упомянута в письме для серверов «Только ключ»): сервер администрируется по SSH. Без подключения к серверу в панели можно перезагрузить, остановить и запустить сервер, сбросить пароль root и управлять ключами (последние два действия требуют, чтобы на сервере работал SSH): [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele). Если подключиться не удаётся и кнопки панели не помогают: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## После первого подключения\n\n### Смените пароль из письма или перейдите на ключи\n\n- **Новый пароль:** на карточке сервера нажмите «Сбросить пароль». Панель задаст новый пароль и запомнит его, поэтому «Показать учётные данные» будет показывать актуальный пароль: [Сброс пароля root](#acces.resetare-parola-root). Если сменить пароль командой `passwd`, панель продолжит показывать старый.\n- **SSH-ключи:** добавьте ключ кнопкой «Добавить SSH-ключ», во втором терминале убедитесь, что вход по нему работает, и только после этого нажмите «Отключить вход по паролю».\n\n### Обновите систему\n\nUbuntu и Debian:\n\n```bash\napt update\napt upgrade -y\n```\n\nВ Ubuntu может появиться окно программы needrestart с вопросом, какие службы перезапустить: оставьте предложенный выбор и нажмите Enter.\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf upgrade -y\n```\n\nЕсли обновилось ядро, перезагрузите сервер кнопкой «Перезагрузить» в панели. Автоматические обновления: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate).\n\n> **Важно**\n> Меняя настройки SSH или файрвола, держите открытым второй сеанс SSH, пока не убедитесь, что новое подключение проходит. Если доступ потерян, напишите в поддержку.\n\nЧто дальше: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Частые вопросы\n\n**В письме для сервера «Только ключ» есть строка «Отпечатки ключей». Они должны совпасть с отпечатком при первом подключении?**\nНет. В письме — отпечатки ваших публичных ключей, прикреплённых при заказе. При первом подключении SSH показывает отпечаток самого сервера, а он другой. Отпечаток своего ключа можно посмотреть командой ниже и сравнить с письмом.\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n**Можно ли подключаться не как `root`?**\nДанные для доступа от BLACKBOX (пароль и ключи из заказа) предназначены для `root`. Других пользователей вы можете создать на сервере сами.\n\n**Как передать файлы на сервер?**\nТоже по SSH — через `scp`, `rsync` или SFTP-клиент: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n",
    "en": "You manage your server over SSH: you connect from a terminal (macOS, Linux, Windows) or from PuTTY and work directly on the server's command line. You'll find the connection details in the app.blackbox.md panel, under “My Servers” (`app.blackbox.md/my-servers`; from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel) → “My Servers”), and in the email with the subject “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…).\n\n**Available to:** the blackbox.md account holder with an active VPS server. Dedicated servers are prepared manually by our team, and you agree on their access details with us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you need\n\n| What | Where to find it |\n|---|---|\n| The server's IP address | the panel → “My Servers” → the server card, the “IP” field (the button next to the address copies it and shows “Copied”); the email, the “Adresă IP” (IP address) row; “Contul meu” (My account) → “Comenzi” (Orders), the “Server: …” line |\n| User | `root` |\n| Port | 22 |\n| Password (“Password + key” servers) | the email, the “Parolă” (Password) row, or the “Reveal credentials” button on the card: [Showing root credentials](#acces.afisare-date-acces) |\n| Private key (“Key-only” servers) | on your computer: the private key from the same pair as the public key you attached to the order or added from the panel; usually `~/.ssh/id_ed25519` |\n\nThe badge next to the server name on the card shows the login method: “Password + key” (both the password and the installed keys work) or “Key-only” (only keys work). You choose the method when you order ([The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda)) and can change it later from the panel ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)).\n\n> **Note**\n> The “Serverul dvs. este gata” (Your server is ready) email may arrive about a minute before the server responds over SSH. If your first attempt fails, wait a minute and try again.\n\n## Connecting from macOS and Linux\n\nThe SSH client is already installed.\n\n1. Open the Terminal app. On macOS: press Cmd + Space, type “Terminal” and press Enter. On Linux: open it from the applications menu (on Ubuntu, Ctrl + Alt + T).\n2. Run the command, replacing `SERVER_IP` with the server's address:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\n3. On the first connection, SSH shows you the server's fingerprint and asks whether you trust it:\n\n   ```text\n   The authenticity of host 'SERVER_IP (SERVER_IP)' can't be established.\n   ED25519 key fingerprint is SHA256:….\n   Are you sure you want to continue connecting (yes/no/[fingerprint])?\n   ```\n\n   Type `yes` and press Enter. The fingerprint is saved in `~/.ssh/known_hosts`, and the question won't appear again.\n4. Enter the password and press Enter. The password does not appear on the screen while you type it, not even as asterisks: this is normal. On a “Key-only” server, you are not asked for a password: if the key is accepted, you go straight in (if the key has a passphrase, you are asked for the passphrase).\n5. When the server's command line appears, ending in `#`, you are connected as `root`. End the session with Ctrl + D.\n\n### With a specific key\n\nTo choose the key explicitly (for example, when you have several), write the path to the private key after `-i`, that is, the file without `.pub`:\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@SERVER_IP\n```\n\nIf SSH shows `WARNING: UNPROTECTED PRIVATE KEY FILE!` and ignores the key, the file's permissions are too broad. Restrict them:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\nHow to create a key: [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n## Connecting from Windows 10 and 11\n\n### PowerShell or Windows Terminal\n\nWindows 10 and 11 include the OpenSSH client, so the commands are the same as on macOS and Linux.\n\n1. Open PowerShell or Windows Terminal (Start menu → type “PowerShell”).\n2. Run:\n\n   ```powershell\n   ssh root@SERVER_IP\n   ```\n\n3. On the first connection, confirm the fingerprint with `yes`, then enter the password, as described above.\n\nWith a specific key (your keys are in the `.ssh` folder of your profile, `C:\\Users\\USERNAME\\.ssh`):\n\n```powershell\nssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@SERVER_IP\n```\n\nIf Windows says that `ssh` is not recognized as a command, add the OpenSSH Client component in Windows Settings, under optional features.\n\n### PuTTY\n\nPuTTY is a free SSH client with a graphical interface. Download it from the [official PuTTY website](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).\n\n1. Open PuTTY. In the “Session” category, fill in:\n   - “Host Name (or IP address)”: the server's IP address;\n   - “Port”: `22`;\n   - “Connection type”: “SSH”.\n2. Optionally, under “Connection” → “Data”, enter `root` in the “Auto-login username” field.\n3. For key authentication, open “Connection” → “SSH” → “Auth” → “Credentials”, click “Browse...” next to “Private key file for authentication” and choose the `.ppk` file (see below). In older versions of PuTTY, this field is directly under “Auth”.\n4. Click “Open”. On the first connection, the “PuTTY Security Alert” window appears with the server's fingerprint: click “Accept”.\n5. At “login as:”, type `root` (if you didn't fill it in at step 2), then the password. The password does not appear on the screen.\n\n### The key for PuTTY: the .ppk format\n\nPuTTY can't read OpenSSH keys (for example `id_ed25519`) directly; it needs the `.ppk` format. You convert the key with PuTTYgen, which is installed together with PuTTY:\n\n1. Open PuTTYgen and click “Load”.\n2. In the file selection window, choose the “All Files (\\*.\\*)” filter and open the private key (for example `C:\\Users\\USERNAME\\.ssh\\id_ed25519`, the file without `.pub`).\n3. If the key has a passphrase, enter it.\n4. Click “Save private key” and save the `.ppk` file. This is the file you choose in PuTTY at step 3.\n\nIf you generated the key directly in PuTTYgen, you already have the `.ppk` file.\n\n## A port other than 22\n\nOn BLACKBOX servers, SSH listens on port 22. If you moved SSH to another port yourself, specify it with `-p` (in PuTTY, in the “Port” field):\n\n```bash\nssh -p PORT root@SERVER_IP\n```\n\nThe network filtering managed by BLACKBOX lets through only SSH (22), HTTP (80), HTTPS (443) and ping by default, and the panel also connects to the server on port 22 (for “Reset password”, SSH keys and password login). On another port, SSH may be unreachable from the internet, and these buttons stop working. Write to support before you make the change: [How to contact BLACKBOX support](#suport.contact). Details: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## The “REMOTE HOST IDENTIFICATION HAS CHANGED” warning\n\n```text\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n…\nHost key verification failed.\n```\n\nDuring an earlier connection, your computer saved a different fingerprint for this IP address. This happens when the server was recreated or its system was reinstalled, or when the IP address belonged to another server you connected to before. SSH refuses to connect until you delete the old fingerprint.\n\n1. Delete the old fingerprint (the command also works in PowerShell):\n\n   ```bash\n   ssh-keygen -R SERVER_IP\n   ```\n\n2. Connect again and confirm the new fingerprint with `yes`.\n\nIn PuTTY, the “PuTTY Security Alert” window appears, warning that the server's key does not match the saved one. If you know why it changed, click “Accept” (“Yes” in older versions).\n\n> **Warning**\n> If the server was not recreated or reinstalled and the IP address has not changed, do not continue connecting, and write to support: [How to contact BLACKBOX support](#suport.contact). A fingerprint that changed for no reason may mean that someone is intercepting the connection.\n\n## “Key-only” servers\n\nOn a server with the “Key-only” badge, SSH does not ask for a password: without the correct key, you get `Permission denied (publickey)`.\n\n- The root password exists (you can see it with “Reveal credentials”), but it works over SSH only after you click “Enable password login”: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n- To add a new key (for example, from another computer), use “Add SSH key”: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n- If you lost the private key: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Common errors on the first connection\n\n| Message | Likely cause | What to do |\n|---|---|---|\n| `Connection timed out` (on macOS, `Operation timed out`) | the server was just created or is stopped, the IP is wrong, or your network blocks port 22 | wait a minute; compare the IP with the one on the card; if you stopped the server, click “Start”; try from another network |\n| `Connection refused` | SSH is still starting (the first minute), listens on another port, or the server's firewall rejects it | wait a minute; if you changed the port, add `-p PORT` |\n| `Permission denied (publickey)` | a “Key-only” server, and your key isn't installed or SSH offers a different key; a user other than `root` | connect as `root` with the correct key (`-i`); add the key with “Add SSH key” |\n| `Permission denied, please try again.` | wrong password (for example, the panel shows the old password after you changed it with `passwd`) | copy the password from “Reveal credentials” or set a new one with “Reset password”: [Resetting the root password](#acces.resetare-parola-root) |\n\nAll cases, with step-by-step checks: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## There is no browser console\n\nCustomers have no web or VNC console (not even the one mentioned in the email for “Key-only” servers): you manage the server over SSH. From the panel, without connecting, you can reboot, stop and start the server, reset the root password and manage keys (the last two require SSH to be working on the server): [The “My Servers” page: the server card](#servere.serverele-mele). If you can't connect and the panel buttons don't help: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## After your first connection\n\n### Change the password from the email or switch to keys\n\n- **New password:** on the server card, click “Reset password”. The panel sets a new password and remembers it, so “Reveal credentials” shows the correct password: [Resetting the root password](#acces.resetare-parola-root). If you change the password with `passwd`, the panel will keep showing the old one.\n- **SSH keys:** add your key with “Add SSH key”, check in a second terminal that you can connect with it, and only then click “Disable password login”.\n\n### Update the system\n\nUbuntu and Debian:\n\n```bash\napt update\napt upgrade -y\n```\n\nOn Ubuntu, a needrestart window may appear asking which services to restart: keep the suggested selection and press Enter.\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf upgrade -y\n```\n\nIf the kernel was updated, reboot the server with “Reboot” in the panel. Automatic updates: [System updates and automatic security updates](#ghiduri.actualizari-automate).\n\n> **Important**\n> When you change SSH settings or the firewall, keep a second SSH session open until you've checked that you can connect again. If you lose access, write to support.\n\nNext steps: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## Frequently asked questions\n\n**The email for a “Key-only” server shows “Amprente chei” (Key fingerprints). Should they match the fingerprint I see on the first connection?**\nNo. The email lists the fingerprints of your public keys, the ones attached to the order. On the first connection, SSH shows the server's fingerprint, which is a different one. To see your key's fingerprint, run the command below and compare the result with the one in the email.\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n**Can I connect as a user other than `root`?**\nThe access details from BLACKBOX (the password and the keys from the order) are for `root`. You can create other users on the server yourself.\n\n**How do I copy files to the server?**\nAlso over SSH, with `scp`, `rsync` or an SFTP client: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n"
   }
  },
  {
   "id": "acces.recuperare-acces",
   "section": "acces",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/acces/recuperare-acces/",
    "ru": "https://docs.blackbox.md/ru/acces/recuperare-acces/",
    "en": "https://docs.blackbox.md/en/acces/recuperare-acces/"
   },
   "title": {
    "ro": "Ați pierdut accesul la server (parolă sau cheie)",
    "ru": "Потерян доступ к серверу (пароль или ключ)",
    "en": "Lost access to your server (password or key)"
   },
   "summary": {
    "ro": "Ce faceți dacă ați uitat parola root, ați pierdut cheia privată sau v-ați blocat cu firewall-ul ori cu configurația SSH.",
    "ru": "Что делать, если вы забыли пароль root, потеряли приватный ключ или заблокировали себя файрволом либо настройками SSH.",
    "en": "What to do if you forgot the root password, lost your private key, or locked yourself out with the firewall or the SSH configuration."
   },
   "markdown": {
    "ro": "Cum vă recăpătați accesul la server când ați uitat parola root, ați pierdut cheia SSH privată sau v-ați blocat singur cu firewall-ul ori cu configurația SSH. Majoritatea situațiilor le rezolvați pe cardul serverului din pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Din blackbox.md intrați în panou prin „Contul meu” → „Panou de administrare”.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul. Pe cardurile marcate „Administrat” butoanele de mai jos lipsesc: scrieți suportului.\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC. Butoanele „Resetează parola”, „Adaugă cheie SSH” și cele de login cu parolă se conectează la server prin SSH, cu „Cheie de administrare (blackbox.md)”. Ele funcționează doar dacă serverul este pornit și SSH-ul lui acceptă această cheie.\n\n## Ce faceți, pe scurt\n\n| Situația | Ce faceți |\n|---|---|\n| Ați uitat parola root, iar cardul are eticheta „Parolă + cheie” | „Afișează datele de acces”; dacă parola afișată nu merge, „Resetează parola” și vă conectați cu parola nouă |\n| Ați schimbat parola cu `passwd` (cum recomandă emailul „Serverul dvs. este gata”) și ați uitat-o | „Resetează parola”: „Afișează datele de acces” arată parola veche |\n| Ați pierdut cheia privată, cardul are „Parolă + cheie” | vă conectați cu parola, apoi adăugați o cheie nouă |\n| Ați pierdut cheia privată, cardul are „Doar cheie” | creați o cheie nouă pe calculator → „Adaugă cheie SSH” → „Lipește o cheie nouă”; sau „Activează login cu parolă” + „Resetează parola” |\n| V-ați blocat cu firewall-ul (`ufw`, `firewalld`) sau ați stricat configurația SSH | „Resetează parola” și butoanele pentru chei eșuează și ele; „Repornește” ajută doar dacă schimbarea nu a fost salvată permanent; altfel scrieți suportului |\n| Ați șters de pe server „Cheie de administrare (blackbox.md)” | gestionarea cheilor și butoanele de login cu parolă nu mai funcționează: scrieți suportului |\n\n## Ați uitat parola root\n\n1. Pe cardul serverului apăsați „Afișează datele de acces” și confirmați „Afișați datele de acces salvate pentru NUME_SERVER? Accesul este înregistrat.”. Pe card apare o casetă cu „Utilizator” și „Parolă”.\n2. Încercați să vă conectați cu această parolă. Dacă ați schimbat-o între timp cu `passwd`, caseta arată parola veche, care nu mai funcționează.\n3. Dacă parola nu merge, apăsați „Resetează parola” și confirmați „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.”. Panoul setează pe server o parolă nouă de 20 de caractere și o afișează în aceeași casetă.\n4. Conectați-vă cu parola nouă:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\nPuteți reseta parola de cel mult 3 ori în 5 minute. Detalii: [Resetarea parolei root](#acces.resetare-parola-root).\n\nPe un server „Doar cheie”, parola nouă nu deschide SSH-ul: autentificarea cu parolă rămâne dezactivată. Urmați varianta B din secțiunea următoare.\n\n## Ați pierdut cheia privată\n\nCheia privată există doar pe calculatorul dvs.: în cont și pe server sunt doar chei publice, așa că o cheie privată pierdută nu se poate recupera. Creați una nouă.\n\nDacă serverul are „Parolă + cheie”, vă puteți conecta cu parola (secțiunea de mai sus); creați apoi o cheie nouă după varianta A.\n\n### Varianta A: cheie nouă (serverul „Doar cheie”)\n\n1. Creați o pereche de chei nouă pe calculator (Windows, macOS sau Linux). Instrucțiuni: [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n   ```bash\n   ssh-keygen -t ed25519\n   ```\n\n   Comanda creează `id_ed25519` (cheia privată, rămâne la dvs.) și `id_ed25519.pub` (cheia publică) în folderul `.ssh` al utilizatorului.\n2. Pe cardul serverului apăsați „Adaugă cheie SSH” și alegeți „Lipește o cheie nouă”.\n3. Lipiți în câmp conținutul fișierului `id_ed25519.pub`: un singur rând care începe cu `ssh-ed25519`.\n4. Apăsați „Adaugă cheia”. Pe card apare mesajul „Cheie adăugată.”, iar cheia nouă se vede în lista „Chei instalate”.\n5. Conectați-vă de pe calculatorul cu cheia nouă:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\n6. În „Chei instalate”, apăsați „Șterge” lângă cheia pierdută și confirmați „Ștergeți cheia … de pe acest server?”. Apare „Cheie ștearsă.”. Dacă era salvată și în „Contul meu” → „Chei SSH”, ștergeți-o și de acolo: ștergerea din cont nu o elimină de pe servere, și invers.\n\nDacă ați salvat cheia nouă în „Contul meu” → „Chei SSH”, la pasul 2 alegeți „Folosește o cheie salvată”. Detalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n\n### Varianta B: temporar cu parolă\n\n1. Pe card apăsați „Activează login cu parolă” și confirmați „Reactivați autentificarea prin parolă SSH pe NUME_SERVER?”. Eticheta devine „Parolă + cheie”.\n2. Apăsați „Resetează parola” și confirmați. Noua parolă apare pe card.\n3. Conectați-vă cu parola și adăugați o cheie nouă (varianta A).\n4. După ce vă conectați cu cheia, apăsați „Dezactivează login cu parolă” ca serverul să fie din nou „Doar cheie”: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\n## V-ați blocat cu firewall-ul sau cu configurația SSH\n\nCauze tipice: ați activat `ufw` sau `firewalld` fără să permiteți portul 22, ați mutat SSH pe alt port, ați stricat fișierul de configurare SSH sau ați setat `PermitRootLogin no`. Panoul se conectează și el prin SSH, pe portul 22, ca `root`, așa că „Resetează parola”, „Adaugă cheie SSH” și butoanele de login cu parolă eșuează.\n\n1. Apăsați „Repornește” și confirmați „Reporniți NUME_SERVER?”. Repornirea se face prin infrastructura BLACKBOX, nu prin SSH, deci funcționează și când SSH-ul este blocat ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)).\n2. Așteptați câteva minute și încercați din nou să vă conectați.\n3. Dacă tot nu reușiți, scrieți suportului (secțiunea „Când panoul nu vă poate ajuta”).\n\nRepornirea ajută doar dacă schimbarea nu a fost salvată permanent: de exemplu o regulă `firewall-cmd` fără `--permanent`, o regulă `iptables` nesalvată sau serviciul SSH oprit cu `systemctl stop`. Nu ajută după `ufw enable` (firewall-ul rămâne activ după repornire), după reguli salvate cu `--permanent` sau după un fișier de configurare SSH modificat și salvat.\n\nMesajele de eroare ale panoului și ce înseamnă:\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `reset_failed` | Panoul nu s-a putut conecta la server sau comanda a eșuat. Parola nu s-a schimbat. | Dacă ați oprit serverul, apăsați „Pornește”; altfel „Repornește”, apoi suportul. |\n| `ssh_key_push_failed` | Cheia nu a fost adăugată. | La fel ca mai sus. |\n| `ssh_key_list_failed` | Lista „Chei instalate” nu s-a putut citi. | La fel ca mai sus. |\n| „Nu s-a putut schimba autentificarea prin parolă.” | Setarea a rămas cea de dinainte. | La fel ca mai sus. |\n| `invalid_public_key` | Textul lipit nu este o cheie publică acceptată, de exemplu ați lipit cheia privată. | Lipiți conținutul fișierului `.pub`. |\n| „Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” | Ați resetat parola de 3 ori în 5 minute. | Așteptați 5 minute. |\n\n## Ați șters cheia de administrare\n\nPanoul nu vă lasă să ștergeți „Cheie de administrare (blackbox.md)”. Dacă ați scos-o manual din `/root/.ssh/authorized_keys`, gestionarea cheilor, butoanele de login cu parolă și comenzile prin asistentul AI nu mai funcționează. „Resetează parola” reușește doar dacă autentificarea SSH cu parolă este activă și parola salvată în panou nu a fost schimbată pe server. Serverul în sine funcționează normal. Ca să readuceți cheia, scrieți suportului. Detalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n## Când panoul nu vă poate ajuta\n\nEchipa BLACKBOX vă ajută să recăpătați accesul după ce vă verifică identitatea.\n\n1. Scrieți la support@blackbox.md de pe adresa de email a contului blackbox.md (răspundem în maxim 4 ore în zilele lucrătoare) sau deschideți un tichet din „Contul meu” → „Ajutor și suport”. Pentru urgențe în orele de lucru: +373 78 003948 (telefon sau WhatsApp), luni–vineri, 09:00–18:00 (ora Moldovei).\n2. Indicați adresa IP a serverului și numărul comenzii `BBX-…` (câmpurile „IP” și „Comandă” de pe card).\n3. Descrieți ce ați schimbat ultima dată, de exemplu „am activat ufw” sau „am șters o cheie din authorized_keys”.\n\nToate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Cum evitați blocarea\n\n- Adăugați pe server două chei, de pe două dispozitive diferite.\n- Păstrați parola root într-un manager de parole. Schimbați-o cu „Resetează parola”, nu cu `passwd`, ca panoul să știe parola actuală.\n- Când schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH și închideți-o abia după ce o conexiune nouă reușește.\n- Nu mutați SSH pe alt port și nu permiteți portul 22 doar de la adresa dvs. IP: panoul și asistentul AI se conectează pe portul 22, iar filtrarea din rețea administrată de BLACKBOX poate bloca un port nou. Dacă aveți nevoie de altă configurație, scrieți întâi suportului. Detalii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n- Permiteți SSH în firewall înainte să-l activați sau să-i schimbați regulile. Ubuntu și Debian:\n\n  ```bash\n  ufw allow 22/tcp\n  ufw enable\n  ```\n\n  AlmaLinux și CentOS Stream (zona implicită a firewalld permite deja SSH; comenzile funcționează doar cu firewalld pornit):\n\n  ```bash\n  firewall-cmd --permanent --add-service=ssh\n  firewall-cmd --reload\n  ```\n\n- După ce editați configurația SSH, verificați-o. Dacă comanda nu afișează nimic, configurația este corectă:\n\n  ```bash\n  sshd -t\n  ```\n\n  Abia apoi reîncărcați serviciul SSH:\n\n  ```bash\n  systemctl reload ssh || systemctl reload sshd\n  ```\n\n> **Important**\n> Nu ștergeți „Cheie de administrare (blackbox.md)” și nu setați `PermitRootLogin no`: altfel panoul nu se mai poate conecta la server și nu vă mai poate ajuta. Dacă restricționați autentificarea root, folosiți `PermitRootLogin prohibit-password`. Autentificarea cu parolă o schimbați cu butoanele panoului, nu editând `PasswordAuthentication`.\n\n## Întrebări frecvente\n\n**Cum știu dacă problema este parola sau cheia, nu rețeaua?**\nMesajul `Permission denied` înseamnă că serverul răspunde, dar refuză parola sau cheia: urmați acest articol. `Connection timed out` sau `Connection refused` înseamnă că serverul nu răspunde pe SSH: vedeți [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**Emailul „Serverul dvs. este gata” pomenește o consolă VNC. Unde o găsesc?**\nNu există: clienții nu au consolă web sau VNC. „Parola de consolă” din email și din mesajele panoului este parola root, pe care o vedeți cu „Afișează datele de acces”.\n\n**Am greșit parola de mai multe ori și acum nu mă mai pot conecta deloc.**\nDacă ați instalat fail2ban, adresa dvs. IP a fost blocată temporar. Așteptați expirarea blocării sau conectați-vă de pe altă adresă (de exemplu, de pe internetul mobil) și deblocați-o: [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n\n**Nu pot intra nici în contul blackbox.md, nici în panou.**\nRecăpătați întâi accesul la cont: [Ați uitat parola contului](#cont.parola-uitata) sau [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut).\n\n**Cheia pierdută era pe un laptop furat. Ce mai fac?**\nȘtergeți cheia veche de pe fiecare server și din „Contul meu” → „Chei SSH”, resetați parola root și schimbați parola contului. Dacă bănuiți că cineva a intrat pe server, citiți [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n",
    "ru": "Как вернуть доступ к серверу, если вы забыли пароль root, потеряли приватный SSH-ключ или сами себя заблокировали файрволом либо настройками SSH. Большинство таких ситуаций решается на карточке сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»). С blackbox.md в панель можно перейти через «Личный кабинет» → «Панель управления».\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер. На карточках с пометкой «Обслуживается» описанных ниже кнопок нет — напишите в поддержку.\n\n> **Внимание**\n> У клиентов нет ни веб-консоли, ни VNC. Кнопки «Сбросить пароль», «Добавить SSH-ключ» и кнопки входа по паролю подключаются к серверу по SSH с ключом управления — в списке ключей он подписан «Ключ управления (blackbox.md)». Они работают, только если сервер запущен и его SSH принимает этот ключ.\n\n## Коротко: что делать\n\n| Ситуация | Что делать |\n|---|---|\n| Забыли пароль root, на карточке значок «Пароль + ключ» | «Показать учётные данные»; если показанный пароль не подходит — «Сбросить пароль» и вход с новым паролем |\n| Сменили пароль командой `passwd` (как рекомендует письмо «Serverul dvs. este gata») и забыли его | «Сбросить пароль»: «Показать учётные данные» покажет старый пароль |\n| Потеряли приватный ключ, на карточке «Пароль + ключ» | войдите по паролю, затем добавьте новый ключ |\n| Потеряли приватный ключ, на карточке «Только ключ» | создайте новый ключ на компьютере → «Добавить SSH-ключ» → «Вставить новый ключ»; или «Включить вход по паролю» + «Сбросить пароль» |\n| Заблокировали себя файрволом (`ufw`, `firewalld`) или испортили настройки SSH | «Сбросить пароль» и кнопки для ключей тоже не сработают; «Перезагрузить» поможет, только если изменение не было сохранено постоянно; иначе напишите в поддержку |\n| Удалили с сервера «Ключ управления (blackbox.md)» | управление ключами и кнопки входа по паролю перестают работать — напишите в поддержку |\n\n## Забыли пароль root\n\n1. На карточке сервера нажмите «Показать учётные данные» и подтвердите «Показать сохранённые учётные данные для ИМЯ_СЕРВЕРА? Доступ фиксируется в журнале.». На карточке появится блок с полями «Пользователь» и «Пароль».\n2. Попробуйте войти с этим паролем. Если вы меняли его командой `passwd`, в блоке будет старый пароль, и он уже не подойдёт.\n3. Если пароль не подходит, нажмите «Сбросить пароль» и подтвердите «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.». Панель задаст на сервере новый пароль из 20 символов и покажет его в том же блоке.\n4. Подключитесь с новым паролем:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\nСбрасывать пароль можно не больше 3 раз за 5 минут. Подробнее: [Сброс пароля root](#acces.resetare-parola-root).\n\nНа сервере «Только ключ» новый пароль не откроет вход по SSH: вход по паролю остаётся отключённым. Воспользуйтесь способом Б из следующего раздела.\n\n## Потеряли приватный ключ\n\nПриватный ключ хранится только на вашем компьютере: в аккаунте и на сервере есть лишь публичные ключи, поэтому потерянный приватный ключ восстановить нельзя. Создайте новый.\n\nЕсли на сервере «Пароль + ключ», можно войти по паролю (см. раздел выше), а новый ключ создать по способу А.\n\n### Способ А: новый ключ (сервер «Только ключ»)\n\n1. Создайте новую пару ключей на компьютере (Windows, macOS или Linux). Инструкция: [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n   ```bash\n   ssh-keygen -t ed25519\n   ```\n\n   Команда создаст в папке `.ssh` вашего пользователя файлы `id_ed25519` (приватный ключ, остаётся у вас) и `id_ed25519.pub` (публичный ключ).\n2. На карточке сервера нажмите «Добавить SSH-ключ» и выберите «Вставить новый ключ».\n3. Вставьте в поле содержимое файла `id_ed25519.pub` — одну строку, которая начинается с `ssh-ed25519`.\n4. Нажмите «Добавить ключ». На карточке появится сообщение «Ключ добавлен.», а новый ключ — в списке «Установленные ключи».\n5. Подключитесь с компьютера, на котором лежит новый ключ:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\n6. В списке «Установленные ключи» нажмите «Удалить» рядом с потерянным ключом и подтвердите «Удалить ключ … с этого сервера?». Появится «Ключ удалён.». Если этот ключ есть и в разделе «Личный кабинет» → «SSH-ключи», удалите его и там: удаление из аккаунта не убирает ключ с серверов, и наоборот.\n\nЕсли новый ключ уже сохранён в разделе «Личный кабинет» → «SSH-ключи», на шаге 2 выберите «Использовать сохранённый ключ». Подробнее: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n\n### Способ Б: временно по паролю\n\n1. На карточке нажмите «Включить вход по паролю» и подтвердите «Снова включить вход по паролю по SSH на ИМЯ_СЕРВЕРА?». Значок сменится на «Пароль + ключ».\n2. Нажмите «Сбросить пароль» и подтвердите. Новый пароль появится на карточке.\n3. Войдите по паролю и добавьте новый ключ (способ А).\n4. Убедившись, что вход по ключу работает, нажмите «Отключить вход по паролю», чтобы сервер снова стал «Только ключ»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\n## Заблокировали себя файрволом или настройками SSH\n\nТипичные причины: вы включили `ufw` или `firewalld`, не разрешив порт 22, перенесли SSH на другой порт, испортили файл настроек SSH или задали `PermitRootLogin no`. Панель тоже подключается по SSH — на порт 22 под `root`, поэтому «Сбросить пароль», «Добавить SSH-ключ» и кнопки входа по паролю завершатся ошибкой.\n\n1. Нажмите «Перезагрузить» и подтвердите «Перезагрузить ИМЯ_СЕРВЕРА?». Перезагрузка выполняется через инфраструктуру BLACKBOX, а не по SSH, поэтому работает и при заблокированном SSH ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)).\n2. Подождите несколько минут и снова попробуйте подключиться.\n3. Если не получилось, напишите в поддержку (раздел «Когда панель не может помочь»).\n\nПерезагрузка помогает, только если изменение не было сохранено постоянно: например, правило `firewall-cmd` без `--permanent`, несохранённое правило `iptables` или служба SSH, остановленная командой `systemctl stop`. Она не поможет после `ufw enable` (файрвол остаётся включённым и после перезагрузки), после правил, сохранённых с `--permanent`, и после изменённого и сохранённого файла настроек SSH.\n\nСообщения об ошибках в панели и что они значат:\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| `reset_failed` | Панель не смогла подключиться к серверу, или команда не выполнилась. Пароль не изменился. | Если вы останавливали сервер, нажмите «Запустить»; иначе — «Перезагрузить», затем напишите в поддержку. |\n| `ssh_key_push_failed` | Ключ не добавлен. | То же, что выше. |\n| `ssh_key_list_failed` | Не удалось прочитать список «Установленные ключи». | То же, что выше. |\n| «Не удалось изменить вход по паролю.» | Настройка осталась прежней. | То же, что выше. |\n| `invalid_public_key` | Вставленный текст не является допустимым публичным ключом — например, вы вставили приватный ключ. | Вставьте содержимое файла `.pub`. |\n| «Rate limit exceeded — password reset is limited to 3 requests per 5 minutes» | Вы сбросили пароль 3 раза за 5 минут. | Подождите 5 минут. |\n\n## Удалили ключ управления\n\nПанель не даёт удалить «Ключ управления (blackbox.md)». Если вы убрали его вручную из `/root/.ssh/authorized_keys`, перестают работать управление ключами, кнопки входа по паролю и команды через AI-ассистента. «Сбросить пароль» сработает, только если вход по паролю по SSH включён и сохранённый в панели пароль не меняли на сервере. Сам сервер при этом работает как обычно. Чтобы вернуть ключ, напишите в поддержку. Подробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n## Когда панель не может помочь\n\nКоманда BLACKBOX поможет вернуть доступ после проверки вашей личности.\n\n1. Напишите на support@blackbox.md с email-адреса вашего аккаунта blackbox.md (мы отвечаем в течение 4 часов в рабочие дни) или создайте тикет: «Личный кабинет» → «Помощь и поддержка». В срочных случаях в рабочее время звоните или пишите в WhatsApp: +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы.\n2. Укажите IP-адрес сервера и номер заказа `BBX-…` (поля «IP» и «Заказ» на карточке).\n3. Опишите, что вы меняли последним, например «включили ufw» или «удалили ключ из authorized_keys».\n\nВсе каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Как не потерять доступ\n\n- Добавьте на сервер два ключа с двух разных устройств.\n- Храните пароль root в менеджере паролей. Меняйте его кнопкой «Сбросить пароль», а не командой `passwd`, чтобы панель знала актуальный пароль.\n- Меняя настройки SSH или файрвола, держите открытой вторую SSH-сессию и закрывайте её, только когда новое подключение прошло успешно.\n- Не переносите SSH на другой порт и не разрешайте порт 22 только со своего IP-адреса: панель и AI-ассистент подключаются на порт 22, а сетевая фильтрация, которой управляет BLACKBOX, может заблокировать новый порт. Если нужна другая настройка, сначала напишите в поддержку. Подробнее: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n- Разрешите SSH в файрволе до того, как включить его или изменить его правила. Ubuntu и Debian:\n\n  ```bash\n  ufw allow 22/tcp\n  ufw enable\n  ```\n\n  AlmaLinux и CentOS Stream (зона firewalld по умолчанию уже разрешает SSH; команды работают, только если firewalld запущен):\n\n  ```bash\n  firewall-cmd --permanent --add-service=ssh\n  firewall-cmd --reload\n  ```\n\n- После правки настроек SSH проверьте их. Если команда ничего не вывела, настройки корректны:\n\n  ```bash\n  sshd -t\n  ```\n\n  Только после этого перечитайте конфигурацию SSH:\n\n  ```bash\n  systemctl reload ssh || systemctl reload sshd\n  ```\n\n> **Важно**\n> Не удаляйте «Ключ управления (blackbox.md)» и не задавайте `PermitRootLogin no`: иначе панель не сможет подключиться к серверу и ничем не поможет. Чтобы ограничить вход root, используйте `PermitRootLogin prohibit-password`. Вход по паролю включайте и отключайте кнопками панели, а не правкой `PasswordAuthentication`.\n\n## Частые вопросы\n\n**Как понять, что дело в пароле или ключе, а не в сети?**\nСообщение `Permission denied` означает, что сервер отвечает, но не принимает пароль или ключ, — тогда вам поможет эта статья. `Connection timed out` или `Connection refused` означают, что сервер не отвечает по SSH: см. [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**В письме «Serverul dvs. este gata» упоминается VNC-консоль. Где она?**\nЕё нет: у клиентов нет ни веб-консоли, ни VNC. «Пароль консоли» из письма (в сообщениях панели — «пароль для консоли») — это пароль root, его показывает кнопка «Показать учётные данные».\n\n**После нескольких попыток с неверным паролем подключиться вообще не получается.**\nЕсли на сервере установлен fail2ban, ваш IP-адрес временно заблокирован. Дождитесь окончания блокировки или подключитесь с другого адреса (например, через мобильный интернет) и снимите блокировку: [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n\n**Я не могу войти ни в аккаунт blackbox.md, ни в панель.**\nСначала верните доступ к аккаунту: [Забыли пароль от аккаунта](#cont.parola-uitata) или [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut).\n\n**Потерянный ключ был на украденном ноутбуке. Что ещё сделать?**\nУдалите старый ключ с каждого сервера и из раздела «SSH-ключи» в личном кабинете, сбросьте пароль root и смените пароль аккаунта. Если подозреваете, что кто-то заходил на сервер, прочитайте [Сервер взломан или атакован: что делать](#faq.server-compromis).\n",
    "en": "How to get back into your server when you forgot the root password, lost your private SSH key, or locked yourself out with the firewall or the SSH configuration. You can solve most of these situations on the server card on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”). From blackbox.md, you open the panel through “Contul meu” (My account) → “Panou de administrare” (Admin panel).\n\n**Available to:** the owner of the blackbox.md account that ordered the server. Cards with the “Managed” badge don't have the buttons described below: write to support.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Warning**\n> Customers have no web or VNC console. The “Reset password” and “Add SSH key” buttons and the password login buttons connect to the server over SSH with the BLACKBOX management key, “Management key (blackbox.md)”. They work only if the server is running and its SSH accepts this key.\n\n## What to do, in short\n\n| Situation | What to do |\n|---|---|\n| You forgot the root password, and the card has the “Password + key” badge | “Reveal credentials”; if the password shown doesn't work, “Reset password” and connect with the new password |\n| You changed the password with `passwd` (as the “Serverul dvs. este gata” (Your server is ready) email recommends) and forgot it | “Reset password”: “Reveal credentials” shows the old password |\n| You lost your private key, and the card has “Password + key” | connect with the password, then add a new key |\n| You lost your private key, and the card has “Key-only” | create a new key on your computer → “Add SSH key” → “Paste a new key”; or “Enable password login” + “Reset password” |\n| You locked yourself out with the firewall (`ufw`, `firewalld`) or broke the SSH configuration | “Reset password” and the key buttons fail too; “Reboot” helps only if the change was not saved permanently; otherwise write to support |\n| You deleted “Management key (blackbox.md)” from the server | key management and the password login buttons stop working: write to support |\n\n## You forgot the root password\n\n1. On the server card, click “Reveal credentials” and confirm “Reveal stored credentials for SERVER_NAME? This access is logged.” A box with “Username” and “Password” appears on the card.\n2. Try to connect with this password. If you have changed it since then with `passwd`, the box shows the old password, which no longer works.\n3. If the password doesn't work, click “Reset password” and confirm “Reset the password for SERVER_NAME? The current password stops working immediately.” The panel sets a new 20-character password on the server and shows it in the same box.\n4. Connect with the new password:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\nYou can reset the password at most 3 times in 5 minutes. Details: [Resetting the root password](#acces.resetare-parola-root).\n\nOn a “Key-only” server, the new password does not get you in over SSH: password login stays disabled. Follow option B in the next section.\n\n## You lost your private key\n\nThe private key exists only on your computer: your account and the server hold only public keys, so a lost private key cannot be recovered. Create a new one.\n\nIf the server has “Password + key”, you can connect with the password (see the section above), then create a new key following option A.\n\n### Option A: a new key (“Key-only” server)\n\n1. Create a new key pair on your computer (Windows, macOS or Linux). Instructions: [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n\n   ```bash\n   ssh-keygen -t ed25519\n   ```\n\n   The command creates `id_ed25519` (the private key, which stays with you) and `id_ed25519.pub` (the public key) in your user's `.ssh` folder.\n2. On the server card, click “Add SSH key” and choose “Paste a new key”.\n3. Paste the contents of the `id_ed25519.pub` file into the field: a single line that starts with `ssh-ed25519`.\n4. Click “Add key”. The message “Key added.” appears on the card, and the new key shows up in the “Installed keys” list.\n5. Connect from the computer that has the new key:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\n6. In “Installed keys”, click “Remove” next to the lost key and confirm “Remove key SHA256:… from this server?”. The message “Key removed.” appears. If the key was also saved in “Contul meu” (My account) → “Chei SSH” (SSH keys), delete it there too: deleting a key from your account doesn't remove it from servers, and vice versa.\n\nIf you saved the new key in “Contul meu” → “Chei SSH”, choose “Use a saved key” in step 2. Details: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n\n### Option B: temporarily with a password\n\n1. On the card, click “Enable password login” and confirm “Re-enable SSH password login on SERVER_NAME?”. The badge changes to “Password + key”.\n2. Click “Reset password” and confirm. The new password appears on the card.\n3. Connect with the password and add a new key (option A).\n4. Once you can connect with the key, click “Disable password login” so that the server is “Key-only” again: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\n## You locked yourself out with the firewall or the SSH configuration\n\nTypical causes: you enabled `ufw` or `firewalld` without allowing port 22, moved SSH to another port, broke the SSH configuration file, or set `PermitRootLogin no`. The panel also connects over SSH, on port 22, as `root`, so “Reset password”, “Add SSH key” and the password login buttons fail.\n\n1. Click “Reboot” and confirm “Reboot SERVER_NAME?”. The reboot goes through the BLACKBOX infrastructure, not over SSH, so it works even when SSH is blocked ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)).\n2. Wait a few minutes and try to connect again.\n3. If you still can't get in, write to support (see the section “When the panel can't help”).\n\nA reboot helps only if the change was not saved permanently: for example, a `firewall-cmd` rule without `--permanent`, an `iptables` rule that was not saved, or the SSH service stopped with `systemctl stop`. It does not help after `ufw enable` (the firewall stays active after a reboot), after rules saved with `--permanent`, or after an SSH configuration file was edited and saved.\n\nPanel error messages and what they mean:\n\n| Message | What it means | What to do |\n|---|---|---|\n| `reset_failed` | The panel could not connect to the server, or the command failed. The password did not change. | If you stopped the server, click “Start”; otherwise click “Reboot”, then contact support. |\n| `ssh_key_push_failed` | The key was not added. | Same as above. |\n| `ssh_key_list_failed` | The “Installed keys” list could not be read. | Same as above. |\n| “Failed to change password login.” | The setting stayed as it was. | Same as above. |\n| `invalid_public_key` | The pasted text is not an accepted public key; for example, you pasted the private key. | Paste the contents of the `.pub` file. |\n| “Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” | You reset the password 3 times in 5 minutes. | Wait 5 minutes. |\n\n## You deleted the management key\n\nThe panel doesn't let you delete “Management key (blackbox.md)”. If you removed it manually from `/root/.ssh/authorized_keys`, key management, the password login buttons and commands through the AI assistant stop working. “Reset password” succeeds only if SSH password login is enabled and the password saved in the panel has not been changed on the server. The server itself keeps working normally. To get the key back, write to support. Details: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n## When the panel can't help\n\nThe BLACKBOX team helps you regain access after verifying your identity.\n\n1. Write to support@blackbox.md from the email address of your blackbox.md account (we reply within 4 hours on business days), or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). For urgent matters during business hours: +373 78 003948 (phone or WhatsApp), Monday–Friday, 09:00–18:00 (Moldova time).\n2. Include the server's IP address and the `BBX-…` order number (the “IP” and “Order” fields on the card).\n3. Describe what you changed last, for example “I enabled ufw” or “I deleted a key from authorized_keys”.\n\nAll channels: [How to contact BLACKBOX support](#suport.contact).\n\n## How to avoid getting locked out\n\n- Add two keys to the server, from two different devices.\n- Keep the root password in a password manager. Change it with “Reset password”, not with `passwd`, so that the panel knows the current password.\n- When you change the SSH or firewall settings, keep a second SSH session open, and close it only after a new connection succeeds.\n- Don't move SSH to another port, and don't allow port 22 only from your own IP address: the panel and the AI assistant connect on port 22, and the network filtering managed by BLACKBOX may block a new port. If you need a different setup, write to support first. Details: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n- Allow SSH in the firewall before you enable it or change its rules. Ubuntu and Debian:\n\n  ```bash\n  ufw allow 22/tcp\n  ufw enable\n  ```\n\n  AlmaLinux and CentOS Stream (the default firewalld zone already allows SSH; the commands work only while firewalld is running):\n\n  ```bash\n  firewall-cmd --permanent --add-service=ssh\n  firewall-cmd --reload\n  ```\n\n- After you edit the SSH configuration, check it. If the command prints nothing, the configuration is correct:\n\n  ```bash\n  sshd -t\n  ```\n\n  Only then reload the SSH service:\n\n  ```bash\n  systemctl reload ssh || systemctl reload sshd\n  ```\n\n> **Important**\n> Don't delete “Management key (blackbox.md)” and don't set `PermitRootLogin no`: otherwise the panel can no longer connect to the server and can't help you. If you want to restrict root login, use `PermitRootLogin prohibit-password`. Change password login with the panel buttons, not by editing `PasswordAuthentication`.\n\n## Frequently asked questions\n\n**How do I know whether the problem is the password or the key, and not the network?**\nThe message `Permission denied` means the server responds but rejects the password or key: follow this article. `Connection timed out` or `Connection refused` means the server doesn't respond over SSH: see [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n**The “Serverul dvs. este gata” (Your server is ready) email mentions a VNC console. Where do I find it?**\nThere isn't one: customers have no web or VNC console. The “Parola de consolă” (Console password) in the email, and the “console password” in panel messages, is the root password, which you can see with “Reveal credentials”.\n\n**I entered the wrong password several times, and now I can't connect at all.**\nIf you installed fail2ban, your IP address has been blocked temporarily. Wait for the block to expire, or connect from another address (for example, over mobile internet) and unblock it: [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n\n**I can't get into my blackbox.md account or the panel.**\nFirst regain access to your account: [Forgot your account password](#cont.parola-uitata) or [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut).\n\n**The lost key was on a stolen laptop. What else should I do?**\nDelete the old key from every server and from “Contul meu” (My account) → “Chei SSH” (SSH keys), reset the root password, and change your account password. If you suspect someone got into the server, read [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n"
   }
  },
  {
   "id": "servicii.monitorizare",
   "section": "servicii",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/monitorizare/",
    "ru": "https://docs.blackbox.md/ru/servicii/monitorizare/",
    "en": "https://docs.blackbox.md/en/servicii/monitorizare/"
   },
   "title": {
    "ro": "Pagina „Monitorizare”",
    "ru": "Страница «Мониторинг»",
    "en": "The “Monitoring” page"
   },
   "summary": {
    "ro": "Ce arată pagina de monitorizare din panou: tabelul serverelor, graficele „Tendințe” și sursa datelor.",
    "ru": "Что показывает страница «Мониторинг» в панели: таблицу серверов, графики «Динамика» и источник данных.",
    "en": "What the panel's monitoring page shows: the server table, the “Trends” charts and where the data comes from."
   },
   "markdown": {
    "ro": "Pagina „Monitorizare” (`app.blackbox.md/monitoring`, meniul lateral → „Infrastructură” → „Monitorizare”) arată cât de încărcate sunt serverele dvs.: procesorul, memoria, discul, rețeaua și procesele, în acest moment și în timp. Metricile apar pentru serverele care au serviciul suplimentar Monitoring activ (în „Comenzi” apare ca „Monitoring 24/7”).\n\n**Disponibil pentru:** orice client autentificat în panoul app.blackbox.md. Metricile live: doar pentru serverele dvs. cu serviciul Monitoring activ.\n\n## Ce conține pagina\n\nSus vedeți titlul „Monitorizare”, subtitlul „Starea și istoricul de audit pentru serverele dvs.” și, în dreapta, butonul „Reîmprospătează”. Dedesubt, de sus în jos:\n\n1. Cardul „Alerte”: alertele serverelor dvs. din ultimele 30 de zile și preferințele de notificare. Detalii: [Alerte și notificări pe email](#servicii.alerte).\n2. Tabelul serverelor „Serverele dvs.”, cu valorile curente ale fiecărui server.\n3. Blocul „Tendințe”: graficele unui server pe intervalul ales.\n\n> **Notă**\n> Pagina nu se actualizează singură. Valorile din tabel sunt cele din momentul în care ați deschis pagina sau ați apăsat ultima dată „Reîmprospătează”. Datele și orele de pe pagină sunt afișate în UTC.\n\n## Cum actualizați datele\n\n1. Apăsați „Reîmprospătează” în dreapta titlului „Monitorizare”. Cât timp se încarcă, butonul arată „Se reîmprospătează…”.\n2. Tabelul se reîncarcă, iar lângă titlul lui apare ora nouă, de exemplu „1 server(e) · actualizat 2026-10-09 09:30 UTC”.\n3. Graficele din „Tendințe” nu se reîncarcă cu acest buton. Pentru grafice noi, alegeți alt interval sau reîncărcați pagina în browser.\n\nCardul „Alerte” are propriul buton „Reîmprospătează”, care reîncarcă doar lista de alerte.\n\n## Dacă tabelul este gol\n\nFără serviciul Monitoring, pagina nu are date de afișat. În locul tabelului „Serverele dvs.” vedeți:\n\n- blocul „Tablou de risc al flotei”, cu mențiunea „0 server(e) · actualizat …”;\n- textul „Încă nu există date de monitorizare pentru serverele dvs. — metricile apar după primul audit.”;\n- în „Tendințe”, o listă de servere goală și mesajul „Nu există istoric în intervalul selectat pentru acest server.”\n\nEste normal: serverul funcționează, doar că nu este monitorizat. Serverele fără serviciul Monitoring nu apar în tabel.\n\n> **Important**\n> Textul „…metricile apar după primul audit” nu înseamnă că datele vor apărea de la sine. Metricile apar doar după ce serviciul Monitoring este activat pentru server. Serviciul nu se poate alege la comanda pe blackbox.md; cum îl obțineți: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\nDacă aveți serviciul Monitoring și serverul tot nu apare în tabel, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Tabelul „Serverele dvs.”\n\nTabelul are câte un rând pentru fiecare server cu serviciul Monitoring, fie că acesta este activ, se conectează sau a eșuat.\n\n| Coloană | Ce arată |\n|---|---|\n| „Server” | Numele privat al serverului, dacă l-ați setat ([Redenumirea serverului (nume privat)](#servere.redenumire)); altfel numele serverului sau adresa IP |\n| „CPU” | Utilizarea procesorului, în %, media pe toate nucleele în ultimele 5 minute |\n| „RAM” | Memoria ocupată, în %, fără memoria cache pe care sistemul o poate elibera |\n| „Disc” | Ocuparea partiției principale `/`, în %. Bara este verde sub 80%, galbenă la 80–89% și roșie de la 90%. Alte partiții și discuri nu sunt incluse |\n| „Încărcare (1m)” | Încărcarea medie (load average) pe ultimul minut. Comparați-o cu numărul de vCPU din planul serverului |\n| „Procese” | Numărul de procese care rulează efectiv în acel moment, nu numărul total de procese |\n| „Monitorizare” | Starea serviciului Monitoring (tabelul de mai jos) |\n| „Tendință” (buton) | Deschide graficele serverului în blocul „Tendințe” |\n\nÎn loc de valoare apare „—” când serverul nu a trimis încă date, de exemplu cât timp serviciul este „Se conectează…”.\n\n### Insigna din coloana „Monitorizare”\n\n| Insignă | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Activ” (verde) | Agentul de pe server funcționează și trimite metrici | Nimic |\n| „Se conectează…” (galben) | Serviciul se activează: agentul se instalează pe server. Valorile sunt „—” | Așteptați, apoi apăsați „Reîmprospătează” |\n| „Eșuat” (roșu) | Instalarea agentului nu a reușit sau are nevoie de intervenția echipei | Scrieți-ne și precizați serverul |\n| „Administrat de BlackBox” (gri) | Server al unei companii administrate de BLACKBOX, la care aveți acces | Nimic; vedeți mai jos |\n\n### Serverele administrate de BLACKBOX\n\nDacă BLACKBOX v-a dat acces la serverele unei companii ([Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala)), acestea apar la sfârșitul tabelului cu insigna „Administrat de BlackBox”. Datele lor vin din monitorizarea echipei BLACKBOX: unele coloane pot rămâne „—”, iar în „Tendințe” sursa poate fi „Sursa: auditul de noapte”, cu graficele „Utilizare disc (max %)”, „Utilizare RAM (MB)” și „Containere Docker” (un punct pe noapte). Alertele acestor servere nu apar în cardul „Alerte”.\n\n## Graficele din „Tendințe”\n\n1. În tabel, apăsați „Tendință” pe rândul serverului. Pagina coboară la blocul „Tendințe”, cu serverul deja ales. Puteți și să derulați la „Tendințe” și să alegeți serverul în prima listă.\n2. În a doua listă alegeți intervalul: „1 h”, „6 h”, „24 h”, „7 zile”, „30 zile” sau „90 zile”. Când deschideți pagina, este ales „24 h”.\n3. Sub liste apare sursa datelor: eticheta „LIVE”, textul „Sursa: metrici live (Prometheus)” și nota „Prometheus păstrează aproximativ 15 zile de istoric.”\n4. Graficele se încarcă (între timp vedeți „Se încarcă istoricul…”). Țineți cursorul pe un punct al graficului ca să vedeți valoarea exactă.\n\n| Grafic | Ce arată |\n|---|---|\n| „Utilizare CPU (%)” | Încărcarea procesorului, 0–100% |\n| „Utilizare RAM (%)” | Memoria ocupată, 0–100% |\n| „Utilizare disc (%)” | Ocuparea partiției `/` |\n| „Rețea (octeți/s)” | Traficul primit („RX octeți/s”) și trimis („TX octeți/s”) pe toate interfețele de rețea, fără interfața locală `lo` |\n| „Încărcare medie (1m)” | Load average pe 1 minut |\n| „Procese” | Procesele care rulează |\n\nAxa timpului este în UTC.\n\n### Cât istoric vedeți\n\n- Istoricul începe cel mai devreme din momentul în care ați devenit proprietarul serverului: nu vedeți date de dinainte. Graficele live au date doar de când agentul funcționează.\n- Metricile live se păstrează aproximativ 15 zile, așa că „30 zile” și „90 zile” arată în practică cel mult ultimele circa 15 zile.\n- Pe intervale lungi punctele graficului sunt mai rare, iar vârfurile scurte pot să nu se vadă. Pentru detalii, alegeți „1 h” sau „6 h”.\n\nMesajul „Nu există istoric în intervalul selectat pentru acest server.” apare când serverul este încă „Se conectează…” sau „Eșuat”, când agentul tocmai a pornit și nu există încă date în interval, ori când nu aveți niciun server monitorizat.\n\n> **Sfat**\n> Graficele arată tendința, nu și cauza. Ca să aflați ce proces încarcă serverul chiar acum, conectați-vă prin SSH și urmați [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza).\n\n## Mesaje de eroare\n\nErorile apar într-o bandă roșie: sub titlul paginii (pentru tabel) sau în blocul „Tendințe” (pentru grafice). Unele apar ca un cod tehnic, netradus.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `rate_limited` | Prea multe încărcări într-un minut. Limita pentru contul dvs.: 30 de încărcări ale tabelului (deschiderea paginii și „Reîmprospătează”) și 60 de încărcări ale graficelor pe minut | Așteptați un minut, apoi reîncărcați pagina în browser |\n| `panel_monitoring_disabled` | Pagina de monitorizare este temporar indisponibilă | Reveniți mai târziu; dacă mesajul persistă, scrieți-ne |\n| „Unauthorized”, „Token invalidated” sau „Token revoked” | Sesiunea din panou a expirat (durează 8 ore) sau a fost închisă, de exemplu cu „Deconectare de peste tot” | Intrați din nou din „Contul meu” → „Panou de administrare” ([Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)) |\n| „Nu s-a putut încărca sumarul de monitorizare”, „Nu s-a putut încărca istoricul” sau alt mesaj tehnic | Datele nu au putut fi citite | Reîncărcați pagina; dacă se repetă, scrieți-ne |\n\nAlte limite ale panoului: [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Întrebări frecvente\n\n**Am un server, dar pagina scrie „Încă nu există date de monitorizare…”. Este o problemă?**\nNu. Metricile apar doar pentru serverele cu serviciul Monitoring. Fără el, tabelul rămâne gol oricât ați aștepta: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\n**Cât de des se actualizează datele?**\nAgentul trimite date la fiecare 30 de secunde. Pagina le citește când o deschideți sau apăsați „Reîmprospătează”. Valorile pentru CPU și rețea sunt medii pe ultimele 5 minute.\n\n**De ce graficul pe 90 de zile arată doar ultimele două săptămâni?**\nMetricile live se păstrează aproximativ 15 zile, deci nu există date mai vechi.\n\n**În „Comenzi” serviciul este „În curs de activare”, iar aici insigna este „Eșuat”. Ce înseamnă?**\nActivarea are nevoie de intervenția echipei, de exemplu pentru că serverul nu rulează Ubuntu sau Debian. Scrieți-ne și indicați serverul.\n\n**Văd datele de dinainte să fi devenit proprietarul serverului?**\nNu. Istoricul începe din momentul în care serverul a devenit al dvs.\n\n**Pot primi emailuri când apare o problemă pe server?**\nAlertele și emailurile se setează în cardul „Alerte” de pe aceeași pagină: [Alerte și notificări pe email](#servicii.alerte).\n\n**CPU-ul este mereu aproape de 100%. Ce fac?**\nGăsiți mai întâi cauza: [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza). Dacă încărcarea este normală pentru aplicația dvs., treceți la un plan mai mare: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n",
    "ru": "Страница «Мониторинг» (`app.blackbox.md/monitoring`, боковое меню → «Инфраструктура» → «Мониторинг») показывает, насколько загружены ваши серверы: процессор, память, диск, сеть и процессы — сейчас и в динамике. Метрики появляются у серверов с активной дополнительной услугой «Мониторинг» (в «Заказах» она называется «Мониторинг 24/7»).\n\n**Доступно:** любому клиенту, вошедшему в панель app.blackbox.md. Живые метрики — только для ваших серверов с активной услугой «Мониторинг».\n\n## Что есть на странице\n\nВверху — заголовок «Мониторинг», подзаголовок «Состояние и история аудита ваших серверов.» и справа кнопка «Обновить». Ниже, сверху вниз:\n\n1. Блок «Оповещения» — оповещения по вашим серверам за последние 30 дней и настройки уведомлений. Подробнее: [Оповещения и уведомления по email](#servicii.alerte).\n2. Таблица серверов «Ваши серверы» с текущими значениями по каждому серверу.\n3. Блок «Динамика» — графики одного сервера за выбранный период.\n\n> **Примечание**\n> Страница не обновляется сама. В таблице — значения на момент открытия страницы или последнего нажатия «Обновить». Дата и время на странице указаны по UTC.\n\n## Как обновить данные\n\n1. Нажмите «Обновить» справа от заголовка «Мониторинг». Пока идёт загрузка, на кнопке написано «Обновление…».\n2. Таблица перезагрузится, а рядом с её заголовком появится новое время, например «серверов: 1 · обновлено 2026-10-09 09:30 UTC».\n3. Графики в блоке «Динамика» этой кнопкой не обновляются. Чтобы получить свежие графики, выберите другой период или перезагрузите страницу в браузере.\n\nУ блока «Оповещения» своя кнопка «Обновить» — она перезагружает только список оповещений.\n\n## Если таблица пустая\n\nБез услуги «Мониторинг» странице нечего показать. Вместо таблицы «Ваши серверы» вы увидите:\n\n- блок «Карта рисков парка» с надписью «серверов: 0 · обновлено …»;\n- текст «Данных мониторинга по вашим серверам пока нет — метрики появятся после первого аудита.»;\n- в блоке «Динамика» — пустой список серверов и сообщение «За выбранный период истории для этого сервера нет.»\n\nЭто нормально: сервер работает, просто он не подключён к мониторингу. Серверы без услуги «Мониторинг» в таблицу не попадают.\n\n> **Важно**\n> Фраза «метрики появятся после первого аудита» не означает, что данные появятся сами. Метрики появляются только после того, как для сервера подключена услуга «Мониторинг». При оформлении заказа на blackbox.md её выбрать нельзя; как её получить: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\nЕсли услуга подключена, а сервера в таблице всё равно нет, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Таблица «Ваши серверы»\n\nВ таблице по одной строке на каждый сервер с услугой «Мониторинг» — независимо от того, активна она, ещё подключается или подключить её не удалось.\n\n| Столбец | Что показывает |\n|---|---|\n| «Сервер» | Личное название сервера, если вы его задали ([Переименование сервера (личное название)](#servere.redenumire)); иначе имя сервера или IP-адрес |\n| «CPU» | Загрузку процессора в %, в среднем по всем ядрам за последние 5 минут |\n| «ОЗУ» | Занятую память в %, без кеша, который система может освободить |\n| «Диск» | Заполненность основного раздела `/` в %. Полоса зелёная до 80%, жёлтая при 80–89% и красная от 90%. Другие разделы и диски не учитываются |\n| «Нагрузка (1м)» | Среднюю нагрузку (load average) за последнюю минуту. Сравнивайте её с числом vCPU в тарифе сервера |\n| «Процессы» | Число процессов, которые выполняются в данный момент, а не общее число процессов |\n| «Мониторинг» | Состояние услуги «Мониторинг» (см. таблицу ниже) |\n| «Динамика» (кнопка) | Открывает графики сервера в блоке «Динамика» |\n\nПрочерк «—» вместо значения означает, что сервер ещё не прислал данные, например пока услуга в состоянии «Подключение…».\n\n### Значок в столбце «Мониторинг»\n\n| Значок | Что означает | Что делать |\n|---|---|---|\n| «Активен» (зелёный) | Агент на сервере работает и отправляет метрики | Ничего |\n| «Подключение…» (жёлтый) | Услуга подключается: агент устанавливается на сервер. Вместо значений — «—» | Подождите, затем нажмите «Обновить» |\n| «Ошибка» (красный) | Установить агент не удалось или для подключения нужна помощь команды | Напишите нам и укажите сервер |\n| «Под управлением BlackBox» (серый) | Сервер компании, которую обслуживает BLACKBOX, с открытым для вас доступом | Ничего; см. ниже |\n\n### Серверы, которые обслуживает BLACKBOX\n\nЕсли BLACKBOX открыл вам доступ к серверам компании ([Страница «Обзор» (Overview)](#servere.prezentare-generala)), они показываются в конце таблицы со значком «Под управлением BlackBox». Данные по ним приходят из мониторинга команды BLACKBOX: часть столбцов может оставаться пустой («—»), а в блоке «Динамика» источником может быть «Источник: ночной аудит» с графиками «Использование диска (макс. %)», «Использование ОЗУ (МБ)» и «Docker-контейнеры» (одна точка за ночь). Оповещения по таким серверам в блок «Оповещения» не попадают.\n\n## Графики в блоке «Динамика»\n\n1. В таблице нажмите «Динамика» в строке сервера. Страница прокрутится к блоку «Динамика», сервер в нём уже будет выбран. Можно и самостоятельно прокрутить страницу до блока «Динамика» и выбрать сервер в первом списке.\n2. Во втором списке выберите период: «1 ч», «6 ч», «24 ч», «7 дней», «30 дней» или «90 дней». При открытии страницы выбран период «24 ч».\n3. Под списками появится источник данных: метка «LIVE», текст «Источник: живые метрики (Prometheus)» и примечание «Prometheus хранит примерно 15 дней истории.»\n4. Загрузятся графики (во время загрузки видно «Загрузка истории…»). Наведите курсор на точку графика, чтобы увидеть точное значение.\n\n| График | Что показывает |\n|---|---|\n| «Загрузка CPU (%)» | Загрузку процессора, 0–100% |\n| «Использование ОЗУ (%)» | Занятую память, 0–100% |\n| «Использование диска (%)» | Заполненность раздела `/` |\n| «Сеть (байт/с)» | Входящий («RX байт/с») и исходящий («TX байт/с») трафик по всем сетевым интерфейсам, кроме локального `lo` |\n| «Средняя нагрузка (1м)» | Load average за 1 минуту |\n| «Процессы» | Выполняющиеся процессы |\n\nВремя на оси графиков указано по UTC.\n\n### Какая история доступна\n\n- История начинается не раньше момента, когда сервер стал вашим: более ранних данных вы не увидите. Живые графики есть только с того момента, когда заработал агент.\n- Живые метрики хранятся примерно 15 дней, поэтому периоды «30 дней» и «90 дней» на деле показывают не больше последних 15 дней.\n- На длинных периодах точки на графике идут реже, и короткие всплески могут на него не попасть. Чтобы рассмотреть детали, выберите «1 ч» или «6 ч».\n\nСообщение «За выбранный период истории для этого сервера нет.» появляется, если сервер ещё в состоянии «Подключение…» или «Ошибка», если агент только запустился и данных за период пока нет, или если у вас нет ни одного сервера с мониторингом.\n\n> **Совет**\n> Графики показывают динамику, но не причину. Чтобы узнать, какой процесс нагружает сервер прямо сейчас, подключитесь по SSH и воспользуйтесь руководством [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza).\n\n## Сообщения об ошибках\n\nОшибка выводится на красной плашке: под заголовком страницы (если не загрузилась таблица) или в блоке «Динамика» (если не загрузились графики). Некоторые ошибки показываются как непереведённый технический код.\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| `rate_limited` | Слишком много загрузок за минуту. Лимит для вашего аккаунта — 30 загрузок таблицы (открытие страницы и «Обновить») и 60 загрузок графиков в минуту | Подождите минуту и перезагрузите страницу в браузере |\n| `panel_monitoring_disabled` | Страница мониторинга временно недоступна | Зайдите позже; если сообщение не исчезает, напишите нам |\n| «Unauthorized», «Token invalidated» или «Token revoked» | Сессия в панели истекла (она длится 8 часов) или была завершена, например кнопкой «Выйти везде» | Войдите снова: «Личный кабинет» → «Панель управления» ([Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)) |\n| «Не удалось загрузить сводку мониторинга», «Не удалось загрузить историю» или другое техническое сообщение | Данные не удалось получить | Перезагрузите страницу; если ошибка повторяется, напишите нам |\n\nДругие лимиты панели: [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Частые вопросы\n\n**У меня есть сервер, но на странице написано «Данных мониторинга по вашим серверам пока нет…». Это ошибка?**\nНет. Метрики есть только у серверов с услугой «Мониторинг». Без неё таблица останется пустой, сколько бы вы ни ждали: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\n**Как часто обновляются данные?**\nАгент отправляет данные каждые 30 секунд. Страница считывает их, когда вы её открываете или нажимаете «Обновить». Значения CPU и сети — средние за последние 5 минут.\n\n**Почему график за 90 дней показывает только последние две недели?**\nЖивые метрики хранятся примерно 15 дней, более старых данных просто нет.\n\n**В «Заказах» услуга «В процессе активации», а здесь значок «Ошибка». Что это значит?**\nДля подключения нужно вмешательство команды — например, сервер работает не на Ubuntu и не на Debian. Напишите нам и укажите сервер.\n\n**Видны ли данные за время, когда сервер ещё не был моим?**\nНет. История начинается с момента, когда сервер стал вашим.\n\n**Можно ли получать письма о проблемах на сервере?**\nОповещения и письма настраиваются в блоке «Оповещения» на этой же странице: [Оповещения и уведомления по email](#servicii.alerte).\n\n**CPU постоянно загружен почти на 100%. Что делать?**\nСначала найдите причину: [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza). Если такая нагрузка нормальна для вашего приложения, перейдите на больший тариф: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n",
    "en": "The “Monitoring” page (`app.blackbox.md/monitoring`, sidebar → “Infrastructure” → “Monitoring”) shows how busy your servers are: CPU, memory, disk, network and processes, right now and over time. Metrics appear for servers that have the Monitoring add-on service active (in “Comenzi” (Orders) it is listed as “Monitoring 24/7”).\n\n**Available to:** any customer signed in to the app.blackbox.md panel. Live metrics: only for your servers with the Monitoring service active.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What's on the page\n\nAt the top you see the title “Monitoring”, the subtitle “Health and audit history for your own servers.” and, on the right, the “Refresh” button. Below them, from top to bottom:\n\n1. The “Alerts” card: the alerts for your servers from the last 30 days and your notification preferences. Details: [Alerts and email notifications](#servicii.alerte).\n2. The “Your servers” table, with the current values for each server.\n3. The “Trends” block: the charts for one server over the range you choose.\n\n> **Note**\n> The page does not refresh on its own. The values in the table are the ones from the moment you opened the page or last clicked “Refresh”. Dates and times on the page are shown in UTC.\n\n## How to refresh the data\n\n1. Click “Refresh” to the right of the “Monitoring” title. While the data loads, the button shows “Refreshing…”.\n2. The table reloads, and the new time appears next to its title, for example “1 server(s) · updated 2026-10-09 09:30 UTC”.\n3. This button does not reload the charts in “Trends”. To get new charts, choose another range or reload the page in your browser.\n\nThe “Alerts” card has its own “Refresh” button, which reloads only the list of alerts.\n\n## If the table is empty\n\nWithout the Monitoring service, the page has no data to show. Instead of the “Your servers” table, you see:\n\n- the “Fleet risk board” block, with the note “0 server(s) · updated …”;\n- the text “No monitoring data yet for your servers — metrics appear once your servers are audited.”;\n- in “Trends”, an empty server list and the message “No history in the selected range for this server.”\n\nThis is normal: the server is working, it just isn't monitored. Servers without the Monitoring service don't appear in the table.\n\n> **Important**\n> The text “…metrics appear once your servers are audited” does not mean that the data will appear by itself. Metrics appear only after the Monitoring service is activated for the server. You can't choose this service when you order on blackbox.md; to find out how to get it, see [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\nIf you have the Monitoring service and the server still doesn't appear in the table, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## The “Your servers” table\n\nThe table has one row for each server with the Monitoring service, whether the service is active, still connecting or has failed.\n\n| Column | What it shows |\n|---|---|\n| “Server” | The server's private name, if you set one ([Renaming a server (private name)](#servere.redenumire)); otherwise the server name or IP address |\n| “CPU” | CPU usage, in %, averaged over all cores for the last 5 minutes |\n| “RAM” | Memory in use, in %, not counting the cache memory that the system can free |\n| “Disk” | How full the main partition `/` is, in %. The bar is green below 80%, yellow at 80–89% and red from 90%. Other partitions and disks are not included |\n| “Load (1m)” | The load average over the last minute. Compare it with the number of vCPUs in the server's plan |\n| “Processes” | The number of processes actually running at that moment, not the total number of processes |\n| “Monitoring” | The state of the Monitoring service (see the table below) |\n| “Trend” (button) | Opens the server's charts in the “Trends” block |\n\nA “—” appears instead of a value when the server has not sent any data yet, for example while the service is “Connecting…”.\n\n### The badge in the “Monitoring” column\n\n| Badge | What it means | What to do |\n|---|---|---|\n| “Active” (green) | The agent on the server is working and sending metrics | Nothing |\n| “Connecting…” (yellow) | The service is being activated: the agent is being installed on the server. The values show “—” | Wait, then click “Refresh” |\n| “Failed” (red) | The agent could not be installed, or the installation needs the team to step in | Write to us and name the server |\n| “Managed by BlackBox” (gray) | A server of a company managed by BLACKBOX that you have access to | Nothing; see below |\n\n### Servers managed by BLACKBOX\n\nIf BLACKBOX has given you access to a company's servers ([The “Overview” page](#servere.prezentare-generala)), they appear at the end of the table with the “Managed by BlackBox” badge. Their data comes from the BLACKBOX team's monitoring: some columns may stay “—”, and in “Trends” the source may be “Source: nightly audit”, with the charts “Disk usage (max %)”, “RAM usage (MB)” and “Docker containers” (one point per night). Alerts for these servers don't appear in the “Alerts” card.\n\n## The charts in “Trends”\n\n1. In the table, click “Trend” on the server's row. The page scrolls down to the “Trends” block, with the server already selected. You can also scroll to “Trends” yourself and choose the server in the first list.\n2. In the second list, choose the range: “1 h”, “6 h”, “24 h”, “7 days”, “30 days” or “90 days”. When you open the page, “24 h” is selected.\n3. The data source appears under the lists: the “LIVE” label, the text “Source: live metrics (Prometheus)” and the note “Prometheus keeps about 15 days of history.”\n4. The charts load (meanwhile you see “Loading history…”). Hold the pointer over a point on a chart to see the exact value.\n\n| Chart | What it shows |\n|---|---|\n| “CPU usage (%)” | CPU load, 0–100% |\n| “RAM usage (%)” | Memory in use, 0–100% |\n| “Disk usage (%)” | How full the `/` partition is |\n| “Network (bytes/s)” | Incoming (“RX bytes/s”) and outgoing (“TX bytes/s”) traffic on all network interfaces, excluding the local interface `lo` |\n| “Load average (1m)” | The 1-minute load average |\n| “Processes” | Running processes |\n\nThe time axis is in UTC.\n\n### How much history you see\n\n- History starts no earlier than the moment you became the server's owner: you don't see data from before that. Live charts have data only from the time the agent started working.\n- Live metrics are kept for about 15 days, so in practice “30 days” and “90 days” show at most the last 15 days or so.\n- Over long ranges, the points on the chart are farther apart, and short spikes may not show. For detail, choose “1 h” or “6 h”.\n\nThe message “No history in the selected range for this server.” appears when the server is still “Connecting…” or “Failed”, when the agent has just started and there is no data in the range yet, or when you have no monitored servers.\n\n> **Tip**\n> The charts show the trend, not the cause. To find out which process is loading the server right now, connect over SSH and follow [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza).\n\n## Error messages\n\nErrors appear in a red bar: under the page title (for the table) or in the “Trends” block (for the charts). Some appear as a raw technical code.\n\n| Message | What it means | What to do |\n|---|---|---|\n| `rate_limited` | Too many loads within one minute. The limit for your account: 30 loads of the table (opening the page and “Refresh”) and 60 loads of the charts per minute | Wait a minute, then reload the page in your browser |\n| `panel_monitoring_disabled` | The monitoring page is temporarily unavailable | Come back later; if the message persists, write to us |\n| “Unauthorized”, “Token invalidated” or “Token revoked” | Your panel session has expired (it lasts 8 hours) or was ended, for example with “Sign Out Everywhere” | Sign in again from “Contul meu” (My account) → “Panou de administrare” (Admin panel) ([Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)) |\n| “Failed to load monitoring summary”, “Failed to load history” or another technical message | The data could not be read | Reload the page; if it happens again, write to us |\n\nOther panel limits: [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Frequently asked questions\n\n**I have a server, but the page says “No monitoring data yet…”. Is something wrong?**\nNo. Metrics appear only for servers with the Monitoring service. Without it, the table stays empty no matter how long you wait: [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\n**How often is the data updated?**\nThe agent sends data every 30 seconds. The page reads it when you open the page or click “Refresh”. The CPU and network values are averages over the last 5 minutes.\n\n**Why does the 90-day chart show only the last two weeks?**\nLive metrics are kept for about 15 days, so there is no older data.\n\n**In “Comenzi” (Orders) the service is “În curs de activare” (Activating), but here the badge is “Failed”. What does that mean?**\nActivation needs the team to step in, for example because the server does not run Ubuntu or Debian. Write to us and name the server.\n\n**Can I see data from before I became the server's owner?**\nNo. History starts from the moment the server became yours.\n\n**Can I get emails when there is a problem on the server?**\nYou set up alerts and emails in the “Alerts” card on this same page: [Alerts and email notifications](#servicii.alerte).\n\n**The CPU is always close to 100%. What should I do?**\nFirst find the cause: [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza). If this load is normal for your application, move to a larger plan: [Server upgrade: moving to a larger plan](#servere.upgrade).\n"
   }
  },
  {
   "id": "servicii.alerte",
   "section": "servicii",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/alerte/",
    "ru": "https://docs.blackbox.md/ru/servicii/alerte/",
    "en": "https://docs.blackbox.md/en/servicii/alerte/"
   },
   "title": {
    "ro": "Alerte și notificări pe email",
    "ru": "Оповещения и уведомления по email",
    "en": "Alerts and email notifications"
   },
   "summary": {
    "ro": "Cardul „Alerte” din pagina „Monitorizare”: severitățile, statusurile și preferințele pentru emailurile de alertă.",
    "ru": "Карточка «Оповещения» на странице «Мониторинг»: уровни важности, статусы и настройки писем об оповещениях.",
    "en": "The “Alerts” card on the “Monitoring” page: severity levels, statuses and preferences for alert emails."
   },
   "markdown": {
    "ro": "Cardul „Alerte” se află în partea de sus a paginii „Monitorizare” din panoul app.blackbox.md (`app.blackbox.md/monitoring`, bara laterală → „Infrastructură” → „Monitorizare”). Aici vedeți problemele detectate de sistemul de monitorizare BLACKBOX pe serverele dvs. în ultimele 30 de zile. Tot aici alegeți când primiți email despre o alertă nouă.\n\n**Disponibil pentru:** orice client care a intrat în panoul app.blackbox.md. Alertele apar doar pentru serverele al căror titular sunteți (cele comandate din contul dvs. blackbox.md).\n\n> **Important**\n> Alertele apar numai pentru serverele care au reguli de monitorizare configurate, de exemplu cele cu serviciul suplimentar „Monitoring 24/7”. Pentru celelalte servere cardul rămâne gol, chiar dacă serverul are o problemă. Cum cereți serviciul: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare).\n\n## Cum deschideți cardul „Alerte”\n\n1. Deschideți panoul din blackbox.md: „Contul meu” → „Panou de administrare”. Detalii: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n2. În bara laterală, apăsați „Monitorizare” (secțiunea „Infrastructură”).\n3. Cardul „Alerte” este primul de sub titlul paginii. Cât timp lista se încarcă, scrie „Se încarcă alertele…”.\n4. Lista nu se actualizează singură. Pentru alertele noi, apăsați „Reîmprospătează” din dreapta titlului „Alerte” (în timpul încărcării: „Se reîmprospătează…”).\n\nButonul „Reîmprospătează” de lângă titlul paginii actualizează doar tabelul serverelor, nu și lista de alerte. Restul paginii este descris în [Pagina „Monitorizare”](#servicii.monitorizare).\n\nDacă în ultimele 30 de zile nu a existat nicio alertă, cardul afișează „Nicio alertă în ultimele 30 de zile.”\n\n## Ce arată tabelul\n\nTabelul conține alertele care au început în ultimele 30 de zile. Întâi apar alertele „Activă”, apoi cele „Rezolvată”. În fiecare grup, ordinea este de la cea mai nouă la cea mai veche.\n\n| Coloană | Ce conține |\n|---|---|\n| „Alertă” | Numele alertei și, dedesubt, o scurtă descriere a problemei, dacă există |\n| „Server” | Numele original al serverului, nu numele privat setat de dvs. ([Redenumirea serverului (nume privat)](#servere.redenumire)). „—” înseamnă că numele nu este disponibil |\n| „Severitate” | Cât de gravă este problema (vedeți tabelul de mai jos) |\n| „Stare” | „Activă” sau „Rezolvată” |\n| „Început” | Cât timp a trecut de la începutul problemei: „chiar acum”, „acum 5m”, „acum 3h”, „acum 2z”. Țineți cursorul pe valoare pentru data și ora exactă (în format tehnic, în UTC) |\n\nFiecare apariție a unei probleme este un rând separat: dacă aceeași alertă se rezolvă și apoi reapare, în tabel apare un rând nou.\n\n### Severitatea\n\n| Severitate | Culoare | Email |\n|---|---|---|\n| „Critică” | roșu | se trimite pentru orice „Severitate minimă” aleasă |\n| „Avertisment” | galben | se trimite dacă „Severitate minimă” este „Avertisment” (implicit) sau „Informativă” |\n| „Informativă” | albastru | se trimite doar dacă „Severitate minimă” este „Informativă” |\n| „Necunoscută” | gri | nu se trimite niciodată |\n\n„Necunoscută” înseamnă că alerta nu are un nivel de severitate. Ea apare în tabel, dar nu declanșează email.\n\n### Starea\n\n| Stare | Culoare | Ce înseamnă |\n|---|---|---|\n| „Activă” | roșu | Problema continuă |\n| „Rezolvată” | verde | Sistemul de monitorizare a raportat că problema a dispărut. La rezolvare nu primiți email |\n\n## Cum setați emailurile de alertă\n\nSub tabel se află blocul „Preferințe de notificare”. Setările sunt valabile pentru tot contul (pentru toate serverele dvs.) și contează pentru emailurile trimise după ce le salvați.\n\n| Element | Ce face | Implicit |\n|---|---|---|\n| Caseta „Trimiteți-mi email când apare o alertă nouă” | Bifată: primiți email la alertele noi. Debifată: nu primiți email, dar alertele apar în continuare în panou | bifată |\n| Lista „Severitate minimă” | „Informativă”, „Avertisment” sau „Critică”: nivelul de la care primiți email | „Avertisment” |\n| Butonul „Salvează” | Salvează cele două setări | — |\n\n1. În cardul „Alerte”, găsiți blocul „Preferințe de notificare”.\n2. Bifați sau debifați „Trimiteți-mi email când apare o alertă nouă”.\n3. Alegeți nivelul din lista „Severitate minimă”.\n4. Apăsați „Salvează”. Cât timp se salvează, butonul arată „Se salvează…”.\n5. Panoul nu afișează un mesaj de confirmare. Dacă nu apare un mesaj de eroare deasupra setărilor, preferințele au fost salvate.\n\nPreferințele nu schimbă ce alerte vedeți în tabel: acolo apar toate, indiferent de severitate.\n\n## Emailul de alertă\n\nEmailul pleacă de la expeditorul „BlackBox” la adresa de email a contului dvs. blackbox.md. În panou nu puteți indica altă adresă.\n\n- **Subiect:** „[BlackBox] Alertă — …”, unde „…” este numele alertei, ca în coloana „Alertă”.\n- **Conținut:** numele serverului (dacă este disponibil), „Alertă:” cu numele alertei, „Severitate:” cu nivelul în forma tehnică (`critical`, `warning` sau `info`), descrierea problemei, „Pornit:” cu data și ora de început (în format tehnic) și trimiterea la panou („Monitoring → Alerte”). În panoul în limba română, meniul se numește „Monitorizare”.\n- **Linkul** de la final duce la blackbox.md. De acolo deschideți panoul, apoi „Monitorizare”.\n\nPrimiți emailul doar dacă sunt îndeplinite toate condițiile:\n\n- alerta este „Activă” (la rezolvare nu se trimite nimic);\n- caseta „Trimiteți-mi email când apare o alertă nouă” este bifată;\n- severitatea alertei este cel puțin cea din „Severitate minimă” (alertele „Necunoscută” nu trimit niciodată email);\n- pentru aceeași alertă nu ați primit deja un email în ultimele 6 ore.\n\n> **Notă**\n> Emailul de alertă este întotdeauna în limba română, indiferent de limba aleasă pe site sau în panou. Detalii: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\nToate emailurile pe care le trimite BLACKBOX: [Emailurile pe care le primiți de la BLACKBOX](#suport.emailuri-blackbox).\n\n## Mesaje de eroare\n\nDacă lista sau setările nu se pot încărca ori salva, apare un mesaj pe fond roșu: deasupra listei de alerte sau deasupra setărilor. De cele mai multe ori panoul afișează textul tehnic primit de la server, de obicei în engleză, nu textul tradus din tabelul de mai jos.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu s-au putut încărca alertele” sau un mesaj tehnic deasupra listei | Lista de alerte nu s-a încărcat. Textul „Nicio alertă în ultimele 30 de zile.” de sub mesaj nu este valabil în acest caz | Apăsați „Reîmprospătează”. Dacă se repetă, reîncărcați pagina |\n| „Nu s-au putut încărca preferințele” sau un mesaj tehnic deasupra setărilor | Setările de email nu s-au încărcat, iar caseta și lista arată valorile implicite, nu pe cele salvate | Reîncărcați pagina înainte să apăsați „Salvează” |\n| „Nu s-au putut salva preferințele” sau un mesaj tehnic după „Salvează” | Setările nu au fost salvate | Reîncercați. Dacă se repetă, scrieți-ne |\n| `alerts_ingest_disabled` (după „Salvează”) | Funcția de alerte este temporar indisponibilă. Între timp, cardul afișează „Nicio alertă în ultimele 30 de zile.” | Reveniți mai târziu |\n| „Unauthorized” | Sesiunea în panou a expirat (durează 8 ore de la autentificare) | Reîncărcați pagina și intrați din nou în panou din blackbox.md |\n\nToate erorile panoului: [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n\n## Întrebări frecvente\n\n**De ce cardul „Alerte” este gol?**\nFie nu a existat nicio alertă în ultimele 30 de zile, fie serverele dvs. nu au reguli de monitorizare configurate (de exemplu, nu au serviciul „Monitoring 24/7”), fie funcția este temporar indisponibilă. Dacă vreți alerte pentru un server, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Văd alertele serverelor unei companii la care BLACKBOX mi-a dat acces?**\nNu. Cardul arată doar alertele serverelor al căror titular erați în momentul în care a apărut alerta. Serverele companiei apar în tabelul de pe pagina „Monitorizare” cu insigna „Administrat de BlackBox”, dar alertele lor nu ajung în card.\n\n**Pot dezactiva emailurile pentru un singur server?**\nNu. „Preferințe de notificare” se aplică tuturor serverelor din cont.\n\n**Problema continuă. Voi primi un nou email?**\nPentru aceeași alertă primiți cel mult un email la 6 ore, chiar dacă între timp ea se rezolvă și reapare. Urmăriți starea în panou și apăsați „Reîmprospătează”.\n\n**Ce fac când primesc o alertă?**\nConectați-vă la server prin SSH și verificați încărcarea: [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza). Dacă discul este plin: [Discul serverului este plin](#faq.disc-plin). Dacă nu găsiți cauza, scrieți-ne și indicați numele alertei și numele serverului.\n\n**Cât timp se păstrează alertele?**\nIstoricul alertelor se păstrează 90 de zile, dar cardul arată doar alertele începute în ultimele 30 de zile. Alertele unui server șters rămân în card până trec 30 de zile de la începutul lor.\n",
    "ru": "Карточка «Оповещения» находится в верхней части страницы «Мониторинг» панели app.blackbox.md (`app.blackbox.md/monitoring`, боковое меню → «Инфраструктура» → «Мониторинг»). В ней видны проблемы, которые система мониторинга BLACKBOX обнаружила на ваших серверах за последние 30 дней. Здесь же вы выбираете, когда получать письмо о новом оповещении.\n\n**Доступно:** любому клиенту, вошедшему в панель app.blackbox.md. Оповещения показываются только по серверам, владельцем которых вы являетесь (то есть заказанным из вашего аккаунта blackbox.md).\n\n> **Важно**\n> Оповещения приходят только по серверам, для которых настроены правила мониторинга, например по серверам с дополнительной услугой «Мониторинг 24/7». По остальным серверам карточка остаётся пустой, даже если на сервере есть проблема. Как подключить услугу: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare).\n\n## Как открыть карточку «Оповещения»\n\n1. Откройте панель с blackbox.md: «Личный кабинет» → «Панель управления». Подробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n2. В боковом меню нажмите «Мониторинг» (раздел «Инфраструктура»).\n3. Карточка «Оповещения» — первая под заголовком страницы. Пока список загружается, в ней написано «Загрузка оповещений…».\n4. Список не обновляется автоматически. Чтобы увидеть новые оповещения, нажмите «Обновить» справа от заголовка «Оповещения» (во время загрузки на кнопке написано «Обновление…»).\n\nКнопка «Обновить» рядом с заголовком страницы обновляет только таблицу серверов, а не список оповещений. Остальная часть страницы описана в статье [Страница «Мониторинг»](#servicii.monitorizare).\n\nЕсли за последние 30 дней оповещений не было, в карточке написано «Оповещений за последние 30 дней нет.»\n\n## Что показывает таблица\n\nВ таблице — оповещения, которые начались за последние 30 дней. Сначала идут оповещения со статусом «Активно», затем «Устранено». Внутри каждой группы — от новых к старым.\n\n| Столбец | Что в нём |\n|---|---|\n| «Оповещение» | Название оповещения и под ним — краткое описание проблемы, если оно есть |\n| «Сервер» | Исходное название сервера, а не ваше личное название ([Переименование сервера (личное название)](#servere.redenumire)). «—» означает, что название недоступно |\n| «Важность» | Насколько серьёзна проблема (см. таблицу ниже) |\n| «Статус» | «Активно» или «Устранено» |\n| «Начало» | Сколько времени прошло с начала проблемы: «только что», «5 мин назад», «3 ч назад», «2 дн назад». Наведите курсор на значение, чтобы увидеть точные дату и время (в техническом формате, по UTC) |\n\nКаждое появление проблемы — отдельная строка: если одно и то же оповещение устранилось, а потом возникло снова, в таблице появится новая строка.\n\n### Уровни важности\n\n| Важность | Цвет | Письмо |\n|---|---|---|\n| «Критическая» | красный | приходит при любом значении «Минимальная важность» |\n| «Предупреждение» | жёлтый | приходит, если «Минимальная важность» — «Предупреждение» (по умолчанию) или «Информация» |\n| «Информация» | синий | приходит, только если «Минимальная важность» — «Информация» |\n| «Неизвестно» | серый | не приходит никогда |\n\n«Неизвестно» означает, что у оповещения не указан уровень важности. Оно показывается в таблице, но письма о нём не будет.\n\n### Статусы\n\n| Статус | Цвет | Что означает |\n|---|---|---|\n| «Активно» | красный | Проблема продолжается |\n| «Устранено» | зелёный | Система мониторинга сообщила, что проблема исчезла. Письмо об устранении не отправляется |\n\n## Как настроить письма об оповещениях\n\nПод таблицей находится блок «Настройки уведомлений». Настройки действуют для всего аккаунта (для всех ваших серверов) и применяются к письмам, которые отправляются после сохранения.\n\n| Элемент | Что делает | По умолчанию |\n|---|---|---|\n| Флажок «Присылать письмо при новом оповещении» | Отмечен — письма о новых оповещениях приходят. Снят — писем нет, но оповещения по-прежнему видны в панели | отмечен |\n| Список «Минимальная важность» | «Информация», «Предупреждение» или «Критическая»: уровень, начиная с которого приходят письма | «Предупреждение» |\n| Кнопка «Сохранить» | Сохраняет обе настройки | — |\n\n1. В карточке «Оповещения» найдите блок «Настройки уведомлений».\n2. Отметьте флажок «Присылать письмо при новом оповещении» или снимите его.\n3. Выберите уровень в списке «Минимальная важность».\n4. Нажмите «Сохранить». Пока настройки сохраняются, на кнопке написано «Сохранение…».\n5. Сообщения об успешном сохранении нет. Если над настройками не появилось сообщение об ошибке, всё сохранено.\n\nНастройки не влияют на то, какие оповещения видны в таблице: там показываются все, независимо от важности.\n\n## Письмо об оповещении\n\nПисьмо приходит от отправителя «BlackBox» на email вашего аккаунта blackbox.md. Указать другой адрес в панели нельзя.\n\n- **Тема:** «[BlackBox] Alertă — …», где «…» — название оповещения, как в столбце «Оповещение».\n- **Содержание:** название сервера (если оно известно), «Alertă:» с названием оповещения, «Severitate:» с уровнем важности в техническом виде (`critical`, `warning` или `info`), описание проблемы, «Pornit:» с датой и временем начала (в техническом формате) и указание, где смотреть оповещения в панели («Monitoring → Alerte»). В русской версии панели это «Мониторинг» → «Оповещения».\n- **Ссылка** в конце письма ведёт на blackbox.md. Откройте оттуда панель, а в ней — «Мониторинг».\n\nПисьмо приходит, только если выполнены все условия:\n\n- оповещение в статусе «Активно» (при устранении письмо не отправляется);\n- флажок «Присылать письмо при новом оповещении» отмечен;\n- важность оповещения не ниже значения «Минимальная важность» (по оповещениям «Неизвестно» письма не приходят никогда);\n- по этому же оповещению за последние 6 часов письмо ещё не отправлялось.\n\n> **Примечание**\n> Письмо об оповещении всегда приходит на румынском языке, даже если вы пользуетесь сайтом и панелью на русском. Подробнее: [Язык сайта, панели и писем](#cont.limba).\n\nВсе письма, которые отправляет BLACKBOX: [Письма, которые вы получаете от BLACKBOX](#suport.emailuri-blackbox).\n\n## Сообщения об ошибках\n\nЕсли список или настройки не удалось загрузить или сохранить, появляется сообщение на красном фоне: над списком оповещений или над настройками. Чаще всего панель показывает технический текст, полученный от сервера (обычно на английском), а не переведённый текст из таблицы ниже.\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Не удалось загрузить оповещения» или техническое сообщение над списком | Список оповещений не загрузился. Надпись «Оповещений за последние 30 дней нет.» под сообщением в этом случае ничего не значит | Нажмите «Обновить». Если ошибка повторяется, перезагрузите страницу |\n| «Не удалось загрузить настройки» или техническое сообщение над настройками | Настройки писем не загрузились: флажок и список показывают значения по умолчанию, а не сохранённые | Перезагрузите страницу, прежде чем нажимать «Сохранить» |\n| «Не удалось сохранить настройки» или техническое сообщение после «Сохранить» | Настройки не сохранились | Попробуйте ещё раз. Если ошибка повторяется, напишите нам |\n| `alerts_ingest_disabled` (после «Сохранить») | Оповещения временно недоступны. Пока это так, в карточке написано «Оповещений за последние 30 дней нет.» | Вернитесь позже |\n| «Unauthorized» | Сессия в панели истекла (она длится 8 часов с момента входа) | Перезагрузите страницу и снова войдите в панель с blackbox.md |\n\nВсе ошибки панели: [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n\n## Частые вопросы\n\n**Почему карточка «Оповещения» пустая?**\nЛибо за последние 30 дней оповещений не было, либо для ваших серверов не настроены правила мониторинга (например, у них нет услуги «Мониторинг 24/7»), либо оповещения временно недоступны. Если вам нужны оповещения по серверу, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**Видны ли оповещения по серверам компании, к которым BLACKBOX открыл мне доступ?**\nНет. В карточке показываются только оповещения по серверам, владельцем которых вы были в момент, когда оповещение возникло. Серверы компании видны в таблице на странице «Мониторинг» со значком «Под управлением BlackBox», но их оповещения в карточку не попадают.\n\n**Можно ли отключить письма только для одного сервера?**\nНет. «Настройки уведомлений» действуют для всех серверов аккаунта.\n\n**Проблема не устранена. Придёт ли новое письмо?**\nПо одному и тому же оповещению приходит не больше одного письма за 6 часов, даже если за это время оно успело устраниться и появиться снова. Следите за статусом в панели и нажимайте «Обновить».\n\n**Что делать, когда пришло оповещение?**\nПодключитесь к серверу по SSH и проверьте нагрузку: [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza). Если заполнен диск: [Диск сервера заполнен](#faq.disc-plin). Если причину найти не удалось, напишите нам и укажите название оповещения и название сервера.\n\n**Сколько хранятся оповещения?**\nИстория оповещений хранится 90 дней, но карточка показывает только оповещения, начавшиеся за последние 30 дней. Оповещения по удалённому серверу остаются в карточке, пока с их начала не пройдёт 30 дней.\n",
    "en": "The “Alerts” card is at the top of the “Monitoring” page in the app.blackbox.md panel (`app.blackbox.md/monitoring`, sidebar → “Infrastructure” → “Monitoring”). It shows the problems the BLACKBOX monitoring system has detected on your servers in the last 30 days. This is also where you choose when you get an email about a new alert.\n\n**Available to:** any customer signed in to the app.blackbox.md panel. Alerts appear only for servers you own (the ones ordered from your blackbox.md account).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Important**\n> Alerts appear only for servers that have monitoring rules set up, for example servers with the “Monitoring 24/7” add-on service. For other servers, the card stays empty, even if the server has a problem. How to request the service: [Add-on services for your server](#servicii.servicii-suplimentare).\n\n## How to open the “Alerts” card\n\n1. Open the panel from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel). Details: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n2. In the sidebar, click “Monitoring” (in the “Infrastructure” section).\n3. The “Alerts” card is the first one below the page title. While the list is loading, it shows “Loading alerts…”.\n4. The list does not update by itself. To see new alerts, click “Refresh” to the right of the “Alerts” title (while it loads, the button shows “Refreshing…”).\n\nThe “Refresh” button next to the page title updates only the server table, not the list of alerts. The rest of the page is described in [The “Monitoring” page](#servicii.monitorizare).\n\nIf there have been no alerts in the last 30 days, the card shows “No alerts in the last 30 days.”\n\n## What the table shows\n\nThe table lists the alerts that started in the last 30 days. “Firing” alerts come first, then “Resolved” ones. Within each group, they are sorted from newest to oldest.\n\n| Column | What it contains |\n|---|---|\n| “Alert” | The alert name and, below it, a short description of the problem, if there is one |\n| “Server” | The server's original name, not the private name you set ([Renaming a server (private name)](#servere.redenumire)). “—” means the name is not available |\n| “Severity” | How serious the problem is (see the table below) |\n| “Status” | “Firing” or “Resolved” |\n| “Started” | How long ago the problem started: “just now”, “5m ago”, “3h ago”, “2d ago”. Hover over the value to see the exact date and time (in a technical format, in UTC) |\n\nEach occurrence of a problem is a separate row: if the same alert is resolved and then comes back, a new row appears in the table.\n\n### Severity levels\n\n| Severity | Color | Email |\n|---|---|---|\n| “Critical” | red | sent whatever “Minimum severity” you choose |\n| “Warning” | yellow | sent if “Minimum severity” is “Warning” (the default) or “Info” |\n| “Info” | blue | sent only if “Minimum severity” is “Info” |\n| “Unknown” | gray | never sent |\n\n“Unknown” means the alert has no severity level. It appears in the table, but it does not trigger an email.\n\n### Statuses\n\n| Status | Color | What it means |\n|---|---|---|\n| “Firing” | red | The problem is ongoing |\n| “Resolved” | green | The monitoring system reported that the problem has gone away. You don't get an email when an alert is resolved |\n\n## How to set up alert emails\n\nBelow the table is the “Notification preferences” block. The settings apply to your whole account (all your servers) and affect the emails sent after you save them.\n\n| Item | What it does | Default |\n|---|---|---|\n| The “Email me when a new alert fires” checkbox | Checked: you get an email about new alerts. Unchecked: you get no email, but alerts still appear in the panel | checked |\n| The “Minimum severity” list | “Info”, “Warning” or “Critical”: the level from which you get emails | “Warning” |\n| The “Save” button | Saves both settings | — |\n\n1. In the “Alerts” card, find the “Notification preferences” block.\n2. Check or uncheck “Email me when a new alert fires”.\n3. Choose the level in the “Minimum severity” list.\n4. Click “Save”. While your settings are being saved, the button shows “Saving…”.\n5. The panel does not show a confirmation message. If no error message appears above the settings, your preferences have been saved.\n\nThe preferences do not change which alerts you see in the table: all of them appear there, whatever their severity.\n\n## The alert email\n\nThe email comes from the sender “BlackBox” and goes to the email address of your blackbox.md account. You cannot set a different address in the panel.\n\n- **Subject:** “[BlackBox] Alertă — …” ([BlackBox] Alert — …), where “…” is the alert name, as shown in the “Alert” column.\n- **Content:** the server name (if available), “Alertă:” (Alert:) with the alert name, “Severitate:” (Severity:) with the level in technical form (`critical`, `warning` or `info`), the problem description, “Pornit:” (Started:) with the start date and time (in a technical format), and where to find alerts in the panel (“Monitoring → Alerte”, meaning Monitoring → Alerts). In the English panel, this is “Monitoring” → “Alerts”.\n- **The link** at the end leads to blackbox.md. From there, open the panel, then “Monitoring”.\n\nYou get the email only if all of these conditions are met:\n\n- the alert is “Firing” (nothing is sent when it is resolved);\n- the “Email me when a new alert fires” checkbox is checked;\n- the alert's severity is at least the level set in “Minimum severity” (“Unknown” alerts never send an email);\n- you have not already received an email about the same alert in the last 6 hours.\n\n> **Note**\n> The alert email is always in Romanian, whatever language you chose on the website or in the panel. Details: [Language of the website, the panel and emails](#cont.limba).\n\nAll the emails BLACKBOX sends: [Emails you receive from BLACKBOX](#suport.emailuri-blackbox).\n\n## Error messages\n\nIf the list or the settings cannot be loaded or saved, a message appears on a red background, either above the list of alerts or above the settings. Most of the time, the panel shows the technical text it received from the server (usually in English) instead of the message in the table below.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Failed to load alerts” or a technical message above the list | The list of alerts did not load. In this case, the text “No alerts in the last 30 days.” below the message is not accurate | Click “Refresh”. If it happens again, reload the page |\n| “Failed to load preferences” or a technical message above the settings | Your email settings did not load: the checkbox and the list show the default values, not your saved ones | Reload the page before you click “Save” |\n| “Failed to save preferences” or a technical message after “Save” | Your settings were not saved | Try again. If it happens again, write to us |\n| `alerts_ingest_disabled` (after “Save”) | The alerts feature is temporarily unavailable. In the meantime, the card shows “No alerts in the last 30 days.” | Come back later |\n| “Unauthorized” | Your panel session has expired (a session lasts 8 hours after you sign in) | Reload the page and enter the panel again from blackbox.md |\n\nAll panel errors: [Panel error messages and what they mean](#faq.erori-panou).\n\n## Frequently asked questions\n\n**Why is the “Alerts” card empty?**\nEither there have been no alerts in the last 30 days, or your servers have no monitoring rules set up (for example, they don't have the “Monitoring 24/7” service), or the feature is temporarily unavailable. If you want alerts for a server, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n**Do I see alerts for the servers of a company that BLACKBOX gave me access to?**\nNo. The card shows only alerts for servers you owned at the moment the alert appeared. The company's servers appear in the table on the “Monitoring” page with the “Managed by BlackBox” badge, but their alerts do not reach the card.\n\n**Can I turn off emails for just one server?**\nNo. “Notification preferences” apply to all the servers in your account.\n\n**The problem is still there. Will I get another email?**\nFor the same alert, you get at most one email every 6 hours, even if the alert is resolved and comes back in the meantime. Keep an eye on the status in the panel and click “Refresh”.\n\n**What should I do when I get an alert?**\nConnect to the server over SSH and check its load: [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza). If the disk is full: [The server's disk is full](#faq.disc-plin). If you can't find the cause, write to us and include the alert name and the server name.\n\n**How long are alerts kept?**\nThe alert history is kept for 90 days, but the card shows only alerts that started in the last 30 days. Alerts for a deleted server stay in the card until 30 days have passed since they started.\n"
   }
  },
  {
   "id": "servicii.agent-monitorizare",
   "section": "servicii",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/agent-monitorizare/",
    "ru": "https://docs.blackbox.md/ru/servicii/agent-monitorizare/",
    "en": "https://docs.blackbox.md/en/servicii/agent-monitorizare/"
   },
   "title": {
    "ro": "Serviciul Monitoring: agentul instalat pe server",
    "ru": "Услуга «Мониторинг»: агент на сервере",
    "en": "The Monitoring service: the agent installed on the server"
   },
   "summary": {
    "ro": "Ce oferă serviciul suplimentar „Monitoring 24/7”, cum îl obțineți, ce instalează pe server și ce trebuie să păstrați activ.",
    "ru": "Что даёт дополнительная услуга «Мониторинг 24/7», как её получить, что она устанавливает на сервер и что нужно оставить включённым.",
    "en": "What the “Monitoring 24/7” add-on service gives you, how to get it, what it installs on the server and what you need to keep running."
   },
   "markdown": {
    "ro": "Serviciul suplimentar „Monitoring 24/7” instalează pe serverul dvs. un agent care trimite la BLACKBOX, la fiecare 30 de secunde, metricile de sistem: procesorul, memoria, discul, rețeaua și procesele. Cu el, pagina „Monitorizare” din panoul app.blackbox.md (`app.blackbox.md/monitoring`, meniul din stânga „Infrastructură” → „Monitorizare”) arată pentru acel server valori live și grafice de tendință. Serviciul costă 98 MDL/lună pentru fiecare server.\n\n**Disponibil pentru:** titularul contului blackbox.md, pentru serverele VPS comandate din contul său, cu Ubuntu sau Debian. Serviciul se obține prin suport sau printr-un asistent AI, nu din pagina de comandă.\n\n## Ce primiți\n\n| Element | Detalii |\n|---|---|\n| Nume în „Comenzi” | „Monitoring 24/7” |\n| Preț | 98 MDL/lună pentru fiecare server. Suma se adaugă la totalul comenzii serverului și se plătește lunar împreună cu acesta. |\n| Sisteme de operare | Ubuntu și Debian. |\n| Colectarea datelor | Metrici de sistem, la fiecare 30 de secunde. |\n| Tabelul „Serverele dvs.” | Coloanele „CPU”, „RAM”, „Disc” (partiția `/`), „Încărcare (1m)”, „Procese” și starea serviciului în coloana „Monitorizare”. |\n| Secțiunea „Tendințe” | Graficele „Utilizare CPU (%)”, „Utilizare RAM (%)”, „Utilizare disc (%)”, „Rețea (octeți/s)”, „Încărcare medie (1m)” și „Procese”, pe intervale de la „1 h” la „90 zile”. Pagina afișează „Sursa: metrici live (Prometheus)” și „Prometheus păstrează aproximativ 15 zile de istoric.” |\n\nCum citiți tabelul și graficele: [Pagina „Monitorizare”](#servicii.monitorizare).\n\n## Cum obțineți serviciul\n\nPe pagina de comandă de pe blackbox.md nu puteți alege servicii suplimentare. Aveți două căi: suportul sau un asistent AI conectat prin MCP.\n\n### Prin suport\n\n1. Deschideți un tichet din „Contul meu” → „Ajutor și suport” sau scrieți la support@blackbox.md. Vedeți [Deschiderea unui tichet de suport](#suport.tichet-nou).\n2. Precizați că doriți serviciul „Monitoring 24/7” și pentru ce server: numărul comenzii `BBX-…` al unui server existent sau planul și sistemul de operare (Ubuntu ori Debian) al unui server nou.\n3. Echipa vă răspunde și vă spune cum se poate face. Adăugarea serviciului la un server deja existent se stabilește de la caz la caz, cu suportul.\n\n### Prin asistentul AI (MCP)\n\nAveți nevoie de un token API cu permisiunea „Plasează și modifică comenzi în numele meu” (`orders:write`). Vedeți [Permisiunile token-urilor (scopes)](#ai.permisiuni). Prin asistent, serviciul se comandă doar împreună cu un server nou.\n\n1. Cereți asistentului să pregătească o comandă pentru un plan VPS cu Ubuntu sau Debian și cu serviciul de monitorizare. Spuneți-i explicit să adauge `\"extras\": [\"monitoring\"]` în `config` la unealta `create_order`. De exemplu:\n\n   ```text\n   Pregătește o comandă pentru planul vm-iops1-m cu Ubuntu 24.04 și serviciul de monitorizare: la create_order adaugă \"extras\": [\"monitoring\"] în config. Arată-mi prețul și așteaptă confirmarea mea.\n   ```\n\n2. Verificați prețul propus: trebuie să fie prețul planului plus 98 MDL. De exemplu, Standard M (`vm-iops1-m`) costă 578 MDL/lună, iar împreună cu serviciul, 676 MDL/lună. Dacă totalul este egal cu prețul planului, serviciul nu a fost inclus.\n3. Confirmați. Comanda apare în „Contul meu” → „Comenzi” cu statusul „Nou”.\n4. Achitați comanda: din sold prin asistent sau cu butonul „Achită comanda” de pe pagina „Comenzi”.\n\nDetalii despre comenzile prin AI: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Important**\n> Agentul se instalează doar pe Ubuntu și Debian. Pe CentOS Stream 9 sau AlmaLinux 9 instalarea nu are loc: în „Comenzi” serviciul rămâne „În curs de activare”, iar pe pagina „Monitorizare” apare „Eșuat”. În acest caz, scrieți-ne.\n\n## Ce se instalează pe server\n\nDupă ce serverul este gata, BLACKBOX se conectează la el prin SSH, cu cheia de administrare, și instalează agentul automat. Nu trebuie să faceți nimic.\n\n| Element | Pe server |\n|---|---|\n| Serviciul | `alloy` (agentul Grafana Alloy). Pornește automat odată cu serverul. |\n| Sursa pachetului | Depozitul oficial al producătorului, `apt.grafana.com` (fișierele `/etc/apt/sources.list.d/grafana.list` și `/etc/apt/keyrings/grafana.gpg`). Dacă depozitul nu răspunde, se instalează versiunea publicată pe `github.com`, în `/usr/local/bin/alloy`. |\n| Configurarea | `/etc/alloy/config.alloy` |\n| Ce trimite | Metrici de sistem: utilizarea procesorului, a memoriei, a discurilor și a rețelei, numărul de procese și altele de același tip. Conținutul fișierelor și datele aplicațiilor dvs. nu sunt trimise. |\n| Unde trimite | La BLACKBOX, prin HTTPS, cu o cheie unică pentru serverul dvs., scrisă în fișierul de configurare. |\n| Jurnalul instalării | `/var/log/blackbox-monitoring-install.log` |\n\n> **Securitate**\n> Fișierul `/etc/alloy/config.alloy` conține cheia serverului și este gestionat de BLACKBOX. Nu îl modificați și nu transmiteți conținutul lui altor persoane. Cheia permite doar trimiterea metricilor acestui server.\n\n## Ce trebuie să păstrați activ\n\nPentru ca metricile să ajungă în panou:\n\n- Nu opriți și nu dezactivați serviciul `alloy` și nu dezinstalați pachetul `alloy`.\n- Nu blocați traficul HTTPS de ieșire (portul 443). Dacă filtrați traficul de ieșire cu ufw sau firewalld, permiteți HTTPS. Înainte să schimbați regulile, păstrați deschisă o a doua sesiune SSH. Vedeți [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n- Nu ștergeți „Cheie de administrare (blackbox.md)” din `authorized_keys`: prin ea BLACKBOX instalează și dezinstalează agentul. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n- Nu modificați `/etc/alloy/config.alloy`.\n\nDacă agentul este oprit sau nu poate trimite date, graficele nu mai primesc valori noi.\n\n### Cum verificați agentul\n\nConectați-vă la server prin SSH ca `root` și rulați:\n\n```bash\nsystemctl status alloy\n```\n\nRândul `Active:` trebuie să arate `active (running)`. Ultimele mesaje ale agentului le vedeți cu:\n\n```bash\njournalctl -u alloy -n 50 --no-pager\n```\n\nDacă ați oprit agentul din greșeală, porniți-l din nou și activați pornirea la boot:\n\n```bash\nsystemctl enable --now alloy\n```\n\nApoi apăsați „Reîmprospătează” pe pagina „Monitorizare”. Dacă valorile nu revin, scrieți-ne.\n\n## Starea serviciului\n\nStarea serviciului apare în două locuri.\n\n**În „Contul meu” → „Comenzi”** (`blackbox.md/account/orders`), sub descrierea comenzii, într-o etichetă de forma „Monitoring 24/7: Activ”. Eticheta apare după plată, când începe crearea serverului.\n\n| Stare | Ce înseamnă |\n|---|---|\n| „În curs de activare” | Agentul se instalează sau instalarea așteaptă intervenția echipei (de exemplu, pe un sistem de operare nesuportat). |\n| „Activ” | Agentul rulează, iar BLACKBOX primește metricile. |\n| „Contactați suportul” | Instalarea automată nu a reușit după mai multe încercări. Scrieți-ne și indicați numărul `BBX-…`. |\n| „Anulat” | Serviciul a fost oprit, de exemplu pentru că serverul a fost șters. |\n\n**În panou, pe pagina „Monitorizare”**, în coloana „Monitorizare” a tabelului „Serverele dvs.”:\n\n| Stare | Ce înseamnă |\n|---|---|\n| „Se conectează…” | Instalarea este în curs. Valorile din tabel apar ca „—”. |\n| „Activ” | Agentul trimite metrici; vedeți valorile și graficele. |\n| „Eșuat” | Instalarea a eșuat sau nu poate fi făcută automat (de exemplu, pe un sistem de operare nesuportat). Scrieți-ne. |\n\nStarea devine „Activ” abia după ce primele metrici ajung la BLACKBOX, nu imediat după instalare.\n\n## Renunțarea la serviciu și ștergerea serverului\n\n- Nu există un buton pentru oprirea serviciului. Pentru a renunța la el, scrieți suportului.\n- Când un serviciu activ este anulat, BLACKBOX dezinstalează agentul de pe server: oprește `alloy` și șterge pachetul, depozitul de pachete adăugat, `/etc/alloy` și directoarele de date ale agentului. Cheia serverului este revocată, așa că metricile nu mai sunt acceptate.\n- Când serverul este șters (din panou sau prin anularea comenzii), agentul dispare odată cu serverul, cheia este revocată, iar eticheta din „Comenzi” devine, de regulă, „Anulat”. Vedeți [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n## Întrebări frecvente\n\n**Pot bifa serviciul când comand serverul pe blackbox.md?**\nNu. Pagina de comandă nu are opțiuni pentru servicii suplimentare. Cereți serviciul prin suport sau printr-un asistent AI, ca mai sus.\n\n**Pot adăuga serviciul la un server pe care îl am deja?**\nÎn cont și în panou nu există o astfel de opțiune. Scrieți suportului: posibilitatea se stabilește de la caz la caz.\n\n**Serverul meu nu apare în tabelul „Serverele dvs.”. De ce?**\nTabelul cu valori live arată serverele care au serviciul „Monitoring 24/7”, în orice stare în afară de „Anulat”. Un server fără serviciu nu are metrici live. Vedeți [Pagina „Monitorizare”](#servicii.monitorizare).\n\n**Cât istoric arată graficele?**\nPagina indică: „Prometheus păstrează aproximativ 15 zile de istoric.” La intervalele „30 zile” și „90 zile”, graficele arată doar perioada pentru care există date.\n\n**În „Comenzi” scrie „Activ”, dar graficele nu se mai actualizează.**\nVerificați pe server că serviciul `alloy` rulează și că traficul HTTPS de ieșire nu este blocat (vedeți „Cum verificați agentul”). Apoi apăsați „Reîmprospătează”. Dacă problema rămâne, scrieți-ne.\n",
    "ru": "Дополнительная услуга «Мониторинг 24/7» устанавливает на ваш сервер агент, который каждые 30 секунд отправляет в BLACKBOX системные метрики: загрузку процессора, память, диск, сеть и процессы. С ней страница «Мониторинг» в панели app.blackbox.md (`app.blackbox.md/monitoring`, левое меню «Инфраструктура» → «Мониторинг») показывает по этому серверу текущие значения и графики динамики. Услуга стоит 98 MDL/мес. за каждый сервер.\n\n**Доступно:** владельцу аккаунта blackbox.md для VPS-серверов, заказанных из этого аккаунта, с Ubuntu или Debian. Услугу подключают через поддержку или через AI-ассистента, а не на странице заказа.\n\n## Что вы получаете\n\n| Параметр | Подробности |\n|---|---|\n| Название в «Заказах» | «Мониторинг 24/7» |\n| Цена | 98 MDL/мес. за каждый сервер. Сумма добавляется к итогу заказа сервера и оплачивается вместе с ним каждый месяц. |\n| Операционные системы | Ubuntu и Debian. |\n| Сбор данных | Системные метрики, каждые 30 секунд. |\n| Таблица «Ваши серверы» | Столбцы «CPU», «ОЗУ», «Диск» (раздел `/`), «Нагрузка (1м)», «Процессы» и состояние услуги в столбце «Мониторинг». |\n| Раздел «Динамика» | Графики «Загрузка CPU (%)», «Использование ОЗУ (%)», «Использование диска (%)», «Сеть (байт/с)», «Средняя нагрузка (1м)» и «Процессы» за период от «1 ч» до «90 дней». На странице указано «Источник: живые метрики (Prometheus)» и «Prometheus хранит примерно 15 дней истории.» |\n\nКак читать таблицу и графики: [Страница «Мониторинг»](#servicii.monitorizare).\n\n## Как получить услугу\n\nНа странице заказа blackbox.md дополнительные услуги выбрать нельзя. Есть два способа: через поддержку или через AI-ассистента, подключённого по MCP.\n\n### Через поддержку\n\n1. Создайте тикет в разделе «Личный кабинет» → «Помощь и поддержка» или напишите на support@blackbox.md. См. [Создание тикета в поддержку](#suport.tichet-nou).\n2. Укажите, что вам нужна услуга «Мониторинг 24/7» и для какого сервера: номер заказа `BBX-…` для существующего сервера или тариф и ОС (Ubuntu или Debian) для нового.\n3. Команда ответит и подскажет, как это можно сделать. Подключение услуги к уже работающему серверу решается индивидуально через поддержку.\n\n### Через AI-ассистента (MCP)\n\nНужен API-токен с разрешением «Оформлять и изменять заказы от моего имени» (`orders:write`). См. [Разрешения токенов (scopes)](#ai.permisiuni). Через ассистента услугу можно заказать только вместе с новым сервером.\n\n1. Попросите ассистента подготовить заказ тарифа VPS с Ubuntu или Debian и услугой мониторинга. Прямо попросите его добавить `\"extras\": [\"monitoring\"]` в `config` инструмента `create_order`. Например:\n\n   ```text\n   Подготовь заказ тарифа vm-iops1-m с Ubuntu 24.04 и услугой мониторинга: в create_order добавь \"extras\": [\"monitoring\"] в config. Покажи цену и дождись моего подтверждения.\n   ```\n\n2. Проверьте предложенную цену: она должна быть равна цене тарифа плюс 98 MDL. Например, Standard M (`vm-iops1-m`) стоит 578 MDL/мес., а вместе с услугой — 676 MDL/мес. Если итог равен цене тарифа, услуга в заказ не попала.\n3. Подтвердите заказ. Он появится в разделе «Личный кабинет» → «Заказы» со статусом «Новый».\n4. Оплатите заказ: с баланса через ассистента или кнопкой «Оплатить заказ» на странице «Заказы».\n\nПодробнее о заказах через AI: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Важно**\n> Агент устанавливается только на Ubuntu и Debian. На CentOS Stream 9 и AlmaLinux 9 установка не выполняется: в «Заказах» услуга остаётся «В процессе активации», а на странице «Мониторинг» появляется «Ошибка». В этом случае напишите нам.\n\n## Что устанавливается на сервер\n\nКогда сервер готов, BLACKBOX подключается к нему по SSH с помощью ключа управления и автоматически устанавливает агент. От вас ничего не требуется.\n\n| Что | На сервере |\n|---|---|\n| Служба | `alloy` (агент Grafana Alloy). Запускается автоматически вместе с сервером. |\n| Источник пакета | Официальный репозиторий производителя `apt.grafana.com` (файлы `/etc/apt/sources.list.d/grafana.list` и `/etc/apt/keyrings/grafana.gpg`). Если репозиторий недоступен, устанавливается версия, опубликованная на `github.com`, в `/usr/local/bin/alloy`. |\n| Конфигурация | `/etc/alloy/config.alloy` |\n| Что отправляется | Системные метрики: загрузка процессора, использование памяти, дисков и сети, число процессов и другие показатели того же рода. Содержимое файлов и данные ваших приложений не передаются. |\n| Куда отправляется | В BLACKBOX по HTTPS, с ключом, уникальным для вашего сервера; ключ записан в файле конфигурации. |\n| Журнал установки | `/var/log/blackbox-monitoring-install.log` |\n\n> **Безопасность**\n> Файл `/etc/alloy/config.alloy` содержит ключ сервера, им управляет BLACKBOX. Не изменяйте его и не передавайте его содержимое посторонним. Ключ позволяет только отправлять метрики этого сервера.\n\n## Что нужно оставить включённым\n\nЧтобы метрики доходили до панели:\n\n- Не останавливайте и не отключайте службу `alloy` и не удаляйте пакет `alloy`.\n- Не блокируйте исходящий HTTPS-трафик (порт 443). Если вы ограничиваете исходящий трафик в ufw или firewalld, разрешите HTTPS. Перед изменением правил держите открытой вторую SSH-сессию. См. [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n- Не удаляйте «Ключ управления (blackbox.md)» из `authorized_keys`: через него BLACKBOX устанавливает и удаляет агент. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n- Не изменяйте `/etc/alloy/config.alloy`.\n\nЕсли агент остановлен или не может отправлять данные, новые значения на графиках не появляются.\n\n### Как проверить агент\n\nПодключитесь к серверу по SSH как `root` и выполните:\n\n```bash\nsystemctl status alloy\n```\n\nВ строке `Active:` должно быть `active (running)`. Последние сообщения агента можно посмотреть так:\n\n```bash\njournalctl -u alloy -n 50 --no-pager\n```\n\nЕсли вы случайно остановили агент, запустите его снова и включите автозапуск:\n\n```bash\nsystemctl enable --now alloy\n```\n\nЗатем нажмите «Обновить» на странице «Мониторинг». Если значения не появились, напишите нам.\n\n## Состояние услуги\n\nСостояние услуги видно в двух местах.\n\n**В разделе «Личный кабинет» → «Заказы»** (`blackbox.md/ru/account/orders`): под описанием заказа показана метка вида «Мониторинг 24/7: Активен». Она появляется после оплаты, когда начинается создание сервера.\n\n| Состояние | Что означает |\n|---|---|\n| «В процессе активации» | Агент устанавливается, или установка ждёт действий команды (например, на неподдерживаемой ОС). |\n| «Активен» | Агент работает, BLACKBOX получает метрики. |\n| «Свяжитесь со службой поддержки» | Автоматическая установка не удалась после нескольких попыток. Напишите нам и укажите номер `BBX-…`. |\n| «Отменён» | Услуга отключена, например, потому что сервер удалён. |\n\n**В панели, на странице «Мониторинг»**: в столбце «Мониторинг» таблицы «Ваши серверы».\n\n| Состояние | Что означает |\n|---|---|\n| «Подключение…» | Идёт установка. Значения в таблице показаны как «—». |\n| «Активен» | Агент отправляет метрики; видны значения и графики. |\n| «Ошибка» | Установка не удалась или не может быть выполнена автоматически (например, на неподдерживаемой ОС). Напишите нам. |\n\nСостояние «Активен» появляется только после того, как первые метрики дошли до BLACKBOX, а не сразу после установки.\n\n## Отказ от услуги и удаление сервера\n\n- Кнопки для отключения услуги нет. Чтобы отказаться от неё, напишите в поддержку.\n- Когда отменяется активная услуга, BLACKBOX удаляет агент с сервера: останавливает `alloy` и удаляет пакет, добавленный репозиторий, `/etc/alloy` и каталоги данных агента. Ключ сервера отзывается, и метрики больше не принимаются.\n- Когда сервер удаляется (из панели или при отмене заказа), агент исчезает вместе с ним, ключ отзывается, а метка в «Заказах», как правило, меняется на «Отменён». См. [Безвозвратное удаление сервера](#servere.stergere-server).\n\n## Частые вопросы\n\n**Можно ли отметить услугу при заказе сервера на blackbox.md?**\nНет. На странице заказа нет выбора дополнительных услуг. Закажите услугу через поддержку или через AI-ассистента, как описано выше.\n\n**Можно ли подключить услугу к уже работающему серверу?**\nВ аккаунте и в панели такой возможности нет. Напишите в поддержку: это решается индивидуально.\n\n**Моего сервера нет в таблице «Ваши серверы». Почему?**\nТаблица с живыми значениями показывает серверы, у которых есть услуга «Мониторинг 24/7», в любом состоянии, кроме «Отменён». У сервера без услуги живых метрик нет. См. [Страница «Мониторинг»](#servicii.monitorizare).\n\n**За какой период графики показывают историю?**\nНа странице указано: «Prometheus хранит примерно 15 дней истории.» При выборе периода «30 дней» или «90 дней» графики показывают только тот отрезок, за который есть данные.\n\n**В «Заказах» написано «Активен», но графики не обновляются.**\nПроверьте на сервере, что служба `alloy` работает и исходящий HTTPS не заблокирован (см. «Как проверить агент»). Затем нажмите «Обновить». Если проблема не исчезла, напишите нам.\n",
    "en": "The “Monitoring 24/7” add-on service installs an agent on your server that sends system metrics to BLACKBOX every 30 seconds: processor, memory, disk, network and processes. With it, the “Monitoring” page in the app.blackbox.md panel (`app.blackbox.md/monitoring`, sidebar → “Infrastructure” → “Monitoring”) shows live values and trend charts for that server. The service costs 98 MDL/month per server.\n\n**Available to:** the blackbox.md account owner, for VPS servers ordered from their account that run Ubuntu or Debian. You get the service through support or through an AI assistant, not on the order page.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you get\n\n| Item | Details |\n|---|---|\n| Name in “Comenzi” (Orders) | “Monitoring 24/7” |\n| Price | 98 MDL/month per server. The amount is added to the total of the server's order and is paid monthly together with it. |\n| Operating systems | Ubuntu and Debian. |\n| Data collection | System metrics, every 30 seconds. |\n| “Your servers” table | The “CPU”, “RAM”, “Disk” (the `/` partition), “Load (1m)” and “Processes” columns, plus the service state in the “Monitoring” column. |\n| “Trends” section | The “CPU usage (%)”, “RAM usage (%)”, “Disk usage (%)”, “Network (bytes/s)”, “Load average (1m)” and “Processes” charts, for ranges from “1 h” to “90 days”. The page shows “Source: live metrics (Prometheus)” and “Prometheus keeps about 15 days of history.” |\n\nHow to read the table and the charts: [The “Monitoring” page](#servicii.monitorizare).\n\n## How to get the service\n\nYou can't choose add-on services on the blackbox.md order page. You have two options: support, or an AI assistant connected through MCP.\n\n### Through support\n\n1. Open a ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support), or write to support@blackbox.md. See [Opening a support ticket](#suport.tichet-nou).\n2. Say that you want the “Monitoring 24/7” service and for which server: the order number `BBX-…` of an existing server, or the plan and operating system (Ubuntu or Debian) of a new server.\n3. The team replies and tells you how it can be done. Adding the service to an existing server is decided case by case with support.\n\n### Through the AI assistant (MCP)\n\nYou need an API token with the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission (`orders:write`). See [Token permissions (scopes)](#ai.permisiuni). Through the assistant, you can order the service only together with a new server.\n\n1. Ask the assistant to prepare an order for a VPS plan with Ubuntu or Debian and the monitoring service. Tell it explicitly to add `\"extras\": [\"monitoring\"]` to `config` in the `create_order` tool. For example:\n\n   ```text\n   Prepare an order for the vm-iops1-m plan with Ubuntu 24.04 and the monitoring service: in create_order, add \"extras\": [\"monitoring\"] to config. Show me the price and wait for my confirmation.\n   ```\n\n2. Check the proposed price: it must be the plan price plus 98 MDL. For example, Standard M (`vm-iops1-m`) costs 578 MDL/month, and 676 MDL/month with the service. If the total equals the plan price, the service was not included.\n3. Confirm. The order appears in “Contul meu” → “Comenzi” (Orders) with the status “Nou” (New).\n4. Pay for the order: from your balance through the assistant, or with the “Achită comanda” (Pay for the order) button on the “Comenzi” page.\n\nMore about orders through AI: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Important**\n> The agent installs only on Ubuntu and Debian. On CentOS Stream 9 or AlmaLinux 9 the installation does not happen: in “Comenzi” the service stays “În curs de activare” (Activating), and the “Monitoring” page shows “Failed”. In that case, write to us.\n\n## What gets installed on the server\n\nOnce the server is ready, BLACKBOX connects to it over SSH with the management key and installs the agent automatically. You don't need to do anything.\n\n| Item | On the server |\n|---|---|\n| Service | `alloy` (the Grafana Alloy agent). It starts automatically when the server starts. |\n| Package source | The vendor's official repository, `apt.grafana.com` (the files `/etc/apt/sources.list.d/grafana.list` and `/etc/apt/keyrings/grafana.gpg`). If the repository doesn't respond, the version published on `github.com` is installed in `/usr/local/bin/alloy`. |\n| Configuration | `/etc/alloy/config.alloy` |\n| What it sends | System metrics: processor, memory, disk and network usage, the number of processes and other figures of the same kind. The contents of your files and the data of your applications are not sent. |\n| Where it sends them | To BLACKBOX, over HTTPS, with a key unique to your server, written in the configuration file. |\n| Installation log | `/var/log/blackbox-monitoring-install.log` |\n\n> **Security**\n> The `/etc/alloy/config.alloy` file contains the server's key and is managed by BLACKBOX. Don't change it, and don't share its contents with anyone else. The key only allows sending this server's metrics.\n\n## What to keep running\n\nFor the metrics to reach the panel:\n\n- Don't stop or disable the `alloy` service, and don't uninstall the `alloy` package.\n- Don't block outbound HTTPS traffic (port 443). If you filter outbound traffic with ufw or firewalld, allow HTTPS. Before you change the rules, keep a second SSH session open. See [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n- Don't remove the “Management key (blackbox.md)” from `authorized_keys`: BLACKBOX uses it to install and uninstall the agent. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n- Don't change `/etc/alloy/config.alloy`.\n\nIf the agent is stopped or can't send data, the charts stop receiving new values.\n\n### How to check the agent\n\nConnect to the server over SSH as `root` and run:\n\n```bash\nsystemctl status alloy\n```\n\nThe `Active:` line must show `active (running)`. To see the agent's latest messages, run:\n\n```bash\njournalctl -u alloy -n 50 --no-pager\n```\n\nIf you stopped the agent by mistake, start it again and enable it at boot:\n\n```bash\nsystemctl enable --now alloy\n```\n\nThen click “Refresh” on the “Monitoring” page. If the values don't come back, write to us.\n\n## Service status\n\nThe service status appears in two places.\n\n**In “Contul meu” (My account) → “Comenzi” (Orders)** (`blackbox.md/account/orders`), below the order description, as a label of the form “Monitoring 24/7: Activ” (Monitoring 24/7: Active). The label appears after payment, when the server starts being created.\n\n| State | What it means |\n|---|---|\n| “În curs de activare” (Activating) | The agent is being installed, or the installation is waiting for the team to step in (for example, on an unsupported operating system). |\n| “Activ” (Active) | The agent is running, and BLACKBOX is receiving the metrics. |\n| “Contactați suportul” (Contact support) | The automatic installation failed after several attempts. Write to us and include the `BBX-…` number. |\n| “Anulat” (Canceled) | The service was stopped, for example because the server was deleted. |\n\n**In the panel, on the “Monitoring” page**, in the “Monitoring” column of the “Your servers” table:\n\n| State | What it means |\n|---|---|\n| “Connecting…” | The installation is in progress. The values in the table show as “—”. |\n| “Active” | The agent is sending metrics; you see the values and the charts. |\n| “Failed” | The installation failed or can't be done automatically (for example, on an unsupported operating system). Write to us. |\n\nThe status changes to “Active” (“Activ” in “Comenzi”) only after the first metrics reach BLACKBOX, not right after the installation.\n\n## Canceling the service and deleting the server\n\n- There is no button to stop the service. To cancel it, write to support.\n- When an active service is canceled, BLACKBOX uninstalls the agent from the server: it stops `alloy` and removes the package, the package repository it added, `/etc/alloy` and the agent's data directories. The server's key is revoked, so its metrics are no longer accepted.\n- When the server is deleted (from the panel or by canceling the order), the agent goes away with the server, the key is revoked, and the label in “Comenzi” (Orders) usually changes to “Anulat” (Canceled). See [Permanently deleting a server](#servere.stergere-server).\n\n## Frequently asked questions\n\n**Can I select the service when I order the server on blackbox.md?**\nNo. The order page has no options for add-on services. Request the service through support or through an AI assistant, as described above.\n\n**Can I add the service to a server I already have?**\nYour account and the panel have no such option. Write to support: whether it is possible is decided case by case.\n\n**My server doesn't appear in the “Your servers” table. Why?**\nThe table with live values shows the servers that have the “Monitoring 24/7” service, in any state except “Anulat” (Canceled). A server without the service has no live metrics. See [The “Monitoring” page](#servicii.monitorizare).\n\n**How much history do the charts show?**\nThe page states: “Prometheus keeps about 15 days of history.” For the “30 days” and “90 days” ranges, the charts show only the period for which data exists.\n\n**“Comenzi” (Orders) shows “Activ” (Active), but the charts no longer update.**\nCheck on the server that the `alloy` service is running and that outbound HTTPS traffic isn't blocked (see “How to check the agent”). Then click “Refresh”. If the problem persists, write to us.\n"
   }
  },
  {
   "id": "servicii.dns-conectare",
   "section": "servicii",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/dns-conectare/",
    "ru": "https://docs.blackbox.md/ru/servicii/dns-conectare/",
    "en": "https://docs.blackbox.md/en/servicii/dns-conectare/"
   },
   "title": {
    "ro": "Conectarea Cloudflare sau GoDaddy în pagina DNS",
    "ru": "Подключение Cloudflare или GoDaddy на странице DNS",
    "en": "Connecting Cloudflare or GoDaddy on the DNS page"
   },
   "summary": {
    "ro": "Cum conectați contul Cloudflare sau GoDaddy pentru a gestiona înregistrările DNS din panou.",
    "ru": "Как подключить аккаунт Cloudflare или GoDaddy, чтобы управлять DNS-записями из панели.",
    "en": "How to connect your Cloudflare or GoDaddy account to manage DNS records from the panel."
   },
   "markdown": {
    "ro": "Pagina „DNS” (`app.blackbox.md/dns`, bara laterală → „Infrastructură” → „DNS”) leagă panoul app.blackbox.md de contul dvs. Cloudflare sau GoDaddy, ca să modificați înregistrările DNS ale domeniilor fără să intrați în panoul furnizorului. Sub titlu apare textul „Conectați un furnizor DNS și gestionați înregistrările pentru domeniile dvs.”\n\n**Disponibil pentru:** titularul contului blackbox.md, în panoul deschis din „Contul meu” ([Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou)).\n\n## Cum funcționează\n\n- BLACKBOX nu găzduiește zone DNS. Zona domeniului rămâne la Cloudflare sau la GoDaddy, iar panoul citește și modifică înregistrările prin API-ul furnizorului, cu tokenul sau cheia pe care le introduceți.\n- Pagina „DNS” este gratuită.\n- Puteți avea o singură conexiune pentru fiecare furnizor: una Cloudflare și una GoDaddy. După conectare, butonul furnizorului respectiv dispare.\n- Conexiunea ține de cont, nu de un anumit server.\n- Modificările au efect doar dacă domeniul folosește serverele de nume (NS) ale furnizorului conectat. Dacă DNS-ul domeniului este în altă parte, modificați înregistrările acolo: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu).\n\nDacă în locul conținutului paginii apare „Gestionarea DNS nu este disponibilă momentan.”, serviciul este temporar indisponibil. Reveniți mai târziu. Dacă mesajul rămâne, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Pregătiți un token Cloudflare\n\nÎn formularul de conectare, panoul afișează: „Creați un token pe dash.cloudflare.com → My Profile → API Tokens cu permisiunile Zone → Zone → Read și Zone → DNS → Edit. Vor apărea doar zonele la care tokenul are acces.”\n\n1. Autentificați-vă pe dash.cloudflare.com și deschideți „My Profile” → „API Tokens”.\n2. Apăsați „Create Token” și alegeți un token personalizat („Create Custom Token”).\n3. La „Permissions” adăugați două rânduri: „Zone” → „Zone” → „Read” și „Zone” → „DNS” → „Edit”.\n4. La „Zone Resources” alegeți domeniile pe care vreți să le gestionați din panou: un anumit domeniu sau toate.\n5. Lăsați necompletat „Client IP Address Filtering”. Verificarea și modificările pornesc de pe serverele BLACKBOX, nu din browserul dvs., deci un token limitat la IP-ul dvs. va fi respins.\n6. Creați tokenul și copiați-l imediat: Cloudflare îl afișează o singură dată.\n\nFolosiți un token API, nu „Global API Key”: panoul acceptă doar tokenuri.\n\n## Pregătiți o cheie GoDaddy\n\nÎn formularul de conectare, panoul afișează: „Creați o cheie de producție pe developer.godaddy.com → API Keys. GoDaddy acordă acces API doar conturilor care dețin cel puțin un domeniu.”\n\n1. Autentificați-vă pe developer.godaddy.com cu contul GoDaddy în care se află domeniile și deschideți „API Keys”.\n2. Creați o cheie nouă („Create New API Key”) și alegeți mediul „Production”. O cheie „OTE” (mediul de test GoDaddy) nu funcționează: panoul lucrează doar cu API-ul de producție.\n3. GoDaddy afișează două valori, „Key” și „Secret”. Copiați-le pe amândouă.\n\n## Cum conectați furnizorul\n\n1. Deschideți „DNS” în panou. În secțiunea „Conexiuni” apăsați „Conectează Cloudflare” sau „Conectează GoDaddy”.\n2. Se deschide formularul, cu textul de ajutor al furnizorului ales.\n3. În „Etichetă” scrieți, dacă doriți, un nume pentru conexiune, de exemplu „Domenii firmă”.\n4. Pentru Cloudflare, lipiți tokenul în „Token API”. Pentru GoDaddy, completați „Cheie API” (valoarea Key) și „Secret API” (valoarea Secret).\n5. Apăsați „Conectează”. Panoul verifică datele la furnizor înainte de a le salva.\n6. Dacă datele sunt acceptate, formularul se închide, iar în listă apare conexiunea cu starea „Activ”. Panoul o selectează și încarcă mai jos zonele și înregistrările: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari).\n\nDacă apare o eroare, mesajul se afișează în formular, iar câmpurile rămân completate. Ca să închideți formularul fără să conectați, apăsați „Anulează”.\n\n| Câmp | Furnizor | Regulă |\n|---|---|---|\n| „Etichetă” | ambii | Opțional, cel mult 120 de caractere. Fără etichetă, conexiunea apare cu numele furnizorului. |\n| „Token API” | Cloudflare | Obligatoriu, cel mult 512 caractere. Textul este ascuns în timp ce scrieți. Lipiți tokenul fără spații la început sau la sfârșit. |\n| „Cheie API” și „Secret API” | GoDaddy | Ambele obligatorii. „Secret API” este ascuns în timp ce scrieți. |\n\n> **Securitate**\n> După salvare, tokenul și cheia sunt păstrate criptat și nu mai sunt afișate niciodată. Dați tokenului doar cele două permisiuni de mai sus și numai pentru domeniile de care aveți nevoie.\n\n## Rândul conexiunii\n\nFiecare conexiune apare ca un rând în secțiunea „Conexiuni”. Dacă aveți ambii furnizori conectați, apăsați pe un rând ca să vedeți mai jos zonele acelei conexiuni; rândul selectat este evidențiat.\n\n| Element | Ce arată |\n|---|---|\n| Insigna furnizorului | „Cloudflare” sau „GoDaddy” |\n| Numele | Eticheta dvs. sau, dacă nu există, numele furnizorului |\n| Contul (indicația „Cont” la trecerea cursorului) | Cloudflare: identificatorul tokenului, nu tokenul însuși. GoDaddy: `godaddy:` urmat de primele 4 și ultimele 4 caractere ale cheii. |\n| Starea | „Activ” sau „Necesită atenție” |\n| „Ultima verificare: …” | Data și ora ultimei verificări reușite |\n| Ultima eroare | Textul primit de la furnizor (în engleză), dacă furnizorul a respins datele |\n\n| Stare | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Activ” | Datele au fost acceptate, iar de atunci furnizorul nu le-a respins | Nimic |\n| „Necesită atenție” | Furnizorul a respins tokenul sau cheia: au fost șterse, au expirat, au fost dezactivate sau au pierdut permisiunile. Motivul apare ca ultimă eroare. | Creați un token sau o cheie nouă, apăsați „Deconectează”, apoi conectați din nou. Dacă ați rezolvat problema la furnizor fără să schimbați tokenul sau cheia, apăsați „Verifică”. |\n\n### Butonul „Verifică”\n\n„Verifică” trimite din nou datele la furnizor. Dacă sunt acceptate, starea devine „Activ”, „Ultima verificare” se actualizează, iar ultima eroare dispare. Dacă furnizorul le respinge, mesajul de eroare apare în rândul conexiunii, iar după reîncărcarea paginii conexiunea are starea „Necesită atenție”.\n\nPentru Cloudflare, „Verifică” confirmă doar că tokenul este activ. Dacă îi lipsesc permisiunile, problema apare la încărcarea zonelor sau la salvarea înregistrărilor.\n\n### Butonul „Deconectează”\n\n1. Apăsați „Deconectează” pe rândul conexiunii.\n2. Confirmați în fereastra „Deconectați {name}? Îl puteți reconecta ulterior.”, unde {name} este eticheta conexiunii sau numele furnizorului.\n3. Conexiunea dispare din listă, iar butonul „Conectează Cloudflare” sau „Conectează GoDaddy” apare din nou.\n\nDeconectarea nu modifică înregistrările DNS: ele rămân la furnizor, doar că panoul nu le mai poate accesa. Ca să reconectați, introduceți din nou un token sau o cheie.\n\n> **Important**\n> După „Deconectează”, ștergeți și tokenul la Cloudflare („My Profile” → „API Tokens”) sau cheia la GoDaddy („API Keys”). Abia atunci tokenul sau cheia nu mai pot fi folosite.\n\n## Mesaje de eroare\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Furnizorul a respins aceste date de acces.”, urmat de explicația furnizorului, în engleză | Tokenul sau cheia sunt greșite, șterse, expirate ori fără permisiunile necesare. La GoDaddy: o cheie „OTE” sau un cont fără acces la API. | Creați un token sau o cheie nouă după pașii de mai sus și conectați din nou |\n| „Furnizorul limitează numărul de cereri. Încercați din nou în curând.” | Cloudflare sau GoDaddy a limitat temporar cererile | Așteptați câteva minute, apoi reîncercați |\n| „Furnizorul nu a răspuns la timp. Încercați din nou.” | Furnizorul nu a răspuns la timp sau nu a putut fi contactat | Reîncercați |\n| „Furnizorul este temporar indisponibil. Încercați din nou în curând.” | Furnizorul a răspuns cu o eroare | Reîncercați mai târziu |\n| „Acest furnizor este deja conectat.” | Aveți deja o conexiune la acest furnizor, de exemplu creată în altă filă | Reîncărcați pagina. Ca să schimbați tokenul sau cheia, deconectați conexiunea veche și conectați din nou. |\n| „Prea multe cereri. Încercați din nou în curând.” | Ați depășit o limită din tabelul de mai jos, de obicei 5 încercări de conectare în 10 minute | Nu mai încercați și așteptați: la conectare, până la 10 minute de la ultima încercare. Fiecare încercare făcută între timp prelungește blocarea. |\n| „Nu s-a putut conecta furnizorul.” | Un câmp obligatoriu este gol, un text este prea lung („Etichetă” peste 120 de caractere, „Token API” peste 512) sau a apărut altă eroare | Verificați câmpurile și reîncercați |\n| „Nu s-au putut încărca datele DNS.” | Lista conexiunilor sau verificarea nu au reușit din alt motiv | Reîncărcați pagina și reîncercați |\n| „Ștergerea a eșuat.” | Deconectarea nu a reușit | Reîncărcați pagina și reîncercați |\n| „Not found” | Conexiunea nu mai există, de exemplu ați deconectat-o în altă filă | Reîncărcați pagina |\n\n## Limite\n\n| Acțiune | Limită |\n|---|---|\n| Conectarea unui furnizor, inclusiv încercările eșuate | 5 în 10 minute |\n| „Verifică”, „Deconectează” și modificările de înregistrări, la un loc | 60 pe minut |\n| Încărcarea conexiunilor, a zonelor și a înregistrărilor | 120 pe minut |\n\nToate limitele din cont și din panou: [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Întrebări frecvente\n\n**Pot conecta două conturi Cloudflare?**\nNu, panoul acceptă o singură conexiune pentru fiecare furnizor. Un token Cloudflare poate cuprinde însă mai multe domenii: le alegeți la „Zone Resources”. Ca să treceți la alt cont, apăsați „Deconectează” și conectați tokenul noului cont.\n\n**Domeniul meu nu apare în lista de zone. De ce?**\nApar doar zonele la care tokenul are acces. La Cloudflare zona trebuie să fie activă, adică domeniul să folosească deja serverele de nume Cloudflare; la GoDaddy apar doar domeniile active. Corectați tokenul sau zona la furnizor, apoi apăsați „Reîmprospătează” lângă „Zonă”.\n\n**GoDaddy respinge cheia, deși am copiat-o corect.**\nVerificați că ați creat cheia în mediul „Production”. Dacă explicația furnizorului vorbește despre acces refuzat (de exemplu `ACCESS_DENIED`), contul GoDaddy nu are acces la API. Condițiile de acces le stabilește GoDaddy: verificați-le pe developer.godaddy.com. Până atunci, modificați înregistrările direct în contul GoDaddy.\n\n**Cum schimb tokenul sau cheia salvată?**\nApăsați „Deconectează”, apoi conectați din nou furnizorul cu tokenul sau cheia nouă. Datele salvate nu pot fi văzute sau editate.\n\n**Pagina arată „Niciun serviciu DNS nu este conectat la contul dvs. încă.”, fără butoane de conectare.**\nContul de panou cu care ați intrat nu este legat de un cont de pe blackbox.md. Deschideți panoul din „Contul meu”, pe blackbox.md. Dacă mesajul rămâne, scrieți-ne.\n",
    "ru": "Страница «DNS» (`app.blackbox.md/dns`, боковое меню → «Инфраструктура» → «DNS») связывает панель app.blackbox.md с вашим аккаунтом Cloudflare или GoDaddy: DNS-записи доменов можно менять, не заходя в панель провайдера. Под заголовком написано: «Подключите DNS-провайдера и управляйте записями для ваших доменов.»\n\n**Доступно:** владельцу аккаунта blackbox.md в панели, открытой из личного кабинета ([Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou)).\n\n## Как это работает\n\n- BLACKBOX не размещает DNS-зоны. Зона домена остаётся у Cloudflare или GoDaddy, а панель читает и меняет записи через API провайдера с помощью токена или ключа, который вы укажете.\n- Страница «DNS» бесплатна.\n- Для каждого провайдера возможно только одно подключение: одно для Cloudflare и одно для GoDaddy. После подключения кнопка этого провайдера исчезает.\n- Подключение относится к аккаунту, а не к конкретному серверу.\n- Изменения действуют, только если домен использует серверы имён (NS) подключённого провайдера. Если DNS домена обслуживается в другом месте, меняйте записи там: [Как направить домен на сервер](#domenii.indreptare-domeniu).\n\nЕсли вместо содержимого страницы появляется «Управление DNS сейчас недоступно.», сервис временно недоступен. Попробуйте зайти позже. Если сообщение не исчезает, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Подготовьте токен Cloudflare\n\nВ форме подключения панель показывает подсказку: «Создайте токен на dash.cloudflare.com → My Profile → API Tokens с разрешениями Zone → Zone → Read и Zone → DNS → Edit. Появятся только те зоны, к которым у токена есть доступ.»\n\n1. Войдите на dash.cloudflare.com и откройте «My Profile» → «API Tokens».\n2. Нажмите «Create Token» и выберите пользовательский токен («Create Custom Token»).\n3. В разделе «Permissions» добавьте две строки: «Zone» → «Zone» → «Read» и «Zone» → «DNS» → «Edit».\n4. В разделе «Zone Resources» укажите домены, которыми хотите управлять из панели: конкретный домен или все.\n5. Оставьте пустым «Client IP Address Filtering». Проверка и изменения выполняются с серверов BLACKBOX, а не из вашего браузера, поэтому токен, ограниченный вашим IP, будет отклонён.\n6. Создайте токен и сразу скопируйте его: Cloudflare показывает токен только один раз.\n\nНужен именно API-токен, а не «Global API Key»: панель принимает только токены.\n\n## Подготовьте ключ GoDaddy\n\nВ форме подключения панель показывает подсказку: «Создайте production-ключ на developer.godaddy.com → API Keys. GoDaddy предоставляет доступ к API только аккаунтам, у которых есть хотя бы один домен.»\n\n1. Войдите на developer.godaddy.com под аккаунтом GoDaddy, в котором находятся домены, и откройте «API Keys».\n2. Создайте новый ключ («Create New API Key») и выберите среду «Production». Ключ «OTE» (тестовая среда GoDaddy) не подойдёт: панель работает только с рабочим API.\n3. GoDaddy покажет два значения — «Key» и «Secret». Скопируйте оба.\n\n## Как подключить провайдера\n\n1. Откройте «DNS» в панели. В разделе «Подключения» нажмите «Подключить Cloudflare» или «Подключить GoDaddy».\n2. Откроется форма с подсказкой для выбранного провайдера.\n3. В поле «Метка» при желании укажите название подключения, например «Домены компании».\n4. Для Cloudflare вставьте токен в поле «API-токен». Для GoDaddy заполните «API-ключ» (значение Key) и «API-секрет» (значение Secret).\n5. Нажмите «Подключить». Панель проверяет данные у провайдера ещё до сохранения.\n6. Если данные приняты, форма закроется, а в списке появится подключение со статусом «Активно». Панель сразу выберет его и загрузит ниже зоны и записи: [Управление DNS-записями из панели](#servicii.dns-inregistrari).\n\nПри ошибке сообщение появится в форме, а введённые данные останутся в полях. Чтобы закрыть форму, ничего не подключая, нажмите «Отмена».\n\n| Поле | Провайдер | Правило |\n|---|---|---|\n| «Метка» | оба | Необязательное, не более 120 символов. Без метки подключение отображается под названием провайдера. |\n| «API-токен» | Cloudflare | Обязательное, не более 512 символов. При вводе символы скрыты. Вставляйте токен без пробелов в начале и в конце. |\n| «API-ключ» и «API-секрет» | GoDaddy | Оба обязательные. «API-секрет» при вводе скрыт. |\n\n> **Безопасность**\n> После сохранения токен и ключ хранятся в зашифрованном виде и больше никогда не показываются. Давайте токену только два разрешения, указанных выше, и только для нужных доменов.\n\n## Строка подключения\n\nКаждое подключение показано отдельной строкой в разделе «Подключения». Если подключены оба провайдера, нажмите на строку, чтобы ниже увидеть зоны этого подключения; выбранная строка выделяется.\n\n| Элемент | Что показывает |\n|---|---|\n| Значок провайдера | «Cloudflare» или «GoDaddy» |\n| Название | Ваша метка или, если её нет, название провайдера |\n| Аккаунт (подсказка «Аккаунт» при наведении курсора) | Cloudflare: идентификатор токена, а не сам токен. GoDaddy: `godaddy:`, затем первые 4 и последние 4 символа ключа. |\n| Статус | «Активно» или «Требует внимания» |\n| «Последняя проверка: …» | Дата и время последней успешной проверки |\n| Последняя ошибка | Текст от провайдера (на английском), если провайдер отклонил данные |\n\n| Статус | Что значит | Что делать |\n|---|---|---|\n| «Активно» | Данные приняты, и с тех пор провайдер их не отклонял | Ничего |\n| «Требует внимания» | Провайдер отклонил токен или ключ: его удалили, срок действия истёк, его отключили или у него отозвали разрешения. Причина показана как последняя ошибка. | Создайте новый токен или ключ, нажмите «Отключить», затем подключите провайдера заново. Если вы устранили проблему у провайдера, не меняя токен или ключ, нажмите «Проверить». |\n\n### Кнопка «Проверить»\n\n«Проверить» заново отправляет данные провайдеру. Если они приняты, статус становится «Активно», «Последняя проверка» обновляется, а последняя ошибка исчезает. Если провайдер их отклонит, в строке подключения появится сообщение об ошибке, а после обновления страницы у подключения будет статус «Требует внимания».\n\nДля Cloudflare «Проверить» подтверждает лишь то, что токен активен. Если у токена не хватает разрешений, это проявится при загрузке зон или при сохранении записей.\n\n### Кнопка «Отключить»\n\n1. Нажмите «Отключить» в строке подключения.\n2. Подтвердите в окне «Отключить {name}? Вы сможете подключить его снова позже.», где {name} — метка подключения или название провайдера.\n3. Подключение исчезнет из списка, а кнопка «Подключить Cloudflare» или «Подключить GoDaddy» появится снова.\n\nОтключение не меняет DNS-записи: они остаются у провайдера, просто панель больше не имеет к ним доступа. Чтобы подключиться снова, введите токен или ключ ещё раз.\n\n> **Важно**\n> После «Отключить» удалите и сам токен в Cloudflare («My Profile» → «API Tokens») или ключ в GoDaddy («API Keys»). Только тогда этим токеном или ключом больше нельзя будет воспользоваться.\n\n## Сообщения об ошибках\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Провайдер отклонил эти учётные данные.» и пояснение провайдера на английском | Токен или ключ неверный, удалён, просрочен или без нужных разрешений. Для GoDaddy также: ключ «OTE» или аккаунт без доступа к API. | Создайте новый токен или ключ по шагам выше и подключите провайдера заново |\n| «Провайдер ограничивает количество запросов. Повторите попытку позже.» | Cloudflare или GoDaddy временно ограничил запросы | Подождите несколько минут и повторите |\n| «Провайдер не ответил вовремя. Повторите попытку.» | Провайдер не ответил вовремя или с ним не удалось связаться | Повторите попытку |\n| «Провайдер временно недоступен. Повторите попытку позже.» | Провайдер ответил ошибкой | Повторите позже |\n| «Этот провайдер уже подключён.» | У вас уже есть подключение к этому провайдеру, например созданное в другой вкладке | Обновите страницу. Чтобы заменить токен или ключ, отключите старое подключение и подключите заново. |\n| «Слишком много запросов. Повторите попытку позже.» | Превышен один из лимитов в таблице ниже, обычно 5 попыток подключения за 10 минут | Не повторяйте попытки и подождите: для подключения — до 10 минут после последней попытки. Каждая новая попытка в это время продлевает блокировку. |\n| «Не удалось подключить провайдера.» | Обязательное поле пустое, текст слишком длинный («Метка» длиннее 120 символов, «API-токен» длиннее 512) или произошла другая ошибка | Проверьте поля и повторите |\n| «Не удалось загрузить данные DNS.» | Список подключений или проверка не удались по другой причине | Обновите страницу и повторите |\n| «Не удалось удалить.» | Отключить не удалось | Обновите страницу и повторите |\n| «Not found» | Подключения уже нет, например вы отключили его в другой вкладке | Обновите страницу |\n\n## Лимиты\n\n| Действие | Лимит |\n|---|---|\n| Подключение провайдера, включая неудачные попытки | 5 за 10 минут |\n| «Проверить», «Отключить» и изменения записей вместе | 60 в минуту |\n| Загрузка подключений, зон и записей | 120 в минуту |\n\nВсе лимиты аккаунта и панели: [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Частые вопросы\n\n**Можно ли подключить два аккаунта Cloudflare?**\nНет, панель допускает только одно подключение к каждому провайдеру. Зато один токен Cloudflare может охватывать несколько доменов: их выбирают в «Zone Resources». Чтобы перейти на другой аккаунт, нажмите «Отключить» и подключите токен нового аккаунта.\n\n**Моего домена нет в списке зон. Почему?**\nПоказываются только зоны, к которым у токена есть доступ. В Cloudflare зона должна быть активной, то есть домен уже должен использовать серверы имён Cloudflare; в GoDaddy показываются только активные домены. Исправьте токен или зону у провайдера, затем нажмите «Обновить» рядом с «Зона».\n\n**GoDaddy отклоняет ключ, хотя он скопирован правильно.**\nПроверьте, что ключ создан в среде «Production». Если в пояснении провайдера говорится об отказе в доступе (например, `ACCESS_DENIED`), у аккаунта GoDaddy нет доступа к API. Условия доступа определяет GoDaddy — уточните их на developer.godaddy.com. А пока меняйте записи прямо в аккаунте GoDaddy.\n\n**Как заменить сохранённый токен или ключ?**\nНажмите «Отключить» и подключите провайдера заново с новым токеном или ключом. Сохранённые данные нельзя посмотреть или отредактировать.\n\n**На странице написано «К вашему аккаунту пока не привязано ни одно DNS-подключение.», а кнопок подключения нет.**\nУчётная запись панели, под которой вы вошли, не связана с аккаунтом на blackbox.md. Откройте панель из личного кабинета на blackbox.md. Если сообщение не исчезает, напишите нам.\n",
    "en": "The “DNS” page (`app.blackbox.md/dns`, sidebar → “Infrastructure” → “DNS”) links the app.blackbox.md panel to your Cloudflare or GoDaddy account, so you can change your domains' DNS records without going to the provider's own dashboard. The text under the title reads “Connect a DNS provider and manage records for your domains.”\n\n**Available to:** the blackbox.md account holder, in the panel opened from “Contul meu” (My account) ([Opening the app.blackbox.md panel from your account](#servere.deschidere-panou)).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How it works\n\n- BLACKBOX does not host DNS zones. Your domain's zone stays with Cloudflare or GoDaddy, and the panel reads and changes the records through the provider's API, using the token or key you enter.\n- The “DNS” page is free.\n- You can have only one connection per provider: one for Cloudflare and one for GoDaddy. Once a provider is connected, its button disappears.\n- The connection belongs to your account, not to a specific server.\n- Changes take effect only if the domain uses the name servers (NS) of the connected provider. If the domain's DNS is managed somewhere else, change the records there: [How to point your domain to the server](#domenii.indreptare-domeniu).\n\nIf “DNS management is not available right now.” appears instead of the page content, the service is temporarily unavailable. Come back later. If the message stays, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## Prepare a Cloudflare token\n\nIn the connection form, the panel shows: “Create a token at dash.cloudflare.com → My Profile → API Tokens with permissions Zone → Zone → Read and Zone → DNS → Edit. Only zones the token can access will appear.”\n\n1. Sign in at dash.cloudflare.com and open “My Profile” → “API Tokens”.\n2. Click “Create Token” and choose a custom token (“Create Custom Token”).\n3. Under “Permissions”, add two rows: “Zone” → “Zone” → “Read” and “Zone” → “DNS” → “Edit”.\n4. Under “Zone Resources”, choose the domains you want to manage from the panel: one specific domain or all of them.\n5. Leave “Client IP Address Filtering” empty. The check and the changes are made from BLACKBOX servers, not from your browser, so a token restricted to your IP address will be rejected.\n6. Create the token and copy it right away: Cloudflare shows it only once.\n\nUse an API token, not the “Global API Key”: the panel accepts only tokens.\n\n## Prepare a GoDaddy key\n\nIn the connection form, the panel shows: “Create a production key at developer.godaddy.com → API Keys. GoDaddy grants API access to accounts that hold at least one domain.”\n\n1. Sign in at developer.godaddy.com with the GoDaddy account that holds your domains, and open “API Keys”.\n2. Create a new key (“Create New API Key”) and choose the “Production” environment. An “OTE” key (GoDaddy's test environment) does not work: the panel works only with the production API.\n3. GoDaddy shows two values, “Key” and “Secret”. Copy both.\n\n## How to connect a provider\n\n1. Open “DNS” in the panel. In the “Connections” section, click “Connect Cloudflare” or “Connect GoDaddy”.\n2. The form opens, with the help text for the provider you chose.\n3. In “Label”, you can enter a name for the connection if you like, for example “Company domains”.\n4. For Cloudflare, paste the token into “API token”. For GoDaddy, fill in “API key” (the Key value) and “API secret” (the Secret value).\n5. Click “Connect”. The panel checks the details with the provider before saving them.\n6. If the details are accepted, the form closes and the connection appears in the list with the status “Active”. The panel selects it and loads its zones and records below: [Managing DNS records from the panel](#servicii.dns-inregistrari).\n\nIf an error occurs, the message appears in the form, and the fields keep what you entered. To close the form without connecting, click “Cancel”.\n\n| Field | Provider | Rule |\n|---|---|---|\n| “Label” | both | Optional, up to 120 characters. Without a label, the connection appears under the provider's name. |\n| “API token” | Cloudflare | Required, up to 512 characters. The text is hidden as you type. Paste the token without spaces at the beginning or the end. |\n| “API key” and “API secret” | GoDaddy | Both required. “API secret” is hidden as you type. |\n\n> **Security**\n> Once saved, the token and the key are stored encrypted and are never shown again. Give the token only the two permissions above, and only for the domains you need.\n\n## The connection row\n\nEach connection appears as a row in the “Connections” section. If you have both providers connected, click a row to see that connection's zones below; the selected row is highlighted.\n\n| Item | What it shows |\n|---|---|\n| Provider badge | “Cloudflare” or “GoDaddy” |\n| Name | Your label or, if there is none, the provider's name |\n| Account (tooltip “Account” when you hover over it) | Cloudflare: the token's identifier, not the token itself. GoDaddy: `godaddy:` followed by the first 4 and the last 4 characters of the key. |\n| Status | “Active” or “Needs attention” |\n| “Last verified: …” | The date and time of the last successful check |\n| Last error | The text received from the provider (in English), if the provider rejected the details |\n\n| Status | What it means | What to do |\n|---|---|---|\n| “Active” | The details were accepted, and the provider has not rejected them since | Nothing |\n| “Needs attention” | The provider rejected the token or key: it was deleted, expired, was disabled, or lost its permissions. The reason appears as the last error. | Create a new token or key, click “Disconnect”, then connect again. If you fixed the problem at the provider without changing the token or key, click “Verify”. |\n\n### The “Verify” button\n\n“Verify” sends the details to the provider again. If they are accepted, the status changes to “Active”, “Last verified” is updated, and the last error disappears. If the provider rejects them, the error message appears in the connection row, and after you reload the page, the connection has the status “Needs attention”.\n\nFor Cloudflare, “Verify” only confirms that the token is active. If the token is missing permissions, the problem shows up when the zones load or when you save records.\n\n### The “Disconnect” button\n\n1. Click “Disconnect” on the connection row.\n2. Confirm in the window “Disconnect {name}? You can reconnect it later.”, where {name} is the connection's label or the provider's name.\n3. The connection disappears from the list, and the “Connect Cloudflare” or “Connect GoDaddy” button appears again.\n\nDisconnecting does not change your DNS records: they stay with the provider; the panel just can no longer access them. To reconnect, enter a token or key again.\n\n> **Important**\n> After “Disconnect”, also delete the token in Cloudflare (“My Profile” → “API Tokens”) or the key in GoDaddy (“API Keys”). Only then can the token or key no longer be used.\n\n## Error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “The provider rejected these credentials.”, followed by the provider's explanation in English | The token or key is wrong, deleted, expired, or lacks the required permissions. For GoDaddy: an “OTE” key or an account without API access. | Create a new token or key following the steps above and connect again |\n| “The provider is rate-limiting requests. Try again shortly.” | Cloudflare or GoDaddy has temporarily limited requests | Wait a few minutes, then try again |\n| “The provider took too long to respond. Try again.” | The provider did not respond in time or could not be reached | Try again |\n| “The provider is temporarily unavailable. Try again shortly.” | The provider responded with an error | Try again later |\n| “This provider is already connected.” | You already have a connection to this provider, for example one created in another tab | Reload the page. To change the token or key, disconnect the old connection and connect again. |\n| “Too many requests. Try again shortly.” | You exceeded one of the limits in the table below, usually 5 connection attempts in 10 minutes | Stop trying and wait: for connecting, up to 10 minutes after the last attempt. Every attempt made in the meantime extends the block. |\n| “Failed to connect the provider.” | A required field is empty, a text is too long (“Label” over 120 characters, “API token” over 512), or another error occurred | Check the fields and try again |\n| “Failed to load DNS data.” | Loading the list of connections or the check failed for another reason | Reload the page and try again |\n| “Failed to delete.” | Disconnecting failed | Reload the page and try again |\n| “Not found” | The connection no longer exists, for example because you disconnected it in another tab | Reload the page |\n\n## Limits\n\n| Action | Limit |\n|---|---|\n| Connecting a provider, including failed attempts | 5 in 10 minutes |\n| “Verify”, “Disconnect” and record changes, combined | 60 per minute |\n| Loading connections, zones and records | 120 per minute |\n\nAll the limits of your account and the panel: [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Frequently asked questions\n\n**Can I connect two Cloudflare accounts?**\nNo, the panel accepts only one connection per provider. However, one Cloudflare token can cover several domains: you choose them under “Zone Resources”. To switch to another account, click “Disconnect” and connect the new account's token.\n\n**My domain doesn't appear in the list of zones. Why?**\nOnly the zones the token can access appear. In Cloudflare, the zone must be active, meaning the domain already uses Cloudflare's name servers; in GoDaddy, only active domains appear. Fix the token or the zone at the provider, then click “Refresh” next to “Zone”.\n\n**GoDaddy rejects my key, even though I copied it correctly.**\nCheck that you created the key in the “Production” environment. If the provider's explanation mentions denied access (for example, `ACCESS_DENIED`), the GoDaddy account has no API access. GoDaddy sets the access conditions: check them on developer.godaddy.com. Until then, change the records directly in your GoDaddy account.\n\n**How do I change the saved token or key?**\nClick “Disconnect”, then connect the provider again with the new token or key. Saved details cannot be viewed or edited.\n\n**The page shows “No DNS connections are linked to your account yet.” and no connect buttons.**\nThe panel account you signed in with is not linked to an account on blackbox.md. Open the panel from “Contul meu” (My account) on blackbox.md. If the message stays, write to us.\n"
   }
  },
  {
   "id": "servicii.dns-inregistrari",
   "section": "servicii",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/dns-inregistrari/",
    "ru": "https://docs.blackbox.md/ru/servicii/dns-inregistrari/",
    "en": "https://docs.blackbox.md/en/servicii/dns-inregistrari/"
   },
   "title": {
    "ro": "Gestionarea înregistrărilor DNS din panou",
    "ru": "Управление DNS-записями из панели",
    "en": "Managing DNS records from the panel"
   },
   "summary": {
    "ro": "Cum adăugați, modificați și ștergeți înregistrări A, CNAME, MX, TXT și altele în zonele Cloudflare sau GoDaddy conectate.",
    "ru": "Как добавлять, изменять и удалять записи A, CNAME, MX, TXT и другие в подключённых зонах Cloudflare или GoDaddy.",
    "en": "How to add, change and delete A, CNAME, MX, TXT and other records in connected Cloudflare or GoDaddy zones."
   },
   "markdown": {
    "ro": "Pagina „DNS” (`app.blackbox.md/dns`, bara laterală → „Infrastructură” → „DNS”) arată înregistrările DNS ale domeniilor din contul Cloudflare sau GoDaddy conectat și vă permite să le adăugați, să le modificați și să le ștergeți. BLACKBOX nu găzduiește zonele DNS: fiecare modificare este trimisă direct furnizorului dvs.\n\n**Disponibil pentru:** titularul contului blackbox.md, în panoul app.blackbox.md, după ce a conectat Cloudflare sau GoDaddy: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare).\n\n## Cum alegeți zona\n\n1. Deschideți „DNS”. Panoul selectează automat prima conexiune activă din blocul „Conexiuni” și îi încarcă zonele.\n2. Dacă ați conectat și Cloudflare, și GoDaddy, apăsați pe rândul conexiunii dorite.\n3. În blocul „Zonă”, alegeți domeniul din listă. Prima zonă este selectată automat, iar înregistrările ei apar mai jos, în blocul „Înregistrări”.\n4. Dacă între timp ați adăugat un domeniu la furnizor, apăsați „Reîmprospătează”. Lista de zone se reîncarcă și se selectează din nou prima zonă.\n\nPanoul citește zonele și înregistrările direct de la furnizor, de fiecare dată, deci vedeți și modificările făcute în contul Cloudflare sau GoDaddy.\n\n| Ce vedeți | Ce înseamnă |\n|---|---|\n| „Se încarcă zonele…”, „Se încarcă înregistrările…” | Panoul așteaptă răspunsul furnizorului. |\n| „Nicio zonă nu este vizibilă pentru această conexiune încă.” | Cloudflare: tokenul nu are acces la nicio zonă cu starea Active. GoDaddy: contul nu are domenii active. |\n| „Nicio înregistrare găsită în această zonă.” | Zona este goală. Puteți adăuga prima înregistrare. |\n\nPanoul afișează cel mult 500 de zone Cloudflare sau 1000 de domenii GoDaddy, iar într-o zonă cel mult 2000 de înregistrări (Cloudflare) sau 5000 (GoDaddy).\n\n## Tabelul „Înregistrări”\n\n| Coloană | Ce arată |\n|---|---|\n| „Tip” | Tipul înregistrării, de exemplu A, CNAME sau MX. |\n| „Nume” | Numele complet, de exemplu `www.example.com`. Rădăcina domeniului apare ca `example.com`. |\n| „Conținut” | Valoarea înregistrării. Valorile lungi sunt scurtate; ca să vedeți valoarea întreagă, apăsați creionul. |\n| „TTL” | Cât timp, în secunde, pot memora alte servere DNS valoarea. La Cloudflare, „Automat” înseamnă TTL automat. |\n| „Prioritate” | Prioritatea, la MX și SRV. La celelalte tipuri apare „—”. |\n| „Proxy” | Doar la Cloudflare: „Proxy” dacă traficul web trece prin Cloudflare, „—” dacă nu. |\n\nLa capătul fiecărui rând sunt creionul („Editează”) și coșul („Șterge”).\n\n## Cum adăugați o înregistrare\n\n1. Apăsați „Adaugă înregistrare”. În capul tabelului apare un rând de editare.\n2. Alegeți tipul din prima listă: A, AAAA, CNAME, TXT, MX, NS, SRV sau CAA. Implicit este A.\n3. În câmpul cu indiciul „de ex. www sau @” scrieți numele:\n   - `@` pentru rădăcina domeniului (`example.com`);\n   - doar partea din fața domeniului, de exemplu `www`: panoul adaugă singur numele zonei (`www.example.com`);\n   - numele complet, terminat cu domeniul zonei, este acceptat și el.\n4. În câmpul următor scrieți valoarea. Indiciul se schimbă după tip: „Valoarea înregistrării”, la MX „mail.example.com”, la SRV „10 5 5060 sip.example.com”, la CAA „0 issue letsencrypt.org”.\n5. Alegeți TTL-ul, în secunde:\n   - Cloudflare: „Automat”, 60, 300, 600, 1800, 3600, 86400 (implicit „Automat”);\n   - GoDaddy: 600, 1800, 3600, 86400 (implicit 3600).\n6. La MX și SRV apare un câmp numeric pentru prioritate. La MX este obligatoriu (0–65535). La SRV îl puteți lăsa gol: atunci prioritatea este primul număr din valoare. Dacă este completat (la editare este deja completat), contează numărul din câmp.\n7. La Cloudflare, pentru A, AAAA și CNAME, apare caseta „Proxy”. Bifați-o doar dacă vreți ca traficul web să treacă prin Cloudflare.\n8. Apăsați „Salvează”. Înregistrarea apare la sfârșitul tabelului, fără alt mesaj de confirmare. „Anulează” închide rândul fără să salveze.\n\nCât timp un rând de editare este deschis, „Adaugă înregistrare” și creioanele sunt inactive. Salvați sau anulați mai întâi.\n\n## Formatul valorilor\n\n| Tip | Ce scrieți în „Conținut” | Exemplu |\n|---|---|---|\n| A | O adresă IPv4 validă | `203.0.113.10` |\n| AAAA | O adresă IPv6 validă | `2001:db8::10` |\n| CNAME, NS | Un nume de host | `example.com`, `ns1.example.net` |\n| MX | Numele de host al serverului de email; prioritatea 0–65535 în câmpul numeric | `mail.example.com`, prioritate `10` |\n| SRV | `prioritate greutate port țintă`, fiecare număr 0–65535 | `10 5 5060 sip.example.com` |\n| CAA | `flags tag valoare`: flags 0–255, tag `issue`, `issuewild` sau `iodef` | `0 issue letsencrypt.org` |\n| TXT | Orice text | `v=spf1 include:_spf.example.com ~all` |\n\n- Numele are 1–253 de caractere, iar valoarea 1–2048. Câmpul de nume nu poate rămâne gol: pentru rădăcină scrieți `@`.\n- Numele de host din valoare (CNAME, NS, MX, ținta SRV) pot conține doar litere latine, cifre, cratime și puncte. Caracterul `_` nu este acceptat: un CNAME cu `_` în valoare (de exemplu, pentru unele chei DKIM) adăugați-l direct în contul furnizorului DNS.\n- La SRV, numele are forma `_serviciu._protocol`, de exemplu `_sip._tcp`. La GoDaddy, alt nume este respins cu mesajul „SRV record name must be '_service._proto.host'”.\n\nDacă formatul nu este corect, de cele mai multe ori pagina afișează doar „Nu s-a putut salva înregistrarea.”, fără motiv. Comparați valoarea cu tabelul de mai sus.\n\n## Cum modificați o înregistrare\n\n1. Apăsați creionul („Editează”) de pe rândul înregistrării. Rândul devine editabil și arată valorile actuale.\n2. Schimbați valoarea, TTL-ul, prioritatea sau caseta „Proxy”.\n3. Apăsați „Salvează”.\n\nLa GoDaddy, tipul și numele sunt blocate la editare. Ca să le schimbați, ștergeți înregistrarea și adăugați-o din nou.\n\nÎnregistrările de alte tipuri decât cele opt din listă (de exemplu HTTPS), create direct la furnizor, apar în tabel, dar nu pot fi modificate din panou. Modificați-le în contul furnizorului.\n\n> **Atenție**\n> Sub tabelul unei zone GoDaddy apare textul „Editarea unei înregistrări GoDaddy înlocuiește toate înregistrările cu același nume și tip, așa că o modificare făcută în altă parte în același timp poate fi suprascrisă.” Nu modificați aceleași înregistrări în același timp în panou și în contul GoDaddy.\n\n## Cum ștergeți o înregistrare\n\n1. Apăsați coșul („Șterge”) de pe rândul înregistrării.\n2. Browserul cere confirmarea „Ștergeți înregistrarea {tip} {nume}?”, de exemplu „Ștergeți înregistrarea A www.example.com?”. Apăsați OK.\n3. Rândul dispare din tabel. Dacă ștergerea nu reușește, în locul tabelului apare un mesaj de eroare, de exemplu „Ștergerea a eșuat.”\n\n> **Important**\n> Înregistrarea este ștearsă imediat la furnizor, iar panoul nu păstrează un istoric al valorilor. Notați valoarea înainte de ștergere, ca să puteți adăuga înregistrarea din nou.\n\n## Exemple uzuale\n\n### Domeniul către server\n\nAdresa IP a serverului o găsiți în „Serverele mele”, pe rândul „IP” al cardului.\n\n| Tip | Nume | Conținut |\n|---|---|---|\n| A | `@` | `IP_SERVER` |\n| A | `www` | `IP_SERVER` |\n\nÎn locul celui de-al doilea A puteți folosi CNAME `www` → `DOMENIU`. Pașii compleți: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu).\n\n### Email: MX și SPF\n\n| Tip | Nume | Conținut | Prioritate |\n|---|---|---|---|\n| MX | `@` | `mail.example.com` | `10` |\n| TXT | `@` | `v=spf1 include:_spf.example.com ~all` | — |\n\nFolosiți exact valorile primite de la furnizorul de email. Un nume poate avea o singură înregistrare SPF (un TXT care începe cu `v=spf1`): dacă există deja, modificați-o în loc să adăugați a doua.\n\n### Verificarea domeniului\n\nServiciile externe cer adesea o înregistrare TXT ca dovadă că domeniul vă aparține: tip TXT, nume `@` (sau cel indicat de serviciu), conținut codul primit, de exemplu `google-site-verification=COD`.\n\n### CAA pentru Let's Encrypt\n\n| Tip | Nume | Conținut |\n|---|---|---|\n| CAA | `@` | `0 issue letsencrypt.org` |\n\nCând domeniul are înregistrări CAA `issue`, doar autoritățile enumerate în ele pot emite certificate pentru el. Dacă folosiți și un certificat comercial, adăugați câte o înregistrare `issue` pentru fiecare autoritate: [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl).\n\n## Când se văd modificările\n\nModificarea ajunge imediat la furnizor, dar serverele DNS care au memorat valoarea veche o folosesc până expiră TTL-ul ei (3600 = până la o oră). Înregistrările au efect doar dacă domeniul folosește serverele de nume (NS) ale furnizorului conectat. Verificați (Linux, macOS):\n\n```bash\ndig +short A DOMENIU\ndig +short NS DOMENIU\n```\n\nPe Windows:\n\n```powershell\nnslookup DOMENIU\nnslookup -type=NS DOMENIU\n```\n\n> **Sfat**\n> Înainte de o mutare planificată, de exemplu pe un server nou, coborâți TTL-ul la 300 (Cloudflare) sau la 600 (GoDaddy, cea mai mică valoare din listă). Faceți-o cu cel puțin un interval TTL vechi înainte de mutare: de exemplu, cu o zi înainte dacă TTL-ul era 86400. După mutare îl puteți ridica la loc.\n\n## Limite și mesaje de eroare\n\n| Acțiune | Limită |\n|---|---|\n| Citiri: conexiuni, zone, înregistrări | 120 pe minut |\n| Modificări: salvare, ștergere, „Verifică”, „Deconectează” | 60 pe minut |\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu s-a putut salva înregistrarea.” | Valoarea nu respectă formatul, numele este gol sau lipsește prioritatea la MX | Verificați valoarea după tabelul „Formatul valorilor” |\n| Un mesaj în engleză | Furnizorul a respins înregistrarea; textul lui apare neschimbat | Corectați după mesaj, de exemplu ștergeți înregistrarea care intră în conflict |\n| „Not found” | Înregistrarea nu mai există în această formă: a fost modificată sau ștearsă în altă parte | Reîncărcați pagina și alegeți din nou zona |\n| „Furnizorul a respins aceste date de acces.”, urmat de mesajul furnizorului | Tokenul sau cheia nu mai sunt valabile ori nu au permisiunile necesare. După reîncărcarea paginii, conexiunea are starea „Necesită atenție” | Creați un token sau o cheie nouă, apăsați „Deconectează”, apoi conectați din nou furnizorul: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare). Dacă ați reactivat sau corectat același token la furnizor, apăsați „Verifică” |\n| „Prea multe cereri. Încercați din nou în curând.” | Ați depășit limita panoului | Așteptați un minut |\n| „Furnizorul limitează numărul de cereri. Încercați din nou în curând.” sau „Furnizorul este temporar indisponibil. Încercați din nou în curând.” | Limita proprie sau o eroare a Cloudflare ori GoDaddy | Reîncercați peste câteva minute |\n| „Furnizorul nu a răspuns la timp. Încercați din nou.” | Furnizorul răspunde greu | Reîncărcați pagina și verificați tabelul înainte de a repeta: modificarea poate fi deja aplicată |\n| „Ștergerea a eșuat.” sau „Nu s-au putut încărca datele DNS.” | Acțiunea nu a reușit | Reîncărcați pagina și reîncercați |\n| „Gestionarea DNS nu este disponibilă momentan.” | Serviciul este temporar indisponibil | Reveniți mai târziu. Dacă mesajul rămâne, scrieți-ne la support@blackbox.md |\n\n## Întrebări frecvente\n\n**Pot gestiona înregistrările DNS prin asistentul AI (MCP)?**\nNu. Uneltele MCP nu includ DNS: folosiți pagina „DNS” sau contul furnizorului. Ce poate face asistentul: [Lista uneltelor MCP](#ai.unelte).\n\n**Am schimbat înregistrarea, dar site-ul se deschide tot pe serverul vechi. De ce?**\nValoarea veche rămâne memorată până expiră TTL-ul. Verificați cu `dig` că valoarea publică este cea nouă și că domeniul folosește serverele de nume ale furnizorului conectat.\n\n**Nu pot adăuga un CNAME pentru `www`. Ce fac?**\nUn nume care are CNAME nu poate avea alte înregistrări. Ștergeți mai întâi înregistrările A sau AAAA cu același nume, apoi adăugați CNAME-ul.\n\n**Ce face caseta „Proxy”?**\nTraficul web trece prin rețeaua Cloudflare, iar numele indică adresele Cloudflare în locul IP-ului serverului. Conexiunile care nu sunt web, de exemplu SSH, nu funcționează prin acest nume: conectați-vă la adresa IP a serverului.\n",
    "ru": "Страница «DNS» (`app.blackbox.md/dns`, боковое меню → «Инфраструктура» → «DNS») показывает DNS-записи доменов из подключённого аккаунта Cloudflare или GoDaddy и позволяет добавлять, изменять и удалять их. BLACKBOX не размещает DNS-зоны у себя: каждое изменение сразу уходит вашему провайдеру.\n\n**Доступно:** владельцу аккаунта blackbox.md в панели app.blackbox.md после подключения Cloudflare или GoDaddy: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare).\n\n## Как выбрать зону\n\n1. Откройте «DNS». Панель автоматически выбирает первое активное подключение в блоке «Подключения» и загружает его зоны.\n2. Если подключены и Cloudflare, и GoDaddy, нажмите на строку нужного подключения.\n3. В блоке «Зона» выберите домен из списка. Первая зона выбирается автоматически, а её записи появляются ниже, в блоке «Записи».\n4. Если вы недавно добавили домен у провайдера, нажмите «Обновить». Список зон загрузится заново, и снова будет выбрана первая зона.\n\nПанель каждый раз читает зоны и записи напрямую у провайдера, поэтому изменения, сделанные в аккаунте Cloudflare или GoDaddy, тоже видны.\n\n| Что вы видите | Что это значит |\n|---|---|\n| «Загрузка зон…», «Загрузка записей…» | Панель ждёт ответа провайдера. |\n| «Для этого подключения пока не видно ни одной зоны.» | Cloudflare: у токена нет доступа ни к одной зоне со статусом Active. GoDaddy: в аккаунте нет активных доменов. |\n| «В этой зоне записей не найдено.» | Зона пуста. Можно добавить первую запись. |\n\nПанель показывает не более 500 зон Cloudflare или 1000 доменов GoDaddy, а в одной зоне — не более 2000 записей (Cloudflare) или 5000 (GoDaddy).\n\n## Таблица «Записи»\n\n| Столбец | Что показывает |\n|---|---|\n| «Тип» | Тип записи, например A, CNAME или MX. |\n| «Имя» | Полное имя, например `www.example.com`. Корень домена показан как `example.com`. |\n| «Значение» | Значение записи. Длинные значения обрезаются; чтобы увидеть целиком, нажмите на карандаш. |\n| «TTL» | Сколько секунд другие DNS-серверы могут хранить значение в кеше. У Cloudflare «Авто» означает автоматический TTL. |\n| «Приоритет» | Приоритет для MX и SRV. У остальных типов — «—». |\n| «Прокси» | Только у Cloudflare: «Прокси», если веб-трафик идёт через Cloudflare, и «—», если нет. |\n\nВ конце каждой строки — карандаш («Изменить») и корзина («Удалить»).\n\n## Как добавить запись\n\n1. Нажмите «Добавить запись». В начале таблицы появится строка редактирования.\n2. Выберите тип в первом списке: A, AAAA, CNAME, TXT, MX, NS, SRV или CAA. По умолчанию выбран A.\n3. В поле с подсказкой «например, www или @» введите имя:\n   - `@` — корень домена (`example.com`);\n   - только часть перед доменом, например `www`: панель сама добавит имя зоны (`www.example.com`);\n   - полное имя, заканчивающееся доменом зоны, тоже подойдёт.\n4. В следующем поле введите значение. Подсказка зависит от типа: «Значение записи», для MX — «mail.example.com», для SRV — «10 5 5060 sip.example.com», для CAA — «0 issue letsencrypt.org».\n5. Выберите TTL в секундах:\n   - Cloudflare: «Авто», 60, 300, 600, 1800, 3600, 86400 (по умолчанию «Авто»);\n   - GoDaddy: 600, 1800, 3600, 86400 (по умолчанию 3600).\n6. Для MX и SRV появляется числовое поле приоритета. Для MX оно обязательно (0–65535). Для SRV его можно оставить пустым: тогда приоритетом будет первое число в значении. Если поле заполнено (при редактировании оно уже заполнено), используется число из поля.\n7. У Cloudflare для A, AAAA и CNAME появляется галочка «Прокси». Ставьте её, только если веб-трафик должен идти через Cloudflare.\n8. Нажмите «Сохранить». Запись появится в конце таблицы, отдельного подтверждения нет. «Отмена» закрывает строку без сохранения.\n\nПока строка редактирования открыта, кнопка «Добавить запись» и карандаши неактивны. Сначала сохраните изменения или нажмите «Отмена».\n\n## Формат значений\n\n| Тип | Что вводить в «Значение» | Пример |\n|---|---|---|\n| A | Корректный IPv4-адрес | `203.0.113.10` |\n| AAAA | Корректный IPv6-адрес | `2001:db8::10` |\n| CNAME, NS | Имя хоста | `example.com`, `ns1.example.net` |\n| MX | Имя хоста почтового сервера; приоритет 0–65535 — в числовом поле | `mail.example.com`, приоритет `10` |\n| SRV | `приоритет вес порт цель`, каждое число 0–65535 | `10 5 5060 sip.example.com` |\n| CAA | `флаги тег значение`: флаги 0–255, тег `issue`, `issuewild` или `iodef` | `0 issue letsencrypt.org` |\n| TXT | Любой текст | `v=spf1 include:_spf.example.com ~all` |\n\n- Имя — от 1 до 253 символов, значение — от 1 до 2048. Поле имени нельзя оставлять пустым: для корня домена введите `@`.\n- Имена хостов в значении (CNAME, NS, MX, цель SRV) могут содержать только латинские буквы, цифры, дефисы и точки. Символ `_` не принимается: CNAME с `_` в значении (например, для некоторых ключей DKIM) добавьте напрямую в аккаунте DNS-провайдера.\n- У SRV имя имеет вид `_сервис._протокол`, например `_sip._tcp`. У GoDaddy другое имя отклоняется с сообщением «SRV record name must be '_service._proto.host'».\n\nЕсли формат неверный, страница чаще всего показывает только «Не удалось сохранить запись.» без объяснения причины. Сверьте значение с таблицей выше.\n\n## Как изменить запись\n\n1. Нажмите на карандаш («Изменить») в строке записи. Строка станет редактируемой и покажет текущие значения.\n2. Измените значение, TTL, приоритет или галочку «Прокси».\n3. Нажмите «Сохранить».\n\nУ GoDaddy тип и имя при редактировании заблокированы. Чтобы их поменять, удалите запись и добавьте её заново.\n\nЗаписи других типов, кроме восьми из списка (например, HTTPS), созданные напрямую у провайдера, видны в таблице, но изменить их из панели нельзя. Меняйте их в аккаунте провайдера.\n\n> **Внимание**\n> Под таблицей зоны GoDaddy написано: «Изменение записи GoDaddy заменяет все записи с тем же именем и типом, поэтому изменение, сделанное одновременно в другом месте, может быть перезаписано.» Не меняйте одни и те же записи одновременно в панели и в аккаунте GoDaddy.\n\n## Как удалить запись\n\n1. Нажмите на корзину («Удалить») в строке записи.\n2. Браузер попросит подтвердить: «Удалить запись {тип} {имя}?», например «Удалить запись A www.example.com?». Нажмите OK.\n3. Строка исчезнет из таблицы. Если удалить не получилось, вместо таблицы появится сообщение об ошибке, например «Не удалось удалить.»\n\n> **Важно**\n> Запись сразу удаляется у провайдера, а панель не хранит историю значений. Перед удалением запишите значение, чтобы при необходимости добавить запись заново.\n\n## Типовые примеры\n\n### Направить домен на сервер\n\nIP-адрес сервера указан на странице «Мои серверы», в строке «IP» карточки.\n\n| Тип | Имя | Значение |\n|---|---|---|\n| A | `@` | `IP_СЕРВЕРА` |\n| A | `www` | `IP_СЕРВЕРА` |\n\nВместо второй записи A можно использовать CNAME `www` → `ДОМЕН`. Подробно по шагам: [Как направить домен на сервер](#domenii.indreptare-domeniu).\n\n### Почта: MX и SPF\n\n| Тип | Имя | Значение | Приоритет |\n|---|---|---|---|\n| MX | `@` | `mail.example.com` | `10` |\n| TXT | `@` | `v=spf1 include:_spf.example.com ~all` | — |\n\nВводите ровно те значения, которые дал ваш почтовый провайдер. У одного имени может быть только одна SPF-запись (TXT, начинающаяся с `v=spf1`): если она уже есть, измените её, а не добавляйте вторую.\n\n### Подтверждение владения доменом\n\nВнешние сервисы часто просят TXT-запись, чтобы убедиться, что домен ваш: тип TXT, имя `@` (или то, которое укажет сервис), значение — полученный код, например `google-site-verification=КОД`.\n\n### CAA для Let's Encrypt\n\n| Тип | Имя | Значение |\n|---|---|---|\n| CAA | `@` | `0 issue letsencrypt.org` |\n\nЕсли у домена есть CAA-записи `issue`, выпускать для него сертификаты могут только перечисленные в них центры сертификации. Если вы используете ещё и коммерческий сертификат, добавьте запись `issue` для каждого центра: [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl).\n\n## Когда изменения вступают в силу\n\nИзменение сразу попадает к провайдеру, но DNS-серверы, запомнившие старое значение, используют его, пока не истечёт TTL (3600 — до одного часа). Записи работают, только если домен использует серверы имён (NS) подключённого провайдера. Проверьте (Linux, macOS):\n\n```bash\ndig +short A ДОМЕН\ndig +short NS ДОМЕН\n```\n\nВ Windows:\n\n```powershell\nnslookup ДОМЕН\nnslookup -type=NS ДОМЕН\n```\n\n> **Совет**\n> Перед запланированным переездом, например на новый сервер, заранее снизьте TTL до 300 (Cloudflare) или до 600 (GoDaddy, это минимальное значение в списке). Сделайте это не позже чем за один старый интервал TTL до переезда: например, за сутки, если TTL был 86400. После переезда его можно вернуть.\n\n## Лимиты и сообщения об ошибках\n\n| Действие | Лимит |\n|---|---|\n| Чтение: подключения, зоны, записи | 120 в минуту |\n| Изменения: сохранение, удаление, «Проверить», «Отключить» | 60 в минуту |\n\n| Сообщение | Что значит | Что делать |\n|---|---|---|\n| «Не удалось сохранить запись.» | Значение не соответствует формату, имя пустое или у MX не указан приоритет | Сверьте значение с таблицей «Формат значений» |\n| Сообщение на английском | Провайдер отклонил запись; его текст показан без изменений | Исправьте по сообщению, например удалите конфликтующую запись |\n| «Not found» | Записи в таком виде больше нет: её изменили или удалили в другом месте | Обновите страницу и снова выберите зону |\n| «Провайдер отклонил эти учётные данные.», затем сообщение провайдера | Токен или ключ больше не действует либо у него нет нужных разрешений. После обновления страницы у подключения будет статус «Требует внимания» | Создайте новый токен или ключ, нажмите «Отключить», затем подключите провайдера заново: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare). Если вы снова включили или исправили тот же токен у провайдера, нажмите «Проверить» |\n| «Слишком много запросов. Повторите попытку позже.» | Превышен лимит панели | Подождите минуту |\n| «Провайдер ограничивает количество запросов. Повторите попытку позже.» или «Провайдер временно недоступен. Повторите попытку позже.» | Сработал собственный лимит Cloudflare или GoDaddy либо у провайдера сбой | Повторите через несколько минут |\n| «Провайдер не ответил вовремя. Повторите попытку.» | Провайдер отвечает медленно | Перед повтором обновите страницу и проверьте таблицу: изменение могло уже примениться |\n| «Не удалось удалить.» или «Не удалось загрузить данные DNS.» | Действие не выполнено | Обновите страницу и повторите |\n| «Управление DNS сейчас недоступно.» | Сервис временно недоступен | Попробуйте позже. Если сообщение не исчезает, напишите нам на support@blackbox.md |\n\n## Частые вопросы\n\n**Можно ли управлять DNS-записями через AI-ассистента (MCP)?**\nНет. Среди инструментов MCP нет DNS: используйте страницу «DNS» или аккаунт провайдера. Что умеет ассистент: [Список инструментов MCP](#ai.unelte).\n\n**Запись изменена, но сайт по-прежнему открывается со старого сервера. Почему?**\nСтарое значение хранится в кеше, пока не истечёт TTL. Проверьте через `dig`, что публичное значение уже новое и что домен использует серверы имён подключённого провайдера.\n\n**Не получается добавить CNAME для `www`. Что делать?**\nУ имени с CNAME не может быть других записей. Сначала удалите записи A или AAAA с тем же именем, затем добавьте CNAME.\n\n**Что делает галочка «Прокси»?**\nВеб-трафик идёт через сеть Cloudflare, и имя указывает на адреса Cloudflare, а не на IP сервера. Остальные подключения, например SSH, через такое имя не работают: подключайтесь по IP-адресу сервера.\n",
    "en": "The “DNS” page (`app.blackbox.md/dns`, sidebar → “Infrastructure” → “DNS”) shows the DNS records of the domains in your connected Cloudflare or GoDaddy account and lets you add, change and delete them. BLACKBOX does not host the DNS zones: every change is sent directly to your provider.\n\n**Available to:** the blackbox.md account owner, in the app.blackbox.md panel, after connecting Cloudflare or GoDaddy: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare).\n\n## How to choose a zone\n\n1. Open “DNS”. The panel automatically selects the first active connection in the “Connections” block and loads its zones.\n2. If you have connected both Cloudflare and GoDaddy, click the row of the connection you want.\n3. In the “Zone” block, choose the domain from the list. The first zone is selected automatically, and its records appear below, in the “Records” block.\n4. If you have added a domain at the provider in the meantime, click “Refresh”. The zone list reloads and the first zone is selected again.\n\nThe panel reads the zones and records directly from the provider every time, so you also see changes made in your Cloudflare or GoDaddy account.\n\n| What you see | What it means |\n|---|---|\n| “Loading zones…”, “Loading records…” | The panel is waiting for the provider's response. |\n| “No zones are visible to this connection yet.” | Cloudflare: the token does not have access to any zone with the Active status. GoDaddy: the account has no active domains. |\n| “No records found in this zone.” | The zone is empty. You can add the first record. |\n\nThe panel shows at most 500 Cloudflare zones or 1,000 GoDaddy domains, and at most 2,000 records per zone (Cloudflare) or 5,000 (GoDaddy).\n\n## The “Records” table\n\n| Column | What it shows |\n|---|---|\n| “Type” | The record type, for example A, CNAME or MX. |\n| “Name” | The full name, for example `www.example.com`. The domain root appears as `example.com`. |\n| “Content” | The record value. Long values are shortened; to see the full value, click the pencil. |\n| “TTL” | How long, in seconds, other DNS servers may cache the value. On Cloudflare, “Auto” means automatic TTL. |\n| “Priority” | The priority, for MX and SRV. Other types show “—”. |\n| “Proxied” | Cloudflare only: “Proxied” if web traffic goes through Cloudflare, “—” if it does not. |\n\nAt the end of each row there is a pencil (“Edit”) and a trash can (“Delete”).\n\n## How to add a record\n\n1. Click “Add record”. An edit row appears at the top of the table.\n2. Choose the type from the first list: A, AAAA, CNAME, TXT, MX, NS, SRV or CAA. The default is A.\n3. In the field with the hint “e.g. www or @”, enter the name:\n   - `@` for the domain root (`example.com`);\n   - only the part in front of the domain, for example `www`: the panel adds the zone name itself (`www.example.com`);\n   - the full name, ending with the zone's domain, is accepted too.\n4. In the next field, enter the value. The hint changes with the type: “Record value”; for MX “mail.example.com”, for SRV “10 5 5060 sip.example.com”, for CAA “0 issue letsencrypt.org”.\n5. Choose the TTL, in seconds:\n   - Cloudflare: “Auto”, 60, 300, 600, 1800, 3600, 86400 (default “Auto”);\n   - GoDaddy: 600, 1800, 3600, 86400 (default 3600).\n6. For MX and SRV, a number field for the priority appears. For MX it is required (0–65535). For SRV you can leave it empty: the priority is then the first number in the value. If the field is filled in (when you edit a record, it already is), the number in the field is what counts.\n7. On Cloudflare, the “Proxied” checkbox appears for A, AAAA and CNAME. Check it only if you want web traffic to go through Cloudflare.\n8. Click “Save”. The record appears at the end of the table, with no other confirmation message. “Cancel” closes the row without saving.\n\nWhile an edit row is open, “Add record” and the pencils are inactive. Save or cancel first.\n\n## Value format\n\n| Type | What to enter in “Content” | Example |\n|---|---|---|\n| A | A valid IPv4 address | `203.0.113.10` |\n| AAAA | A valid IPv6 address | `2001:db8::10` |\n| CNAME, NS | A host name | `example.com`, `ns1.example.net` |\n| MX | The host name of the mail server; the priority, 0–65535, in the number field | `mail.example.com`, priority `10` |\n| SRV | `priority weight port target`, each number 0–65535 | `10 5 5060 sip.example.com` |\n| CAA | `flags tag value`: flags 0–255, tag `issue`, `issuewild` or `iodef` | `0 issue letsencrypt.org` |\n| TXT | Any text | `v=spf1 include:_spf.example.com ~all` |\n\n- The name is 1–253 characters long, and the value 1–2,048. The name field cannot be left empty: for the root, enter `@`.\n- Host names in the value (CNAME, NS, MX, SRV target) may contain only Latin letters, digits, hyphens and dots. The `_` character is not accepted: add a CNAME with `_` in its value (for example, for some DKIM keys) directly in your DNS provider account.\n- For SRV, the name has the form `_service._protocol`, for example `_sip._tcp`. On GoDaddy, any other name is rejected with the message “SRV record name must be '_service._proto.host'”.\n\nIf the format is wrong, the page usually shows only “Failed to save the record.”, with no reason. Compare the value with the table above.\n\n## How to change a record\n\n1. Click the pencil (“Edit”) on the record's row. The row becomes editable and shows the current values.\n2. Change the value, the TTL, the priority or the “Proxied” checkbox.\n3. Click “Save”.\n\nOn GoDaddy, the type and the name are locked when you edit a record. To change them, delete the record and add it again.\n\nRecords of types other than the eight in the list (for example HTTPS), created directly at the provider, appear in the table but cannot be changed from the panel. Change them in your provider account.\n\n> **Warning**\n> Below the table of a GoDaddy zone you see the text “Editing a GoDaddy record replaces all records with the same name and type, so a change made elsewhere at the same time may be overwritten.” Do not change the same records at the same time in the panel and in your GoDaddy account.\n\n## How to delete a record\n\n1. Click the trash can (“Delete”) on the record's row.\n2. The browser asks you to confirm: “Delete the {type} record {name}?”, for example “Delete the A record www.example.com?”. Click OK.\n3. The row disappears from the table. If the deletion fails, an error message appears in place of the table, for example “Failed to delete.”\n\n> **Important**\n> The record is deleted immediately at the provider, and the panel keeps no history of values. Write down the value before you delete the record, so you can add it again.\n\n## Common examples\n\n### Pointing the domain to the server\n\nYou can find the server's IP address in “My Servers”, in the “IP” row of the card.\n\n| Type | Name | Content |\n|---|---|---|\n| A | `@` | `SERVER_IP` |\n| A | `www` | `SERVER_IP` |\n\nInstead of the second A record, you can use CNAME `www` → `DOMAIN`. The full steps: [How to point your domain to the server](#domenii.indreptare-domeniu).\n\n### Email: MX and SPF\n\n| Type | Name | Content | Priority |\n|---|---|---|---|\n| MX | `@` | `mail.example.com` | `10` |\n| TXT | `@` | `v=spf1 include:_spf.example.com ~all` | — |\n\nUse exactly the values you received from your email provider. A name can have only one SPF record (a TXT record that starts with `v=spf1`): if one already exists, change it instead of adding a second one.\n\n### Domain verification\n\nExternal services often ask for a TXT record as proof that the domain is yours: type TXT, name `@` (or the one the service tells you), and as content the code you received, for example `google-site-verification=CODE`.\n\n### CAA for Let's Encrypt\n\n| Type | Name | Content |\n|---|---|---|\n| CAA | `@` | `0 issue letsencrypt.org` |\n\nWhen the domain has CAA `issue` records, only the authorities listed in them can issue certificates for it. If you also use a commercial certificate, add one `issue` record for each authority: [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl).\n\n## When changes become visible\n\nThe change reaches the provider immediately, but DNS servers that have cached the old value keep using it until its TTL expires (3600 = up to one hour). The records take effect only if the domain uses the name servers (NS) of the connected provider. To check (Linux, macOS):\n\n```bash\ndig +short A DOMAIN\ndig +short NS DOMAIN\n```\n\nOn Windows:\n\n```powershell\nnslookup DOMAIN\nnslookup -type=NS DOMAIN\n```\n\n> **Tip**\n> Before a planned move, for example to a new server, lower the TTL to 300 (Cloudflare) or to 600 (GoDaddy, the lowest value in the list). Do it at least one old TTL interval before the move: for example, one day before if the TTL was 86400. After the move you can raise it again.\n\n## Limits and error messages\n\n| Action | Limit |\n|---|---|\n| Reads: connections, zones, records | 120 per minute |\n| Changes: save, delete, “Verify”, “Disconnect” | 60 per minute |\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Failed to save the record.” | The value does not match the format, the name is empty, or the priority is missing for MX | Check the value against the “Value format” table |\n| Another message in English | The provider rejected the record; its text is shown unchanged | Fix the record as the message says, for example delete the conflicting record |\n| “Not found” | The record no longer exists in this form: it was changed or deleted elsewhere | Reload the page and choose the zone again |\n| “The provider rejected these credentials.”, followed by the provider's message | The token or key is no longer valid or does not have the required permissions. After you reload the page, the connection has the “Needs attention” status | Create a new token or key, click “Disconnect”, then connect the provider again: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare). If you re-enabled or fixed the same token at the provider, click “Verify” |\n| “Too many requests. Try again shortly.” | You have exceeded the panel's limit | Wait one minute |\n| “The provider is rate-limiting requests. Try again shortly.” or “The provider is temporarily unavailable. Try again shortly.” | Cloudflare's or GoDaddy's own limit, or an error on their side | Try again in a few minutes |\n| “The provider took too long to respond. Try again.” | The provider is responding slowly | Reload the page and check the table before you try again: the change may already be applied |\n| “Failed to delete.” or “Failed to load DNS data.” | The action did not succeed | Reload the page and try again |\n| “DNS management is not available right now.” | The service is temporarily unavailable | Come back later. If the message persists, write to us at support@blackbox.md |\n\n## Frequently asked questions\n\n**Can I manage DNS records through the AI assistant (MCP)?**\nNo. The MCP tools do not include DNS: use the “DNS” page or your provider account. What the assistant can do: [List of MCP tools](#ai.unelte).\n\n**I changed the record, but the site still opens from the old server. Why?**\nThe old value stays cached until its TTL expires. Use `dig` to check that the public value is the new one and that the domain uses the name servers of the connected provider.\n\n**I can't add a CNAME for `www`. What should I do?**\nA name that has a CNAME cannot have any other records. First delete the A or AAAA records with the same name, then add the CNAME.\n\n**What does the “Proxied” checkbox do?**\nWeb traffic goes through the Cloudflare network, and the name points to Cloudflare's addresses instead of your server's IP. Connections that are not web traffic, for example SSH, do not work through this name: connect to the server's IP address instead.\n"
   }
  },
  {
   "id": "servicii.servicii-suplimentare",
   "section": "servicii",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/servicii/servicii-suplimentare/",
    "ru": "https://docs.blackbox.md/ru/servicii/servicii-suplimentare/",
    "en": "https://docs.blackbox.md/en/servicii/servicii-suplimentare/"
   },
   "title": {
    "ro": "Servicii suplimentare pentru server",
    "ru": "Дополнительные услуги для сервера",
    "en": "Add-on services for your server"
   },
   "summary": {
    "ro": "Ce servicii suplimentare există astăzi, cum le cereți și ce înseamnă statusurile lor în pagina „Comenzi”.",
    "ru": "Какие дополнительные услуги есть сегодня, как их заказать и что означают их статусы на странице «Заказы».",
    "en": "Which add-on services exist today, how to request them and what their states mean on the Orders page."
   },
   "markdown": {
    "ro": "Serviciile suplimentare se atașează la comanda unui server și se plătesc lunar, împreună cu serverul. Starea lor apare în pagina „Comenzile mele” (`blackbox.md/account/orders`, „Contul meu” → „Comenzi”), sub descrierea comenzii. Datele serviciului de monitorizare le vedeți în panoul app.blackbox.md, în pagina „Monitorizare” (`app.blackbox.md/monitoring`).\n\n**Disponibil pentru:** titularul contului blackbox.md din care este comandat serverul. Serviciile suplimentare nu se aleg la plasarea comenzii pe blackbox.md: le cereți prin suport sau prin asistentul AI.\n\n## Ce servicii suplimentare există\n\n| Serviciu | Eticheta în „Comenzi” | Cum îl obțineți | Preț |\n|---|---|---|---|\n| Monitorizare: valori live și grafice ale serverului în pagina „Monitorizare” a panoului | „Monitoring 24/7” | prin suport sau prin asistentul AI, la o comandă nouă | 98 MDL/lună pentru fiecare server |\n| Adresă IPv4 suplimentară | „IP dedicat” | la cerere, prin suport; adresa este alocată manual de echipă | îl comunică echipa |\n| Backup automat | — | nu se poate comanda; faceți-vă propriile copii | — |\n| Protecție DDoS | — | nu se poate comanda ca serviciu; întrebați suportul | — |\n\n## Cum obțineți serviciul Monitoring\n\nServiciul instalează pe server un agent care trimite metricile în pagina „Monitorizare” a panoului. Agentul se instalează automat după ce serverul este creat. Ce face agentul și de ce are nevoie ca să funcționeze: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\n> **Important**\n> Serviciile care instalează un agent pe server funcționează doar pe Ubuntu și Debian. Pe CentOS Stream sau AlmaLinux serviciul nu se activează și eticheta rămâne „În curs de activare”. Alegeți Ubuntu sau Debian dacă vreți monitorizare.\n\n### Prin suport\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Ajutor și suport” și apăsați „Tichet nou”.\n2. În „Subiect”, scrieți, de exemplu, „Monitoring 24/7”. În „Server (opțional)”, indicați IP-ul sau numele serverului, dacă vă referiți la un server existent.\n3. În „Descrieți problema”, precizați numărul comenzii (`BBX-…`) sau planul pe care vreți să-l comandați și sistemul de operare.\n4. Apăsați „Trimite tichetul”.\n\nEchipa vă răspunde în tichet dacă și cum se poate atașa serviciul și cât costă în total. Dacă se poate adăuga la un server existent, decide echipa. Detalii despre tichete: [Deschiderea unui tichet de suport](#suport.tichet-nou).\n\n### Prin asistentul AI\n\nAsistentul AI poate atașa serviciul doar la o **comandă nouă**. Prin asistent cereți doar Monitoring: celelalte servicii nu se activează automat. Aveți nevoie de un token API cu permisiunea „Plasează și modifică comenzi în numele meu” (`orders:write`): [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\n1. Cereți asistentului o ofertă și spuneți-i explicit să adauge `\"extras\": [\"monitoring\"]` în configurația comenzii. De exemplu:\n\n   ```text\n   Fă o ofertă pentru o comandă nouă: planul vm-iops1-m, Ubuntu 24.04, cu serviciul suplimentar monitoring (la create_order adaugă \"extras\": [\"monitoring\"] în config). Arată-mi totalul și așteaptă confirmarea mea înainte de a plasa și a plăti comanda.\n   ```\n\n2. Verificați totalul. Trebuie să fie prețul planului plus 98 MDL; pentru Standard M (`vm-iops1-m`): 578 + 98 = 676 MDL/lună. Dacă totalul este egal cu prețul planului, serviciul nu a fost inclus. Dacă este mai mare, oferta conține și altceva. În ambele cazuri nu confirmați și cereți asistentului să corecteze oferta.\n3. Confirmați. Comanda apare în „Comenzi” cu statusul „Nou”, iar pe email primiți un mesaj cu subiectul „Am primit solicitarea dumneavoastră — BBX-…”.\n4. Achitați comanda prin asistent (din sold) sau pe site, cu butonul „Achită comanda”.\n5. Când serverul începe să fie creat, sub comandă apare eticheta „Monitoring 24/7: În curs de activare”. După instalarea agentului, ea devine „Monitoring 24/7: Activ”.\n\nProtecțiile și pașii comenzilor prin AI: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n## Adresa IPv4 suplimentară\n\n1. Scrieți-ne printr-un tichet sau la support@blackbox.md. Indicați IP-ul serverului și numărul comenzii (`BBX-…`).\n2. Echipa alocă adresa manual și vă comunică adresa și prețul.\n3. Configurați adresa în sistemul de operare al serverului, după indicațiile primite. Adresa nu se activează singură pe server.\n\nDacă serviciul apare la comanda dvs., eticheta „IP dedicat: În curs de activare” rămâne până când echipa alocă adresa. După ce echipa confirmă alocarea, eticheta devine „IP dedicat: Activ”.\n\n> **Atenție**\n> O greșeală în configurația de rețea vă poate tăia accesul la server, iar panoul nu are consolă web. Înainte de a modifica rețeaua, țineți deschisă o a doua sesiune SSH. Dacă pierdeți accesul, scrieți-ne.\n\n## Backup automat și protecție DDoS\n\nNiciunul dintre aceste servicii nu se poate comanda din cont sau din panou. Pentru variantele disponibile, scrieți-ne.\n\n- **Backup.** Copiile de rezervă ale datelor de pe server sunt responsabilitatea dvs. Păstrați-le pe alt sistem decât serverul: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup). Butonul „Backup” de pe cardul serverului din „Serverele mele” deschide o secțiune care afișează codul `backup_extra_disabled`: serviciul nu este disponibil. Detalii: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n- **DDoS.** Întrebați suportul ce opțiuni există pentru serverul dvs. Dacă serverul este atacat chiar acum, citiți [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n## Statusurile serviciilor în pagina „Comenzi”\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Comenzi”.\n2. Sub descrierea comenzii, fiecare serviciu are o etichetă de forma „serviciu: stare”, de exemplu „Monitoring 24/7: Activ”.\n3. Pentru detalii, apăsați „Vezi detaliile” (pictograma ochi) și citiți rândul „Servicii suplimentare” din „Detalii comandă”.\n\n| Stare | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „În curs de activare” | Serviciul se instalează sau așteaptă o intervenție a echipei. | Așteptați. Dacă starea nu se schimbă, scrieți-ne cu numărul `BBX-…`. |\n| „Activ” | Serviciul funcționează. | Nu trebuie să faceți nimic. |\n| „Contactați suportul” | Activarea automată nu a reușit după mai multe încercări. | Scrieți-ne cu numărul `BBX-…`. |\n| „Anulat” | Serviciul a fost oprit, de exemplu pentru că serverul a fost șters. | Nu trebuie să faceți nimic. Dacă nu ați cerut oprirea, scrieți-ne. |\n\nPentru Monitoring, starea apare și în pagina „Monitorizare” a panoului: „Se conectează…”, „Activ” sau „Eșuat”. Toate acțiunile din pagina „Comenzi”: [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n## Plata și oprirea serviciilor\n\n- Prețul serviciului face parte din totalul lunar al comenzii. Factura nu are un rând separat pentru serviciu: arată descrierea comenzii și totalul, de exemplu 676 MDL pentru Standard M cu Monitoring.\n- Când serverul este șters, serviciile lui se anulează automat și apar cu starea „Anulat”. Este valabil atât pentru ștergerea din panou ([Ștergerea definitivă a unui server](#servere.stergere-server)), cât și pentru anularea unei comenzi cu server ([Anularea comenzii și rambursări](#plati.anulare-si-rambursare)). Dacă după ștergere un serviciu are altă stare, scrieți-ne.\n- Pentru a renunța doar la un serviciu și a păstra serverul, scrieți-ne.\n\n## Întrebări frecvente\n\n**Pot adăuga Monitoring la un server pe care îl am deja?**\nDin cont sau din panou nu se poate. Scrieți-ne: echipa vă spune dacă se poate face. Asistentul AI poate atașa serviciul doar la o comandă nouă.\n\n**De ce eticheta a rămas „În curs de activare”?**\nDe exemplu, serverul nu rulează Ubuntu sau Debian (în acest caz pagina „Monitorizare” arată „Eșuat”) sau serviciul așteaptă o intervenție a echipei, cum este alocarea unei adrese IPv4. Scrieți-ne cu numărul `BBX-…`.\n\n**Nu văd nicio etichetă sub comandă, deși am cerut un serviciu.**\nEtichetele apar abia când serverul începe să fie creat. Dacă serverul există și eticheta lipsește, scrieți-ne.\n\n**Pot alege serviciile suplimentare la plasarea comenzii pe site?**\nNu. Pașii de comandă de pe blackbox.md nu au această opțiune. Folosiți suportul sau asistentul AI, ca mai sus.\n",
    "ru": "Дополнительные услуги подключаются к заказу сервера и оплачиваются ежемесячно вместе с ним. Их состояние видно на странице «Мои заказы» (`blackbox.md/ru/account/orders`, «Личный кабинет» → «Заказы») под описанием заказа. Метрики, которые собирает услуга мониторинга, показываются в панели app.blackbox.md, на странице «Мониторинг» (`app.blackbox.md/monitoring`).\n\n**Доступно:** владельцу аккаунта blackbox.md, с которого заказан сервер. При оформлении заказа на blackbox.md дополнительные услуги не выбираются: их заказывают через поддержку или через AI-ассистента.\n\n## Какие дополнительные услуги есть\n\n| Услуга | Метка в «Заказах» | Как получить | Цена |\n|---|---|---|---|\n| Мониторинг: текущие показатели и графики сервера на странице «Мониторинг» в панели | «Мониторинг 24/7» | через поддержку или через AI-ассистента, к новому заказу | 98 MDL/мес. за каждый сервер |\n| Дополнительный IPv4-адрес | «Выделенный IP» | по запросу через поддержку; адрес выделяет команда вручную | сообщит команда |\n| Автоматическое резервное копирование | — | заказать нельзя; делайте резервные копии сами | — |\n| Защита от DDoS | — | как услугу заказать нельзя; спросите поддержку | — |\n\n## Как подключить мониторинг\n\nУслуга устанавливает на сервер агент, который передаёт метрики на страницу «Мониторинг» в панели. Агент устанавливается автоматически после создания сервера. Что делает агент и что ему нужно для работы: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\n> **Важно**\n> Услуги, для которых на сервер устанавливается агент, работают только на Ubuntu и Debian. На CentOS Stream и AlmaLinux услуга не активируется, и метка остаётся «В процессе активации». Если вам нужен мониторинг, выбирайте Ubuntu или Debian.\n\n### Через поддержку\n\n1. На blackbox.md откройте «Личный кабинет» → «Помощь и поддержка» и нажмите «Новый тикет».\n2. В поле «Тема» напишите, например, «Мониторинг 24/7». В поле «Сервер (необязательно)» укажите IP или название сервера, если речь об уже работающем сервере.\n3. В поле «Опишите проблему» укажите номер заказа (`BBX-…`) или тариф, который хотите заказать, и операционную систему.\n4. Нажмите «Отправить тикет».\n\nКоманда ответит в тикете, можно ли подключить услугу, как это сделать и какой будет итоговая сумма. Можно ли добавить услугу к уже работающему серверу, решает команда. Подробнее о тикетах: [Создание тикета в поддержку](#suport.tichet-nou).\n\n### Через AI-ассистента\n\nAI-ассистент может подключить услугу только к **новому заказу**. Через ассистента заказывайте только мониторинг: остальные услуги автоматически не подключаются. Нужен API-токен с разрешением «Оформлять и изменять заказы от моего имени» (`orders:write`): [Разрешения токенов (scopes)](#ai.permisiuni).\n\n1. Попросите ассистента подготовить предложение и прямо укажите, что в конфигурацию заказа нужно добавить `\"extras\": [\"monitoring\"]`. Например:\n\n   ```text\n   Подготовь предложение на новый заказ: тариф vm-iops1-m, Ubuntu 24.04, с дополнительной услугой monitoring (в create_order добавь в config \"extras\": [\"monitoring\"]). Покажи итоговую сумму и дождись моего подтверждения, прежде чем оформлять и оплачивать заказ.\n   ```\n\n2. Проверьте сумму. Она должна быть равна цене тарифа плюс 98 MDL; для Standard M (`vm-iops1-m`): 578 + 98 = 676 MDL/мес. Если сумма равна цене тарифа, услуга в заказ не попала. Если сумма больше, в предложение попало что-то ещё. В обоих случаях не подтверждайте заказ и попросите ассистента исправить предложение.\n3. Подтвердите. Заказ появится в «Заказах» со статусом «Новый», а на email придёт письмо с темой на румынском «Am primit solicitarea dumneavoastră — BBX-…».\n4. Оплатите заказ через ассистента (с баланса) или на сайте кнопкой «Оплатить заказ».\n5. Когда сервер начнёт создаваться, под заказом появится метка «Мониторинг 24/7: В процессе активации». После установки агента она сменится на «Мониторинг 24/7: Активен».\n\nМеры защиты и порядок действий при заказах через AI: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n## Дополнительный IPv4-адрес\n\n1. Напишите нам в тикете или на support@blackbox.md. Укажите IP сервера и номер заказа (`BBX-…`).\n2. Команда выделит адрес вручную и сообщит вам адрес и цену.\n3. Настройте адрес в операционной системе сервера по полученным инструкциям. Сам по себе адрес на сервере не заработает.\n\nЕсли услуга отображается в вашем заказе, метка «Выделенный IP: В процессе активации» сохраняется, пока команда не выделит адрес. Когда команда подтвердит выделение, метка сменится на «Выделенный IP: Активен».\n\n> **Внимание**\n> Ошибка в сетевых настройках может отрезать доступ к серверу, а веб-консоли в панели нет. Прежде чем менять настройки сети, держите открытым второй SSH-сеанс. Если доступ пропал, напишите нам.\n\n## Автоматическое резервное копирование и защита от DDoS\n\nНи одну из этих услуг нельзя заказать в аккаунте или в панели. О доступных вариантах спросите поддержку.\n\n- **Резервные копии.** За резервное копирование данных на сервере отвечаете вы. Храните копии не на самом сервере: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup). Кнопка «Резервные копии» на карточке сервера на странице «Мои серверы» открывает раздел с кодом `backup_extra_disabled`: услуга недоступна. Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n- **DDoS.** Спросите поддержку, какие варианты есть для вашего сервера. Если сервер атакуют прямо сейчас, прочитайте статью [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n## Состояния услуг на странице «Заказы»\n\n1. На blackbox.md откройте «Личный кабинет» → «Заказы».\n2. Под описанием заказа у каждой услуги есть метка вида «услуга: состояние», например «Мониторинг 24/7: Активен».\n3. Чтобы увидеть подробности, нажмите «Показать детали» (значок глаза) и посмотрите строку «Дополнительные услуги» в блоке «Детали заказа».\n\n| Состояние | Что означает | Что делать |\n|---|---|---|\n| «В процессе активации» | Услуга устанавливается или ждёт действий команды. | Подождите. Если состояние не меняется, напишите нам и укажите номер `BBX-…`. |\n| «Активен» | Услуга работает. | Ничего делать не нужно. |\n| «Свяжитесь со службой поддержки» | Автоматическая активация не удалась после нескольких попыток. | Напишите нам и укажите номер `BBX-…`. |\n| «Отменён» | Услуга отключена, например потому, что сервер удалён. | Ничего делать не нужно. Если вы не просили её отключать, напишите нам. |\n\nДля мониторинга состояние видно и на странице «Мониторинг» в панели: «Подключение…», «Активен» или «Ошибка». Все действия на странице «Заказы»: [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n## Оплата и отключение услуг\n\n- Цена услуги входит в ежемесячную сумму заказа. Отдельной строки для услуги в счёте нет: в нём указаны описание заказа и итоговая сумма, например 676 MDL за Standard M с мониторингом.\n- Когда сервер удаляется, его услуги отключаются автоматически и получают состояние «Отменён». Это касается и удаления в панели ([Безвозвратное удаление сервера](#servere.stergere-server)), и отмены заказа с сервером ([Отмена заказа и возврат средств](#plati.anulare-si-rambursare)). Если после удаления у услуги другое состояние, напишите нам.\n- Чтобы отказаться только от услуги и оставить сервер, напишите нам.\n\n## Частые вопросы\n\n**Можно ли подключить мониторинг к уже работающему серверу?**\nВ аккаунте или в панели этого сделать нельзя. Напишите нам: команда скажет, возможно ли это. AI-ассистент может подключить услугу только к новому заказу.\n\n**Почему метка так и осталась «В процессе активации»?**\nНапример, на сервере стоит не Ubuntu и не Debian (тогда на странице «Мониторинг» будет «Ошибка») или услуга ждёт действий команды, например выделения IPv4-адреса. Напишите нам и укажите номер `BBX-…`.\n\n**Услуга заказана, но под заказом нет метки.**\nМетки появляются только тогда, когда сервер начинает создаваться. Если сервер уже есть, а метки нет, напишите нам.\n\n**Можно ли выбрать дополнительные услуги при оформлении заказа на сайте?**\nНет, в шагах оформления заказа на blackbox.md такой возможности нет. Воспользуйтесь поддержкой или AI-ассистентом, как описано выше.\n",
    "en": "Add-on services are attached to a server's order and are paid monthly, together with the server. Their state appears on the “Comenzile mele” (My orders) page (`blackbox.md/account/orders`, “Contul meu” (My account) → “Comenzi” (Orders)), below the order description. You can view the monitoring data in the app.blackbox.md panel, on the “Monitoring” page (`app.blackbox.md/monitoring`).\n\n**Available to:** the owner of the blackbox.md account from which the server is ordered. You don't choose add-on services when you place an order on blackbox.md: you request them through support or through the AI assistant.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which add-on services exist\n\n| Service | Label in “Comenzi” (Orders) | How to get it | Price |\n|---|---|---|---|\n| Monitoring: live values and charts for the server on the panel's “Monitoring” page | “Monitoring 24/7” | through support or through the AI assistant, with a new order | 98 MDL/month per server |\n| Additional IPv4 address | “IP dedicat” (Dedicated IP) | on request, through support; the team assigns the address manually | the team tells you |\n| Automatic backup | — | can't be ordered; make your own backups | — |\n| DDoS protection | — | can't be ordered as a service; ask support | — |\n\n## How to get the Monitoring service\n\nThe service installs an agent on the server that sends metrics to the panel's “Monitoring” page. The agent is installed automatically after the server is created. What the agent does and what it needs to work: [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\n> **Important**\n> Services that install an agent on the server work only on Ubuntu and Debian. On CentOS Stream or AlmaLinux, the service is not activated and the label stays “În curs de activare” (Activating). Choose Ubuntu or Debian if you want monitoring.\n\n### Through support\n\n1. On blackbox.md, open “Contul meu” (My account) → “Ajutor și suport” (Help and support) and click “Tichet nou” (New ticket).\n2. In “Subiect” (Subject), write, for example, “Monitoring 24/7”. In “Server (opțional)” (Server (optional)), enter the server's IP address or name if your request is about an existing server.\n3. In “Descrieți problema” (Describe the problem), give the order number (`BBX-…`) or the plan you want to order, and the operating system.\n4. Click “Trimite tichetul” (Send ticket).\n\nThe team replies in the ticket whether and how the service can be attached, and what the total cost will be. Whether it can be added to an existing server is up to the team. More about tickets: [Opening a support ticket](#suport.tichet-nou).\n\n### Through the AI assistant\n\nThe AI assistant can attach the service only to a **new order**. Use the assistant to request Monitoring only: the other services are not activated automatically. You need an API token with the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission (`orders:write`): [Token permissions (scopes)](#ai.permisiuni).\n\n1. Ask the assistant for a quote and tell it explicitly to add `\"extras\": [\"monitoring\"]` to the order configuration. For example:\n\n   ```text\n   Make a quote for a new order: the vm-iops1-m plan, Ubuntu 24.04, with the monitoring add-on service (in create_order, add \"extras\": [\"monitoring\"] to config). Show me the total and wait for my confirmation before you place and pay for the order.\n   ```\n\n2. Check the total. It must be the plan price plus 98 MDL; for Standard M (`vm-iops1-m`): 578 + 98 = 676 MDL/month. If the total equals the plan price, the service was not included. If it is higher, the quote also contains something else. In both cases, don't confirm, and ask the assistant to correct the quote.\n3. Confirm. The order appears in “Comenzi” (Orders) with the status “Nou” (New), and you receive an email with the subject “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…).\n4. Pay for the order through the assistant (from your balance) or on the website, with the “Achită comanda” (Pay for the order) button.\n5. When the server starts being created, the label “Monitoring 24/7: În curs de activare” (Monitoring 24/7: Activating) appears below the order. Once the agent is installed, it changes to “Monitoring 24/7: Activ” (Monitoring 24/7: Active).\n\nSafeguards and steps for orders placed via AI: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n## The additional IPv4 address\n\n1. Write to us through a support ticket or at support@blackbox.md. Include the server's IP address and the order number (`BBX-…`).\n2. The team assigns the address manually and tells you the address and the price.\n3. Configure the address in the server's operating system, following the instructions you receive. The address does not become active on the server by itself.\n\nIf the service appears on your order, the label “IP dedicat: În curs de activare” (Dedicated IP: Activating) stays until the team assigns the address. Once the team confirms the assignment, the label changes to “IP dedicat: Activ” (Dedicated IP: Active).\n\n> **Warning**\n> A mistake in the network configuration can cut off your access to the server, and the panel has no web console. Before you change the network settings, keep a second SSH session open. If you lose access, write to us.\n\n## Automatic backup and DDoS protection\n\nNeither of these services can be ordered from your account or from the panel. Write to us for the options that are available.\n\n- **Backup.** Backups of the data on your server are your responsibility. Keep them on a system other than the server: [Backup strategy for your server](#ghiduri.strategie-backup). The “Backups” button on the server card in “My Servers” opens a section that shows the code `backup_extra_disabled`: the service is not available. Details: [The “My Servers” page: the server card](#servere.serverele-mele).\n- **DDoS.** Ask support what options exist for your server. If your server is under attack right now, read [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n## Service states on the “Comenzi” (Orders) page\n\n1. On blackbox.md, open “Contul meu” (My account) → “Comenzi” (Orders).\n2. Below the order description, each service has a label in the form “service: state”, for example “Monitoring 24/7: Activ” (Monitoring 24/7: Active).\n3. For details, click “Vezi detaliile” (View details) (the eye icon) and read the “Servicii suplimentare” (Add-on services) row in “Detalii comandă” (Order details).\n\n| State | What it means | What to do |\n|---|---|---|\n| “În curs de activare” (Activating) | The service is being installed or is waiting for the team to act. | Wait. If the state does not change, write to us with the `BBX-…` number. |\n| “Activ” (Active) | The service is working. | You don't need to do anything. |\n| “Contactați suportul” (Contact support) | Automatic activation failed after several attempts. | Write to us with the `BBX-…` number. |\n| “Anulat” (Canceled) | The service was stopped, for example because the server was deleted. | You don't need to do anything. If you did not ask for it to be stopped, write to us. |\n\nFor Monitoring, the state also appears on the panel's “Monitoring” page: “Connecting…”, “Active” or “Failed”. All the actions on the “Comenzi” page: [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n## Payment and stopping services\n\n- The service price is part of the order's monthly total. The invoice has no separate line for the service: it shows the order description and the total, for example 676 MDL for Standard M with Monitoring.\n- When the server is deleted, its services are canceled automatically and appear with the state “Anulat” (Canceled). This applies both to deletion from the panel ([Permanently deleting a server](#servere.stergere-server)) and to canceling an order with a server ([Order cancellation and refunds](#plati.anulare-si-rambursare)). If a service has a different state after the deletion, write to us.\n- To drop only a service and keep the server, write to us.\n\n## Frequently asked questions\n\n**Can I add Monitoring to a server I already have?**\nNot from your account or from the panel. Write to us: the team will tell you whether it can be done. The AI assistant can attach the service only to a new order.\n\n**Why has the label stayed at “În curs de activare” (Activating)?**\nFor example, the server isn't running Ubuntu or Debian (in this case the “Monitoring” page shows “Failed”), or the service is waiting for the team to act, such as assigning an IPv4 address. Write to us with the `BBX-…` number.\n\n**I don't see any label below the order, although I requested a service.**\nLabels appear only once the server starts being created. If the server exists and the label is missing, write to us.\n\n**Can I choose add-on services when I place an order on the website?**\nNo. The ordering steps on blackbox.md don't have this option. Use support or the AI assistant, as described above.\n"
   }
  },
  {
   "id": "domenii.inregistrare-transfer",
   "section": "domenii",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/inregistrare-transfer/",
    "ru": "https://docs.blackbox.md/ru/domenii/inregistrare-transfer/",
    "en": "https://docs.blackbox.md/en/domenii/inregistrare-transfer/"
   },
   "title": {
    "ro": "Înregistrarea și transferul domeniilor",
    "ru": "Регистрация и перенос доменов",
    "en": "Registering and transferring domains"
   },
   "summary": {
    "ro": "Cum cereți prin suport înregistrarea sau transferul unui domeniu și ce pregătiți înainte de transfer.",
    "ru": "Как запросить через поддержку регистрацию или перенос домена и что подготовить перед переносом.",
    "en": "How to ask support to register or transfer a domain, and what to prepare before a transfer."
   },
   "markdown": {
    "ro": "Domeniile se înregistrează și se transferă la BLACKBOX la cerere, prin suport. Paginile „Servicii de domenii și certificate” (`blackbox.md/domains`, meniul „Domenii” → „Înregistrare domeniu”) și „Transferați-vă domeniile la BLACKBOX” (`blackbox.md/domains/transfer`, „Domenii” → „Transfer domeniu”) sunt doar informative: pe site nu există căutare de domenii, listă de prețuri sau formular de înregistrare ori de transfer.\n\n**Disponibil pentru:** oricine, pe email sau la telefon; tichetele, doar titularilor unui cont blackbox.md.\n\n> **Notă**\n> Butonul „Inițiază transfer (login)” de pe pagina de transfer deschide doar pagina de autentificare, iar după autentificare ajungeți în „Contul meu”. Formularul de transfer menționat pe pagină nu există nici în cont, nici în panou: trimiteți cererea prin suport, ca mai jos.\n\n## Cum trimiteți cererea\n\n1. Intrați în cont și deschideți „Contul meu” → „Ajutor și suport” → „Tichet nou”. Dacă nu aveți cont, scrieți la support@blackbox.md sau sunați ori scrieți pe WhatsApp la +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n2. În „Subiect” scrieți operațiunea și domeniul, de exemplu „Transfer domeniu: example.com”.\n3. Câmpul „Server (opțional)” îl puteți lăsa gol.\n4. În „Descrieți problema” scrieți datele din tabelul de mai jos și apăsați „Trimite tichetul”.\n5. Echipa vă trimite o ofertă cu prețul, condițiile și modul de plată. Răspunsul apare pe pagina tichetului și vine și pe email.\n\nFormularul pas cu pas: [Deschiderea unui tichet de suport](#suport.tichet-nou). Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n### Ce scrieți în cerere\n\n| Ce indicați | Detalii |\n|---|---|\n| Numele de domeniu | toate domeniile, cu extensie: `example.com`, `example.com` |\n| Operațiunea | înregistrare (domeniu nou) sau transfer (de la alt registrator) |\n| Titularul domeniului | persoană fizică: numele complet; companie: denumirea și IDNO; plus emailul și telefonul de contact |\n| Codul EPP (auth-code) | doar la transfer, câte un cod pentru fiecare domeniu |\n\nÎn funcție de extensie, echipa vă poate cere date suplimentare. Pagina „Servicii de domenii și certificate” enumeră extensiile .md, .com, .net, .org și .eu; pentru altă extensie, întrebați în aceeași cerere. Dacă un domeniu nou este liber, vă confirmă echipa în răspuns.\n\n## Înainte de transfer: lista de verificare\n\nVerificați aceste condiții la registratorul actual înainte de a trimite cererea:\n\n| Condiție | Ce faceți |\n|---|---|\n| Domeniul este deblocat | Scoateți blocarea de transfer (statusul `clientTransferProhibited`) din panoul registratorului actual. |\n| Aveți codul EPP | Cereți codul de autorizare (EPP code / auth-code) registratorului actual. Codul confirmă că dvs. autorizați transferul. |\n| Domeniul are cel puțin 60 de zile | Un domeniu înregistrat de mai puțin de 60 de zile, de regulă, nu se poate transfera (regula ICANN pentru extensiile generice: .com, .net, .org). |\n| Aveți acces la emailul contactului administrativ | Sunteți contactul administrativ al domeniului (sau aveți acordul acestuia) și aveți acces la adresa lui de email. |\n| Domeniul nu este expirat | Un domeniu expirat se reînnoiește mai întâi la registratorul actual (uneori cu o taxă de restabilire, „redemption”) și abia apoi se transferă. |\n\nTratați codul EPP ca pe o parolă: trimiteți-l doar în tichet sau la support@blackbox.md.\n\n> **Sfat**\n> Dacă zona DNS a domeniului (înregistrările A, MX etc.) este găzduită chiar la registratorul actual, notați-vă toate înregistrările înainte de transfer și spuneți-ne în cerere unde este găzduit DNS-ul. Dacă serverele DNS (NS) rămân aceleași, site-ul și emailul funcționează în timpul transferului.\n\n## Cum decurge transferul\n\n1. Trimiteți cererea cu codul EPP, după ce ați verificat toate condițiile de mai sus.\n2. Echipa inițiază transferul.\n3. Dacă primiți un email de confirmare a transferului (de la BLACKBOX sau de la registru), confirmați-l.\n4. Așteptați finalizarea: echipa vă anunță când domeniul a trecut la BLACKBOX.\n\nDuratele orientative indicate pe pagina de transfer:\n\n| Extensie | Durată orientativă |\n|---|---|\n| .com, .net, .org | 5–7 zile lucrătoare |\n| .md | 1–3 zile |\n\nDuratele nu sunt garantate și depind de registratorul actual și de registru.\n\n## Prețul și condițiile\n\nPe site și în cont nu există o listă de prețuri pentru domenii. Prețul, perioada de înregistrare și modul de plată pentru domeniile dvs. le primiți în oferta echipei.\n\n> **Important**\n> Conform punctului 7.4 din Termeni și condiții, înregistrările și reînnoirile de domenii deja efectuate la registru nu se rambursează. Verificați numele domeniului și datele titularului înainte de a accepta oferta. Detalii: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Drepturile dvs. asupra domeniului\n\nSecțiunea 4 „Drepturile deținătorilor de domenii” din [Termeni și condiții](https://blackbox.md/info/terms) prevede că:\n\n- BLACKBOX respectă drepturile deținătorilor de domenii stabilite de ICANN (Registrants' Rights and Responsibilities);\n- domeniul rămâne proprietatea dvs. pe toată durata înregistrării;\n- la cererea dvs., BLACKBOX eliberează codul EPP (auth-code) pentru transferul la alt registrator, în termenele stabilite de registru.\n\nPe scurt despre toți termenii: [Termenii și condițiile pe scurt](#legal.termeni-esentiali).\n\n## După activare: îndreptați domeniul către server\n\nCând domeniul este activ, îndreptați-l către serverul dvs. cu o înregistrare DNS de tip A: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu). Dacă zona DNS este în Cloudflare sau GoDaddy, o puteți gestiona și din panoul app.blackbox.md: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare). Pentru HTTPS: [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl).\n\n## Întrebări frecvente\n\n**Pot verifica pe site dacă un domeniu este liber?**\nNu, pe site nu există căutare de domenii. Scrieți numele dorite în cerere, eventual cu câteva variante de rezervă.\n\n**Domeniul meu este la alt registrator. Trebuie să-l transfer ca să-l folosesc cu serverul BLACKBOX?**\nNu. Este suficient să-l îndreptați către IP-ul serverului din DNS: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu). Transferul schimbă doar registratorul.\n\n**Unde văd domeniile mele și data expirării?**\nÎn „Contul meu” și în panou nu există o listă a domeniilor înregistrate prin BLACKBOX. Statusul și data expirării le aflați de la suport.\n\n**Cum mut un domeniu de la BLACKBOX la alt registrator?**\nCereți codul EPP prin tichet sau la support@blackbox.md. Îl primiți în termenele stabilite de registru.\n",
    "ru": "Регистрация и перенос доменов в BLACKBOX выполняются по запросу через поддержку. Страницы «Услуги по доменам и сертификатам» (`blackbox.md/ru/domains`, меню «Домены» → «Регистрация домена») и «Перенесите ваши домены в BLACKBOX» (`blackbox.md/ru/domains/transfer`, «Домены» → «Перенос домена») носят справочный характер: поиска доменов, прайс-листа и формы регистрации или переноса на сайте нет.\n\n**Доступно:** всем — по email или телефону; тикеты — только владельцам аккаунта blackbox.md.\n\n> **Примечание**\n> Кнопка «Начать перенос (вход)» на странице переноса только открывает страницу входа, а после входа вы попадаете в личный кабинет. Формы переноса, о которой говорится на странице, нет ни в личном кабинете, ни в панели: отправьте запрос в поддержку, как описано ниже.\n\n## Как отправить запрос\n\n1. Войдите в аккаунт и откройте «Личный кабинет» → «Помощь и поддержка» → «Новый тикет». Если аккаунта нет, напишите на support@blackbox.md или позвоните либо напишите в WhatsApp на номер +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы.\n2. В поле «Тема» укажите операцию и домен, например «Перенос домена: example.com».\n3. Поле «Сервер (необязательно)» можно оставить пустым.\n4. В поле «Опишите проблему» перечислите данные из таблицы ниже и нажмите «Отправить тикет».\n5. Команда пришлёт предложение с ценой, условиями и способом оплаты. Ответ появится на странице тикета и придёт на email.\n\nФорма по шагам: [Создание тикета в поддержку](#suport.tichet-nou). Все каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n### Что указать в запросе\n\n| Что указать | Подробности |\n|---|---|\n| Доменные имена | все домены вместе с расширением: `example.com`, `example.com` |\n| Операция | регистрация (новый домен) или перенос (от другого регистратора) |\n| Владелец домена | физлицо: полное имя; компания: название и IDNO; плюс контактные email и телефон |\n| Код EPP (auth-код) | только для переноса, отдельный код для каждого домена |\n\nВ зависимости от расширения команда может запросить дополнительные данные. На странице «Услуги по доменам и сертификатам» перечислены расширения .md, .com, .net, .org и .eu; если нужно другое, спросите в том же запросе. Свободен ли новый домен, команда сообщит в ответе.\n\n## Перед переносом: чек-лист\n\nПеред отправкой запроса проверьте у текущего регистратора следующие условия:\n\n| Условие | Что сделать |\n|---|---|\n| Домен разблокирован | Снимите блокировку переноса (статус `clientTransferProhibited`) в панели текущего регистратора. |\n| Есть код EPP | Запросите код авторизации (EPP-код / auth-код) у текущего регистратора. Этот код подтверждает, что перенос разрешаете именно вы. |\n| Домену не меньше 60 дней | Домен, зарегистрированный менее 60 дней назад, как правило, перенести нельзя (правило ICANN для общих доменных зон: .com, .net, .org). |\n| У вас есть доступ к email административного контакта | Вы — административный контакт домена (или у вас есть его согласие), и у вас есть доступ к его адресу email. |\n| Срок регистрации не истёк | Истёкший домен сначала продлевают у текущего регистратора (иногда с платой за восстановление, redemption), и только потом переносят. |\n\nОтноситесь к коду EPP как к паролю: передавайте его только в тикете или на support@blackbox.md.\n\n> **Совет**\n> Если DNS-зона домена (записи A, MX и т. д.) размещена у текущего регистратора, сохраните все записи до переноса и укажите в запросе, где размещён DNS. Если DNS-серверы (NS) не меняются, сайт и почта продолжают работать во время переноса.\n\n## Как проходит перенос\n\n1. Отправьте запрос с кодом EPP, когда все пункты чек-листа выполнены.\n2. Команда инициирует перенос.\n3. Если вам придёт письмо с просьбой подтвердить перенос (от BLACKBOX или от реестра), подтвердите его.\n4. Дождитесь завершения: команда сообщит, когда домен перейдёт в BLACKBOX.\n\nОриентировочные сроки, указанные на странице переноса:\n\n| Расширение | Ориентировочный срок |\n|---|---|\n| .com, .net, .org | 5–7 рабочих дней |\n| .md | 1–3 дня |\n\nСроки не гарантированы и зависят от текущего регистратора и реестра.\n\n## Цена и условия\n\nПрайс-листа на домены нет ни на сайте, ни в личном кабинете. Цену, срок регистрации и способ оплаты для ваших доменов вы получите в предложении команды.\n\n> **Важно**\n> Согласно пункту 7.4 Условий использования, деньги за регистрации и продления доменов, уже выполненные в реестре, не возвращаются. Проверьте имя домена и данные владельца, прежде чем принять предложение. Подробнее: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Ваши права на домен\n\nВ разделе 4 «Права владельцев доменов» на странице [Условия использования](https://blackbox.md/ru/info/terms) сказано:\n\n- BLACKBOX соблюдает права владельцев доменов, установленные ICANN (Registrants' Rights and Responsibilities);\n- домен остаётся вашей собственностью на протяжении всего срока регистрации;\n- по вашему запросу BLACKBOX предоставит код EPP (auth-код) для переноса к другому регистратору в сроки, установленные реестром.\n\nКратко обо всех условиях: [Условия использования: кратко](#legal.termeni-esentiali).\n\n## После активации: направьте домен на сервер\n\nКогда домен активен, направьте его на ваш сервер DNS-записью типа A: [Как направить домен на сервер](#domenii.indreptare-domeniu). Если DNS-зона находится в Cloudflare или GoDaddy, ею можно управлять и из панели app.blackbox.md: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare). Для HTTPS: [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl).\n\n## Частые вопросы\n\n**Можно ли проверить на сайте, свободен ли домен?**\nНет, поиска доменов на сайте нет. Укажите нужные имена в запросе — можно сразу с несколькими запасными вариантами.\n\n**Мой домен у другого регистратора. Нужно ли переносить его, чтобы использовать с сервером BLACKBOX?**\nНет. Достаточно направить его на IP сервера в DNS: [Как направить домен на сервер](#domenii.indreptare-domeniu). Перенос меняет только регистратора.\n\n**Где посмотреть мои домены и дату окончания регистрации?**\nСписка доменов, зарегистрированных через BLACKBOX, нет ни в личном кабинете, ни в панели. Статус и дату окончания регистрации уточните в поддержке.\n\n**Как перенести домен из BLACKBOX к другому регистратору?**\nЗапросите код EPP в тикете или на support@blackbox.md. Вы получите его в сроки, установленные реестром.\n",
    "en": "BLACKBOX registers and transfers domains on request, through support. The “Servicii de domenii și certificate” (Domain and certificate services) page (`blackbox.md/domains`, menu “Domenii” (Domains) → “Înregistrare domeniu” (Domain registration)) and the “Transferați-vă domeniile la BLACKBOX” (Transfer your domains to BLACKBOX) page (`blackbox.md/domains/transfer`, “Domenii” → “Transfer domeniu” (Domain transfer)) are for information only: the website has no domain search, no price list and no registration or transfer form.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** anyone, by email or phone; support tickets only for blackbox.md account holders.\n\n> **Note**\n> The “Inițiază transfer (login)” (Start transfer (log in)) button on the transfer page only opens the sign-in page, and after you sign in you land in “Contul meu” (My account). The transfer form that the page mentions is not available in your account or in the panel: send your request through support, as described below.\n\n## How to send your request\n\n1. Sign in and open “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket). If you don't have an account, write to support@blackbox.md, or call or message us on WhatsApp at +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n2. In “Subiect” (Subject), write the operation and the domain, for example “Domain transfer: example.com”.\n3. You can leave the “Server (opțional)” (Server (optional)) field empty.\n4. In “Descrieți problema” (Describe the problem), enter the details from the table below, then click “Trimite tichetul” (Send ticket).\n5. The team sends you a quote with the price, the terms and the payment method. The reply appears on the ticket page and is also sent to you by email.\n\nThe form step by step: [Opening a support ticket](#suport.tichet-nou). All channels: [How to contact BLACKBOX support](#suport.contact).\n\n### What to include in your request\n\n| What to include | Details |\n|---|---|\n| The domain names | every domain, with its extension: `example.com`, `example.com` |\n| The operation | registration (a new domain) or transfer (from another registrar) |\n| The domain holder | individual: full name; company: company name and IDNO; plus a contact email and phone number |\n| The EPP code (auth code) | for a transfer only, one code for each domain |\n\nDepending on the extension, the team may ask you for more details. The “Servicii de domenii și certificate” (Domain and certificate services) page lists the .md, .com, .net, .org and .eu extensions; for any other extension, ask in the same request. The team confirms in its reply whether a new domain is available.\n\n## Before a transfer: checklist\n\nCheck these conditions with your current registrar before you send your request:\n\n| Condition | What to do |\n|---|---|\n| The domain is unlocked | Remove the transfer lock (the `clientTransferProhibited` status) in your current registrar's control panel. |\n| You have the EPP code | Ask your current registrar for the authorization code (EPP code / auth code). The code confirms that you authorize the transfer. |\n| The domain is at least 60 days old | A domain registered less than 60 days ago usually can't be transferred (the ICANN rule for generic extensions: .com, .net, .org). |\n| You can access the administrative contact's email | You are the domain's administrative contact (or you have their consent), and you can access that contact's email address. |\n| The domain has not expired | An expired domain must first be renewed with your current registrar (sometimes with a restoration fee, “redemption”), and only then transferred. |\n\nTreat the EPP code like a password: send it only in your support ticket or to support@blackbox.md.\n\n> **Tip**\n> If the domain's DNS zone (the A, MX and other records) is hosted with your current registrar, write down all the records before the transfer, and tell us in your request where your DNS is hosted. If the DNS servers (NS) stay the same, your website and email keep working during the transfer.\n\n## How the transfer works\n\n1. Send your request with the EPP code, once you have checked all the conditions above.\n2. The team starts the transfer.\n3. If you receive an email asking you to confirm the transfer (from BLACKBOX or from the registry), confirm it.\n4. Wait for the transfer to complete: the team lets you know when the domain has moved to BLACKBOX.\n\nIndicative durations given on the transfer page:\n\n| Extension | Indicative duration |\n|---|---|\n| .com, .net, .org | 5–7 business days |\n| .md | 1–3 days |\n\nThese durations are not guaranteed and depend on your current registrar and on the registry.\n\n## Price and terms\n\nThere is no domain price list on the website or in your account. You receive the price, the registration period and the payment method for your domains in the team's quote.\n\n> **Important**\n> Under clause 7.4 of the Terms and Conditions, domain registrations and renewals already completed at the registry are not refunded. Check the domain name and the holder's details before you accept the quote. Details: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Your rights over the domain\n\nSection 4, “Drepturile deținătorilor de domenii” (Rights of domain holders), of the [Terms and Conditions](https://blackbox.md/info/terms) states that:\n\n- BLACKBOX respects the domain holders' rights set by ICANN (Registrants' Rights and Responsibilities);\n- the domain remains your property for the whole registration period;\n- at your request, BLACKBOX provides the EPP code (auth code) for a transfer to another registrar, within the time limits set by the registry.\n\nA short overview of all the terms: [Terms and conditions in brief](#legal.termeni-esentiali).\n\n## After activation: point the domain to your server\n\nOnce the domain is active, point it to your server with a DNS record of type A: [How to point your domain to the server](#domenii.indreptare-domeniu). If the DNS zone is in Cloudflare or GoDaddy, you can also manage it from the app.blackbox.md panel: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare). For HTTPS: [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl).\n\n## Frequently asked questions\n\n**Can I check on the website whether a domain is available?**\nNo, the website has no domain search. Write the names you want in your request, and add a few backup options if you like.\n\n**My domain is with another registrar. Do I have to transfer it to use it with my BLACKBOX server?**\nNo. It is enough to point it to your server's IP address in DNS: [How to point your domain to the server](#domenii.indreptare-domeniu). A transfer only changes the registrar.\n\n**Where can I see my domains and their expiry dates?**\nNeither “Contul meu” (My account) nor the panel has a list of the domains registered through BLACKBOX. Ask support for their status and expiry date.\n\n**How do I move a domain from BLACKBOX to another registrar?**\nAsk for the EPP code in a support ticket or at support@blackbox.md. You receive it within the time limits set by the registry.\n"
   }
  },
  {
   "id": "domenii.indreptare-domeniu",
   "section": "domenii",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/indreptare-domeniu/",
    "ru": "https://docs.blackbox.md/ru/domenii/indreptare-domeniu/",
    "en": "https://docs.blackbox.md/en/domenii/indreptare-domeniu/"
   },
   "title": {
    "ro": "Cum îndreptați domeniul către server",
    "ru": "Как направить домен на сервер",
    "en": "How to point your domain to the server"
   },
   "summary": {
    "ro": "Ce înregistrări DNS creați (A, CNAME), unde le modificați, cât durează propagarea și cum verificați.",
    "ru": "Какие DNS-записи создать (A, CNAME), где их изменить, сколько длится распространение и как проверить.",
    "en": "Which DNS records to create (A, CNAME), where to change them, how long propagation takes and how to check."
   },
   "markdown": {
    "ro": "Ca site-ul să se deschidă la adresa domeniului dvs., înregistrările DNS ale domeniului trebuie să indice adresa IP a serverului. Adresa o copiați din panoul app.blackbox.md, pagina „Serverele mele” (`app.blackbox.md/my-servers`), iar înregistrările le creați la furnizorul care administrează DNS-ul domeniului. Dacă acesta este Cloudflare sau GoDaddy, le puteți crea chiar din pagina „DNS” a panoului (`app.blackbox.md/dns`, bara laterală → „Infrastructură” → „DNS”).\n\n**Disponibil pentru:** orice client cu un domeniu propriu și un server BLACKBOX. Pagina „DNS” a panoului este disponibilă titularului contului blackbox.md și funcționează doar pentru domeniile cu DNS-ul la Cloudflare sau GoDaddy.\n\n## Ce înregistrări creați\n\n| Tip | Nume | Valoare | Când |\n|---|---|---|---|\n| A | `@` (domeniul fără prefix, `DOMENIU`) | `IP_SERVER` | Întotdeauna. |\n| A | `www` | `IP_SERVER` | Pentru `www.DOMENIU`, varianta 1. |\n| CNAME | `www` | `DOMENIU` | Pentru `www.DOMENIU`, varianta 2, în locul înregistrării A. |\n| AAAA | `@`, `www` | Adresa IPv6 a serverului | Doar dacă ați configurat singuri IPv6 pe server. |\n\n`www.DOMENIU` este un nume separat de `DOMENIU`: fără o înregistrare pentru `www`, adresa cu `www` nu se deschide. Pentru `www` alegeți una dintre cele două variante, nu pe amândouă: un nume care are o înregistrare CNAME nu poate avea și alte înregistrări. Pentru domeniul fără prefix folosiți A, nu CNAME: majoritatea furnizorilor DNS nu permit CNAME pe rădăcina domeniului.\n\n> **Important**\n> Câmpul „IP” din panou conține adresa IPv4 a serverului; panoul nu afișează o adresă IPv6. Creați înregistrări AAAA doar dacă ați configurat IPv6 pe server și ați verificat că funcționează. O înregistrare AAAA greșită sau rămasă de la vechea găzduire trimite vizitatorii cu IPv6 la altă adresă și poate bloca obținerea certificatului Let's Encrypt.\n\n## Pasul 1. Copiați adresa IP a serverului\n\n1. Intrați în panoul app.blackbox.md din contul blackbox.md. Vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n2. În bara laterală, la „Infrastructură”, apăsați „Serverele mele”.\n3. Pe cardul serverului, găsiți câmpul „IP”.\n4. Apăsați butonul de copiere de lângă adresă (indicația „Copiază adresa IP a acestui server”). Pe buton apare „Copiat”, iar adresa este în clipboard.\n\nAceeași adresă apare în emailul „Serverul dvs. este gata — BBX-…”, la „Adresă IP”. Detalii despre card: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n## Pasul 2. Aflați cine administrează DNS-ul domeniului\n\nÎnregistrările se modifică acolo unde indică serverele de nume (NS) ale domeniului. Furnizorul DNS poate fi altul decât cel la care ați înregistrat domeniul: de exemplu, un domeniu cumpărat de la un registrator local poate avea DNS-ul la Cloudflare. Aflați serverele NS cu una dintre comenzi.\n\nLinux sau macOS:\n\n```bash\ndig +short NS DOMENIU\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS DOMENIU\n```\n\n| Serverele NS se termină în | Unde creați înregistrările |\n|---|---|\n| `ns.cloudflare.com` | Cloudflare: în pagina „DNS” a panoului sau în contul Cloudflare. |\n| `domaincontrol.com` | GoDaddy: în pagina „DNS” a panoului sau în contul GoDaddy. |\n| Altă adresă | În panoul registratorului sau al furnizorului DNS indicat de NS. |\n\nDacă domeniul a fost înregistrat prin BLACKBOX (la cerere, prin suport) și nu știți unde se administrează DNS-ul lui, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n> **Atenție**\n> Nu schimbați serverele NS doar ca să îndreptați site-ul. La noul furnizor DNS funcționează numai înregistrările create acolo: copiați întâi toate înregistrările existente (mai ales MX și TXT pentru email), altfel emailul și celelalte servicii ale domeniului se opresc.\n\n## Pasul 3. Creați înregistrările\n\n### Din pagina „DNS” a panoului (Cloudflare sau GoDaddy)\n\nConectați întâi contul Cloudflare sau GoDaddy: [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare). Apoi:\n\n1. În bara laterală, la „Infrastructură”, apăsați „DNS”.\n2. Dacă aveți mai multe conexiuni, apăsați pe rândul celei dorite. La „Zonă”, alegeți domeniul; prima zonă se selectează automat.\n3. În tabelul „Înregistrări”, verificați ce există deja pentru `DOMENIU` și `www.DOMENIU` (numele apar complete):\n   - o înregistrare A spre vechea găzduire: apăsați creionul („Editează”), înlocuiți valoarea cu `IP_SERVER` și apăsați „Salvează”; pentru acest nume nu mai adăugați alta;\n   - o înregistrare AAAA rămasă de la vechea găzduire: ștergeți-o cu coșul („Șterge”) și confirmați în fereastra browserului.\n\n   Nu adăugați o a doua înregistrare A pentru același nume: vizitatorii ar ajunge când pe un server, când pe celălalt.\n4. Pentru un nume care nu are încă o înregistrare A, apăsați „Adaugă înregistrare”. În tabel apare un rând de editare.\n5. Lăsați tipul „A” (este selectat implicit).\n6. În câmpul cu textul „de ex. www sau @”, scrieți `@`.\n7. În câmpul următor, cu textul „Valoarea înregistrării”, lipiți `IP_SERVER`.\n8. Alegeți TTL-ul: la Cloudflare, „Automat” sau o valoare în secunde; la GoDaddy, 600, 1800, 3600 sau 86400.\n9. La Cloudflare, lăsați nebifată caseta „Proxy” până când site-ul funcționează cu HTTPS direct pe server (vedeți mai jos).\n10. Apăsați „Salvează”. Înregistrarea apare în tabel.\n11. Repetați pașii 4–10 cu numele `www`: tipul „A” cu valoarea `IP_SERVER` sau tipul „CNAME” cu valoarea `DOMENIU`. Dacă `www` are deja un CNAME către `DOMENIU`, nu trebuie să schimbați nimic.\n\nDacă apare „Nu s-a putut salva înregistrarea.”, verificați numele și valoarea: numele nu poate rămâne gol, iar o înregistrare A acceptă doar o adresă IPv4 validă. Regulile pentru fiecare tip și toate mesajele: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari).\n\nLa GoDaddy, când editați o înregistrare, tipul și numele sunt blocate. Ca să transformați un CNAME `www` în A, ștergeți înregistrarea și creați alta.\n\n### La alt furnizor DNS\n\nÎn panoul registratorului sau al furnizorului DNS, deschideți editorul zonei DNS (numele diferă de la un furnizor la altul) și creați aceleași înregistrări din tabelul de mai sus. Pentru rădăcina domeniului, majoritatea furnizorilor folosesc `@` sau un câmp gol; unii cer numele complet, `DOMENIU`.\n\n## TTL și propagarea\n\nTTL (time to live) este numărul de secunde cât serverele DNS din lume păstrează un răspuns în cache înainte să-l ceară din nou. O valoare obișnuită este 3600 (o oră).\n\n| Ce schimbați | Când vede toată lumea noua valoare |\n|---|---|\n| O înregistrare nouă, pentru un nume care nu exista | De regulă în câteva minute. Dacă ați deschis adresa înainte să creați înregistrarea, răspunsul că numele nu există poate rămâne în cache, de obicei până la o oră. |\n| O înregistrare existentă (A, AAAA, CNAME) | După ce expiră TTL-ul vechi: cu 3600, de regulă în cel mult o oră. |\n| Serverele NS ale domeniului | Până la 24–48 de ore. |\n\n> **Sfat**\n> Dacă mutați un site existent, coborâți TTL-ul înregistrărilor A și CNAME la 300 cu o zi sau două înainte de mutare. Atunci schimbarea adresei IP ajunge la vizitatori în aproximativ 5 minute. După mutare, puteți readuce TTL-ul la 3600. În panou, la GoDaddy, valoarea minimă este 600. Planul complet: [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site).\n\n## Cum verificați\n\nPe Linux sau macOS (`dig` este inclus în macOS; pe Linux face parte din pachetul `dnsutils` sau `bind-utils`):\n\n```bash\ndig +short DOMENIU A\ndig +short www.DOMENIU\n```\n\nAmbele comenzi trebuie să afișeze `IP_SERVER` (cu proxy-ul Cloudflare oprit). Dacă `www` este CNAME, a doua comandă afișează întâi `DOMENIU.`, apoi `IP_SERVER`.\n\nCa să ocoliți cache-ul furnizorului de internet, întrebați un resolver public sau direct un server NS al domeniului (unul dintre numele aflate la pasul 2):\n\n```bash\ndig +short DOMENIU A @1.1.1.1\ndig +short DOMENIU A @SERVER_NS\n```\n\nDacă serverul NS răspunde deja cu `IP_SERVER`, înregistrarea este salvată corect: trebuie doar să așteptați expirarea TTL-ului vechi.\n\nPe Windows (PowerShell sau linia de comandă):\n\n```powershell\nnslookup DOMENIU\nnslookup www.DOMENIU 1.1.1.1\nipconfig /flushdns\n```\n\nUltima comandă golește cache-ul DNS al calculatorului. Pe macOS, cache-ul se golește așa:\n\n```bash\nsudo dscacheutil -flushcache\nsudo killall -HUP mDNSResponder\n```\n\nPuteți folosi și un verificator DNS online (căutați „DNS propagation checker”): el arată ce răspuns primesc resolverele din mai multe țări.\n\n## Proxy-ul Cloudflare („norul portocaliu”)\n\nLa Cloudflare, o înregistrare A, AAAA sau CNAME poate fi „Proxied” (norul portocaliu) sau „DNS only” (norul gri). În pagina „DNS” a panoului, aceasta este caseta „Proxy” din rândul de editare; în tabel, coloana „Proxy” arată „Proxy” sau „—”.\n\nCând proxy-ul este activ:\n\n- vizitatorii și comanda `dig` văd adresele Cloudflare, nu `IP_SERVER`; este normal;\n- prin Cloudflare trece doar traficul web (HTTP și HTTPS); pentru SSH folosiți adresa IP a serverului, nu domeniul;\n- după ce serverul are un certificat valid pentru domeniu, alegeți în contul Cloudflare, la „SSL/TLS”, modul de criptare „Full (strict)”. Modul „Flexible” provoacă bucle de redirecționare dacă serverul trimite HTTP spre HTTPS. Pagina „DNS” a panoului nu schimbă modul SSL; îl setați în contul Cloudflare. Detalii: [documentația Cloudflare despre modurile SSL](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/).\n\nOrdinea recomandată: lăsați proxy-ul oprit până când site-ul funcționează cu HTTPS direct pe server, apoi activați-l.\n\n## Pasul următor\n\nCând `dig` arată `IP_SERVER`, configurați serverul web și certificatul HTTPS: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt). Dacă domeniul indică serverul, dar site-ul nu se deschide, parcurgeți lista din [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide).\n\n## Întrebări frecvente\n\n**Pot pune în DNS adresa afișată de instrumentul de IP de pe blackbox.md?**\nNu. [Instrumentul „Adresa ta IP”](#domenii.adresa-ip) arată adresa dispozitivului de pe care navigați. În DNS puneți adresa din câmpul „IP” al cardului serverului.\n\n**Am schimbat înregistrarea, dar se deschide tot site-ul vechi.**\nResolverul dvs. păstrează valoarea veche până expiră TTL-ul vechi. Întrebați direct serverul NS al domeniului (comanda din „Cum verificați”): dacă el răspunde cu `IP_SERVER`, așteptați, goliți cache-ul DNS și deschideți site-ul într-o fereastră privată a browserului.\n\n**Trebuie să modific înregistrările MX?**\nNu, dacă emailul rămâne la furnizorul actual. Pentru site modificați doar înregistrările A, AAAA și CNAME ale `DOMENIU` și `www`; înregistrările MX și TXT rămân neschimbate.\n\n**Cum îndrept un subdomeniu, de exemplu `app.DOMENIU`?**\nCreați o înregistrare A cu numele `app` și valoarea `IP_SERVER`. Pe același server pot funcționa mai multe domenii și subdomenii; fiecare are nevoie de propria configurație în serverul web.\n\n**Nu mă pot conecta prin SSH folosind domeniul.**\nDacă proxy-ul Cloudflare este activ, conectați-vă la `IP_SERVER`. Vedeți [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n",
    "ru": "Чтобы сайт открывался по адресу вашего домена, DNS-записи домена должны указывать на IP-адрес сервера. Адрес можно скопировать в панели app.blackbox.md, на странице «Мои серверы» (`app.blackbox.md/my-servers`), а записи нужно создать у провайдера, который обслуживает DNS домена. Если это Cloudflare или GoDaddy, записи можно создать прямо на странице «DNS» панели (`app.blackbox.md/dns`, боковое меню → «Инфраструктура» → «DNS»).\n\n**Доступно:** любому клиенту, у которого есть свой домен и сервер BLACKBOX. Страница «DNS» панели доступна владельцу аккаунта blackbox.md и работает только с доменами, DNS которых обслуживает Cloudflare или GoDaddy.\n\n## Какие записи создать\n\n| Тип | Имя | Значение | Когда |\n|---|---|---|---|\n| A | `@` (домен без префикса, `ДОМЕН`) | `IP_СЕРВЕРА` | Всегда. |\n| A | `www` | `IP_СЕРВЕРА` | Для `www.ДОМЕН`, вариант 1. |\n| CNAME | `www` | `ДОМЕН` | Для `www.ДОМЕН`, вариант 2 — вместо записи A. |\n| AAAA | `@`, `www` | IPv6-адрес сервера | Только если вы сами настроили IPv6 на сервере. |\n\n`www.ДОМЕН` — отдельное имя, а не то же самое, что `ДОМЕН`: без записи для `www` адрес с `www` не откроется. Для `www` выберите один из двух вариантов, а не оба сразу: у имени с записью CNAME не может быть других записей. Для домена без префикса используйте A, а не CNAME: большинство DNS-провайдеров не разрешают CNAME в корне домена.\n\n> **Важно**\n> В поле «IP» панели указан IPv4-адрес сервера; IPv6-адрес панель не показывает. Создавайте записи AAAA, только если вы настроили IPv6 на сервере и убедились, что он работает. Ошибочная запись AAAA или запись, оставшаяся от прежнего хостинга, отправит посетителей с IPv6 на чужой адрес и может помешать выпуску сертификата Let's Encrypt.\n\n## Шаг 1. Скопируйте IP-адрес сервера\n\n1. Войдите в панель app.blackbox.md из аккаунта blackbox.md. См. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n2. В боковом меню, в разделе «Инфраструктура», нажмите «Мои серверы».\n3. В карточке сервера найдите поле «IP».\n4. Нажмите кнопку копирования рядом с адресом (подсказка «Скопировать IP-адрес этого сервера»). На кнопке появится «Скопировано» — адрес уже в буфере обмена.\n\nТот же адрес приходит в письме «Serverul dvs. este gata — BBX-…» (тема письма всегда на румынском) в строке «IP-адрес». Подробнее о карточке: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n## Шаг 2. Узнайте, кто обслуживает DNS домена\n\nЗаписи меняют там, куда указывают NS-серверы домена. Это не обязательно тот провайдер, у которого зарегистрирован домен: например, домен, купленный у местного регистратора, может обслуживаться в Cloudflare. Узнать NS-серверы можно одной из команд.\n\nLinux или macOS:\n\n```bash\ndig +short NS ДОМЕН\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS ДОМЕН\n```\n\n| NS-серверы заканчиваются на | Где создавать записи |\n|---|---|\n| `ns.cloudflare.com` | Cloudflare: на странице «DNS» панели или в аккаунте Cloudflare. |\n| `domaincontrol.com` | GoDaddy: на странице «DNS» панели или в аккаунте GoDaddy. |\n| Что-то другое | В панели регистратора или DNS-провайдера, на которого указывают NS. |\n\nЕсли домен зарегистрирован через BLACKBOX (по запросу через поддержку) и вы не знаете, где управляется его DNS, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n> **Внимание**\n> Не меняйте NS-серверы только ради того, чтобы направить сайт. У нового DNS-провайдера работают лишь те записи, которые созданы у него: сначала перенесите все существующие записи (прежде всего MX и TXT для почты), иначе почта и другие сервисы домена перестанут работать.\n\n## Шаг 3. Создайте записи\n\n### На странице «DNS» панели (Cloudflare или GoDaddy)\n\nСначала подключите аккаунт Cloudflare или GoDaddy: [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare). Затем:\n\n1. В боковом меню, в разделе «Инфраструктура», нажмите «DNS».\n2. Если подключений несколько, нажмите на строку нужного подключения. В блоке «Зона» выберите домен; первая зона выбирается автоматически.\n3. В таблице «Записи» посмотрите, что уже есть для `ДОМЕН` и `www.ДОМЕН` (имена показаны полностью):\n   - запись A, которая указывает на прежний хостинг: нажмите карандаш («Изменить»), замените значение на `IP_СЕРВЕРА` и нажмите «Сохранить»; новую запись для этого имени не добавляйте;\n   - запись AAAA, оставшаяся от прежнего хостинга: удалите её значком корзины («Удалить») и подтвердите удаление в окне браузера.\n\n   Не добавляйте вторую запись A для того же имени: посетители будут попадать то на один сервер, то на другой.\n4. Для имени, у которого ещё нет записи A, нажмите «Добавить запись». В таблице появится строка редактирования.\n5. Оставьте тип «A» — он выбран по умолчанию.\n6. В поле с подсказкой «например, www или @» введите `@`.\n7. В следующем поле, с подсказкой «Значение записи», вставьте `IP_СЕРВЕРА`.\n8. Выберите TTL: в Cloudflare — «Авто» или значение в секундах; в GoDaddy — 600, 1800, 3600 или 86400.\n9. В Cloudflare не отмечайте флажок «Прокси», пока сайт не заработает по HTTPS напрямую на сервере (см. ниже).\n10. Нажмите «Сохранить». Запись появится в таблице.\n11. Повторите шаги 4–10 с именем `www`: тип «A» со значением `IP_СЕРВЕРА` или тип «CNAME» со значением `ДОМЕН`. Если у `www` уже есть CNAME на `ДОМЕН`, ничего менять не нужно.\n\nЕсли появилось сообщение «Не удалось сохранить запись.», проверьте имя и значение: имя не может быть пустым, а запись A принимает только корректный IPv4-адрес. Правила для каждого типа и все сообщения — в статье [Управление DNS-записями из панели](#servicii.dns-inregistrari).\n\nВ GoDaddy при изменении записи тип и имя заблокированы. Чтобы заменить CNAME `www` на A, удалите запись и создайте новую.\n\n### У другого DNS-провайдера\n\nВ панели регистратора или DNS-провайдера откройте редактор DNS-зоны (у каждого провайдера он называется по-своему) и создайте те же записи, что в таблице выше. Корень домена у большинства провайдеров обозначается `@` или пустым полем; некоторые требуют полное имя — `ДОМЕН`.\n\n## TTL и распространение\n\nTTL (time to live) — сколько секунд DNS-серверы по всему миру хранят ответ в кэше, прежде чем запросить его снова. Обычное значение — 3600 (один час).\n\n| Что меняется | Когда новое значение увидят все |\n|---|---|\n| Новая запись для имени, которого раньше не было | Обычно в течение нескольких минут. Если вы открывали адрес до создания записи, ответ, что такого имени нет, может храниться в кэше — как правило, до часа. |\n| Существующая запись (A, AAAA, CNAME) | После истечения старого TTL: при 3600 — как правило, не позже чем через час. |\n| NS-серверы домена | До 24–48 часов. |\n\n> **Совет**\n> Если вы переносите работающий сайт, за день-два до переезда снизьте TTL записей A и CNAME до 300. Тогда смена IP-адреса дойдёт до посетителей примерно за 5 минут. После переезда TTL можно вернуть к 3600. В панели для GoDaddy минимальное значение — 600. Полный план: [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site).\n\n## Как проверить\n\nВ Linux или macOS (`dig` есть в macOS; в Linux он входит в пакет `dnsutils` или `bind-utils`):\n\n```bash\ndig +short ДОМЕН A\ndig +short www.ДОМЕН\n```\n\nОбе команды должны вывести `IP_СЕРВЕРА` (если прокси Cloudflare выключен). Если `www` — это CNAME, вторая команда выведет сначала `ДОМЕН.`, а затем `IP_СЕРВЕРА`.\n\nЧтобы обойти кэш интернет-провайдера, спросите публичный резолвер или сразу один из NS-серверов домена (имена вы узнали на шаге 2):\n\n```bash\ndig +short ДОМЕН A @1.1.1.1\ndig +short ДОМЕН A @NS_СЕРВЕР\n```\n\nЕсли NS-сервер уже отвечает `IP_СЕРВЕРА`, запись сохранена правильно: осталось дождаться, пока истечёт старый TTL.\n\nВ Windows (PowerShell или командная строка):\n\n```powershell\nnslookup ДОМЕН\nnslookup www.ДОМЕН 1.1.1.1\nipconfig /flushdns\n```\n\nПоследняя команда очищает DNS-кэш компьютера. В macOS кэш очищается так:\n\n```bash\nsudo dscacheutil -flushcache\nsudo killall -HUP mDNSResponder\n```\n\nМожно воспользоваться и онлайн-сервисом проверки DNS (ищите по запросу «DNS propagation checker»): он показывает, что отвечают резолверы в разных странах.\n\n## Прокси Cloudflare («оранжевое облако»)\n\nВ Cloudflare запись A, AAAA или CNAME может быть «Proxied» (оранжевое облако) или «DNS only» (серое облако). На странице «DNS» панели этому соответствует флажок «Прокси» в строке редактирования; в таблице столбец «Прокси» показывает «Прокси» или «—».\n\nКогда прокси включён:\n\n- посетители и команда `dig` видят адреса Cloudflare, а не `IP_СЕРВЕРА`, — это нормально;\n- через Cloudflare проходит только веб-трафик (HTTP и HTTPS); по SSH подключайтесь к IP-адресу сервера, а не к домену;\n- когда на сервере появится действительный сертификат для домена, выберите в аккаунте Cloudflare, в разделе «SSL/TLS», режим шифрования «Full (strict)». Режим «Flexible» приводит к бесконечным перенаправлениям, если сервер перенаправляет HTTP на HTTPS. Страница «DNS» панели режим SSL не меняет — он настраивается в аккаунте Cloudflare. Подробнее: [документация Cloudflare о режимах SSL](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/).\n\nРекомендуемый порядок: держите прокси выключенным, пока сайт не заработает по HTTPS напрямую на сервере, и только потом включайте его.\n\n## Что дальше\n\nКогда `dig` показывает `IP_СЕРВЕРА`, настройте веб-сервер и HTTPS-сертификат: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt). Если домен уже указывает на сервер, а сайт не открывается, пройдите по списку из статьи [Сайт не открывается](#faq.site-ul-nu-se-deschide).\n\n## Частые вопросы\n\n**Можно ли указать в DNS адрес, который показывает инструмент определения IP на blackbox.md?**\nНет. [Инструмент «Ваш публичный IP-адрес»](#domenii.adresa-ip) показывает адрес устройства, с которого вы открыли сайт. В DNS указывайте адрес из поля «IP» в карточке сервера.\n\n**Запись уже изменена, но открывается старый сайт.**\nВаш резолвер хранит старое значение, пока не истечёт прежний TTL. Спросите напрямую NS-сервер домена (команда из раздела «Как проверить»): если он уже отвечает `IP_СЕРВЕРА`, подождите, очистите DNS-кэш и откройте сайт в приватном окне браузера.\n\n**Нужно ли менять записи MX?**\nНет, если почта остаётся у нынешнего провайдера. Для сайта меняйте только записи A, AAAA и CNAME для `ДОМЕН` и `www`; записи MX и TXT не трогайте.\n\n**Как направить поддомен, например `app.ДОМЕН`?**\nСоздайте запись A с именем `app` и значением `IP_СЕРВЕРА`. На одном сервере могут работать несколько доменов и поддоменов; для каждого нужна своя конфигурация в веб-сервере.\n\n**Не получается подключиться по SSH по имени домена.**\nЕсли в Cloudflare включён прокси, подключайтесь к `IP_СЕРВЕРА`. См. [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n",
    "en": "For your site to open at your domain's address, the domain's DNS records must point to the server's IP address. You copy the address from the app.blackbox.md panel, on the “My Servers” page (`app.blackbox.md/my-servers`), and you create the records at the provider that manages the domain's DNS. If that provider is Cloudflare or GoDaddy, you can create them right from the panel's “DNS” page (`app.blackbox.md/dns`, sidebar → “Infrastructure” → “DNS”).\n\n**Available to:** any customer with their own domain and a BLACKBOX server. The panel's “DNS” page is available to the blackbox.md account owner and works only for domains whose DNS is at Cloudflare or GoDaddy.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which records to create\n\n| Type | Name | Value | When |\n|---|---|---|---|\n| A | `@` (the domain without a prefix, `DOMAIN`) | `SERVER_IP` | Always. |\n| A | `www` | `SERVER_IP` | For `www.DOMAIN`, option 1. |\n| CNAME | `www` | `DOMAIN` | For `www.DOMAIN`, option 2, instead of the A record. |\n| AAAA | `@`, `www` | The server's IPv6 address | Only if you have set up IPv6 on the server yourself. |\n\n`www.DOMAIN` is a separate name from `DOMAIN`: without a record for `www`, the address with `www` does not open. For `www`, choose one of the two options, not both: a name that has a CNAME record cannot have any other records. For the domain without a prefix, use A, not CNAME: most DNS providers do not allow a CNAME at the domain root.\n\n> **Important**\n> The “IP” field in the panel holds the server's IPv4 address; the panel does not show an IPv6 address. Create AAAA records only if you have set up IPv6 on the server and checked that it works. A wrong AAAA record, or one left over from your old hosting, sends visitors who use IPv6 to a different address and can block the issuing of the Let's Encrypt certificate.\n\n## Step 1. Copy the server's IP address\n\n1. Open the app.blackbox.md panel from your blackbox.md account. See [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n2. In the sidebar, under “Infrastructure”, click “My Servers”.\n3. On the server card, find the “IP” field.\n4. Click the copy button next to the address (its tooltip reads “Copy this server's IP address”). The button shows “Copied”, and the address is now on your clipboard.\n\nThe same address appears in the email “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…), on the “Adresă IP” (IP address) line. More about the card: [The “My Servers” page: the server card](#servere.serverele-mele).\n\n## Step 2. Find out who manages the domain's DNS\n\nYou change the records where the domain's name servers (NS) point. The DNS provider can be a different company from the one where you registered the domain: for example, a domain bought from a local registrar may have its DNS at Cloudflare. Find the NS servers with one of these commands.\n\nLinux or macOS:\n\n```bash\ndig +short NS DOMAIN\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS DOMAIN\n```\n\n| The NS servers end in | Where to create the records |\n|---|---|\n| `ns.cloudflare.com` | Cloudflare: on the panel's “DNS” page or in your Cloudflare account. |\n| `domaincontrol.com` | GoDaddy: on the panel's “DNS” page or in your GoDaddy account. |\n| Another address | In the control panel of the registrar or DNS provider the NS servers point to. |\n\nIf the domain was registered through BLACKBOX (on request, through support) and you don't know where its DNS is managed, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n> **Warning**\n> Do not change the NS servers just to point your site to the server. At the new DNS provider, only the records created there work: first copy all the existing records (especially MX and TXT for email), or the domain's email and other services will stop working.\n\n## Step 3. Create the records\n\n### From the panel's “DNS” page (Cloudflare or GoDaddy)\n\nFirst connect your Cloudflare or GoDaddy account: [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare). Then:\n\n1. In the sidebar, under “Infrastructure”, click “DNS”.\n2. If you have more than one connection, click the row of the one you want. In “Zone”, choose the domain; the first zone is selected automatically.\n3. In the “Records” table, check what already exists for `DOMAIN` and `www.DOMAIN` (names are shown in full):\n   - an A record pointing to your old hosting: click the pencil (“Edit”), replace the value with `SERVER_IP` and click “Save”; do not add another record for this name;\n   - an AAAA record left over from your old hosting: delete it with the trash can (“Delete”) and confirm in the browser window.\n\n   Do not add a second A record for the same name: visitors would land sometimes on one server, sometimes on the other.\n4. For a name that does not have an A record yet, click “Add record”. An edit row appears in the table.\n5. Leave the type “A” (it is selected by default).\n6. In the field with the hint “e.g. www or @”, enter `@`.\n7. In the next field, with the hint “Record value”, paste `SERVER_IP`.\n8. Choose the TTL: on Cloudflare, “Auto” or a value in seconds; on GoDaddy, 600, 1800, 3600 or 86400.\n9. On Cloudflare, leave the “Proxied” checkbox unchecked until the site works over HTTPS directly on the server (see below).\n10. Click “Save”. The record appears in the table.\n11. Repeat steps 4–10 with the name `www`: type “A” with the value `SERVER_IP`, or type “CNAME” with the value `DOMAIN`. If `www` already has a CNAME pointing to `DOMAIN`, you don't need to change anything.\n\nIf “Failed to save the record.” appears, check the name and the value: the name cannot be left empty, and an A record accepts only a valid IPv4 address. The rules for each type and all the messages: [Managing DNS records from the panel](#servicii.dns-inregistrari).\n\nOn GoDaddy, the type and the name are locked when you edit a record. To turn a `www` CNAME into an A record, delete the record and create a new one.\n\n### At another DNS provider\n\nIn the control panel of your registrar or DNS provider, open the DNS zone editor (its name varies from provider to provider) and create the same records as in the table above. For the domain root, most providers use `@` or an empty field; some require the full name, `DOMAIN`.\n\n## TTL and propagation\n\nTTL (time to live) is the number of seconds that DNS servers around the world keep an answer in their cache before they ask for it again. A common value is 3600 (one hour).\n\n| What you change | When everyone sees the new value |\n|---|---|\n| A new record, for a name that did not exist before | Usually within a few minutes. If you opened the address before you created the record, the answer that the name does not exist may stay cached, usually for up to one hour. |\n| An existing record (A, AAAA, CNAME) | After the old TTL expires: with 3600, usually within one hour at most. |\n| The domain's NS servers | Up to 24–48 hours. |\n\n> **Tip**\n> If you are moving an existing site, lower the TTL of the A and CNAME records to 300 a day or two before the move. The IP address change then reaches visitors in about 5 minutes. After the move, you can set the TTL back to 3600. In the panel, the lowest value for GoDaddy is 600. The full plan: [Moving a site to a BLACKBOX server](#ghiduri.migrare-site).\n\n## How to check\n\nOn Linux or macOS (`dig` is included in macOS; on Linux it is part of the `dnsutils` or `bind-utils` package):\n\n```bash\ndig +short DOMAIN A\ndig +short www.DOMAIN\n```\n\nBoth commands must show `SERVER_IP` (with the Cloudflare proxy turned off). If `www` is a CNAME, the second command first shows `DOMAIN.`, then `SERVER_IP`.\n\nTo bypass your internet provider's cache, ask a public resolver, or ask one of the domain's NS servers directly (one of the names you found in step 2):\n\n```bash\ndig +short DOMAIN A @1.1.1.1\ndig +short DOMAIN A @NS_SERVER\n```\n\nIf the NS server already answers with `SERVER_IP`, the record is saved correctly: you only need to wait for the old TTL to expire.\n\nOn Windows (PowerShell or Command Prompt):\n\n```powershell\nnslookup DOMAIN\nnslookup www.DOMAIN 1.1.1.1\nipconfig /flushdns\n```\n\nThe last command clears your computer's DNS cache. On macOS, you clear the cache like this:\n\n```bash\nsudo dscacheutil -flushcache\nsudo killall -HUP mDNSResponder\n```\n\nYou can also use an online DNS checker (search for “DNS propagation checker”): it shows the answer that resolvers in several countries receive.\n\n## The Cloudflare proxy (the “orange cloud”)\n\nOn Cloudflare, an A, AAAA or CNAME record can be “Proxied” (orange cloud) or “DNS only” (gray cloud). On the panel's “DNS” page, this is the “Proxied” checkbox in the edit row; in the table, the “Proxied” column shows “Proxied” or “—”.\n\nWhen the proxy is on:\n\n- visitors and the `dig` command see Cloudflare's addresses, not `SERVER_IP`; this is normal;\n- only web traffic (HTTP and HTTPS) goes through Cloudflare; for SSH, use the server's IP address, not the domain;\n- once the server has a valid certificate for the domain, choose the “Full (strict)” encryption mode in your Cloudflare account, under “SSL/TLS”. The “Flexible” mode causes redirect loops if the server redirects HTTP to HTTPS. The panel's “DNS” page does not change the SSL mode; you set it in your Cloudflare account. Details: [Cloudflare documentation on SSL modes](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/).\n\nRecommended order: keep the proxy off until the site works over HTTPS directly on the server, then turn it on.\n\n## Next step\n\nWhen `dig` shows `SERVER_IP`, set up the web server and the HTTPS certificate: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt). If the domain points to the server but the site does not open, go through the list in [The site does not open](#faq.site-ul-nu-se-deschide).\n\n## Frequently asked questions\n\n**Can I put the address shown by the IP tool on blackbox.md in my DNS records?**\nNo. [The “Adresa ta IP” (Your IP address) tool](#domenii.adresa-ip) shows the address of the device you are browsing from. In DNS, use the address from the “IP” field on the server card.\n\n**I changed the record, but the old site still opens.**\nYour resolver keeps the old value until the old TTL expires. Ask the domain's NS server directly (the command in “How to check”): if it answers with `SERVER_IP`, wait, clear your DNS cache and open the site in a private browser window.\n\n**Do I need to change the MX records?**\nNo, if your email stays with your current provider. For the site, change only the A, AAAA and CNAME records of `DOMAIN` and `www`; the MX and TXT records stay unchanged.\n\n**How do I point a subdomain, for example `app.DOMAIN`?**\nCreate an A record with the name `app` and the value `SERVER_IP`. Several domains and subdomains can run on the same server; each one needs its own configuration in the web server.\n\n**I can't connect over SSH using the domain.**\nIf the Cloudflare proxy is on, connect to `SERVER_IP`. See [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n"
   }
  },
  {
   "id": "domenii.certificate-ssl",
   "section": "domenii",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/certificate-ssl/",
    "ru": "https://docs.blackbox.md/ru/domenii/certificate-ssl/",
    "en": "https://docs.blackbox.md/en/domenii/certificate-ssl/"
   },
   "title": {
    "ro": "Certificate SSL: gratuite (Let's Encrypt) și comerciale",
    "ru": "SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие",
    "en": "SSL certificates: free (Let's Encrypt) and commercial"
   },
   "summary": {
    "ro": "Când ajunge un certificat Let's Encrypt gratuit, când aveți nevoie de unul comercial, cum îl cereți și cum îl instalați.",
    "ru": "Когда достаточно бесплатного сертификата Let's Encrypt, когда нужен коммерческий, как его заказать и установить.",
    "en": "When a free Let's Encrypt certificate is enough, when you need a commercial one, how to request it and how to install it."
   },
   "markdown": {
    "ro": "Un certificat SSL (TLS) permite deschiderea site-ului prin HTTPS. Pagina „Certificate SSL — gratis și comerciale” (`blackbox.md/domains/ssl`, meniul „Domenii” → „Certificate SSL”) prezintă două variante. Certificatul Let's Encrypt este gratuit și îl instalați singur pe server. Certificatul comercial îl cereți prin suport, iar echipa BLACKBOX vă trimite o ofertă. Panoul app.blackbox.md nu are o secțiune pentru certificate.\n\n**Disponibil pentru:** Let's Encrypt: oricui are acces root la server. Certificat comercial: orice vizitator al `blackbox.md` poate cere o ofertă pe email sau la telefon, iar titularii unui cont blackbox.md și prin tichet.\n\n## Ce certificat vă trebuie\n\n| | Let's Encrypt | Certificat comercial |\n|---|---|---|\n| Preț | gratuit | conform ofertei |\n| Ce verifică autoritatea de certificare (CA) | doar controlul asupra domeniului (DV) | domeniul (DV) sau domeniul și compania (OV, EV) |\n| Valabilitate și reînnoire | 90 de zile, reînnoit automat de certbot | stabilită de CA, cel mult 200 de zile; reînnoirea se cere prin suport |\n| Wildcard `*.example.com` | da, cu validare prin DNS | da, în variantele DV și OV |\n| Garanție financiară (warranty) | nu | da, în funcție de produs |\n| Cum îl obțineți | singur, cu certbot, pe server | la cerere, prin suport |\n\nPentru majoritatea site-urilor (bloguri, site-uri de prezentare, magazine online, aplicații și API-uri), Let's Encrypt este suficient. Criptarea este aceeași ca la un certificat comercial, iar browserul afișează site-ul la fel.\n\nAlegeți un certificat comercial dacă:\n\n- aveți nevoie de validarea organizației, adică numele companiei să apară în certificat (OV sau EV);\n- un contract, o bancă sau un procesator de plăți vă cere o garanție financiară (warranty) din partea CA;\n- un client sau un partener cere un anumit tip de certificat ori o anumită autoritate de certificare;\n- folosiți un sistem vechi sau un dispozitiv care nu acceptă Let's Encrypt sau nu poate rula reînnoirea automată.\n\n## Let's Encrypt: certificatul gratuit\n\n- Îl emite Let's Encrypt, o autoritate de certificare non-profit. Aceasta verifică doar că domeniul vă aparține.\n- Este valabil 90 de zile. Un timer certbot îl reînnoiește automat cu câteva săptămâni înainte de expirare. Pe Ubuntu și Debian timerul pornește singur; pe AlmaLinux și CentOS Stream îl porniți dvs., așa cum arată ghidul de mai jos.\n- La validarea obișnuită, prin HTTP, domeniul trebuie să indice deja către IP-ul serverului, iar portul 80 trebuie să fie accesibil din internet. Vedeți [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu).\n- Un certificat wildcard (`*.example.com`) se obține doar cu validare prin DNS, cu o înregistrare TXT `_acme-challenge`. Pentru reînnoirea automată folosiți un plugin certbot pentru furnizorul dvs. de DNS (de exemplu Cloudflare). La validarea manuală (`--manual`), reînnoirea nu se mai face automat.\n- Nu aveți nevoie de un CSR, pentru că certbot îl creează singur.\n\nInstalarea pas cu pas, pentru nginx și Apache: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\nPrima comandă de mai jos afișează certificatele instalate și data expirării. A doua simulează reînnoirea fără să emită un certificat nou.\n\n```bash\ncertbot certificates\ncertbot renew --dry-run\n```\n\n## Tipurile de certificate comerciale\n\n| Tip | Ce verifică CA | Când îl alegeți |\n|---|---|---|\n| DV (Domain Validation) | doar controlul asupra domeniului: o înregistrare DNS, un fișier pe site sau un email trimis la o adresă a domeniului | vă trebuie o garanție financiară sau o anumită autoritate de certificare, dar nu și numele companiei în certificat |\n| OV (Organization Validation) | domeniul și existența companiei în registrele oficiale | site-uri de business; numele companiei apare în certificat |\n| EV (Extended Validation) | o verificare extinsă a companiei | un partener sau un contract cere explicit EV; browserele actuale nu mai afișează o bară verde |\n| Wildcard (`*.example.com`) | la fel ca DV sau OV | multe subdomenii de un nivel (`api.example.com`, `shop.example.com`); nu acoperă `a.b.example.com` și nu există în varianta EV |\n| SAN / multi-domain | la fel ca DV, OV sau EV | mai multe domenii diferite într-un singur certificat, de exemplu `example.com` și `example.net` |\n\nValidarea OV și EV durează mai mult decât validarea DV, pentru că CA verifică documentele companiei.\n\n## Cum cereți un certificat comercial\n\n1. Deschideți pagina „Certificate SSL — gratis și comerciale” (`blackbox.md/domains/ssl`).\n2. Apăsați „Cere ofertă SSL comercial”, în partea de sus a paginii. Se deschide pagina „Contacte”.\n3. Alegeți canalul: un tichet („Contul meu” → „Ajutor și suport” → „Tichet nou”), un email la support@blackbox.md, un apel sau un mesaj WhatsApp la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei).\n4. În tichet, la „Subiect”, scrieți de exemplu „Cerere ofertă: certificat SSL OV pentru example.com”. La „Server (opțional)” indicați numele sau IP-ul serverului pe care veți instala certificatul.\n5. În „Descrieți problema” scrieți datele din tabelul de mai jos și apăsați „Trimite tichetul”.\n6. Echipa vă răspunde cu o ofertă: prețul și condițiile.\n7. Urmați instrucțiunile de validare primite. Pentru DV confirmați controlul asupra domeniului; pentru OV și EV pregătiți documentele companiei.\n8. După emitere primiți fișierele certificatului. Instalarea este descrisă mai jos.\n\n| Ce indicați | Detalii |\n|---|---|\n| Tipul certificatului | DV, OV sau EV; simplu, wildcard sau SAN. Dacă nu știți ce vă trebuie, descrieți pentru ce îl folosiți. |\n| Domeniile | toate numele, inclusiv variantele cu și fără `www` |\n| Compania (pentru OV și EV) | denumirea exactă, IDNO, adresa și o persoană de contact |\n| CSR-ul | textul CSR-ului, dacă l-ați generat deja |\n| Cerințe speciale | de exemplu o anumită autoritate de certificare cerută de partener sau ajutor la instalare |\n\nFormularul tichetului pas cu pas: [Deschiderea unui tichet de suport](#suport.tichet-nou).\n\n> **Important**\n> Pagina „Certificate SSL” afișează prețuri orientative. Contează prețul și condițiile din oferta primită de la echipă.\n\n## CSR-ul și cheia privată\n\nCA emite certificatul comercial pe baza unui CSR (Certificate Signing Request). CSR-ul conține cheia publică și numele domeniilor. Îl puteți genera în browser, din „Domenii” → „Generator CSR” (`blackbox.md/domains/csr`). Generatorul afișează două blocuri, „Cheia privată (.key)” și „CSR (.csr) — trimiteți la CA”. Cu butonul „Descarcă” din fiecare bloc le salvați ca fișiere numite după Common Name, de exemplu `www.example.com.key`. Pașii detaliați sunt în [Generatorul CSR din browser](#domenii.generator-csr). Înainte de a trimite CSR-ul, verificați-l cu ajutorul articolului [Verificarea unui CSR sau certificat cu openssl](#domenii.verificare-csr).\n\n> **Securitate**\n> Trimiteți doar CSR-ul. Cheia privată (`.key`) nu o trimiteți nimănui, nici în tichet, nici pe email. Păstrați-o într-un loc sigur. Fără ea certificatul emis nu poate fi instalat. Dacă o pierdeți, aveți nevoie de un CSR nou și de reemiterea certificatului.\n\n## Cum instalați un certificat comercial\n\nConfigurația serverului web este aceeași ca la Let's Encrypt. Se schimbă doar căile către fișiere. Aveți nevoie de:\n\n| Fișier | Ce este |\n|---|---|\n| certificatul domeniului (de obicei `.crt`) | primit de la CA, pentru numele din CSR |\n| lanțul intermediar (CA bundle, `.ca-bundle` sau `.crt`) | certificatele intermediare ale CA; fără ele unele browsere și aplicații nu au încredere în site |\n| cheia privată (`.key`) | o aveți deja, de la generarea CSR-ului |\n\nÎn comenzile de mai jos, `DOMENIU` este numele domeniului, iar `DOMENIU.crt` și `ca-bundle.crt` sunt fișierele primite. Înlocuiți-le cu numele reale ale fișierelor dvs.\n\n1. Pe server, creați un director pentru fișiere:\n\n   ```bash\n   mkdir -p /etc/ssl/DOMENIU\n   chmod 700 /etc/ssl/DOMENIU\n   ```\n\n2. Copiați fișierele de pe calculatorul dvs. pe server ([Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)):\n\n   ```bash\n   scp DOMENIU.key DOMENIU.crt ca-bundle.crt root@IP_SERVER:/etc/ssl/DOMENIU/\n   ```\n\n3. Pe server, puneți certificatul și lanțul intermediar într-un singur fișier, cu certificatul domeniului primul. Apoi protejați cheia:\n\n   ```bash\n   cd /etc/ssl/DOMENIU\n   cat DOMENIU.crt ca-bundle.crt > fullchain.pem\n   chmod 600 DOMENIU.key\n   ```\n\n4. Indicați fișierele în configurația site-ului. Pentru nginx, în blocul `server` cu `listen 443 ssl`:\n\n   ```nginx\n   ssl_certificate     /etc/ssl/DOMENIU/fullchain.pem;\n   ssl_certificate_key /etc/ssl/DOMENIU/DOMENIU.key;\n   ```\n\n   Pentru Apache, în `<VirtualHost *:443>`:\n\n   ```apache\n   SSLCertificateFile    /etc/ssl/DOMENIU/fullchain.pem\n   SSLCertificateKeyFile /etc/ssl/DOMENIU/DOMENIU.key\n   ```\n\n5. Verificați configurația și reîncărcați serverul web. Pentru nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   Pentru Apache (serviciul se numește `apache2` pe Ubuntu și Debian și `httpd` pe AlmaLinux și CentOS Stream):\n\n   ```bash\n   apachectl configtest\n   systemctl reload apache2 || systemctl reload httpd\n   ```\n\nErori frecvente la instalare:\n\n| Mesaj sau simptom | Cauza | Ce faceți |\n|---|---|---|\n| „key values mismatch” la `nginx -t` | cheia nu corespunde certificatului | folosiți cheia generată odată cu CSR-ul; verificați potrivirea cu openssl |\n| eroare PEM la `nginx -t` | două certificate au ajuns pe același rând în `fullchain.pem` | fiecare `-----BEGIN CERTIFICATE-----` trebuie să înceapă pe un rând nou |\n| „unable to verify the first certificate” la verificarea cu openssl | lipsește lanțul intermediar | folosiți `fullchain.pem`, nu doar certificatul domeniului |\n\nDacă aveți nevoie de ajutor la instalare, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Verificarea certificatului\n\nRulați comenzile pe server sau pe un calculator cu Linux ori macOS. Prima comandă verifică lanțul de încredere. La sfârșitul răspunsului trebuie să apară „Verify return code: 0 (ok)”. A doua comandă afișează emitentul și perioada de valabilitate.\n\n```bash\nopenssl s_client -connect DOMENIU:443 -servername DOMENIU < /dev/null\nopenssl s_client -connect DOMENIU:443 -servername DOMENIU < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates\n```\n\nAlte verificări, inclusiv potrivirea dintre cheie, CSR și certificat: [Verificarea unui CSR sau certificat cu openssl](#domenii.verificare-csr).\n\n## Întrebări frecvente\n\n**Văd vizitatorii diferența dintre Let's Encrypt și un certificat comercial?**\nNu. Browserul afișează site-ul la fel, iar emitentul se vede doar în detaliile certificatului. Și pentru un magazin online, Let's Encrypt oferă aceeași criptare.\n\n**Wildcard sau SAN?**\nAlegeți wildcard pentru multe subdomenii ale aceluiași domeniu, inclusiv pentru cele pe care le veți crea mai târziu. Alegeți SAN pentru domenii diferite, de exemplu `example.com` și `example.net`, pe care un wildcard nu le acoperă.\n\n**Cum reînnoiesc un certificat comercial?**\nCertificatul comercial nu se reînnoiește automat. Urmăriți data expirării și cereți din timp reînnoirea prin suport. Folosiți un CSR nou, de preferat cu o cheie nouă. Apoi înlocuiți fișierele și reîncărcați serverul web.\n\n**Am trecut de la Let's Encrypt la un certificat comercial. Ce fac cu certificatul vechi?**\nDupă ce site-ul folosește noul certificat și nicio configurație nu mai indică fișiere din `/etc/letsencrypt/live/`, ștergeți-l pe cel vechi, ca certbot să nu-l mai reînnoiască. Numele exact îl găsiți la „Certificate Name” în rezultatul comenzii `certbot certificates`.\n\n```bash\ncertbot delete --cert-name DOMENIU\n```\n\n**De ce nu se emite certificatul, deși DNS-ul este corect?**\nVerificați dacă domeniul are înregistrări DNS de tip CAA. Dacă are, ele trebuie să permită autoritatea de certificare aleasă; pentru Let's Encrypt, valoarea este `letsencrypt.org`. La Let's Encrypt verificați și că portul 80 este accesibil din internet.\n",
    "ru": "SSL-сертификат (TLS) нужен, чтобы сайт открывался по HTTPS. На странице «SSL-сертификаты — бесплатные и коммерческие» (`blackbox.md/ru/domains/ssl`, меню «Домены» → «SSL-сертификаты») описаны два варианта. Сертификат Let's Encrypt бесплатный, и вы устанавливаете его на сервер сами. Коммерческий сертификат запрашивается через поддержку, а команда BLACKBOX присылает вам предложение. В панели app.blackbox.md раздела для сертификатов нет.\n\n**Доступно:** Let's Encrypt — всем, у кого есть root-доступ к серверу. Коммерческий сертификат — запросить предложение может любой посетитель `blackbox.md` по email или телефону, а владельцы аккаунта blackbox.md — ещё и через тикет.\n\n## Какой сертификат вам нужен\n\n| | Let's Encrypt | Коммерческий сертификат |\n|---|---|---|\n| Цена | бесплатно | по предложению |\n| Что проверяет центр сертификации (CA) | только контроль над доменом (DV) | домен (DV) или домен и компанию (OV, EV) |\n| Срок действия и продление | 90 дней, certbot продлевает автоматически | задаёт CA, не более 200 дней; продление — по запросу через поддержку |\n| Wildcard `*.example.com` | да, с проверкой через DNS | да, в вариантах DV и OV |\n| Финансовая гарантия (warranty) | нет | есть, зависит от продукта |\n| Как получить | самостоятельно, через certbot на сервере | по запросу через поддержку |\n\nБольшинству сайтов — блогам, сайтам-визиткам, интернет-магазинам, приложениям и API — вполне хватает Let's Encrypt. Шифрование у него такое же, как у коммерческого сертификата, и браузер показывает сайт точно так же.\n\nКоммерческий сертификат стоит выбрать, если:\n\n- нужна проверка организации, то есть название компании должно быть указано в сертификате (OV или EV);\n- договор, банк или платёжный провайдер требует финансовую гарантию (warranty) от CA;\n- клиент или партнёр требует определённый вид сертификата или определённый CA;\n- вы работаете со старой системой или устройством, которые не принимают Let's Encrypt или не умеют продлевать сертификат автоматически.\n\n## Let's Encrypt: бесплатный сертификат\n\n- Его выпускает Let's Encrypt — некоммерческий центр сертификации. Он проверяет только то, что домен принадлежит вам.\n- Сертификат действует 90 дней. Таймер certbot автоматически продлевает его за несколько недель до окончания срока. В Ubuntu и Debian таймер запускается сам, а в AlmaLinux и CentOS Stream его нужно включить вручную — как это сделать, описано в руководстве ниже.\n- При обычной проверке по HTTP домен уже должен указывать на IP сервера, а порт 80 — быть доступен из интернета. См. [Как направить домен на сервер](#domenii.indreptare-domeniu).\n- Wildcard-сертификат (`*.example.com`) выпускается только с проверкой через DNS — TXT-записью `_acme-challenge`. Для автоматического продления используйте плагин certbot для вашего DNS-провайдера (например, Cloudflare). При ручной проверке (`--manual`) сертификат автоматически не продлевается.\n- CSR вам не нужен: certbot создаёт его сам.\n\nПошаговая установка для nginx и Apache: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\nПервая команда ниже показывает установленные сертификаты и даты окончания их срока. Вторая имитирует продление, не выпуская новый сертификат.\n\n```bash\ncertbot certificates\ncertbot renew --dry-run\n```\n\n## Виды коммерческих сертификатов\n\n| Вид | Что проверяет CA | Когда выбирать |\n|---|---|---|\n| DV (Domain Validation) | только контроль над доменом: DNS-запись, файл на сайте или письмо на адрес в этом домене | нужна финансовая гарантия или определённый CA, но название компании в сертификате не требуется |\n| OV (Organization Validation) | домен и наличие компании в официальных реестрах | сайты компаний; название компании указывается в сертификате |\n| EV (Extended Validation) | расширенная проверка компании | партнёр или договор прямо требует EV; современные браузеры зелёную строку больше не показывают |\n| Wildcard (`*.example.com`) | как у DV или OV | много поддоменов одного уровня (`api.example.com`, `shop.example.com`); не покрывает `a.b.example.com`, в варианте EV не выпускается |\n| SAN / мультидоменный | как у DV, OV или EV | несколько разных доменов в одном сертификате, например `example.com` и `example.com` |\n\nПроверка OV и EV занимает больше времени, чем DV: CA проверяет документы компании.\n\n## Как заказать коммерческий сертификат\n\n1. Откройте страницу «SSL-сертификаты — бесплатные и коммерческие» (`blackbox.md/ru/domains/ssl`).\n2. Нажмите «Запросить коммерческий SSL» в верхней части страницы. Откроется страница «Контакты».\n3. Выберите канал связи: тикет («Личный кабинет» → «Помощь и поддержка» → «Новый тикет»), письмо на support@blackbox.md, звонок или сообщение в WhatsApp на номер +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы).\n4. В тикете в поле «Тема» напишите, например, «Запрос предложения: SSL-сертификат OV для example.com». В поле «Сервер (необязательно)» укажите название или IP сервера, на который будете устанавливать сертификат.\n5. В поле «Опишите проблему» перечислите данные из таблицы ниже и нажмите «Отправить тикет».\n6. Команда ответит предложением с ценой и условиями.\n7. Пройдите проверку по полученным инструкциям. Для DV подтвердите контроль над доменом, для OV и EV подготовьте документы компании.\n8. После выпуска вы получите файлы сертификата. Как их установить, описано ниже.\n\n| Что указать | Подробности |\n|---|---|\n| Вид сертификата | DV, OV или EV; обычный, wildcard или SAN. Если не знаете, что выбрать, опишите, для чего нужен сертификат. |\n| Домены | все имена, включая варианты с `www` и без |\n| Компания (для OV и EV) | точное название, IDNO, адрес и контактное лицо |\n| CSR | текст CSR, если вы его уже сгенерировали |\n| Особые требования | например, определённый CA по требованию партнёра или помощь с установкой |\n\nФорма тикета по шагам: [Создание тикета в поддержку](#suport.tichet-nou).\n\n> **Важно**\n> На странице «SSL-сертификаты» указаны ориентировочные цены. Действуют цена и условия из предложения команды.\n\n## CSR и приватный ключ\n\nCA выпускает коммерческий сертификат на основе CSR (Certificate Signing Request) — запроса, в котором содержатся публичный ключ и имена доменов. Его можно сгенерировать в браузере: «Домены» → «Генератор CSR» (`blackbox.md/ru/domains/csr`). Генератор показывает два блока — «Приватный ключ (.key)» и «CSR (.csr) — отправьте в CA». Кнопкой «Скачать» в каждом блоке их можно сохранить в файлы, названные по Common Name, например `www.example.com.key`. Подробно: [Генератор CSR в браузере](#domenii.generator-csr). Перед отправкой проверьте CSR по статье [Проверка CSR или сертификата с помощью openssl](#domenii.verificare-csr).\n\n> **Безопасность**\n> Отправляйте только CSR. Приватный ключ (`.key`) никому не пересылайте — ни в тикете, ни по email. Храните его в надёжном месте: без него выпущенный сертификат не установить. Если ключ потерян, понадобятся новый CSR и перевыпуск сертификата.\n\n## Как установить коммерческий сертификат\n\nВеб-сервер настраивается так же, как для Let's Encrypt, — меняются только пути к файлам. Понадобятся:\n\n| Файл | Что это |\n|---|---|\n| сертификат домена (обычно `.crt`) | выпущен CA для имён из CSR |\n| промежуточная цепочка (CA bundle, `.ca-bundle` или `.crt`) | промежуточные сертификаты CA; без них некоторые браузеры и приложения не доверяют сайту |\n| приватный ключ (`.key`) | уже есть у вас: он создан вместе с CSR |\n\nВ командах ниже `ДОМЕН` — имя домена, а `ДОМЕН.crt` и `ca-bundle.crt` — полученные файлы. Подставьте реальные имена своих файлов.\n\n1. На сервере создайте каталог для файлов:\n\n   ```bash\n   mkdir -p /etc/ssl/ДОМЕН\n   chmod 700 /etc/ssl/ДОМЕН\n   ```\n\n2. Скопируйте файлы со своего компьютера на сервер ([Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)):\n\n   ```bash\n   scp ДОМЕН.key ДОМЕН.crt ca-bundle.crt root@IP_СЕРВЕРА:/etc/ssl/ДОМЕН/\n   ```\n\n3. На сервере объедините сертификат и промежуточную цепочку в один файл — сертификат домена должен идти первым. Затем закройте доступ к ключу для других пользователей:\n\n   ```bash\n   cd /etc/ssl/ДОМЕН\n   cat ДОМЕН.crt ca-bundle.crt > fullchain.pem\n   chmod 600 ДОМЕН.key\n   ```\n\n4. Укажите файлы в конфигурации сайта. Для nginx — в блоке `server` с `listen 443 ssl`:\n\n   ```nginx\n   ssl_certificate     /etc/ssl/ДОМЕН/fullchain.pem;\n   ssl_certificate_key /etc/ssl/ДОМЕН/ДОМЕН.key;\n   ```\n\n   Для Apache — в `<VirtualHost *:443>`:\n\n   ```apache\n   SSLCertificateFile    /etc/ssl/ДОМЕН/fullchain.pem\n   SSLCertificateKeyFile /etc/ssl/ДОМЕН/ДОМЕН.key\n   ```\n\n5. Проверьте конфигурацию и примените её. Для nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   Для Apache (служба называется `apache2` в Ubuntu и Debian и `httpd` в AlmaLinux и CentOS Stream):\n\n   ```bash\n   apachectl configtest\n   systemctl reload apache2 || systemctl reload httpd\n   ```\n\nЧастые ошибки при установке:\n\n| Сообщение или признак | Причина | Что делать |\n|---|---|---|\n| «key values mismatch» при `nginx -t` | ключ не соответствует сертификату | используйте ключ, созданный вместе с CSR; проверьте соответствие через openssl |\n| ошибка PEM при `nginx -t` | два сертификата оказались в одной строке файла `fullchain.pem` | каждый `-----BEGIN CERTIFICATE-----` должен начинаться с новой строки |\n| «unable to verify the first certificate» при проверке через openssl | не хватает промежуточной цепочки | используйте `fullchain.pem`, а не только сертификат домена |\n\nЕсли нужна помощь с установкой, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Проверка сертификата\n\nВыполните команды на сервере или на компьютере с Linux или macOS. Первая команда проверяет цепочку доверия: в конце вывода должно быть «Verify return code: 0 (ok)». Вторая показывает издателя и срок действия сертификата.\n\n```bash\nopenssl s_client -connect ДОМЕН:443 -servername ДОМЕН < /dev/null\nopenssl s_client -connect ДОМЕН:443 -servername ДОМЕН < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates\n```\n\nДругие проверки, в том числе соответствие ключа, CSR и сертификата: [Проверка CSR или сертификата с помощью openssl](#domenii.verificare-csr).\n\n## Частые вопросы\n\n**Видят ли посетители разницу между Let's Encrypt и коммерческим сертификатом?**\nНет. Браузер показывает сайт одинаково, а издателя видно только в сведениях о сертификате. Для интернет-магазина Let's Encrypt обеспечивает такое же шифрование.\n\n**Wildcard или SAN?**\nWildcard подходит для множества поддоменов одного домена, в том числе тех, что появятся позже. SAN — для разных доменов, например `example.com` и `example.com`: их wildcard не покрывает.\n\n**Как продлить коммерческий сертификат?**\nАвтоматически он не продлевается. Следите за сроком действия и заранее запросите продление через поддержку. Используйте новый CSR, лучше с новым ключом. Затем замените файлы и перезагрузите конфигурацию веб-сервера.\n\n**Сайт переведён с Let's Encrypt на коммерческий сертификат. Что делать со старым?**\nКогда сайт уже работает с новым сертификатом и ни одна конфигурация не ссылается на файлы из `/etc/letsencrypt/live/`, удалите старый, чтобы certbot перестал его продлевать. Точное имя указано в строке «Certificate Name» в выводе команды `certbot certificates`.\n\n```bash\ncertbot delete --cert-name ДОМЕН\n```\n\n**Почему сертификат не выпускается, хотя DNS настроен правильно?**\nПроверьте, есть ли у домена DNS-записи типа CAA. Если есть, они должны разрешать выбранный CA; для Let's Encrypt это значение `letsencrypt.org`. Для Let's Encrypt также убедитесь, что порт 80 доступен из интернета.\n",
    "en": "An SSL (TLS) certificate lets your site open over HTTPS. The “Certificate SSL — gratis și comerciale” (SSL certificates — free and commercial) page (`blackbox.md/domains/ssl`, menu “Domenii” (Domains) → “Certificate SSL” (SSL certificates)) presents two options. A Let's Encrypt certificate is free, and you install it on the server yourself. You request a commercial certificate through support, and the BLACKBOX team sends you a quote. The app.blackbox.md panel has no section for certificates.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** Let's Encrypt: anyone with root access to the server. Commercial certificate: any visitor to `blackbox.md` can request a quote by email or by phone, and blackbox.md account holders can also do so through a support ticket.\n\n## Which certificate you need\n\n| | Let's Encrypt | Commercial certificate |\n|---|---|---|\n| Price | free | as quoted |\n| What the certificate authority (CA) checks | only control of the domain (DV) | the domain (DV), or the domain and the company (OV, EV) |\n| Validity and renewal | 90 days, renewed automatically by certbot | set by the CA, at most 200 days; you request renewal through support |\n| Wildcard `*.example.com` | yes, with DNS validation | yes, in the DV and OV variants |\n| Financial guarantee (warranty) | no | yes, depending on the product |\n| How you get it | yourself, with certbot, on the server | on request, through support |\n\nFor most sites (blogs, brochure sites, online stores, apps and APIs), Let's Encrypt is enough. The encryption is the same as with a commercial certificate, and the browser shows the site the same way.\n\nChoose a commercial certificate if:\n\n- you need organization validation, meaning the company name must appear in the certificate (OV or EV);\n- a contract, a bank or a payment processor requires a financial guarantee (warranty) from the CA;\n- a client or partner requires a specific type of certificate or a specific certificate authority;\n- you use an older system or device that doesn't accept Let's Encrypt or can't run automatic renewal.\n\n## Let's Encrypt: the free certificate\n\n- It is issued by Let's Encrypt, a non-profit certificate authority. Let's Encrypt checks only that the domain is yours.\n- It is valid for 90 days. A certbot timer renews it automatically a few weeks before it expires. On Ubuntu and Debian the timer starts on its own; on AlmaLinux and CentOS Stream you start it yourself, as the guide below shows.\n- With the usual HTTP validation, the domain must already point to the server's IP address, and port 80 must be reachable from the internet. See [How to point your domain to the server](#domenii.indreptare-domeniu).\n- A wildcard certificate (`*.example.com`) can only be obtained with DNS validation, using a `_acme-challenge` TXT record. For automatic renewal, use a certbot plugin for your DNS provider (for example Cloudflare). With manual validation (`--manual`), renewal no longer happens automatically.\n- You don't need a CSR, because certbot creates one itself.\n\nStep-by-step installation for nginx and Apache: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\nThe first command below lists the installed certificates and their expiry dates. The second simulates a renewal without issuing a new certificate.\n\n```bash\ncertbot certificates\ncertbot renew --dry-run\n```\n\n## Types of commercial certificates\n\n| Type | What the CA checks | When to choose it |\n|---|---|---|\n| DV (Domain Validation) | only control of the domain: a DNS record, a file on the site, or an email sent to an address at the domain | you need a financial guarantee or a specific certificate authority, but not the company name in the certificate |\n| OV (Organization Validation) | the domain, and that the company exists in the official registers | business websites; the company name appears in the certificate |\n| EV (Extended Validation) | an extended check of the company | a partner or a contract explicitly requires EV; current browsers no longer show a green bar |\n| Wildcard (`*.example.com`) | same as DV or OV | many single-level subdomains (`api.example.com`, `shop.example.com`); it doesn't cover `a.b.example.com` and is not available as EV |\n| SAN / multi-domain | same as DV, OV or EV | several different domains in a single certificate, for example `example.com` and `example.com` |\n\nOV and EV validation takes longer than DV validation, because the CA checks the company's documents.\n\n## How to request a commercial certificate\n\n1. Open the “Certificate SSL — gratis și comerciale” (SSL certificates — free and commercial) page (`blackbox.md/domains/ssl`).\n2. Click “Cere ofertă SSL comercial” (Request a commercial SSL quote) at the top of the page. The “Contacte” (Contacts) page opens.\n3. Choose how to contact us: a support ticket (“Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket)), an email to support@blackbox.md, or a call or WhatsApp message to +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n4. In the ticket, in “Subiect” (Subject), write for example “Quote request: OV SSL certificate for example.com”. In “Server (opțional)” (Server (optional)), enter the name or IP address of the server where you will install the certificate.\n5. In “Descrieți problema” (Describe the problem), enter the details from the table below, then click “Trimite tichetul” (Send ticket).\n6. The team replies with a quote: the price and the terms.\n7. Follow the validation instructions you receive. For DV, confirm that you control the domain; for OV and EV, prepare the company's documents.\n8. Once the certificate is issued, you receive its files. Installation is described below.\n\n| What to include | Details |\n|---|---|\n| Certificate type | DV, OV or EV; single-domain, wildcard or SAN. If you don't know what you need, describe what you will use it for. |\n| Domains | all the names, including the versions with and without `www` |\n| Company (for OV and EV) | the exact company name, IDNO, address and a contact person |\n| The CSR | the text of the CSR, if you have already generated it |\n| Special requirements | for example a specific certificate authority required by a partner, or help with installation |\n\nThe ticket form step by step: [Opening a support ticket](#suport.tichet-nou).\n\n> **Important**\n> The “Certificate SSL” (SSL certificates) page shows indicative prices. What applies is the price and the terms in the quote you receive from the team.\n\n## The CSR and the private key\n\nThe CA issues a commercial certificate based on a CSR (Certificate Signing Request). The CSR contains the public key and the domain names. You can generate it in your browser, from “Domenii” (Domains) → “Generator CSR” (CSR generator) (`blackbox.md/domains/csr`). The generator shows two blocks, “Cheia privată (.key)” (Private key (.key)) and “CSR (.csr) — trimiteți la CA” (CSR (.csr) — send to the CA). With the “Descarcă” (Download) button in each block, you save them as files named after the Common Name, for example `www.example.com.key`. The detailed steps are in [Browser-based CSR generator](#domenii.generator-csr). Before you send the CSR, check it using the article [Checking a CSR or certificate with openssl](#domenii.verificare-csr).\n\n> **Security**\n> Send only the CSR. Never send the private key (`.key`) to anyone, not in a ticket and not by email. Keep it in a safe place: without it, the issued certificate can't be installed. If you lose it, you need a new CSR and the certificate has to be reissued.\n\n## How to install a commercial certificate\n\nThe web server configuration is the same as for Let's Encrypt. Only the file paths change. You need:\n\n| File | What it is |\n|---|---|\n| the domain certificate (usually `.crt`) | received from the CA, for the names in the CSR |\n| the intermediate chain (CA bundle, `.ca-bundle` or `.crt`) | the CA's intermediate certificates; without them, some browsers and apps don't trust the site |\n| the private key (`.key`) | you already have it, from when you generated the CSR |\n\nIn the commands below, `DOMAIN` is the domain name, and `DOMAIN.crt` and `ca-bundle.crt` are the files you received. Replace them with the actual names of your files.\n\n1. On the server, create a directory for the files:\n\n   ```bash\n   mkdir -p /etc/ssl/DOMAIN\n   chmod 700 /etc/ssl/DOMAIN\n   ```\n\n2. Copy the files from your computer to the server ([Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)):\n\n   ```bash\n   scp DOMAIN.key DOMAIN.crt ca-bundle.crt root@SERVER_IP:/etc/ssl/DOMAIN/\n   ```\n\n3. On the server, combine the certificate and the intermediate chain into a single file, with the domain certificate first. Then protect the key:\n\n   ```bash\n   cd /etc/ssl/DOMAIN\n   cat DOMAIN.crt ca-bundle.crt > fullchain.pem\n   chmod 600 DOMAIN.key\n   ```\n\n4. Point to the files in the site's configuration. For nginx, in the `server` block with `listen 443 ssl`:\n\n   ```nginx\n   ssl_certificate     /etc/ssl/DOMAIN/fullchain.pem;\n   ssl_certificate_key /etc/ssl/DOMAIN/DOMAIN.key;\n   ```\n\n   For Apache, in `<VirtualHost *:443>`:\n\n   ```apache\n   SSLCertificateFile    /etc/ssl/DOMAIN/fullchain.pem\n   SSLCertificateKeyFile /etc/ssl/DOMAIN/DOMAIN.key\n   ```\n\n5. Check the configuration and reload the web server. For nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   For Apache (the service is called `apache2` on Ubuntu and Debian and `httpd` on AlmaLinux and CentOS Stream):\n\n   ```bash\n   apachectl configtest\n   systemctl reload apache2 || systemctl reload httpd\n   ```\n\nCommon installation errors:\n\n| Message or symptom | Cause | What to do |\n|---|---|---|\n| “key values mismatch” from `nginx -t` | the key doesn't match the certificate | use the key generated together with the CSR; check that they match with openssl |\n| a PEM error from `nginx -t` | two certificates ended up on the same line in `fullchain.pem` | each `-----BEGIN CERTIFICATE-----` must start on a new line |\n| “unable to verify the first certificate” when checking with openssl | the intermediate chain is missing | use `fullchain.pem`, not just the domain certificate |\n\nIf you need help with the installation, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## Checking the certificate\n\nRun the commands on the server or on a computer with Linux or macOS. The first command checks the chain of trust: the end of its output must show “Verify return code: 0 (ok)”. The second command shows the issuer and the validity period.\n\n```bash\nopenssl s_client -connect DOMAIN:443 -servername DOMAIN < /dev/null\nopenssl s_client -connect DOMAIN:443 -servername DOMAIN < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates\n```\n\nOther checks, including whether the key, the CSR and the certificate match: [Checking a CSR or certificate with openssl](#domenii.verificare-csr).\n\n## Frequently asked questions\n\n**Can visitors tell the difference between Let's Encrypt and a commercial certificate?**\nNo. The browser shows the site the same way, and the issuer is visible only in the certificate details. For an online store too, Let's Encrypt provides the same encryption.\n\n**Wildcard or SAN?**\nChoose a wildcard for many subdomains of the same domain, including ones you will create later. Choose SAN for different domains, for example `example.com` and `example.com`, which a wildcard doesn't cover.\n\n**How do I renew a commercial certificate?**\nA commercial certificate doesn't renew automatically. Keep track of the expiry date and request the renewal through support in good time. Use a new CSR, preferably with a new key. Then replace the files and reload the web server.\n\n**I switched from Let's Encrypt to a commercial certificate. What do I do with the old certificate?**\nOnce the site uses the new certificate and no configuration still points to files in `/etc/letsencrypt/live/`, delete the old one so that certbot stops renewing it. You can find its exact name under “Certificate Name” in the output of the `certbot certificates` command.\n\n```bash\ncertbot delete --cert-name DOMAIN\n```\n\n**Why isn't the certificate issued, even though DNS is correct?**\nCheck whether the domain has CAA DNS records. If it does, they must allow the certificate authority you chose; for Let's Encrypt, the value is `letsencrypt.org`. For Let's Encrypt, also check that port 80 is reachable from the internet.\n"
   }
  },
  {
   "id": "domenii.generator-csr",
   "section": "domenii",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/generator-csr/",
    "ru": "https://docs.blackbox.md/ru/domenii/generator-csr/",
    "en": "https://docs.blackbox.md/en/domenii/generator-csr/"
   },
   "title": {
    "ro": "Generatorul CSR din browser",
    "ru": "Генератор CSR в браузере",
    "en": "Browser-based CSR generator"
   },
   "summary": {
    "ro": "Cum generați un CSR și cheia privată pe blackbox.md, câmp cu câmp, și ce salvați imediat.",
    "ru": "Как сгенерировать CSR и приватный ключ на blackbox.md, поле за полем, и что сохранить сразу.",
    "en": "How to generate a CSR and private key on blackbox.md, field by field, and what to save right away."
   },
   "markdown": {
    "ro": "Pagina „Generator CSR — Certificate Signing Request” (`blackbox.md/domains/csr`, meniul „Domenii” → „Generator CSR”) creează o cerere de semnare a certificatului (CSR) și cheia privată asociată. De ele aveți nevoie ca să cumpărați un certificat SSL comercial. Totul rulează în browserul dvs.: „Toate datele sunt procesate în browser-ul dvs. — cheia privată nu părăsește calculatorul.”\n\n**Disponibil pentru:** oricine vizitează blackbox.md; nu aveți nevoie de cont. Versiunea în rusă: `blackbox.md/ru/domains/csr`.\n\n> **Notă**\n> Pentru un certificat gratuit Let's Encrypt nu aveți nevoie de CSR: certbot îl generează singur pe server. Vedeți [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Cum generați CSR-ul și cheia\n\n1. Deschideți `https://blackbox.md/domains/csr`. Formularul „Generator CSR” se află sub titlul și descrierea paginii. Până se încarcă, în locul lui scrie „Generatorul se încarcă...”.\n2. La „Tip cheie”, alegeți varianta dorită (vedeți tabelul de mai jos). Implicit este selectat „RSA 2048”.\n3. Completați câmpurile, conform tabelului „Câmpurile formularului”.\n4. Apăsați „Generează CSR și cheia privată”. Cât durează generarea, butonul afișează „Se generează...”. O cheie RSA 4096 se generează mai încet.\n5. Pe ecranul cu rezultatul, salvați întâi cheia: la blocul „Cheia privată (.key)” apăsați „Descarcă”.\n6. La blocul „CSR (.csr) — trimiteți la CA”, apăsați „Descarcă” sau „Copiază”.\n\n| „Tip cheie” | Descrierea de pe ecran | Când o alegeți |\n|---|---|---|\n| „RSA 2048” (implicit) | „Standard universal” | Compatibilitate maximă. Alegeți-o dacă nu sunteți sigur. |\n| „RSA 4096” | „Securitate maximă” | Cheie mai lungă, generare mai lentă. |\n| „ECDSA P-256” | „Modern, mai rapid” | Servere noi. Nu funcționează pe sisteme și browsere foarte vechi. |\n\n## Câmpurile formularului\n\n| Câmp | Ce introduceți | Valoare la deschiderea paginii |\n|---|---|---|\n| „Common Name (CN)” * | Domeniul exact, fără `https://`. Ajutor pe ecran: „Domeniul exact pentru certificat. Wildcard: *.domeniu.md” | gol (exemplu: „www.domeniu.md”) |\n| „Țară (ISO 2 litere)” | Codul țării din 2 litere: `MD`, `RO`, `US`. Literele trec automat în majuscule. | `MD` |\n| „Regiune / Județ” | Regiunea, raionul sau municipiul | `Chisinau` |\n| „Localitate” | Orașul | `Chisinau` |\n| „Organizație” | Denumirea juridică a companiei | gol (exemplu: „Numele Companiei SRL”) |\n| „Departament (OU)” | Departamentul, dacă vreți | gol (exemplu: „IT”) |\n| „Email contact” | O adresă de contact, dacă vreți | gol (exemplu: „admin@domeniu.md”) |\n| „Subject Alternative Names (opțional)” | Toate numele pe care le acoperă certificatul, câte unul pe linie sau separate prin virgulă. Ajutor pe ecran: „Un domeniu pe linie. Pentru certificate multi-domain.” | gol |\n\nCâmpul „Common Name (CN)” este obligatoriu (marcat cu *). „Țară (ISO 2 litere)” trebuie să conțină un cod din 2 litere; implicit este `MD`. Celelalte câmpuri pot rămâne goale, iar câmpurile goale nu intră în CSR. „Regiune / Județ” și „Localitate” au implicit valoarea `Chisinau`: schimbați-le dacă sediul companiei este în altă localitate. Textele gri din câmpurile goale („IT”, „Numele Companiei SRL”) sunt doar exemple: nu intră în CSR dacă nu le scrieți. Formularul nu verifică adresa de email. La certificatele OV și EV, CA-ul verifică denumirea din „Organizație”, deci scrieți-o exact ca în actele companiei.\n\n> **Sfat**\n> CN-ul nu se adaugă automat în lista SAN. Scrieți în „Subject Alternative Names (opțional)” toate numele, inclusiv pe cel din CN, de exemplu `example.com` și `www.example.com`. Un wildcard `*.example.com` nu acoperă `example.com`, deci adăugați-l separat.\n\n## Mesaje de eroare\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| „Common Name (CN) este obligatoriu” | Câmpul CN este gol. | Completați domeniul. |\n| „Country trebuie să fie un cod ISO de 2 litere (ex: MD, RO, US)” | „Țară (ISO 2 litere)” este gol sau are un singur caracter. | Introduceți codul din 2 litere. |\n| „SAN invalid (trebuie nume DNS valide): …” | Intrările afișate la finalul mesajului nu sunt nume de domeniu valide. | Scrieți doar nume de domeniu complete, cu extensie (`example.com`, nu `domeniu`): fără `http://`, fără `/`, fără adrese IP. Wildcard doar ca `*.` la început. |\n| „Eroare la generare: …” | Browserul nu a putut genera cheia. | Reîncărcați pagina sau încercați un browser actualizat. Ca alternativă, folosiți openssl (mai jos). |\n\n## Ecranul cu rezultatul\n\nDupă generare, formularul este înlocuit de rezultat:\n\n| Element | Ce conține |\n|---|---|\n| „Salvați cheia privată ACUM” | Avertismentul: „Cheia nu poate fi recuperată după ce părăsiți pagina. Descărcați-o sau copiați-o într-un loc sigur.” |\n| „Cheia privată (.key)” | Cheia în format PEM (PKCS#8), care începe cu `-----BEGIN PRIVATE KEY-----`. Nu este protejată cu parolă. „Descarcă” salvează fișierul cu numele CN-ului, de exemplu `www.example.com.key`. |\n| „CSR (.csr) — trimiteți la CA” | CSR-ul în format PEM, care începe cu `-----BEGIN CERTIFICATE REQUEST-----`, semnat cu SHA-256. „Descarcă” salvează, de exemplu, `www.example.com.csr`. |\n| „Generează altul” | Revine la formular și păstrează valorile introduse. Cheia și CSR-ul afișate dispar. |\n\nDupă „Copiază”, butonul afișează „Copiat!” timp de 2 secunde. Dacă eticheta nu se schimbă, browserul a blocat accesul la clipboard: folosiți „Descarcă” sau selectați textul cu mouse-ul. La un CN wildcard, numele fișierului conține „*”, iar browserul îl poate înlocui cu alt caracter; redenumiți fișierul dacă e nevoie.\n\n> **Atenție**\n> Cheia privată există doar pe această pagină. Dacă închideți fila, reîncărcați pagina sau apăsați „Generează altul” înainte de a o salva, cheia se pierde, iar CSR-ul făcut cu ea nu mai poate fi folosit. BLACKBOX nu are o copie.\n\n## Ce faceți cu fișierele\n\n- **CSR-ul (`.csr`)** îl trimiteți CA-ului de la care cumpărați certificatul. Un certificat comercial prin BLACKBOX se comandă la cerere, prin suport; vedeți [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl). Înainte de trimitere, îl puteți verifica cu pașii din [Verificarea unui CSR sau certificat cu openssl](#domenii.verificare-csr).\n- **Cheia (`.key`)** rămâne la dvs. și ajunge doar pe serverul unde instalați certificatul (vedeți [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)). Nu o trimiteți nimănui: nici CA-ului, nici suportului, nici prin email.\n\n## Varianta cu openssl, direct pe server\n\nPuteți genera aceleași fișiere pe server: conectați-vă prin SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) și rulați comanda de mai jos. Cheia rămâne pe server, deci nu mai trebuie copiată. Rezultatul este același ca la generator: cheie RSA 2048 fără parolă în format PEM (PKCS#8) și CSR semnat cu SHA-256, cu numele din SAN. Înlocuiți `DOMENIU` cu domeniul dvs. (de exemplu `example.com`) și `NUME_COMPANIE` cu denumirea companiei. Scrieți valorile doar cu litere latine, fără diacritice.\n\n```bash\nopenssl req -new -newkey rsa:2048 -nodes -sha256 -keyout DOMENIU.key -out DOMENIU.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=NUME_COMPANIE/CN=www.DOMENIU\" -addext \"subjectAltName=DNS:DOMENIU,DNS:www.DOMENIU\"\n```\n\nPentru RSA 4096, înlocuiți `rsa:2048` cu `rsa:4096`. Pentru ECDSA P-256:\n\n```bash\nopenssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -sha256 -keyout DOMENIU.key -out DOMENIU.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=NUME_COMPANIE/CN=www.DOMENIU\" -addext \"subjectAltName=DNS:DOMENIU,DNS:www.DOMENIU\"\n```\n\nOpțiunea `-addext` cere OpenSSL 1.1.1 sau mai nou. Verificați versiunea:\n\n```bash\nopenssl version\n```\n\nComanda funcționează și pe calculatorul dvs., dacă are openssl. Pe Windows, folosiți WSL; în Git Bash, scrieți `MSYS_NO_PATHCONV=1` și un spațiu la începutul comenzii, altfel valoarea `-subj` este modificată și comanda eșuează.\n\n## Întrebări frecvente\n\n**Am pierdut cheia privată. O puteți recupera?**\nNu. Cheia se generează doar în browserul dvs., iar BLACKBOX nu o primește. Generați o pereche nouă și folosiți noul CSR. Dacă certificatul a fost deja emis pe CSR-ul vechi, cereți CA-ului reemiterea lui cu noul CSR.\n\n**Pot face un CSR nou pentru o cheie pe care o am deja?**\nGeneratorul din browser creează mereu o cheie nouă. Pentru o cheie existentă folosiți openssl:\n\n```bash\nopenssl req -new -key DOMENIU.key -out DOMENIU-nou.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=NUME_COMPANIE/CN=www.DOMENIU\" -addext \"subjectAltName=DNS:DOMENIU,DNS:www.DOMENIU\"\n```\n\nTotuși, la reînnoirea certificatului este mai bine să generați o cheie nouă.\n\n**RSA sau ECDSA?**\nRSA 2048 este acceptată de orice browser și server. ECDSA P-256 este mai modernă și mai rapidă, dar nu funcționează pe sisteme foarte vechi. Dacă nu sunteți sigur, alegeți RSA 2048.\n\n**Pot verifica CSR-ul pe site?**\nNu. Pagina decodorului („CSR Decodor” din meniu sau butonul „Decoder CSR” de pe pagina generatorului) nu decodează fișiere. Verificați CSR-ul cu openssl: [Verificarea unui CSR sau certificat cu openssl](#domenii.verificare-csr).\n\n**BLACKBOX vede datele pe care le introduc?**\nNu. Cheia și CSR-ul se generează în browser, iar pagina nu le trimite nicăieri. Datele din formular se pierd când închideți fila.\n",
    "ru": "Страница «Генератор CSR — Certificate Signing Request» (`blackbox.md/ru/domains/csr`, меню «Домены» → «Генератор CSR») создаёт запрос на подпись сертификата (CSR) и парный к нему приватный ключ. Они нужны, чтобы купить коммерческий SSL-сертификат. Всё выполняется в вашем браузере: «Все данные обрабатываются в вашем браузере — приватный ключ не покидает компьютер.»\n\n**Доступно:** всем посетителям blackbox.md, аккаунт не нужен. Румынская версия страницы: `blackbox.md/domains/csr`.\n\n> **Примечание**\n> Для бесплатного сертификата Let's Encrypt CSR не нужен: certbot сам создаёт его на сервере. См. [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Как сгенерировать CSR и ключ\n\n1. Откройте `https://blackbox.md/ru/domains/csr`. Форма «Генератор CSR» находится под заголовком и описанием страницы. Пока форма загружается, на её месте видна надпись «Генератор загружается...».\n2. В разделе «Тип ключа» выберите нужный вариант (см. таблицу ниже). По умолчанию выбран «RSA 2048».\n3. Заполните поля по таблице «Поля формы».\n4. Нажмите «Сгенерировать CSR и приватный ключ». Пока идёт генерация, на кнопке написано «Генерация...». Ключ RSA 4096 создаётся дольше.\n5. На экране с результатом сначала сохраните ключ: в блоке «Приватный ключ (.key)» нажмите «Скачать».\n6. В блоке «CSR (.csr) — отправьте в CA» нажмите «Скачать» или «Копировать».\n\n| «Тип ключа» | Подпись на экране | Когда выбирать |\n|---|---|---|\n| «RSA 2048» (по умолчанию) | «Универсальный стандарт» | Максимальная совместимость. Выбирайте, если сомневаетесь. |\n| «RSA 4096» | «Максимальная безопасность» | Более длинный ключ, генерация медленнее. |\n| «ECDSA P-256» | «Современный, быстрее» | Новые серверы. Не работает на очень старых системах и браузерах. |\n\n## Поля формы\n\n| Поле | Что указать | Значение при открытии страницы |\n|---|---|---|\n| «Common Name (CN)» * | Точный домен, без `https://`. Подсказка на экране: «Точный домен для сертификата. Wildcard: *.domeniu.md» | пусто (пример: «www.domeniu.md») |\n| «Страна (ISO, 2 буквы)» | Двухбуквенный код страны: `MD`, `RO`, `US`. Буквы автоматически становятся заглавными. | `MD` |\n| «Регион / область» | Регион, район или муниципий | `Chisinau` |\n| «Населённый пункт» | Город | `Chisinau` |\n| «Организация» | Юридическое название компании | пусто (пример: «Numele Companiei SRL») |\n| «Подразделение (OU)» | Отдел, по желанию | пусто (пример: «IT») |\n| «Контактный email» | Контактный адрес, по желанию | пусто (пример: «admin@domeniu.md») |\n| «Subject Alternative Names (опционально)» | Все имена, которые должен покрывать сертификат, по одному на строку или через запятую. Подсказка на экране: «Один домен на строку. Для мульти-домен сертификатов.» | пусто |\n\nОбязательное поле — «Common Name (CN)» (отмечено *). В поле «Страна (ISO, 2 буквы)» должен быть двухбуквенный код; по умолчанию там `MD`. Остальные поля можно оставить пустыми: пустые поля в CSR не попадают. В полях «Регион / область» и «Населённый пункт» по умолчанию стоит `Chisinau` — измените их, если компания находится в другом населённом пункте. Серые подсказки в пустых полях («IT», «Numele Companiei SRL») — только примеры: в CSR их не будет, пока вы не впишете значение сами. Адрес email форма не проверяет. Для сертификатов OV и EV центр сертификации проверяет название из поля «Организация», поэтому указывайте его точно как в документах компании.\n\n> **Совет**\n> CN не добавляется в список SAN автоматически. Перечислите в «Subject Alternative Names (опционально)» все имена, включая указанное в CN, например `example.com` и `www.example.com`. Wildcard `*.example.com` не покрывает `example.com` — добавьте его отдельно.\n\n## Сообщения об ошибках\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| «Common Name (CN) обязателен» | Поле CN пустое. | Укажите домен. |\n| «Country должен быть 2-буквенным ISO-кодом (напр.: MD, RO, US)» | Поле «Страна (ISO, 2 буквы)» пустое или содержит один символ. | Введите двухбуквенный код. |\n| «Недопустимый SAN (нужны корректные DNS-имена): …» | Записи, перечисленные в конце сообщения, не являются корректными доменными именами. | Указывайте только полные доменные имена с зоной (`example.com`, а не `domeniu`): без `http://`, без `/`, без IP-адресов. Wildcard — только как `*.` в начале. |\n| «Ошибка при генерации: …» | Браузеру не удалось создать ключ. | Обновите страницу или попробуйте актуальный браузер. Либо воспользуйтесь openssl (см. ниже). |\n\n## Экран с результатом\n\nПосле генерации вместо формы появляется результат:\n\n| Элемент | Что содержит |\n|---|---|\n| «Сохраните приватный ключ СЕЙЧАС» | Предупреждение: «Ключ невозможно восстановить после того, как вы покинете страницу. Скачайте его или скопируйте в надёжное место.» |\n| «Приватный ключ (.key)» | Ключ в формате PEM (PKCS#8), начинается с `-----BEGIN PRIVATE KEY-----`. Паролем не защищён. «Скачать» сохраняет файл с именем по CN, например `www.example.com.key`. |\n| «CSR (.csr) — отправьте в CA» | CSR в формате PEM, начинается с `-----BEGIN CERTIFICATE REQUEST-----`, подписан SHA-256. «Скачать» сохраняет, например, `www.example.com.csr`. |\n| «Сгенерировать ещё один» | Возвращает к форме, введённые значения сохраняются. Показанные ключ и CSR исчезают. |\n\nПосле нажатия «Копировать» на кнопке на 2 секунды появляется «Скопировано!». Если надпись не меняется, браузер заблокировал доступ к буферу обмена: нажмите «Скачать» или выделите текст мышью. Если CN — wildcard, имя файла содержит «*», и браузер может заменить этот символ другим; при необходимости переименуйте файл.\n\n> **Внимание**\n> Приватный ключ существует только на этой странице. Если закрыть вкладку, обновить страницу или нажать «Сгенерировать ещё один», не сохранив ключ, он будет потерян, а созданный с ним CSR станет бесполезен. Копии у BLACKBOX нет.\n\n## Что делать с файлами\n\n- **CSR (`.csr`)** отправьте в центр сертификации (CA), у которого покупаете сертификат. Коммерческий сертификат через BLACKBOX заказывается по запросу через поддержку — см. [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl). Перед отправкой CSR можно проверить по статье [Проверка CSR или сертификата с помощью openssl](#domenii.verificare-csr).\n- **Ключ (`.key`)** остаётся у вас и попадает только на сервер, где будет установлен сертификат (см. [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)). Никому его не отправляйте: ни в CA, ни в поддержку, ни по email.\n\n## Вариант с openssl прямо на сервере\n\nТе же файлы можно создать на сервере: подключитесь по SSH ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) и выполните команду ниже. Ключ сразу окажется на сервере, копировать его не придётся. Результат такой же, как у генератора: ключ RSA 2048 без пароля в формате PEM (PKCS#8) и CSR с подписью SHA-256 и именами в SAN. Замените `ДОМЕН` своим доменом (например, `example.com`), а `НАЗВАНИЕ_КОМПАНИИ` — названием компании. Пишите значения только латиницей, без диакритических знаков.\n\n```bash\nopenssl req -new -newkey rsa:2048 -nodes -sha256 -keyout ДОМЕН.key -out ДОМЕН.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=НАЗВАНИЕ_КОМПАНИИ/CN=www.ДОМЕН\" -addext \"subjectAltName=DNS:ДОМЕН,DNS:www.ДОМЕН\"\n```\n\nДля RSA 4096 замените `rsa:2048` на `rsa:4096`. Для ECDSA P-256:\n\n```bash\nopenssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -sha256 -keyout ДОМЕН.key -out ДОМЕН.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=НАЗВАНИЕ_КОМПАНИИ/CN=www.ДОМЕН\" -addext \"subjectAltName=DNS:ДОМЕН,DNS:www.ДОМЕН\"\n```\n\nПараметр `-addext` требует OpenSSL 1.1.1 или новее. Проверьте версию:\n\n```bash\nopenssl version\n```\n\nКоманда работает и на вашем компьютере, если на нём установлен openssl. В Windows используйте WSL; в Git Bash добавьте в начало команды `MSYS_NO_PATHCONV=1` и пробел, иначе значение `-subj` будет искажено и команда завершится ошибкой.\n\n## Частые вопросы\n\n**Приватный ключ потерян. Его можно восстановить?**\nНет. Ключ создаётся только в вашем браузере, BLACKBOX его не получает. Сгенерируйте новую пару и используйте новый CSR. Если сертификат уже выпущен по старому CSR, попросите CA перевыпустить его с новым CSR.\n\n**Можно ли сделать новый CSR для уже имеющегося ключа?**\nГенератор в браузере всегда создаёт новый ключ. Для существующего ключа используйте openssl:\n\n```bash\nopenssl req -new -key ДОМЕН.key -out ДОМЕН-new.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=НАЗВАНИЕ_КОМПАНИИ/CN=www.ДОМЕН\" -addext \"subjectAltName=DNS:ДОМЕН,DNS:www.ДОМЕН\"\n```\n\nОднако при продлении сертификата лучше создать новый ключ.\n\n**RSA или ECDSA?**\nRSA 2048 принимают любые браузеры и серверы. ECDSA P-256 современнее и быстрее, но не работает на очень старых системах. Если сомневаетесь, выбирайте RSA 2048.\n\n**Можно ли проверить CSR на сайте?**\nНет. Страница декодера («Декодер CSR» в меню или одноимённая кнопка на странице генератора) файлы не декодирует. Проверьте CSR с помощью openssl: [Проверка CSR или сертификата с помощью openssl](#domenii.verificare-csr).\n\n**Видит ли BLACKBOX данные, которые я ввожу?**\nНет. Ключ и CSR создаются в браузере, страница никуда их не отправляет. Данные формы пропадают, когда вы закрываете вкладку.\n",
    "en": "The “Generator CSR — Certificate Signing Request” (CSR generator — Certificate Signing Request) page (`blackbox.md/domains/csr`, menu “Domenii” (Domains) → “Generator CSR” (CSR generator)) creates a certificate signing request (CSR) and the private key that goes with it. You need both to buy a commercial SSL certificate. Everything runs in your browser: “Toate datele sunt procesate în browser-ul dvs. — cheia privată nu părăsește calculatorul.” (All data is processed in your browser — the private key never leaves your computer.)\n\n**Available to:** anyone visiting blackbox.md; you don't need an account. Russian version of the page: `blackbox.md/ru/domains/csr`.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> You don't need a CSR for a free Let's Encrypt certificate: certbot creates one on the server by itself. See [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## How to generate the CSR and key\n\n1. Open `https://blackbox.md/domains/csr`. The “Generator CSR” (CSR generator) form is below the page title and description. Until it loads, you see “Generatorul se încarcă...” (The generator is loading...) in its place.\n2. Under “Tip cheie” (Key type), choose the option you want (see the table below). “RSA 2048” is selected by default.\n3. Fill in the fields as shown in the table in the “Form fields” section below.\n4. Click “Generează CSR și cheia privată” (Generate CSR and private key). While the key is being generated, the button shows “Se generează...” (Generating...). An RSA 4096 key takes longer to generate.\n5. On the result screen, save the key first: in the “Cheia privată (.key)” (Private key (.key)) block, click “Descarcă” (Download).\n6. In the “CSR (.csr) — trimiteți la CA” (CSR (.csr) — send to the CA) block, click “Descarcă” or “Copiază” (Copy).\n\n| “Tip cheie” (Key type) | Description on screen | When to choose it |\n|---|---|---|\n| “RSA 2048” (default) | “Standard universal” (Universal standard) | Maximum compatibility. Choose it if you're not sure. |\n| “RSA 4096” | “Securitate maximă” (Maximum security) | Longer key, slower to generate. |\n| “ECDSA P-256” | “Modern, mai rapid” (Modern, faster) | New servers. Doesn't work on very old systems and browsers. |\n\n## Form fields\n\n| Field | What to enter | Value when the page opens |\n|---|---|---|\n| “Common Name (CN)” * | The exact domain, without `https://`. On-screen help: “Domeniul exact pentru certificat. Wildcard: *.domeniu.md” (The exact domain for the certificate. Wildcard: *.domeniu.md) | empty (example: “www.domeniu.md”) |\n| “Țară (ISO 2 litere)” (Country (ISO, 2 letters)) | The 2-letter country code: `MD`, `RO`, `US`. The letters are changed to uppercase automatically. | `MD` |\n| “Regiune / Județ” (Region / County) | Your region, district or municipality | `Chisinau` |\n| “Localitate” (Locality) | Your city or town | `Chisinau` |\n| “Organizație” (Organization) | The company's legal name | empty (example: “Numele Companiei SRL” (Company Name SRL)) |\n| “Departament (OU)” (Department (OU)) | The department, if you want | empty (example: “IT”) |\n| “Email contact” (Contact email) | A contact address, if you want | empty (example: “admin@domeniu.md”) |\n| “Subject Alternative Names (opțional)” (Subject Alternative Names (optional)) | All the names the certificate covers, one per line or separated by commas. On-screen help: “Un domeniu pe linie. Pentru certificate multi-domain.” (One domain per line. For multi-domain certificates.) | empty |\n\nThe “Common Name (CN)” field is required (marked with *). “Țară (ISO 2 litere)” must contain a 2-letter code; the default is `MD`. The other fields can stay empty, and empty fields are left out of the CSR. “Regiune / Județ” and “Localitate” default to `Chisinau`: change them if your company is based somewhere else. The gray text in empty fields (“IT”, “Numele Companiei SRL”) is only an example: it isn't included in the CSR unless you type it in. The form doesn't check the email address. For OV and EV certificates, the CA checks the name in “Organizație”, so enter it exactly as it appears in your company's documents.\n\n> **Tip**\n> The CN is not added to the SAN list automatically. In “Subject Alternative Names (opțional)”, enter all the names, including the one in the CN, for example `example.com` and `www.example.com`. A wildcard `*.example.com` doesn't cover `example.com`, so add it separately.\n\n## Error messages\n\n| Message | Cause | What to do |\n|---|---|---|\n| “Common Name (CN) este obligatoriu” (Common Name (CN) is required) | The CN field is empty. | Enter the domain. |\n| “Country trebuie să fie un cod ISO de 2 litere (ex: MD, RO, US)” (Country must be a 2-letter ISO code (e.g. MD, RO, US)) | “Țară (ISO 2 litere)” (Country (ISO, 2 letters)) is empty or has only one character. | Enter the 2-letter code. |\n| “SAN invalid (trebuie nume DNS valide): …” (Invalid SAN (valid DNS names required): …) | The entries shown at the end of the message are not valid domain names. | Enter only complete domain names with their extension (`example.com`, not `domeniu`): no `http://`, no `/`, no IP addresses. Use a wildcard only as `*.` at the beginning. |\n| “Eroare la generare: …” (Generation error: …) | The browser could not generate the key. | Reload the page or try an up-to-date browser. Alternatively, use openssl (see below). |\n\n## The result screen\n\nAfter generation, the result replaces the form:\n\n| Element | What it contains |\n|---|---|\n| “Salvați cheia privată ACUM” (Save the private key NOW) | The warning: “Cheia nu poate fi recuperată după ce părăsiți pagina. Descărcați-o sau copiați-o într-un loc sigur.” (The key cannot be recovered after you leave the page. Download it or copy it to a safe place.) |\n| “Cheia privată (.key)” (Private key (.key)) | The key in PEM format (PKCS#8), starting with `-----BEGIN PRIVATE KEY-----`. It is not password-protected. “Descarcă” (Download) saves the file under the CN's name, for example `www.example.com.key`. |\n| “CSR (.csr) — trimiteți la CA” (CSR (.csr) — send to the CA) | The CSR in PEM format, starting with `-----BEGIN CERTIFICATE REQUEST-----`, signed with SHA-256. “Descarcă” saves, for example, `www.example.com.csr`. |\n| “Generează altul” (Generate another) | Takes you back to the form and keeps the values you entered. The key and CSR shown on screen disappear. |\n\nAfter you click “Copiază” (Copy), the button shows “Copiat!” (Copied!) for 2 seconds. If the label doesn't change, the browser has blocked access to the clipboard: use “Descarcă” or select the text with your mouse. With a wildcard CN, the file name contains “*”, and the browser may replace it with another character; rename the file if needed.\n\n> **Warning**\n> The private key exists only on this page. If you close the tab, reload the page or click “Generează altul” before saving it, the key is lost, and the CSR made with it can no longer be used. BLACKBOX doesn't have a copy.\n\n## What to do with the files\n\n- **The CSR (`.csr`)** goes to the CA you're buying the certificate from. A commercial certificate through BLACKBOX is ordered on request, through support; see [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl). Before you send it, you can check it with the steps in [Checking a CSR or certificate with openssl](#domenii.verificare-csr).\n- **The key (`.key`)** stays with you and goes only onto the server where you install the certificate (see [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)). Don't send it to anyone: not to the CA, not to support, not by email.\n\n## The openssl option, directly on the server\n\nYou can generate the same files on the server: connect over SSH ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) and run the command below. The key stays on the server, so you don't need to copy it there. The result is the same as with the generator: an RSA 2048 key without a password in PEM format (PKCS#8) and a CSR signed with SHA-256, with the names in the SAN. Replace `DOMAIN` with your domain (for example `example.com`) and `COMPANY_NAME` with your company's name. Use only Latin letters in the values, without diacritics.\n\n```bash\nopenssl req -new -newkey rsa:2048 -nodes -sha256 -keyout DOMAIN.key -out DOMAIN.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=COMPANY_NAME/CN=www.DOMAIN\" -addext \"subjectAltName=DNS:DOMAIN,DNS:www.DOMAIN\"\n```\n\nFor RSA 4096, replace `rsa:2048` with `rsa:4096`. For ECDSA P-256:\n\n```bash\nopenssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -sha256 -keyout DOMAIN.key -out DOMAIN.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=COMPANY_NAME/CN=www.DOMAIN\" -addext \"subjectAltName=DNS:DOMAIN,DNS:www.DOMAIN\"\n```\n\nThe `-addext` option requires OpenSSL 1.1.1 or newer. Check your version:\n\n```bash\nopenssl version\n```\n\nThe command also works on your own computer if it has openssl. On Windows, use WSL; in Git Bash, type `MSYS_NO_PATHCONV=1` and a space at the beginning of the command, otherwise the `-subj` value gets changed and the command fails.\n\n## Frequently asked questions\n\n**I lost the private key. Can you recover it?**\nNo. The key is generated only in your browser, and BLACKBOX never receives it. Generate a new pair and use the new CSR. If the certificate has already been issued for the old CSR, ask the CA to reissue it with the new CSR.\n\n**Can I make a new CSR for a key I already have?**\nThe browser generator always creates a new key. For an existing key, use openssl:\n\n```bash\nopenssl req -new -key DOMAIN.key -out DOMAIN-new.csr -subj \"/C=MD/ST=Chisinau/L=Chisinau/O=COMPANY_NAME/CN=www.DOMAIN\" -addext \"subjectAltName=DNS:DOMAIN,DNS:www.DOMAIN\"\n```\n\nEven so, when you renew the certificate it's better to generate a new key.\n\n**RSA or ECDSA?**\nRSA 2048 is accepted by every browser and server. ECDSA P-256 is more modern and faster, but doesn't work on very old systems. If you're not sure, choose RSA 2048.\n\n**Can I check the CSR on the website?**\nNo. The decoder page (“CSR Decodor” (CSR decoder) in the menu, or the “Decoder CSR” (CSR decoder) button on the generator page) doesn't decode files. Check the CSR with openssl: [Checking a CSR or certificate with openssl](#domenii.verificare-csr).\n\n**Does BLACKBOX see the data I enter?**\nNo. The key and CSR are generated in the browser, and the page doesn't send them anywhere. The form data is lost when you close the tab.\n"
   }
  },
  {
   "id": "domenii.verificare-csr",
   "section": "domenii",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/verificare-csr/",
    "ru": "https://docs.blackbox.md/ru/domenii/verificare-csr/",
    "en": "https://docs.blackbox.md/en/domenii/verificare-csr/"
   },
   "title": {
    "ro": "Verificarea unui CSR sau certificat cu openssl",
    "ru": "Проверка CSR или сертификата с помощью openssl",
    "en": "Checking a CSR or certificate with openssl"
   },
   "summary": {
    "ro": "Comenzile openssl pentru a citi un CSR, a verifica potrivirea cu cheia privată și a inspecta un certificat instalat.",
    "ru": "Команды openssl, чтобы прочитать CSR, проверить соответствие приватному ключу и посмотреть установленный сертификат.",
    "en": "The openssl commands to read a CSR, check that it matches the private key and inspect an installed certificate."
   },
   "markdown": {
    "ro": "Cu utilitarul `openssl` verificați un CSR înainte să-l trimiteți la autoritatea de certificare (CA) și certificatul după ce îl primiți: ce domenii conțin, dacă se potrivesc cu cheia privată și până când este valabil certificatul. Pagina „Decoder CSR” de pe blackbox.md (`blackbox.md/domains/csr-decode`, meniul „Domenii” → „CSR Decodor”) nu decodează fișiere: afișează mesajul „Decoderul nostru online este momentan în construcție.” și recomandă tot openssl. Verificările automate descrise pe pagină le faceți dvs., cu comenzile de mai jos.\n\n**Disponibil pentru:** oricine. Comenzile rulează pe calculatorul dvs. sau pe server; nu aveți nevoie de cont blackbox.md.\n\n## Unde rulați openssl\n\n| Unde | Ce folosiți |\n|---|---|\n| Linux și macOS | aplicația Terminal; `openssl` este de obicei deja instalat |\n| Windows | Git Bash (se instalează împreună cu Git for Windows) sau WSL (Windows Subsystem for Linux, cu Ubuntu); în PowerShell și în cmd, `openssl` nu există implicit |\n| Serverul BLACKBOX | linia de comandă a serverului, după conectarea prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh) |\n\nDacă pe server lipsește comanda `openssl`, instalați-o. Ubuntu și Debian:\n\n```bash\napt update\napt install openssl\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf install openssl\n```\n\nExemplele folosesc fișierele `domeniu.csr` (cererea), `domeniu.key` (cheia privată) și `certificat.crt` (certificatul primit de la CA). Înlocuiți-le cu numele fișierelor dvs. sau cu calea completă. Generatorul de pe blackbox.md numește fișierele după câmpul „Common Name (CN)”, de exemplu `www.example.com.csr` și `www.example.com.key`: [Generatorul CSR din browser](#domenii.generator-csr).\n\n> **Securitate**\n> CSR-ul și certificatul sunt publice și le puteți trimite oricui. Cheia privată (`.key`) nu o trimiteți nimănui, nici autorității de certificare, nici suportului, și nu o încărcați în site-uri de verificare. Comenzile cu cheia le rulați doar pe calculatorul dvs. sau pe server.\n\n## Citiți conținutul unui CSR\n\n```bash\nopenssl req -in domeniu.csr -noout -text\n```\n\nRezultatul arată astfel (fragment):\n\n```text\nCertificate Request:\n    Data:\n        Version: 1 (0x0)\n        Subject: C=MD, ST=Chisinau, L=Chisinau, O=Numele Companiei SRL, CN=www.example.com\n        Subject Public Key Info:\n            Public Key Algorithm: rsaEncryption\n                Public-Key: (2048 bit)\n        …\n        Attributes:\n            Requested Extensions:\n                X509v3 Subject Alternative Name:\n                    DNS:example.com, DNS:www.example.com\n    Signature Algorithm: sha256WithRSAEncryption\n```\n\n| Rândul | Ce arată |\n|---|---|\n| `Subject:` | datele cererii: `CN` (domeniul), `O` (organizația), `OU` (departamentul), `L` (localitatea), `ST` (regiunea), `C` (țara) |\n| `Public-Key:` | lungimea cheii: `(2048 bit)` sau `(4096 bit)` la RSA; `(256 bit)` și `NIST CURVE: P-256` la ECDSA |\n| `X509v3 Subject Alternative Name:` | lista SAN: toate numele `DNS:` pe care le va acoperi certificatul |\n| `Signature Algorithm:` | algoritmul semnăturii: `sha256WithRSAEncryption` (RSA) sau `ecdsa-with-SHA256` (ECDSA) |\n\nDoar lista SAN:\n\n```bash\nopenssl req -in domeniu.csr -noout -text | grep -A1 \"Subject Alternative Name\"\n```\n\nDacă această comandă nu afișează nimic, CSR-ul nu are SAN.\n\n### Verificați semnătura CSR-ului\n\n```bash\nopenssl req -in domeniu.csr -noout -verify\n```\n\nLa un CSR intact, comanda afișează `Certificate request self-signature verify OK` sau, în versiunile mai vechi de OpenSSL (1.1.1), `verify OK`. Dacă apare o eroare, fișierul este deteriorat sau a fost modificat după generare: generați un CSR nou.\n\n## Lista de verificare înainte de a trimite CSR-ul\n\n| Ce verificați | Corect | Greșit |\n|---|---|---|\n| Cheia | RSA de cel puțin 2048 de biți (`Public-Key: (2048 bit)` sau `(4096 bit)`) ori ECDSA P-256 (`NIST CURVE: P-256`) | RSA sub 2048 de biți: autoritățile de certificare refuză cererea |\n| Common Name | `CN=` este exact domeniul certificatului, de exemplu `www.example.com`; la wildcard, `*.example.com` | greșeli de tastare, de exemplu `www.exampel.com` în loc de `www.example.com` |\n| SAN | lista conține toate numele, inclusiv varianta cu și fără `www`: `DNS:example.com, DNS:www.example.com` | lipsește una dintre variante sau lipsește tot rândul SAN |\n| Semnătura | `sha256WithRSAEncryption` sau `ecdsa-with-SHA256` (SHA-256) | `sha1WithRSAEncryption` (SHA-1, învechit) |\n| Organizația și țara | `O=` este denumirea exactă a companiei, fără greșeli; `C=` este codul țării din 2 litere, de exemplu `MD` | denumire prescurtată sau cu greșeli: contează la certificatele OV și EV, la care CA verifică organizația |\n\n> **Important**\n> Generatorul de pe blackbox.md nu adaugă automat Common Name în lista SAN. Dacă ați lăsat gol câmpul „Subject Alternative Names (opțional)”, CSR-ul nu are SAN. Browserele verifică numele din SAN, așa că scrieți acolo ambele variante, de exemplu `example.com` și `www.example.com`. O greșeală în CN sau în SAN înseamnă un certificat emis pentru alt domeniu, care trebuie reemis.\n\n## Verificați că cheia se potrivește cu CSR-ul și cu certificatul\n\nCertificatul funcționează doar cu cheia privată cu care a fost generat CSR-ul. Dacă nu se potrivesc, serverul web refuză configurația (nginx raportează `key values mismatch`).\n\n### Chei RSA: comparați modulul\n\n```bash\nopenssl rsa -noout -modulus -in domeniu.key | openssl md5\nopenssl req -noout -modulus -in domeniu.csr | openssl md5\nopenssl x509 -noout -modulus -in certificat.crt | openssl md5\n```\n\nFiecare comandă afișează un rezumat, de exemplu `MD5(stdin)= 3b81747c6e7e0f94f6a1dff92ecc6045` (în versiunile mai vechi, `(stdin)= …`). Valoarea trebuie să fie identică pe toate trei rândurile. Înainte să primiți certificatul, comparați doar primele două.\n\nDacă prima comandă afișează `Not an RSA key`, cheia este ECDSA: folosiți metoda următoare.\n\n### Orice tip de cheie: comparați cheia publică\n\n```bash\nopenssl pkey -in domeniu.key -pubout | openssl sha256\nopenssl req -in domeniu.csr -noout -pubkey | openssl sha256\nopenssl x509 -in certificat.crt -noout -pubkey | openssl sha256\n```\n\nRegula este aceeași: rezumatele trebuie să coincidă. Metoda funcționează și pentru RSA, și pentru ECDSA.\n\nDacă valorile diferă, căutați cheia generată odată cu CSR-ul. Dacă ați pierdut-o, generați o cheie și un CSR nou și cereți autorității de certificare reemiterea certificatului.\n\n## Inspectați un certificat\n\n### Fișierul primit de la CA\n\n```bash\nopenssl x509 -in certificat.crt -noout -text\n```\n\nVerificați aceleași rânduri ca la CSR (`Subject:`, `Public-Key:`, `Subject Alternative Name`), plus `Issuer:` (autoritatea care a emis certificatul) și `Validity` (`Not Before` și `Not After`). La certificat, rândul `Signature Algorithm:` arată semnătura autorității de certificare: SHA-256 sau SHA-384 (de exemplu, `ecdsa-with-SHA384`) sunt corecte; doar SHA-1 este învechit.\n\nPe scurt, titularul, emitentul și perioada de valabilitate:\n\n```bash\nopenssl x509 -in certificat.crt -noout -subject -issuer -dates\n```\n\n```text\nsubject=CN=www.example.com\nissuer=C=…, O=…, CN=…\nnotBefore=Oct  9 10:01:55 2026 GMT\nnotAfter=Jan  7 10:01:55 2027 GMT\n```\n\nOrele sunt în GMT (UTC); `notAfter` este data expirării. Ca să aflați dacă certificatul expiră în următoarele 30 de zile (2 592 000 de secunde):\n\n```bash\nopenssl x509 -in certificat.crt -noout -checkend 2592000\n```\n\nRăspunsul este `Certificate will not expire` (nu expiră în acest interval) sau `Certificate will expire` (reînnoiți-l).\n\n### Certificatul instalat pe server\n\nCalea către certificat este în configurația serverului web: directiva `ssl_certificate` la nginx, `SSLCertificateFile` la Apache. O găsiți cu:\n\n```bash\ngrep -rE \"ssl_certificate |SSLCertificateFile\" /etc/nginx /etc/apache2 /etc/httpd 2>/dev/null\n```\n\nCertificatele Let's Encrypt obținute cu certbot sunt în `/etc/letsencrypt/live/DOMENIU/` (de obicei, primul domeniu din certificat): `fullchain.pem` conține certificatul și lanțul, `cert.pem` doar certificatul site-ului. Comanda `openssl x509` citește primul certificat din fișier, adică certificatul site-ului:\n\n```bash\nopenssl x509 -in /etc/letsencrypt/live/DOMENIU/fullchain.pem -noout -subject -dates\n```\n\n### Site-ul public: ce vede vizitatorul\n\n```bash\nopenssl s_client -connect DOMENIU:443 -servername DOMENIU </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nÎnlocuiți `DOMENIU` în ambele locuri cu numele site-ului, de exemplu `www.example.com`. Opțiunea `-servername` transmite numele site-ului (SNI). Este obligatorie când la `-connect` scrieți o adresă IP: fără ea, un server cu mai multe site-uri pe aceeași adresă vă poate răspunde cu certificatul altui site.\n\nDacă domeniul trece prin proxy-ul Cloudflare, comanda de mai sus arată certificatul Cloudflare. Ca să vedeți certificatul de pe server, conectați-vă direct la adresa IP a serverului:\n\n```bash\nopenssl s_client -connect IP_SERVER:443 -servername DOMENIU </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nVerificați și lanțul de certificate:\n\n```bash\nopenssl s_client -connect DOMENIU:443 -servername DOMENIU </dev/null 2>/dev/null | grep -m1 \"Verify return code\"\n```\n\n| Rezultat | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `0 (ok)` | certificatul este valabil, iar lanțul este complet | nimic |\n| `10 (certificate has expired)` | certificatul a expirat | reînnoiți-l și reîncărcați serverul web |\n| `18 (self-signed certificate)` (în versiunile mai vechi, `self signed certificate`) | certificatul este autosemnat, nu emis de o CA | instalați certificatul primit de la CA |\n| `21 (unable to verify the first certificate)` | serverul nu trimite certificatul intermediar | instalați certificatul împreună cu lanțul primit de la CA (la Let's Encrypt, `fullchain.pem`) |\n\nConfigurarea HTTPS pe server: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Mesaje de eroare frecvente\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| `No such file or directory` | numele sau calea fișierului sunt greșite | rulați comanda în folderul cu fișierul sau dați calea completă |\n| `unable to load X509 request` | fișierul nu este un CSR, este incomplet sau îi lipsesc rândurile `-----BEGIN CERTIFICATE REQUEST-----` și `-----END CERTIFICATE REQUEST-----` | deschideți fișierul într-un editor de text și verificați că blocul este întreg; copiați-l din nou |\n| `Could not find certificate`, `Could not read certificate` sau `unable to load certificate` | fișierul nu este un certificat sau este în format binar (DER) | verificați că ați indicat certificatul, nu CSR-ul sau cheia; pentru un fișier binar (`.cer`, `.der`), adăugați `-inform der` după `openssl x509` |\n| `Could not find private key`, `Could not read private key` sau `unable to load Private Key` | fișierul nu este o cheie privată | indicați fișierul care începe cu `-----BEGIN PRIVATE KEY-----` (sau `-----BEGIN RSA PRIVATE KEY-----`, `-----BEGIN EC PRIVATE KEY-----`) |\n| `Not an RSA key` | cheia este ECDSA | comparați cheia publică, nu modulul |\n\n## Întrebări frecvente\n\n**Pot verifica un CSR generat de altcineva?**\nDa. CSR-ul conține doar cheia publică și datele cererii, iar cheia privată rămâne la cel care l-a generat. Comenzile din secțiunea „Citiți conținutul unui CSR” funcționează pentru orice CSR.\n\n**Am pierdut cheia privată. O pot recupera?**\nNu. Generatorul de pe blackbox.md nu păstrează cheia: „Cheia nu poate fi recuperată după ce părăsiți pagina.” Generați o cheie și un CSR nou și cereți autorității de certificare reemiterea certificatului.\n\n**Pentru Let's Encrypt am nevoie de un CSR?**\nNu, certbot îl generează automat. Certificatul obținut îl verificați cu comenzile din „Inspectați un certificat”; pe server, comanda `certbot certificates` arată domeniile și data expirării fiecărui certificat. Diferențele dintre tipurile de certificate: [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl).\n\n**Mă poate ajuta BLACKBOX cu verificarea?**\nScrieți suportului și trimiteți CSR-ul sau certificatul, niciodată cheia privată: [Cum contactați suportul BLACKBOX](#suport.contact).\n",
    "ru": "Утилитой `openssl` можно проверить CSR перед отправкой в центр сертификации (CA), а затем и полученный сертификат: какие домены в них указаны, подходят ли они к приватному ключу и до какой даты действует сертификат. Страница «Декодер CSR» на blackbox.md (`blackbox.md/ru/domains/csr-decode`, меню «Домены» → «Декодер CSR») файлы не декодирует: на ней показано сообщение «Наш онлайн-декодер сейчас в разработке» и тоже предлагается openssl. Автоматические проверки, описанные на этой странице, выполните сами командами из статьи.\n\n**Доступно:** всем. Команды выполняются на вашем компьютере или на сервере, аккаунт blackbox.md не нужен.\n\n## Где запускать openssl\n\n| Где | Чем пользоваться |\n|---|---|\n| Linux и macOS | приложение «Терминал»; `openssl` обычно уже установлен |\n| Windows | Git Bash (устанавливается вместе с Git for Windows) или WSL (подсистема Windows для Linux с Ubuntu); в PowerShell и cmd команды `openssl` по умолчанию нет |\n| Сервер BLACKBOX | командная строка сервера после подключения по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh) |\n\nЕсли на сервере нет команды `openssl`, установите её. Ubuntu и Debian:\n\n```bash\napt update\napt install openssl\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf install openssl\n```\n\nВ примерах используются файлы `domeniu.csr` (запрос), `domeniu.key` (приватный ключ) и `certificat.crt` (сертификат от CA). Подставьте имена своих файлов или полный путь к ним. Генератор на blackbox.md называет файлы по полю «Common Name (CN)», например `www.example.com.csr` и `www.example.com.key`: [Генератор CSR в браузере](#domenii.generator-csr).\n\n> **Безопасность**\n> CSR и сертификат — публичные данные, их можно отправлять кому угодно. Приватный ключ (`.key`) не передавайте никому — ни центру сертификации, ни поддержке — и не загружайте на сайты для проверки. Команды с ключом выполняйте только на своём компьютере или на сервере.\n\n## Как прочитать CSR\n\n```bash\nopenssl req -in domeniu.csr -noout -text\n```\n\nРезультат выглядит так (фрагмент):\n\n```text\nCertificate Request:\n    Data:\n        Version: 1 (0x0)\n        Subject: C=MD, ST=Chisinau, L=Chisinau, O=Numele Companiei SRL, CN=www.example.com\n        Subject Public Key Info:\n            Public Key Algorithm: rsaEncryption\n                Public-Key: (2048 bit)\n        …\n        Attributes:\n            Requested Extensions:\n                X509v3 Subject Alternative Name:\n                    DNS:example.com, DNS:www.example.com\n    Signature Algorithm: sha256WithRSAEncryption\n```\n\n| Строка | Что показывает |\n|---|---|\n| `Subject:` | данные запроса: `CN` (домен), `O` (организация), `OU` (подразделение), `L` (населённый пункт), `ST` (регион), `C` (страна) |\n| `Public-Key:` | длина ключа: `(2048 bit)` или `(4096 bit)` для RSA; `(256 bit)` и `NIST CURVE: P-256` для ECDSA |\n| `X509v3 Subject Alternative Name:` | список SAN: все имена `DNS:`, которые будет покрывать сертификат |\n| `Signature Algorithm:` | алгоритм подписи: `sha256WithRSAEncryption` (RSA) или `ecdsa-with-SHA256` (ECDSA) |\n\nТолько список SAN:\n\n```bash\nopenssl req -in domeniu.csr -noout -text | grep -A1 \"Subject Alternative Name\"\n```\n\nЕсли команда ничего не вывела, в CSR нет SAN.\n\n### Проверка подписи CSR\n\n```bash\nopenssl req -in domeniu.csr -noout -verify\n```\n\nДля неповреждённого CSR команда выводит `Certificate request self-signature verify OK`, а в старых версиях OpenSSL (1.1.1) — `verify OK`. Если появилась ошибка, файл повреждён или изменён после генерации: создайте CSR заново.\n\n## Чек-лист перед отправкой CSR\n\n| Что проверить | Правильно | Ошибка |\n|---|---|---|\n| Ключ | RSA не короче 2048 бит (`Public-Key: (2048 bit)` или `(4096 bit)`) либо ECDSA P-256 (`NIST CURVE: P-256`) | RSA короче 2048 бит: центры сертификации отклоняют такой запрос |\n| Common Name | `CN=` — точное имя домена для сертификата, например `www.example.com`; для wildcard — `*.example.com` | опечатка, например `www.exampel.com` вместо `www.example.com` |\n| SAN | в списке все имена, в том числе с `www` и без него: `DNS:example.com, DNS:www.example.com` | нет одного из вариантов или вообще нет строки SAN |\n| Подпись | `sha256WithRSAEncryption` или `ecdsa-with-SHA256` (SHA-256) | `sha1WithRSAEncryption` (устаревший SHA-1) |\n| Организация и страна | `O=` — точное название компании без опечаток; `C=` — двухбуквенный код страны, например `MD` | сокращённое или искажённое название: это важно для сертификатов OV и EV, для которых CA проверяет организацию |\n\n> **Важно**\n> Генератор на blackbox.md не добавляет Common Name в список SAN автоматически. Если поле «Subject Alternative Names (опционально)» осталось пустым, в CSR не будет SAN. Браузеры проверяют именно имена из SAN, поэтому укажите там оба варианта, например `example.com` и `www.example.com`. Ошибка в CN или SAN означает, что сертификат выпустят на другой домен и его придётся перевыпускать.\n\n## Соответствие ключа, CSR и сертификата\n\nСертификат работает только с тем приватным ключом, с которым был создан CSR. Если они не совпадают, веб-сервер не примет конфигурацию (nginx сообщает `key values mismatch`).\n\n### RSA-ключи: сравнение модуля\n\n```bash\nopenssl rsa -noout -modulus -in domeniu.key | openssl md5\nopenssl req -noout -modulus -in domeniu.csr | openssl md5\nopenssl x509 -noout -modulus -in certificat.crt | openssl md5\n```\n\nКаждая команда выводит хеш, например `MD5(stdin)= 3b81747c6e7e0f94f6a1dff92ecc6045` (в старых версиях — `(stdin)= …`). Значение должно совпадать во всех трёх строках. Пока сертификата нет, сравните первые две.\n\nЕсли первая команда выводит `Not an RSA key`, ключ — ECDSA: воспользуйтесь следующим способом.\n\n### Ключ любого типа: сравнение публичного ключа\n\n```bash\nopenssl pkey -in domeniu.key -pubout | openssl sha256\nopenssl req -in domeniu.csr -noout -pubkey | openssl sha256\nopenssl x509 -in certificat.crt -noout -pubkey | openssl sha256\n```\n\nПравило то же: хеши должны совпадать. Способ подходит и для RSA, и для ECDSA.\n\nЕсли значения различаются, найдите ключ, созданный вместе с этим CSR. Если ключ утерян, создайте новый ключ и новый CSR и попросите центр сертификации перевыпустить сертификат.\n\n## Как посмотреть сертификат\n\n### Файл от центра сертификации\n\n```bash\nopenssl x509 -in certificat.crt -noout -text\n```\n\nПроверьте те же строки, что и в CSR (`Subject:`, `Public-Key:`, `Subject Alternative Name`), а также `Issuer:` (кто выпустил сертификат) и `Validity` (`Not Before` и `Not After`). В сертификате строка `Signature Algorithm:` показывает подпись центра сертификации: SHA-256 и SHA-384 (например, `ecdsa-with-SHA384`) — это нормально, устарел только SHA-1.\n\nКратко — владелец, издатель и срок действия:\n\n```bash\nopenssl x509 -in certificat.crt -noout -subject -issuer -dates\n```\n\n```text\nsubject=CN=www.example.com\nissuer=C=…, O=…, CN=…\nnotBefore=Oct  9 10:01:55 2026 GMT\nnotAfter=Jan  7 10:01:55 2027 GMT\n```\n\nВремя указано по GMT (UTC); `notAfter` — дата окончания действия. Проверить, не истекает ли сертификат в ближайшие 30 дней (2 592 000 секунд):\n\n```bash\nopenssl x509 -in certificat.crt -noout -checkend 2592000\n```\n\nОтвет — `Certificate will not expire` (в этот срок не истекает) или `Certificate will expire` (пора продлевать).\n\n### Сертификат, установленный на сервере\n\nПуть к сертификату указан в конфигурации веб-сервера: директива `ssl_certificate` в nginx, `SSLCertificateFile` в Apache. Найти его можно так:\n\n```bash\ngrep -rE \"ssl_certificate |SSLCertificateFile\" /etc/nginx /etc/apache2 /etc/httpd 2>/dev/null\n```\n\nСертификаты Let's Encrypt, полученные через certbot, лежат в `/etc/letsencrypt/live/ДОМЕН/` (обычно это первый домен сертификата): `fullchain.pem` содержит сертификат и цепочку, `cert.pem` — только сертификат сайта. Команда `openssl x509` читает первый сертификат в файле, то есть сертификат сайта:\n\n```bash\nopenssl x509 -in /etc/letsencrypt/live/ДОМЕН/fullchain.pem -noout -subject -dates\n```\n\n### Сайт в интернете: что видит посетитель\n\n```bash\nopenssl s_client -connect ДОМЕН:443 -servername ДОМЕН </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nЗамените `ДОМЕН` в обоих местах на имя сайта, например `www.example.com`. Параметр `-servername` передаёт имя сайта (SNI). Он обязателен, если в `-connect` указан IP-адрес: без него сервер, на котором размещено несколько сайтов, может вернуть сертификат другого сайта.\n\nЕсли домен проходит через прокси Cloudflare, команда выше покажет сертификат Cloudflare. Чтобы посмотреть сертификат на самом сервере, подключитесь напрямую к его IP-адресу:\n\n```bash\nopenssl s_client -connect IP_СЕРВЕРА:443 -servername ДОМЕН </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nПроверьте и цепочку сертификатов:\n\n```bash\nopenssl s_client -connect ДОМЕН:443 -servername ДОМЕН </dev/null 2>/dev/null | grep -m1 \"Verify return code\"\n```\n\n| Результат | Что это значит | Что делать |\n|---|---|---|\n| `0 (ok)` | сертификат действителен, цепочка полная | ничего |\n| `10 (certificate has expired)` | срок действия сертификата истёк | продлите сертификат и перезагрузите конфигурацию веб-сервера |\n| `18 (self-signed certificate)` (в старых версиях — `self signed certificate`) | сертификат самоподписанный, его выпустил не CA | установите сертификат, полученный от CA |\n| `21 (unable to verify the first certificate)` | сервер не отдаёт промежуточный сертификат | установите сертификат вместе с цепочкой от CA (для Let's Encrypt — `fullchain.pem`) |\n\nКак настроить HTTPS на сервере: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Частые сообщения об ошибках\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| `No such file or directory` | неверное имя файла или путь | запустите команду в папке с файлом или укажите полный путь |\n| `unable to load X509 request` | файл не является CSR, обрезан или в нём нет строк `-----BEGIN CERTIFICATE REQUEST-----` и `-----END CERTIFICATE REQUEST-----` | откройте файл в текстовом редакторе и убедитесь, что блок целый; скопируйте его заново |\n| `Could not find certificate`, `Could not read certificate` или `unable to load certificate` | файл не является сертификатом или записан в двоичном формате (DER) | проверьте, что указали сертификат, а не CSR или ключ; для двоичного файла (`.cer`, `.der`) добавьте `-inform der` после `openssl x509` |\n| `Could not find private key`, `Could not read private key` или `unable to load Private Key` | файл не является приватным ключом | укажите файл, который начинается с `-----BEGIN PRIVATE KEY-----` (или `-----BEGIN RSA PRIVATE KEY-----`, `-----BEGIN EC PRIVATE KEY-----`) |\n| `Not an RSA key` | ключ ECDSA | сравнивайте публичный ключ, а не модуль |\n\n## Частые вопросы\n\n**Можно ли проверить CSR, созданный кем-то другим?**\nДа. В CSR есть только публичный ключ и данные запроса, а приватный ключ остаётся у того, кто его создал. Команды из раздела «Как прочитать CSR» работают с любым CSR.\n\n**Я потерял приватный ключ. Можно ли его восстановить?**\nНет. Генератор на blackbox.md ключ не хранит: «Ключ невозможно восстановить после того, как вы покинете страницу.» Создайте новый ключ и CSR и попросите центр сертификации перевыпустить сертификат.\n\n**Нужен ли CSR для Let's Encrypt?**\nНет, certbot создаёт его автоматически. Полученный сертификат проверяйте командами из раздела «Как посмотреть сертификат»; на сервере команда `certbot certificates` показывает домены и дату окончания каждого сертификата. Чем различаются типы сертификатов: [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl).\n\n**Может ли BLACKBOX помочь с проверкой?**\nНапишите в поддержку и приложите CSR или сертификат — но никогда не приватный ключ: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n",
    "en": "Use the `openssl` utility to check a CSR before you send it to the certificate authority (CA), and to check the certificate once you receive it: which domains they contain, whether they match the private key, and how long the certificate is valid. The “Decoder CSR” (CSR decoder) page on blackbox.md (`blackbox.md/domains/csr-decode`, menu “Domenii” (Domains) → “CSR Decodor” (CSR decoder)) does not decode files: it shows the message “Decoderul nostru online este momentan în construcție.” (Our online decoder is currently under construction.) and also recommends openssl. You run the automatic checks described on that page yourself, with the commands below.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** anyone. The commands run on your computer or on the server; you don't need a blackbox.md account.\n\n## Where to run openssl\n\n| Where | What to use |\n|---|---|\n| Linux and macOS | the Terminal app; `openssl` is usually already installed |\n| Windows | Git Bash (installed together with Git for Windows) or WSL (Windows Subsystem for Linux, with Ubuntu); `openssl` is not available by default in PowerShell or cmd |\n| Your BLACKBOX server | the server's command line, after you connect over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh) |\n\nIf the `openssl` command is missing on the server, install it. Ubuntu and Debian:\n\n```bash\napt update\napt install openssl\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf install openssl\n```\n\nThe examples use the files `domeniu.csr` (the request), `domeniu.key` (the private key) and `certificat.crt` (the certificate you received from the CA). Replace them with your own file names or with the full path. The generator on blackbox.md names the files after the “Common Name (CN)” field, for example `www.example.com.csr` and `www.example.com.key`: [Browser-based CSR generator](#domenii.generator-csr).\n\n> **Security**\n> The CSR and the certificate are public, and you can send them to anyone. Never send the private key (`.key`) to anyone, not to the certificate authority and not to support, and do not upload it to checker websites. Run the commands that use the key only on your computer or on the server.\n\n## Read the contents of a CSR\n\n```bash\nopenssl req -in domeniu.csr -noout -text\n```\n\nThe output looks like this (excerpt):\n\n```text\nCertificate Request:\n    Data:\n        Version: 1 (0x0)\n        Subject: C=MD, ST=Chisinau, L=Chisinau, O=Numele Companiei SRL, CN=www.example.com\n        Subject Public Key Info:\n            Public Key Algorithm: rsaEncryption\n                Public-Key: (2048 bit)\n        …\n        Attributes:\n            Requested Extensions:\n                X509v3 Subject Alternative Name:\n                    DNS:example.com, DNS:www.example.com\n    Signature Algorithm: sha256WithRSAEncryption\n```\n\n| Line | What it shows |\n|---|---|\n| `Subject:` | the request details: `CN` (the domain), `O` (organization), `OU` (department), `L` (city or town), `ST` (region), `C` (country) |\n| `Public-Key:` | the key length: `(2048 bit)` or `(4096 bit)` for RSA; `(256 bit)` and `NIST CURVE: P-256` for ECDSA |\n| `X509v3 Subject Alternative Name:` | the SAN list: all the `DNS:` names the certificate will cover |\n| `Signature Algorithm:` | the signature algorithm: `sha256WithRSAEncryption` (RSA) or `ecdsa-with-SHA256` (ECDSA) |\n\nTo show only the SAN list:\n\n```bash\nopenssl req -in domeniu.csr -noout -text | grep -A1 \"Subject Alternative Name\"\n```\n\nIf this command prints nothing, the CSR has no SAN.\n\n### Check the CSR signature\n\n```bash\nopenssl req -in domeniu.csr -noout -verify\n```\n\nFor an intact CSR, the command prints `Certificate request self-signature verify OK` or, in older OpenSSL versions (1.1.1), `verify OK`. If you get an error, the file is damaged or was changed after it was generated: generate a new CSR.\n\n## Checklist before you submit the CSR\n\n| What to check | Correct | Wrong |\n|---|---|---|\n| Key | RSA of at least 2048 bits (`Public-Key: (2048 bit)` or `(4096 bit)`) or ECDSA P-256 (`NIST CURVE: P-256`) | RSA below 2048 bits: certificate authorities reject the request |\n| Common Name | `CN=` is exactly the certificate's domain, for example `www.example.com`; for a wildcard, `*.example.com` | typos, for example `www.exampel.com` instead of `www.example.com` |\n| SAN | the list contains all the names, including the version with and without `www`: `DNS:example.com, DNS:www.example.com` | one of the versions is missing, or the whole SAN line is missing |\n| Signature | `sha256WithRSAEncryption` or `ecdsa-with-SHA256` (SHA-256) | `sha1WithRSAEncryption` (SHA-1, outdated) |\n| Organization and country | `O=` is the exact company name, without typos; `C=` is the 2-letter country code, for example `MD` | an abbreviated or misspelled name: this matters for OV and EV certificates, where the CA verifies the organization |\n\n> **Important**\n> The generator on blackbox.md does not automatically add the Common Name to the SAN list. If you left the “Subject Alternative Names (opțional)” (Subject Alternative Names (optional)) field empty, the CSR has no SAN. Browsers check the names in the SAN, so enter both versions there, for example `example.com` and `www.example.com`. A mistake in the CN or the SAN means a certificate issued for a different domain, which then has to be reissued.\n\n## Check that the key matches the CSR and the certificate\n\nA certificate works only with the private key that was used to generate the CSR. If they don't match, the web server rejects the configuration (nginx reports `key values mismatch`).\n\n### RSA keys: compare the modulus\n\n```bash\nopenssl rsa -noout -modulus -in domeniu.key | openssl md5\nopenssl req -noout -modulus -in domeniu.csr | openssl md5\nopenssl x509 -noout -modulus -in certificat.crt | openssl md5\n```\n\nEach command prints a hash, for example `MD5(stdin)= 3b81747c6e7e0f94f6a1dff92ecc6045` (in older versions, `(stdin)= …`). The value must be identical on all three lines. Before you receive the certificate, compare only the first two.\n\nIf the first command prints `Not an RSA key`, the key is ECDSA: use the next method.\n\n### Any key type: compare the public key\n\n```bash\nopenssl pkey -in domeniu.key -pubout | openssl sha256\nopenssl req -in domeniu.csr -noout -pubkey | openssl sha256\nopenssl x509 -in certificat.crt -noout -pubkey | openssl sha256\n```\n\nThe rule is the same: the hashes must match. This method works for both RSA and ECDSA.\n\nIf the values differ, look for the key that was generated together with the CSR. If you have lost it, generate a new key and a new CSR, and ask the certificate authority to reissue the certificate.\n\n## Inspect a certificate\n\n### The file you received from the CA\n\n```bash\nopenssl x509 -in certificat.crt -noout -text\n```\n\nCheck the same lines as for the CSR (`Subject:`, `Public-Key:`, `Subject Alternative Name`), plus `Issuer:` (the authority that issued the certificate) and `Validity` (`Not Before` and `Not After`). On a certificate, the `Signature Algorithm:` line shows the certificate authority's signature: SHA-256 or SHA-384 (for example, `ecdsa-with-SHA384`) are correct; only SHA-1 is outdated.\n\nFor a short summary of the holder, the issuer and the validity period:\n\n```bash\nopenssl x509 -in certificat.crt -noout -subject -issuer -dates\n```\n\n```text\nsubject=CN=www.example.com\nissuer=C=…, O=…, CN=…\nnotBefore=Oct  9 10:01:55 2026 GMT\nnotAfter=Jan  7 10:01:55 2027 GMT\n```\n\nTimes are in GMT (UTC); `notAfter` is the expiry date. To find out whether the certificate expires in the next 30 days (2,592,000 seconds):\n\n```bash\nopenssl x509 -in certificat.crt -noout -checkend 2592000\n```\n\nThe answer is `Certificate will not expire` (it does not expire within this period) or `Certificate will expire` (renew it).\n\n### The certificate installed on the server\n\nThe path to the certificate is in the web server configuration: the `ssl_certificate` directive in nginx, `SSLCertificateFile` in Apache. Find it with:\n\n```bash\ngrep -rE \"ssl_certificate |SSLCertificateFile\" /etc/nginx /etc/apache2 /etc/httpd 2>/dev/null\n```\n\nLet's Encrypt certificates obtained with certbot are in `/etc/letsencrypt/live/DOMAIN/` (usually the first domain in the certificate): `fullchain.pem` contains the certificate and the chain, `cert.pem` only the site's certificate. The `openssl x509` command reads the first certificate in the file, which is the site's certificate:\n\n```bash\nopenssl x509 -in /etc/letsencrypt/live/DOMAIN/fullchain.pem -noout -subject -dates\n```\n\n### The live website: what visitors see\n\n```bash\nopenssl s_client -connect DOMAIN:443 -servername DOMAIN </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nReplace `DOMAIN` in both places with the site name, for example `www.example.com`. The `-servername` option sends the site name (SNI). It is required when you enter an IP address after `-connect`: without it, a server that hosts several sites on the same address may answer with another site's certificate.\n\nIf the domain goes through the Cloudflare proxy, the command above shows the Cloudflare certificate. To see the certificate on the server, connect directly to the server's IP address:\n\n```bash\nopenssl s_client -connect SERVER_IP:443 -servername DOMAIN </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates\n```\n\nAlso check the certificate chain:\n\n```bash\nopenssl s_client -connect DOMAIN:443 -servername DOMAIN </dev/null 2>/dev/null | grep -m1 \"Verify return code\"\n```\n\n| Result | What it means | What to do |\n|---|---|---|\n| `0 (ok)` | the certificate is valid and the chain is complete | nothing |\n| `10 (certificate has expired)` | the certificate has expired | renew it and reload the web server |\n| `18 (self-signed certificate)` (in older versions, `self signed certificate`) | the certificate is self-signed, not issued by a CA | install the certificate you received from the CA |\n| `21 (unable to verify the first certificate)` | the server does not send the intermediate certificate | install the certificate together with the chain you received from the CA (for Let's Encrypt, `fullchain.pem`) |\n\nSetting up HTTPS on the server: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Common error messages\n\n| Message | Cause | What to do |\n|---|---|---|\n| `No such file or directory` | the file name or path is wrong | run the command in the folder that contains the file, or give the full path |\n| `unable to load X509 request` | the file is not a CSR, is incomplete, or is missing the `-----BEGIN CERTIFICATE REQUEST-----` and `-----END CERTIFICATE REQUEST-----` lines | open the file in a text editor and check that the block is complete; copy it again |\n| `Could not find certificate`, `Could not read certificate` or `unable to load certificate` | the file is not a certificate, or it is in binary format (DER) | check that you gave the certificate, not the CSR or the key; for a binary file (`.cer`, `.der`), add `-inform der` after `openssl x509` |\n| `Could not find private key`, `Could not read private key` or `unable to load Private Key` | the file is not a private key | give the file that starts with `-----BEGIN PRIVATE KEY-----` (or `-----BEGIN RSA PRIVATE KEY-----`, `-----BEGIN EC PRIVATE KEY-----`) |\n| `Not an RSA key` | the key is ECDSA | compare the public key, not the modulus |\n\n## Frequently asked questions\n\n**Can I check a CSR that someone else generated?**\nYes. A CSR contains only the public key and the request details; the private key stays with whoever generated it. The commands in the “Read the contents of a CSR” section work for any CSR.\n\n**I lost the private key. Can I recover it?**\nNo. The generator on blackbox.md does not keep the key: “Cheia nu poate fi recuperată după ce părăsiți pagina.” (The key cannot be recovered after you leave the page.) Generate a new key and a new CSR, and ask the certificate authority to reissue the certificate.\n\n**Do I need a CSR for Let's Encrypt?**\nNo, certbot generates it automatically. Check the certificate you get with the commands in “Inspect a certificate”; on the server, the `certbot certificates` command shows the domains and the expiry date of each certificate. The differences between certificate types: [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl).\n\n**Can BLACKBOX help me with the check?**\nWrite to support and send the CSR or the certificate, never the private key: [How to contact BLACKBOX support](#suport.contact).\n"
   }
  },
  {
   "id": "domenii.adresa-ip",
   "section": "domenii",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/domenii/adresa-ip/",
    "ru": "https://docs.blackbox.md/ru/domenii/adresa-ip/",
    "en": "https://docs.blackbox.md/en/domenii/adresa-ip/"
   },
   "title": {
    "ro": "Instrumentul „Adresa ta IP”",
    "ru": "Инструмент «Ваш публичный IP-адрес»",
    "en": "The “Adresa ta IP” (Your IP address) tool"
   },
   "summary": {
    "ro": "Cum aflați adresa IP publică, inclusiv din linia de comandă, și la ce vă folosește.",
    "ru": "Как узнать свой публичный IP-адрес, в том числе из командной строки, и зачем это нужно.",
    "en": "How to find your public IP address, including from the command line, and what you can use it for."
   },
   "markdown": {
    "ro": "Pagina „Adresa ta IP publică” (`blackbox.md/ip` sau `ip.blackbox.md`; în rusă `blackbox.md/ru/ip` sau `ip.blackbox.md/ru`) arată adresa IP publică a dispozitivului de pe care navigați, adică adresa pe care o văd serverele și site-urile la care vă conectați. Pagina nu are link în meniul site-ului: deschideți adresa direct. Aceleași date le obțineți și din linia de comandă.\n\n**Disponibil pentru:** oricine, fără cont și fără autentificare.\n\n> **Important**\n> Instrumentul arată adresa dispozitivului dvs. (calculator, telefon, rețeaua de acasă sau de birou), nu adresa serverului. Adresa serverului o găsiți în panoul app.blackbox.md, în „Infrastructură” → „Serverele mele”, câmpul „IP” de pe cardul serverului: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n## Cum aflați adresa în browser\n\n1. Deschideți `https://ip.blackbox.md` sau `https://blackbox.md/ip`. Adresa apare imediat, cu caractere mari, sub titlul „Adresa ta IP publică”.\n2. Apăsați butonul „Copiază” de sub adresă. Timp de 2 secunde butonul afișează „Copiat!”, iar adresa este în clipboard.\n3. Lipiți adresa unde aveți nevoie: într-o regulă de firewall, în configurația fail2ban sau într-un tichet de suport.\n\nDacă „Copiat!” nu apare, browserul a blocat accesul la clipboard. Dați clic pe adresă: se selectează în întregime. Apoi copiați-o cu Ctrl+C (pe macOS, Cmd+C).\n\nSub adresă, pagina mai arată trei câmpuri:\n\n| Câmp | Ce arată |\n|---|---|\n| „Familie protocol” | `IPv4` sau `IPv6`: tipul adresei cu care v-ați conectat la pagină. |\n| „DNS invers” | Numele asociat adresei în DNS (înregistrarea PTR), stabilit, de regulă, de furnizorul dvs. de internet. Apare „—” dacă adresa nu are un astfel de nume sau dacă răspunsul durează mai mult de o jumătate de secundă. |\n| „User-Agent” | Textul cu care browserul se prezintă site-urilor: browserul, versiunea și sistemul de operare. Un text lung este scurtat: țineți cursorul pe el ca să-l vedeți întreg. Apare „—” dacă browserul nu l-a trimis. |\n\nRezultatul nu este păstrat în cache: la fiecare reîncărcare a paginii vedeți adresa curentă.\n\n## Cum aflați adresa din linia de comandă\n\nAdresa `https://ip.blackbox.md/api/ip` întoarce aceleași date în format JSON. Este utilă pe un calculator fără interfață grafică sau într-un script.\n\n### Linux și macOS\n\n```bash\ncurl https://ip.blackbox.md/api/ip\n```\n\nDoar adresa, dacă aveți instalat `jq`:\n\n```bash\ncurl -s https://ip.blackbox.md/api/ip | jq -r .ip\n```\n\n### Windows (PowerShell)\n\nWindows 10 și 11 includ `curl.exe`:\n\n```powershell\ncurl.exe https://ip.blackbox.md/api/ip\n```\n\nDoar adresa:\n\n```powershell\n(Invoke-RestMethod https://ip.blackbox.md/api/ip).ip\n```\n\nExemplu de răspuns (adresa este fictivă):\n\n```json\n{\"ip\":\"203.0.113.25\",\"family\":\"IPv4\",\"reverseDns\":null,\"userAgent\":\"curl/8.5.0\"}\n```\n\n| Câmp JSON | Ce conține |\n|---|---|\n| `ip` | Adresa IP publică. |\n| `family` | `IPv4` sau `IPv6`. |\n| `reverseDns` | Numele din DNS invers sau `null`, în aceleași cazuri în care pagina arată „—”. |\n| `userAgent` | Programul care a trimis cererea, de exemplu `curl/` urmat de versiune, sau `null` dacă acesta nu s-a prezentat. |\n\nSubdomeniul `ip.blackbox.md` este dedicat acestui instrument: celelalte linkuri de pe pagină, de exemplu cele din meniu, vă duc pe `blackbox.md`.\n\n## La ce vă folosește adresa IP\n\n| Situație | Ce faceți cu adresa | Detalii |\n|---|---|---|\n| Vreți să permiteți accesul la un serviciu de pe server doar de la adresa dvs. | O adăugați într-o regulă `ufw` (Ubuntu, Debian) sau `firewalld` (AlmaLinux, CentOS Stream) pe server. | [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall) |\n| Nu vreți ca fail2ban să vă blocheze | O adăugați la `ignoreip`, ca încercările dvs. greșite de autentificare să nu vă blocheze adresa. | [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban) |\n| Vă conectați la o bază de date de pe calculatorul dvs. | O folosiți în drepturile utilizatorului bazei de date (MariaDB/MySQL) sau în `pg_hba.conf` (PostgreSQL) și în regula de firewall pentru portul bazei de date. | [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date) |\n| Nu vă puteți conecta la server | O trimiteți suportului, ca echipa să verifice dacă adresa este blocată. | [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh) |\n\nExemplu pentru fail2ban, în fișierul `/etc/fail2ban/jail.local`. Dacă fișierul are deja secțiunea `[DEFAULT]`, nu o dublați: adăugați linia `ignoreip` în ea. Dacă linia `ignoreip` există deja, adăugați adresa la sfârșitul ei, separată prin spațiu.\n\n```ini\n[DEFAULT]\nignoreip = 127.0.0.1/8 ::1 IP_DVS\n```\n\nVerificați configurația. Răspunsul corect este „OK: configuration test is successful”.\n\n```bash\nfail2ban-client -t\n```\n\nApoi reporniți fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\nTraficul spre server trece și printr-o filtrare din rețea gestionată de BLACKBOX. Dacă portul bazei de date (sau alt port) nu răspunde din exterior, scrieți-ne și indicați portul și adresa dvs. IP.\n\nCând scrieți suportului despre o blocare, copiați adresa cu „Copiază” și includeți-o în tichet, împreună cu adresa IP a serverului și ora la care a apărut problema: [Deschiderea unui tichet de suport](#suport.tichet-nou).\n\n> **Atenție**\n> Multe conexiuni de acasă și de pe mobil primesc o adresă IP dinamică, care se schimbă la reconectare. Dacă permiteți SSH doar de la adresa de azi și aceasta se schimbă, pierdeți accesul la server, iar pentru clienți nu există consolă web. Înainte să modificați firewall-ul, păstrați deschisă o a doua sesiune SSH. Dacă ați rămas fără acces, scrieți-ne.\n\n## Confidențialitate\n\nÎn blocul „Fără urmărire”, pagina precizează: „Nu stocăm adresa ta IP, nu transmitem date către terți și nu instalăm cookie-uri publicitare.” Instrumentul nu cere cont și nici date personale: doar vă afișează adresa și nu o salvează în contul dvs. Ca la orice pagină a site-ului, cererea apare în jurnalele tehnice de acces (adresa IP, browserul, momentul accesului), păstrate pe termenele din [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n\n## Mesaje și valori neobișnuite\n\n| Ce vedeți | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nu am putut detecta adresa ta IP.” | Serviciul care determină adresa nu a răspuns. | Reîncărcați pagina sau folosiți comanda `curl` de mai sus. Dacă mesajul se repetă, scrieți-ne. |\n| `unknown` în locul adresei | Adresa nu a putut fi determinată. | Reîncărcați pagina. Dacă se repetă, scrieți-ne. |\n| „—” la „DNS invers” | Adresa nu are nume în DNS invers sau răspunsul a întârziat. | Nimic: nu este o eroare. |\n| „Copiat!” nu apare | Browserul a blocat accesul la clipboard. | Dați clic pe adresă și copiați-o manual. |\n\n## Întrebări frecvente\n\n**De ce adresa de aici diferă de cea din setările calculatorului (de exemplu, 192.168.1.10)?**\nCalculatorul are o adresă privată în rețeaua locală. Routerul iese în internet cu o singură adresă publică pentru toate dispozitivele din rețea (NAT), iar pagina o arată pe aceasta. Serverele văd adresa publică.\n\n**Folosesc VPN sau proxy. Ce adresă văd?**\nAdresa VPN-ului sau a proxy-ului, nu pe cea a conexiunii dvs. de internet. De regulă, și serverul vede aceeași adresă cât timp VPN-ul este pornit. Dacă îl opriți, verificați din nou.\n\n**De ce văd IPv4, deși rețeaua mea are și IPv6?**\nPagina arată adresa cu care browserul s-a conectat efectiv la ea. Când vă conectați la server pe adresa IPv4 din panou, serverul vede tot adresa dvs. IPv4.\n\n**Adresa mea s-a schimbat. Ce fac?**\nReîncărcați pagina ca să vedeți adresa nouă și actualizați regulile de firewall și `ignoreip` pe server. Dacă aveți nevoie de o adresă fixă, cereți furnizorului de internet un IP static.\n\n**Pot afla cu acest instrument adresa serverului meu?**\nDin browser, nu: pagina arată adresa dispozitivului dvs. Adresa serverului este în panou, pe cardul din „Serverele mele”. Rulată pe server, comanda `curl` de mai sus arată adresa cu care serverul accesează internetul.\n",
    "ru": "Страница «Ваш публичный IP-адрес» (`blackbox.md/ru/ip` или `ip.blackbox.md/ru`; на румынском — `blackbox.md/ip` или `ip.blackbox.md`) показывает публичный IP-адрес устройства, с которого вы её открыли, — тот адрес, который видят серверы и сайты, к которым вы подключаетесь. В меню сайта ссылки на эту страницу нет — откройте адрес напрямую. Те же данные можно получить из командной строки.\n\n**Доступно:** всем, без аккаунта и без входа.\n\n> **Важно**\n> Инструмент показывает адрес вашего устройства (компьютера, телефона, домашней или офисной сети), а не адрес сервера. Адрес сервера указан в панели app.blackbox.md: «Инфраструктура» → «Мои серверы», поле «IP» в карточке сервера. Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n## Как узнать адрес в браузере\n\n1. Откройте `https://ip.blackbox.md/ru` или `https://blackbox.md/ru/ip`. Адрес сразу появится крупным шрифтом под заголовком «Ваш публичный IP-адрес».\n2. Нажмите кнопку «Копировать» под адресом. На 2 секунды надпись на кнопке сменится на «Скопировано!» — адрес уже в буфере обмена.\n3. Вставьте адрес туда, где он нужен: в правило файрвола, в настройки fail2ban или в тикет поддержки.\n\nЕсли «Скопировано!» не появилось, браузер не дал доступа к буферу обмена. Щёлкните по адресу — он выделится целиком. Затем скопируйте его клавишами Ctrl+C (на macOS — Cmd+C).\n\nПод адресом страница показывает ещё три поля:\n\n| Поле | Что показывает |\n|---|---|\n| «Версия протокола» | `IPv4` или `IPv6` — тип адреса, с которого вы подключились к странице. |\n| «Обратный DNS» | Имя, привязанное к адресу в DNS (PTR-запись); обычно его задаёт ваш интернет-провайдер. Если такого имени нет или ответ не пришёл за полсекунды, отображается «—». |\n| «User-Agent» | Строка, которой браузер представляется сайтам: браузер, его версия и операционная система. Длинная строка обрезается — наведите на неё курсор, чтобы увидеть её целиком. Если браузер её не передал, отображается «—». |\n\nРезультат не кешируется: после каждой перезагрузки страницы вы видите текущий адрес.\n\n## Как узнать адрес из командной строки\n\nАдрес `https://ip.blackbox.md/api/ip` возвращает те же данные в формате JSON. Это удобно на компьютере без графического интерфейса или в скрипте.\n\n### Linux и macOS\n\n```bash\ncurl https://ip.blackbox.md/api/ip\n```\n\nТолько адрес, если у вас установлен `jq`:\n\n```bash\ncurl -s https://ip.blackbox.md/api/ip | jq -r .ip\n```\n\n### Windows (PowerShell)\n\nВ Windows 10 и 11 уже есть `curl.exe`:\n\n```powershell\ncurl.exe https://ip.blackbox.md/api/ip\n```\n\nТолько адрес:\n\n```powershell\n(Invoke-RestMethod https://ip.blackbox.md/api/ip).ip\n```\n\nПример ответа (адрес вымышленный):\n\n```json\n{\"ip\":\"203.0.113.25\",\"family\":\"IPv4\",\"reverseDns\":null,\"userAgent\":\"curl/8.5.0\"}\n```\n\n| Поле JSON | Что содержит |\n|---|---|\n| `ip` | Публичный IP-адрес. |\n| `family` | `IPv4` или `IPv6`. |\n| `reverseDns` | Имя из обратного DNS или `null` — в тех же случаях, когда страница показывает «—». |\n| `userAgent` | Программа, отправившая запрос, например `curl/` с номером версии, или `null`, если программа себя не назвала. |\n\nПоддомен `ip.blackbox.md` предназначен только для этого инструмента: остальные ссылки на странице, например в меню, ведут на `blackbox.md`.\n\n## Зачем нужен ваш IP-адрес\n\n| Ситуация | Что сделать с адресом | Подробнее |\n|---|---|---|\n| Нужно разрешить доступ к службе на сервере только с вашего адреса | Добавить его в правило `ufw` (Ubuntu, Debian) или `firewalld` (AlmaLinux, CentOS Stream) на сервере. | [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall) |\n| Нужно, чтобы fail2ban вас не заблокировал | Добавить его в `ignoreip`, чтобы ваши неудачные попытки входа не приводили к блокировке адреса. | [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban) |\n| Вы подключаетесь к базе данных со своего компьютера | Указать его в правах пользователя базы данных (MariaDB/MySQL) или в `pg_hba.conf` (PostgreSQL) и в правиле файрвола для порта базы. | [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date) |\n| Не удаётся подключиться к серверу | Сообщить его поддержке, чтобы команда проверила, не заблокирован ли адрес. | [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh) |\n\nПример для fail2ban — файл `/etc/fail2ban/jail.local`. Если в файле уже есть раздел `[DEFAULT]`, не создавайте второй: добавьте строку `ignoreip` в существующий. Если строка `ignoreip` там уже есть, допишите адрес в её конец через пробел.\n\n```ini\n[DEFAULT]\nignoreip = 127.0.0.1/8 ::1 ВАШ_IP\n```\n\nПроверьте конфигурацию. Правильный ответ — «OK: configuration test is successful».\n\n```bash\nfail2ban-client -t\n```\n\nЗатем перезапустите fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\nВходящий трафик к серверу проходит ещё и через сетевую фильтрацию, которой управляет BLACKBOX. Если порт базы данных (или любой другой порт) не отвечает извне, напишите нам и укажите порт и ваш IP-адрес.\n\nЕсли вы пишете в поддержку из-за блокировки, скопируйте адрес кнопкой «Копировать» и вставьте его в тикет вместе с IP-адресом сервера и временем, когда возникла проблема: [Создание тикета в поддержку](#suport.tichet-nou).\n\n> **Внимание**\n> Многие домашние и мобильные подключения получают динамический IP-адрес, который меняется при переподключении. Если разрешить SSH только с сегодняшнего адреса, а он сменится, вы потеряете доступ к серверу, а веб-консоли для клиентов нет. Прежде чем менять настройки файрвола, откройте вторую SSH-сессию и не закрывайте её. Если доступ всё же потерян, напишите нам.\n\n## Конфиденциальность\n\nВ блоке «Без отслеживания» на странице сказано: «Мы не сохраняем ваш IP-адрес, не передаём данные третьим лицам и не устанавливаем рекламные куки». Инструмент не требует аккаунта и не запрашивает персональных данных: он только показывает адрес и не сохраняет его в вашем аккаунте. Как и при открытии любой страницы сайта, запрос попадает в технические журналы доступа (IP-адрес, браузер, время доступа); сроки их хранения указаны в статье [Политика конфиденциальности: кратко](#legal.confidentialitate).\n\n## Сообщения и необычные значения\n\n| Что вы видите | Что это значит | Что делать |\n|---|---|---|\n| «Не удалось определить ваш IP-адрес.» | Сервис, который определяет адрес, не ответил. | Перезагрузите страницу или воспользуйтесь командой `curl` выше. Если сообщение повторяется, напишите нам. |\n| `unknown` вместо адреса | Адрес определить не удалось. | Перезагрузите страницу. Если это повторяется, напишите нам. |\n| «—» в поле «Обратный DNS» | У адреса нет имени в обратном DNS, или ответ задержался. | Ничего: это не ошибка. |\n| «Скопировано!» не появляется | Браузер заблокировал доступ к буферу обмена. | Щёлкните по адресу и скопируйте его вручную. |\n\n## Частые вопросы\n\n**Почему адрес здесь не совпадает с адресом в настройках компьютера (например, 192.168.1.10)?**\nУ компьютера частный адрес в локальной сети. Роутер выходит в интернет под одним публичным адресом для всех устройств сети (NAT), и страница показывает именно его. Серверы видят именно публичный адрес.\n\n**Я пользуюсь VPN или прокси. Какой адрес я увижу?**\nАдрес VPN или прокси, а не вашего интернет-подключения. Как правило, сервер тоже видит этот адрес, пока VPN включён. Выключив VPN, проверьте адрес ещё раз.\n\n**Почему показан IPv4, хотя в моей сети есть и IPv6?**\nСтраница показывает адрес, с которого браузер фактически к ней подключился. Когда вы подключаетесь к серверу по IPv4-адресу из панели, сервер тоже видит ваш IPv4-адрес.\n\n**Мой адрес изменился. Что делать?**\nПерезагрузите страницу, чтобы увидеть новый адрес, и обновите правила файрвола и `ignoreip` на сервере. Если нужен постоянный адрес, попросите у интернет-провайдера статический IP.\n\n**Можно ли этим инструментом узнать адрес моего сервера?**\nИз браузера — нет: страница показывает адрес вашего устройства. Адрес сервера указан в панели, в карточке на странице «Мои серверы». Если выполнить команду `curl` из этой статьи на самом сервере, она покажет адрес, с которым сервер выходит в интернет.\n",
    "en": "The “Adresa ta IP publică” (Your public IP address) page (`blackbox.md/ip` or `ip.blackbox.md`; in Russian, `blackbox.md/ru/ip` or `ip.blackbox.md/ru`) shows the public IP address of the device you are browsing from, that is, the address that the servers and websites you connect to see. The page has no link in the website menu: open the address directly. You can get the same data from the command line.\n\n**Available to:** anyone, without an account and without signing in.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Important**\n> The tool shows the address of your device (computer, phone, home or office network), not the address of your server. You'll find the server's address in the app.blackbox.md panel, under “Infrastructure” → “My Servers”, in the “IP” field on the server card: [The “My Servers” page: the server card](#servere.serverele-mele).\n\n## How to find your address in a browser\n\n1. Open `https://ip.blackbox.md` or `https://blackbox.md/ip`. Your address appears right away, in large characters, under the heading “Adresa ta IP publică” (Your public IP address).\n2. Click the “Copiază” (Copy) button under the address. For 2 seconds the button shows “Copiat!” (Copied!), and the address is on your clipboard.\n3. Paste the address where you need it: in a firewall rule, in the fail2ban configuration or in a support ticket.\n\nIf “Copiat!” doesn't appear, your browser blocked access to the clipboard. Click the address: it gets selected in full. Then copy it with Ctrl+C (on macOS, Cmd+C).\n\nUnder the address, the page shows three more fields:\n\n| Field | What it shows |\n|---|---|\n| “Familie protocol” (Protocol family) | `IPv4` or `IPv6`: the type of address you used to connect to the page. |\n| “DNS invers” (Reverse DNS) | The name linked to the address in DNS (the PTR record), usually set by your internet provider. “—” appears if the address has no such name or if the answer takes longer than half a second. |\n| “User-Agent” | The text your browser uses to introduce itself to websites: the browser, its version and the operating system. Long text is shortened: hold the pointer over it to see it in full. “—” appears if the browser didn't send it. |\n\nThe result is not cached: each time you reload the page, you see your current address.\n\n## How to find your address from the command line\n\nThe address `https://ip.blackbox.md/api/ip` returns the same data in JSON format. This is useful on a computer without a graphical interface or in a script.\n\n### Linux and macOS\n\n```bash\ncurl https://ip.blackbox.md/api/ip\n```\n\nJust the address, if you have `jq` installed:\n\n```bash\ncurl -s https://ip.blackbox.md/api/ip | jq -r .ip\n```\n\n### Windows (PowerShell)\n\nWindows 10 and 11 include `curl.exe`:\n\n```powershell\ncurl.exe https://ip.blackbox.md/api/ip\n```\n\nJust the address:\n\n```powershell\n(Invoke-RestMethod https://ip.blackbox.md/api/ip).ip\n```\n\nSample response (the address is fictitious):\n\n```json\n{\"ip\":\"203.0.113.25\",\"family\":\"IPv4\",\"reverseDns\":null,\"userAgent\":\"curl/8.5.0\"}\n```\n\n| JSON field | What it contains |\n|---|---|\n| `ip` | The public IP address. |\n| `family` | `IPv4` or `IPv6`. |\n| `reverseDns` | The reverse DNS name, or `null` in the same cases in which the page shows “—”. |\n| `userAgent` | The program that sent the request, for example `curl/` followed by its version, or `null` if the program didn't identify itself. |\n\nThe `ip.blackbox.md` subdomain is dedicated to this tool: the other links on the page, for example those in the menu, take you to `blackbox.md`.\n\n## What you can use your IP address for\n\n| Situation | What you do with the address | Details |\n|---|---|---|\n| You want to allow access to a service on your server only from your address. | Add it to a `ufw` (Ubuntu, Debian) or `firewalld` (AlmaLinux, CentOS Stream) rule on the server. | [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall) |\n| You don't want fail2ban to block you. | Add it to `ignoreip`, so that your failed login attempts don't get your address blocked. | [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban) |\n| You connect to a database from your computer. | Use it in the database user's privileges (MariaDB/MySQL) or in `pg_hba.conf` (PostgreSQL), and in the firewall rule for the database port. | [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date) |\n| You can't connect to your server. | Send it to support, so the team can check whether the address is blocked. | [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh) |\n\nExample for fail2ban, in the file `/etc/fail2ban/jail.local`. If the file already has a `[DEFAULT]` section, don't add a second one: add the `ignoreip` line to the existing section. If the `ignoreip` line already exists, add your address at the end of it, separated by a space.\n\n```ini\n[DEFAULT]\nignoreip = 127.0.0.1/8 ::1 YOUR_IP\n```\n\nCheck the configuration. The correct response is “OK: configuration test is successful”.\n\n```bash\nfail2ban-client -t\n```\n\nThen restart fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\nTraffic to your server also passes through a network-level filter managed by BLACKBOX. If the database port (or another port) doesn't respond from outside, write to us and tell us the port and your IP address.\n\nWhen you write to support about a block, copy your address with “Copiază” (Copy) and include it in the ticket, together with the server's IP address and the time the problem appeared: [Opening a support ticket](#suport.tichet-nou).\n\n> **Warning**\n> Many home and mobile connections get a dynamic IP address, which changes when you reconnect. If you allow SSH only from today's address and that address changes, you lose access to your server, and there is no web console for customers. Before you change the firewall, keep a second SSH session open. If you have lost access, write to us.\n\n## Privacy\n\nIn the “Fără urmărire” (No tracking) block, the page states: “Nu stocăm adresa ta IP, nu transmitem date către terți și nu instalăm cookie-uri publicitare.” (We don't store your IP address, we don't pass data on to third parties and we don't install advertising cookies.) The tool doesn't require an account or any personal data: it only shows you your address and doesn't save it to your account. As with any page on the website, the request appears in the technical access logs (IP address, browser, time of access), which are kept for the periods set out in [Privacy policy in brief](#legal.confidentialitate).\n\n## Messages and unusual values\n\n| What you see | What it means | What to do |\n|---|---|---|\n| “Nu am putut detecta adresa ta IP.” (We couldn't detect your IP address.) | The service that determines the address didn't respond. | Reload the page or use the `curl` command above. If the message keeps appearing, write to us. |\n| `unknown` instead of the address | The address could not be determined. | Reload the page. If it happens again, write to us. |\n| “—” next to “DNS invers” (Reverse DNS) | The address has no reverse DNS name, or the answer was late. | Nothing: this is not an error. |\n| “Copiat!” (Copied!) doesn't appear | Your browser blocked access to the clipboard. | Click the address and copy it manually. |\n\n## Frequently asked questions\n\n**Why is the address here different from the one in my computer's settings (for example, 192.168.1.10)?**\nYour computer has a private address on the local network. The router goes out to the internet with a single public address for all the devices on the network (NAT), and the page shows that address. Servers see the public address.\n\n**I use a VPN or a proxy. Which address do I see?**\nThe address of the VPN or proxy, not the address of your internet connection. Usually, your server also sees that same address while the VPN is on. If you turn it off, check again.\n\n**Why do I see IPv4 even though my network also has IPv6?**\nThe page shows the address your browser actually used to connect to it. When you connect to your server using the IPv4 address from the panel, the server also sees your IPv4 address.\n\n**My address has changed. What do I do?**\nReload the page to see the new address, and update the firewall rules and `ignoreip` on the server. If you need a fixed address, ask your internet provider for a static IP.\n\n**Can I find my server's address with this tool?**\nNot from your browser: the page shows your device's address. The server's address is in the panel, on the server's card in “My Servers”. If you run the `curl` command above on the server itself, it shows the address the server uses to reach the internet.\n"
   }
  },
  {
   "id": "ai.ce-este-mcp",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/ce-este-mcp/",
    "ru": "https://docs.blackbox.md/ru/ai/ce-este-mcp/",
    "en": "https://docs.blackbox.md/en/ai/ce-este-mcp/"
   },
   "title": {
    "ro": "Integrarea AI (MCP): ce este și ce poate face",
    "ru": "AI-интеграция (MCP): что это и что умеет",
    "en": "AI integration (MCP): what it is and what it can do"
   },
   "summary": {
    "ro": "Cum conectați un asistent AI la contul BLACKBOX, ce poate face pentru dvs. și ce nu poate face.",
    "ru": "Как подключить AI-ассистента к аккаунту BLACKBOX, что он может сделать для вас и чего не может.",
    "en": "How to connect an AI assistant to your BLACKBOX account, what it can do for you and what it cannot do."
   },
   "markdown": {
    "ro": "Integrarea AI vă permite să administrați contul BLACKBOX dintr-un asistent AI, în limbaj obișnuit: serverele, accesul SSH, soldul, comenzile și facturile. Pentru aceasta, BLACKBOX rulează un server MCP numit `blackbox`, la adresa `https://api.app.blackbox.md/mcp`. Prezentarea generală este pe pagina `blackbox.md/info/mcp`, iar token-urile de acces le creați în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`).\n\n**Disponibil pentru:** titularul contului blackbox.md. Panoul app.blackbox.md nu are setări pentru AI: totul se face în contul de pe blackbox.md și în clientul AI.\n\n## Ce este MCP\n\nModel Context Protocol (MCP) este un standard deschis prin care un asistent AI se conectează la servicii externe și le folosește „uneltele”. Serverul MCP BLACKBOX îi oferă asistentului unelte pentru un singur cont blackbox.md: al dvs.\n\n- **Clienți compatibili:** Claude (aplicația web și Claude Desktop, prin „Custom connector”, plus Claude Code), Cursor, VS Code cu GitHub Copilot și orice alt client care se conectează la servere MCP la distanță prin HTTP (Streamable HTTP) și permite un antet (header) personalizat.\n- **Autentificare:** un token API personal, de forma `bbx_pat_…`, pe care îl creați pe blackbox.md. Asistentul nu are nevoie de parola contului, de parola root sau de cheia dvs. SSH: îi ajunge token-ul.\n- **Permisiuni:** la crearea token-ului bifați ce are voie să facă asistentul. Uneltele pentru care token-ul nu are permisiune nici nu apar în lista asistentului.\n- **Cost:** integrarea este gratuită. Token-urile și apelurile MCP nu se taxează; plătiți doar serviciile pe care le comandați.\n\n## Conectarea în 3 pași\n\n### 1. Creați un token\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Token-uri API” (pagina „Token-uri de acces (API)”).\n2. În cardul „Token nou”, completați „Nume token”, de exemplu „Claude Desktop (laptop)”.\n3. La „Permisiuni”, cele trei permisiuni de citire sunt bifate implicit. Bifați și altele dacă vreți ca asistentul să facă modificări sau apăsați „AI-administrator — acces complet” ca să le bifați pe toate opt.\n4. Apăsați „Creează token”.\n5. Apare cardul „Token-ul dvs. nou”, cu mesajul „Copiați token-ul acum — nu va mai fi afișat din nou.” Apăsați „Copiază” (butonul devine „Copiat!”), păstrați token-ul într-un loc sigur, apoi apăsați „Gata”.\n\nDetalii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n### 2. Adăugați serverul în clientul AI\n\nValorile sunt aceleași în toți clienții:\n\n| Câmp | Valoare |\n|---|---|\n| Nume în configurație | `blackbox` (recomandat) |\n| URL server | `https://api.app.blackbox.md/mcp` |\n| Transport | HTTP (Streamable HTTP) |\n| Antet de autorizare | `Authorization: Bearer bbx_pat_…` |\n| În aplicația Claude („Custom connector”) | antetul `x-api-key`, cu valoarea `bbx_pat_…`, fără cuvântul `Bearer` |\n\nÎn Cursor, serverul se adaugă într-un fișier JSON, în formatul de pe `blackbox.md/info/mcp`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer bbx_pat_...\"\n      }\n    }\n  }\n}\n```\n\nÎnlocuiți `bbx_pat_...` cu token-ul dvs. și reporniți clientul dacă o cere. Alți clienți (de exemplu VS Code) folosesc un format puțin diferit. Pașii pentru fiecare client: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude) și [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n\n### 3. Verificați conexiunea\n\nScrieți asistentului: „Apelează whoami”. Unealta `whoami` nu cere nicio permisiune. Ea confirmă că token-ul funcționează și arată ce permisiuni are și care îi lipsesc (`missing_scopes`). Dacă lipsește o permisiune de care aveți nevoie, creați un token nou: permisiunile unui token existent nu se pot extinde.\n\nDacă clientul AI raportează eroarea `invalid_token`, vedeți [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Ce poate face asistentul\n\n| Domeniu | Ce poate face | Permisiunea necesară |\n|---|---|---|\n| Planuri | listează planurile VPS, cu resursele și prețurile lor | niciuna |\n| Servere | listează serverele dvs., cu statusul, adresa IP și starea alimentării | „Citește lista și statusul serverelor mele” (`servers:read`) |\n| Alimentare | repornește, oprește și pornește serverul | „Controlează alimentarea serverelor (repornire/oprire/pornire)” (`servers:power`) |\n| Acces la server | afișează sau resetează parola root; primește acces SSH direct, cu o cheie pe care BLACKBOX o instalează pe server; adaugă, listează și șterge cheile SSH de pe server; activează sau dezactivează autentificarea SSH cu parolă | „Vizualizează parolele/accesul serverelor” (`servers:credentials`) |\n| Rularea comenzilor | rulează orice comandă ca `root`, de exemplu instalează nginx | „Rulează orice comandă ca root pe serverele mele” (`servers:exec`) |\n| Cheile SSH din cont | le listează; le adaugă și le șterge | „Citește lista cheilor mele SSH” (`ssh_keys:read`); „Adaugă și șterge cheile mele SSH” (`ssh_keys:write`) |\n| Sold și facturare | citește soldul, tranzacțiile, comenzile și facturile | „Citește soldul, facturile și comenzile” (`billing:read`) |\n| Comenzi și plăți | calculează prețul și plasează o comandă, o plătește din sold, anulează o comandă, face upgrade unui server | „Plasează și modifică comenzi în numele meu” (`orders:write`) |\n\nCa să găsească un server, asistentul are nevoie și de `servers:read`. Lista completă a uneltelor, cu parametri și limite: [Lista uneltelor MCP](#ai.unelte). Ce permite fiecare permisiune: [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\n> **Atenție**\n> Cu `orders:write`, asistentul poate cheltui din sold și poate anula comenzi. Anularea unei comenzi cu server activ șterge serverul imediat, cu toate datele, fără perioadă de grație. Permisiunile `servers:credentials` și `servers:exec` dau acces `root` la toate serverele dvs. Acordați-le doar când chiar aveți nevoie de ele.\n\n## Ce nu poate face asistentul\n\n| Acțiune | Unde o faceți |\n|---|---|\n| Crearea și revocarea token-urilor | blackbox.md, „Token-uri API” |\n| Alimentarea soldului și plata cu cardul | blackbox.md: [Alimentarea soldului](#plati.alimentare-sold) |\n| Plata facturilor | [Plata automată a facturilor din sold](#plati.plata-automata) sau [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar) |\n| Tichetele de suport | blackbox.md, „Ajutor și suport”: [Deschiderea unui tichet de suport](#suport.tichet-nou) |\n| Monitorizarea, alertele și DNS | panoul app.blackbox.md: [Pagina „Monitorizare”](#servicii.monitorizare), [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari) |\n| Consola web sau VNC | nu există pentru clienți; vă conectați prin SSH, iar dacă pierdeți accesul, scrieți suportului |\n| Reinstalarea sistemului de operare | la cerere, prin suport: [Sistemele de operare disponibile](#comenzi.sisteme-operare) |\n| Trecerea la un plan mai mic (downgrade) | nu este posibilă nici în panou; comandați un server nou pe planul dorit și mutați datele |\n| Redenumirea serverului | panoul: [Redenumirea serverului (nume privat)](#servere.redenumire) |\n| Ștergerea programată, cu 24 de ore în care o puteți anula | panoul: [Ștergerea definitivă a unui server](#servere.stergere-server) |\n\nDe asemenea, asistentul nu are acces la profil, la parola contului, la datele de facturare și nici la ștergerea contului.\n\n## Nu există API REST\n\nToken-urile `bbx_pat_…` funcționează doar la adresa `https://api.app.blackbox.md/mcp`. BLACKBOX nu oferă clienților un API REST: celelalte adrese ale site-ului și ale panoului acceptă doar sesiunea din browser și resping token-ul. Dacă vreți să automatizați ceva din propriul cod, folosiți tot MCP: [Folosirea MCP din cod (API-uri AI și HTTP)](#ai.conectare-din-cod).\n\n## Exemple de cereri\n\n| Ce scrieți asistentului | Permisiunile necesare |\n|---|---|\n| „Arată-mi serverele mele BLACKBOX și statusul lor” | `servers:read` |\n| „Care este soldul meu și ce facturi am neplătite?” | `billing:read` |\n| „Instalează nginx pe serverul meu” | `servers:read`, `servers:exec` |\n| „Ce planuri VPS aveți cu 4 vCPU și cât costă?” | niciuna |\n| „Repornește serverul meu și spune-mi când răspunde din nou” | `servers:read`, `servers:power` |\n| „Ce chei SSH sunt instalate pe serverul meu?” | `servers:read`, `servers:credentials` |\n| „Fă upgrade serverului la planul următor, dar arată-mi întâi prețul” | `servers:read`, `orders:write` |\n\nPrimele trei exemple sunt cele de pe `blackbox.md/info/mcp`. Mai multe: [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n\n## Ce date vede furnizorul AI\n\nTot ce întorc uneltele ajunge în clientul AI și la furnizorul care rulează modelul AI: lista serverelor, adresele IP, soldul, facturile, rezultatul comenzilor rulate pe server și, dacă ați acordat `servers:credentials`, parolele root și cheile de acces la servere. Folosiți un furnizor AI în care aveți încredere și acordați permisiunile de acces doar când este nevoie. În jurnalul de acțiuni, BLACKBOX notează doar că s-a rulat o comandă, fără textul ei și fără rezultat.\n\n> **Securitate**\n> Token-ul este o cheie de acces la contul dvs.: oricine îl are poate face, de oriunde, tot ce îi permit permisiunile. Nu-l puneți în chat-uri, capturi de ecran sau depozite git. Creați câte un token pentru fiecare client sau dispozitiv și revocați-l cu „Revocă” când nu mai aveți nevoie de el; accesul se oprește imediat. Schimbarea parolei contului blackbox.md dezactivează toate token-urile create înainte. Mai multe: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n## Întrebări frecvente\n\n**Ce clienți AI funcționează?**\nOrice client care se conectează la servere MCP la distanță prin HTTP și vă lasă să adăugați un antet personalizat: aplicația Claude (prin „Custom connector”, cu antetul `x-api-key`), Claude Code, Cursor, VS Code cu GitHub Copilot și alții. Aplicațiile care permit doar conectarea prin OAuth (autentificare cu un cont, fără antet) nu se pot conecta: serverul BLACKBOX acceptă numai token-ul.\n\n**Este contra cost?**\nNu. Integrarea și token-urile sunt gratuite. Plătiți doar serviciile comandate, inclusiv cele comandate prin asistent.\n\n**Poate asistentul să-mi cheltuie banii?**\nDoar din sold și doar dacă token-ul are permisiunea `orders:write`. Uneltele pentru comenzi, anulări și upgrade arată implicit doar o previzualizare (prețul sau suma de rambursat) și acționează abia la confirmare, iar o comandă se plătește printr-un pas separat, care trece doar dacă suma indicată este exact prețul curent. Asistentul nu poate alimenta soldul și nu poate plăti cu cardul. Este instruit să vă ceară acordul înainte de orice cheltuială, dar fereastra de confirmare o afișează clientul AI, așa că nu activați aprobarea automată pentru aceste unelte. Detalii: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Trebuie să-i dau asistentului parola root sau cheia mea SSH?**\nNu. Asistentul lucrează pe server prin conexiunea securizată BLACKBOX și are nevoie doar de token. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n**Pot conecta mai mulți asistenți sau mai multe dispozitive?**\nDa. Creați câte un token pentru fiecare, cu permisiunile potrivite. Îi puteți revoca separat, fără să-i afectați pe ceilalți.\n",
    "ru": "AI-интеграция позволяет управлять аккаунтом BLACKBOX — серверами, SSH-доступом, балансом, заказами и счетами — через AI-ассистента, простыми словами. Для этого BLACKBOX предоставляет MCP-сервер `blackbox` по адресу `https://api.app.blackbox.md/mcp`. Обзор возможностей — на странице `blackbox.md/ru/info/mcp`, а токены доступа создаются в разделе «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`).\n\n**Доступно:** владельцу аккаунта blackbox.md. В панели app.blackbox.md настроек для AI нет: всё делается в аккаунте на blackbox.md и в самом AI-клиенте.\n\n## Что такое MCP\n\nModel Context Protocol (MCP) — открытый стандарт, по которому AI-ассистент подключается к внешним сервисам и пользуется их «инструментами». MCP-сервер BLACKBOX даёт ассистенту инструменты для одного аккаунта blackbox.md — вашего.\n\n- **Совместимые клиенты:** Claude (веб-приложение и Claude Desktop через «Custom connector», а также Claude Code), Cursor, VS Code с GitHub Copilot и любой другой клиент, который подключается к удалённым MCP-серверам по HTTP (Streamable HTTP) и позволяет добавить собственный заголовок (header).\n- **Авторизация:** персональный API-токен вида `bbx_pat_…`, который вы создаёте на blackbox.md. Пароль от аккаунта, пароль root или ваш SSH-ключ ассистенту не нужны — достаточно токена.\n- **Разрешения:** при создании токена вы отмечаете, что ассистенту можно делать. Инструменты, на которые у токена нет разрешения, ассистент даже не видит.\n- **Стоимость:** интеграция бесплатна. За токены и вызовы MCP плата не взимается — вы платите только за заказанные услуги.\n\n## Подключение за 3 шага\n\n### 1. Создайте токен\n\n1. На blackbox.md откройте «Личный кабинет» → «API-токены» (страница «Токены доступа (API)»).\n2. В карточке «Новый токен» заполните «Название токена», например «Claude Desktop (ноутбук)».\n3. В блоке «Разрешения» три разрешения на чтение уже отмечены. Отметьте и другие, если ассистент должен что-то менять, или нажмите «AI-администратор — полный доступ», чтобы выбрать все восемь.\n4. Нажмите «Создать токен».\n5. Появится карточка «Ваш новый токен» с предупреждением «Скопируйте токен сейчас — он не будет показан снова.» Нажмите «Копировать» (надпись сменится на «Скопировано!»), сохраните токен в надёжном месте и нажмите «Готово».\n\nПодробнее: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n### 2. Добавьте сервер в AI-клиент\n\nЗначения одинаковы для всех клиентов:\n\n| Параметр | Значение |\n|---|---|\n| Имя в конфигурации | `blackbox` (рекомендуется) |\n| URL сервера | `https://api.app.blackbox.md/mcp` |\n| Транспорт | HTTP (Streamable HTTP) |\n| Заголовок авторизации | `Authorization: Bearer bbx_pat_…` |\n| В приложении Claude («Custom connector») | заголовок `x-api-key` со значением `bbx_pat_…`, без слова `Bearer` |\n\nВ Cursor сервер добавляется в JSON-файл конфигурации в формате со страницы `blackbox.md/ru/info/mcp`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer bbx_pat_...\"\n      }\n    }\n  }\n}\n```\n\nЗамените `bbx_pat_...` своим токеном и перезапустите клиент, если он этого требует. В других клиентах (например, в VS Code) формат немного отличается. Пошаговые инструкции для каждого клиента: [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude) и [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n\n### 3. Проверьте подключение\n\nНапишите ассистенту: «Вызови whoami». Инструмент `whoami` не требует разрешений. Он подтверждает, что токен работает, и показывает, какие разрешения у токена есть, а каких не хватает (`missing_scopes`). Если нужного разрешения нет, создайте новый токен: расширить разрешения существующего токена нельзя.\n\nЕсли AI-клиент сообщает об ошибке `invalid_token`, см. [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Что умеет ассистент\n\n| Область | Что может | Нужное разрешение |\n|---|---|---|\n| Тарифы | показывает тарифы VPS с ресурсами и ценами | не требуется |\n| Серверы | показывает ваши серверы, их статус, IP-адрес и состояние питания | «Читать список и статус моих серверов» (`servers:read`) |\n| Питание | перезагружает, останавливает и запускает сервер | «Управлять питанием серверов (перезагрузка/выкл/вкл)» (`servers:power`) |\n| Доступ к серверу | показывает или сбрасывает пароль root; получает прямой SSH-доступ по ключу, который BLACKBOX устанавливает на сервер; добавляет, показывает и удаляет SSH-ключи на сервере; включает и отключает вход по паролю по SSH | «Просматривать пароли/доступы к серверам» (`servers:credentials`) |\n| Выполнение команд | выполняет любые команды от `root` — например, устанавливает nginx | «Выполнять любые команды от root на моих серверах» (`servers:exec`) |\n| SSH-ключи аккаунта | показывает их; добавляет и удаляет | «Читать список моих SSH-ключей» (`ssh_keys:read`); «Добавлять и удалять мои SSH-ключи» (`ssh_keys:write`) |\n| Баланс и счета | читает баланс, операции, заказы и счета | «Читать баланс, счета и заказы» (`billing:read`) |\n| Заказы и оплата | рассчитывает стоимость и оформляет заказ, оплачивает его с баланса, отменяет заказ, делает апгрейд сервера | «Оформлять и изменять заказы от моего имени» (`orders:write`) |\n\nЧтобы найти нужный сервер, ассистенту нужно ещё и `servers:read`. Полный список инструментов с параметрами и лимитами: [Список инструментов MCP](#ai.unelte). Что даёт каждое разрешение: [Разрешения токенов (scopes)](#ai.permisiuni).\n\n> **Внимание**\n> С разрешением `orders:write` ассистент может тратить средства с баланса и отменять заказы. Отмена заказа с работающим сервером удаляет сервер сразу, со всеми данными и без отсрочки. Разрешения `servers:credentials` и `servers:exec` дают доступ `root` ко всем вашим серверам. Выдавайте их, только когда они действительно нужны.\n\n## Чего ассистент не умеет\n\n| Действие | Где это сделать |\n|---|---|\n| Создать или отозвать токен | blackbox.md, «API-токены» |\n| Пополнить баланс, оплатить картой | blackbox.md: [Пополнение баланса](#plati.alimentare-sold) |\n| Оплатить счёт | [Автоматическая оплата счетов с баланса](#plati.plata-automata) или [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar) |\n| Открыть тикет в поддержку | blackbox.md, «Помощь и поддержка»: [Создание тикета в поддержку](#suport.tichet-nou) |\n| Мониторинг, оповещения и DNS | панель app.blackbox.md: [Страница «Мониторинг»](#servicii.monitorizare), [Управление DNS-записями из панели](#servicii.dns-inregistrari) |\n| Веб-консоль или VNC | для клиентов их нет: подключайтесь по SSH, а если потеряли доступ — пишите в поддержку |\n| Переустановить операционную систему | по запросу через поддержку: [Доступные операционные системы](#comenzi.sisteme-operare) |\n| Перейти на меньший тариф (даунгрейд) | нельзя и в панели: закажите новый сервер на нужном тарифе и перенесите данные |\n| Переименовать сервер | в панели: [Переименование сервера (личное название)](#servere.redenumire) |\n| Отложенное удаление (24 часа на отмену) | в панели: [Безвозвратное удаление сервера](#servere.stergere-server) |\n\nДоступа к профилю, паролю аккаунта, реквизитам и удалению аккаунта у ассистента тоже нет.\n\n## REST API для клиентов нет\n\nТокены `bbx_pat_…` работают только по адресу `https://api.app.blackbox.md/mcp`. Отдельного REST API для клиентов у BLACKBOX нет: остальные адреса сайта и панели принимают только сессию браузера и отклоняют токен. Если хотите автоматизировать что-то из своего кода, используйте тот же MCP: [Использование MCP из кода (AI API и HTTP)](#ai.conectare-din-cod).\n\n## Примеры запросов\n\n| Что написать ассистенту | Нужные разрешения |\n|---|---|\n| «Покажи мои серверы BLACKBOX и их статус» | `servers:read` |\n| «Какой у меня баланс и какие счета не оплачены?» | `billing:read` |\n| «Установи nginx на мой сервер» | `servers:read`, `servers:exec` |\n| «Какие тарифы VPS с 4 vCPU у вас есть и сколько они стоят?» | не требуются |\n| «Перезагрузи мой сервер и скажи, когда он снова ответит» | `servers:read`, `servers:power` |\n| «Какие SSH-ключи установлены на моём сервере?» | `servers:read`, `servers:credentials` |\n| «Сделай апгрейд сервера до следующего тарифа, но сначала покажи цену» | `servers:read`, `orders:write` |\n\nПервые три примера опубликованы на странице `blackbox.md/ru/info/mcp`. Больше примеров: [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n\n## Какие данные видит провайдер AI\n\nВсё, что возвращают инструменты, попадает в AI-клиент и к провайдеру, который обслуживает AI-модель: список серверов, IP-адреса, баланс, счета, вывод команд на сервере, а если вы выдали `servers:credentials` — ещё пароли root и ключи доступа к серверам. Пользуйтесь провайдером AI, которому доверяете, и выдавайте разрешения на доступ только по необходимости. В журнале действий BLACKBOX отмечается только сам факт запуска команды — без её текста и вывода.\n\n> **Безопасность**\n> Токен — это ключ к вашему аккаунту: любой, у кого он есть, может откуда угодно делать всё, что позволяют выданные токену разрешения. Не публикуйте его в чатах, на скриншотах и в git-репозиториях. Создавайте отдельный токен для каждого клиента или устройства и отзывайте его кнопкой «Отозвать», когда он больше не нужен: доступ прекращается сразу. Смена пароля аккаунта blackbox.md отключает все токены, созданные до неё. Подробнее: [Безопасность токенов и AI-агентов](#ai.securitate).\n\n## Частые вопросы\n\n**Какие AI-клиенты подходят?**\nЛюбой клиент, который подключается к удалённым MCP-серверам по HTTP и позволяет добавить собственный заголовок: приложение Claude (через «Custom connector» с заголовком `x-api-key`), Claude Code, Cursor, VS Code с GitHub Copilot и другие. Приложения, которые подключаются только через OAuth (вход в учётную запись, без заголовка), подключить нельзя: сервер BLACKBOX принимает только токен.\n\n**Это платно?**\nНет. Интеграция и токены бесплатны. Вы платите только за заказанные услуги, в том числе заказанные через ассистента.\n\n**Может ли ассистент потратить мои деньги?**\nТолько с баланса и только если у токена есть разрешение `orders:write`. Инструменты для заказов, отмены и апгрейда по умолчанию лишь показывают предварительный расчёт (цену или сумму возврата) и действуют только после подтверждения, а заказ оплачивается отдельным шагом, который проходит, только если указанная сумма в точности равна текущей цене. Пополнить баланс или оплатить картой ассистент не может. Он получает указание спрашивать ваше согласие перед любой тратой, но окно подтверждения показывает AI-клиент, поэтому не включайте для этих инструментов автоматическое одобрение. Подробнее: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**Нужно ли давать ассистенту пароль root или мой SSH-ключ?**\nНет. Ассистент работает с сервером через защищённое соединение BLACKBOX, и ему нужен только токен. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n**Можно ли подключить несколько ассистентов или устройств?**\nДа. Создайте для каждого отдельный токен с подходящими разрешениями. Отзывать их можно по одному, не затрагивая остальные.\n",
    "en": "The AI integration lets you manage your BLACKBOX account from an AI assistant, in plain language: your servers, SSH access, balance, orders and invoices. For this, BLACKBOX runs an MCP server named `blackbox` at `https://api.app.blackbox.md/mcp`. The overview is on the `blackbox.md/info/mcp` page, and you create access tokens in “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`).\n\n**Available to:** the holder of the blackbox.md account. The app.blackbox.md panel has no AI settings: everything is done in your account on blackbox.md and in the AI client.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What MCP is\n\nModel Context Protocol (MCP) is an open standard that lets an AI assistant connect to external services and use their “tools”. The BLACKBOX MCP server gives the assistant tools for a single blackbox.md account: yours.\n\n- **Compatible clients:** Claude (the web app and Claude Desktop, through “Custom connector”, plus Claude Code), Cursor, VS Code with GitHub Copilot and any other client that connects to remote MCP servers over HTTP (Streamable HTTP) and lets you add a custom header.\n- **Authentication:** a personal API token in the form `bbx_pat_…`, which you create on blackbox.md. The assistant does not need your account password, the root password or your SSH key: the token is enough.\n- **Permissions:** when you create the token, you tick what the assistant is allowed to do. Tools the token has no permission for do not even appear in the assistant's list.\n- **Cost:** the integration is free. Tokens and MCP calls are not charged; you pay only for the services you order.\n\n## Connecting in 3 steps\n\n### 1. Create a token\n\n1. On blackbox.md, open “Contul meu” (My account) → “Token-uri API” (API tokens) (the “Token-uri de acces (API)” (Access tokens (API)) page).\n2. In the “Token nou” (New token) card, fill in “Nume token” (Token name), for example “Claude Desktop (laptop)”.\n3. Under “Permisiuni” (Permissions), the three read permissions are ticked by default. Tick others if you want the assistant to make changes, or click “AI-administrator — acces complet” (AI administrator — full access) to tick all eight.\n4. Click “Creează token” (Create token).\n5. The “Token-ul dvs. nou” (Your new token) card appears, with the message “Copiați token-ul acum — nu va mai fi afișat din nou.” (Copy the token now — it will not be shown again.) Click “Copiază” (Copy); the button changes to “Copiat!” (Copied!). Keep the token in a safe place, then click “Gata” (Done).\n\nDetails: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n### 2. Add the server to your AI client\n\nThe values are the same in all clients:\n\n| Field | Value |\n|---|---|\n| Name in the configuration | `blackbox` (recommended) |\n| Server URL | `https://api.app.blackbox.md/mcp` |\n| Transport | HTTP (Streamable HTTP) |\n| Authorization header | `Authorization: Bearer bbx_pat_…` |\n| In the Claude app (“Custom connector”) | the `x-api-key` header, with the value `bbx_pat_…`, without the word `Bearer` |\n\nIn Cursor, you add the server to a JSON file, in the format shown on `blackbox.md/info/mcp`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer bbx_pat_...\"\n      }\n    }\n  }\n}\n```\n\nReplace `bbx_pat_...` with your token and restart the client if it asks you to. Other clients (for example VS Code) use a slightly different format. Steps for each client: [Connecting in the Claude app (custom connector)](#ai.conectare-claude) and [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n\n### 3. Check the connection\n\nWrite to the assistant: “Call whoami”. The `whoami` tool needs no permission. It confirms that the token works and shows which permissions the token has and which are missing (`missing_scopes`). If a permission you need is missing, create a new token: you cannot add permissions to an existing token.\n\nIf the AI client reports the `invalid_token` error, see [MCP limits and error codes](#ai.limite-si-erori).\n\n## What the assistant can do\n\n| Area | What it can do | Permission needed |\n|---|---|---|\n| Plans | lists VPS plans, with their resources and prices | none |\n| Servers | lists your servers, with their status, IP address and power state | “Citește lista și statusul serverelor mele” (Read the list and status of my servers) (`servers:read`) |\n| Power | reboots, stops and starts the server | “Controlează alimentarea serverelor (repornire/oprire/pornire)” (Control server power (reboot/stop/start)) (`servers:power`) |\n| Server access | shows or resets the root password; gets direct SSH access with a key that BLACKBOX installs on the server; adds, lists and deletes SSH keys on the server; turns SSH password login on or off | “Vizualizează parolele/accesul serverelor” (View server passwords/access) (`servers:credentials`) |\n| Running commands | runs any command as `root`, for example installs nginx | “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) (`servers:exec`) |\n| SSH keys in your account | lists them; adds and deletes them | “Citește lista cheilor mele SSH” (Read the list of my SSH keys) (`ssh_keys:read`); “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys) (`ssh_keys:write`) |\n| Balance and billing | reads your balance, transactions, orders and invoices | “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) (`billing:read`) |\n| Orders and payments | calculates the price and places an order, pays for it from your balance, cancels an order, upgrades a server | “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) (`orders:write`) |\n\nTo find a server, the assistant also needs `servers:read`. The full list of tools, with parameters and limits: [List of MCP tools](#ai.unelte). What each permission allows: [Token permissions (scopes)](#ai.permisiuni).\n\n> **Warning**\n> With `orders:write`, the assistant can spend from your balance and cancel orders. Canceling an order with an active server deletes the server immediately, with all its data, with no grace period. The `servers:credentials` and `servers:exec` permissions give `root` access to all your servers. Grant them only when you really need them.\n\n## What the assistant cannot do\n\n| Action | Where to do it |\n|---|---|\n| Creating and revoking tokens | blackbox.md, “Token-uri API” (API tokens) |\n| Topping up your balance and paying by card | blackbox.md: [Topping up your balance](#plati.alimentare-sold) |\n| Paying invoices | [Automatic payment of invoices from your balance](#plati.plata-automata) or [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar) |\n| Support tickets | blackbox.md, “Ajutor și suport” (Help and support): [Opening a support ticket](#suport.tichet-nou) |\n| Monitoring, alerts and DNS | the app.blackbox.md panel: [The “Monitoring” page](#servicii.monitorizare), [Managing DNS records from the panel](#servicii.dns-inregistrari) |\n| Web or VNC console | not available to customers; you connect over SSH, and if you lose access, write to support |\n| Reinstalling the operating system | on request, through support: [Available operating systems](#comenzi.sisteme-operare) |\n| Moving to a smaller plan (downgrade) | not possible in the panel either; order a new server on the plan you want and move your data |\n| Renaming the server | the panel: [Renaming a server (private name)](#servere.redenumire) |\n| Scheduled deletion, with 24 hours in which you can cancel it | the panel: [Permanently deleting a server](#servere.stergere-server) |\n\nThe assistant also has no access to your profile, your account password or your billing details, and it cannot delete your account.\n\n## There is no REST API\n\n`bbx_pat_…` tokens work only at `https://api.app.blackbox.md/mcp`. BLACKBOX does not offer customers a REST API: the other addresses of the website and the panel accept only your browser session and reject the token. If you want to automate something from your own code, use MCP as well: [Using MCP from code (AI APIs and HTTP)](#ai.conectare-din-cod).\n\n## Example requests\n\n| What you write to the assistant | Permissions needed |\n|---|---|\n| “Show me my BLACKBOX servers and their status” | `servers:read` |\n| “What is my balance, and which invoices are unpaid?” | `billing:read` |\n| “Install nginx on my server” | `servers:read`, `servers:exec` |\n| “What VPS plans do you have with 4 vCPU, and how much do they cost?” | none |\n| “Restart my server and tell me when it responds again” | `servers:read`, `servers:power` |\n| “Which SSH keys are installed on my server?” | `servers:read`, `servers:credentials` |\n| “Upgrade my server to the next plan, but show me the price first” | `servers:read`, `orders:write` |\n\nThe first three examples are the ones on `blackbox.md/info/mcp`. More: [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n\n## What data the AI provider sees\n\nEverything the tools return reaches the AI client and the provider that runs the AI model: your server list, IP addresses, balance, invoices, the output of commands run on the server and, if you granted `servers:credentials`, root passwords and server access keys. Use an AI provider you trust, and grant access permissions only when needed. In the action log, BLACKBOX records only that a command was run, without its text and without its output.\n\n> **Security**\n> The token is a key to your account: anyone who has it can do, from anywhere, everything its permissions allow. Do not put it in chats, screenshots or git repositories. Create a separate token for each client or device, and revoke it with “Revocă” (Revoke) when you no longer need it; access stops immediately. Changing your blackbox.md account password disables all tokens created before the change. More: [Token and AI agent security](#ai.securitate).\n\n## Frequently asked questions\n\n**Which AI clients work?**\nAny client that connects to remote MCP servers over HTTP and lets you add a custom header: the Claude app (through “Custom connector”, with the `x-api-key` header), Claude Code, Cursor, VS Code with GitHub Copilot and others. Apps that only allow connecting through OAuth (signing in with an account, without a header) cannot connect: the BLACKBOX server accepts only the token.\n\n**Does it cost anything?**\nNo. The integration and the tokens are free. You pay only for the services you order, including those ordered through the assistant.\n\n**Can the assistant spend my money?**\nOnly from your balance, and only if the token has the `orders:write` permission. By default, the tools for orders, cancellations and upgrades show only a preview (the price or the amount to be refunded) and act only after you confirm. An order is paid in a separate step, which succeeds only if the amount specified is exactly the current price. The assistant cannot top up your balance or pay by card. It is instructed to ask for your consent before any spending, but the confirmation window is shown by the AI client, so do not turn on automatic approval for these tools. Details: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**Do I have to give the assistant my root password or my SSH key?**\nNo. The assistant works on the server through the secure BLACKBOX connection and needs only the token. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n**Can I connect several assistants or devices?**\nYes. Create a separate token for each one, with the right permissions. You can revoke them one at a time without affecting the others.\n"
   }
  },
  {
   "id": "ai.token-uri-api",
   "section": "ai",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/token-uri-api/",
    "ru": "https://docs.blackbox.md/ru/ai/token-uri-api/",
    "en": "https://docs.blackbox.md/en/ai/token-uri-api/"
   },
   "title": {
    "ro": "Token-uri API: creare, copiere și revocare",
    "ru": "API-токены: создание, копирование и отзыв",
    "en": "API tokens: creating, copying and revoking"
   },
   "summary": {
    "ro": "Cum creați un token pentru asistentul AI, cum îl copiați o singură dată și cum îl revocați.",
    "ru": "Как создать токен для AI-ассистента, скопировать его один раз и отозвать.",
    "en": "How to create a token for the AI assistant, copy it the only time it is shown and revoke it."
   },
   "markdown": {
    "ro": "Pagina „Token-uri de acces (API)” (`blackbox.md/account/api-tokens`, „Contul meu” → „Token-uri API”) creează token-urile cu care un asistent AI (Claude, Cursor, VS Code etc.) se conectează la contul dvs. prin MCP. Descrierea de pe pagină: „Creați un token pentru a conecta un asistent AI (Claude Desktop, Cursor etc.) la contul dvs. blackbox.md prin MCP. Token-ul oferă acces doar la datele pe care le permiteți explicit mai jos.” Token-urile se gestionează doar aici: panoul app.blackbox.md nu are o astfel de pagină.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Un token acționează în numele contului dvs., numai cu permisiunile bifate la creare.\n\n## Cum creați un token\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon se vede doar pictograma contului).\n2. În meniul din stânga alegeți „Token-uri API”. Pe telefon și pe tabletă, meniul se deschide cu butonul „Meniu cont”. Linkul „Cum funcționează — ghid complet →” de sub titlu deschide prezentarea integrării AI (`blackbox.md/info/mcp`).\n3. În cardul „Token nou”, completați „Nume token” cu numele clientului AI sau al dispozitivului, de exemplu „Claude Desktop (laptop)”. Numele este obligatoriu și are 1–80 de caractere.\n4. La „Permisiuni” bifați ce poate face asistentul. Primele trei permisiuni (doar citire) sunt bifate deja. Permisiunile scrise cu roșu sunt riscante: permit modificări sau accesul la parolele serverelor. Când bifați una, sub ea apare avertismentul „Atenție: cu această permisiune asistentul AI va putea … Acordați-o doar clienților în care aveți încredere — token-ul poate fi revocat oricând.”\n5. Apăsați „Creează token”. Cât timp se lucrează, butonul arată „Se creează…”.\n6. Deasupra formularului apare cardul „Token-ul dvs. nou”. Copiați token-ul imediat (vedeți secțiunea următoare). Formularul se golește, iar la „Permisiuni” rămân bifate din nou cele trei permisiuni de citire.\n\n| Bifa din formular | Codul din listă | Implicit |\n|---|---|---|\n| „Citește lista și statusul serverelor mele” | `servers:read` | bifată |\n| „Citește soldul, facturile și comenzile” | `billing:read` | bifată |\n| „Citește lista cheilor mele SSH” | `ssh_keys:read` | bifată |\n| „Controlează alimentarea serverelor (repornire/oprire/pornire)” | `servers:power` | roșie, nebifată |\n| „Vizualizează parolele/accesul serverelor” | `servers:credentials` | roșie, nebifată |\n| „Plasează și modifică comenzi în numele meu” | `orders:write` | roșie, nebifată |\n| „Adaugă și șterge cheile mele SSH” | `ssh_keys:write` | roșie, nebifată |\n| „Rulează orice comandă ca root pe serverele mele” | `servers:exec` | roșie, nebifată |\n\nCe unelte deblochează fiecare permisiune găsiți în [Permisiunile token-urilor (scopes)](#ai.permisiuni). Ce permisiuni cere o anumită sarcină: [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n\n### Presetarea „AI-administrator — acces complet”\n\nButonul „AI-administrator — acces complet” de deasupra listei de permisiuni bifează toate cele 8 permisiuni. Cât timp toate sunt bifate, sub listă apare textul: „Acces complet: asistentul va putea rula orice comandă ca root pe serverele dvs., vedea parole și chei și cheltui din sold. Exact ce are nevoie un administrator AI — nu trebuie să îi mai dați nimic în afară de token.” După presetare puteți debifa orice permisiune înainte de „Creează token”.\n\n> **Risc**\n> Permisiunea „Rulează orice comandă ca root pe serverele mele” dă acces `root` la toate serverele dvs., iar permisiunea „Plasează și modifică comenzi în numele meu” permite cheltuieli din sold. Oricine are token-ul îl poate folosi de oriunde, până îl revocați. Pentru sarcini care doar citesc date, creați un token separat, fără permisiuni roșii.\n\n## Cum copiați token-ul\n\nCardul „Token-ul dvs. nou” arată token-ul complet o singură dată.\n\n1. Citiți avertismentul „Copiați token-ul acum — nu va mai fi afișat din nou.”\n2. Apăsați „Copiază”. Timp de două secunde butonul arată „Copiat!”. Dacă textul butonului nu se schimbă, browserul nu permite copierea automată: selectați token-ul cu mouse-ul și copiați-l manual.\n3. Lipiți token-ul în clientul AI sau într-un manager de parole.\n4. Folosiți datele din caseta „Conectarea unui client AI” („Adăugați această conexiune în setările Claude Desktop / Cursor (sau orice client compatibil MCP):”):\n\n   | Rând | Valoare |\n   |---|---|\n   | „URL server” | `https://api.app.blackbox.md/mcp` |\n   | „Antet de autorizare” | `Authorization: Bearer bbx_pat_…` (cu token-ul dvs. complet) |\n\n5. Apăsați „Gata”. Cardul se închide, iar token-ul nu mai poate fi afișat. Același lucru se întâmplă dacă reîncărcați pagina sau plecați de pe ea.\n\nUn token are forma `bbx_pat_` urmat de 43 de caractere (litere, cifre, `-` și `_`). Pașii pentru fiecare client: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude) (acolo token-ul se pune în antetul `x-api-key`, fără „Bearer”) și [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n\n> **Important**\n> BLACKBOX nu păstrează token-ul în clar, ci doar o amprentă criptografică a lui. Nici noi nu vi-l putem arăta din nou. Dacă l-ați pierdut, creați un token nou și revocați-l pe cel vechi.\n\n## Lista token-urilor\n\nSub formular, tabelul arată toate token-urile, de la cel mai nou:\n\n| Coloană | Ce conține |\n|---|---|\n| „Nume” | numele dat la creare |\n| „Token” | doar începutul și ultimele 4 caractere, de forma `bbx_pat_…a1B2` |\n| „Permisiuni” | codurile permisiunilor, de exemplu `servers:read` (vedeți tabelul de mai sus) |\n| „Creat” | data și ora creării |\n| „Ultima utilizare” | ultima folosire de către un client AI; „niciodată” dacă nu a fost folosit. Se actualizează cel mult o dată pe minut. |\n| fără titlu | butonul „Revocă” |\n\nCând nu aveți niciun token, pagina arată „Nu aveți încă token-uri de acces.”\n\n## Cum revocați un token\n\n1. În tabel, apăsați „Revocă” pe rândul token-ului.\n2. Se deschide fereastra „Revocați token-ul?” cu textul „Revocați acest token? Orice client AI care îl folosește va pierde accesul imediat.”\n3. Apăsați „Revocă” ca să confirmați sau „Anulează” ca să renunțați.\n4. Butonul arată „Se revocă…”. Apoi rândul devine gri, iar în locul butonului apare cuvântul „Revocă”, scris cu gri, cursiv. Dacă rândul rămâne neschimbat, revocarea nu a reușit: reîncărcați pagina și încercați din nou.\n\nRevocarea are efect imediat: la următoarea cerere, clientul AI primește eroarea `token not recognised (revoked, expired, or unknown)`. Revocarea nu se poate anula. Token-urile revocate nu se pot șterge: rămân în listă, gri.\n\n## Când nu mai funcționează un token\n\n| Situație | Ce se întâmplă cu token-urile |\n|---|---|\n| Ați apăsat „Revocă” | Token-ul se oprește imediat. |\n| Ați schimbat parola contului blackbox.md | Toate token-urile create înainte de schimbare se opresc. Ele rămân în listă fără niciun marcaj: revocați-le. Detalii în [Schimbarea parolei contului](#cont.schimbare-parola). |\n| Contul este șters | Token-urile sunt șterse odată cu contul, la sfârșitul perioadei de grație. Până atunci funcționează. Vedeți [Ștergerea contului](#cont.stergere-cont). |\n| V-ați deconectat de pe blackbox.md sau ați folosit „Deconectare de peste tot” în panou | Nimic: token-urile funcționează în continuare. |\n\nImplicit, token-urile nu expiră, iar pagina nu vă permite să setați o dată de expirare. Înlocuiți-le periodic: creați un token nou, puneți-l în client și revocați-l pe cel vechi.\n\n## Limite și erori\n\n| Regulă | Valoare |\n|---|---|\n| Token-uri create | cel mult 10 pe oră; se numără fiecare încercare, inclusiv cele respinse |\n| Număr total de token-uri | fără limită |\n| Nume | obligatoriu, 1–80 de caractere |\n| Permisiuni | se aleg la creare și nu se mai pot modifica |\n| Expirare | implicit, nu există; nu se poate seta |\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Introduceți un nume pentru token.” | Câmpul „Nume token” este gol. | Completați numele. |\n| „Too many requests” | Ați creat sau ați încercat să creați 10 token-uri în ultima oră. | Așteptați o oră fără să reîncercați: fiecare încercare prelungește așteptarea. |\n| `mcp_disabled` | Serviciul MCP este temporar indisponibil. Token-urile existente rămân în listă și pot fi revocate. | Reîncercați mai târziu. Dacă mesajul persistă, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). |\n| „Nu am putut crea token-ul.” sau un text în engleză, de exemplu „Unauthorized” | Altă eroare, de exemplu sesiunea a expirat. | Reîncărcați pagina, autentificați-vă din nou și reîncercați. |\n| „Eroare la încărcare.” | Lista nu s-a putut încărca. | Reîncărcați pagina sau autentificați-vă din nou. |\n\nErorile pe care le primește clientul AI la conectare sunt explicate în [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**Am închis cardul înainte să copiez token-ul. Îl pot recupera?**\nNu. Creați un token nou și revocați-l pe cel necopiat, ca să nu rămână în listă un token pe care nu îl folosiți.\n\n**Cum adaug o permisiune unui token existent?**\nNu se poate. Creați un token nou cu permisiunile necesare, înlocuiți-l în clientul AI, apoi revocați-l pe cel vechi.\n\n**Primesc un email când se creează sau se revocă un token?**\nNu, nu se trimite niciun email. Verificați periodic lista și coloana „Ultima utilizare” și revocați token-urile pe care nu le recunoașteți.\n\n**De ce „Ultima utilizare” arată încă „niciodată”?**\nPrima folosire se înregistrează imediat, dar pagina nu se actualizează singură: reîncărcați-o. Dacă tot vedeți „niciodată”, clientul AI nu s-a conectat încă cu acest token: verificați adresa și antetul din setările clientului.\n\n**Pot crea sau revoca token-uri prin asistentul AI ori din panou?**\nNu. Token-urile se creează și se revocă doar pe această pagină, în contul blackbox.md.\n\n**Pot folosi token-ul și pentru alt API?**\nNu. Token-ul este acceptat doar la adresa MCP `https://api.app.blackbox.md/mcp`.\n\n**Câte token-uri să creez?**\nCâte unul pentru fiecare client AI sau dispozitiv, cu un nume clar. Dacă pierdeți laptopul, revocați doar token-ul lui. Mai multe recomandări în [Securitatea token-urilor și a agenților AI](#ai.securitate).\n",
    "ru": "На странице «Токены доступа (API)» (`blackbox.md/ru/account/api-tokens`, «Мой аккаунт» → «API-токены») создаются токены, с которыми AI-ассистент (Claude, Cursor, VS Code и другие) подключается к вашему аккаунту через MCP. На странице написано: «Создайте токен, чтобы подключить AI-ассистента (Claude Desktop, Cursor и т.д.) к вашему аккаунту blackbox.md через MCP. Токен даёт доступ только к тем данным, которые вы явно разрешите ниже.» Управлять токенами можно только здесь: в панели app.blackbox.md такой страницы нет.\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md. Токен действует от имени вашего аккаунта и только с теми разрешениями, которые вы отметили при создании.\n\n## Как создать токен\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхней панели (на телефоне видна только иконка аккаунта).\n2. В меню слева выберите «API-токены». На телефоне и планшете меню открывается кнопкой «Меню аккаунта». Ссылка «Как это работает — полное руководство →» под заголовком открывает описание AI-интеграции (`blackbox.md/ru/info/mcp`).\n3. В карточке «Новый токен» заполните поле «Название токена» — укажите AI-клиент или устройство, например «Claude Desktop (ноутбук)». Название обязательно, длина — от 1 до 80 символов.\n4. В блоке «Разрешения» отметьте, что разрешено ассистенту. Первые три разрешения (только чтение) уже отмечены. Разрешения, выделенные красным, рискованные: они позволяют что-то менять или видеть пароли серверов. Когда вы отмечаете такое разрешение, под ним появляется предупреждение «Внимание: с этим разрешением AI-ассистент сможет … Предоставляйте его только тем клиентам, которым доверяете — токен можно отозвать в любой момент.»\n5. Нажмите «Создать токен». Пока токен создаётся, на кнопке написано «Создание…».\n6. Над формой появится карточка «Ваш новый токен». Сразу скопируйте токен (см. следующий раздел). Форма очищается, а в блоке «Разрешения» снова отмечены три разрешения на чтение.\n\n| Пункт в форме | Код в списке | По умолчанию |\n|---|---|---|\n| «Читать список и статус моих серверов» | `servers:read` | отмечено |\n| «Читать баланс, счета и заказы» | `billing:read` | отмечено |\n| «Читать список моих SSH-ключей» | `ssh_keys:read` | отмечено |\n| «Управлять питанием серверов (перезагрузка/выкл/вкл)» | `servers:power` | красное, не отмечено |\n| «Просматривать пароли/доступы к серверам» | `servers:credentials` | красное, не отмечено |\n| «Оформлять и изменять заказы от моего имени» | `orders:write` | красное, не отмечено |\n| «Добавлять и удалять мои SSH-ключи» | `ssh_keys:write` | красное, не отмечено |\n| «Выполнять любые команды от root на моих серверах» | `servers:exec` | красное, не отмечено |\n\nКакие инструменты открывает каждое разрешение, описано в статье [Разрешения токенов (scopes)](#ai.permisiuni). Какие разрешения нужны для конкретной задачи — в статье [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n\n### Набор «AI-администратор — полный доступ»\n\nКнопка «AI-администратор — полный доступ» над списком разрешений отмечает все 8 разрешений. Пока отмечены все, под списком виден текст: «Полный доступ: ассистент сможет выполнять любые команды от root на ваших серверах, видеть пароли и ключи и тратить средства с баланса. Именно то, что нужно AI-администратору — больше ничего давать не нужно, кроме токена.» После нажатия кнопки любое разрешение можно снять до того, как вы нажмёте «Создать токен».\n\n> **Опасно**\n> Разрешение «Выполнять любые команды от root на моих серверах» даёт доступ `root` ко всем вашим серверам, а разрешение «Оформлять и изменять заказы от моего имени» позволяет тратить средства с баланса. Любой, у кого есть токен, может пользоваться им откуда угодно, пока вы его не отзовёте. Для задач, где нужно только читать данные, создайте отдельный токен без красных разрешений.\n\n## Как скопировать токен\n\nКарточка «Ваш новый токен» показывает токен целиком только один раз.\n\n1. Прочитайте предупреждение «Скопируйте токен сейчас — он не будет показан снова.»\n2. Нажмите «Копировать». На две секунды на кнопке появится «Скопировано!». Если надпись не изменилась, браузер не разрешает автоматическое копирование: выделите токен мышью и скопируйте вручную.\n3. Вставьте токен в AI-клиент или в менеджер паролей.\n4. Используйте данные из блока «Подключение AI-клиента» («Добавьте это подключение в настройках Claude Desktop / Cursor (или любого MCP-совместимого клиента):»):\n\n   | Строка | Значение |\n   |---|---|\n   | «URL сервера» | `https://api.app.blackbox.md/mcp` |\n   | «Заголовок авторизации» | `Authorization: Bearer bbx_pat_…` (с вашим полным токеном) |\n\n5. Нажмите «Готово». Карточка закроется, и показать токен ещё раз будет невозможно. То же самое произойдёт, если вы обновите страницу или уйдёте с неё.\n\nТокен выглядит так: `bbx_pat_` и ещё 43 символа (буквы, цифры, `-` и `_`). Настройка конкретных клиентов описана в статьях [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude) (там токен указывается в заголовке `x-api-key`, без «Bearer») и [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n\n> **Важно**\n> BLACKBOX не хранит токен в открытом виде — только его криптографический отпечаток. Поэтому даже мы не сможем показать его повторно. Если вы его потеряли, создайте новый токен, а старый отзовите.\n\n## Список токенов\n\nПод формой находится таблица всех токенов — сначала самые новые:\n\n| Столбец | Что в нём |\n|---|---|\n| «Название» | название, указанное при создании |\n| «Токен» | только начало и последние 4 символа, например `bbx_pat_…a1B2` |\n| «Разрешения» | коды разрешений, например `servers:read` (см. таблицу выше) |\n| «Создан» | дата и время создания |\n| «Последнее использование» | когда AI-клиент в последний раз пользовался токеном; «никогда», если ещё не пользовался. Обновляется не чаще раза в минуту. |\n| без заголовка | кнопка «Отозвать» |\n\nЕсли токенов нет, на странице написано «У вас пока нет токенов доступа.»\n\n## Как отозвать токен\n\n1. В таблице нажмите «Отозвать» в строке токена.\n2. Откроется окно «Отозвать токен?» с текстом «Отозвать этот токен? Любой AI-клиент, использующий его, потеряет доступ немедленно.»\n3. Нажмите «Отозвать», чтобы подтвердить, или «Отмена», чтобы передумать.\n4. На кнопке появится «Отзыв…». Затем строка станет серой, а вместо кнопки появится слово «Отозвать» серым курсивом. Если строка не изменилась, отозвать токен не удалось: обновите страницу и повторите.\n\nОтзыв действует сразу: при следующем запросе AI-клиент получит ошибку `token not recognised (revoked, expired, or unknown)`. Отменить отзыв нельзя. Удалить отозванный токен тоже нельзя: он остаётся в списке серым.\n\n## Когда токен перестаёт работать\n\n| Ситуация | Что происходит с токенами |\n|---|---|\n| Вы нажали «Отозвать» | Токен перестаёт работать сразу. |\n| Вы сменили пароль аккаунта blackbox.md | Перестают работать все токены, созданные до смены пароля. В списке они остаются без какой-либо пометки — отзовите их. Подробнее — в статье [Смена пароля аккаунта](#cont.schimbare-parola). |\n| Аккаунт удалён | Токены удаляются вместе с аккаунтом в конце льготного периода. До этого момента они работают. См. [Удаление аккаунта](#cont.stergere-cont). |\n| Вы вышли из аккаунта на blackbox.md или нажали «Выйти везде» в панели | Ничего: токены продолжают работать. |\n\nПо умолчанию у токенов нет срока действия, и задать его на странице нельзя. Поэтому время от времени заменяйте токены: создайте новый, пропишите его в клиенте, а старый отзовите.\n\n## Лимиты и ошибки\n\n| Правило | Значение |\n|---|---|\n| Создание токенов | не более 10 в час; учитывается каждая попытка, в том числе отклонённая |\n| Всего токенов | без ограничений |\n| Название | обязательно, от 1 до 80 символов |\n| Разрешения | выбираются при создании, изменить их потом нельзя |\n| Срок действия | по умолчанию нет; задать нельзя |\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Укажите название токена.» | Поле «Название токена» пустое. | Укажите название. |\n| «Too many requests» | За последний час вы создали или пытались создать 10 токенов. | Подождите час и не повторяйте попытки: каждая попытка продлевает ожидание. |\n| `mcp_disabled` | Сервис MCP временно недоступен. Уже созданные токены остаются в списке, и их можно отозвать. | Повторите позже. Если сообщение не исчезает, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n| «Не удалось создать токен.» или текст на английском, например «Unauthorized» | Другая ошибка — например, истекла сессия. | Обновите страницу, войдите заново и повторите. |\n| «Ошибка загрузки.» | Не удалось загрузить список. | Обновите страницу или войдите заново. |\n\nОшибки, которые AI-клиент получает при подключении, разобраны в статье [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**Я закрыл карточку, не скопировав токен. Можно его восстановить?**\nНет. Создайте новый токен, а нескопированный отзовите, чтобы в списке не оставалось неиспользуемых токенов.\n\n**Как добавить разрешение к уже созданному токену?**\nНельзя. Создайте новый токен с нужными разрешениями, замените им старый в AI-клиенте, а старый отзовите.\n\n**Приходит ли письмо, когда токен создан или отозван?**\nНет, писем не отправляется. Регулярно просматривайте список и столбец «Последнее использование» и отзывайте токены, которые не узнаёте.\n\n**Почему в «Последнее использование» по-прежнему «никогда»?**\nПервое использование записывается сразу, но страница сама не обновляется — обновите её. Если там всё ещё «никогда», AI-клиент пока не подключался с этим токеном: проверьте адрес и заголовок в настройках клиента.\n\n**Можно ли создавать или отзывать токены через AI-ассистента или в панели?**\nНет. Токены создаются и отзываются только на этой странице аккаунта blackbox.md.\n\n**Подойдёт ли токен для другого API?**\nНет. Токен принимается только по адресу MCP `https://api.app.blackbox.md/mcp`.\n\n**Сколько токенов создавать?**\nПо одному на каждый AI-клиент или устройство, с понятным названием. Если потеряете ноутбук, достаточно отозвать только его токен. Другие советы — в статье [Безопасность токенов и AI-агентов](#ai.securitate).\n",
    "en": "The “Token-uri de acces (API)” (Access tokens (API)) page (`blackbox.md/account/api-tokens`, “Contul meu” (My account) → “Token-uri API” (API tokens)) is where you create the tokens that an AI assistant (Claude, Cursor, VS Code, etc.) uses to connect to your account through MCP. The page says: “Creați un token pentru a conecta un asistent AI (Claude Desktop, Cursor etc.) la contul dvs. blackbox.md prin MCP. Token-ul oferă acces doar la datele pe care le permiteți explicit mai jos.” (Create a token to connect an AI assistant (Claude Desktop, Cursor, etc.) to your blackbox.md account through MCP. The token gives access only to the data you explicitly allow below.) Tokens are managed only here: the app.blackbox.md panel has no such page.\n\n**Available to:** any customer signed in to blackbox.md. A token acts on behalf of your account, only with the permissions you checked when you created it.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to create a token\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, only the account icon is visible).\n2. In the left menu, choose “Token-uri API” (API tokens). On a phone or tablet, open the menu with the “Meniu cont” (Account menu) button. The “Cum funcționează — ghid complet →” (How it works — full guide →) link below the title opens the overview of the AI integration (`blackbox.md/info/mcp`).\n3. In the “Token nou” (New token) card, fill in “Nume token” (Token name) with the name of the AI client or device, for example “Claude Desktop (laptop)”. The name is required and must be 1–80 characters long.\n4. Under “Permisiuni” (Permissions), check what the assistant is allowed to do. The first three permissions (read-only) are already checked. The permissions written in red are risky: they allow changes or access to server passwords. When you check one, this warning appears below it: “Atenție: cu această permisiune asistentul AI va putea … Acordați-o doar clienților în care aveți încredere — token-ul poate fi revocat oricând.” (Warning: with this permission, the AI assistant will be able to … Grant it only to clients you trust — the token can be revoked at any time.)\n5. Click “Creează token” (Create token). While it works, the button shows “Se creează…” (Creating…).\n6. The “Token-ul dvs. nou” (Your new token) card appears above the form. Copy the token right away (see the next section). The form is cleared, and under “Permisiuni” the three read permissions are checked again.\n\n| Checkbox on the form | Code shown in the list | Default |\n|---|---|---|\n| “Citește lista și statusul serverelor mele” (Read the list and status of my servers) | `servers:read` | checked |\n| “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) | `billing:read` | checked |\n| “Citește lista cheilor mele SSH” (Read the list of my SSH keys) | `ssh_keys:read` | checked |\n| “Controlează alimentarea serverelor (repornire/oprire/pornire)” (Control server power (reboot/stop/start)) | `servers:power` | red, unchecked |\n| “Vizualizează parolele/accesul serverelor” (View server passwords/access) | `servers:credentials` | red, unchecked |\n| “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) | `orders:write` | red, unchecked |\n| “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys) | `ssh_keys:write` | red, unchecked |\n| “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) | `servers:exec` | red, unchecked |\n\nTo see which tools each permission unlocks, read [Token permissions (scopes)](#ai.permisiuni). For the permissions a specific task needs, see [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n\n### The “AI-administrator — acces complet” (AI administrator — full access) preset\n\nThe “AI-administrator — acces complet” button above the permission list checks all 8 permissions. As long as all of them are checked, this text appears below the list: “Acces complet: asistentul va putea rula orice comandă ca root pe serverele dvs., vedea parole și chei și cheltui din sold. Exact ce are nevoie un administrator AI — nu trebuie să îi mai dați nimic în afară de token.” (Full access: the assistant will be able to run any command as root on your servers, see passwords and keys, and spend from your balance. Exactly what an AI administrator needs — you don't have to give it anything other than the token.) After applying the preset, you can uncheck any permission before you click “Creează token”.\n\n> **Risk**\n> The “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) permission gives `root` access to all your servers, and the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission allows spending from your balance. Anyone who has the token can use it from anywhere until you revoke it. For tasks that only read data, create a separate token without red permissions.\n\n## How to copy the token\n\nThe “Token-ul dvs. nou” (Your new token) card shows the full token only once.\n\n1. Read the warning “Copiați token-ul acum — nu va mai fi afișat din nou.” (Copy the token now — it will not be shown again.)\n2. Click “Copiază” (Copy). For two seconds, the button shows “Copiat!” (Copied!). If the button text does not change, your browser does not allow automatic copying: select the token with the mouse and copy it manually.\n3. Paste the token into your AI client or into a password manager.\n4. Use the details in the “Conectarea unui client AI” (Connecting an AI client) box, which says: “Adăugați această conexiune în setările Claude Desktop / Cursor (sau orice client compatibil MCP):” (Add this connection in the settings of Claude Desktop / Cursor (or any MCP-compatible client):)\n\n   | Row | Value |\n   |---|---|\n   | “URL server” (Server URL) | `https://api.app.blackbox.md/mcp` |\n   | “Antet de autorizare” (Authorization header) | `Authorization: Bearer bbx_pat_…` (with your full token) |\n\n5. Click “Gata” (Done). The card closes, and the token can no longer be shown. The same happens if you reload the page or leave it.\n\nA token has the form `bbx_pat_` followed by 43 characters (letters, digits, `-` and `_`). Steps for each client: [Connecting in the Claude app (custom connector)](#ai.conectare-claude) (there the token goes in the `x-api-key` header, without “Bearer”) and [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n\n> **Important**\n> BLACKBOX does not store the token in plain text, only a cryptographic fingerprint of it. Not even we can show it to you again. If you have lost it, create a new token and revoke the old one.\n\n## The token list\n\nBelow the form, a table shows all your tokens, newest first:\n\n| Column | What it contains |\n|---|---|\n| “Nume” (Name) | the name given at creation |\n| “Token” | only the beginning and the last 4 characters, in the form `bbx_pat_…a1B2` |\n| “Permisiuni” (Permissions) | the permission codes, for example `servers:read` (see the table above) |\n| “Creat” (Created) | the date and time of creation |\n| “Ultima utilizare” (Last used) | the last time an AI client used the token; “niciodată” (never) if it has not been used. Updated at most once a minute. |\n| no title | the “Revocă” (Revoke) button |\n\nWhen you have no tokens, the page shows “Nu aveți încă token-uri de acces.” (You don't have any access tokens yet.)\n\n## How to revoke a token\n\n1. In the table, click “Revocă” (Revoke) in the token's row.\n2. The “Revocați token-ul?” (Revoke the token?) window opens with the text “Revocați acest token? Orice client AI care îl folosește va pierde accesul imediat.” (Revoke this token? Any AI client that uses it will lose access immediately.)\n3. Click “Revocă” to confirm or “Anulează” (Cancel) to back out.\n4. The button shows “Se revocă…” (Revoking…). Then the row turns gray, and instead of the button you see the word “Revocă” in gray italics. If the row stays unchanged, the revocation failed: reload the page and try again.\n\nRevocation takes effect immediately: on its next request, the AI client gets the error `token not recognised (revoked, expired, or unknown)`. Revocation cannot be undone. Revoked tokens cannot be deleted: they stay in the list, grayed out.\n\n## When a token stops working\n\n| Situation | What happens to your tokens |\n|---|---|\n| You clicked “Revocă” (Revoke) | The token stops working immediately. |\n| You changed your blackbox.md account password | All tokens created before the change stop working. They stay in the list without any marker: revoke them. Details in [Changing your account password](#cont.schimbare-parola). |\n| The account is deleted | The tokens are deleted together with the account, at the end of the grace period. Until then, they keep working. See [Deleting your account](#cont.stergere-cont). |\n| You signed out of blackbox.md or used “Sign Out Everywhere” in the panel | Nothing: the tokens keep working. |\n\nBy default, tokens do not expire, and the page does not let you set an expiry date. Replace them periodically: create a new token, put it in the client and revoke the old one.\n\n## Limits and errors\n\n| Rule | Value |\n|---|---|\n| Tokens created | at most 10 per hour; every attempt counts, including rejected ones |\n| Total number of tokens | no limit |\n| Name | required, 1–80 characters |\n| Permissions | chosen at creation and cannot be changed afterward |\n| Expiry | none by default; cannot be set |\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Introduceți un nume pentru token.” (Enter a name for the token.) | The “Nume token” (Token name) field is empty. | Fill in the name. |\n| “Too many requests” | You created or tried to create 10 tokens in the last hour. | Wait an hour without retrying: every attempt extends the wait. |\n| `mcp_disabled` | The MCP service is temporarily unavailable. Existing tokens stay in the list and can be revoked. | Try again later. If the message persists, write to us: [How to contact BLACKBOX support](#suport.contact). |\n| “Nu am putut crea token-ul.” (We could not create the token.) or a message in English, for example “Unauthorized” | Another error, for example your session has expired. | Reload the page, sign in again and retry. |\n| “Eroare la încărcare.” (Loading error.) | The list could not be loaded. | Reload the page or sign in again. |\n\nThe errors the AI client receives when it connects are explained in [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**I closed the card before copying the token. Can I get it back?**\nNo. Create a new token and revoke the one you didn't copy, so that no unused token stays in the list.\n\n**How do I add a permission to an existing token?**\nYou can't. Create a new token with the permissions you need, replace the old one with it in your AI client, then revoke the old one.\n\n**Do I get an email when a token is created or revoked?**\nNo, no email is sent. Check the list and the “Ultima utilizare” (Last used) column periodically, and revoke any tokens you don't recognize.\n\n**Why does “Ultima utilizare” still show “niciodată” (never)?**\nThe first use is recorded immediately, but the page does not refresh by itself: reload it. If you still see “niciodată”, the AI client has not connected with this token yet: check the address and the header in the client's settings.\n\n**Can I create or revoke tokens through the AI assistant or from the panel?**\nNo. Tokens are created and revoked only on this page, in your blackbox.md account.\n\n**Can I use the token for another API too?**\nNo. The token is accepted only at the MCP address `https://api.app.blackbox.md/mcp`.\n\n**How many tokens should I create?**\nOne for each AI client or device, with a clear name. If you lose your laptop, you revoke only its token. More recommendations in [Token and AI agent security](#ai.securitate).\n"
   }
  },
  {
   "id": "ai.permisiuni",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/permisiuni/",
    "ru": "https://docs.blackbox.md/ru/ai/permisiuni/",
    "en": "https://docs.blackbox.md/en/ai/permisiuni/"
   },
   "title": {
    "ro": "Permisiunile token-urilor (scopes)",
    "ru": "Разрешения токенов (scopes)",
    "en": "Token permissions (scopes)"
   },
   "summary": {
    "ro": "Ce permite fiecare dintre cele 8 permisiuni, ce unelte deblochează și ce combinații vă recomandăm.",
    "ru": "Что даёт каждое из 8 разрешений, какие инструменты они открывают и какие сочетания мы рекомендуем.",
    "en": "What each of the 8 permissions allows, which tools it unlocks and which combinations we recommend."
   },
   "markdown": {
    "ro": "Permisiunile (în engleză, scopes) stabilesc ce poate face un asistent AI cu un token API. Le alegeți o singură dată, la crearea token-ului, în cardul „Token nou” de pe pagina „Token-uri de acces (API)” (`blackbox.md/account/api-tokens`, „Contul meu” → „Token-uri API”).\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Un token acționează doar asupra contului care l-a creat.\n\n## Cum funcționează permisiunile\n\n- Există 8 permisiuni. Primele trei sunt doar de citire și sunt bifate implicit. Celelalte cinci sunt afișate cu roșu și nu sunt bifate implicit.\n- Asistentul vede numai uneltele permise de token. O unealtă nepermisă este ascunsă; dacă asistentul o apelează totuși, primește eroarea `missing_scope: this token does not have 'orders:write'` (cu numele permisiunii care lipsește).\n- Două unelte nu cer nicio permisiune: `whoami` (confirmă contul și arată permisiunile primite și pe cele lipsă) și `list_vm_plans` (catalogul planurilor VPS, cu prețuri).\n- Permisiunile unui token nu se mai pot schimba după creare. Dacă aveți nevoie de o permisiune în plus, creați un token nou.\n- În lista token-urilor, coloana „Permisiuni” arată codurile (de exemplu `servers:read`), nu textul bifelor.\n\n## Cele 8 permisiuni\n\n| Cod | Bifa de pe pagină | Risc | Unelte deblocate |\n|---|---|---|---|\n| `servers:read` | „Citește lista și statusul serverelor mele” | doar citire, bifată implicit | `list_servers`, `get_server`, `get_server_resize_options` |\n| `billing:read` | „Citește soldul, facturile și comenzile” | doar citire, bifată implicit | `get_balance`, `list_transactions`, `list_orders`, `list_invoices` |\n| `ssh_keys:read` | „Citește lista cheilor mele SSH” | doar citire, bifată implicit | `list_ssh_keys` |\n| `servers:power` | „Controlează alimentarea serverelor (repornire/oprire/pornire)” | roșie: întrerupe funcționarea serverului | `power_server` |\n| `servers:credentials` | „Vizualizează parolele/accesul serverelor” | roșie: acces root la servere | `reveal_server_credentials`, `reset_server_password`, `add_server_ssh_key`, `set_server_password_auth`, `list_server_ssh_keys`, `remove_server_ssh_key`, `get_server_ssh_access` |\n| `orders:write` | „Plasează și modifică comenzi în numele meu” | roșie: cheltuie din sold, poate șterge un server | `create_order`, `pay_order`, `cancel_order`, `resize_server` |\n| `ssh_keys:write` | „Adaugă și șterge cheile mele SSH” | roșie: modifică cheile din cont | `add_ssh_key`, `delete_ssh_key` |\n| `servers:exec` | „Rulează orice comandă ca root pe serverele mele” | roșie, cea mai periculoasă: orice comandă ca root | `run_server_command` |\n\nCe face fiecare unealtă aflați din [Lista uneltelor MCP](#ai.unelte).\n\n> **Important**\n> Textul bifelor nu descrie tot ce permit de fapt permisiunile. „Vizualizează parolele/accesul serverelor” (`servers:credentials`) permite și resetarea parolei root, instalarea și ștergerea cheilor SSH de pe server, activarea sau dezactivarea autentificării cu parolă și emiterea unei chei SSH pentru asistent. „Plasează și modifică comenzi în numele meu” (`orders:write`) permite și upgrade-ul serverului (plata din sold și repornirea serverului) și anularea comenzilor; anularea unei comenzi cu server activ șterge serverul imediat, cu toate datele.\n\n## Avertismentele permisiunilor roșii\n\nSub fiecare permisiune roșie bifată apare textul „Atenție: cu această permisiune asistentul AI va putea ACȚIUNE. Acordați-o doar clienților în care aveți încredere — token-ul poate fi revocat oricând.” În locul cuvântului ACȚIUNE apare:\n\n| Permisiune | Acțiunea din avertisment |\n|---|---|\n| `servers:power` | „porni și opri serverele dvs.” |\n| `servers:credentials` | „vedea parolele și cheile de acces ale serverelor dvs.” |\n| `orders:write` | „cheltui bani și plasa comenzi în numele dvs.” |\n| `ssh_keys:write` | „adăuga și șterge chei SSH din contul dvs.” |\n| `servers:exec` | „rula orice comandă ca root pe serverele dvs.” |\n\n## Cum alegeți permisiunile la crearea token-ului\n\n1. Pe blackbox.md apăsați „Cont client”, apoi în meniul din stânga „Token-uri API” (pe telefon, deschideți mai întâi „Meniu cont”).\n2. În cardul „Token nou”, completați „Nume token”.\n3. La „Permisiuni”, debifați permisiunile de citire de care asistentul nu are nevoie.\n4. Bifați permisiunile roșii doar dacă asistentul trebuie să schimbe ceva. Citiți avertismentul care apare sub fiecare.\n5. Pentru acces complet, apăsați „AI-administrator — acces complet”: butonul bifează toate cele 8 permisiuni și afișează „Acces complet: asistentul va putea rula orice comandă ca root pe serverele dvs., vedea parole și chei și cheltui din sold. Exact ce are nevoie un administrator AI — nu trebuie să îi mai dați nimic în afară de token.” Ca să renunțați la o permisiune, o debifați separat.\n6. Apăsați „Creează token”. Copierea și păstrarea token-ului sunt descrise în [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\nDupă creare, formularul revine la cele trei permisiuni de citire.\n\n## Combinații recomandate\n\n| Profil | Permisiuni | Asistentul poate | Asistentul nu poate |\n|---|---|---|---|\n| Monitorizare, doar citire | `servers:read`, `billing:read`, `ssh_keys:read` (bifele implicite) | vedea serverele și starea lor, opțiunile de upgrade cu prețuri, soldul, tranzacțiile, comenzile, facturile și cheile din cont | schimba ceva, vedea parole, cheltui bani |\n| Operator de servere, fără acces la bani | cele 3 de citire + `servers:power` + `servers:credentials`; opțional `servers:exec` | reporni, opri și porni serverele, vedea și reseta parola root, gestiona cheile de pe server; cu `servers:exec`, și rula comenzi ca root | plasa, plăti sau anula comenzi, face upgrade |\n| Agent cu acces complet | toate cele 8, cu butonul „AI-administrator — acces complet” | tot ce permit uneltele MCP, inclusiv plăți din sold | alimenta soldul sau plăti cu cardul |\n\nPentru un token cu permisiuni roșii, păstrați activă confirmarea acțiunilor în clientul AI. Recomandările complete sunt în [Securitatea token-urilor și a agenților AI](#ai.securitate). Exemple de sarcini cu permisiunile necesare găsiți în [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n\n> **Securitate**\n> Tratați `servers:credentials` ca acces root, chiar și fără `servers:exec`. Cu ea asistentul vede parola root și poate obține o cheie SSH de acces (`get_server_ssh_access`), iar un client AI care poate rula comenzi pe calculatorul dvs. (de exemplu Claude Code) se poate conecta singur la server prin SSH.\n\n## Când asistentului îi lipsește o permisiune\n\n1. Cereți asistentului să apeleze `whoami`. Răspunsul arată permisiunile token-ului și lista celor care lipsesc (`missing_scopes`).\n2. Pe pagina „Token-uri de acces (API)”, creați un token nou cu permisiunea care lipsește și cu cele pe care le folosiți deja.\n3. Înlocuiți token-ul vechi în clientul AI: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude) sau [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n4. Revocați token-ul vechi cu „Revocă”.\n\n## Întrebări frecvente\n\n**Pot adăuga o permisiune unui token existent?**\nNu. Creați un token nou cu permisiunile dorite și revocați-l pe cel vechi.\n\n**Asistentul îmi recomandă presetul „AI agent — full access”. Unde îl găsesc?**\nPe pagina „Token-uri de acces (API)”, butonul se numește „AI-administrator — acces complet”. Bifează toate cele 8 permisiuni.\n\n**Cu `orders:write`, asistentul poate plăti cu cardul sau alimenta soldul?**\nNu. Poate plăti doar din soldul existent. Detalii în [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n**Cu `ssh_keys:write`, asistentul instalează cheile pe servere?**\nNu. Permisiunea schimbă doar cheile salvate în cont. Instalarea sau ștergerea unei chei de pe server cere `servers:credentials`.\n\n**Pot crea un token fără nicio permisiune?**\nDa, dacă debifați toate permisiunile. Asistentul va avea atunci doar `whoami` și `list_vm_plans`.\n",
    "ru": "Разрешения (по-английски scopes) определяют, что AI-ассистент может делать с API-токеном. Вы выбираете их один раз — при создании токена, в карточке «Новый токен» на странице «Токены доступа (API)» (`blackbox.md/ru/account/api-tokens`, «Мой аккаунт» → «API-токены»).\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md. Токен действует только в пределах аккаунта, в котором он создан.\n\n## Как работают разрешения\n\n- Всего разрешений 8. Первые три дают только чтение и отмечены по умолчанию. Остальные пять выделены красным и по умолчанию не отмечены.\n- Ассистент видит только те инструменты, которые разрешены токену. Неразрешённый инструмент скрыт; если ассистент всё же его вызовет, он получит ошибку `missing_scope: this token does not have 'orders:write'` (с названием недостающего разрешения).\n- Два инструмента не требуют разрешений: `whoami` (подтверждает аккаунт и показывает выданные и недостающие разрешения) и `list_vm_plans` (каталог тарифов VPS с ценами).\n- Изменить разрешения уже созданного токена нельзя. Чтобы добавить разрешение, создайте новый токен.\n- В списке токенов в столбце «Разрешения» показаны коды (например, `servers:read`), а не подписи флажков.\n\n## Восемь разрешений\n\n| Код | Флажок на странице | Риск | Какие инструменты открывает |\n|---|---|---|---|\n| `servers:read` | «Читать список и статус моих серверов» | только чтение, отмечено по умолчанию | `list_servers`, `get_server`, `get_server_resize_options` |\n| `billing:read` | «Читать баланс, счета и заказы» | только чтение, отмечено по умолчанию | `get_balance`, `list_transactions`, `list_orders`, `list_invoices` |\n| `ssh_keys:read` | «Читать список моих SSH-ключей» | только чтение, отмечено по умолчанию | `list_ssh_keys` |\n| `servers:power` | «Управлять питанием серверов (перезагрузка/выкл/вкл)» | красное: прерывает работу сервера | `power_server` |\n| `servers:credentials` | «Просматривать пароли/доступы к серверам» | красное: root-доступ к серверам | `reveal_server_credentials`, `reset_server_password`, `add_server_ssh_key`, `set_server_password_auth`, `list_server_ssh_keys`, `remove_server_ssh_key`, `get_server_ssh_access` |\n| `orders:write` | «Оформлять и изменять заказы от моего имени» | красное: тратит средства с баланса, может удалить сервер | `create_order`, `pay_order`, `cancel_order`, `resize_server` |\n| `ssh_keys:write` | «Добавлять и удалять мои SSH-ключи» | красное: меняет ключи в аккаунте | `add_ssh_key`, `delete_ssh_key` |\n| `servers:exec` | «Выполнять любые команды от root на моих серверах» | красное, самое опасное: любые команды от root | `run_server_command` |\n\nЧто делает каждый инструмент, описано в статье [Список инструментов MCP](#ai.unelte).\n\n> **Важно**\n> Подписи флажков описывают не всё, что на самом деле позволяют разрешения. «Просматривать пароли/доступы к серверам» (`servers:credentials`) позволяет также сбрасывать пароль root, устанавливать и удалять SSH-ключи на сервере, включать и отключать вход по паролю и выдавать ассистенту SSH-ключ для доступа. «Оформлять и изменять заказы от моего имени» (`orders:write`) позволяет также делать апгрейд сервера (оплата с баланса и перезагрузка сервера) и отменять заказы; отмена заказа с работающим сервером сразу удаляет сервер вместе со всеми данными.\n\n## Предупреждения у красных разрешений\n\nПод каждым отмеченным красным разрешением появляется текст «Внимание: с этим разрешением AI-ассистент сможет ДЕЙСТВИЕ. Предоставляйте его только тем клиентам, которым доверяете — токен можно отозвать в любой момент.» Вместо слова ДЕЙСТВИЕ подставляется:\n\n| Разрешение | Действие в предупреждении |\n|---|---|\n| `servers:power` | «включать и выключать ваши серверы» |\n| `servers:credentials` | «увидеть пароли и ключи доступа к вашим серверам» |\n| `orders:write` | «тратить деньги и оформлять заказы от вашего имени» |\n| `ssh_keys:write` | «добавлять и удалять SSH-ключи на вашем аккаунте» |\n| `servers:exec` | «выполнять любые команды от root на ваших серверах» |\n\n## Как выбрать разрешения при создании токена\n\n1. На blackbox.md нажмите «Личный кабинет», затем в меню слева — «API-токены» (на телефоне сначала откройте «Меню аккаунта»).\n2. В карточке «Новый токен» заполните поле «Название токена».\n3. В блоке «Разрешения» снимите флажки с тех разрешений на чтение, которые ассистенту не нужны.\n4. Отмечайте красные разрешения, только если ассистент должен что-то менять. Прочитайте предупреждение, которое появляется под каждым из них.\n5. Для полного доступа нажмите «AI-администратор — полный доступ»: кнопка отмечает все 8 разрешений и показывает текст «Полный доступ: ассистент сможет выполнять любые команды от root на ваших серверах, видеть пароли и ключи и тратить средства с баланса. Именно то, что нужно AI-администратору — больше ничего давать не нужно, кроме токена.» Чтобы убрать какое-либо разрешение, снимите его флажок отдельно.\n6. Нажмите «Создать токен». Как скопировать и сохранить токен, описано в статье [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\nПосле создания токена в форме снова отмечены только три разрешения на чтение.\n\n## Рекомендуемые сочетания\n\n| Профиль | Разрешения | Ассистент может | Ассистент не может |\n|---|---|---|---|\n| Мониторинг, только чтение | `servers:read`, `billing:read`, `ssh_keys:read` (флажки по умолчанию) | видеть серверы и их состояние, варианты апгрейда с ценами, баланс, операции, заказы, счета и ключи в аккаунте | что-либо менять, видеть пароли, тратить деньги |\n| Оператор серверов без доступа к деньгам | три разрешения чтения + `servers:power` + `servers:credentials`; по желанию `servers:exec` | перезагружать, останавливать и запускать серверы, смотреть и сбрасывать пароль root, управлять ключами на сервере; с `servers:exec` — ещё и выполнять команды от root | оформлять, оплачивать и отменять заказы, делать апгрейд |\n| Агент с полным доступом | все 8 — кнопкой «AI-администратор — полный доступ» | всё, что позволяют инструменты MCP, включая оплату с баланса | пополнять баланс и платить картой |\n\nЕсли у токена есть красные разрешения, держите в AI-клиенте включённым подтверждение действий. Подробные рекомендации — в статье [Безопасность токенов и AI-агентов](#ai.securitate), примеры задач с нужными разрешениями — в статье [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n\n> **Безопасность**\n> Считайте `servers:credentials` root-доступом, даже если `servers:exec` не выдано. С этим разрешением ассистент видит пароль root и может получить SSH-ключ для доступа (`get_server_ssh_access`), а AI-клиент, который умеет выполнять команды на вашем компьютере (например, Claude Code), может сам подключиться к серверу по SSH.\n\n## Если ассистенту не хватает разрешения\n\n1. Попросите ассистента вызвать `whoami`. В ответе будут разрешения токена и список недостающих (`missing_scopes`).\n2. На странице «Токены доступа (API)» создайте новый токен с недостающим разрешением и с теми, которыми вы уже пользуетесь.\n3. Замените старый токен в AI-клиенте: [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude) или [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n4. Отзовите старый токен кнопкой «Отозвать».\n\n## Частые вопросы\n\n**Можно ли добавить разрешение к уже созданному токену?**\nНет. Создайте новый токен с нужными разрешениями, а старый отзовите.\n\n**Ассистент советует пресет «AI agent — full access». Где он?**\nНа странице «Токены доступа (API)» эта кнопка называется «AI-администратор — полный доступ». Она отмечает все 8 разрешений.\n\n**Может ли ассистент с `orders:write` заплатить картой или пополнить баланс?**\nНет. Он может платить только с уже имеющегося баланса. Подробнее — в статье [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n**Устанавливает ли ассистент с `ssh_keys:write` ключи на серверы?**\nНет. Это разрешение меняет только ключи, сохранённые в аккаунте. Чтобы установить ключ на сервер или удалить его оттуда, нужно разрешение `servers:credentials`.\n\n**Можно ли создать токен совсем без разрешений?**\nДа, если снять флажки со всех разрешений. Тогда ассистенту будут доступны только `whoami` и `list_vm_plans`.\n",
    "en": "Permissions (scopes) define what an AI assistant can do with an API token. You choose them once, when you create the token, in the “Token nou” (New token) card on the “Token-uri de acces (API)” (Access tokens (API)) page (`blackbox.md/account/api-tokens`, “Contul meu” (My account) → “Token-uri API” (API tokens)).\n\n**Available to:** any customer signed in to blackbox.md. A token acts only on the account that created it.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How permissions work\n\n- There are 8 permissions. The first three are read-only and are checked by default. The other five are shown in red and are not checked by default.\n- The assistant sees only the tools the token allows. A tool that is not allowed is hidden; if the assistant calls it anyway, it gets the error `missing_scope: this token does not have 'orders:write'` (with the name of the missing permission).\n- Two tools need no permission: `whoami` (confirms the account and shows the permissions the token has and the ones it is missing) and `list_vm_plans` (the catalog of VPS plans, with prices).\n- A token's permissions cannot be changed after it is created. If you need one more permission, create a new token.\n- In the token list, the “Permisiuni” (Permissions) column shows the codes (for example `servers:read`), not the checkbox text.\n\n## The 8 permissions\n\n| Code | Checkbox on the page | Risk | Tools unlocked |\n|---|---|---|---|\n| `servers:read` | “Citește lista și statusul serverelor mele” (Read the list and status of my servers) | read-only, checked by default | `list_servers`, `get_server`, `get_server_resize_options` |\n| `billing:read` | “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) | read-only, checked by default | `get_balance`, `list_transactions`, `list_orders`, `list_invoices` |\n| `ssh_keys:read` | “Citește lista cheilor mele SSH” (Read the list of my SSH keys) | read-only, checked by default | `list_ssh_keys` |\n| `servers:power` | “Controlează alimentarea serverelor (repornire/oprire/pornire)” (Control server power (reboot/stop/start)) | red: interrupts the server's operation | `power_server` |\n| `servers:credentials` | “Vizualizează parolele/accesul serverelor” (View server passwords/access) | red: root access to the servers | `reveal_server_credentials`, `reset_server_password`, `add_server_ssh_key`, `set_server_password_auth`, `list_server_ssh_keys`, `remove_server_ssh_key`, `get_server_ssh_access` |\n| `orders:write` | “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) | red: spends from your balance, can delete a server | `create_order`, `pay_order`, `cancel_order`, `resize_server` |\n| `ssh_keys:write` | “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys) | red: changes the keys in your account | `add_ssh_key`, `delete_ssh_key` |\n| `servers:exec` | “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) | red, the most dangerous: any command as root | `run_server_command` |\n\nTo find out what each tool does, see [List of MCP tools](#ai.unelte).\n\n> **Important**\n> The checkbox text does not describe everything the permissions actually allow. “Vizualizează parolele/accesul serverelor” (`servers:credentials`) also allows resetting the root password, installing and removing SSH keys on the server, turning password login on or off, and issuing an SSH key for the assistant. “Plasează și modifică comenzi în numele meu” (`orders:write`) also allows upgrading a server (paid from your balance, with a server reboot) and canceling orders; canceling an order whose server is active deletes the server immediately, with all its data.\n\n## Warnings for the red permissions\n\nBelow each red permission you check, this text appears: “Atenție: cu această permisiune asistentul AI va putea ACȚIUNE. Acordați-o doar clienților în care aveți încredere — token-ul poate fi revocat oricând.” (Warning: with this permission, the AI assistant will be able to ACTION. Grant it only to clients you trust — the token can be revoked at any time.) In place of ACȚIUNE (ACTION), the warning shows:\n\n| Permission | Action in the warning |\n|---|---|\n| `servers:power` | “porni și opri serverele dvs.” (start and stop your servers) |\n| `servers:credentials` | “vedea parolele și cheile de acces ale serverelor dvs.” (see the passwords and access keys of your servers) |\n| `orders:write` | “cheltui bani și plasa comenzi în numele dvs.” (spend money and place orders on your behalf) |\n| `ssh_keys:write` | “adăuga și șterge chei SSH din contul dvs.” (add and delete SSH keys in your account) |\n| `servers:exec` | “rula orice comandă ca root pe serverele dvs.” (run any command as root on your servers) |\n\n## How to choose permissions when you create a token\n\n1. On blackbox.md, click “Cont client” (Customer account), then “Token-uri API” (API tokens) in the left menu (on a phone, open “Meniu cont” (Account menu) first).\n2. In the “Token nou” (New token) card, fill in “Nume token” (Token name).\n3. Under “Permisiuni” (Permissions), uncheck the read permissions the assistant does not need.\n4. Check the red permissions only if the assistant needs to change something. Read the warning that appears below each one.\n5. For full access, click “AI-administrator — acces complet” (AI administrator — full access): the button checks all 8 permissions and shows “Acces complet: asistentul va putea rula orice comandă ca root pe serverele dvs., vedea parole și chei și cheltui din sold. Exact ce are nevoie un administrator AI — nu trebuie să îi mai dați nimic în afară de token.” (Full access: the assistant will be able to run any command as root on your servers, see passwords and keys, and spend from your balance. Exactly what an AI administrator needs — you don't have to give it anything other than the token.) To drop a permission, uncheck it individually.\n6. Click “Creează token” (Create token). How to copy and store the token is described in [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\nAfter the token is created, the form goes back to the three read permissions.\n\n## Recommended combinations\n\n| Profile | Permissions | The assistant can | The assistant cannot |\n|---|---|---|---|\n| Monitoring, read-only | `servers:read`, `billing:read`, `ssh_keys:read` (the default checkboxes) | see your servers and their state, upgrade options with prices, your balance, transactions, orders, invoices and the keys in your account | change anything, see passwords, spend money |\n| Server operator, no access to money | the 3 read permissions + `servers:power` + `servers:credentials`; optionally `servers:exec` | reboot, stop and start servers, see and reset the root password, manage the keys on the server; with `servers:exec`, also run commands as root | place, pay for or cancel orders, upgrade servers |\n| Full-access agent | all 8, with the “AI-administrator — acces complet” (AI administrator — full access) button | everything the MCP tools allow, including payments from your balance | top up your balance or pay by card |\n\nFor a token with red permissions, keep action confirmation turned on in your AI client. The full recommendations are in [Token and AI agent security](#ai.securitate). For example tasks with the permissions they need, see [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n\n> **Security**\n> Treat `servers:credentials` as root access, even without `servers:exec`. With it, the assistant sees the root password and can obtain an SSH access key (`get_server_ssh_access`), and an AI client that can run commands on your computer (for example Claude Code) can connect to the server over SSH on its own.\n\n## When the assistant is missing a permission\n\n1. Ask the assistant to call `whoami`. The response shows the token's permissions and the list of the missing ones (`missing_scopes`).\n2. On the “Token-uri de acces (API)” (Access tokens (API)) page, create a new token with the missing permission plus the ones you already use.\n3. Replace the old token in your AI client: [Connecting in the Claude app (custom connector)](#ai.conectare-claude) or [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n4. Revoke the old token with “Revocă” (Revoke).\n\n## Frequently asked questions\n\n**Can I add a permission to an existing token?**\nNo. Create a new token with the permissions you want and revoke the old one.\n\n**The assistant recommends the “AI agent — full access” preset. Where do I find it?**\nOn the “Token-uri de acces (API)” (Access tokens (API)) page, the button is called “AI-administrator — acces complet” (AI administrator — full access). It checks all 8 permissions.\n\n**With `orders:write`, can the assistant pay by card or top up my balance?**\nNo. It can pay only from the balance you already have. Details in [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n**With `ssh_keys:write`, does the assistant install keys on servers?**\nNo. This permission changes only the keys saved in your account. Installing or removing a key on a server requires `servers:credentials`.\n\n**Can I create a token with no permissions?**\nYes, if you uncheck all the permissions. The assistant will then have only `whoami` and `list_vm_plans`.\n"
   }
  },
  {
   "id": "ai.conectare-claude",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/conectare-claude/",
    "ru": "https://docs.blackbox.md/ru/ai/conectare-claude/",
    "en": "https://docs.blackbox.md/en/ai/conectare-claude/"
   },
   "title": {
    "ro": "Conectarea în aplicația Claude (connector personalizat)",
    "ru": "Подключение в приложении Claude (пользовательский коннектор)",
    "en": "Connecting in the Claude app (custom connector)"
   },
   "summary": {
    "ro": "Pașii pentru a adăuga BLACKBOX ca connector personalizat în Claude (web și desktop), cu token-ul API în antetul x-api-key.",
    "ru": "Как добавить BLACKBOX в Claude (веб и десктоп) как пользовательский коннектор с API-токеном в заголовке x-api-key.",
    "en": "How to add BLACKBOX as a custom connector in Claude (web and desktop), with the API token in the x-api-key header."
   },
   "markdown": {
    "ro": "În aplicația Claude (claude.ai și Claude Desktop), serverul MCP BLACKBOX se adaugă ca connector personalizat: în Claude, „Customize” → „Connectors” → „Add custom connector”, cu adresa `https://api.app.blackbox.md/mcp`. Token-ul API îl creați pe blackbox.md, în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`), și îl puneți în antetul `x-api-key`. În acest antet token-ul se scrie fără prefixul `Bearer`, iar antetul obișnuit `Authorization` este, în unele versiuni ale dialogului, rezervat pentru OAuth.\n\n**Disponibil pentru:** titularul contului blackbox.md care și-a creat un token API. În Claude: planurile Free, Pro, Max, Team și Enterprise, dacă dialogul „Add custom connector” are secțiunea „Request headers”. Pe planul Free puteți adăuga un singur connector personalizat.\n\n> **Notă**\n> Interfața Claude se schimbă în timp. Etichetele de mai jos sunt în limba engleză, ca în Claude, și corespund documentației Anthropic din 9 octombrie 2026. Dacă pe ecran vedeți alte denumiri, urmați-le pe acestea: de exemplu, în versiunile mai vechi meniul se numea „Settings” → „Connectors”.\n\n## Ce pregătiți\n\nAveți nevoie de un token API. Pe blackbox.md deschideți „Contul meu” → „Token-uri API”, scrieți un nume în câmpul „Nume token”, bifați permisiunile și apăsați „Creează token”. Copiați token-ul imediat. Pagina vă avertizează: „Copiați token-ul acum — nu va mai fi afișat din nou.” Începeți cu permisiunile doar de citire; altele le adăugați mai târziu, cu un token nou. Detalii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api) și [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\n## Cum adăugați connectorul (planurile Free, Pro și Max)\n\n1. Deschideți claude.ai sau Claude Desktop și mergeți la „Customize” → „Connectors”.\n2. Apăsați „Add custom connector”. În unele versiuni apăsați întâi „+ Add”, apoi „Add custom connector”.\n3. Scrieți numele, de exemplu `BLACKBOX`.\n4. În câmpul pentru URL introduceți `https://api.app.blackbox.md/mcp`. Dacă dialogul are doi pași, apăsați apoi „Continue”.\n5. Nu completați OAuth Client ID și Client Secret (în unele versiuni sunt sub „Advanced settings”). Dacă dialogul vă cere să alegeți „Authentication”, alegeți „No sign-in”.\n6. Deschideți „Request headers” și alegeți din listă numele `x-api-key`.\n7. Lipiți token-ul ca valoare: doar `bbx_pat_…`, fără `Bearer`, fără spații și fără rând nou.\n8. Bifați „Required”.\n9. Apăsați „Add”. Dacă lângă connector apare butonul „Connect”, apăsați-l.\n\nConnectorul apare în lista „Connectors”. Claude păstrează valoarea antetului și nu v-o mai afișează.\n\n### Planurile Team și Enterprise\n\nConnectorul îl adaugă proprietarul organizației Claude (rolul „Owner” sau „Primary Owner”): „Organization settings” → „Connectors” → „Add” → „Custom” (tipul „Web”, dacă vi se cere), cu aceleași valori. Membrii îl găsesc în „Customize” → „Connectors”, cu eticheta „Custom”, și apasă „Connect”.\n\n> **Securitate**\n> Antetul din „Request headers” este comun pentru toată organizația Claude. Toți membrii care se conectează lucrează cu același token, adică în contul dvs. blackbox.md, cu toate permisiunile token-ului. Pe un plan Team sau Enterprise dați connectorului un token doar de citire. Pentru acțiuni pe servere sau cu bani, fiecare persoană poate folosi un token propriu într-un client precum Claude Code: [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n\n## Verificați conexiunea\n\n1. Deschideți o conversație nouă, apăsați „+” → „Connectors” și verificați că BLACKBOX este activat.\n2. Scrieți: „Apelează whoami”.\n3. Claude confirmă că token-ul a fost acceptat (`authenticated`) și arată identificatorul contului dvs. blackbox.md (`customer_id`), permisiunile token-ului (`scopes`) și pe cele care lipsesc (`missing_scopes`). Dacă nu lipsește nimic, răspunsul conține „All scopes granted — every tool is available.”\n4. Puneți o întrebare reală, de exemplu „Arată-mi serverele mele BLACKBOX și statusul lor”.\n\nUneltele pentru care token-ul nu are permisiune nu apar deloc în lista din Claude. Unui token existent nu i se pot adăuga permisiuni: creați un token nou și adăugați din nou connectorul.\n\n## Aprobarea uneltelor în Claude\n\nBLACKBOX marchează separat uneltele care doar citesc (servere, sold, facturi, chei) și pe cele care schimbă ceva. Claude le afișează grupat în „Customize” → „Connectors” → BLACKBOX → „Tool permissions”, cu trei opțiuni: „Always allow”, „Needs approval” și „Blocked”.\n\n- Pentru uneltele care doar citesc, „Always allow” este acceptabil.\n- Pentru uneltele care scriu sau șterg, alegeți „Needs approval”: Claude vă arată apelul și așteaptă acordul dvs.\n- Uneltele de care nu aveți nevoie puneți-le pe „Blocked” sau, mai sigur, nu dați token-ului permisiunea respectivă.\n\nNu alegeți „Always allow” pentru aceste unelte:\n\n| Unealta | Ce face | Permisiunea |\n|---|---|---|\n| `run_server_command` | rulează orice comandă ca `root` pe server | `servers:exec` |\n| `power_server` | repornește, oprește sau pornește serverul | `servers:power` |\n| `reset_server_password`, `remove_server_ssh_key`, `set_server_password_auth` | schimbă parola root, șterge chei SSH de pe server, activează sau dezactivează login cu parolă | `servers:credentials` |\n| `create_order`, `pay_order`, `resize_server` | creează comenzi, plătește din sold, face upgrade cu plată din sold | `orders:write` |\n| `cancel_order` | anulează o comandă; dacă are un server, acesta este șters imediat, cu toate datele | `orders:write` |\n\n> **Important**\n> BLACKBOX nu poate impune confirmarea: ea depinde doar de setările din Claude. Asistentul este instruit să vă ceară acordul înainte să creeze sau să plătească o comandă, să facă upgrade, să anuleze o comandă, să șteargă o cheie SSH de pe server sau să dezactiveze login-ul cu parolă. Comenzile pe server și repornirile cerute de dvs. le execută direct. Cu „Always allow” pe aceste unelte nu mai vedeți nimic înainte de execuție.\n\n## Alte antete acceptate\n\n| Antet | Valoare |\n|---|---|\n| `x-api-key` (recomandat; este în lista standard din Claude) | `bbx_pat_…` |\n| `x-api-token`, `x-auth-token`, `api-key`, `x-access-token` | `bbx_pat_…` |\n| `authorization` (doar dacă dialogul îl permite, la „No sign-in”) | `Bearer bbx_pat_…`, cu cuvântul `Bearer` și un spațiu |\n\nBLACKBOX citește antetele alternative doar când lipsește `Authorization`, în ordinea din tabel, și îl folosește pe primul care conține un token `bbx_pat_`. O valoare fără token `bbx_pat_` este ignorată. Dacă alegeți „Custom header”, Claude acceptă doar numele de antet aprobate de Anthropic, așa că este mai simplu să folosiți `x-api-key`.\n\n## Dacă nu vedeți secțiunea „Request headers”\n\nPotrivit Anthropic, autentificarea prin „Request headers” este în versiune beta și disponibilă doar pentru o parte dintre organizații. Fără ea, Claude nu poate trimite token-ul, iar conectarea eșuează. Variante:\n\n- Folosiți Claude Code sau alt client care trimite antetul `Authorization: Bearer bbx_pat_…`: [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n- Fișierul de configurare al Claude Desktop (`claude_desktop_config.json`) este pentru servere locale, care rulează pe calculatorul dvs., așa că exemplul JSON de pe `https://blackbox.md/info/mcp` nu este pentru el. Utilizatorii avansați pot pune în acest fișier o punte locală, de exemplu `mcp-remote` (necesită Node.js), care transmite cererile către `https://api.app.blackbox.md/mcp` împreună cu antetul token-ului.\n\n## Erori la conectare\n\n| Ce vedeți | Cauza | Ce faceți |\n|---|---|---|\n| „Couldn't register with BlackBox's sign-in service” | Token-ul nu a ajuns la BLACKBOX, iar Claude a încercat autentificarea OAuth, pe care BLACKBOX nu o folosește. | Verificați numele antetului (`x-api-key`) și valoarea: începe cu `bbx_pat_`, fără `Bearer`, fără spații. Verificați și „Required”, „No sign-in” și câmpurile OAuth goale. |\n| Connectorul a funcționat, apoi nu se mai conectează | Token-ul a fost revocat sau a fost creat înainte de ultima schimbare a parolei contului blackbox.md. | Creați un token nou și adăugați din nou connectorul. |\n| O unealtă lipsește sau răspunsul conține `missing_scope` | Token-ul nu are permisiunea necesară. | Creați un token nou cu permisiunea respectivă și adăugați din nou connectorul. |\n| `rate_limited` | Prea multe apeluri într-un timp scurt. | Așteptați câteva minute, apoi reîncercați. Apelurile respinse se numără și ele în limită. Detalii: [Limite și coduri de eroare MCP](#ai.limite-si-erori). |\n\nClaude nu permite modificarea antetelor unui connector salvat. Ca să corectați antetul sau să schimbați token-ul, ștergeți connectorul („Remove” în „Customize” → „Connectors”; pe Team și Enterprise, proprietarul îl șterge în „Organization settings” → „Connectors”) și adăugați-l din nou. Pe Team și Enterprise membrii apasă apoi din nou „Connect”.\n\n## Întrebări frecvente\n\n**Funcționează connectorul și în Claude Desktop?**\nDa. Connectorii personalizați funcționează în claude.ai și în Claude Desktop, iar pașii sunt aceiași: „Customize” → „Connectors”.\n\n**Cum schimb token-ul folosit de connector?**\nCreați un token nou, ștergeți connectorul și adăugați-l din nou cu token-ul nou. Apoi revocați token-ul vechi pe pagina „Token-uri API”, cu „Revocă”.\n\n**Claude îmi recomandă presetarea „AI agent — full access”. Unde o găsesc?**\nPe pagina „Token-uri API” butonul se numește „AI-administrator — acces complet”. El bifează toate permisiunile, inclusiv comenzi ca `root` pe servere și plăți din sold.\n\n**Ce date ajung la Anthropic?**\nTot ce returnează uneltele BLACKBOX ajunge la Claude și la furnizorul lui, Anthropic. Cu permisiunea „Vizualizează parolele/accesul serverelor” (`servers:credentials`), aici intră și parole și chei ale serverelor. Mai multe: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n",
    "ru": "В приложении Claude (claude.ai и Claude Desktop) MCP-сервер BLACKBOX добавляется как пользовательский коннектор: в Claude откройте «Customize» → «Connectors» → «Add custom connector» и укажите адрес `https://api.app.blackbox.md/mcp`. API-токен создаётся на blackbox.md в разделе «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`) и передаётся в заголовке `x-api-key`. В этом заголовке токен указывается без префикса `Bearer`, а обычный заголовок `Authorization` в некоторых версиях диалога зарезервирован под OAuth.\n\n**Доступно:** владельцу аккаунта blackbox.md, который создал API-токен. В Claude — на тарифах Free, Pro, Max, Team и Enterprise, если в диалоге «Add custom connector» есть раздел «Request headers». На тарифе Free можно добавить только один пользовательский коннектор.\n\n> **Примечание**\n> Интерфейс Claude со временем меняется. Названия ниже приведены на английском, как в Claude, и соответствуют документации Anthropic на 9 октября 2026. Если на экране они другие, ориентируйтесь на то, что видите: например, в старых версиях меню называлось «Settings» → «Connectors».\n\n## Что подготовить\n\nВам понадобится API-токен. На blackbox.md откройте «Личный кабинет» → «API-токены», введите название в поле «Название токена», отметьте разрешения и нажмите «Создать токен». Сразу скопируйте токен — страница предупреждает: «Скопируйте токен сейчас — он не будет показан снова.» Для начала хватит разрешений только на чтение; остальные можно добавить позже, создав новый токен. Подробнее: [API-токены: создание, копирование и отзыв](#ai.token-uri-api) и [Разрешения токенов (scopes)](#ai.permisiuni).\n\n## Как добавить коннектор (тарифы Free, Pro и Max)\n\n1. Откройте claude.ai или Claude Desktop и перейдите в «Customize» → «Connectors».\n2. Нажмите «Add custom connector». В некоторых версиях сначала нажмите «+ Add», затем «Add custom connector».\n3. Введите название, например `BLACKBOX`.\n4. В поле URL укажите `https://api.app.blackbox.md/mcp`. Если в диалоге два шага, затем нажмите «Continue».\n5. OAuth Client ID и Client Secret не заполняйте (в некоторых версиях они в разделе «Advanced settings»). Если диалог просит выбрать «Authentication», выберите «No sign-in».\n6. Откройте «Request headers» и выберите в списке имя `x-api-key`.\n7. Вставьте токен в значение: только `bbx_pat_…`, без `Bearer`, без пробелов и переносов строки.\n8. Включите «Required».\n9. Нажмите «Add». Если рядом с коннектором появилась кнопка «Connect», нажмите её.\n\nКоннектор появится в списке «Connectors». Claude сохраняет значение заголовка и больше его не показывает.\n\n### Тарифы Team и Enterprise\n\nКоннектор добавляет владелец организации Claude (роль «Owner» или «Primary Owner»): «Organization settings» → «Connectors» → «Add» → «Custom» (тип «Web», если спрашивает) с теми же значениями. Участники находят его в «Customize» → «Connectors» с меткой «Custom» и нажимают «Connect».\n\n> **Безопасность**\n> Заголовок из «Request headers» общий для всей организации Claude. Все участники, которые подключатся, работают с одним и тем же токеном, то есть в вашем аккаунте blackbox.md и со всеми разрешениями этого токена. На тарифах Team и Enterprise давайте коннектору токен только на чтение. Для действий с серверами и деньгами каждый может использовать собственный токен в клиенте вроде Claude Code: [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n\n## Проверьте подключение\n\n1. Откройте новый чат, нажмите «+» → «Connectors» и убедитесь, что BLACKBOX включён.\n2. Напишите: «Вызови whoami».\n3. Claude подтвердит, что токен принят (`authenticated`), и покажет идентификатор вашего аккаунта blackbox.md (`customer_id`), разрешения токена (`scopes`) и недостающие разрешения (`missing_scopes`). Если у токена есть все разрешения, в ответе будет «All scopes granted — every tool is available.»\n4. Задайте настоящий вопрос, например «Покажи мои серверы BLACKBOX и их статус».\n\nИнструменты, на которые у токена нет разрешения, в списке Claude вообще не появляются. Добавить разрешение к существующему токену нельзя: создайте новый токен и заново добавьте коннектор.\n\n## Подтверждение инструментов в Claude\n\nBLACKBOX отдельно помечает инструменты, которые только читают данные (серверы, баланс, счета, ключи), и инструменты, которые что-то меняют. Claude показывает их по группам в «Customize» → «Connectors» → BLACKBOX → «Tool permissions» с тремя вариантами: «Always allow», «Needs approval» и «Blocked».\n\n- Для инструментов, которые только читают, «Always allow» допустимо.\n- Для инструментов, которые записывают или удаляют, выберите «Needs approval»: Claude покажет вызов и дождётся вашего согласия.\n- Ненужные инструменты переведите в «Blocked» или, что надёжнее, не выдавайте токену соответствующее разрешение.\n\nНе выбирайте «Always allow» для этих инструментов:\n\n| Инструмент | Что делает | Разрешение |\n|---|---|---|\n| `run_server_command` | выполняет любую команду от `root` на сервере | `servers:exec` |\n| `power_server` | перезагружает, останавливает или запускает сервер | `servers:power` |\n| `reset_server_password`, `remove_server_ssh_key`, `set_server_password_auth` | меняет пароль root, удаляет SSH-ключи с сервера, включает или отключает вход по паролю | `servers:credentials` |\n| `create_order`, `pay_order`, `resize_server` | оформляет заказы, оплачивает с баланса, делает апгрейд с оплатой с баланса | `orders:write` |\n| `cancel_order` | отменяет заказ; если у заказа есть сервер, он сразу удаляется вместе со всеми данными | `orders:write` |\n\n> **Важно**\n> BLACKBOX не может принудительно включить подтверждение: оно зависит только от настроек Claude. Ассистенту предписано спрашивать согласие, прежде чем оформить или оплатить заказ, сделать апгрейд, отменить заказ, удалить SSH-ключ с сервера или отключить вход по паролю. Команды на сервере и перезагрузки, о которых вы попросили, он выполняет сразу. Если для этих инструментов выбрано «Always allow», перед выполнением вы ничего не увидите.\n\n## Другие допустимые заголовки\n\n| Заголовок | Значение |\n|---|---|\n| `x-api-key` (рекомендуется; есть в стандартном списке Claude) | `bbx_pat_…` |\n| `x-api-token`, `x-auth-token`, `api-key`, `x-access-token` | `bbx_pat_…` |\n| `authorization` (только если диалог его разрешает, при «No sign-in») | `Bearer bbx_pat_…` — со словом `Bearer` и пробелом |\n\nАльтернативные заголовки BLACKBOX читает, только когда нет заголовка `Authorization`, в порядке из таблицы, и берёт первый, в котором есть токен `bbx_pat_`. Значение без токена `bbx_pat_` игнорируется. Если выбрать «Custom header», Claude примет только имена заголовков, одобренные Anthropic, поэтому проще использовать `x-api-key`.\n\n## Если раздела «Request headers» нет\n\nПо данным Anthropic, аутентификация через «Request headers» находится в бета-версии и доступна только части организаций. Без неё Claude не может передать токен, и подключение не удаётся. Варианты:\n\n- Используйте Claude Code или другой клиент, который отправляет заголовок `Authorization: Bearer bbx_pat_…`: [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n- Файл конфигурации Claude Desktop (`claude_desktop_config.json`) предназначен для локальных серверов, работающих на вашем компьютере, поэтому пример JSON со страницы `https://blackbox.md/ru/info/mcp` не для него. Опытные пользователи могут прописать в этом файле локальный мост, например `mcp-remote` (нужен Node.js), который передаёт запросы на `https://api.app.blackbox.md/mcp` вместе с заголовком токена.\n\n## Ошибки при подключении\n\n| Что вы видите | Причина | Что делать |\n|---|---|---|\n| «Couldn't register with BlackBox's sign-in service» | Токен не дошёл до BLACKBOX, и Claude попытался войти через OAuth, который BLACKBOX не использует. | Проверьте имя заголовка (`x-api-key`) и значение: начинается с `bbx_pat_`, без `Bearer`, без пробелов. Проверьте также «Required», «No sign-in» и пустые поля OAuth. |\n| Коннектор работал, а теперь не подключается | Токен отозван или создан до последней смены пароля аккаунта blackbox.md. | Создайте новый токен и заново добавьте коннектор. |\n| Нет нужного инструмента или в ответе `missing_scope` | У токена нет нужного разрешения. | Создайте новый токен с этим разрешением и заново добавьте коннектор. |\n| `rate_limited` | Слишком много вызовов за короткое время. | Подождите несколько минут и повторите. Отклонённые вызовы тоже засчитываются в лимит. Подробнее: [Лимиты и коды ошибок MCP](#ai.limite-si-erori). |\n\nИзменить заголовки сохранённого коннектора в Claude нельзя. Чтобы исправить заголовок или сменить токен, удалите коннектор («Remove» в «Customize» → «Connectors»; на тарифах Team и Enterprise его удаляет владелец в «Organization settings» → «Connectors») и добавьте его заново. На Team и Enterprise участникам затем нужно снова нажать «Connect».\n\n## Частые вопросы\n\n**Работает ли коннектор в Claude Desktop?**\nДа. Пользовательские коннекторы работают в claude.ai и в Claude Desktop, шаги одинаковые: «Customize» → «Connectors».\n\n**Как заменить токен в коннекторе?**\nСоздайте новый токен, удалите коннектор и добавьте его заново с новым токеном. Затем отзовите старый токен на странице «API-токены» кнопкой «Отозвать».\n\n**Claude советует пресет «AI agent — full access». Где он?**\nНа странице «API-токены» эта кнопка называется «AI-администратор — полный доступ». Она отмечает все разрешения, включая команды от `root` на серверах и оплату с баланса.\n\n**Какие данные попадают к Anthropic?**\nВсё, что возвращают инструменты BLACKBOX, получает Claude и его провайдер — Anthropic. С разрешением «Просматривать пароли/доступы к серверам» (`servers:credentials`) это включает пароли и ключи серверов. Подробнее: [Безопасность токенов и AI-агентов](#ai.securitate).\n",
    "en": "In the Claude app (claude.ai and Claude Desktop), you add the BLACKBOX MCP server as a custom connector: in Claude, “Customize” → “Connectors” → “Add custom connector”, with the address `https://api.app.blackbox.md/mcp`. You create the API token on blackbox.md, in “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`), and put it in the `x-api-key` header. In this header, you write the token without the `Bearer` prefix; the usual `Authorization` header is reserved for OAuth in some versions of the dialog.\n\n**Available to:** the holder of the blackbox.md account who has created an API token. In Claude: the Free, Pro, Max, Team and Enterprise plans, if the “Add custom connector” dialog has the “Request headers” section. On the Free plan, you can add only one custom connector.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> Claude's interface changes over time. The labels below are quoted as Claude shows them and match Anthropic's documentation as of October 9, 2026. If you see different names on screen, follow those: for example, in older versions the menu was called “Settings” → “Connectors”.\n\n## What you need\n\nYou need an API token. On blackbox.md, open “Contul meu” (My account) → “Token-uri API” (API tokens), type a name in the “Nume token” (Token name) field, check the permissions and click “Creează token” (Create token). Copy the token right away. The page warns you: “Copiați token-ul acum — nu va mai fi afișat din nou.” (Copy the token now — it will not be shown again.) Start with read-only permissions; you can add others later, with a new token. Details: [API tokens: creating, copying and revoking](#ai.token-uri-api) and [Token permissions (scopes)](#ai.permisiuni).\n\n## How to add the connector (Free, Pro and Max plans)\n\n1. Open claude.ai or Claude Desktop and go to “Customize” → “Connectors”.\n2. Click “Add custom connector”. In some versions, first click “+ Add”, then “Add custom connector”.\n3. Enter a name, for example `BLACKBOX`.\n4. In the URL field, enter `https://api.app.blackbox.md/mcp`. If the dialog has two steps, then click “Continue”.\n5. Leave the OAuth Client ID and Client Secret empty (in some versions, they are under “Advanced settings”). If the dialog asks you to choose “Authentication”, choose “No sign-in”.\n6. Open “Request headers” and choose the name `x-api-key` from the list.\n7. Paste the token as the value: only `bbx_pat_…`, without `Bearer`, without spaces and without a line break.\n8. Check “Required”.\n9. Click “Add”. If a “Connect” button appears next to the connector, click it.\n\nThe connector appears in the “Connectors” list. Claude stores the header value and does not show it to you again.\n\n### Team and Enterprise plans\n\nThe connector is added by the owner of the Claude organization (the “Owner” or “Primary Owner” role): “Organization settings” → “Connectors” → “Add” → “Custom” (type “Web”, if asked), with the same values. Members find it in “Customize” → “Connectors”, with the “Custom” label, and click “Connect”.\n\n> **Security**\n> The header in “Request headers” is shared by the whole Claude organization. All members who connect work with the same token, that is, in your blackbox.md account, with all of the token's permissions. On a Team or Enterprise plan, give the connector a read-only token. For actions on servers or involving money, each person can use their own token in a client such as Claude Code: [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n\n## Check the connection\n\n1. Open a new conversation, click “+” → “Connectors” and check that BLACKBOX is turned on.\n2. Type: “Call whoami”.\n3. Claude confirms that the token was accepted (`authenticated`) and shows your blackbox.md account identifier (`customer_id`), the token's permissions (`scopes`) and the missing ones (`missing_scopes`). If nothing is missing, the response contains “All scopes granted — every tool is available.”\n4. Ask a real question, for example “Show me my BLACKBOX servers and their status”.\n\nTools that the token has no permission for don't appear in Claude's list at all. You cannot add permissions to an existing token: create a new token and add the connector again.\n\n## Approving tools in Claude\n\nBLACKBOX marks the tools that only read (servers, balance, invoices, keys) separately from those that change something. Claude shows them grouped in “Customize” → “Connectors” → BLACKBOX → “Tool permissions”, with three options: “Always allow”, “Needs approval” and “Blocked”.\n\n- For tools that only read, “Always allow” is acceptable.\n- For tools that write or delete, choose “Needs approval”: Claude shows you the call and waits for your approval.\n- Set the tools you don't need to “Blocked” or, more safely, don't give the token the corresponding permission.\n\nDon't choose “Always allow” for these tools:\n\n| Tool | What it does | Permission |\n|---|---|---|\n| `run_server_command` | runs any command as `root` on the server | `servers:exec` |\n| `power_server` | reboots, stops or starts the server | `servers:power` |\n| `reset_server_password`, `remove_server_ssh_key`, `set_server_password_auth` | changes the root password, deletes SSH keys from the server, turns password login on or off | `servers:credentials` |\n| `create_order`, `pay_order`, `resize_server` | creates orders, pays from your balance, upgrades with payment from your balance | `orders:write` |\n| `cancel_order` | cancels an order; if the order has a server, the server is deleted immediately, with all its data | `orders:write` |\n\n> **Important**\n> BLACKBOX cannot enforce confirmation: it depends only on your settings in Claude. The assistant is instructed to ask for your approval before it creates or pays for an order, upgrades a server, cancels an order, deletes an SSH key from the server or turns off password login. It runs the server commands and reboots you ask for directly. With “Always allow” on these tools, you see nothing before they run.\n\n## Other accepted headers\n\n| Header | Value |\n|---|---|\n| `x-api-key` (recommended; it is in Claude's standard list) | `bbx_pat_…` |\n| `x-api-token`, `x-auth-token`, `api-key`, `x-access-token` | `bbx_pat_…` |\n| `authorization` (only if the dialog allows it, with “No sign-in”) | `Bearer bbx_pat_…`, with the word `Bearer` and a space |\n\nBLACKBOX reads the alternative headers only when `Authorization` is missing, in the order shown in the table, and uses the first one that contains a `bbx_pat_` token. A value without a `bbx_pat_` token is ignored. If you choose “Custom header”, Claude accepts only header names approved by Anthropic, so it is simpler to use `x-api-key`.\n\n## If you don't see the “Request headers” section\n\nAccording to Anthropic, authentication through “Request headers” is in beta and available only to some organizations. Without it, Claude cannot send the token, and the connection fails. Your options:\n\n- Use Claude Code or another client that sends the `Authorization: Bearer bbx_pat_…` header: [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n- The Claude Desktop configuration file (`claude_desktop_config.json`) is for local servers, which run on your computer, so the JSON example on `https://blackbox.md/info/mcp` is not meant for it. Advanced users can add a local bridge to this file, for example `mcp-remote` (requires Node.js), which forwards requests to `https://api.app.blackbox.md/mcp` together with the token header.\n\n## Connection errors\n\n| What you see | Cause | What to do |\n|---|---|---|\n| “Couldn't register with BlackBox's sign-in service” | The token didn't reach BLACKBOX, and Claude tried OAuth sign-in, which BLACKBOX doesn't use. | Check the header name (`x-api-key`) and the value: it starts with `bbx_pat_`, without `Bearer`, without spaces. Also check “Required”, “No sign-in” and that the OAuth fields are empty. |\n| The connector worked, then stopped connecting | The token was revoked or was created before the last password change on your blackbox.md account. | Create a new token and add the connector again. |\n| A tool is missing or the response contains `missing_scope` | The token doesn't have the required permission. | Create a new token with that permission and add the connector again. |\n| `rate_limited` | Too many calls in a short time. | Wait a few minutes, then try again. Rejected calls also count toward the limit. Details: [MCP limits and error codes](#ai.limite-si-erori). |\n\nClaude doesn't let you change the headers of a saved connector. To fix the header or change the token, delete the connector (“Remove” in “Customize” → “Connectors”; on Team and Enterprise, the owner deletes it in “Organization settings” → “Connectors”) and add it again. On Team and Enterprise, members then click “Connect” again.\n\n## Frequently asked questions\n\n**Does the connector also work in Claude Desktop?**\nYes. Custom connectors work in claude.ai and in Claude Desktop, and the steps are the same: “Customize” → “Connectors”.\n\n**How do I change the token the connector uses?**\nCreate a new token, delete the connector and add it again with the new token. Then revoke the old token on the “Token-uri API” (API tokens) page, with “Revocă” (Revoke).\n\n**Claude recommends the “AI agent — full access” preset. Where do I find it?**\nOn the “Token-uri API” page, the button is called “AI-administrator — acces complet” (AI administrator — full access). It checks all permissions, including commands as `root` on servers and payments from your balance.\n\n**What data reaches Anthropic?**\nEverything the BLACKBOX tools return reaches Claude and its provider, Anthropic. With the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission (`servers:credentials`), this includes server passwords and keys. More: [Token and AI agent security](#ai.securitate).\n"
   }
  },
  {
   "id": "ai.conectare-claude-code-cursor",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/conectare-claude-code-cursor/",
    "ru": "https://docs.blackbox.md/ru/ai/conectare-claude-code-cursor/",
    "en": "https://docs.blackbox.md/en/ai/conectare-claude-code-cursor/"
   },
   "title": {
    "ro": "Conectarea din Claude Code, Cursor, VS Code și alți clienți",
    "ru": "Подключение из Claude Code, Cursor, VS Code и других клиентов",
    "en": "Connecting from Claude Code, Cursor, VS Code and other clients"
   },
   "summary": {
    "ro": "Comenzile și fișierele de configurare pentru clienții AI de programare, cu token-ul păstrat în siguranță.",
    "ru": "Команды и файлы настройки для AI-клиентов разработчиков и безопасное хранение токена.",
    "en": "The commands and configuration files for AI coding clients, with your token kept safe."
   },
   "markdown": {
    "ro": "Clienții AI pentru programatori (Claude Code, Cursor, VS Code cu GitHub Copilot și alții) se conectează la serverul MCP BLACKBOX printr-o comandă sau un fișier de configurare, în care indicați adresa serverului și token-ul dvs. API. Token-ul se creează pe pagina „Token-uri de acces (API)” (`blackbox.md/account/api-tokens`, „Contul meu” → „Token-uri API”). Un exemplu de configurare este publicat și pe `blackbox.md/info/mcp`, la „Exemplu de configurare”.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md care are un token API. Crearea token-ului este gratuită.\n\n## Datele de conectare\n\nSunt aceleași în toți clienții; diferă doar formatul în care le scrieți.\n\n| Parametru | Valoare |\n|---|---|\n| Numele serverului | `blackbox` |\n| URL | `https://api.app.blackbox.md/mcp` |\n| Transport | HTTP (Streamable HTTP); nu SSE și nu stdio |\n| Antet | `Authorization: Bearer bbx_pat_…` |\n| Token | `bbx_pat_` urmat de 43 de caractere |\n\nÎntre `Bearer` și token se pune un singur spațiu. Token-ul se afișează o singură dată, la creare, în cardul „Token-ul dvs. nou”. Sub el, caseta „Conectarea unui client AI” repetă „URL server” și „Antet de autorizare”, cu token-ul deja completat. Cum creați și revocați token-uri: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\nCe poate face asistentul depinde de permisiunile token-ului: [Permisiunile token-urilor (scopes)](#ai.permisiuni). Creați câte un token pentru fiecare client și dispozitiv, cu un nume clar, de exemplu „Claude Code (laptop)”: îl puteți revoca fără să-i afectați pe ceilalți.\n\nAntetele alternative (`x-api-key` și altele) sunt pentru aplicația Claude, unde `Authorization` nu poate fi completat: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude). În clienții din acest articol folosiți `Authorization: Bearer`.\n\n> **Securitate**\n> Nu scrieți token-ul în fișiere care ajung în git: `.mcp.json`, `.cursor/mcp.json` sau `.vscode/mcp.json` din proiect. În ele folosiți o variabilă de mediu sau câmpul de parolă al clientului, ca în exemplele de mai jos. Dacă token-ul a ajuns totuși într-un depozit, revocați-l imediat și creați altul.\n\n## Claude Code\n\n1. Creați token-ul și copiați-l.\n2. Adăugați serverul din terminal, înlocuind `bbx_pat_…` cu token-ul dvs.:\n\n   ```bash\n   claude mcp add --transport http --scope user blackbox https://api.app.blackbox.md/mcp --header \"Authorization: Bearer bbx_pat_…\"\n   ```\n\n3. Verificați conexiunea. Serverul `blackbox` trebuie să apară ca conectat:\n\n   ```bash\n   claude mcp list\n   ```\n\n4. Într-o sesiune Claude Code, comanda de mai jos arată starea serverului și uneltele lui:\n\n   ```text\n   /mcp\n   ```\n\nOpțiunea `--scope` (pe scurt `-s`) stabilește unde se salvează serverul:\n\n| `--scope` | Unde se salvează | Pentru cine |\n|---|---|---|\n| `user` | `~/.claude.json` | pentru dvs., în toate proiectele |\n| `local` (implicit) | `~/.claude.json` | pentru dvs., doar în proiectul curent |\n| `project` | `.mcp.json` în rădăcina proiectului | pentru toți cei care lucrează în proiect |\n\nCu `user` și `local`, token-ul rămâne în fișierul dvs. de configurare, în afara proiectului.\n\n### Pentru un proiect (`.mcp.json`)\n\nFișierul `.mcp.json` se adaugă de obicei în git, așa că token-ul nu se scrie în el. Folosiți variabila de mediu `BBX_PAT`:\n\n1. Creați în rădăcina proiectului fișierul `.mcp.json`:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${BBX_PAT}\"\n         }\n       }\n     }\n   }\n   ```\n\n   Aceeași intrare o creează și comanda de mai jos. Ghilimelele simple păstrează textul `${BBX_PAT}` neschimbat în bash, zsh și PowerShell:\n\n   ```bash\n   claude mcp add --transport http --scope project blackbox https://api.app.blackbox.md/mcp --header 'Authorization: Bearer ${BBX_PAT}'\n   ```\n\n2. Setați variabila pe fiecare calculator pe care lucrați cu proiectul. Pe macOS și Linux, adăugați linia în `~/.bashrc` sau `~/.zshrc`, apoi deschideți un terminal nou:\n\n   ```bash\n   export BBX_PAT=\"bbx_pat_…\"\n   ```\n\n   Pe Windows, rulați comanda în PowerShell, apoi deschideți o fereastră nouă:\n\n   ```powershell\n   setx BBX_PAT \"bbx_pat_…\"\n   ```\n\n3. Porniți Claude Code în proiect. La prima utilizare vă cere să aprobați serverele din `.mcp.json`: aprobați `blackbox`. Dacă variabila `BBX_PAT` nu este setată, Claude Code nu poate citi configurația.\n\n## Cursor\n\nCursor citește serverele MCP din două fișiere:\n\n| Fișier | Unde se aplică |\n|---|---|\n| `~/.cursor/mcp.json` (pe Windows: `%USERPROFILE%\\.cursor\\mcp.json`) | în toate proiectele |\n| `.cursor/mcp.json` în proiect | doar în proiectul respectiv |\n\n1. Deschideți sau creați fișierul global `~/.cursor/mcp.json`. Îl puteți deschide și din „Cursor Settings”, din secțiunea dedicată MCP.\n2. Adăugați configurația (este exemplul de pe `blackbox.md/info/mcp`):\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer bbx_pat_…\"\n         }\n       }\n     }\n   }\n   ```\n\n   Dacă fișierul are deja alte servere, adăugați doar blocul `\"blackbox\"` în interiorul lui `\"mcpServers\"`.\n3. Salvați fișierul. Dacă serverul nu apare, reporniți Cursor.\n4. În secțiunea MCP din „Cursor Settings”, serverul `blackbox` trebuie să fie activ și să-și afișeze uneltele. Chatul folosește uneltele în modul „Agent”.\n\n### Pentru un proiect (`.cursor/mcp.json`)\n\nÎn fișierul de proiect nu scrieți token-ul. Cursor înlocuiește `${env:BBX_PAT}` cu valoarea variabilei de mediu `BBX_PAT`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${env:BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nSetați variabila ca la Claude Code (secțiunea de mai sus), apoi reporniți Cursor, ca să o preia.\n\n## VS Code (GitHub Copilot, modul agent)\n\nVS Code folosește alt format: cheia `servers` (nu `mcpServers`), tipul `http` și o listă `inputs`. Prin `inputs`, VS Code vă cere token-ul la prima pornire și îl păstrează separat, în spațiul său securizat, nu în fișier.\n\n1. Creați în proiect fișierul `.vscode/mcp.json`:\n\n   ```json\n   {\n     \"servers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${input:bbx-token}\"\n         }\n       }\n     },\n     \"inputs\": [\n       {\n         \"type\": \"promptString\",\n         \"id\": \"bbx-token\",\n         \"description\": \"Token API BLACKBOX\",\n         \"password\": true\n       }\n     ]\n   }\n   ```\n\n2. Porniți serverul: apăsați „Start” deasupra intrării `blackbox` din fișier sau folosiți comanda „MCP: List Servers” din paleta de comenzi (Ctrl+Shift+P, pe macOS Cmd+Shift+P).\n3. Introduceți token-ul în câmpul care se deschide; caracterele nu se afișează. Dacă VS Code vă întreabă dacă aveți încredere în server, confirmați.\n4. Deschideți Chat, alegeți modul „Agent” și verificați că uneltele `blackbox` apar în lista de unelte.\n\nFișierul nu conține token-ul, deci îl puteți adăuga în git. Ca serverul să fie disponibil în toate proiectele, puneți aceeași configurație în fișierul de utilizator, pe care îl deschideți cu comanda „MCP: Open User Configuration”.\n\n## Alți clienți (Windsurf, Gemini CLI și alții)\n\nFuncționează orice client care acceptă servere MCP la distanță prin HTTP (Streamable HTTP) cu antete personalizate. Folosiți datele din tabelul de la început; de la un client la altul diferă doar numele cheilor, de exemplu:\n\n| Client | Fișier de configurare | Cheia pentru URL | Cheia pentru antete |\n|---|---|---|---|\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` | `serverUrl` | `headers` |\n| Gemini CLI | `~/.gemini/settings.json` | `httpUrl` | `headers` |\n\nClienții care acceptă doar servere locale (stdio) sau doar autentificare OAuth nu se pot conecta direct: BLACKBOX nu folosește OAuth, ci token-ul din antet. Pentru scripturile și aplicațiile dvs.: [Folosirea MCP din cod (API-uri AI și HTTP)](#ai.conectare-din-cod).\n\n> **Notă**\n> Interfețele și formatele clienților se schimbă de la o versiune la alta. Dacă o cheie sau un meniu diferă de ce scrie aici, urmați documentația clientului. Rămân aceleași URL-ul, transportul HTTP și antetul `Authorization: Bearer`.\n\n## Verificați conexiunea cu whoami\n\nDupă conectare, scrieți asistentului:\n\n```text\nApelează unealta whoami de pe serverul blackbox și arată-mi permisiunile token-ului.\n```\n\nUnealta `whoami` nu cere nicio permisiune și nu modifică nimic. Răspunsul conține:\n\n| Câmp | Ce înseamnă |\n|---|---|\n| `authenticated` | `true`: token-ul a fost acceptat |\n| `customer_id` | identificatorul contului dvs. blackbox.md |\n| `scopes` | permisiunile token-ului |\n| `missing_scopes` | permisiunile pe care token-ul nu le are |\n| `hint` | `All scopes granted — every tool is available.` sau un text în engleză care se încheie cu lista permisiunilor lipsă (`Missing: …`) |\n\nClientul vede doar uneltele permise de token. Dacă o unealtă lipsește, token-ul nu are permisiunea ei. Permisiunile nu se pot modifica ulterior: creați un token nou și înlocuiți-l în configurație.\n\n> **Important**\n> Serverul BLACKBOX marchează uneltele care modifică ceva (repornire, comenzi ca root, plăți), dar confirmarea înainte de execuție o cere clientul, nu serverul. Cât timp token-ul are permisiuni de scriere, nu activați aprobarea automată a tuturor uneltelor (opțiuni de tipul „always allow” sau modurile care rulează uneltele fără întrebare). Detalii: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n## Dacă nu se conectează\n\n### Verificați token-ul fără client\n\nComanda de mai jos arată răspunsul serverului pentru token-ul dvs. Pe Windows, în PowerShell, scrieți `curl.exe` în loc de `curl`.\n\n```bash\ncurl -i https://api.app.blackbox.md/mcp -H \"Authorization: Bearer bbx_pat_…\"\n```\n\nDacă token-ul este valid, răspunsul este `406 Not Acceptable`. Pentru acest test este normal și înseamnă că problema este în configurația clientului. Dacă token-ul nu este acceptat, răspunsul este `401`, cu cauza în câmpul `error_description`.\n\n### Răspunsuri și cauze\n\n| Răspuns | Cauza | Ce faceți |\n|---|---|---|\n| `401` `authorization header missing` | antetul nu ajunge la server: cheia `headers` lipsește sau are alt nume | verificați numele cheilor din configurație |\n| `401` `unsupported authorization scheme (expected: Bearer <token>)` | valoarea nu începe cu `Bearer` urmat de un spațiu: lipsește cuvântul `Bearer` sau după el nu urmează nimic (de exemplu, variabila de mediu este goală) | scrieți `Bearer`, un spațiu, apoi token-ul; dacă folosiți o variabilă de mediu, setați-o și reporniți clientul |\n| `401` `bearer token is empty` | după `Bearer` și spațiu nu urmează niciun token | verificați valoarea token-ului sau a variabilei de mediu |\n| `401` `token not recognised (expected a bbx_pat_ personal access token)` | după `Bearer` urmează altceva decât token-ul: două spații, ghilimele în plus sau o variabilă neînlocuită | lăsați un singur spațiu după `Bearer` și verificați valoarea |\n| `401` `token not recognised (revoked, expired, or unknown)` | token revocat, copiat incomplet sau creat înainte de ultima schimbare a parolei contului | creați un token nou |\n| `421` | adresa folosește alt nume de gazdă | folosiți exact `api.app.blackbox.md` |\n| `404` | calea nu este `/mcp` sau serviciul este temporar indisponibil | verificați URL-ul; dacă este corect, reîncercați mai târziu |\n| Clientul vă cere autentificare (OAuth, „Sign in”) | serverul a răspuns `401`: token-ul nu a ajuns sau nu este valid | nu continuați autentificarea; corectați antetul după rândurile de mai sus |\n\nLista completă a erorilor și limitelor: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**După schimbarea parolei contului, conexiunea nu mai merge. De ce?**\nSchimbarea parolei contului blackbox.md oprește toate token-urile create înainte de ea. Creați un token nou și înlocuiți-l în configurație; dacă folosiți variabila `BBX_PAT`, schimbați doar valoarea ei. În Claude Code, ștergeți serverul și adăugați-l din nou cu noul token:\n\n```bash\nclaude mcp remove blackbox\n```\n\nÎn VS Code, schimbați `id`-ul din `inputs` și din `${input:…}` (de exemplu, în `bbx-token-2`): la pornire vi se cere noul token.\n\n**Pot folosi fișierul de configurare al Claude Desktop?**\nFișierul de configurare al Claude Desktop este pentru servere locale. În aplicația Claude adăugați BLACKBOX ca connector: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude).\n\n**Există un API REST pe care să-l folosesc cu token-ul?**\nNu. Token-ul funcționează doar la `https://api.app.blackbox.md/mcp`, prin protocolul MCP.\n",
    "ru": "AI-клиенты для разработчиков (Claude Code, Cursor, VS Code с GitHub Copilot и другие) подключаются к MCP-серверу BLACKBOX командой или через файл настроек, в котором указываются адрес сервера и ваш API-токен. Токен создаётся на странице «Токены доступа (API)» (`blackbox.md/ru/account/api-tokens`, «Личный кабинет» → «API-токены»). Пример настройки также опубликован на `blackbox.md/ru/info/mcp`, в блоке «Пример конфигурации».\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md и создавшему API-токен. Создание токена бесплатное.\n\n## Параметры подключения\n\nОни одинаковы для всех клиентов, различается только формат записи.\n\n| Параметр | Значение |\n|---|---|\n| Имя сервера | `blackbox` |\n| URL | `https://api.app.blackbox.md/mcp` |\n| Транспорт | HTTP (Streamable HTTP); не SSE и не stdio |\n| Заголовок | `Authorization: Bearer bbx_pat_…` |\n| Токен | `bbx_pat_` и ещё 43 символа |\n\nМежду `Bearer` и токеном ставится ровно один пробел. Токен показывается один раз — при создании, в карточке «Ваш новый токен». Под ним блок «Подключение AI-клиента» повторяет «URL сервера» и «Заголовок авторизации» с уже подставленным токеном. Как создавать и отзывать токены: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\nЧто сможет делать ассистент, зависит от разрешений токена: [Разрешения токенов (scopes)](#ai.permisiuni). Создавайте отдельный токен для каждого клиента и устройства с понятным названием, например «Claude Code (ноутбук)»: так его можно отозвать, не затрагивая остальные.\n\nАльтернативные заголовки (`x-api-key` и другие) нужны для приложения Claude, где `Authorization` заполнить нельзя: [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude). В клиентах из этой статьи используйте `Authorization: Bearer`.\n\n> **Безопасность**\n> Не записывайте токен в файлы, которые попадают в git: `.mcp.json`, `.cursor/mcp.json` или `.vscode/mcp.json` в проекте. В них используйте переменную окружения или поле ввода пароля самого клиента, как в примерах ниже. Если токен всё же оказался в репозитории, сразу отзовите его и создайте новый.\n\n## Claude Code\n\n1. Создайте токен и скопируйте его.\n2. Добавьте сервер в терминале, заменив `bbx_pat_…` своим токеном:\n\n   ```bash\n   claude mcp add --transport http --scope user blackbox https://api.app.blackbox.md/mcp --header \"Authorization: Bearer bbx_pat_…\"\n   ```\n\n3. Проверьте подключение. Сервер `blackbox` должен отображаться как подключённый:\n\n   ```bash\n   claude mcp list\n   ```\n\n4. В сессии Claude Code состояние сервера и его инструменты показывает команда:\n\n   ```text\n   /mcp\n   ```\n\nПараметр `--scope` (коротко `-s`) определяет, где сохраняется сервер:\n\n| `--scope` | Где сохраняется | Для кого |\n|---|---|---|\n| `user` | `~/.claude.json` | для вас, во всех проектах |\n| `local` (по умолчанию) | `~/.claude.json` | для вас, только в текущем проекте |\n| `project` | `.mcp.json` в корне проекта | для всех, кто работает с проектом |\n\nПри `user` и `local` токен остаётся в вашем личном файле настроек, вне проекта.\n\n### Для проекта (`.mcp.json`)\n\nФайл `.mcp.json` обычно добавляют в git, поэтому токен в него не пишут. Используйте переменную окружения `BBX_PAT`:\n\n1. Создайте в корне проекта файл `.mcp.json`:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${BBX_PAT}\"\n         }\n       }\n     }\n   }\n   ```\n\n   Такую же запись создаёт и команда ниже. Одинарные кавычки сохраняют текст `${BBX_PAT}` без изменений в bash, zsh и PowerShell:\n\n   ```bash\n   claude mcp add --transport http --scope project blackbox https://api.app.blackbox.md/mcp --header 'Authorization: Bearer ${BBX_PAT}'\n   ```\n\n2. Задайте переменную на каждом компьютере, где вы работаете с проектом. В macOS и Linux добавьте строку в `~/.bashrc` или `~/.zshrc` и откройте новый терминал:\n\n   ```bash\n   export BBX_PAT=\"bbx_pat_…\"\n   ```\n\n   В Windows выполните команду в PowerShell и откройте новое окно:\n\n   ```powershell\n   setx BBX_PAT \"bbx_pat_…\"\n   ```\n\n3. Запустите Claude Code в проекте. При первом использовании он попросит одобрить серверы из `.mcp.json` — одобрите `blackbox`. Если переменная `BBX_PAT` не задана, Claude Code не сможет прочитать настройки.\n\n## Cursor\n\nCursor берёт MCP-серверы из двух файлов:\n\n| Файл | Где действует |\n|---|---|\n| `~/.cursor/mcp.json` (в Windows: `%USERPROFILE%\\.cursor\\mcp.json`) | во всех проектах |\n| `.cursor/mcp.json` в проекте | только в этом проекте |\n\n1. Откройте или создайте глобальный файл `~/.cursor/mcp.json`. Его можно открыть и из «Cursor Settings», в разделе, посвящённом MCP.\n2. Добавьте настройку (это пример со страницы `blackbox.md/ru/info/mcp`):\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer bbx_pat_…\"\n         }\n       }\n     }\n   }\n   ```\n\n   Если в файле уже есть другие серверы, добавьте только блок `\"blackbox\"` внутрь `\"mcpServers\"`.\n3. Сохраните файл. Если сервер не появился, перезапустите Cursor.\n4. В разделе MCP в «Cursor Settings» сервер `blackbox` должен быть включён и показывать свои инструменты. Инструментами пользуется чат в режиме «Agent».\n\n### Для проекта (`.cursor/mcp.json`)\n\nВ файл проекта токен не записывайте. Cursor подставляет вместо `${env:BBX_PAT}` значение переменной окружения `BBX_PAT`:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${env:BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nЗадайте переменную так же, как для Claude Code (раздел выше), и перезапустите Cursor, чтобы он её увидел.\n\n## VS Code (GitHub Copilot, режим агента)\n\nУ VS Code свой формат: ключ `servers` (а не `mcpServers`), тип `http` и список `inputs`. Через `inputs` VS Code запрашивает токен при первом запуске и хранит его отдельно, в своём защищённом хранилище, а не в файле.\n\n1. Создайте в проекте файл `.vscode/mcp.json`:\n\n   ```json\n   {\n     \"servers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${input:bbx-token}\"\n         }\n       }\n     },\n     \"inputs\": [\n       {\n         \"type\": \"promptString\",\n         \"id\": \"bbx-token\",\n         \"description\": \"API-токен BLACKBOX\",\n         \"password\": true\n       }\n     ]\n   }\n   ```\n\n2. Запустите сервер: нажмите «Start» над записью `blackbox` в файле или выполните команду «MCP: List Servers» из палитры команд (Ctrl+Shift+P, в macOS Cmd+Shift+P).\n3. Введите токен в появившемся поле — символы не отображаются. Если VS Code спросит, доверяете ли вы серверу, подтвердите.\n4. Откройте чат, выберите режим «Agent» и убедитесь, что в списке инструментов появились инструменты `blackbox`.\n\nТокена в файле нет, поэтому файл можно добавить в git. Чтобы сервер был доступен во всех проектах, поместите ту же настройку в пользовательский файл — он открывается командой «MCP: Open User Configuration».\n\n## Другие клиенты (Windsurf, Gemini CLI и другие)\n\nПодойдёт любой клиент, который поддерживает удалённые MCP-серверы по HTTP (Streamable HTTP) с собственными заголовками. Используйте параметры из таблицы в начале статьи; от клиента к клиенту меняются только имена ключей, например:\n\n| Клиент | Файл настроек | Ключ для URL | Ключ для заголовков |\n|---|---|---|---|\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` | `serverUrl` | `headers` |\n| Gemini CLI | `~/.gemini/settings.json` | `httpUrl` | `headers` |\n\nКлиенты, которые поддерживают только локальные серверы (stdio) или только вход через OAuth, напрямую подключиться не смогут: BLACKBOX использует не OAuth, а токен в заголовке. Для собственных скриптов и приложений: [Использование MCP из кода (AI API и HTTP)](#ai.conectare-din-cod).\n\n> **Примечание**\n> Интерфейсы и форматы клиентов меняются от версии к версии. Если ключ или пункт меню отличаются от описанных здесь, следуйте документации клиента. Неизменными остаются URL, транспорт HTTP и заголовок `Authorization: Bearer`.\n\n## Проверьте подключение через whoami\n\nПосле подключения напишите ассистенту:\n\n```text\nВызови инструмент whoami сервера blackbox и покажи разрешения токена.\n```\n\nИнструмент `whoami` не требует разрешений и ничего не меняет. В ответе:\n\n| Поле | Что означает |\n|---|---|\n| `authenticated` | `true`: токен принят |\n| `customer_id` | идентификатор вашего аккаунта blackbox.md |\n| `scopes` | разрешения токена |\n| `missing_scopes` | разрешения, которых у токена нет |\n| `hint` | `All scopes granted — every tool is available.` или текст на английском, который заканчивается списком недостающих разрешений (`Missing: …`) |\n\nКлиент видит только инструменты, разрешённые токеном. Если инструмента нет, значит, у токена нет нужного разрешения. Изменить разрешения потом нельзя: создайте новый токен и замените его в настройках.\n\n> **Важно**\n> Сервер BLACKBOX помечает инструменты, которые что-то меняют (перезагрузка, команды от root, платежи), но подтверждение перед выполнением запрашивает клиент, а не сервер. Пока у токена есть разрешения на запись, не включайте автоматическое одобрение всех инструментов (варианты вроде «always allow» или режимы, в которых инструменты запускаются без вопросов). Подробнее: [Безопасность токенов и AI-агентов](#ai.securitate).\n\n## Если подключение не работает\n\n### Проверьте токен без клиента\n\nКоманда ниже покажет ответ сервера на ваш токен. В Windows в PowerShell пишите `curl.exe` вместо `curl`.\n\n```bash\ncurl -i https://api.app.blackbox.md/mcp -H \"Authorization: Bearer bbx_pat_…\"\n```\n\nЕсли токен действителен, придёт ответ `406 Not Acceptable`. Для этой проверки это нормально и означает, что ошибка в настройках клиента. Если токен не принят, придёт `401` с причиной в поле `error_description`.\n\n### Ответы и причины\n\n| Ответ | Причина | Что делать |\n|---|---|---|\n| `401` `authorization header missing` | заголовок не доходит до сервера: ключа `headers` нет или он назван иначе | проверьте имена ключей в настройках |\n| `401` `unsupported authorization scheme (expected: Bearer <token>)` | значение не начинается с `Bearer` и пробела: нет слова `Bearer` или после него ничего нет (например, переменная окружения пуста) | напишите `Bearer`, пробел, затем токен; если используете переменную окружения, задайте её и перезапустите клиент |\n| `401` `bearer token is empty` | после `Bearer` и пробела нет токена | проверьте значение токена или переменной окружения |\n| `401` `token not recognised (expected a bbx_pat_ personal access token)` | после `Bearer` стоит не токен: два пробела, лишние кавычки или неподставленная переменная | оставьте после `Bearer` один пробел и проверьте значение |\n| `401` `token not recognised (revoked, expired, or unknown)` | токен отозван, скопирован не полностью или создан до последней смены пароля аккаунта | создайте новый токен |\n| `421` | в адресе другое имя хоста | используйте именно `api.app.blackbox.md` |\n| `404` | путь не `/mcp` или сервис временно недоступен | проверьте URL; если он верный, повторите позже |\n| Клиент предлагает авторизоваться (OAuth, «Sign in») | сервер ответил `401`: токен не дошёл или недействителен | не проходите авторизацию; исправьте заголовок по строкам выше |\n\nПолный список ошибок и лимитов: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**После смены пароля аккаунта подключение перестало работать. Почему?**\nСмена пароля аккаунта blackbox.md отключает все токены, созданные до неё. Создайте новый токен и замените его в настройках; если вы используете переменную `BBX_PAT`, достаточно поменять её значение. В Claude Code удалите сервер и добавьте его заново с новым токеном:\n\n```bash\nclaude mcp remove blackbox\n```\n\nВ VS Code измените `id` в `inputs` и в `${input:…}` (например, на `bbx-token-2`) — при запуске VS Code запросит новый токен.\n\n**Можно ли подключиться через файл настроек Claude Desktop?**\nФайл настроек Claude Desktop предназначен для локальных серверов. В приложении Claude подключите BLACKBOX как коннектор: [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude).\n\n**Есть ли REST API, с которым работает токен?**\nНет. Токен работает только по адресу `https://api.app.blackbox.md/mcp`, по протоколу MCP.\n",
    "en": "AI clients for developers (Claude Code, Cursor, VS Code with GitHub Copilot and others) connect to the BLACKBOX MCP server through a command or a configuration file, where you enter the server address and your API token. You create the token on the “Token-uri de acces (API)” (Access tokens (API)) page (`blackbox.md/account/api-tokens`, “Contul meu” (My account) → “Token-uri API” (API tokens)). A configuration example is also published on `blackbox.md/info/mcp`, under “Exemplu de configurare” (Configuration example).\n\n**Available to:** any customer signed in to blackbox.md who has an API token. Creating a token is free.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Connection details\n\nThey are the same in every client; only the format you write them in differs.\n\n| Parameter | Value |\n|---|---|\n| Server name | `blackbox` |\n| URL | `https://api.app.blackbox.md/mcp` |\n| Transport | HTTP (Streamable HTTP); not SSE and not stdio |\n| Header | `Authorization: Bearer bbx_pat_…` |\n| Token | `bbx_pat_` followed by 43 characters |\n\nPut a single space between `Bearer` and the token. The token is shown only once, when you create it, in the “Token-ul dvs. nou” (Your new token) card. Below it, the “Conectarea unui client AI” (Connecting an AI client) box repeats the “URL server” (Server URL) and the “Antet de autorizare” (Authorization header), with your token already filled in. How to create and revoke tokens: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\nWhat the assistant can do depends on the token's permissions: [Token permissions (scopes)](#ai.permisiuni). Create a separate token for each client and device, with a clear name, for example “Claude Code (laptop)”: that way you can revoke it without affecting the others.\n\nThe alternative headers (`x-api-key` and others) are for the Claude app, where `Authorization` cannot be filled in: [Connecting in the Claude app (custom connector)](#ai.conectare-claude). In the clients covered in this article, use `Authorization: Bearer`.\n\n> **Security**\n> Don't write the token in files that end up in git: `.mcp.json`, `.cursor/mcp.json` or `.vscode/mcp.json` in your project. In these files, use an environment variable or the client's own password field, as in the examples below. If the token has ended up in a repository anyway, revoke it immediately and create a new one.\n\n## Claude Code\n\n1. Create the token and copy it.\n2. Add the server from the terminal, replacing `bbx_pat_…` with your token:\n\n   ```bash\n   claude mcp add --transport http --scope user blackbox https://api.app.blackbox.md/mcp --header \"Authorization: Bearer bbx_pat_…\"\n   ```\n\n3. Check the connection. The `blackbox` server should appear as connected:\n\n   ```bash\n   claude mcp list\n   ```\n\n4. In a Claude Code session, the command below shows the server's status and its tools:\n\n   ```text\n   /mcp\n   ```\n\nThe `--scope` option (`-s` for short) sets where the server is saved:\n\n| `--scope` | Where it is saved | For whom |\n|---|---|---|\n| `user` | `~/.claude.json` | for you, in all projects |\n| `local` (default) | `~/.claude.json` | for you, only in the current project |\n| `project` | `.mcp.json` in the project root | for everyone who works on the project |\n\nWith `user` and `local`, the token stays in your own configuration file, outside the project.\n\n### For a project (`.mcp.json`)\n\nThe `.mcp.json` file is usually added to git, so you don't write the token in it. Use the `BBX_PAT` environment variable:\n\n1. In the project root, create the `.mcp.json` file:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${BBX_PAT}\"\n         }\n       }\n     }\n   }\n   ```\n\n   The command below creates the same entry. The single quotes keep the text `${BBX_PAT}` unchanged in bash, zsh and PowerShell:\n\n   ```bash\n   claude mcp add --transport http --scope project blackbox https://api.app.blackbox.md/mcp --header 'Authorization: Bearer ${BBX_PAT}'\n   ```\n\n2. Set the variable on every computer where you work on the project. On macOS and Linux, add this line to `~/.bashrc` or `~/.zshrc`, then open a new terminal:\n\n   ```bash\n   export BBX_PAT=\"bbx_pat_…\"\n   ```\n\n   On Windows, run this command in PowerShell, then open a new window:\n\n   ```powershell\n   setx BBX_PAT \"bbx_pat_…\"\n   ```\n\n3. Start Claude Code in the project. The first time, it asks you to approve the servers in `.mcp.json`: approve `blackbox`. If the `BBX_PAT` variable is not set, Claude Code cannot read the configuration.\n\n## Cursor\n\nCursor reads MCP servers from two files:\n\n| File | Where it applies |\n|---|---|\n| `~/.cursor/mcp.json` (on Windows: `%USERPROFILE%\\.cursor\\mcp.json`) | in all projects |\n| `.cursor/mcp.json` in the project | only in that project |\n\n1. Open or create the global file `~/.cursor/mcp.json`. You can also open it from “Cursor Settings”, in the MCP section.\n2. Add the configuration (this is the example from `blackbox.md/info/mcp`):\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"blackbox\": {\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer bbx_pat_…\"\n         }\n       }\n     }\n   }\n   ```\n\n   If the file already contains other servers, add only the `\"blackbox\"` block inside `\"mcpServers\"`.\n3. Save the file. If the server doesn't appear, restart Cursor.\n4. In the MCP section of “Cursor Settings”, the `blackbox` server should be enabled and show its tools. The chat uses the tools in “Agent” mode.\n\n### For a project (`.cursor/mcp.json`)\n\nDon't write the token in the project file. Cursor replaces `${env:BBX_PAT}` with the value of the `BBX_PAT` environment variable:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${env:BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nSet the variable as for Claude Code (in the section above), then restart Cursor so that it picks up the variable.\n\n## VS Code (GitHub Copilot, agent mode)\n\nVS Code uses a different format: the `servers` key (not `mcpServers`), the `http` type and an `inputs` list. Through `inputs`, VS Code asks you for the token on first start and stores it separately, in its own secure storage, not in the file.\n\n1. In your project, create the `.vscode/mcp.json` file:\n\n   ```json\n   {\n     \"servers\": {\n       \"blackbox\": {\n         \"type\": \"http\",\n         \"url\": \"https://api.app.blackbox.md/mcp\",\n         \"headers\": {\n           \"Authorization\": \"Bearer ${input:bbx-token}\"\n         }\n       }\n     },\n     \"inputs\": [\n       {\n         \"type\": \"promptString\",\n         \"id\": \"bbx-token\",\n         \"description\": \"BLACKBOX API token\",\n         \"password\": true\n       }\n     ]\n   }\n   ```\n\n2. Start the server: click “Start” above the `blackbox` entry in the file, or run the “MCP: List Servers” command from the Command Palette (Ctrl+Shift+P, or Cmd+Shift+P on macOS).\n3. Enter the token in the field that opens; the characters are hidden. If VS Code asks whether you trust the server, confirm.\n4. Open Chat, choose “Agent” mode and check that the `blackbox` tools appear in the tool list.\n\nThe file doesn't contain the token, so you can add it to git. To make the server available in all your projects, put the same configuration in your user configuration file, which you open with the “MCP: Open User Configuration” command.\n\n## Other clients (Windsurf, Gemini CLI and others)\n\nAny client that supports remote MCP servers over HTTP (Streamable HTTP) with custom headers works. Use the details from the table at the top of this article; only the key names differ from one client to another, for example:\n\n| Client | Configuration file | Key for the URL | Key for the headers |\n|---|---|---|---|\n| Windsurf | `~/.codeium/windsurf/mcp_config.json` | `serverUrl` | `headers` |\n| Gemini CLI | `~/.gemini/settings.json` | `httpUrl` | `headers` |\n\nClients that support only local servers (stdio) or only OAuth sign-in cannot connect directly: BLACKBOX doesn't use OAuth, but the token in the header. For your own scripts and applications, see [Using MCP from code (AI APIs and HTTP)](#ai.conectare-din-cod).\n\n> **Note**\n> Client interfaces and formats change from one version to the next. If a key or a menu differs from what is described here, follow the client's documentation. The URL, the HTTP transport and the `Authorization: Bearer` header stay the same.\n\n## Check the connection with whoami\n\nOnce connected, write this to the assistant:\n\n```text\nCall the whoami tool on the blackbox server and show me the token's permissions.\n```\n\nThe `whoami` tool requires no permission and changes nothing. The response contains:\n\n| Field | What it means |\n|---|---|\n| `authenticated` | `true`: the token was accepted |\n| `customer_id` | your blackbox.md account identifier |\n| `scopes` | the token's permissions |\n| `missing_scopes` | the permissions the token doesn't have |\n| `hint` | `All scopes granted — every tool is available.` or a message that ends with the list of missing permissions (`Missing: …`) |\n\nThe client sees only the tools the token allows. If a tool is missing, the token doesn't have the permission for it. Permissions cannot be changed afterward: create a new token and replace the old one in the configuration.\n\n> **Important**\n> The BLACKBOX server marks the tools that change something (reboot, commands as root, payments), but it is the client, not the server, that asks you to confirm before a tool runs. As long as the token has write permissions, don't turn on automatic approval for all tools (options such as “always allow” or modes that run tools without asking). Details: [Token and AI agent security](#ai.securitate).\n\n## If it doesn't connect\n\n### Check the token without a client\n\nThe command below shows the server's response for your token. On Windows, in PowerShell, type `curl.exe` instead of `curl`.\n\n```bash\ncurl -i https://api.app.blackbox.md/mcp -H \"Authorization: Bearer bbx_pat_…\"\n```\n\nIf the token is valid, the response is `406 Not Acceptable`. For this test, that is normal, and it means the problem is in the client's configuration. If the token is not accepted, the response is `401`, with the cause in the `error_description` field.\n\n### Responses and causes\n\n| Response | Cause | What to do |\n|---|---|---|\n| `401` `authorization header missing` | the header doesn't reach the server: the `headers` key is missing or has a different name | check the key names in the configuration |\n| `401` `unsupported authorization scheme (expected: Bearer <token>)` | the value doesn't start with `Bearer` followed by a space: the word `Bearer` is missing, or nothing follows it (for example, the environment variable is empty) | write `Bearer`, a space, then the token; if you use an environment variable, set it and restart the client |\n| `401` `bearer token is empty` | no token follows `Bearer` and the space | check the value of the token or of the environment variable |\n| `401` `token not recognised (expected a bbx_pat_ personal access token)` | something other than the token follows `Bearer`: two spaces, extra quotes or a variable that was not replaced | leave a single space after `Bearer` and check the value |\n| `401` `token not recognised (revoked, expired, or unknown)` | the token was revoked, copied incompletely or created before the last change of your account password | create a new token |\n| `421` | the address uses a different host name | use exactly `api.app.blackbox.md` |\n| `404` | the path is not `/mcp`, or the service is temporarily unavailable | check the URL; if it is correct, try again later |\n| The client asks you to sign in (OAuth, “Sign in”) | the server responded `401`: the token didn't reach it or is not valid | don't continue with the sign-in; fix the header using the rows above |\n\nThe full list of errors and limits: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**The connection stopped working after I changed my account password. Why?**\nChanging your blackbox.md account password stops all tokens created before the change. Create a new token and replace the old one in the configuration; if you use the `BBX_PAT` variable, change only its value. In Claude Code, remove the server and add it again with the new token:\n\n```bash\nclaude mcp remove blackbox\n```\n\nIn VS Code, change the `id` in `inputs` and in `${input:…}` (for example, to `bbx-token-2`): on start, you are asked for the new token.\n\n**Can I use the Claude Desktop configuration file?**\nThe Claude Desktop configuration file is for local servers. In the Claude app, add BLACKBOX as a connector: [Connecting in the Claude app (custom connector)](#ai.conectare-claude).\n\n**Is there a REST API I can use with the token?**\nNo. The token works only at `https://api.app.blackbox.md/mcp`, through the MCP protocol.\n"
   }
  },
  {
   "id": "ai.conectare-din-cod",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/conectare-din-cod/",
    "ru": "https://docs.blackbox.md/ru/ai/conectare-din-cod/",
    "en": "https://docs.blackbox.md/en/ai/conectare-din-cod/"
   },
   "title": {
    "ro": "Folosirea MCP din cod (API-uri AI și HTTP)",
    "ru": "Использование MCP из кода (AI API и HTTP)",
    "en": "Using MCP from code (AI APIs and HTTP)"
   },
   "summary": {
    "ro": "Cum apelați serverul MCP BLACKBOX din propriile scripturi sau agenți: prin API-urile Anthropic și OpenAI sau direct prin HTTP.",
    "ru": "Как вызывать MCP-сервер BLACKBOX из своих скриптов и агентов: через API Anthropic и OpenAI или напрямую по HTTP.",
    "en": "How to call the BLACKBOX MCP server from your own scripts or agents: through the Anthropic and OpenAI APIs or directly over HTTP."
   },
   "markdown": {
    "ro": "Serverul MCP BLACKBOX (`https://api.app.blackbox.md/mcp`) poate fi folosit nu doar din aplicații precum Claude sau Cursor, ci și din propriile scripturi și agenți. Puteți lăsa API-ul unui furnizor AI (Anthropic sau OpenAI) să se conecteze la server sau puteți trimite singuri cereri JSON-RPC prin HTTP. Conexiunea o verificați cu MCP Inspector. Token-ul îl creați pe blackbox.md, în „Contul meu” → „Token-uri API” (pagina „Token-uri de acces (API)”, `blackbox.md/account/api-tokens`).\n\n**Disponibil pentru:** titularul contului blackbox.md care are un token API (`bbx_pat_…`). Ce poate face codul depinde de permisiunile token-ului.\n\n## Datele de conectare\n\n| Parametru | Valoare |\n|---|---|\n| Adresa | `https://api.app.blackbox.md/mcp` |\n| Transport | Streamable HTTP (nu vechiul SSE și nu stdio) |\n| Autentificare | antetul `Authorization: Bearer bbx_pat_…` |\n| Numele serverului în configurații | `blackbox` |\n| Durata maximă a unei cereri | circa 5 minute |\n\nNu există o interfață REST pentru clienți: token-ul funcționează doar la `/mcp`, iar celelalte adrese ale API-ului îl refuză. Tot ce poate face codul (servere, chei SSH, sold, comenzi) trece prin uneltele MCP: [Lista uneltelor MCP](#ai.unelte).\n\nPăstrați token-ul într-o variabilă de mediu, nu în cod. Exemplele de mai jos folosesc variabila `BBX_PAT`. În bash (Linux, macOS, WSL):\n\n```bash\nexport BBX_PAT=\"bbx_pat_…\"\n```\n\nÎn PowerShell:\n\n```powershell\n$env:BBX_PAT = \"bbx_pat_…\"\n```\n\n> **Important**\n> Când API-ul unui furnizor AI apelează singur uneltele, nimeni nu vă cere confirmarea înainte de fiecare apel. Excepție face OpenAI cu `\"require_approval\": \"always\"`. Pentru astfel de scripturi folosiți un token doar de citire (cele trei permisiuni bifate implicit la creare) sau restrângeți lista de unelte, ca în exemplele de mai jos. Token-ul și tot ce returnează uneltele, inclusiv parole, chei și rezultatul comenzilor, trec prin furnizorul AI. Detalii: [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\n## Anthropic Messages API (connector MCP)\n\nAPI-ul Anthropic se conectează singur la serverul BLACKBOX și apelează uneltele în locul dvs. În cerere trimiteți două lucruri:\n\n- în `mcp_servers`, o intrare cu `\"type\": \"url\"`, `url`, `\"name\": \"blackbox\"` și `authorization_token` egal cu token-ul dvs.;\n- în `tools`, o intrare de tip `mcp_toolset` cu `\"mcp_server_name\": \"blackbox\"`.\n\nFuncția este în beta și cere antetul `anthropic-beta`. La 9 octombrie 2026 valoarea lui este `mcp-client-2025-11-20`; verificați valoarea actuală în [documentația Anthropic](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector).\n\nExemplu în Python (SDK-ul `anthropic`), cu doar trei unelte de citire activate:\n\n```python\nimport os\nimport anthropic\n\nclient = anthropic.Anthropic()\n\nresponse = client.beta.messages.create(\n    model=\"claude-opus-5\",\n    max_tokens=4096,\n    betas=[\"mcp-client-2025-11-20\"],\n    mcp_servers=[{\n        \"type\": \"url\",\n        \"url\": \"https://api.app.blackbox.md/mcp\",\n        \"name\": \"blackbox\",\n        \"authorization_token\": os.environ[\"BBX_PAT\"],\n    }],\n    tools=[{\n        \"type\": \"mcp_toolset\",\n        \"mcp_server_name\": \"blackbox\",\n        \"default_config\": {\"enabled\": False},\n        \"configs\": {\n            \"whoami\": {\"enabled\": True},\n            \"list_servers\": {\"enabled\": True},\n            \"get_server\": {\"enabled\": True},\n        },\n    }],\n    messages=[{\"role\": \"user\", \"content\": \"Arată-mi serverele mele BLACKBOX și statusul lor\"}],\n)\n\nfor block in response.content:\n    if block.type == \"text\":\n        print(block.text)\n```\n\n- `\"default_config\": {\"enabled\": False}` dezactivează toate uneltele, iar `configs` le activează doar pe cele numite. Fără aceste două câmpuri, modelul primește toate uneltele permise de token.\n- Pe lângă text, răspunsul conține blocuri `mcp_tool_use` (ce unealtă a apelat modelul și cu ce parametri) și `mcp_tool_result` (ce a răspuns serverul BLACKBOX).\n- Numele modelului este doar un exemplu; folosiți modelul dorit.\n\n## OpenAI Responses API\n\nÎn Responses API, serverul BLACKBOX se adaugă ca unealtă de tip `mcp`, cu `\"server_label\": \"blackbox\"`, `server_url`, token-ul în `headers.Authorization` și `\"require_approval\": \"always\"`, ca fiecare apel de unealtă să aștepte aprobarea dvs.\n\n```python\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI()\n\nblackbox = {\n    \"type\": \"mcp\",\n    \"server_label\": \"blackbox\",\n    \"server_url\": \"https://api.app.blackbox.md/mcp\",\n    \"headers\": {\"Authorization\": \"Bearer \" + os.environ[\"BBX_PAT\"]},\n    \"require_approval\": \"always\",\n}\n\nresponse = client.responses.create(\n    model=\"gpt-5\",\n    tools=[blackbox],\n    input=\"Arată-mi serverele mele BLACKBOX și statusul lor\",\n)\n```\n\nCum aprobați un apel:\n\n1. Căutați în `response.output` elementele de tip `mcp_approval_request`. Fiecare conține numele uneltei (`name`) și parametrii (`arguments`).\n2. Verificați apelul.\n3. Trimiteți o cerere nouă cu `previous_response_id=response.id`, aceeași listă `tools` și, în `input`, răspunsul dvs.:\n\n   ```json\n   {\"type\": \"mcp_approval_response\", \"approve\": true, \"approval_request_id\": \"mcpr_…\"}\n   ```\n\n4. Pentru a refuza apelul, trimiteți `\"approve\": false`.\n\nLa fiecare cerere trimiteți din nou definiția uneltei, împreună cu antetul `Authorization`: OpenAI nu îl păstrează între cereri. Cu `allowed_tools` (de exemplu `[\"whoami\", \"list_servers\", \"get_server\"]`) limitați uneltele pe care le vede modelul. Detalii în [documentația OpenAI](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).\n\n## Direct prin HTTP (JSON-RPC)\n\nFără SDK, trimiteți cereri POST în format JSON-RPC 2.0 la aceeași adresă, cu următoarele antete:\n\n| Antet | Valoare | Când |\n|---|---|---|\n| `Content-Type` | `application/json` | mereu |\n| `Accept` | `application/json, text/event-stream` | mereu |\n| `Authorization` | `Bearer bbx_pat_…` | mereu |\n| `mcp-session-id` | ID-ul primit la `initialize` | după `initialize` |\n| `MCP-Protocol-Version` | versiunea din răspunsul la `initialize`, de exemplu `2025-06-18` | după `initialize` |\n\nExemplele sunt scrise pentru bash (Linux, macOS); în Windows rulați-le în WSL.\n\n1. Deschideți sesiunea cu `initialize`:\n\n   ```bash\n   curl -i https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"script\",\"version\":\"1.0\"}}}'\n   ```\n\n2. Răspunsul are statusul 200 și antetul `mcp-session-id`. Corpul vine ca flux de evenimente; rezultatul JSON-RPC este pe linia care începe cu `data:`:\n\n   ```text\n   event: message\n   data: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"protocolVersion\":\"2025-06-18\",\"serverInfo\":{\"name\":\"blackbox\",…},\"instructions\":\"…\",…}}\n   ```\n\n   Câmpul `instructions` conține instrucțiunile serverului pentru asistentul AI. Dacă vă construiți propriul agent, transmiteți-le modelului.\n\n3. Salvați ID-ul sesiunii (valoarea antetului `mcp-session-id`) în variabila `MCP_SID`:\n\n   ```bash\n   export MCP_SID=\"ID_SESIUNE\"\n   ```\n\n   Apoi confirmați inițializarea:\n\n   ```bash\n   curl https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -H \"mcp-session-id: $MCP_SID\" \\\n     -H \"MCP-Protocol-Version: 2025-06-18\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n   ```\n\n   Răspunsul este `202 Accepted`, fără conținut.\n\n4. Cu aceleași antete ca la pasul 3, cereți lista uneltelor. Ea conține doar uneltele permise de token, plus `whoami` și `list_vm_plans`, care nu cer permisiuni:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}\n   ```\n\n5. Apelați o unealtă cu `tools/call`:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}}\n   ```\n\n   Rezultatul este în `result.content`, ca text JSON. Dacă unealta refuză apelul, statusul HTTP rămâne 200, dar rezultatul are `\"isError\": true`, iar textul conține codul erorii (de exemplu `missing_scope` sau `rate_limited`).\n\n6. La final, puteți închide sesiunea cu o cerere `DELETE` la aceeași adresă, cu antetele `Authorization` și `mcp-session-id`.\n\nSesiunea rămâne legată de contul care a deschis-o. Folosiți același token pe toată durata ei și scrieți codul astfel încât să poată redeschide oricând sesiunea cu `initialize`.\n\n| Situația | Răspunsul serverului | Ce faceți |\n|---|---|---|\n| Lipsește `mcp-session-id` după `initialize` | 400 „Bad Request: Missing session ID” | Adăugați antetul. |\n| ID de sesiune necunoscut sau care nu mai este valabil | 404 (de exemplu „Session not found”) | Deschideți o sesiune nouă cu `initialize`. |\n| ID de sesiune deschis cu token-ul altui cont | 404 „Session not found” | Fiecare cont își deschide propria sesiune. |\n| Antetul `Accept` nu conține ambele tipuri | 406 „Not Acceptable: Client must accept both application/json and text/event-stream” | Trimiteți `application/json, text/event-stream`. |\n| Cerere cu antetul `Origin` al altui site (de exemplu, din JavaScript-ul unei pagini web) | 403 „Invalid Origin header”; în browser apare de regulă doar o eroare CORS | Apelați serverul din backend, nu din pagina web. |\n| Token lipsă, greșit sau revocat | 401, cu motivul în `error_description` | Vedeți [Limite și coduri de eroare MCP](#ai.limite-si-erori). |\n\n## Testarea cu MCP Inspector\n\nMCP Inspector este instrumentul oficial pentru testarea serverelor MCP. Are nevoie de Node.js.\n\n1. Porniți-l:\n\n   ```bash\n   npx @modelcontextprotocol/inspector\n   ```\n\n2. În interfața deschisă în browser alegeți transportul „Streamable HTTP” și introduceți adresa `https://api.app.blackbox.md/mcp`.\n3. Adăugați antetul `Authorization` cu valoarea `Bearer bbx_pat_…`.\n4. Conectați-vă, deschideți lista de unelte și apelați `whoami`. Răspunsul arată ID-ul contului, permisiunile token-ului și permisiunile care îi lipsesc (`missing_scopes`).\n\nInspectorul are și un mod pentru linia de comandă, util în scripturi și verificări automate:\n\n```bash\nnpx @modelcontextprotocol/inspector --cli https://api.app.blackbox.md/mcp \\\n  --transport http \\\n  --header \"Authorization: Bearer $BBX_PAT\" \\\n  --method tools/list\n```\n\n> **Notă**\n> API-urile furnizorilor AI și MCP Inspector se schimbă des. Numele câmpurilor, al antetului beta și al opțiunilor din exemple sunt valabile la 9 octombrie 2026; înainte de a le folosi, verificați-le în documentația oficială.\n\n## Timpi de răspuns și limite\n\n- O cerere poate dura până la circa 5 minute, de exemplu o comandă lungă rulată cu `run_server_command` (cel mult 300 de secunde) sau plata unei comenzi cu `pay_order`. Setați în clientul HTTP sau în SDK un timeout de citire puțin peste 5 minute.\n- Dacă `pay_order` pare să fi expirat, verificați comanda cu `list_orders` înainte să reîncercați: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n- Lucrările mai lungi porniți-le pe server în fundal (`nohup`, `systemd-run`) și verificați rezultatul ulterior: [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server).\n- Limitele se aplică pe cont, pentru toate token-urile împreună: 120 de apeluri de unelte pe minut, plus limite separate pentru unele unelte. Apelurile făcute cât timp sunteți limitat se numără și ele, așa că așteptați în loc să reîncercați imediat. Detalii: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**Există un API REST pentru BLACKBOX?**\nNu. Singura interfață programatică pentru clienți este serverul MCP. Un token `bbx_pat_…` trimis la alte adrese ale API-ului este refuzat.\n\n**Pot apela serverul MCP din JavaScript-ul unui site?**\nNu. Serverul refuză cererile trimise din browser de pe alte site-uri (403 „Invalid Origin header”), iar token-ul ar fi vizibil oricui deschide pagina. Apelați serverul din backend.\n\n**Scriptul funcționa, iar acum primește 401. De ce?**\nToken-ul a fost revocat sau ați schimbat parola contului blackbox.md, ceea ce oprește toate token-urile create înainte de schimbare. Creați un token nou: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n**Funcționează și cu alte SDK-uri sau framework-uri de agenți?**\nDa, cu orice client MCP care acceptă transportul Streamable HTTP și antete personalizate, de exemplu SDK-urile MCP oficiale. Folosiți adresa și antetul din tabelul „Datele de conectare”.\n",
    "ru": "MCP-сервером BLACKBOX (`https://api.app.blackbox.md/mcp`) можно пользоваться не только из приложений вроде Claude или Cursor, но и из собственных скриптов и агентов. Подключение к серверу можно поручить API AI-провайдера (Anthropic или OpenAI) или отправлять JSON-RPC-запросы по HTTP самостоятельно. Проверить соединение поможет MCP Inspector. Токен создаётся на blackbox.md: «Личный кабинет» → «API-токены» (страница «Токены доступа (API)», `blackbox.md/account/api-tokens`).\n\n**Доступно:** владельцу аккаунта blackbox.md, у которого есть API-токен (`bbx_pat_…`). Что сможет делать код, зависит от разрешений токена.\n\n## Параметры подключения\n\n| Параметр | Значение |\n|---|---|\n| Адрес | `https://api.app.blackbox.md/mcp` |\n| Транспорт | Streamable HTTP (не устаревший SSE и не stdio) |\n| Аутентификация | заголовок `Authorization: Bearer bbx_pat_…` |\n| Имя сервера в конфигурациях | `blackbox` |\n| Максимальная длительность запроса | около 5 минут |\n\nREST API для клиентов нет: токен работает только на `/mcp`, остальные адреса API его не принимают. Всё, что может делать код (серверы, SSH-ключи, баланс, заказы), доступно через инструменты MCP: [Список инструментов MCP](#ai.unelte).\n\nХраните токен в переменной окружения, а не в коде. В примерах ниже используется переменная `BBX_PAT`. В bash (Linux, macOS, WSL):\n\n```bash\nexport BBX_PAT=\"bbx_pat_…\"\n```\n\nВ PowerShell:\n\n```powershell\n$env:BBX_PAT = \"bbx_pat_…\"\n```\n\n> **Важно**\n> Когда инструменты вызывает API AI-провайдера, подтверждения перед каждым вызовом никто не спрашивает. Исключение — OpenAI с `\"require_approval\": \"always\"`. Для таких скриптов используйте токен только для чтения (три разрешения, отмеченные по умолчанию при создании) или ограничьте список инструментов, как в примерах ниже. Токен и всё, что возвращают инструменты, включая пароли, ключи и вывод команд, проходит через AI-провайдера. Подробнее: [Разрешения токенов (scopes)](#ai.permisiuni).\n\n## Anthropic Messages API (MCP-коннектор)\n\nAPI Anthropic самостоятельно подключается к серверу BLACKBOX и вызывает инструменты за вас. В запросе передаются две вещи:\n\n- в `mcp_servers` — запись с `\"type\": \"url\"`, `url`, `\"name\": \"blackbox\"` и `authorization_token`, равным вашему токену;\n- в `tools` — запись типа `mcp_toolset` с `\"mcp_server_name\": \"blackbox\"`.\n\nФункция находится в бета-версии и требует заголовка `anthropic-beta`. На 9 октября 2026 года его значение — `mcp-client-2025-11-20`; актуальное значение проверьте в [документации Anthropic](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector).\n\nПример на Python (SDK `anthropic`), в котором включены только три инструмента для чтения:\n\n```python\nimport os\nimport anthropic\n\nclient = anthropic.Anthropic()\n\nresponse = client.beta.messages.create(\n    model=\"claude-opus-5\",\n    max_tokens=4096,\n    betas=[\"mcp-client-2025-11-20\"],\n    mcp_servers=[{\n        \"type\": \"url\",\n        \"url\": \"https://api.app.blackbox.md/mcp\",\n        \"name\": \"blackbox\",\n        \"authorization_token\": os.environ[\"BBX_PAT\"],\n    }],\n    tools=[{\n        \"type\": \"mcp_toolset\",\n        \"mcp_server_name\": \"blackbox\",\n        \"default_config\": {\"enabled\": False},\n        \"configs\": {\n            \"whoami\": {\"enabled\": True},\n            \"list_servers\": {\"enabled\": True},\n            \"get_server\": {\"enabled\": True},\n        },\n    }],\n    messages=[{\"role\": \"user\", \"content\": \"Покажи мои серверы BLACKBOX и их статус\"}],\n)\n\nfor block in response.content:\n    if block.type == \"text\":\n        print(block.text)\n```\n\n- `\"default_config\": {\"enabled\": False}` отключает все инструменты, а `configs` включает только перечисленные. Без этих двух полей модель получит все инструменты, которые разрешает токен.\n- Кроме текста, в ответе есть блоки `mcp_tool_use` (какой инструмент вызвала модель и с какими параметрами) и `mcp_tool_result` (что ответил сервер BLACKBOX).\n- Название модели — только пример; укажите нужную вам модель.\n\n## OpenAI Responses API\n\nВ Responses API сервер BLACKBOX добавляется как инструмент типа `mcp`: `\"server_label\": \"blackbox\"`, `server_url`, токен в `headers.Authorization` и `\"require_approval\": \"always\"`, чтобы каждый вызов инструмента ждал вашего одобрения.\n\n```python\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI()\n\nblackbox = {\n    \"type\": \"mcp\",\n    \"server_label\": \"blackbox\",\n    \"server_url\": \"https://api.app.blackbox.md/mcp\",\n    \"headers\": {\"Authorization\": \"Bearer \" + os.environ[\"BBX_PAT\"]},\n    \"require_approval\": \"always\",\n}\n\nresponse = client.responses.create(\n    model=\"gpt-5\",\n    tools=[blackbox],\n    input=\"Покажи мои серверы BLACKBOX и их статус\",\n)\n```\n\nКак одобрить вызов:\n\n1. Найдите в `response.output` элементы типа `mcp_approval_request`. В каждом есть имя инструмента (`name`) и параметры (`arguments`).\n2. Проверьте вызов.\n3. Отправьте новый запрос с `previous_response_id=response.id`, тем же списком `tools` и вашим ответом в `input`:\n\n   ```json\n   {\"type\": \"mcp_approval_response\", \"approve\": true, \"approval_request_id\": \"mcpr_…\"}\n   ```\n\n4. Чтобы отклонить вызов, передайте `\"approve\": false`.\n\nВ каждом запросе заново передавайте описание инструмента вместе с заголовком `Authorization`: OpenAI не сохраняет его между запросами. Параметр `allowed_tools` (например, `[\"whoami\", \"list_servers\", \"get_server\"]`) ограничивает набор инструментов, которые видит модель. Подробнее — в [документации OpenAI](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).\n\n## Напрямую по HTTP (JSON-RPC)\n\nБез SDK отправляйте POST-запросы в формате JSON-RPC 2.0 на тот же адрес со следующими заголовками:\n\n| Заголовок | Значение | Когда |\n|---|---|---|\n| `Content-Type` | `application/json` | всегда |\n| `Accept` | `application/json, text/event-stream` | всегда |\n| `Authorization` | `Bearer bbx_pat_…` | всегда |\n| `mcp-session-id` | ID, полученный при `initialize` | после `initialize` |\n| `MCP-Protocol-Version` | версия из ответа на `initialize`, например `2025-06-18` | после `initialize` |\n\nПримеры написаны для bash (Linux, macOS); в Windows запускайте их в WSL.\n\n1. Откройте сессию запросом `initialize`:\n\n   ```bash\n   curl -i https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"script\",\"version\":\"1.0\"}}}'\n   ```\n\n2. Ответ приходит со статусом 200 и заголовком `mcp-session-id`. Тело — поток событий; результат JSON-RPC находится в строке, которая начинается с `data:`:\n\n   ```text\n   event: message\n   data: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"protocolVersion\":\"2025-06-18\",\"serverInfo\":{\"name\":\"blackbox\",…},\"instructions\":\"…\",…}}\n   ```\n\n   В поле `instructions` — инструкции сервера для AI-ассистента. Если вы пишете собственного агента, передайте их модели.\n\n3. Сохраните ID сессии (значение заголовка `mcp-session-id`) в переменную `MCP_SID`:\n\n   ```bash\n   export MCP_SID=\"ID_СЕССИИ\"\n   ```\n\n   Затем подтвердите инициализацию:\n\n   ```bash\n   curl https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -H \"mcp-session-id: $MCP_SID\" \\\n     -H \"MCP-Protocol-Version: 2025-06-18\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n   ```\n\n   В ответ придёт `202 Accepted` без тела.\n\n4. С теми же заголовками запросите список инструментов. В нём только те инструменты, которые разрешает токен, а также `whoami` и `list_vm_plans` — им разрешения не нужны:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}\n   ```\n\n5. Вызовите инструмент через `tools/call`:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}}\n   ```\n\n   Результат находится в `result.content` в виде JSON-текста. Если инструмент отказал, HTTP-статус всё равно будет 200, но в результате будет `\"isError\": true`, а в тексте — код ошибки (например, `missing_scope` или `rate_limited`).\n\n6. В конце сессию можно закрыть запросом `DELETE` на тот же адрес с заголовками `Authorization` и `mcp-session-id`.\n\nСессия привязана к аккаунту, который её открыл. Используйте один и тот же токен на протяжении всей сессии и пишите код так, чтобы он мог в любой момент заново открыть сессию через `initialize`.\n\n| Ситуация | Ответ сервера | Что делать |\n|---|---|---|\n| Нет `mcp-session-id` после `initialize` | 400 «Bad Request: Missing session ID» | Добавьте заголовок. |\n| ID сессии неизвестен или больше не действует | 404 (например, «Session not found») | Откройте новую сессию через `initialize`. |\n| ID сессии открыт токеном другого аккаунта | 404 «Session not found» | Каждый аккаунт открывает свою сессию. |\n| В заголовке `Accept` нет обоих типов | 406 «Not Acceptable: Client must accept both application/json and text/event-stream» | Передайте `application/json, text/event-stream`. |\n| Запрос с заголовком `Origin` другого сайта (например, из JavaScript веб-страницы) | 403 «Invalid Origin header»; в браузере обычно видна только ошибка CORS | Вызывайте сервер с бэкенда, а не со страницы сайта. |\n| Токена нет, он неверный или отозван | 401, причина в `error_description` | См. [Лимиты и коды ошибок MCP](#ai.limite-si-erori). |\n\n## Проверка в MCP Inspector\n\nMCP Inspector — официальный инструмент для проверки MCP-серверов. Для него нужен Node.js.\n\n1. Запустите его:\n\n   ```bash\n   npx @modelcontextprotocol/inspector\n   ```\n\n2. В интерфейсе, который откроется в браузере, выберите транспорт «Streamable HTTP» и введите адрес `https://api.app.blackbox.md/mcp`.\n3. Добавьте заголовок `Authorization` со значением `Bearer bbx_pat_…`.\n4. Подключитесь, откройте список инструментов и вызовите `whoami`. В ответе будут ID аккаунта, разрешения токена и разрешения, которых ему не хватает (`missing_scopes`).\n\nУ Inspector есть и режим командной строки — он удобен в скриптах и автоматических проверках:\n\n```bash\nnpx @modelcontextprotocol/inspector --cli https://api.app.blackbox.md/mcp \\\n  --transport http \\\n  --header \"Authorization: Bearer $BBX_PAT\" \\\n  --method tools/list\n```\n\n> **Примечание**\n> API AI-провайдеров и MCP Inspector часто меняются. Названия полей, бета-заголовка и параметров в примерах актуальны на 9 октября 2026 года; перед использованием сверьтесь с официальной документацией.\n\n## Время ответа и лимиты\n\n- Запрос может выполняться около 5 минут, например долгая команда через `run_server_command` (не дольше 300 секунд) или оплата заказа через `pay_order`. Установите в HTTP-клиенте или SDK тайм-аут чтения чуть больше 5 минут.\n- Если кажется, что `pay_order` завершился по тайм-ауту, прежде чем повторять вызов, проверьте заказ через `list_orders`: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n- Долгие задачи запускайте на сервере в фоне (`nohup`, `systemd-run`) и проверяйте результат позже: [Выполнение команд на сервере через AI](#ai.comenzi-pe-server).\n- Лимиты действуют на весь аккаунт, для всех токенов вместе: 120 вызовов инструментов в минуту плюс отдельные лимиты для некоторых инструментов. Вызовы, сделанные во время ограничения, тоже засчитываются, поэтому не повторяйте запрос сразу, а подождите. Подробнее: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**Есть ли у BLACKBOX REST API?**\nНет. Единственный программный интерфейс для клиентов — MCP-сервер. Токен `bbx_pat_…`, отправленный на другие адреса API, не принимается.\n\n**Можно ли вызывать MCP-сервер из JavaScript на сайте?**\nНет. Сервер отклоняет запросы из браузера с чужих сайтов (403 «Invalid Origin header»), а токен увидел бы любой посетитель страницы. Вызывайте сервер с бэкенда.\n\n**Скрипт работал, а теперь получает 401. Почему?**\nТокен отозван, или вы сменили пароль аккаунта blackbox.md — после этого перестают работать все токены, созданные до смены. Создайте новый токен: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n**Подойдут ли другие SDK и фреймворки для агентов?**\nДа, подойдёт любой MCP-клиент, который поддерживает транспорт Streamable HTTP и собственные заголовки, например официальные MCP SDK. Используйте адрес и заголовок из таблицы «Параметры подключения».\n",
    "en": "You can use the BLACKBOX MCP server (`https://api.app.blackbox.md/mcp`) not only from apps such as Claude or Cursor, but also from your own scripts and agents. You can let an AI provider's API (Anthropic or OpenAI) connect to the server, or send JSON-RPC requests over HTTP yourself. To check the connection, use MCP Inspector. You create the token on blackbox.md, in “Contul meu” (My account) → “Token-uri API” (API tokens); the page is titled “Token-uri de acces (API)” (Access tokens (API)) and is at `blackbox.md/account/api-tokens`.\n\n**Available to:** the blackbox.md account holder who has an API token (`bbx_pat_…`). What your code can do depends on the token's permissions.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Connection details\n\n| Parameter | Value |\n|---|---|\n| Address | `https://api.app.blackbox.md/mcp` |\n| Transport | Streamable HTTP (not the legacy SSE and not stdio) |\n| Authentication | the `Authorization: Bearer bbx_pat_…` header |\n| Server name in configurations | `blackbox` |\n| Maximum duration of a request | about 5 minutes |\n\nThere is no REST interface for customers: the token works only at `/mcp`, and the other API addresses reject it. Everything your code can do (servers, SSH keys, balance, orders) goes through the MCP tools: [List of MCP tools](#ai.unelte).\n\nKeep the token in an environment variable, not in your code. The examples below use the `BBX_PAT` variable. In bash (Linux, macOS, WSL):\n\n```bash\nexport BBX_PAT=\"bbx_pat_…\"\n```\n\nIn PowerShell:\n\n```powershell\n$env:BBX_PAT = \"bbx_pat_…\"\n```\n\n> **Important**\n> When an AI provider's API calls the tools on its own, no one asks for your confirmation before each call. The exception is OpenAI with `\"require_approval\": \"always\"`. For such scripts, use a read-only token (the three permissions checked by default when you create a token) or restrict the list of tools, as in the examples below. The token and everything the tools return, including passwords, keys and command output, pass through the AI provider. Details: [Token permissions (scopes)](#ai.permisiuni).\n\n## Anthropic Messages API (MCP connector)\n\nAnthropic's API connects to the BLACKBOX server by itself and calls the tools on your behalf. In the request, you send two things:\n\n- in `mcp_servers`, an entry with `\"type\": \"url\"`, `url`, `\"name\": \"blackbox\"` and `authorization_token` set to your token;\n- in `tools`, an entry of type `mcp_toolset` with `\"mcp_server_name\": \"blackbox\"`.\n\nThe feature is in beta and requires the `anthropic-beta` header. As of October 9, 2026, its value is `mcp-client-2025-11-20`; check the current value in the [Anthropic documentation](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector).\n\nExample in Python (the `anthropic` SDK), with only three read-only tools enabled:\n\n```python\nimport os\nimport anthropic\n\nclient = anthropic.Anthropic()\n\nresponse = client.beta.messages.create(\n    model=\"claude-opus-5\",\n    max_tokens=4096,\n    betas=[\"mcp-client-2025-11-20\"],\n    mcp_servers=[{\n        \"type\": \"url\",\n        \"url\": \"https://api.app.blackbox.md/mcp\",\n        \"name\": \"blackbox\",\n        \"authorization_token\": os.environ[\"BBX_PAT\"],\n    }],\n    tools=[{\n        \"type\": \"mcp_toolset\",\n        \"mcp_server_name\": \"blackbox\",\n        \"default_config\": {\"enabled\": False},\n        \"configs\": {\n            \"whoami\": {\"enabled\": True},\n            \"list_servers\": {\"enabled\": True},\n            \"get_server\": {\"enabled\": True},\n        },\n    }],\n    messages=[{\"role\": \"user\", \"content\": \"Show me my BLACKBOX servers and their status\"}],\n)\n\nfor block in response.content:\n    if block.type == \"text\":\n        print(block.text)\n```\n\n- `\"default_config\": {\"enabled\": False}` disables all tools, and `configs` enables only the ones it names. Without these two fields, the model gets every tool the token allows.\n- Besides text, the response contains `mcp_tool_use` blocks (which tool the model called and with which parameters) and `mcp_tool_result` blocks (what the BLACKBOX server answered).\n- The model name is only an example; use the model you want.\n\n## OpenAI Responses API\n\nIn the Responses API, you add the BLACKBOX server as a tool of type `mcp`, with `\"server_label\": \"blackbox\"`, `server_url`, the token in `headers.Authorization` and `\"require_approval\": \"always\"`, so that each tool call waits for your approval.\n\n```python\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI()\n\nblackbox = {\n    \"type\": \"mcp\",\n    \"server_label\": \"blackbox\",\n    \"server_url\": \"https://api.app.blackbox.md/mcp\",\n    \"headers\": {\"Authorization\": \"Bearer \" + os.environ[\"BBX_PAT\"]},\n    \"require_approval\": \"always\",\n}\n\nresponse = client.responses.create(\n    model=\"gpt-5\",\n    tools=[blackbox],\n    input=\"Show me my BLACKBOX servers and their status\",\n)\n```\n\nHow to approve a call:\n\n1. Look in `response.output` for items of type `mcp_approval_request`. Each one contains the tool name (`name`) and the parameters (`arguments`).\n2. Check the call.\n3. Send a new request with `previous_response_id=response.id`, the same `tools` list and, in `input`, your answer:\n\n   ```json\n   {\"type\": \"mcp_approval_response\", \"approve\": true, \"approval_request_id\": \"mcpr_…\"}\n   ```\n\n4. To reject the call, send `\"approve\": false`.\n\nWith every request, send the tool definition again, together with the `Authorization` header: OpenAI does not keep it between requests. With `allowed_tools` (for example `[\"whoami\", \"list_servers\", \"get_server\"]`), you limit the tools the model sees. Details in the [OpenAI documentation](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).\n\n## Directly over HTTP (JSON-RPC)\n\nWithout an SDK, send POST requests in JSON-RPC 2.0 format to the same address, with the following headers:\n\n| Header | Value | When |\n|---|---|---|\n| `Content-Type` | `application/json` | always |\n| `Accept` | `application/json, text/event-stream` | always |\n| `Authorization` | `Bearer bbx_pat_…` | always |\n| `mcp-session-id` | the ID received from `initialize` | after `initialize` |\n| `MCP-Protocol-Version` | the version from the `initialize` response, for example `2025-06-18` | after `initialize` |\n\nThe examples are written for bash (Linux, macOS); on Windows, run them in WSL.\n\n1. Open the session with `initialize`:\n\n   ```bash\n   curl -i https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"script\",\"version\":\"1.0\"}}}'\n   ```\n\n2. The response has status 200 and the `mcp-session-id` header. The body comes as an event stream; the JSON-RPC result is on the line that starts with `data:`:\n\n   ```text\n   event: message\n   data: {\"jsonrpc\":\"2.0\",\"id\":1,\"result\":{\"protocolVersion\":\"2025-06-18\",\"serverInfo\":{\"name\":\"blackbox\",…},\"instructions\":\"…\",…}}\n   ```\n\n   The `instructions` field contains the server's instructions for the AI assistant. If you build your own agent, pass them to the model.\n\n3. Save the session ID (the value of the `mcp-session-id` header) in the `MCP_SID` variable:\n\n   ```bash\n   export MCP_SID=\"SESSION_ID\"\n   ```\n\n   Then confirm the initialization:\n\n   ```bash\n   curl https://api.app.blackbox.md/mcp \\\n     -H \"Content-Type: application/json\" \\\n     -H \"Accept: application/json, text/event-stream\" \\\n     -H \"Authorization: Bearer $BBX_PAT\" \\\n     -H \"mcp-session-id: $MCP_SID\" \\\n     -H \"MCP-Protocol-Version: 2025-06-18\" \\\n     -d '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}'\n   ```\n\n   The response is `202 Accepted`, with no content.\n\n4. With the same headers as in step 3, request the list of tools. It contains only the tools the token allows, plus `whoami` and `list_vm_plans`, which require no permissions:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}\n   ```\n\n5. Call a tool with `tools/call`:\n\n   ```json\n   {\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"whoami\",\"arguments\":{}}}\n   ```\n\n   The result is in `result.content`, as JSON text. If the tool rejects the call, the HTTP status is still 200, but the result has `\"isError\": true`, and the text contains the error code (for example `missing_scope` or `rate_limited`).\n\n6. When you are done, you can close the session with a `DELETE` request to the same address, with the `Authorization` and `mcp-session-id` headers.\n\nThe session stays tied to the account that opened it. Use the same token for the whole session, and write your code so that it can reopen the session with `initialize` at any time.\n\n| Situation | Server response | What to do |\n|---|---|---|\n| `mcp-session-id` is missing after `initialize` | 400 “Bad Request: Missing session ID” | Add the header. |\n| The session ID is unknown or no longer valid | 404 (for example “Session not found”) | Open a new session with `initialize`. |\n| The session ID was opened with another account's token | 404 “Session not found” | Each account opens its own session. |\n| The `Accept` header does not contain both types | 406 “Not Acceptable: Client must accept both application/json and text/event-stream” | Send `application/json, text/event-stream`. |\n| A request with another site's `Origin` header (for example, from a web page's JavaScript) | 403 “Invalid Origin header”; in the browser you usually see only a CORS error | Call the server from your backend, not from the web page. |\n| The token is missing, wrong or revoked | 401, with the reason in `error_description` | See [MCP limits and error codes](#ai.limite-si-erori). |\n\n## Testing with MCP Inspector\n\nMCP Inspector is the official tool for testing MCP servers. It requires Node.js.\n\n1. Start it:\n\n   ```bash\n   npx @modelcontextprotocol/inspector\n   ```\n\n2. In the interface that opens in your browser, choose the “Streamable HTTP” transport and enter the address `https://api.app.blackbox.md/mcp`.\n3. Add the `Authorization` header with the value `Bearer bbx_pat_…`.\n4. Connect, open the tool list and call `whoami`. The response shows the account ID, the token's permissions and the permissions it is missing (`missing_scopes`).\n\nThe Inspector also has a command-line mode, useful in scripts and automated checks:\n\n```bash\nnpx @modelcontextprotocol/inspector --cli https://api.app.blackbox.md/mcp \\\n  --transport http \\\n  --header \"Authorization: Bearer $BBX_PAT\" \\\n  --method tools/list\n```\n\n> **Note**\n> AI providers' APIs and MCP Inspector change often. The names of the fields, the beta header and the options in the examples are valid as of October 9, 2026; check them in the official documentation before you use them.\n\n## Response times and limits\n\n- A request can take up to about 5 minutes, for example a long command run with `run_server_command` (300 seconds at most) or paying for an order with `pay_order`. In your HTTP client or SDK, set a read timeout slightly above 5 minutes.\n- If `pay_order` seems to have timed out, check the order with `list_orders` before you retry: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n- Start longer jobs on the server in the background (`nohup`, `systemd-run`) and check the result later: [Running commands on the server through AI](#ai.comenzi-pe-server).\n- Limits apply per account, to all tokens together: 120 tool calls per minute, plus separate limits for some tools. Calls made while you are rate-limited also count, so wait instead of retrying right away. Details: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**Is there a REST API for BLACKBOX?**\nNo. The only programmatic interface for customers is the MCP server. A `bbx_pat_…` token sent to other API addresses is rejected.\n\n**Can I call the MCP server from a website's JavaScript?**\nNo. The server rejects requests sent from a browser on other sites (403 “Invalid Origin header”), and the token would be visible to anyone who opens the page. Call the server from your backend.\n\n**My script used to work, and now it gets 401. Why?**\nThe token was revoked, or you changed your blackbox.md account password, which stops all tokens created before the change. Create a new token: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n**Does it also work with other SDKs or agent frameworks?**\nYes, with any MCP client that supports the Streamable HTTP transport and custom headers, for example the official MCP SDKs. Use the address and header from the “Connection details” table.\n"
   }
  },
  {
   "id": "ai.unelte",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/unelte/",
    "ru": "https://docs.blackbox.md/ru/ai/unelte/",
    "en": "https://docs.blackbox.md/en/ai/unelte/"
   },
   "title": {
    "ro": "Lista uneltelor MCP",
    "ru": "Список инструментов MCP",
    "en": "List of MCP tools"
   },
   "summary": {
    "ro": "Toate cele 25 de unelte ale serverului MCP BLACKBOX: permisiunea cerută, parametrii, ce returnează și limitele.",
    "ru": "Все 25 инструментов MCP-сервера BLACKBOX: нужное разрешение, параметры, что возвращают и лимиты.",
    "en": "All 25 tools of the BLACKBOX MCP server: the permission each one requires, its parameters, what it returns and its limits."
   },
   "markdown": {
    "ro": "Serverul MCP `blackbox` (`https://api.app.blackbox.md/mcp`) îi oferă asistentului AI 25 de unelte. Asistentul alege singur unealta potrivită după ce îi descrieți sarcina; dvs. stabiliți, prin permisiunile token-ului, ce unelte are voie să folosească. Token-ul îl creați pe blackbox.md, în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`).\n\n**Disponibil pentru:** titularul contului blackbox.md, printr-un asistent AI conectat cu un token API. Uneltele lucrează doar cu datele contului care a creat token-ul.\n\n## Cum citiți tabelele\n\n- **Permisiune:** codul permisiunii pe care trebuie s-o aibă token-ul; „—” înseamnă că nu e nevoie de niciuna. Ce bifă îi corespunde pe pagina „Token-uri de acces (API)”: [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n- **Parametri:** datele pe care asistentul le trimite uneltei. Nu le scrieți dvs., dar este util să le recunoașteți când clientul AI vă cere aprobarea pentru un apel.\n- **Limită:** câte apeluri sunt permise pentru tot contul, cu toate token-urile la un loc. Aceste limite se numără separat de cele ale panoului app.blackbox.md. În plus, toate uneltele, în afară de `whoami` și `list_vm_plans`, au împreună o limită de 120 de apeluri pe minut.\n- **Sume:** câmpurile `…_mdl` sunt în MDL întregi, iar câmpurile `…_bani` în bani (1 MDL = 100 de bani).\n\n## Comportamentul comun\n\n| Situație | Răspunsul uneltei | Ce faceți |\n|---|---|---|\n| Token-ul nu are permisiunea cerută | Unealta nu apare în lista asistentului; un apel direct primește `missing_scope: this token does not have '…'`, cu numele permisiunii. | Creați un token nou cu permisiunea lipsă: permisiunile unui token existent nu se pot extinde. |\n| ID-ul nu există sau este al altui cont | `not_found`, intenționat același răspuns în ambele cazuri | Cereți asistentului să ia ID-ul din `list_servers`, `list_orders` sau `list_ssh_keys`. |\n| ID-ul are un format greșit | `invalid_server_id`, `invalid_order_id` sau `invalid_key_id` | La fel ca mai sus. |\n| Prea multe apeluri | `rate_limited` | Așteptați: apelurile făcute cât timp limita este depășită se numără și ele. |\n| Eroare neprevăzută la BLACKBOX | `internal_error` | Reîncercați cel mult o dată. Dacă se repetă, scrieți suportului, cu numele uneltei și ora. |\n| La upgrade sau la anularea unei comenzi cu server, serviciul de infrastructură este temporar indisponibil | o eroare care semnalează această indisponibilitate | Reîncercați peste câteva minute. |\n\nPe lângă serverele comandate de dvs., `list_servers` poate arăta și servere ale companiei la care BLACKBOX v-a dat acces. Când `can_manage` este `false`, serverul este doar pentru citire (în panou are insigna „Administrat”), iar uneltele de control nu funcționează pe el. Dacă BLACKBOX v-a acordat drept de administrare, câmpul `capabilities` arată acțiunile permise; upgrade-ul nu este disponibil pentru aceste servere.\n\nToate codurile de eroare, cu explicații: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Descoperire și citire\n\n| Unealtă | Permisiune | Parametri | Ce face / ce returnează | Limită |\n|---|---|---|---|---|\n| `whoami` | — | — | Confirmă contul: ID-ul contului (`customer_id`), permisiunile token-ului (`scopes`), permisiunile lipsă (`missing_scopes`) și un sfat în engleză (`hint`). Nu returnează emailul sau numele. | — |\n| `list_vm_plans` | — | — | Cele 21 de planuri VPS: `slug`, numele (de exemplu „Standard M”), familia, vCPU, RAM (GB), discul (GB), prețul lunar în MDL (`price_mdl`) și `recommended` pentru planul recomandat. | — |\n| `list_servers` | `servers:read` | — | Serverele dvs.: `id` (folosit de toate uneltele de server), numele, IP-ul, planul, data creării, autentificarea SSH (`auth_method`: `key`, `password` sau gol), numele privat (`label`), `can_manage` și `capabilities`. | 60 pe minut |\n| `get_server` | `servers:read` | `server_id` | Același server, plus portul SSH, dacă există date de acces salvate (`has_credentials`) și starea reală `power_state`: `running`, `shutdown`, `paused`, `crashed`, `suspended`, `nostate` sau gol dacă nu poate fi citită. | 60 pe minut |\n| `get_balance` | `billing:read` | — | Soldul în bani (`balance_bani`), moneda `MDL` și dacă plata automată din sold este activă (`autopay_enabled`). | 60 pe minut |\n| `list_transactions` | `billing:read` | `limit` (1–100, implicit 20), `offset` | Mișcările soldului, cele mai noi primele: suma și soldul după operație (în bani), tipul (`topup`, `order_payment`, `invoice_payment`, `adjustment`, `refund`), descrierea, comanda sau factura legată și data; plus numărul total. | 30 pe minut |\n| `list_orders` | `billing:read` | `limit`, `offset` | Comenzile: numărul `BBX-…` (`reference`), statusul, planul, totalul în MDL, data, descrierea, serviciile suplimentare cu starea lor, starea creării serverului (`provisioning_state`), IP-ul, `server_id` și dacă se poate anula (`cancellable`). | 30 pe minut |\n| `list_invoices` | `billing:read` | `limit`, `offset` | Facturile: numărul, statusul, moneda, totalul, descrierea, data emiterii, scadența și data plății. | 30 pe minut |\n\nPlanurile, cu specificații și prețuri: [Planurile VPS: cum alegeți](#comenzi.planuri-vps). Numele privat se setează în panou: [Redenumirea serverului (nume privat)](#servere.redenumire).\n\n`list_servers` nu conține numărul comenzii. Ca să aflați din ce comandă provine un server, cereți asistentului `list_orders` și căutați comanda al cărei `server_id` este egal cu `id`-ul serverului.\n\n### Statusurile din răspunsuri\n\nUneltele returnează coduri în engleză. Tabelul arată eticheta lor de pe blackbox.md sau, unde site-ul nu are etichetă, ce înseamnă:\n\n| Câmp | Coduri | Pe blackbox.md |\n|---|---|---|\n| Statusul comenzii (`list_orders`) | `new`, `in_progress`, `done`, `cancelled` | „Nou”, „În lucru”, „Finalizat”, „Anulat” |\n| Starea serviciului suplimentar (`list_orders`) | `pending`, `active`, `attention`, `cancelled` | „În curs de activare”, „Activ”, „Contactați suportul”, „Anulat” |\n| Statusul facturii (`list_invoices`) | `sent`, `overdue`, `paid`, `cancelled` | „Trimisă”, „Restantă”, „Achitată”, „Anulată” |\n| Crearea serverului (`provisioning_state`) | `provisioning`, `active`, `failed`, `terminated` | fără etichetă pe site: serverul se creează, este gata, crearea a eșuat, serverul a fost șters |\n\n## Controlul serverului\n\n| Unealtă | Permisiune | Parametri | Ce face / ce returnează | Limită |\n|---|---|---|---|---|\n| `reveal_server_credentials` | `servers:credentials` | `server_id` | Utilizatorul și parola root salvate, cu data salvării, ca butonul „Afișează datele de acces” din panou. Parola nu este citită de pe server. | 20 pe minut |\n| `reset_server_password` | `servers:credentials` | `server_id` | Generează o parolă root nouă, o aplică pe server și o returnează, ca butonul „Resetează parola”. Parola veche nu mai funcționează din acel moment. | 3 în 5 minute |\n| `power_server` | `servers:power` | `server_id`, `action`: `reboot`, `stop` sau `start` | Repornește, oprește sau pornește serverul. Răspunde imediat cu `status: accepted`, iar acțiunea continuă în fundal; rezultatul îl vedeți cu `get_server` (`power_state`). | 6 pe minut |\n| `run_server_command` | `servers:exec` | `server_id`, `command` (1–8192 caractere), `timeout_seconds` (1–300, implicit 60) | Rulează comanda ca `root`, fără terminal interactiv și fără parola sau cheia dvs. Returnează `exit_code`, `stdout` și `stderr` (cel mult 64 000 de caractere fiecare), `duration_ms` și `timed_out`. | 30 pe minut |\n| `get_server_ssh_access` | `servers:credentials` | `server_id`, `regenerate` (implicit `false`) | Instalează pentru `root` cheia agentului AI (comentariul `blackbox-agent-…`) și returnează gazda, portul, utilizatorul `root`, cheia privată și cea publică, amprenta și o comandă `ssh -i …` gata de folosit. La fiecare apel vine aceeași cheie; `regenerate: true` creează una nouă și o șterge pe cea veche. | 10 în 5 minute |\n| `get_server_resize_options` | `servers:read` | `server_id` | Planurile din aceeași familie la care se poate face upgrade (nicio resursă nu scade), prețul lunar nou, suma care s-ar plăti acum pentru restul lunii și soldul. Nu schimbă nimic. | doar limita comună |\n| `resize_server` | `orders:write` | `server_id`, `target_flavor` (o variantă din `get_server_resize_options`), `confirm` (implicit `false`) | Fără confirmare: o previzualizare cu prețul și `confirm_required: true`, fără modificări. Cu `confirm: true`: plătește diferența din sold și repornește serverul pe planul nou (câteva minute de întrerupere; IP-ul și datele rămân). Returnează `job_id` și `state: queued`. | 3 în 10 minute, inclusiv previzualizările |\n\n- **`power_server`.** Repornirea este una normală, nu forțată; după `reboot`, serverul răspunde de regulă în 30–60 de secunde. Pe unele servere ale companiei asupra cărora aveți drept de administrare este posibilă doar repornirea (celelalte acțiuni răspund `no_instance_id`). Vedeți și [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n- **`reset_server_password`.** Pe un server „Doar cheie”, parola se schimbă, dar autentificarea SSH cu parolă rămâne dezactivată: [Resetarea parolei root](#acces.resetare-parola-root).\n- **`run_server_command`.** Depășirea timpului nu este o eroare: vine `timed_out: true`, iar procesul poate rula în continuare pe server. Detalii: [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server).\n- **`get_server_ssh_access`.** Cheia agentului este una pe server, comună pentru toate token-urile dvs.: [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n- **Upgrade.** Doar spre un plan mai mare, niciodată invers. Planurile „VPS hosting” și serverele dedicate răspund `not_upgradeable_plan` (upgrade prin suport). Dacă soldul nu ajunge, `insufficient_balance` apare deja la previzualizare. Vedeți [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n> **Securitate**\n> `reveal_server_credentials`, `reset_server_password` și `get_server_ssh_access` returnează parole și chei private în clar. Ele ajung în clientul AI și la furnizorul modelului AI. Acordați `servers:credentials` doar când este nevoie și cereți asistentului să nu afișeze secretele în conversație.\n\n## Chei SSH\n\nCheile salvate în cont, pe pagina „Chei SSH” ([Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont)), și cheile instalate pe un server, în `/root/.ssh/authorized_keys` ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)), se gestionează cu unelte diferite. Ștergerea dintr-un loc nu scoate cheia din celălalt.\n\n| Unealtă | Permisiune | Parametri | Ce face / ce returnează | Limită |\n|---|---|---|---|---|\n| `list_ssh_keys` | `ssh_keys:read` | — | Cheile salvate în cont: `id`, numele, tipul, amprenta, numărul de biți, comentariul, data adăugării și a ultimei folosiri; plus numărul lor și limita de 20. | 30 pe minut |\n| `add_ssh_key` | `ssh_keys:write` | `name` (1–80 caractere, pe un rând), `public_key` (o singură linie de cheie publică OpenSSH) | Salvează cheia în cont, fără s-o instaleze pe vreun server. Tipuri acceptate: `ssh-ed25519`, `ssh-rsa` (cel puțin 2048 de biți), `ecdsa-sha2-nistp256/384/521` și cheile hardware `sk-…`. Cel mult 20 de chei în cont. | 10 pe oră |\n| `delete_ssh_key` | `ssh_keys:write` | `key_id` | Șterge cheia din cont. Nu o scoate de pe serverele pe care este instalată. | 20 pe oră |\n| `add_server_ssh_key` | `servers:credentials` | `server_id` și exact unul dintre `key_id` (cheie salvată) sau `public_key` (cheie lipită) | Adaugă cheia pentru `root` pe server. Răspunde `added` sau `already_present` (cheia era deja acolo; nu se schimbă nimic). | 10 în 5 minute |\n| `list_server_ssh_keys` | `servers:credentials` | `server_id` | Cheile instalate pentru `root`: tipul, amprenta, comentariul, care este cheia de administrare (`is_management`) și care este cheia agentului (`is_agent`), dacă se poate șterge (`removable`), câte rânduri au fost ignorate și dacă autentificarea cu parolă este activă. | 30 pe minut |\n| `remove_server_ssh_key` | `servers:credentials` | `server_id` și exact unul dintre `key_id`, `fingerprint` (din `list_server_ssh_keys`) sau `public_key` | Scoate cheia de pe server. Răspunde `removed` sau `not_present`. | 10 în 5 minute |\n| `set_server_password_auth` | `servers:credentials` | `server_id`, `enabled` (`true` sau `false`) | Activează sau dezactivează autentificarea SSH cu parolă, ca butoanele „Activează login cu parolă” și „Dezactivează login cu parolă”. Verifică configurația SSH înainte de reîncărcare și returnează starea efectivă (`effective`: `yes` sau `no`). | 5 în 5 minute |\n\nProtecții împotriva blocării accesului:\n\n- `remove_server_ssh_key` refuză cheia de administrare (`management_key_protected`) și ultima cheie a unui server „Doar cheie” (`last_key_on_key_only_server`).\n- `set_server_password_auth` refuză dezactivarea dacă pe server nu există nicio cheie a dvs. (`no_customer_key_installed`).\n\n## Bani: comenzi, plăți și anulări\n\nCele trei unelte cer `orders:write`. Plățile și rambursările trec doar prin sold: asistentul nu poate alimenta soldul și nu poate plăti cu cardul.\n\n| Unealtă | Permisiune | Parametri | Ce face / ce returnează | Limită |\n|---|---|---|---|---|\n| `create_order` | `orders:write` | `source` (`static-plan`), `plan_slug`, `config`, `confirm` (implicit `false`) | Fără confirmare: o ofertă (`quote`, cu totalul în MDL și `provisionable`), fără să se creeze ceva. Cu `confirm: true` și aceiași parametri: o comandă cu statusul `new` și numărul `BBX-…`, fără plată. Prețul îl calculează mereu BLACKBOX. Aceeași confirmare repetată în 5 minute returnează aceeași comandă. | 20 pe oră, inclusiv ofertele |\n| `pay_order` | `orders:write` | `order_id`, `confirm_total_mdl` (totalul actual, în MDL) | Achită din sold o comandă cu statusul `new`. Dacă suma diferă de totalul actual: `price_changed`, fără plată. Răspunde cu statusul `in_progress`, ID-ul tranzacției și soldul rămas (în bani). Serverele din planurile `vm-…` încep apoi să se creeze automat. | 10 pe minut |\n| `cancel_order` | `orders:write` | `order_id`, `confirm` (implicit `false`) | Fără confirmare: o previzualizare cu suma rambursată (`refund_mdl`), politica de rambursare și dacă serverul va fi șters (`server_terminated_on_cancel`). Cu `confirm: true`: anulează comanda, iar rambursarea intră în sold. | 5 în 5 minute, inclusiv previzualizările |\n\nRegulile de rambursare sunt aceleași ca pe site: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare). Pașii și protecțiile: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Ireversibil**\n> Cu `confirm: true`, `cancel_order` șterge imediat serverul comenzii și toate datele de pe el, fără perioada de grație de 24 de ore a butonului „Șterge definitiv” din panou. Citiți previzualizarea înainte de a confirma.\n\n### Parametrii pentru `create_order`\n\nAsistentul construiește parametrii singur; îi puteți cere explicit planul, sistemul de operare și cheile. Exemplu pentru planul recomandat, cu Ubuntu 24.04 și o cheie salvată în cont:\n\n```json\n{\n  \"source\": \"static-plan\",\n  \"plan_slug\": \"vm-iops1-m\",\n  \"config\": {\n    \"kind\": \"static-plan\",\n    \"plan_id\": \"vm-iops1-m\",\n    \"os\": \"ubuntu-24\",\n    \"ssh\": { \"key_ids\": [\"ID_CHEIE\"] }\n  },\n  \"confirm\": false\n}\n```\n\nValorile posibile pentru `plan_slug` (aceeași valoare se pune și în `config.plan_id`) sunt mai jos. Planurile VPS au forma `vm-FAMILIE-MĂRIME`:\n\n| Familie | Planuri |\n|---|---|\n| Basic | `vm-basic1-xs`, `vm-basic1-s`, `vm-basic1-m`, `vm-basic1-l`, `vm-basic1-xl` |\n| CPU | `vm-cores30-s`, `vm-cores30-m`, `vm-cores30-l`, `vm-cores30-xl`, `vm-cores30-xxl` |\n| Standard | `vm-iops1-s`, `vm-iops1-m` (recomandat), `vm-iops1-l`, `vm-iops1-xl` |\n| High-Frequency | `vm-hfq1-xs`, `vm-hfq1-s`, `vm-hfq1-m` |\n| High-Frequency Compute | `vm-hfq50-xs`, `vm-hfq50-s`, `vm-hfq50-m`, `vm-hfq50-l` |\n| Servere dedicate | `dedicated-light`, `dedicated-premium`, `dedicated-storage`, pregătite manual de echipă: [Servere dedicate](#comenzi.servere-dedicate) |\n| VPS hosting | `vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou) |\n\nCâmpurile din `config`:\n\n| Câmp | Valori |\n|---|---|\n| `kind` | `static-plan`, la fel ca `source` |\n| `plan_id` | același plan ca în `plan_slug` |\n| `os` | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Fără `os` se instalează Ubuntu 22.04 LTS, nu cea mai nouă versiune; pentru Ubuntu 24.04 indicați `ubuntu-24`. Un sistem care nu este în listă primește `unsupported_os`. Vedeți [Sistemele de operare disponibile](#comenzi.sisteme-operare). |\n| `ssh` | `key_ids` (ID-uri din `list_ssh_keys`), `public_keys` (chei lipite) și `password_auth`; cel mult 10 chei. Cu chei și fără `password_auth`, serverul se creează „doar cu cheie”; `\"password_auth\": true` păstrează autentificarea cu parolă. Vedeți [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda). |\n| `extras` | `[\"monitoring\"]` adaugă serviciul Monitoring, 98 MDL/lună: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare). Este singura valoare pe care o puneți aici. |\n\n> **Atenție**\n> Puneți în `extras` doar `monitoring`. Serverul MCP acceptă și alte coduri de servicii suplimentare și le adaugă la total și la prețul lunar al serverului, dar ele nu se activează automat: în „Contul meu” → „Comenzi” rămân „În curs de activare”. Nu cereți asistentului să adauge în comandă alte servicii suplimentare; pentru ele scrieți suportului. Înainte de confirmare verificați `total_mdl` din ofertă: trebuie să fie prețul planului, plus 98 MDL dacă ați cerut monitorizarea. Oferta are o singură linie în `line_items`, cu totalul, deci serviciile nu apar separat.\n\nConfiguratorul personalizat (`source: configurator`) și planurile vechi `vps-2`, `vps-3`, `vps-4` au fost înlocuite cu planurile fixe: ele răspund `configurator_retired`, respectiv `plan_retired`. Pentru un plan vechi, eroarea poate propune un plan `vm-…` apropiat. Dacă oferta arată `provisionable: false`, planul este temporar indisponibil, iar confirmarea răspunde `plan_unavailable`.\n\n## Întrebări frecvente\n\n**Asistentul spune că nu are o anumită unealtă. De ce?**\nToken-ul nu are permisiunea cerută, așa că unealta este ascunsă. Cereți asistentului să apeleze `whoami`: câmpul `missing_scopes` arată ce lipsește. Creați apoi un token nou cu permisiunea respectivă. În textul `hint`, presetarea apare ca „AI agent — full access”; pe pagină, butonul se numește „AI-administrator — acces complet”.\n\n**De ce `status` este `active` deși serverul este oprit?**\n`status` arată doar că serverul este activ în contul dvs. Dacă serverul este pornit sau oprit vedeți în câmpul `power_state` din `get_server`.\n\n**Pot apela uneltele fără un asistent AI?**\nDa, din orice client MCP sau din cod, dar numai prin adresa MCP: token-urile `bbx_pat_…` nu funcționează în alte locuri. Vedeți [Folosirea MCP din cod (API-uri AI și HTTP)](#ai.conectare-din-cod).\n\n**Ce înseamnă `57800` în `balance_bani`?**\nSuma este în bani: 57 800 de bani înseamnă 578,00 MDL.\n",
    "ru": "MCP-сервер `blackbox` (`https://api.app.blackbox.md/mcp`) даёт AI-ассистенту 25 инструментов. Ассистент сам выбирает нужный инструмент, когда вы описываете задачу, а вы через разрешения токена определяете, какими инструментами ему можно пользоваться. Токен создаётся на blackbox.md: «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`).\n\n**Доступно:** владельцу аккаунта blackbox.md — через AI-ассистента, подключённого с API-токеном. Инструменты работают только с данными аккаунта, в котором создан токен.\n\n## Как читать таблицы\n\n- **Разрешение:** код разрешения, которое должно быть у токена; «—» означает, что разрешение не нужно. Какая галочка ему соответствует на странице «Токены доступа (API)», см. [Разрешения токенов (scopes)](#ai.permisiuni).\n- **Параметры:** данные, которые ассистент передаёт инструменту. Вводить их самим не нужно, но их полезно узнавать, когда AI-клиент просит подтвердить вызов.\n- **Лимит:** сколько вызовов разрешено на весь аккаунт, для всех токенов вместе. Эти лимиты считаются отдельно от лимитов панели app.blackbox.md. Кроме того, на все инструменты, кроме `whoami` и `list_vm_plans`, действует общий лимит — 120 вызовов в минуту.\n- **Суммы:** поля `…_mdl` указаны в целых MDL, поля `…_bani` — в банях, сотых долях лея (1 MDL = 100 бань).\n\n## Общее поведение\n\n| Ситуация | Ответ инструмента | Что делать |\n|---|---|---|\n| У токена нет нужного разрешения | Ассистент не видит инструмент; при прямом вызове приходит `missing_scope: this token does not have '…'` с названием разрешения. | Создайте новый токен с недостающим разрешением: расширить разрешения существующего токена нельзя. |\n| ID не существует или принадлежит другому аккаунту | `not_found` — в обоих случаях ответ намеренно одинаковый | Попросите ассистента взять ID из `list_servers`, `list_orders` или `list_ssh_keys`. |\n| ID в неверном формате | `invalid_server_id`, `invalid_order_id` или `invalid_key_id` | То же, что выше. |\n| Слишком много вызовов | `rate_limited` | Подождите: вызовы, сделанные, пока лимит превышен, тоже засчитываются. |\n| Непредвиденная ошибка на стороне BLACKBOX | `internal_error` | Повторите вызов не больше одного раза. Если ошибка повторяется, напишите в поддержку, указав инструмент и время. |\n| При апгрейде или отмене заказа с сервером инфраструктурный сервис временно недоступен | ошибка, сообщающая об этой недоступности | Повторите через несколько минут. |\n\nКроме заказанных вами серверов, `list_servers` может показывать серверы компании, к которым BLACKBOX открыл вам доступ. Если `can_manage` равно `false`, сервер доступен только для просмотра (в панели у него отметка «Обслуживается»), и инструменты управления с ним не работают. Если BLACKBOX выдал вам права на управление, разрешённые действия перечислены в поле `capabilities`; апгрейд для таких серверов недоступен.\n\nВсе коды ошибок с пояснениями: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Обзор и чтение данных\n\n| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |\n|---|---|---|---|---|\n| `whoami` | — | — | Подтверждает аккаунт: ID аккаунта (`customer_id`), разрешения токена (`scopes`), недостающие разрешения (`missing_scopes`) и подсказку на английском (`hint`). Email и имя не возвращает. | — |\n| `list_vm_plans` | — | — | Все 21 тариф VPS: `slug`, название (например, «Standard M»), семейство, vCPU, RAM (GB), диск (GB), цена в месяц в MDL (`price_mdl`) и признак `recommended` у рекомендуемого тарифа. | — |\n| `list_servers` | `servers:read` | — | Ваши серверы: `id` (его используют все серверные инструменты), название, IP, тариф, дата создания, способ входа по SSH (`auth_method`: `key`, `password` или пусто), личное название (`label`), `can_manage` и `capabilities`. | 60 в минуту |\n| `get_server` | `servers:read` | `server_id` | Тот же сервер, а также порт SSH, есть ли сохранённые учётные данные (`has_credentials`) и фактическое состояние `power_state`: `running`, `shutdown`, `paused`, `crashed`, `suspended`, `nostate` или пусто, если его не удалось получить. | 60 в минуту |\n| `get_balance` | `billing:read` | — | Баланс в банях (`balance_bani`), валюта `MDL` и включён ли автоплатёж с баланса (`autopay_enabled`). | 60 в минуту |\n| `list_transactions` | `billing:read` | `limit` (1–100, по умолчанию 20), `offset` | Операции по балансу, сначала новые: сумма и баланс после операции (в банях), тип (`topup`, `order_payment`, `invoice_payment`, `adjustment`, `refund`), описание, связанный заказ или счёт и дата; а также общее число операций. | 30 в минуту |\n| `list_orders` | `billing:read` | `limit`, `offset` | Заказы: номер `BBX-…` (`reference`), статус, тариф, сумма в MDL, дата, описание, дополнительные услуги и их состояние, состояние создания сервера (`provisioning_state`), IP, `server_id` и можно ли отменить заказ (`cancellable`). | 30 в минуту |\n| `list_invoices` | `billing:read` | `limit`, `offset` | Счета: номер, статус, валюта, сумма, описание, дата выставления, срок оплаты и дата оплаты. | 30 в минуту |\n\nХарактеристики и цены тарифов: [Тарифы VPS: как выбрать](#comenzi.planuri-vps). Личное название сервера задаётся в панели: [Переименование сервера (личное название)](#servere.redenumire).\n\nВ ответе `list_servers` нет номера заказа. Чтобы узнать, из какого заказа создан сервер, попросите ассистента вызвать `list_orders` и найти заказ, у которого `server_id` совпадает с `id` сервера.\n\n### Статусы в ответах\n\nИнструменты возвращают коды на английском. В таблице — как они называются на blackbox.md, а если на сайте такой метки нет, что они означают:\n\n| Поле | Коды | На blackbox.md |\n|---|---|---|\n| Статус заказа (`list_orders`) | `new`, `in_progress`, `done`, `cancelled` | «Новый», «В работе», «Завершён», «Отменён» |\n| Состояние дополнительной услуги (`list_orders`) | `pending`, `active`, `attention`, `cancelled` | «В процессе активации», «Активен», «Свяжитесь со службой поддержки», «Отменён» |\n| Статус счёта (`list_invoices`) | `sent`, `overdue`, `paid`, `cancelled` | «Отправлен», «Просрочен», «Оплачен», «Отменён» |\n| Создание сервера (`provisioning_state`) | `provisioning`, `active`, `failed`, `terminated` | на сайте не показывается: сервер создаётся, готов, создание не удалось, сервер удалён |\n\n## Управление сервером\n\n| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |\n|---|---|---|---|---|\n| `reveal_server_credentials` | `servers:credentials` | `server_id` | Сохранённые имя пользователя и пароль root с датой сохранения — как кнопка «Показать учётные данные» в панели. Пароль не считывается с сервера. | 20 в минуту |\n| `reset_server_password` | `servers:credentials` | `server_id` | Создаёт новый пароль root, устанавливает его на сервере и возвращает — как кнопка «Сбросить пароль». Старый пароль сразу перестаёт работать. | 3 за 5 минут |\n| `power_server` | `servers:power` | `server_id`, `action`: `reboot`, `stop` или `start` | Перезагружает, останавливает или запускает сервер. Сразу отвечает `status: accepted`, а действие выполняется в фоне; результат показывает `get_server` (`power_state`). | 6 в минуту |\n| `run_server_command` | `servers:exec` | `server_id`, `command` (1–8192 символа), `timeout_seconds` (1–300, по умолчанию 60) | Выполняет команду от `root` без интерактивного терминала и без вашего пароля или ключа. Возвращает `exit_code`, `stdout` и `stderr` (каждый не больше 64 000 символов), `duration_ms` и `timed_out`. | 30 в минуту |\n| `get_server_ssh_access` | `servers:credentials` | `server_id`, `regenerate` (по умолчанию `false`) | Устанавливает для `root` ключ AI-агента (комментарий `blackbox-agent-…`) и возвращает хост, порт, пользователя `root`, приватный и публичный ключи, отпечаток и готовую команду `ssh -i …`. При каждом вызове возвращается тот же ключ; `regenerate: true` создаёт новый ключ и удаляет старый. | 10 за 5 минут |\n| `get_server_resize_options` | `servers:read` | `server_id` | Тарифы того же семейства, на которые можно перейти (ни один ресурс не уменьшается), новая цена в месяц, сумма к оплате сейчас за остаток месяца и баланс. Ничего не меняет. | только общий лимит |\n| `resize_server` | `orders:write` | `server_id`, `target_flavor` (вариант из `get_server_resize_options`), `confirm` (по умолчанию `false`) | Без подтверждения: предпросмотр с ценой и `confirm_required: true`, без изменений. С `confirm: true`: списывает разницу с баланса и перезагружает сервер на новом тарифе (несколько минут простоя; IP и данные сохраняются). Возвращает `job_id` и `state: queued`. | 3 за 10 минут, включая предпросмотры |\n\n- **`power_server`.** Перезагрузка обычная, не принудительная; после `reboot` сервер, как правило, снова отвечает через 30–60 секунд. У некоторых серверов компании, на которые у вас есть права управления, возможна только перезагрузка (остальные действия отвечают `no_instance_id`). См. также [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n- **`reset_server_password`.** На сервере «Только ключ» пароль меняется, но вход по паролю по SSH остаётся отключённым: [Сброс пароля root](#acces.resetare-parola-root).\n- **`run_server_command`.** Истечение времени — не ошибка: приходит `timed_out: true`, а процесс может продолжать работать на сервере. Подробнее: [Выполнение команд на сервере через AI](#ai.comenzi-pe-server).\n- **`get_server_ssh_access`.** Ключ агента один на сервер и общий для всех ваших токенов: [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n- **Апгрейд.** Только на больший тариф, обратно — никогда. Тарифы «VPS hosting» и выделенные серверы отвечают `not_upgradeable_plan` (апгрейд через поддержку). Если на балансе не хватает средств, `insufficient_balance` приходит уже на предпросмотре. См. [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n> **Безопасность**\n> `reveal_server_credentials`, `reset_server_password` и `get_server_ssh_access` возвращают пароли и приватные ключи в открытом виде. Они попадают в AI-клиент и к поставщику AI-модели. Выдавайте `servers:credentials` только при необходимости и просите ассистента не выводить секреты в переписку.\n\n## SSH-ключи\n\nКлючи, сохранённые в аккаунте на странице «SSH-ключи» ([SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont)), и ключи, установленные на сервере в `/root/.ssh/authorized_keys` ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)), управляются разными инструментами. Удаление в одном месте не убирает ключ из другого.\n\n| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |\n|---|---|---|---|---|\n| `list_ssh_keys` | `ssh_keys:read` | — | Ключи, сохранённые в аккаунте: `id`, название, тип, отпечаток, длина в битах, комментарий, дата добавления и последнего использования; а также их количество и лимит в 20 ключей. | 30 в минуту |\n| `add_ssh_key` | `ssh_keys:write` | `name` (1–80 символов, одна строка), `public_key` (одна строка публичного ключа OpenSSH) | Сохраняет ключ в аккаунте, но не устанавливает его ни на один сервер. Допустимые типы: `ssh-ed25519`, `ssh-rsa` (не меньше 2048 бит), `ecdsa-sha2-nistp256/384/521` и аппаратные ключи `sk-…`. В аккаунте может быть не больше 20 ключей. | 10 в час |\n| `delete_ssh_key` | `ssh_keys:write` | `key_id` | Удаляет ключ из аккаунта. С серверов, на которых он установлен, ключ не удаляется. | 20 в час |\n| `add_server_ssh_key` | `servers:credentials` | `server_id` и ровно один из параметров: `key_id` (сохранённый ключ) или `public_key` (вставленный ключ) | Добавляет ключ для `root` на сервере. Отвечает `added` или `already_present` (ключ уже был на сервере, ничего не изменилось). | 10 за 5 минут |\n| `list_server_ssh_keys` | `servers:credentials` | `server_id` | Ключи, установленные для `root`: тип, отпечаток, комментарий, какой из них ключ управления (`is_management`) и какой — ключ агента (`is_agent`), можно ли его удалить (`removable`), сколько строк пропущено и включён ли вход по паролю. | 30 в минуту |\n| `remove_server_ssh_key` | `servers:credentials` | `server_id` и ровно один из параметров: `key_id`, `fingerprint` (из `list_server_ssh_keys`) или `public_key` | Удаляет ключ с сервера. Отвечает `removed` или `not_present`. | 10 за 5 минут |\n| `set_server_password_auth` | `servers:credentials` | `server_id`, `enabled` (`true` или `false`) | Включает или отключает вход по паролю по SSH — как кнопки «Включить вход по паролю» и «Отключить вход по паролю». Проверяет конфигурацию SSH перед перезагрузкой службы и возвращает фактическое состояние (`effective`: `yes` или `no`). | 5 за 5 минут |\n\nЗащита от потери доступа:\n\n- `remove_server_ssh_key` не удаляет ключ управления (`management_key_protected`) и последний ключ на сервере «Только ключ» (`last_key_on_key_only_server`).\n- `set_server_password_auth` не отключает вход по паролю, если на сервере нет ни одного вашего ключа (`no_customer_key_installed`).\n\n## Деньги: заказы, оплата и отмена\n\nВсе три инструмента требуют `orders:write`. Оплата и возвраты проходят только через баланс: пополнить баланс или заплатить картой ассистент не может.\n\n| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |\n|---|---|---|---|---|\n| `create_order` | `orders:write` | `source` (`static-plan`), `plan_slug`, `config`, `confirm` (по умолчанию `false`) | Без подтверждения: расчёт цены (`quote` с суммой в MDL и `provisionable`), ничего не создаётся. С `confirm: true` и теми же параметрами: заказ со статусом `new` и номером `BBX-…`, без оплаты. Цену всегда рассчитывает BLACKBOX. Повторное такое же подтверждение в течение 5 минут возвращает тот же заказ. | 20 в час, включая расчёты цены |\n| `pay_order` | `orders:write` | `order_id`, `confirm_total_mdl` (текущая сумма заказа в MDL) | Оплачивает с баланса заказ со статусом `new`. Если сумма не совпадает с текущей: `price_changed`, оплата не проходит. Отвечает статусом `in_progress`, ID операции и остатком баланса (в банях). Серверы на тарифах `vm-…` после этого создаются автоматически. | 10 в минуту |\n| `cancel_order` | `orders:write` | `order_id`, `confirm` (по умолчанию `false`) | Без подтверждения: предпросмотр с суммой возврата (`refund_mdl`), правилом возврата и тем, будет ли удалён сервер (`server_terminated_on_cancel`). С `confirm: true`: отменяет заказ, возврат зачисляется на баланс. | 5 за 5 минут, включая предпросмотры |\n\nПравила возврата те же, что на сайте: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare). Шаги и защиты: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Необратимо**\n> С `confirm: true` инструмент `cancel_order` сразу удаляет сервер заказа со всеми данными — без 24-часового периода ожидания, который даёт кнопка «Удалить» в панели. Прежде чем подтверждать, прочитайте предпросмотр.\n\n### Параметры `create_order`\n\nАссистент составляет параметры сам; тариф, операционную систему и ключи можно назвать ему явно. Пример для рекомендуемого тарифа с Ubuntu 24.04 и ключом, сохранённым в аккаунте:\n\n```json\n{\n  \"source\": \"static-plan\",\n  \"plan_slug\": \"vm-iops1-m\",\n  \"config\": {\n    \"kind\": \"static-plan\",\n    \"plan_id\": \"vm-iops1-m\",\n    \"os\": \"ubuntu-24\",\n    \"ssh\": { \"key_ids\": [\"ID_КЛЮЧА\"] }\n  },\n  \"confirm\": false\n}\n```\n\nВозможные значения `plan_slug` (то же значение указывается и в `config.plan_id`) приведены ниже. Тарифы VPS имеют вид `vm-СЕМЕЙСТВО-РАЗМЕР`:\n\n| Семейство | Тарифы |\n|---|---|\n| Basic | `vm-basic1-xs`, `vm-basic1-s`, `vm-basic1-m`, `vm-basic1-l`, `vm-basic1-xl` |\n| CPU | `vm-cores30-s`, `vm-cores30-m`, `vm-cores30-l`, `vm-cores30-xl`, `vm-cores30-xxl` |\n| Стандарт | `vm-iops1-s`, `vm-iops1-m` (рекомендуемый), `vm-iops1-l`, `vm-iops1-xl` |\n| High-Frequency | `vm-hfq1-xs`, `vm-hfq1-s`, `vm-hfq1-m` |\n| High-Frequency Compute | `vm-hfq50-xs`, `vm-hfq50-s`, `vm-hfq50-m`, `vm-hfq50-l` |\n| Выделенные серверы | `dedicated-light`, `dedicated-premium`, `dedicated-storage` — их готовит команда вручную: [Выделенные серверы](#comenzi.servere-dedicate) |\n| VPS hosting | `vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou) |\n\nПоля `config`:\n\n| Поле | Значения |\n|---|---|\n| `kind` | `static-plan`, как в `source` |\n| `plan_id` | тот же тариф, что в `plan_slug` |\n| `os` | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Без `os` устанавливается Ubuntu 22.04 LTS, а не самая новая версия; для Ubuntu 24.04 укажите `ubuntu-24`. Система, которой нет в списке, получает ошибку `unsupported_os`. См. [Доступные операционные системы](#comenzi.sisteme-operare). |\n| `ssh` | `key_ids` (ID из `list_ssh_keys`), `public_keys` (вставленные ключи) и `password_auth`; не больше 10 ключей. Если ключи переданы, а `password_auth` нет, сервер создаётся «только по ключу»; `\"password_auth\": true` сохраняет вход по паролю. См. [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda). |\n| `extras` | `[\"monitoring\"]` добавляет услугу Monitoring, 98 MDL/мес.: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare). Других значений здесь не указывайте. |\n\n> **Внимание**\n> Указывайте в `extras` только `monitoring`. MCP-сервер принимает и другие коды дополнительных услуг и добавляет их к сумме заказа и к ежемесячной цене сервера, но автоматически они не подключаются: в личном кабинете, в разделе «Заказы», они остаются в состоянии «В процессе активации». Не просите ассистента добавлять в заказ другие дополнительные услуги — для них напишите в поддержку. Перед подтверждением проверьте `total_mdl` в расчёте цены: это должна быть цена тарифа плюс 98 MDL, если вы заказали мониторинг. В `line_items` расчёта только одна строка с общей суммой, поэтому услуги отдельно не видны.\n\nКонфигуратор (`source: configurator`) и старые тарифы `vps-2`, `vps-3`, `vps-4` заменены фиксированными тарифами: на них приходят ошибки `configurator_retired` и `plan_retired` соответственно. Для старого тарифа в ошибке может быть предложен близкий тариф `vm-…`. Если в расчёте цены `provisionable: false`, тариф временно недоступен и подтверждение вернёт `plan_unavailable`.\n\n## Частые вопросы\n\n**Ассистент говорит, что у него нет нужного инструмента. Почему?**\nУ токена нет нужного разрешения, поэтому инструмент скрыт. Попросите ассистента вызвать `whoami`: в поле `missing_scopes` видно, чего не хватает. Затем создайте новый токен с этим разрешением. В тексте `hint` пресет называется «AI agent — full access», а на странице это кнопка «AI-администратор — полный доступ».\n\n**Почему `status` равен `active`, хотя сервер остановлен?**\n`status` показывает только то, что сервер числится в вашем аккаунте. Запущен он или остановлен, видно в поле `power_state` инструмента `get_server`.\n\n**Можно ли пользоваться инструментами без AI-ассистента?**\nДа, из любого MCP-клиента или из кода, но только через адрес MCP: в других местах токены `bbx_pat_…` не работают. См. [Использование MCP из кода (AI API и HTTP)](#ai.conectare-din-cod).\n\n**Что значит `57800` в `balance_bani`?**\nСумма указана в банях: 57 800 бань — это 578,00 MDL.\n",
    "en": "The `blackbox` MCP server (`https://api.app.blackbox.md/mcp`) gives your AI assistant 25 tools. The assistant picks the right tool on its own once you describe the task; you decide which tools it may use through the token's permissions. You create the token on blackbox.md, under “Contul meu” (My account) → “Token-uri API” (API tokens), at `blackbox.md/account/api-tokens`.\n\n**Available to:** the blackbox.md account holder, through an AI assistant connected with an API token. The tools work only with the data of the account that created the token.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to read the tables\n\n- **Permission:** the code of the permission the token must have; “—” means no permission is needed. To see which checkbox on the “Token-uri de acces (API)” (Access tokens (API)) page matches each code, read [Token permissions (scopes)](#ai.permisiuni).\n- **Parameters:** the data the assistant sends to the tool. You don't type them yourself, but it helps to recognize them when your AI client asks you to approve a call.\n- **Limit:** how many calls are allowed for the whole account, across all its tokens combined. These limits are counted separately from those of the app.blackbox.md panel. In addition, all tools except `whoami` and `list_vm_plans` share a combined limit of 120 calls per minute.\n- **Amounts:** `…_mdl` fields are in whole MDL, and `…_bani` fields are in bani, hundredths of a leu (1 MDL = 100 bani).\n\n## Common behavior\n\n| Situation | Tool response | What to do |\n|---|---|---|\n| The token doesn't have the required permission | The tool doesn't appear in the assistant's list; a direct call gets `missing_scope: this token does not have '…'`, with the permission name. | Create a new token with the missing permission: you can't add permissions to an existing token. |\n| The ID doesn't exist or belongs to another account | `not_found`, deliberately the same response in both cases | Ask the assistant to take the ID from `list_servers`, `list_orders` or `list_ssh_keys`. |\n| The ID has the wrong format | `invalid_server_id`, `invalid_order_id` or `invalid_key_id` | Same as above. |\n| Too many calls | `rate_limited` | Wait: calls made while the limit is exceeded also count. |\n| Unexpected error at BLACKBOX | `internal_error` | Retry once at most. If it happens again, write to support with the tool name and the time. |\n| During an upgrade or the cancellation of an order with a server, the infrastructure service is temporarily unavailable | an error reporting this unavailability | Retry in a few minutes. |\n\nBesides the servers you ordered, `list_servers` may also show company servers that BLACKBOX has given you access to. When `can_manage` is `false`, the server is read-only (in the panel it has the “Managed” badge), and the control tools don't work on it. If BLACKBOX has granted you management rights, the `capabilities` field shows the allowed actions; upgrades are not available for these servers.\n\nAll error codes, with explanations: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Discovery and reading\n\n| Tool | Permission | Parameters | What it does / returns | Limit |\n|---|---|---|---|---|\n| `whoami` | — | — | Confirms the account: the account ID (`customer_id`), the token's permissions (`scopes`), the missing permissions (`missing_scopes`) and a hint in English (`hint`). It does not return your email or name. | — |\n| `list_vm_plans` | — | — | The 21 VPS plans: `slug`, name (for example “Standard M”), family, vCPU, RAM (GB), disk (GB), monthly price in MDL (`price_mdl`) and `recommended` for the recommended plan. | — |\n| `list_servers` | `servers:read` | — | Your servers: `id` (used by all server tools), name, IP, plan, creation date, SSH login method (`auth_method`: `key`, `password` or empty), private name (`label`), `can_manage` and `capabilities`. | 60 per minute |\n| `get_server` | `servers:read` | `server_id` | The same server, plus the SSH port, whether saved credentials exist (`has_credentials`) and the actual `power_state`: `running`, `shutdown`, `paused`, `crashed`, `suspended`, `nostate`, or empty if it can't be read. | 60 per minute |\n| `get_balance` | `billing:read` | — | The balance in bani (`balance_bani`), the currency `MDL`, and whether automatic payment from the balance is on (`autopay_enabled`). | 60 per minute |\n| `list_transactions` | `billing:read` | `limit` (1–100, default 20), `offset` | Balance movements, newest first: the amount and the balance after the operation (in bani), the type (`topup`, `order_payment`, `invoice_payment`, `adjustment`, `refund`), the description, the linked order or invoice and the date; plus the total count. | 30 per minute |\n| `list_orders` | `billing:read` | `limit`, `offset` | Orders: the `BBX-…` number (`reference`), status, plan, total in MDL, date, description, add-on services with their status, server creation state (`provisioning_state`), IP, `server_id`, and whether the order can be canceled (`cancellable`). | 30 per minute |\n| `list_invoices` | `billing:read` | `limit`, `offset` | Invoices: number, status, currency, total, description, issue date, due date and payment date. | 30 per minute |\n\nPlans, with specifications and prices: [VPS plans: how to choose](#comenzi.planuri-vps). You set the private name in the panel: [Renaming a server (private name)](#servere.redenumire).\n\n`list_servers` does not include the order number. To find out which order a server came from, ask the assistant to call `list_orders` and look for the order whose `server_id` equals the server's `id`.\n\n### Statuses in responses\n\nThe tools return codes in English. The table shows their label on blackbox.md or, where the site has no label, what they mean:\n\n| Field | Codes | On blackbox.md |\n|---|---|---|\n| Order status (`list_orders`) | `new`, `in_progress`, `done`, `cancelled` | “Nou” (New), “În lucru” (In progress), “Finalizat” (Completed), “Anulat” (Canceled) |\n| Add-on service status (`list_orders`) | `pending`, `active`, `attention`, `cancelled` | “În curs de activare” (Activating), “Activ” (Active), “Contactați suportul” (Contact support), “Anulat” (Canceled) |\n| Invoice status (`list_invoices`) | `sent`, `overdue`, `paid`, `cancelled` | “Trimisă” (Sent), “Restantă” (Overdue), “Achitată” (Paid), “Anulată” (Canceled) |\n| Server creation (`provisioning_state`) | `provisioning`, `active`, `failed`, `terminated` | no label on the site: the server is being created, is ready, creation failed, the server has been deleted |\n\n## Server control\n\n| Tool | Permission | Parameters | What it does / returns | Limit |\n|---|---|---|---|---|\n| `reveal_server_credentials` | `servers:credentials` | `server_id` | The saved root username and password, with the date they were saved, like the “Reveal credentials” button in the panel. The password is not read from the server. | 20 per minute |\n| `reset_server_password` | `servers:credentials` | `server_id` | Generates a new root password, applies it on the server and returns it, like the “Reset password” button. The old password stops working from that moment. | 3 in 5 minutes |\n| `power_server` | `servers:power` | `server_id`, `action`: `reboot`, `stop` or `start` | Reboots, stops or starts the server. It replies immediately with `status: accepted`, and the action continues in the background; check the result with `get_server` (`power_state`). | 6 per minute |\n| `run_server_command` | `servers:exec` | `server_id`, `command` (1–8,192 characters), `timeout_seconds` (1–300, default 60) | Runs the command as `root`, without an interactive terminal and without your password or key. Returns `exit_code`, `stdout` and `stderr` (up to 64,000 characters each), `duration_ms` and `timed_out`. | 30 per minute |\n| `get_server_ssh_access` | `servers:credentials` | `server_id`, `regenerate` (default `false`) | Installs the AI agent key for `root` (comment `blackbox-agent-…`) and returns the host, the port, the user `root`, the private and public keys, the fingerprint and a ready-to-use `ssh -i …` command. Every call returns the same key; `regenerate: true` creates a new one and deletes the old one. | 10 in 5 minutes |\n| `get_server_resize_options` | `servers:read` | `server_id` | The plans in the same family you can upgrade to (no resource decreases), the new monthly price, the amount you would pay now for the rest of the month, and your balance. It changes nothing. | only the combined limit |\n| `resize_server` | `orders:write` | `server_id`, `target_flavor` (an option from `get_server_resize_options`), `confirm` (default `false`) | Without confirmation: a preview with the price and `confirm_required: true`, with no changes. With `confirm: true`: pays the difference from your balance and restarts the server on the new plan (a few minutes of downtime; the IP and data stay). Returns `job_id` and `state: queued`. | 3 in 10 minutes, previews included |\n\n- **`power_server`.** The reboot is a normal one, not a forced one; after `reboot`, the server usually responds again within 30–60 seconds. On some company servers that you have management rights for, only a reboot is possible (the other actions return `no_instance_id`). See also [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n- **`reset_server_password`.** On a “Key-only” server, the password changes, but SSH password login stays disabled: [Resetting the root password](#acces.resetare-parola-root).\n- **`run_server_command`.** A timeout is not an error: you get `timed_out: true`, and the process may keep running on the server. Details: [Running commands on the server through AI](#ai.comenzi-pe-server).\n- **`get_server_ssh_access`.** There is one agent key per server, shared by all your tokens: [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n- **Upgrade.** Only to a larger plan, never the other way around. “VPS hosting” plans and dedicated servers return `not_upgradeable_plan` (upgrade through support). If your balance is not enough, `insufficient_balance` already appears at the preview. See [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n> **Security**\n> `reveal_server_credentials`, `reset_server_password` and `get_server_ssh_access` return passwords and private keys in plain text. They reach the AI client and the AI model provider. Grant `servers:credentials` only when you need it, and ask the assistant not to display secrets in the conversation.\n\n## SSH keys\n\nKeys saved in your account, on the “Chei SSH” (SSH keys) page ([SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont)), and keys installed on a server, in `/root/.ssh/authorized_keys` ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)), are managed with different tools. Deleting a key in one place does not remove it from the other.\n\n| Tool | Permission | Parameters | What it does / returns | Limit |\n|---|---|---|---|---|\n| `list_ssh_keys` | `ssh_keys:read` | — | The keys saved in your account: `id`, name, type, fingerprint, number of bits, comment, date added and date last used; plus their count and the limit of 20. | 30 per minute |\n| `add_ssh_key` | `ssh_keys:write` | `name` (1–80 characters, on one line), `public_key` (a single line of an OpenSSH public key) | Saves the key in your account without installing it on any server. Accepted types: `ssh-ed25519`, `ssh-rsa` (at least 2048 bits), `ecdsa-sha2-nistp256/384/521` and `sk-…` hardware keys. At most 20 keys per account. | 10 per hour |\n| `delete_ssh_key` | `ssh_keys:write` | `key_id` | Deletes the key from your account. It does not remove the key from the servers where it is installed. | 20 per hour |\n| `add_server_ssh_key` | `servers:credentials` | `server_id` and exactly one of `key_id` (a saved key) or `public_key` (a pasted key) | Adds the key for `root` on the server. Returns `added` or `already_present` (the key was already there; nothing changes). | 10 in 5 minutes |\n| `list_server_ssh_keys` | `servers:credentials` | `server_id` | The keys installed for `root`: type, fingerprint, comment, which one is the management key (`is_management`) and which one is the agent key (`is_agent`), whether it can be deleted (`removable`), how many lines were skipped, and whether password login is enabled. | 30 per minute |\n| `remove_server_ssh_key` | `servers:credentials` | `server_id` and exactly one of `key_id`, `fingerprint` (from `list_server_ssh_keys`) or `public_key` | Removes the key from the server. Returns `removed` or `not_present`. | 10 in 5 minutes |\n| `set_server_password_auth` | `servers:credentials` | `server_id`, `enabled` (`true` or `false`) | Enables or disables SSH password login, like the “Enable password login” and “Disable password login” buttons. It checks the SSH configuration before reloading and returns the effective state (`effective`: `yes` or `no`). | 5 in 5 minutes |\n\nProtections against losing access:\n\n- `remove_server_ssh_key` refuses to remove the management key (`management_key_protected`) and the last key on a “Key-only” server (`last_key_on_key_only_server`).\n- `set_server_password_auth` refuses to disable password login if none of your keys is on the server (`no_customer_key_installed`).\n\n## Money: orders, payments and cancellations\n\nAll three tools require `orders:write`. Payments and refunds go only through your balance: the assistant can't top up your balance or pay by card.\n\n| Tool | Permission | Parameters | What it does / returns | Limit |\n|---|---|---|---|---|\n| `create_order` | `orders:write` | `source` (`static-plan`), `plan_slug`, `config`, `confirm` (default `false`) | Without confirmation: a quote (`quote`, with the total in MDL and `provisionable`), without creating anything. With `confirm: true` and the same parameters: an order with the status `new` and a `BBX-…` number, unpaid. BLACKBOX always calculates the price. The same confirmation repeated within 5 minutes returns the same order. | 20 per hour, quotes included |\n| `pay_order` | `orders:write` | `order_id`, `confirm_total_mdl` (the current total, in MDL) | Pays an order with the status `new` from your balance. If the amount differs from the current total: `price_changed`, and nothing is paid. Replies with the status `in_progress`, the transaction ID and the remaining balance (in bani). Servers on `vm-…` plans then start being created automatically. | 10 per minute |\n| `cancel_order` | `orders:write` | `order_id`, `confirm` (default `false`) | Without confirmation: a preview with the refund amount (`refund_mdl`), the refund policy, and whether the server will be deleted (`server_terminated_on_cancel`). With `confirm: true`: cancels the order, and the refund goes to your balance. | 5 in 5 minutes, previews included |\n\nThe refund rules are the same as on the website: [Order cancellation and refunds](#plati.anulare-si-rambursare). Steps and protections: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n> **Irreversible**\n> With `confirm: true`, `cancel_order` immediately deletes the order's server and all the data on it, without the 24-hour grace period of the “Terminate” button in the panel. Read the preview before you confirm.\n\n### Parameters for `create_order`\n\nThe assistant builds the parameters itself; you can explicitly tell it the plan, the operating system and the keys. Example for the recommended plan, with Ubuntu 24.04 and a key saved in your account:\n\n```json\n{\n  \"source\": \"static-plan\",\n  \"plan_slug\": \"vm-iops1-m\",\n  \"config\": {\n    \"kind\": \"static-plan\",\n    \"plan_id\": \"vm-iops1-m\",\n    \"os\": \"ubuntu-24\",\n    \"ssh\": { \"key_ids\": [\"KEY_ID\"] }\n  },\n  \"confirm\": false\n}\n```\n\nThe possible values for `plan_slug` (the same value also goes in `config.plan_id`) are listed below. VPS plans have the form `vm-FAMILY-SIZE`:\n\n| Family | Plans |\n|---|---|\n| Basic | `vm-basic1-xs`, `vm-basic1-s`, `vm-basic1-m`, `vm-basic1-l`, `vm-basic1-xl` |\n| CPU | `vm-cores30-s`, `vm-cores30-m`, `vm-cores30-l`, `vm-cores30-xl`, `vm-cores30-xxl` |\n| Standard | `vm-iops1-s`, `vm-iops1-m` (recommended), `vm-iops1-l`, `vm-iops1-xl` |\n| High-Frequency | `vm-hfq1-xs`, `vm-hfq1-s`, `vm-hfq1-m` |\n| High-Frequency Compute | `vm-hfq50-xs`, `vm-hfq50-s`, `vm-hfq50-m`, `vm-hfq50-l` |\n| Dedicated servers | `dedicated-light`, `dedicated-premium`, `dedicated-storage`, prepared manually by our team: [Dedicated servers](#comenzi.servere-dedicate) |\n| VPS hosting | `vps-hosting-1`, `vps-hosting-2`, `vps-hosting-3`: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou) |\n\nThe fields in `config`:\n\n| Field | Values |\n|---|---|\n| `kind` | `static-plan`, the same as `source` |\n| `plan_id` | the same plan as in `plan_slug` |\n| `os` | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Without `os`, Ubuntu 22.04 LTS is installed, not the newest version; for Ubuntu 24.04, specify `ubuntu-24`. A system that is not on the list gets `unsupported_os`. See [Available operating systems](#comenzi.sisteme-operare). |\n| `ssh` | `key_ids` (IDs from `list_ssh_keys`), `public_keys` (pasted keys) and `password_auth`; at most 10 keys. With keys and without `password_auth`, the server is created “key-only”; `\"password_auth\": true` keeps password login. See [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda). |\n| `extras` | `[\"monitoring\"]` adds the Monitoring service, 98 MDL/month: [Add-on services for your server](#servicii.servicii-suplimentare). It is the only value you put here. |\n\n> **Warning**\n> Put only `monitoring` in `extras`. The MCP server also accepts other add-on service codes and adds them to the total and to the server's monthly price, but they are not activated automatically: in “Contul meu” (My account) → “Comenzi” (Orders) they stay “În curs de activare” (Activating). Don't ask the assistant to add other add-on services to the order; for those, write to support. Before you confirm, check `total_mdl` in the quote: it must be the plan price, plus 98 MDL if you asked for monitoring. The quote has a single line in `line_items`, with the total, so the add-on services don't appear separately.\n\nThe custom configurator (`source: configurator`) and the old plans `vps-2`, `vps-3` and `vps-4` have been replaced by the fixed plans: they return `configurator_retired` and `plan_retired`, respectively. For an old plan, the error may suggest a similar `vm-…` plan. If the quote shows `provisionable: false`, the plan is temporarily unavailable, and the confirmation returns `plan_unavailable`.\n\n## Frequently asked questions\n\n**The assistant says it doesn't have a certain tool. Why?**\nThe token doesn't have the required permission, so the tool is hidden. Ask the assistant to call `whoami`: the `missing_scopes` field shows what is missing. Then create a new token with that permission. In the `hint` text, the preset appears as “AI agent — full access”; on the page, the button is called “AI-administrator — acces complet” (AI administrator — full access).\n\n**Why is `status` `active` even though the server is stopped?**\n`status` only shows that the server is active in your account. To see whether the server is running or stopped, check the `power_state` field in `get_server`.\n\n**Can I call the tools without an AI assistant?**\nYes, from any MCP client or from code, but only through the MCP address: `bbx_pat_…` tokens don't work anywhere else. See [Using MCP from code (AI APIs and HTTP)](#ai.conectare-din-cod).\n\n**What does `57800` in `balance_bani` mean?**\nThe amount is in bani: 57,800 bani means 578.00 MDL.\n"
   }
  },
  {
   "id": "ai.exemple-sarcini",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/exemple-sarcini/",
    "ru": "https://docs.blackbox.md/ru/ai/exemple-sarcini/",
    "en": "https://docs.blackbox.md/en/ai/exemple-sarcini/"
   },
   "title": {
    "ro": "Exemple de sarcini pentru asistentul AI și permisiunile necesare",
    "ru": "Примеры задач для AI-ассистента и нужные разрешения",
    "en": "Example tasks for the AI assistant and the permissions they need"
   },
   "summary": {
    "ro": "Formulări gata de folosit pentru servere, chei SSH, comenzi și sold, cu uneltele folosite și permisiunile pe care trebuie să le aibă token-ul.",
    "ru": "Готовые формулировки для серверов, SSH-ключей, заказов и баланса — с используемыми инструментами и разрешениями токена.",
    "en": "Ready-to-use requests for servers, SSH keys, orders and your balance, with the tools used and the permissions the token must have."
   },
   "markdown": {
    "ro": "Aici găsiți formulări gata de folosit pentru asistentul AI conectat la contul dvs. prin MCP (`https://api.app.blackbox.md/mcp`). Pentru fiecare sarcină sunt indicate uneltele pe care le apelează asistentul și permisiunile de care are nevoie token-ul. Permisiunile le alegeți la crearea token-ului, în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`).\n\n**Disponibil pentru:** titularul contului blackbox.md, cu un asistent AI conectat printr-un token API ([Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude) sau [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor)).\n\n## Începeți cu „Apelează whoami”\n\n1. La începutul fiecărei sesiuni, scrieți asistentului: „Apelează whoami”. Unealta `whoami` nu cere nicio permisiune.\n2. Asistentul confirmă că token-ul funcționează și vă arată ce permisiuni are (`scopes`) și ce permisiuni îi lipsesc (`missing_scopes`). Dacă nu lipsește nimic, unealta răspunde „All scopes granted — every tool is available.”\n3. Dacă lipsește o permisiune de care are nevoie sarcina dvs., creați un token nou cu permisiunea respectivă și înlocuiți-l în clientul AI. Permisiunile unui token existent nu se pot extinde. Vedeți [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n\nUneltele pentru care token-ul nu are permisiune nici nu apar în lista asistentului. De aceea, uneori asistentul spune doar că „nu are” unealta potrivită.\n\n## Exemplele de pe blackbox.md/info/mcp\n\nPagina `blackbox.md/info/mcp` publică trei exemple de cereri:\n\n```text\nArată-mi serverele mele BLACKBOX și statusul lor\nCare este soldul meu și ce facturi am neplătite?\nInstalează nginx pe serverul meu\n```\n\nLe găsiți și în tabelele de mai jos, cu permisiunile necesare.\n\n## Permisiunile din tabele\n\n| Cod | Bifa din formularul „Token nou” | Bifată implicit |\n|---|---|---|\n| `servers:read` | „Citește lista și statusul serverelor mele” | da |\n| `billing:read` | „Citește soldul, facturile și comenzile” | da |\n| `ssh_keys:read` | „Citește lista cheilor mele SSH” | da |\n| `servers:power` | „Controlează alimentarea serverelor (repornire/oprire/pornire)” | nu |\n| `servers:credentials` | „Vizualizează parolele/accesul serverelor” | nu |\n| `servers:exec` | „Rulează orice comandă ca root pe serverele mele” | nu |\n| `orders:write` | „Plasează și modifică comenzi în numele meu” | nu |\n\nButonul „AI-administrator — acces complet” bifează toate permisiunile, inclusiv „Adaugă și șterge cheile mele SSH” (`ssh_keys:write`).\n\n## Sarcini gata de folosit\n\nScrieți sarcina cu cuvintele dvs.: formulările de mai jos sunt modele. Dacă aveți mai multe servere, numiți serverul (numele din panou sau adresa IP). Asistentul îl găsește singur cu `list_servers`, de aceea sarcinile pe server cer și `servers:read`.\n\n### Citire\n\n| Sarcina | Ce scrieți | Unelte | Permisiuni |\n|---|---|---|---|\n| Serverele și statusul lor | „Arată-mi serverele mele BLACKBOX și statusul lor” | `list_servers`, `get_server` | `servers:read` |\n| Soldul și facturile neplătite | „Care este soldul meu și ce facturi am neplătite?” | `get_balance`, `list_invoices` | `billing:read` |\n| Ultimele tranzacții | „Arată-mi ultimele 10 tranzacții din sold” | `list_transactions` | `billing:read` |\n| Planuri și prețuri | „Ce planuri VPS aveți cu 4 vCPU și cât costă?” | `list_vm_plans` | niciuna |\n\n### Servere și acces\n\n| Sarcina | Ce scrieți | Unelte | Permisiuni |\n|---|---|---|---|\n| Repornire cu verificare | „Repornește serverul meu și spune-mi când răspunde din nou” | `power_server`, apoi `get_server` | `servers:power`, `servers:read` |\n| Spațiul pe disc | „Arată-mi cât spațiu este ocupat pe discul serverului meu și cele mai mari 20 de directoare” | `run_server_command` | `servers:exec`, `servers:read` |\n| Instalarea nginx | „Instalează nginx pe serverul meu” | `run_server_command` | `servers:exec`, `servers:read` |\n| Doar cheia de pe laptop, fără parolă | „Pe serverul meu lasă doar cheia SSH «Laptop» din cont și dezactivează autentificarea cu parolă. Arată-mi întâi ce vei face și așteaptă confirmarea mea.” | `list_ssh_keys`, `add_server_ssh_key`, apoi `set_server_password_auth`; pentru celelalte chei, `list_server_ssh_keys` și `remove_server_ssh_key` | `servers:credentials`, `servers:read`, `ssh_keys:read` |\n| Ștergerea unei chei vechi | „Ce chei SSH sunt instalate pe serverul meu? Șterge-o pe cea numită old-laptop.” | `list_server_ssh_keys`, apoi `remove_server_ssh_key` | `servers:credentials`, `servers:read` |\n| Comandă SSH pentru rsync | „Dă-mi o comandă SSH ca să copiez fișiere cu rsync pe serverul meu” | `get_server_ssh_access` | `servers:credentials`, `servers:read` |\n\n- **Repornirea:** `power_server` doar acceptă cererea. Asistentul verifică apoi cu `get_server` că starea `power_state` este `running`. SSH și serviciile pot avea nevoie de încă 30–60 de secunde.\n- **Cheile:** pe server, o cheie se recunoaște după comentariul de la sfârșitul liniei ei (de exemplu `old-laptop`). Cheile salvate pe pagina „Chei SSH” asistentul le găsește după nume, cu `list_ssh_keys`. „Cheie de administrare (blackbox.md)” rămâne întotdeauna pe server și nu se poate șterge.\n- **rsync:** asistentul primește o cheie SSH dedicată, pe care BLACKBOX o instalează pe server, și o comandă `ssh` gata de folosit. Detalii: [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n\n### Bani și comenzi\n\n| Sarcina | Ce scrieți | Unelte | Permisiuni |\n|---|---|---|---|\n| Ofertă pentru un server nou | „Fă o ofertă pentru un server Standard M cu Ubuntu 24.04 și cheia mea SSH, apoi așteaptă confirmarea mea” | `list_vm_plans`, `list_ssh_keys`, `create_order` fără confirmare | `orders:write`, `ssh_keys:read` |\n| Plata unei comenzi | „Achită din sold comanda BBX-2026-000123” | `list_orders`, apoi `pay_order` | `orders:write`, `billing:read` |\n| Cât se returnează la anulare | „Cât mi s-ar returna dacă anulez comanda BBX-2026-000123? Nu anula nimic încă.” | `list_orders`, apoi `cancel_order` fără confirmare | `orders:write`, `billing:read` |\n| Upgrade după verificarea prețului | „Fă upgrade serverului la planul următor, dar arată-mi întâi prețul” | `get_server_resize_options`, apoi `resize_server` fără confirmare | `servers:read`, `orders:write` |\n\n- **Oferta:** `create_order` fără confirmare doar calculează totalul și nu creează nimic. După acordul dvs., asistentul repetă apelul cu `confirm=true`, iar comanda apare în „Comenzi” cu statusul „Nou”. Banii se retrag abia la `pay_order`.\n- **Plata și anularea:** asistentul găsește comanda după număr cu `list_orders`, care îi dă și totalul curent, cerut de `pay_order`.\n- **Upgrade-ul:** doar spre un plan mai mare din aceeași familie, cu plata din sold. La confirmare serverul repornește, iar întreruperea durează câteva minute.\n\nToate detaliile: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n## Bani și acțiuni ireversibile: cereți întâi o previzualizare\n\nInstrucțiunile pe care BLACKBOX le dă asistentului stabilesc când vă cere acordul și când acționează direct. Sunt instrucțiuni, nu o blocare tehnică, de aceea cereți și dvs. pauza în mesaj.\n\n| Situația | Ce face asistentul |\n|---|---|\n| Bani: plasarea comenzii (`create_order` cu `confirm=true`), plata (`pay_order`), upgrade-ul (`resize_server` cu `confirm=true`) | vă cere confirmarea |\n| Date și acces: anularea comenzii (`cancel_order` cu `confirm=true`), ștergerea unei chei de pe server, dezactivarea autentificării cu parolă, înlocuirea cheii de acces SSH a asistentului | vă cere confirmarea |\n| Restul: citirea datelor, comenzile pe server, instalarea programelor, repornirea pe care ați cerut-o | acționează direct și vă spune rezultatul |\n\nCum lucrați în siguranță:\n\n1. Cereți întâi oferta sau previzualizarea și adăugați în cerere „așteaptă confirmarea mea”.\n2. Citiți ce vă arată asistentul: totalul în MDL, planul și sistemul de operare; la anulare, suma returnată în sold și dacă se șterge un server; la chei, ce chei rămân pe server.\n3. Confirmați explicit, într-un mesaj separat.\n4. Când clientul AI vă cere aprobarea pentru apel, verificați că parametrii sunt cei confirmați.\n\nFormulări care opresc asistentul înainte de pasul important:\n\n```text\nFă o ofertă și așteaptă confirmarea mea înainte de a plasa sau a plăti comanda.\nArată-mi doar previzualizarea anulării, fără să confirmi nimic.\nSpune-mi ce chei vei șterge și ce rămâne pe server, apoi așteaptă confirmarea mea.\nArată-mi comanda pe care vrei s-o rulezi și așteaptă confirmarea mea.\n```\n\n> **Important**\n> Fereastra de aprobare o afișează clientul AI, nu BLACKBOX. Nu alegeți pentru unelte opțiunea de a le permite întotdeauna, fără întrebare, mai ales pentru `create_order`, `pay_order`, `cancel_order`, `resize_server`, `remove_server_ssh_key`, `set_server_password_auth` și `run_server_command`. Înainte să dezactivați autentificarea cu parolă, verificați într-un terminal nou că vă conectați cu propria cheie: clienții nu au consolă web sau VNC ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)).\n\n> **Ireversibil**\n> Dacă o comandă are un server, anularea ei confirmată șterge serverul imediat, cu toate datele, fără perioadă de grație. Cereți întotdeauna întâi previzualizarea: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n## Sarcini lungi\n\nAsistentul așteaptă o singură comandă pe server cel mult 300 de secunde (implicit 60). Când timpul expiră, rezultatul vine cu `timed_out: true`, iar comanda poate rula în continuare pe server. Pentru lucrări lungi (actualizarea sistemului, un backup, o compilare), cereți explicit pornirea în fundal, cu `nohup` sau `systemd-run`:\n\n```text\nPornește în fundal, cu nohup, actualizarea sistemului pe serverul meu, cu ieșirea în /root/upgrade.log, și nu aștepta să se termine.\n```\n\nMai târziu:\n\n```text\nVerifică dacă actualizarea de pe serverul meu s-a terminat și arată-mi ultimele 30 de rânduri din /root/upgrade.log.\n```\n\nDupă `timed_out: true`, nu cereți repetarea aceleiași comenzi: cereți întâi o verificare. Detalii: [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server).\n\n## Ce nu poate face asistentul\n\n| Sarcina | Unde o faceți |\n|---|---|\n| Tichetele de suport | blackbox.md, „Contul meu” → „Ajutor și suport”: [Deschiderea unui tichet de suport](#suport.tichet-nou) |\n| Alimentarea soldului | blackbox.md: [Alimentarea soldului](#plati.alimentare-sold) |\n| Plata facturilor | [Plata automată a facturilor din sold](#plati.plata-automata) sau [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar) |\n| Înregistrările DNS | panoul app.blackbox.md: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari) |\n| Monitorizarea și alertele | panoul: [Pagina „Monitorizare”](#servicii.monitorizare) |\n| Redenumirea serverului | panoul: [Redenumirea serverului (nume privat)](#servere.redenumire) |\n| Reinstalarea sistemului de operare | la cerere, prin suport: [Sistemele de operare disponibile](#comenzi.sisteme-operare) |\n\nLista completă: [Integrarea AI (MCP): ce este și ce poate face](#ai.ce-este-mcp).\n\n## Întrebări frecvente\n\n**Asistentul spune că nu are unealta potrivită sau primește `missing_scope`. Ce fac?**\nToken-ul nu are permisiunea necesară; eroarea o numește. Creați un token nou cu acea permisiune și înlocuiți-l în clientul AI: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n**Trebuie să-i dau asistentului id-ul serverului?**\nNu. Numiți serverul după nume sau adresa IP; asistentul ia id-ul din `list_servers`. Pentru asta token-ul are nevoie de `servers:read`.\n\n**Pot folosi un singur token pentru toate exemplele?**\nDa, cu „AI-administrator — acces complet”. Este mai sigur să folosiți zilnic un token doar pentru citire și să creați un token cu acces complet doar când aveți nevoie de el: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n**Asistentul primește `rate_limited`. De ce?**\nAți depășit limita unei unelte. Previzualizările se numără și ele: `create_order` acceptă 20 de apeluri pe oră, `cancel_order` 5 în 5 minute, `resize_server` 3 în 10 minute. Așteptați și nu repetați apelul în buclă: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n",
    "ru": "Здесь собраны готовые формулировки для AI-ассистента, подключённого к вашему аккаунту через MCP (`https://api.app.blackbox.md/mcp`). Для каждой задачи указаны инструменты, которые вызывает ассистент, и разрешения, которые нужны токену. Разрешения выбираются при создании токена в разделе «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`).\n\n**Доступно:** владельцу аккаунта blackbox.md с AI-ассистентом, подключённым по API-токену ([Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude) или [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor)).\n\n## Начните с «Вызови whoami»\n\n1. В начале каждой сессии напишите ассистенту: «Вызови whoami». Инструмент `whoami` не требует разрешений.\n2. Ассистент подтвердит, что токен работает, и покажет, какие разрешения у токена есть (`scopes`) и каких не хватает (`missing_scopes`). Если у токена есть все разрешения, инструмент отвечает «All scopes granted — every tool is available.»\n3. Если для вашей задачи не хватает разрешения, создайте новый токен с этим разрешением и замените им старый в AI-клиенте. Расширить разрешения существующего токена нельзя. См. [Разрешения токенов (scopes)](#ai.permisiuni).\n\nИнструменты, на которые у токена нет разрешения, ассистент даже не видит. Поэтому иногда он просто отвечает, что подходящего инструмента у него «нет».\n\n## Примеры со страницы blackbox.md/ru/info/mcp\n\nНа странице `blackbox.md/ru/info/mcp` опубликованы три примера запросов:\n\n```text\nПокажи мои серверы BLACKBOX и их статус\nКакой у меня баланс и какие счета не оплачены?\nУстанови nginx на мой сервер\n```\n\nОни же есть в таблицах ниже, с нужными разрешениями.\n\n## Разрешения из таблиц\n\n| Код | Флажок в форме «Новый токен» | Отмечен по умолчанию |\n|---|---|---|\n| `servers:read` | «Читать список и статус моих серверов» | да |\n| `billing:read` | «Читать баланс, счета и заказы» | да |\n| `ssh_keys:read` | «Читать список моих SSH-ключей» | да |\n| `servers:power` | «Управлять питанием серверов (перезагрузка/выкл/вкл)» | нет |\n| `servers:credentials` | «Просматривать пароли/доступы к серверам» | нет |\n| `servers:exec` | «Выполнять любые команды от root на моих серверах» | нет |\n| `orders:write` | «Оформлять и изменять заказы от моего имени» | нет |\n\nКнопка «AI-администратор — полный доступ» отмечает все разрешения, включая «Добавлять и удалять мои SSH-ключи» (`ssh_keys:write`).\n\n## Готовые задачи\n\nОписывайте задачу своими словами: формулировки ниже — лишь образцы. Если серверов несколько, назовите нужный (имя из панели или IP-адрес). Ассистент сам найдёт его через `list_servers`, поэтому для задач на сервере нужно ещё и разрешение `servers:read`.\n\n### Чтение\n\n| Задача | Что написать | Инструменты | Разрешения |\n|---|---|---|---|\n| Серверы и их статус | «Покажи мои серверы BLACKBOX и их статус» | `list_servers`, `get_server` | `servers:read` |\n| Баланс и неоплаченные счета | «Какой у меня баланс и какие счета не оплачены?» | `get_balance`, `list_invoices` | `billing:read` |\n| Последние операции | «Покажи последние 10 операций по балансу» | `list_transactions` | `billing:read` |\n| Тарифы и цены | «Какие тарифы VPS с 4 vCPU у вас есть и сколько они стоят?» | `list_vm_plans` | не требуются |\n\n### Серверы и доступ\n\n| Задача | Что написать | Инструменты | Разрешения |\n|---|---|---|---|\n| Перезагрузка с проверкой | «Перезагрузи мой сервер и скажи, когда он снова ответит» | `power_server`, затем `get_server` | `servers:power`, `servers:read` |\n| Место на диске | «Покажи, сколько места занято на диске моего сервера, и 20 самых больших каталогов» | `run_server_command` | `servers:exec`, `servers:read` |\n| Установка nginx | «Установи nginx на мой сервер» | `run_server_command` | `servers:exec`, `servers:read` |\n| Только ключ с ноутбука, без пароля | «Оставь на моём сервере только SSH-ключ „Laptop“ из аккаунта и отключи вход по паролю. Сначала покажи, что сделаешь, и дождись моего подтверждения.» | `list_ssh_keys`, `add_server_ssh_key`, затем `set_server_password_auth`; для остальных ключей — `list_server_ssh_keys` и `remove_server_ssh_key` | `servers:credentials`, `servers:read`, `ssh_keys:read` |\n| Удаление старого ключа | «Какие SSH-ключи установлены на моём сервере? Удали тот, что называется old-laptop.» | `list_server_ssh_keys`, затем `remove_server_ssh_key` | `servers:credentials`, `servers:read` |\n| SSH-команда для rsync | «Дай мне SSH-команду, чтобы копировать файлы на мой сервер через rsync» | `get_server_ssh_access` | `servers:credentials`, `servers:read` |\n\n- **Перезагрузка:** `power_server` только принимает запрос. Затем ассистент через `get_server` проверяет, что `power_state` равно `running`. SSH и службам может понадобиться ещё 30–60 секунд.\n- **Ключи:** на сервере ключ узнают по комментарию в конце его строки (например, `old-laptop`). Ключи, сохранённые на странице «SSH-ключи», ассистент находит по названию через `list_ssh_keys`. «Ключ управления (blackbox.md)» всегда остаётся на сервере, удалить его нельзя.\n- **rsync:** ассистент получает отдельный SSH-ключ, который BLACKBOX устанавливает на сервер, и готовую команду `ssh`. Подробнее: [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n\n### Деньги и заказы\n\n| Задача | Что написать | Инструменты | Разрешения |\n|---|---|---|---|\n| Расчёт нового сервера | «Сделай расчёт для сервера Standard M с Ubuntu 24.04 и моим SSH-ключом и дождись моего подтверждения» | `list_vm_plans`, `list_ssh_keys`, `create_order` без подтверждения | `orders:write`, `ssh_keys:read` |\n| Оплата заказа | «Оплати с баланса заказ BBX-2026-000123» | `list_orders`, затем `pay_order` | `orders:write`, `billing:read` |\n| Сколько вернётся при отмене | «Сколько мне вернётся, если я отменю заказ BBX-2026-000123? Пока ничего не отменяй.» | `list_orders`, затем `cancel_order` без подтверждения | `orders:write`, `billing:read` |\n| Апгрейд после проверки цены | «Сделай апгрейд сервера до следующего тарифа, но сначала покажи цену» | `get_server_resize_options`, затем `resize_server` без подтверждения | `servers:read`, `orders:write` |\n\n- **Расчёт:** `create_order` без подтверждения только считает сумму и ничего не создаёт. После вашего согласия ассистент повторяет вызов с `confirm=true`, и заказ появляется в разделе «Заказы» со статусом «Новый». Деньги списываются только при `pay_order`.\n- **Оплата и отмена:** ассистент находит заказ по номеру через `list_orders` — оттуда же он берёт текущую сумму, которую требует `pay_order`.\n- **Апгрейд:** только на больший тариф той же линейки, с оплатой с баланса. После подтверждения сервер перезагружается, простой длится несколько минут.\n\nВсе подробности: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n## Деньги и необратимые действия: сначала просите предварительный расчёт\n\nИнструкции, которые BLACKBOX передаёт ассистенту, определяют, когда он спрашивает вашего согласия, а когда действует сам. Это инструкции, а не техническая блокировка, поэтому и сами просите в сообщении остановиться.\n\n| Ситуация | Что делает ассистент |\n|---|---|\n| Деньги: оформление заказа (`create_order` с `confirm=true`), оплата (`pay_order`), апгрейд (`resize_server` с `confirm=true`) | просит подтверждения |\n| Данные и доступ: отмена заказа (`cancel_order` с `confirm=true`), удаление ключа с сервера, отключение входа по паролю, замена SSH-ключа ассистента | просит подтверждения |\n| Остальное: чтение данных, команды на сервере, установка программ, перезагрузка, о которой вы попросили | действует сразу и сообщает результат |\n\nКак работать безопасно:\n\n1. Сначала попросите расчёт или предварительный просмотр и добавьте в запрос «дождись моего подтверждения».\n2. Прочитайте, что покажет ассистент: сумму в MDL, тариф и операционную систему; при отмене — сумму возврата на баланс и будет ли удалён сервер; для ключей — какие ключи останутся на сервере.\n3. Подтвердите явно, отдельным сообщением.\n4. Когда AI-клиент попросит одобрить вызов, проверьте, что параметры совпадают с подтверждёнными.\n\nФормулировки, которые останавливают ассистента перед важным шагом:\n\n```text\nСделай расчёт и дождись моего подтверждения, прежде чем оформлять или оплачивать заказ.\nПокажи только предварительный просмотр отмены, ничего не подтверждай.\nСкажи, какие ключи удалишь и что останется на сервере, и дождись моего подтверждения.\nПокажи команду, которую хочешь выполнить, и дождись моего подтверждения.\n```\n\n> **Важно**\n> Окно одобрения показывает AI-клиент, а не BLACKBOX. Не разрешайте инструментам выполняться всегда, без вопроса, особенно `create_order`, `pay_order`, `cancel_order`, `resize_server`, `remove_server_ssh_key`, `set_server_password_auth` и `run_server_command`. Перед отключением входа по паролю проверьте в новом терминале, что входите по своему ключу: веб-консоли и VNC для клиентов нет ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)).\n\n> **Необратимо**\n> Если у заказа есть сервер, подтверждённая отмена удаляет сервер сразу, со всеми данными и без отсрочки. Всегда сначала просите предварительный просмотр: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n## Долгие задачи\n\nОдну команду на сервере ассистент ждёт не дольше 300 секунд (по умолчанию 60). Когда время истекает, результат приходит с `timed_out: true`, а команда может продолжать работать на сервере. Для долгих задач (обновление системы, резервная копия, сборка) прямо попросите запустить их в фоне через `nohup` или `systemd-run`:\n\n```text\nЗапусти в фоне через nohup обновление системы на моём сервере, вывод — в /root/upgrade.log, и не жди завершения.\n```\n\nПозже:\n\n```text\nПроверь, закончилось ли обновление на моём сервере, и покажи последние 30 строк /root/upgrade.log.\n```\n\nПосле `timed_out: true` не просите повторить ту же команду — сначала попросите проверку. Подробнее: [Выполнение команд на сервере через AI](#ai.comenzi-pe-server).\n\n## Чего ассистент не умеет\n\n| Задача | Где это сделать |\n|---|---|\n| Тикеты в поддержку | blackbox.md, «Личный кабинет» → «Помощь и поддержка»: [Создание тикета в поддержку](#suport.tichet-nou) |\n| Пополнение баланса | blackbox.md: [Пополнение баланса](#plati.alimentare-sold) |\n| Оплата счетов | [Автоматическая оплата счетов с баланса](#plati.plata-automata) или [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar) |\n| DNS-записи | панель app.blackbox.md: [Управление DNS-записями из панели](#servicii.dns-inregistrari) |\n| Мониторинг и оповещения | панель: [Страница «Мониторинг»](#servicii.monitorizare) |\n| Переименование сервера | панель: [Переименование сервера (личное название)](#servere.redenumire) |\n| Переустановка операционной системы | по запросу через поддержку: [Доступные операционные системы](#comenzi.sisteme-operare) |\n\nПолный список: [AI-интеграция (MCP): что это и что умеет](#ai.ce-este-mcp).\n\n## Частые вопросы\n\n**Ассистент говорит, что у него нет нужного инструмента, или получает `missing_scope`. Что делать?**\nУ токена нет нужного разрешения — ошибка называет его. Создайте новый токен с этим разрешением и замените им старый в AI-клиенте: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n**Нужно ли сообщать ассистенту id сервера?**\nНет. Назовите сервер по имени или IP-адресу — ассистент возьмёт id из `list_servers`. Для этого у токена должно быть разрешение `servers:read`.\n\n**Можно ли выполнять все примеры одним токеном?**\nДа, с «AI-администратор — полный доступ». Но безопаснее каждый день пользоваться токеном только для чтения, а токен с полным доступом создавать, только когда он действительно нужен: [Безопасность токенов и AI-агентов](#ai.securitate).\n\n**Ассистент получает `rate_limited`. Почему?**\nПревышен лимит инструмента. Предварительные расчёты и просмотры тоже учитываются: `create_order` — 20 вызовов в час, `cancel_order` — 5 за 5 минут, `resize_server` — 3 за 10 минут. Подождите и не повторяйте вызов в цикле: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n",
    "en": "Here you will find ready-to-use requests for the AI assistant connected to your account through MCP (`https://api.app.blackbox.md/mcp`). For each task, you can see the tools the assistant calls and the permissions the token needs. You choose the permissions when you create the token, in “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`).\n\n**Available to:** the holder of the blackbox.md account, with an AI assistant connected through an API token ([Connecting in the Claude app (custom connector)](#ai.conectare-claude) or [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor)).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Start with “Call whoami”\n\n1. At the start of every session, write to the assistant: “Call whoami”. The `whoami` tool needs no permission.\n2. The assistant confirms that the token works and shows you which permissions it has (`scopes`) and which ones are missing (`missing_scopes`). If nothing is missing, the tool replies “All scopes granted — every tool is available.”\n3. If a permission your task needs is missing, create a new token with that permission and replace the old one in the AI client. You cannot add permissions to an existing token. See [Token permissions (scopes)](#ai.permisiuni).\n\nTools the token has no permission for do not even appear in the assistant's list. That is why the assistant sometimes simply says it “doesn't have” the right tool.\n\n## The examples on blackbox.md/info/mcp\n\nThe `blackbox.md/info/mcp` page publishes three example requests. In English, they read:\n\n```text\nShow me my BLACKBOX servers and their status\nWhat is my balance, and which invoices are unpaid?\nInstall nginx on my server\n```\n\nYou will also find them in the tables below, with the permissions they need.\n\n## The permissions in the tables\n\n| Code | Checkbox in the “Token nou” (New token) form | Ticked by default |\n|---|---|---|\n| `servers:read` | “Citește lista și statusul serverelor mele” (Read the list and status of my servers) | yes |\n| `billing:read` | “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) | yes |\n| `ssh_keys:read` | “Citește lista cheilor mele SSH” (Read the list of my SSH keys) | yes |\n| `servers:power` | “Controlează alimentarea serverelor (repornire/oprire/pornire)” (Control server power (reboot/stop/start)) | no |\n| `servers:credentials` | “Vizualizează parolele/accesul serverelor” (View server passwords/access) | no |\n| `servers:exec` | “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) | no |\n| `orders:write` | “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) | no |\n\nThe “AI-administrator — acces complet” (AI administrator — full access) button ticks all the permissions, including “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys) (`ssh_keys:write`).\n\n## Ready-to-use tasks\n\nWrite the task in your own words: the requests below are only templates. If you have several servers, name the server (its name in the panel or its IP address). The assistant finds it on its own with `list_servers`, which is why tasks on a server also need `servers:read`.\n\n### Reading\n\n| Task | What you write | Tools | Permissions |\n|---|---|---|---|\n| Your servers and their status | “Show me my BLACKBOX servers and their status” | `list_servers`, `get_server` | `servers:read` |\n| Balance and unpaid invoices | “What is my balance, and which invoices are unpaid?” | `get_balance`, `list_invoices` | `billing:read` |\n| Latest transactions | “Show me the last 10 transactions on my balance” | `list_transactions` | `billing:read` |\n| Plans and prices | “What VPS plans do you have with 4 vCPU, and how much do they cost?” | `list_vm_plans` | none |\n\n### Servers and access\n\n| Task | What you write | Tools | Permissions |\n|---|---|---|---|\n| Restart with a check | “Restart my server and tell me when it responds again” | `power_server`, then `get_server` | `servers:power`, `servers:read` |\n| Disk space | “Show me how much disk space is used on my server and the 20 largest directories” | `run_server_command` | `servers:exec`, `servers:read` |\n| Installing nginx | “Install nginx on my server” | `run_server_command` | `servers:exec`, `servers:read` |\n| Only the laptop key, no password | “On my server, keep only the ‘Laptop’ SSH key from my account and turn off password login. Show me first what you will do, and wait for my confirmation.” | `list_ssh_keys`, `add_server_ssh_key`, then `set_server_password_auth`; for the other keys, `list_server_ssh_keys` and `remove_server_ssh_key` | `servers:credentials`, `servers:read`, `ssh_keys:read` |\n| Deleting an old key | “Which SSH keys are installed on my server? Delete the one named old-laptop.” | `list_server_ssh_keys`, then `remove_server_ssh_key` | `servers:credentials`, `servers:read` |\n| SSH command for rsync | “Give me an SSH command so I can copy files to my server with rsync” | `get_server_ssh_access` | `servers:credentials`, `servers:read` |\n\n- **Restart:** `power_server` only accepts the request. The assistant then checks with `get_server` that `power_state` is `running`. SSH and your services may need another 30–60 seconds.\n- **Keys:** on the server, a key is recognized by the comment at the end of its line (for example `old-laptop`). Keys saved on the “Chei SSH” (SSH keys) page are found by the assistant by name, with `list_ssh_keys`. “Management key (blackbox.md)” always stays on the server and cannot be deleted.\n- **rsync:** the assistant receives a dedicated SSH key, which BLACKBOX installs on the server, and a ready-to-use `ssh` command. Details: [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n\n### Money and orders\n\n| Task | What you write | Tools | Permissions |\n|---|---|---|---|\n| Quote for a new server | “Prepare a quote for a Standard M server with Ubuntu 24.04 and my SSH key, then wait for my confirmation” | `list_vm_plans`, `list_ssh_keys`, `create_order` without confirmation | `orders:write`, `ssh_keys:read` |\n| Paying for an order | “Pay for order BBX-2026-000123 from my balance” | `list_orders`, then `pay_order` | `orders:write`, `billing:read` |\n| How much a cancellation refunds | “How much would I get back if I cancel order BBX-2026-000123? Don't cancel anything yet.” | `list_orders`, then `cancel_order` without confirmation | `orders:write`, `billing:read` |\n| Upgrade after checking the price | “Upgrade my server to the next plan, but show me the price first” | `get_server_resize_options`, then `resize_server` without confirmation | `servers:read`, `orders:write` |\n\n- **Quote:** without confirmation, `create_order` only calculates the total and creates nothing. Once you agree, the assistant repeats the call with `confirm=true`, and the order appears in “Comenzi” (Orders) with the status “Nou” (New). Money is taken only at `pay_order`.\n- **Payment and cancellation:** the assistant finds the order by its number with `list_orders`, which also gives it the current total that `pay_order` requires.\n- **Upgrade:** only to a larger plan in the same family, paid from your balance. When you confirm, the server restarts, and the downtime lasts a few minutes.\n\nAll the details: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n## Money and irreversible actions: ask for a preview first\n\nThe instructions BLACKBOX gives the assistant set when it asks for your consent and when it acts directly. They are instructions, not a technical lock, so ask for the pause in your message as well.\n\n| Situation | What the assistant does |\n|---|---|\n| Money: placing the order (`create_order` with `confirm=true`), payment (`pay_order`), upgrade (`resize_server` with `confirm=true`) | asks for your confirmation |\n| Data and access: canceling the order (`cancel_order` with `confirm=true`), deleting a key from the server, turning off password login, replacing the assistant's SSH access key | asks for your confirmation |\n| Everything else: reading data, commands on the server, installing software, a restart you asked for | acts directly and tells you the result |\n\nHow to work safely:\n\n1. Ask for the quote or the preview first, and add “wait for my confirmation” to your request.\n2. Read what the assistant shows you: the total in MDL, the plan and the operating system; for a cancellation, the amount returned to your balance and whether a server will be deleted; for keys, which keys stay on the server.\n3. Confirm explicitly, in a separate message.\n4. When the AI client asks you to approve the call, check that the parameters are the ones you confirmed.\n\nRequests that stop the assistant before the important step:\n\n```text\nPrepare a quote and wait for my confirmation before placing or paying for the order.\nShow me only the cancellation preview, without confirming anything.\nTell me which keys you will delete and what stays on the server, then wait for my confirmation.\nShow me the command you want to run and wait for my confirmation.\n```\n\n> **Important**\n> The approval window is shown by the AI client, not by BLACKBOX. Do not choose the option to always allow tools without asking, especially for `create_order`, `pay_order`, `cancel_order`, `resize_server`, `remove_server_ssh_key`, `set_server_password_auth` and `run_server_command`. Before you turn off password login, check in a new terminal that you can connect with your own key: customers have no web or VNC console ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)).\n\n> **Irreversible**\n> If an order has a server, confirming its cancellation deletes the server immediately, with all its data, with no grace period. Always ask for the preview first: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n## Long tasks\n\nThe assistant waits at most 300 seconds for a single command on the server (60 by default). When the time runs out, the result comes back with `timed_out: true`, and the command may keep running on the server. For long jobs (a system update, a backup, a build), explicitly ask for them to start in the background, with `nohup` or `systemd-run`:\n\n```text\nStart a system update on my server in the background with nohup, with the output in /root/upgrade.log, and don't wait for it to finish.\n```\n\nLater:\n\n```text\nCheck whether the update on my server has finished and show me the last 30 lines of /root/upgrade.log.\n```\n\nAfter `timed_out: true`, do not ask for the same command to be repeated: ask for a check first. Details: [Running commands on the server through AI](#ai.comenzi-pe-server).\n\n## What the assistant cannot do\n\n| Task | Where to do it |\n|---|---|\n| Support tickets | blackbox.md, “Contul meu” (My account) → “Ajutor și suport” (Help and support): [Opening a support ticket](#suport.tichet-nou) |\n| Topping up your balance | blackbox.md: [Topping up your balance](#plati.alimentare-sold) |\n| Paying invoices | [Automatic payment of invoices from your balance](#plati.plata-automata) or [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar) |\n| DNS records | the app.blackbox.md panel: [Managing DNS records from the panel](#servicii.dns-inregistrari) |\n| Monitoring and alerts | the panel: [The “Monitoring” page](#servicii.monitorizare) |\n| Renaming the server | the panel: [Renaming a server (private name)](#servere.redenumire) |\n| Reinstalling the operating system | on request, through support: [Available operating systems](#comenzi.sisteme-operare) |\n\nThe full list: [AI integration (MCP): what it is and what it can do](#ai.ce-este-mcp).\n\n## Frequently asked questions\n\n**The assistant says it doesn't have the right tool, or it gets `missing_scope`. What do I do?**\nThe token lacks the permission it needs; the error names it. Create a new token with that permission and replace the old one in the AI client: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n**Do I have to give the assistant the server's id?**\nNo. Refer to the server by its name or IP address; the assistant takes the id from `list_servers`. For this, the token needs `servers:read`.\n\n**Can I use a single token for all the examples?**\nYes, with “AI-administrator — acces complet” (AI administrator — full access). It is safer to use a read-only token day to day and to create a full-access token only when you need it: [Token and AI agent security](#ai.securitate).\n\n**The assistant gets `rate_limited`. Why?**\nYou went over a tool's limit. Previews count too: `create_order` accepts 20 calls per hour, `cancel_order` 5 in 5 minutes, `resize_server` 3 in 10 minutes. Wait, and do not repeat the call in a loop: [MCP limits and error codes](#ai.limite-si-erori).\n"
   }
  },
  {
   "id": "ai.comenzi-pe-server",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/comenzi-pe-server/",
    "ru": "https://docs.blackbox.md/ru/ai/comenzi-pe-server/",
    "en": "https://docs.blackbox.md/en/ai/comenzi-pe-server/"
   },
   "title": {
    "ro": "Rularea comenzilor pe server prin AI",
    "ru": "Выполнение команд на сервере через AI",
    "en": "Running commands on the server through AI"
   },
   "summary": {
    "ro": "Cum rulează asistentul comenzi ca root, limitele de timp și de ieșire și regulile pentru comenzi lungi sau interactive.",
    "ru": "Как ассистент выполняет команды от root, лимиты времени и вывода и правила для долгих и интерактивных команд.",
    "en": "How the assistant runs commands as root, the time and output limits, and the rules for long or interactive commands."
   },
   "markdown": {
    "ro": "Cu unealta MCP `run_server_command`, asistentul AI conectat la contul dvs. prin `https://api.app.blackbox.md/mcp` (Claude, Cursor, VS Code etc.) rulează comenzi shell ca `root` pe serverele dvs.: instalează pachete, citește jurnale, repornește servicii. Dreptul se acordă prin token-ul API creat pe blackbox.md → „Contul meu” → „Token-uri API” (`/account/api-tokens`).\n\n**Disponibil pentru:** titularul contului blackbox.md, printr-un token API cu permisiunea „Rulează orice comandă ca root pe serverele mele” (`servers:exec`). Funcționează pe serverele comandate de dvs. și pe serverele unei companii la care BLACKBOX v-a acordat drept de administrare. Pe serverele marcate „Administrat” în panoul app.blackbox.md (doar vizualizare) răspunsul este `not_found`.\n\n## Cum funcționează\n\n- Asistentul trimite id-ul serverului, comanda și, opțional, timpul maxim de așteptare.\n- BLACKBOX se conectează la server prin SSH, ca `root`, cu cheia de administrare („Cheie de administrare (blackbox.md)” în panou), rulează comanda și îi întoarce rezultatul asistentului. Nu îi dați asistentului nicio parolă și nicio cheie.\n- Fiecare apel deschide o sesiune nouă, care pornește în `/root`. `cd` și variabilele de mediu nu se păstrează de la o comandă la alta: pașii legați între ei se scriu într-o singură comandă, cu `&&`, sau se folosesc căi absolute.\n- Comenzile nu trec prin niciun filtru: asistentul poate face pe server tot ce poate face `root`.\n\n## Cum îi cereți asistentului să ruleze comenzi\n\n1. Pe blackbox.md, în „Contul meu” → „Token-uri API”, creați un token cu „Rulează orice comandă ca root pe serverele mele” bifat. Lăsați bifat și „Citește lista și statusul serverelor mele” (`servers:read`): fără el asistentul nu poate afla id-ul serverului. Pașii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n2. Adăugați token-ul în clientul AI: [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude) sau [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n3. Descrieți sarcina în cuvinte și numiți serverul (numele sau IP-ul), de exemplu „Instalează nginx pe serverul meu” sau „Arată-mi ce ocupă discul pe serverul IP_SERVER”.\n4. De regulă, clientul AI vă cere aprobarea pentru `run_server_command` și vă arată textul comenzii. Citiți comanda și aprobați-o doar dacă înțelegeți ce face.\n5. Asistentul primește rezultatul și vă spune ce s-a întâmplat.\n\n## Parametri și rezultat\n\n| Parametru | Valori | Notă |\n|---|---|---|\n| `server_id` | id-ul primit de la `list_servers` | un id greșit dă `invalid_server_id` sau `not_found` |\n| `command` | 1–8192 de caractere | o comandă goală, doar din spații sau mai lungă dă `invalid_command` |\n| `timeout_seconds` | 1–300 de secunde, implicit 60 | o valoare în afara intervalului se aduce la limita cea mai apropiată (600 devine 300); nu dă eroare |\n\n| Câmp în rezultat | Ce conține |\n|---|---|\n| `exit_code` | codul de ieșire: `0` = succes, alt număr = eroare; `null` dacă timpul a expirat |\n| `timed_out` | `true` dacă timpul a expirat înainte ca comanda să se termine |\n| `stdout`, `stderr` | ieșirea standard și ieșirea de erori, cel mult 64 000 de caractere fiecare |\n| `stdout_truncated`, `stderr_truncated` | `true` dacă ieșirea a fost tăiată; textul se termină cu `...[truncated, N more chars]`. Când timpul a expirat, aceste câmpuri lipsesc din rezultat |\n| `duration_ms` | durata, în milisecunde |\n\nDacă procesul a fost oprit de un semnal, `exit_code` este numărul semnalului cu minus, de exemplu `-9` după `kill -9`, sau 128 plus numărul semnalului (`137`), dacă semnalul a fost raportat de shell (depinde de cum este scrisă comanda). `-1` primiți când serverul nu raportează nici codul, nici semnalul; atunci `stderr` se termină cu `[terminated by signal]`. Un `-9` sau un `137` neașteptat înseamnă de obicei că procesul a fost oprit forțat, adesea din lipsă de memorie.\n\n## Comenzi fără întrebări\n\nComanda rulează fără terminal (TTY), iar intrarea standard este închisă. De aceea:\n\n- orice întrebare de tipul „Do you want to continue? [Y/n]” și orice cerere de parolă eșuează;\n- programele cu ecran propriu (`nano`, `vim`, `top`, consola `mysql`) nu funcționează;\n- comenzile care nu se termină singure (`tail -f`, un server pornit în prim-plan) rulează până la expirarea timpului.\n\n| În loc de | Folosiți |\n|---|---|\n| `apt install nginx` | `DEBIAN_FRONTEND=noninteractive apt-get install -y nginx` |\n| `dnf install nginx` | `dnf install -y nginx` |\n| `top` | `top -b -n 1` |\n| `tail -f /var/log/nginx/error.log` | `tail -n 100 /var/log/nginx/error.log` |\n| `journalctl -u nginx -f` | `journalctl -u nginx -n 100 --no-pager` |\n| consola `mysql` | `mysql -e \"SHOW DATABASES;\"` |\n| editarea cu `nano` | `sed -i` pentru o modificare punctuală sau rescrierea fișierului întreg |\n\n## Comenzi lungi\n\nImplicit, asistentul așteaptă o comandă 60 de secunde și poate mări timpul până la 300 de secunde. Când timpul expiră, rezultatul vine fără eroare: `timed_out: true`, `exit_code: null` și ieșirea produsă până atunci. BLACKBOX nu oprește procesul: acesta poate rula în continuare pe server.\n\n> **Important**\n> După `timed_out: true` nu cereți repetarea aceleiași comenzi: o instalare sau o actualizare pornită de două ori se poate bloca sau strica. Verificați întâi, cu o comandă separată, procesul, jurnalul sau starea serviciului.\n\nPentru lucrări mai lungi de câteva minute (actualizarea sistemului, un backup, o compilare), cereți asistentului să le pornească în fundal și să verifice rezultatul mai târziu.\n\nOpțiunile `--force-confdef` și `--force-confold` din exemplele pentru Ubuntu și Debian păstrează fișierele de configurare pe care le-ați modificat. Fără ele, actualizarea se oprește cu eroare la prima întrebare despre un astfel de fișier.\n\n### Cu `nohup`\n\nRedirecționați ieșirea într-un fișier, ca în exemple: altfel apelul așteaptă procesul până la expirarea timpului.\n\nUbuntu și Debian:\n\n```bash\nnohup bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade' > /root/upgrade.log 2>&1 &\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\nnohup dnf -y upgrade > /root/upgrade.log 2>&1 &\n```\n\nVerificarea, mai târziu. Dacă `pgrep` nu afișează nimic, lucrarea s-a terminat, iar rezultatul este la sfârșitul jurnalului:\n\n```bash\npgrep -a 'apt-get|dnf'\ntail -n 30 /root/upgrade.log\n```\n\n### Cu `systemd-run`\n\nLucrarea devine un serviciu temporar, iar ieșirea ajunge în jurnalul sistemului.\n\nUbuntu și Debian:\n\n```bash\nsystemd-run --unit=upgrade-job bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade'\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\nsystemd-run --unit=upgrade-job dnf -y upgrade\n```\n\nVerificarea, mai târziu. `active` înseamnă că lucrarea rulează încă, `inactive` că s-a terminat cu succes, iar `failed` că s-a oprit cu eroare:\n\n```bash\nsystemctl is-active upgrade-job\njournalctl -u upgrade-job -n 50 --no-pager\n```\n\n## Ce trebuie să existe pe server\n\n- cheia de administrare („Cheie de administrare (blackbox.md)” în panou) în `/root/.ssh/authorized_keys`;\n- conectarea lui `root` cu cheie permisă: `PermitRootLogin prohibit-password` (sau `yes`), niciodată `no`;\n- serverul pornit și accesibil prin SSH pe portul 22. Conexiunea BLACKBOX nu folosește alt port, iar un port nou poate fi blocat de filtrul de rețea BLACKBOX: înainte să mutați SSH sau să limitați portul 22 la adresa dvs. IP, scrieți suportului.\n\nVerificați setarea efectivă:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nRezultatele `permitrootlogin yes`, `permitrootlogin prohibit-password` și `permitrootlogin without-password` (numele vechi al aceleiași setări) sunt în regulă.\n\nDacă îi cereți asistentului să schimbe setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH până verificați că vă puteți conecta din nou. Pentru clienți nu există consolă web sau VNC: dacă pierdeți accesul, vă poate ajuta doar suportul. Ce faceți dacă cheia de administrare a fost ștearsă: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n## Limite și erori\n\nAsistentul poate rula cel mult 30 de comenzi pe minut pe cont, pentru toate token-urile împreună, iar toate uneltele MCP la un loc au o limită de 120 de apeluri pe minut. Lungimea comenzii, timpul de așteptare și ieșirea sunt limitate ca mai sus.\n\n| Eroare | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `invalid_command` | comanda este goală, doar din spații sau are peste 8192 de caractere | verificați comanda; dacă este prea lungă, împărțiți-o în mai multe comenzi |\n| `ssh_connection_failed` | BLACKBOX nu s-a putut conecta: serverul este oprit, repornește sau nu răspunde, cheia de administrare a fost ștearsă ori `root` nu mai are voie să intre cu cheie | verificați că serverul rulează ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)) și reîncercați o dată după un minut; dacă eroarea rămâne, verificați condițiile de mai sus sau scrieți suportului: [Cum contactați suportul BLACKBOX](#suport.contact) |\n| `not_found`, `invalid_server_id` | serverul nu există, nu este al dvs., este doar de vizualizare sau id-ul are alt format | cereți asistentului să ia id-ul din `list_servers` |\n| `rate_limited` | ați depășit una dintre limite | așteptați un minut; apelurile făcute cât sunteți limitat se numără și ele |\n| `missing_scope: this token does not have 'servers:exec'` | token-ul nu are permisiunea | creați un token nou; permisiunile unui token existent nu se pot schimba |\n\nLista completă: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Confidențialitate și siguranță\n\nBLACKBOX înregistrează doar faptul că a fost rulată o comandă: serverul, momentul, durata, codul de ieșire, lungimea comenzii și o amprentă (hash) a ei. Textul comenzii și rezultatul nu se păstrează, iar panoul nu are un istoric al comenzilor. Furnizorul asistentului AI vede însă comanda și tot ce întoarce ea: nu cereți afișarea fișierelor cu parole sau chei (de exemplu `.env`) fără motiv.\n\n> **Risc**\n> O comandă rulată ca `root` poate șterge date sau bloca accesul la server, iar BLACKBOX nu filtrează comenzile. Faceți backup înainte de modificări importante: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n- BLACKBOX îi cere asistentului să vă întrebe înainte de acțiunile care costă bani, de anularea unei comenzi, de ștergerea cheilor SSH sau de dezactivarea autentificării cu parolă, dar nu și înainte de a rula comenzi pe server. Aprobarea din clientul AI este singura verificare: nu alegeți pentru `run_server_command` opțiunea de a permite unealta întotdeauna.\n- Folosiți un token separat pentru `servers:exec` și revocați-l când nu mai aveți nevoie de el: [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n> **Securitate**\n> Când asistentul citește conținut din surse nesigure (pagini web, jurnale, emailuri, fișiere primite), textul de acolo îi poate „cere” să ruleze comenzi. Dacă o comandă propusă nu are legătură cu sarcina dvs., refuzați-o.\n\n## Întrebări frecvente\n\n**Asistentul spune că nu are unealta `run_server_command`. De ce?**\nToken-ul nu are permisiunea `servers:exec`, iar uneltele fără permisiune nu îi sunt arătate asistentului. Creați un token nou cu „Rulează orice comandă ca root pe serverele mele” și înlocuiți-l în client.\n\n**Trebuie să folosesc `sudo`?**\nNu, comenzile rulează deja ca `root`. Pentru a rula ceva ca alt utilizator:\n\n```bash\nrunuser -u NUME_UTILIZATOR -- COMANDA\n```\n\n**Pot dezactiva autentificarea SSH cu parolă printr-o comandă?**\nNu modificați `PasswordAuthentication` cu comenzi. Cereți asistentului să folosească unealta `set_server_password_auth` sau folosiți în panou butoanele „Dezactivează login cu parolă” / „Activează login cu parolă”: ele verifică configurația și nu vă lasă fără acces ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)).\n\n**Pot lucra interactiv sau copia fișiere?**\nNu prin `run_server_command`. Pentru `rsync`, `scp` sau o sesiune SSH în terminalul dvs., asistentul poate cere acces SSH: [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n",
    "ru": "Инструмент MCP `run_server_command` позволяет AI-ассистенту, подключённому к вашему аккаунту через `https://api.app.blackbox.md/mcp` (Claude, Cursor, VS Code и др.), выполнять shell-команды от `root` на ваших серверах: ставить пакеты, читать журналы, перезапускать службы. Право на это даёт API-токен, созданный на blackbox.md: «Личный кабинет» → «API-токены» (`/account/api-tokens`).\n\n**Доступно:** владельцу аккаунта blackbox.md — через API-токен с разрешением «Выполнять любые команды от root на моих серверах» (`servers:exec`). Работает на серверах, которые вы заказали, и на серверах компании, где BLACKBOX выдал вам права управления. На серверах с отметкой «Обслуживается» в панели app.blackbox.md (только просмотр) ответ — `not_found`.\n\n## Как это работает\n\n- Ассистент передаёт ID сервера, команду и, при необходимости, максимальное время ожидания.\n- BLACKBOX подключается к серверу по SSH под `root` с ключом управления (в панели он называется «Ключ управления (blackbox.md)»), выполняет команду и возвращает результат ассистенту. Ни пароль, ни ключ ассистенту давать не нужно.\n- Каждый вызов открывает новую сессию, которая начинается в каталоге `/root`. `cd` и переменные окружения между командами не сохраняются: связанные шаги объединяйте в одну команду через `&&` или используйте абсолютные пути.\n- Команды ничем не фильтруются: на сервере ассистент может всё, что может `root`.\n\n## Как попросить ассистента выполнить команду\n\n1. На blackbox.md в разделе «Личный кабинет» → «API-токены» создайте токен с отмеченным разрешением «Выполнять любые команды от root на моих серверах». Оставьте отмеченным и «Читать список и статус моих серверов» (`servers:read`): без него ассистент не узнает ID сервера. Подробно: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n2. Добавьте токен в AI-клиент: [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude) или [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n3. Опишите задачу своими словами и назовите сервер (имя или IP), например: «Установи nginx на мой сервер» или «Покажи, чем занят диск на сервере IP_СЕРВЕРА».\n4. Как правило, AI-клиент просит подтвердить вызов `run_server_command` и показывает текст команды. Прочитайте команду и подтверждайте, только если понимаете, что она делает.\n5. Ассистент получит результат и расскажет, что произошло.\n\n## Параметры и результат\n\n| Параметр | Значения | Примечание |\n|---|---|---|\n| `server_id` | ID из ответа `list_servers` | неверный ID даёт `invalid_server_id` или `not_found` |\n| `command` | от 1 до 8192 символов | пустая команда, команда из одних пробелов или длиннее лимита даёт `invalid_command` |\n| `timeout_seconds` | от 1 до 300 секунд, по умолчанию 60 | значение вне диапазона приводится к ближайшей границе (600 станет 300), ошибки не будет |\n\n| Поле результата | Что в нём |\n|---|---|\n| `exit_code` | код завершения: `0` — успех, другое число — ошибка; `null`, если время ожидания истекло |\n| `timed_out` | `true`, если время истекло раньше, чем команда завершилась |\n| `stdout`, `stderr` | стандартный вывод и вывод ошибок, не более 64 000 символов каждый |\n| `stdout_truncated`, `stderr_truncated` | `true`, если вывод обрезан; в конце текста стоит `...[truncated, N more chars]`. Если время ожидания истекло, этих полей в результате нет |\n| `duration_ms` | длительность в миллисекундах |\n\nЕсли процесс завершён сигналом, `exit_code` — номер сигнала со знаком минус (например, `-9` после `kill -9`) или 128 плюс номер сигнала (`137`), если о завершении сообщила оболочка (зависит от того, как записана команда). `-1` возвращается, когда сервер не сообщил ни код, ни сигнал; тогда `stderr` заканчивается строкой `[terminated by signal]`. Неожиданный `-9` или `137` обычно означает принудительное завершение, часто из-за нехватки памяти.\n\n## Команды без вопросов\n\nКоманда выполняется без терминала (TTY), а стандартный ввод закрыт. Поэтому:\n\n- любой вопрос вроде «Do you want to continue? [Y/n]» и любой запрос пароля завершаются ошибкой;\n- программы с собственным экраном (`nano`, `vim`, `top`, консоль `mysql`) не работают;\n- команды, которые сами не завершаются (`tail -f`, сервер, запущенный не в фоне), работают до истечения времени ожидания.\n\n| Вместо | Используйте |\n|---|---|\n| `apt install nginx` | `DEBIAN_FRONTEND=noninteractive apt-get install -y nginx` |\n| `dnf install nginx` | `dnf install -y nginx` |\n| `top` | `top -b -n 1` |\n| `tail -f /var/log/nginx/error.log` | `tail -n 100 /var/log/nginx/error.log` |\n| `journalctl -u nginx -f` | `journalctl -u nginx -n 100 --no-pager` |\n| консоль `mysql` | `mysql -e \"SHOW DATABASES;\"` |\n| правка в `nano` | `sed -i` для точечной замены или перезапись файла целиком |\n\n## Долгие команды\n\nПо умолчанию ассистент ждёт завершения команды 60 секунд и может увеличить это время до 300 секунд. Если время истекло, результат приходит без ошибки: `timed_out: true`, `exit_code: null` и вывод, который успел появиться. BLACKBOX процесс не останавливает: он может продолжать работать на сервере.\n\n> **Важно**\n> После `timed_out: true` не просите повторить ту же команду: установка или обновление, запущенные дважды, могут зависнуть или что-то сломать. Сначала отдельной командой проверьте процесс, журнал или состояние службы.\n\nРаботу дольше нескольких минут (обновление системы, резервное копирование, сборку) просите запускать в фоне и проверять результат позже.\n\nПараметры `--force-confdef` и `--force-confold` в примерах для Ubuntu и Debian сохраняют конфигурационные файлы, которые вы меняли. Без них обновление остановится с ошибкой на первом же вопросе о таком файле.\n\n### С `nohup`\n\nПеренаправляйте вывод в файл, как в примерах: иначе вызов будет ждать процесс до истечения времени ожидания.\n\nUbuntu и Debian:\n\n```bash\nnohup bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade' > /root/upgrade.log 2>&1 &\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\nnohup dnf -y upgrade > /root/upgrade.log 2>&1 &\n```\n\nПроверка позже. Если `pgrep` ничего не вывел, работа закончена, а результат — в конце журнала:\n\n```bash\npgrep -a 'apt-get|dnf'\ntail -n 30 /root/upgrade.log\n```\n\n### С `systemd-run`\n\nЗадача запускается как временная служба, а её вывод попадает в системный журнал.\n\nUbuntu и Debian:\n\n```bash\nsystemd-run --unit=upgrade-job bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade'\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\nsystemd-run --unit=upgrade-job dnf -y upgrade\n```\n\nПроверка позже. `active` — задача ещё выполняется, `inactive` — завершилась успешно, `failed` — остановилась с ошибкой:\n\n```bash\nsystemctl is-active upgrade-job\njournalctl -u upgrade-job -n 50 --no-pager\n```\n\n## Что должно быть на сервере\n\n- ключ управления (в панели — «Ключ управления (blackbox.md)») в `/root/.ssh/authorized_keys`;\n- вход `root` по ключу разрешён: `PermitRootLogin prohibit-password` (или `yes`), но не `no`;\n- сервер запущен и доступен по SSH на порту 22. BLACKBOX подключается только к этому порту, а новый порт может блокировать сетевой фильтр BLACKBOX: прежде чем переносить SSH на другой порт или открывать порт 22 только для своего IP-адреса, напишите в поддержку.\n\nПроверьте действующее значение:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nПодходят результаты `permitrootlogin yes`, `permitrootlogin prohibit-password` и `permitrootlogin without-password` (старое название того же значения).\n\nЕсли вы просите ассистента изменить настройки SSH или файрвола, держите открытой вторую SSH-сессию, пока не убедитесь, что можете подключиться заново. Веб-консоли и VNC для клиентов нет: если доступ потерян, помочь сможет только поддержка. Что делать, если ключ управления удалён: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n## Лимиты и ошибки\n\nАссистент может выполнить не больше 30 команд в минуту на аккаунт (для всех токенов вместе), а на все инструменты MCP вместе действует лимит 120 вызовов в минуту. Длина команды, время ожидания и объём вывода ограничены, как описано выше.\n\n| Ошибка | Что значит | Что делать |\n|---|---|---|\n| `invalid_command` | команда пустая, состоит из одних пробелов или длиннее 8192 символов | проверьте команду; если она слишком длинная, разбейте её на несколько команд |\n| `ssh_connection_failed` | BLACKBOX не смог подключиться: сервер остановлен, перезагружается или не отвечает, ключ управления удалён либо `root` больше не может входить по ключу | убедитесь, что сервер работает ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)), и повторите один раз через минуту; если ошибка не уходит, проверьте условия выше или напишите в поддержку: [Как связаться с поддержкой BLACKBOX](#suport.contact) |\n| `not_found`, `invalid_server_id` | сервера нет, он не ваш, доступен только для просмотра или ID в неверном формате | попросите ассистента взять ID из `list_servers` |\n| `rate_limited` | превышен один из лимитов | подождите минуту; вызовы, сделанные во время блокировки, тоже засчитываются |\n| `missing_scope: this token does not have 'servers:exec'` | у токена нет нужного разрешения | создайте новый токен: разрешения существующего изменить нельзя |\n\nПолный список: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Конфиденциальность и безопасность\n\nBLACKBOX фиксирует только сам факт выполнения команды: сервер, время, длительность, код завершения, длину команды и её отпечаток (хеш). Текст команды и её результат не сохраняются, истории команд в панели нет. При этом поставщик AI-ассистента видит и команду, и всё, что она вернула: без необходимости не просите выводить файлы с паролями и ключами (например, `.env`).\n\n> **Опасно**\n> Команда от `root` может удалить данные или закрыть доступ к серверу, а BLACKBOX команды не фильтрует. Перед важными изменениями сделайте резервную копию: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n- BLACKBOX требует от ассистента спрашивать вас перед действиями, которые стоят денег, отменой заказа, удалением SSH-ключей или отключением входа по паролю, но не перед выполнением команд на сервере. Подтверждение в AI-клиенте — единственная проверка, поэтому не включайте для `run_server_command` постоянное разрешение без подтверждения.\n- Заведите для `servers:exec` отдельный токен и отзовите его, когда он станет не нужен: [Безопасность токенов и AI-агентов](#ai.securitate).\n\n> **Безопасность**\n> Когда ассистент читает содержимое из ненадёжных источников (веб-страницы, журналы, письма, чужие файлы), текст оттуда может «попросить» его выполнить команды. Если предложенная команда не связана с вашей задачей, отклоните её.\n\n## Частые вопросы\n\n**Ассистент говорит, что у него нет инструмента `run_server_command`. Почему?**\nУ токена нет разрешения `servers:exec`, а инструменты без разрешения ассистенту не показываются. Создайте новый токен с разрешением «Выполнять любые команды от root на моих серверах» и замените им старый в клиенте.\n\n**Нужен ли `sudo`?**\nНет, команды и так выполняются от `root`. Чтобы выполнить что-то от имени другого пользователя:\n\n```bash\nrunuser -u ИМЯ_ПОЛЬЗОВАТЕЛЯ -- КОМАНДА\n```\n\n**Можно ли отключить вход по паролю по SSH командой?**\nНе меняйте `PasswordAuthentication` командами. Попросите ассистента воспользоваться инструментом `set_server_password_auth` или нажмите в панели «Отключить вход по паролю» / «Включить вход по паролю»: и инструмент, и кнопки проверяют конфигурацию и не оставят вас без доступа ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)).\n\n**Можно ли работать интерактивно или копировать файлы?**\nЧерез `run_server_command` — нет. Для `rsync`, `scp` или SSH-сессии в вашем терминале ассистент может запросить SSH-доступ: [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n",
    "en": "With the `run_server_command` MCP tool, the AI assistant connected to your account through `https://api.app.blackbox.md/mcp` (Claude, Cursor, VS Code, etc.) runs shell commands as `root` on your servers: it installs packages, reads logs and restarts services. The permission comes from the API token you create on blackbox.md → “Contul meu” (My account) → “Token-uri API” (API tokens) (`/account/api-tokens`).\n\n**Available to:** the blackbox.md account holder, through an API token with the “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) permission (`servers:exec`). It works on the servers you ordered and on the servers of a company for which BLACKBOX has given you management rights. On servers marked “Managed” in the app.blackbox.md panel (view only), the response is `not_found`.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How it works\n\n- The assistant sends the server ID, the command and, optionally, the maximum waiting time.\n- BLACKBOX connects to the server over SSH, as `root`, with the management key (“Management key (blackbox.md)” in the panel), runs the command and returns the result to the assistant. You don't give the assistant any password or key.\n- Each call opens a new session, which starts in `/root`. `cd` and environment variables are not kept from one command to the next: write linked steps as a single command, joined with `&&`, or use absolute paths.\n- Commands don't go through any filter: on the server, the assistant can do everything `root` can do.\n\n## How to ask the assistant to run commands\n\n1. On blackbox.md, in “Contul meu” (My account) → “Token-uri API” (API tokens), create a token with “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) checked. Also leave “Citește lista și statusul serverelor mele” (Read the list and status of my servers) (`servers:read`) checked: without it, the assistant can't find out the server ID. Steps: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n2. Add the token to your AI client: [Connecting in the Claude app (custom connector)](#ai.conectare-claude) or [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n3. Describe the task in your own words and name the server (its name or IP), for example “Install nginx on my server” or “Show me what is taking up disk space on server SERVER_IP”.\n4. Usually, the AI client asks you to approve `run_server_command` and shows you the text of the command. Read the command and approve it only if you understand what it does.\n5. The assistant receives the result and tells you what happened.\n\n## Parameters and result\n\n| Parameter | Values | Note |\n|---|---|---|\n| `server_id` | the ID returned by `list_servers` | a wrong ID gives `invalid_server_id` or `not_found` |\n| `command` | 1–8,192 characters | an empty command, one made only of spaces, or a longer one gives `invalid_command` |\n| `timeout_seconds` | 1–300 seconds, default 60 | a value outside the range is moved to the nearest limit (600 becomes 300); it does not cause an error |\n\n| Result field | What it contains |\n|---|---|\n| `exit_code` | the exit code: `0` = success, any other number = error; `null` if the time ran out |\n| `timed_out` | `true` if the time ran out before the command finished |\n| `stdout`, `stderr` | standard output and error output, at most 64,000 characters each |\n| `stdout_truncated`, `stderr_truncated` | `true` if the output was cut off; the text ends with `...[truncated, N more chars]`. When the time runs out, these fields are missing from the result |\n| `duration_ms` | the duration, in milliseconds |\n\nIf the process was stopped by a signal, `exit_code` is the signal number with a minus sign, for example `-9` after `kill -9`, or 128 plus the signal number (`137`) if the signal was reported by the shell (this depends on how the command is written). You get `-1` when the server reports neither the code nor the signal; in that case, `stderr` ends with `[terminated by signal]`. An unexpected `-9` or `137` usually means the process was forcibly stopped, often because the server ran out of memory.\n\n## Commands that don't ask questions\n\nThe command runs without a terminal (TTY), and standard input is closed. That's why:\n\n- any question such as “Do you want to continue? [Y/n]” and any password prompt fails;\n- programs with their own screen (`nano`, `vim`, `top`, the `mysql` console) don't work;\n- commands that don't finish on their own (`tail -f`, a server started in the foreground) run until the time runs out.\n\n| Instead of | Use |\n|---|---|\n| `apt install nginx` | `DEBIAN_FRONTEND=noninteractive apt-get install -y nginx` |\n| `dnf install nginx` | `dnf install -y nginx` |\n| `top` | `top -b -n 1` |\n| `tail -f /var/log/nginx/error.log` | `tail -n 100 /var/log/nginx/error.log` |\n| `journalctl -u nginx -f` | `journalctl -u nginx -n 100 --no-pager` |\n| the `mysql` console | `mysql -e \"SHOW DATABASES;\"` |\n| editing with `nano` | `sed -i` for a targeted change, or rewriting the whole file |\n\n## Long commands\n\nBy default, the assistant waits 60 seconds for a command and can raise the time to 300 seconds. When the time runs out, the result comes back without an error: `timed_out: true`, `exit_code: null` and the output produced up to that point. BLACKBOX does not stop the process: it may keep running on the server.\n\n> **Important**\n> After `timed_out: true`, don't ask for the same command to be run again: an installation or update started twice can get stuck or break things. First check the process, the log or the service status with a separate command.\n\nFor work that takes longer than a few minutes (a system update, a backup, a build), ask the assistant to start it in the background and check the result later.\n\nThe `--force-confdef` and `--force-confold` options in the Ubuntu and Debian examples keep the configuration files you have modified. Without them, the update stops with an error at the first question about such a file.\n\n### With `nohup`\n\nRedirect the output to a file, as in the examples: otherwise, the call waits for the process until the time runs out.\n\nUbuntu and Debian:\n\n```bash\nnohup bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade' > /root/upgrade.log 2>&1 &\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\nnohup dnf -y upgrade > /root/upgrade.log 2>&1 &\n```\n\nTo check later: if `pgrep` shows nothing, the job has finished, and the result is at the end of the log:\n\n```bash\npgrep -a 'apt-get|dnf'\ntail -n 30 /root/upgrade.log\n```\n\n### With `systemd-run`\n\nThe job becomes a temporary service, and its output goes to the system journal.\n\nUbuntu and Debian:\n\n```bash\nsystemd-run --unit=upgrade-job bash -c 'DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold upgrade'\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\nsystemd-run --unit=upgrade-job dnf -y upgrade\n```\n\nTo check later: `active` means the job is still running, `inactive` that it finished successfully, and `failed` that it stopped with an error:\n\n```bash\nsystemctl is-active upgrade-job\njournalctl -u upgrade-job -n 50 --no-pager\n```\n\n## What the server needs\n\n- the management key (“Management key (blackbox.md)” in the panel) in `/root/.ssh/authorized_keys`;\n- `root` login with a key allowed: `PermitRootLogin prohibit-password` (or `yes`), never `no`;\n- the server running and reachable over SSH on port 22. The BLACKBOX connection doesn't use any other port, and a new port may be blocked by the BLACKBOX network filter: before you move SSH or restrict port 22 to your IP address, write to support.\n\nCheck the effective setting:\n\n```bash\nsshd -T | grep -i permitrootlogin\n```\n\nThe results `permitrootlogin yes`, `permitrootlogin prohibit-password` and `permitrootlogin without-password` (the old name of the same setting) are fine.\n\nIf you ask the assistant to change the SSH settings or the firewall, keep a second SSH session open until you have checked that you can connect again. There is no web or VNC console for customers: if you lose access, only support can help you. What to do if the management key has been deleted: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n## Limits and errors\n\nThe assistant can run at most 30 commands per minute per account, for all tokens together, and all MCP tools combined have a limit of 120 calls per minute. The command length, the waiting time and the output are limited as described above.\n\n| Error | What it means | What to do |\n|---|---|---|\n| `invalid_command` | the command is empty, made only of spaces, or longer than 8,192 characters | check the command; if it is too long, split it into several commands |\n| `ssh_connection_failed` | BLACKBOX could not connect: the server is stopped, rebooting or not responding, the management key has been deleted, or `root` is no longer allowed to log in with a key | check that the server is running ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)) and try once more after a minute; if the error persists, check the requirements above or write to support: [How to contact BLACKBOX support](#suport.contact) |\n| `not_found`, `invalid_server_id` | the server does not exist, is not yours, is view-only, or the ID has a different format | ask the assistant to take the ID from `list_servers` |\n| `rate_limited` | you have gone over one of the limits | wait a minute; calls made while you are limited also count |\n| `missing_scope: this token does not have 'servers:exec'` | the token doesn't have the permission | create a new token; the permissions of an existing token can't be changed |\n\nFull list: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Privacy and safety\n\nBLACKBOX logs only the fact that a command was run: the server, the time, the duration, the exit code, the length of the command and a fingerprint (hash) of it. The command text and the result are not kept, and the panel has no command history. The AI assistant's provider, however, sees the command and everything it returns: don't ask for files with passwords or keys (for example `.env`) to be displayed without a reason.\n\n> **Risk**\n> A command run as `root` can delete data or lock you out of the server, and BLACKBOX does not filter commands. Make a backup before important changes: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n- BLACKBOX tells the assistant to ask you before actions that cost money, before canceling an order, deleting SSH keys or disabling password login, but not before running commands on the server. Your approval in the AI client is the only check: for `run_server_command`, don't choose the option that always allows the tool.\n- Use a separate token for `servers:exec`, and revoke it when you no longer need it: [Token and AI agent security](#ai.securitate).\n\n> **Security**\n> When the assistant reads content from untrusted sources (web pages, logs, emails, files you've received), the text there can “ask” it to run commands. If a proposed command has nothing to do with your task, reject it.\n\n## Frequently asked questions\n\n**The assistant says it doesn't have the `run_server_command` tool. Why?**\nThe token doesn't have the `servers:exec` permission, and tools without permission are not shown to the assistant. Create a new token with “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) checked, and replace the old token in the client.\n\n**Do I need to use `sudo`?**\nNo, commands already run as `root`. To run something as another user:\n\n```bash\nrunuser -u USERNAME -- COMMAND\n```\n\n**Can I disable SSH password login with a command?**\nDon't change `PasswordAuthentication` with commands. Ask the assistant to use the `set_server_password_auth` tool, or use the “Disable password login” / “Enable password login” buttons in the panel: they check the configuration and won't leave you without access ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)).\n\n**Can I work interactively or copy files?**\nNot through `run_server_command`. For `rsync`, `scp` or an SSH session in your own terminal, the assistant can request SSH access: [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n"
   }
  },
  {
   "id": "ai.acces-ssh-prin-ai",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/acces-ssh-prin-ai/",
    "ru": "https://docs.blackbox.md/ru/ai/acces-ssh-prin-ai/",
    "en": "https://docs.blackbox.md/en/ai/acces-ssh-prin-ai/"
   },
   "title": {
    "ro": "Acces SSH și chei SSH prin asistentul AI",
    "ru": "SSH-доступ и SSH-ключи через AI-ассистента",
    "en": "SSH access and SSH keys through the AI assistant"
   },
   "summary": {
    "ro": "Cum obține asistentul acces SSH direct, cum gestionează cheile din cont și de pe server și ce protecții există.",
    "ru": "Как ассистент получает прямой SSH-доступ, управляет ключами в аккаунте и на сервере и какие есть защиты.",
    "en": "How the assistant gets direct SSH access, how it manages the keys in your account and on the server, and what safeguards are in place."
   },
   "markdown": {
    "ro": "Un asistent AI conectat prin MCP (`https://api.app.blackbox.md/mcp`) poate obține, la cererea dvs., acces SSH direct la serverele dvs. și poate gestiona cheile SSH din cont și de pe server. Accesul i-l acordați printr-un token API creat în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`). Aceleași chei le puteți gestiona și manual: pe pagina „Chei SSH” din cont și pe cardul serverului din „Serverele mele”, în panoul app.blackbox.md.\n\n**Disponibil pentru:** titularul contului blackbox.md, printr-un token API cu permisiunile de mai jos. Uneltele pentru server funcționează pe serverele comandate de dvs. și pe serverele unei companii la care BLACKBOX v-a acordat drept de administrare. Pe serverele marcate „Administrat” în panou (doar vizualizare) ele nu funcționează; pentru modificări pe aceste servere, scrieți-ne.\n\n## Uneltele și permisiunile necesare\n\n| Unealtă | Ce face | Permisiune | Limită |\n|---|---|---|---|\n| `get_server_ssh_access` | emite cheia agentului și datele de conectare SSH | `servers:credentials` | 10 în 5 minute |\n| `list_ssh_keys` | arată cheile salvate în cont | `ssh_keys:read` | 30 pe minut |\n| `add_ssh_key` | salvează o cheie publică în cont | `ssh_keys:write` | 10 pe oră |\n| `delete_ssh_key` | șterge o cheie din cont | `ssh_keys:write` | 20 pe oră |\n| `add_server_ssh_key` | instalează o cheie pe server | `servers:credentials` | 10 în 5 minute |\n| `list_server_ssh_keys` | arată cheile instalate pe server | `servers:credentials` | 30 pe minut |\n| `remove_server_ssh_key` | șterge o cheie de pe server | `servers:credentials` | 10 în 5 minute |\n| `set_server_password_auth` | activează sau dezactivează autentificarea SSH cu parolă | `servers:credentials` | 5 în 5 minute |\n\n- Pe pagina token-urilor, permisiunile se numesc „Vizualizează parolele/accesul serverelor” (`servers:credentials`), „Citește lista cheilor mele SSH” (`ssh_keys:read`) și „Adaugă și șterge cheile mele SSH” (`ssh_keys:write`). Uneltele pentru care token-ul nu are permisiune nu apar în lista asistentului. Detalii: [Permisiunile token-urilor (scopes)](#ai.permisiuni).\n- Limitele sunt comune pentru toate token-urile contului și separate de limitele panoului. Toate uneltele MCP împreună acceptă cel mult 120 de apeluri pe minut.\n\n## Accesul SSH direct pentru asistent\n\n`get_server_ssh_access` îi dă asistentului o cheie SSH proprie pentru un server: cheia agentului. BLACKBOX generează o cheie Ed25519 cu comentariul `blackbox-agent-…`, o adaugă în `/root/.ssh/authorized_keys` și o returnează împreună cu datele de conectare.\n\n1. Cereți asistentului, de exemplu: „Dă-mi acces SSH la serverul `IP_SERVER`, vreau să copiez fișiere cu rsync.”\n2. Asistentul apelează `get_server_ssh_access`. Clientul AI vă poate cere să aprobați apelul.\n3. Răspunsul conține:\n\n   | Câmp | Conținut |\n   |---|---|\n   | `host`, `port`, `username` | adresa IP a serverului, portul SSH și utilizatorul `root` |\n   | `private_key` | partea privată a cheii, în format OpenSSH, fără parolă de protecție |\n   | `public_key`, `fingerprint` | linia publică `ssh-ed25519 … blackbox-agent-…` și amprenta `SHA256:…` |\n   | `ssh_command` | comanda gata de folosit, `ssh -i <keyfile> -p PORT root@IP`; în locul `<keyfile>` puneți calea fișierului cu cheia |\n   | `created`, `rotated`, `previous_key_removed` | dacă cheia a fost creată acum, dacă a fost înlocuită și dacă cea veche a fost ștearsă |\n\n- Fiecare apel returnează aceeași cheie și o pune la loc dacă între timp a fost ștearsă de pe server. Pe serverele comandate pe blackbox.md, cheia se adaugă de regulă la crearea serverului; dacă serverul nu a primit-o atunci, ea se creează la primul apel.\n- Pe un server există o singură cheie de agent, comună pentru toate token-urile dvs.\n- Cu `regenerate=true` se creează o cheie nouă, iar cea veche se șterge de pe server. Dacă ștergerea nu reușește, răspunsul arată `previous_key_removed: false`: ștergeți atunci din panou cheia `blackbox-agent-…` a cărei amprentă diferă de cea din răspuns.\n\nPentru comenzi obișnuite asistentul nu are nevoie de cheie: folosește `run_server_command` ([Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server)). Cheia agentului este utilă pentru copierea fișierelor cu `rsync` sau `scp`, pentru sesiuni interactive în propriul terminal și pentru instrumente care cer o conexiune SSH reală (de exemplu VS Code Remote - SSH sau Ansible). Asistentul o poate folosi singur doar dacă clientul AI rulează comenzi pe calculatorul dvs. (de exemplu Claude Code sau Cursor); altfel vă poate da cheia și comanda, ca să vă conectați dvs.\n\n## Cum folosiți cheia agentului din terminalul dvs.\n\n1. Cereți explicit asistentului să vă afișeze cheia privată: el este instruit să nu afișeze parole și chei în conversație fără o cerere explicită.\n2. Copiați tot textul, de la `-----BEGIN OPENSSH PRIVATE KEY-----` până la `-----END OPENSSH PRIVATE KEY-----` inclusiv, într-un fișier nou, de exemplu `~/.ssh/blackbox_agent`. După ultima linie apăsați Enter, ca fișierul să se încheie cu un rând nou; altfel SSH poate răspunde `invalid format`.\n3. Pe macOS și Linux, restrângeți drepturile fișierului și conectați-vă:\n\n   ```bash\n   chmod 600 ~/.ssh/blackbox_agent\n   ssh -i ~/.ssh/blackbox_agent -p 22 root@IP_SERVER\n   ```\n\n4. Pe Windows, verificați că fișierul nu a primit extensia `.txt`. În PowerShell, lăsați acces la fișier doar utilizatorului dvs. (altfel SSH poate refuza cheia cu `UNPROTECTED PRIVATE KEY FILE`), apoi conectați-vă:\n\n   ```powershell\n   icacls $env:USERPROFILE\\.ssh\\blackbox_agent /inheritance:r /grant:r \"$($env:USERNAME):(R)\"\n   ssh -i $env:USERPROFILE\\.ssh\\blackbox_agent -p 22 root@IP_SERVER\n   ```\n\nCopierea fișierelor cu aceeași cheie:\n\n```bash\nrsync -avz -e \"ssh -i ~/.ssh/blackbox_agent\" ./site/ root@IP_SERVER:/var/www/site/\nscp -i ~/.ssh/blackbox_agent backup.tar.gz root@IP_SERVER:/root/\n```\n\nDetalii: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). Pentru accesul dvs. permanent instalați propria cheie: cheia agentului poate fi înlocuită oricând de un asistent, cu `regenerate=true`.\n\n## Cheile din cont\n\n`list_ssh_keys`, `add_ssh_key` și `delete_ssh_key` lucrează cu aceleași chei ca pagina „Chei SSH” (`blackbox.md/account/ssh-keys`, „Contul meu” → „Chei SSH”): o cheie adăugată de asistent apare acolo, și invers. Regulile sunt aceleași ([Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont)):\n\n- cel mult 20 de chei pe cont (altfel `too_many_keys`);\n- o singură linie de cheie publică `ssh-ed25519`, `ssh-rsa` (cel puțin 2048 de biți), `ecdsa-sha2-nistp256/384/521`, `sk-ssh-ed25519@openssh.com` sau `sk-ecdsa-sha2-nistp256@openssh.com` (altfel `invalid_public_key`, `unsupported_key_type` sau `key_too_weak`);\n- nume obligatoriu, pe un singur rând, de cel mult 80 de caractere;\n- o cheie privată este refuzată (`private_key_submitted`), la fel ca o cheie deja salvată (`duplicate_key`).\n\nExemplu: „Salvează în contul meu cheia publică de mai jos, cu numele «Laptop birou».” `add_ssh_key` nu instalează cheia pe niciun server; pentru asta asistentul folosește apoi `add_server_ssh_key`. Invers, `delete_ssh_key` șterge cheia doar din cont: pe serverele unde este instalată, ea funcționează până o ștergeți de pe fiecare server.\n\n## Cheile de pe server\n\nAceste unelte folosesc conexiunea de administrare BLACKBOX, fără parola sau cheia dvs. `add_server_ssh_key`, `list_server_ssh_keys` și `remove_server_ssh_key` lucrează cu `/root/.ssh/authorized_keys`, la fel ca secțiunea „Adaugă cheie SSH” de pe cardul serverului ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)).\n\n| Unealtă | Ce transmite asistentul | Rezultat |\n|---|---|---|\n| `add_server_ssh_key` | o cheie din cont (`id` din `list_ssh_keys`) sau o linie de cheie publică lipită, exact una | `added` sau `already_present` (era deja instalată, nu s-a schimbat nimic) |\n| `list_server_ssh_keys` | serverul | tipul, amprenta și comentariul fiecărei chei; `is_management` marchează „Cheie de administrare (blackbox.md)”, `is_agent` cheia agentului; plus starea autentificării cu parolă (`ssh_password_auth`) |\n| `remove_server_ssh_key` | amprenta din `list_server_ssh_keys`, `id`-ul unei chei din cont sau linia cheii publice, exact una | `removed` sau `not_present` (cheia nu era instalată) |\n| `set_server_password_auth` | `enabled=false` sau `enabled=true` | starea aplicată, `effective`: `no` sau `yes` |\n\n- O cheie lipită se instalează doar pe acel server și nu se salvează în cont.\n- `set_server_password_auth` face același lucru ca butoanele „Dezactivează login cu parolă” și „Activează login cu parolă”: scrie setările într-un fișier din `/etc/ssh/sshd_config.d/`, le verifică, reîncarcă SSH și restaurează setările anterioare dacă un pas eșuează. Insigna de pe card devine „Doar cheie” sau „Parolă + cheie” ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)). Cereți asistentului să folosească această unealtă, nu să editeze `sshd_config` prin comenzi.\n\nExemple: „Instalează cheia «Laptop birou» pe serverul `IP_SERVER`.”, „Ce chei SSH sunt instalate pe serverul `IP_SERVER`?”\n\n## Protecții împotriva blocării accesului\n\n| Situația | Eroarea | Rezultat |\n|---|---|---|\n| ștergerea cheii de administrare | `management_key_protected` | refuzată întotdeauna, ca și în panou |\n| pe un server al companiei: ștergerea unei chei administrate de BLACKBOX | `key_managed` | refuzată; pentru modificări, scrieți-ne |\n| ștergerea ultimei chei de pe un server „Doar cheie” | `last_key_on_key_only_server` | refuzată; adăugați întâi altă cheie sau reactivați autentificarea cu parolă |\n| dezactivarea autentificării cu parolă când pe server nu este instalată nicio cheie a dvs. | `no_customer_key_installed` | refuzată; instalați întâi o cheie |\n| altă modificare a cheilor rulează deja pe același server | `operation_in_progress` | refuzată; reîncercați peste un minut |\n\nAsistentul este instruit să vă ceară confirmarea înainte să șteargă o cheie de pe server, să dezactiveze autentificarea cu parolă sau să înlocuiască cheia agentului. Fereastra de confirmare o afișează însă clientul AI: păstrați activă aprobarea acțiunilor în setările lui.\n\n> **Important**\n> Protecțiile nu înlocuiesc propria verificare. Înainte să dezactivați parola sau să ștergeți o cheie, verificați într-un terminal nou că vă conectați cu propria cheie și țineți deschisă sesiunea curentă. Clienții nu au consolă web sau VNC; dacă pierdeți accesul, vedeți [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Cum revocați accesul SSH al asistentului\n\n> **Securitate**\n> Cheia privată primită de la `get_server_ssh_access` dă acces `root`: păstrați-o ca pe o parolă. Ea trece prin clientul AI și prin furnizorul acestuia, ca orice rezultat al uneltelor. Nu o trimiteți în chat-uri și nu o salvați în depozite de cod.\n\n1. Revocați token-urile pe care nu le mai folosiți: „Contul meu” → „Token-uri API” → „Revocă” ([Token-uri API: creare, copiere și revocare](#ai.token-uri-api)). Altfel, orice token cu `servers:credentials` poate reinstala cheia la următorul apel.\n2. Ștergeți cheia agentului din panou: pe cardul serverului, „Adaugă cheie SSH” → „Chei instalate” → rândul cu comentariul `blackbox-agent-…` → „Șterge”, apoi confirmați. Apare „Cheie ștearsă.” ([Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox)).\n3. Dacă asistentul mai are nevoie de acces SSH, cereți-i o cheie nouă cu `regenerate=true`. Un apel fără `regenerate` ar pune la loc cheia veche.\n\n## Erori frecvente\n\n| Eroarea | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `missing_scope: this token does not have '…'` | token-ul nu are permisiunea necesară | creați un token nou cu permisiunea numită în eroare |\n| `not_found` | serverul sau cheia nu există ori nu aparțin contului dvs.; același cod apare pe serverele „Administrat” | cereți asistentului să verifice lista serverelor sau a cheilor; pentru serverele „Administrat”, scrieți-ne |\n| `rate_limited` | ați depășit limita uneltei | așteptați să treacă intervalul din tabelul de mai sus (cel mult o oră) |\n| `ssh_connection_failed`, `ssh_key_push_failed`, `ssh_key_list_failed`, `ssh_key_remove_failed`, `password_auth_failed` | BLACKBOX nu a putut finaliza operația pe server: de regulă serverul este oprit, încă pornește sau cheia de administrare a fost ștearsă | porniți serverul, așteptați un minut și reîncercați; dacă eroarea persistă, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact) |\n\nLista completă: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**De ce asistentul spune că nu are unealta `get_server_ssh_access`?**\nToken-ul nu are permisiunea „Vizualizează parolele/accesul serverelor” (`servers:credentials`). Permisiunile nu se pot adăuga unui token existent: creați un token nou.\n\n**Am șters cheia agentului din panou și a apărut din nou. De ce?**\nUn asistent cu un token care are `servers:credentials` a cerut din nou acces SSH, iar `get_server_ssh_access` a pus la loc aceeași cheie. Revocați token-urile nefolosite sau cereți o cheie nouă cu `regenerate=true`.\n\n**Accesul prin asistent funcționează pe un server „Doar cheie”?**\nDa. Cheia agentului se instalează prin conexiunea de administrare BLACKBOX, iar conectarea cu cheie funcționează și când autentificarea cu parolă este dezactivată.\n",
    "ru": "AI-ассистент, подключённый через MCP (`https://api.app.blackbox.md/mcp`), может по вашей просьбе получить прямой SSH-доступ к вашим серверам и управлять SSH-ключами в аккаунте и на сервере. Доступ ассистенту даёт API-токен, созданный в разделе «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`). Теми же ключами можно управлять и вручную: на странице «SSH-ключи» в личном кабинете и в карточке сервера на странице «Мои серверы» в панели app.blackbox.md.\n\n**Доступно:** владельцу аккаунта blackbox.md — по API-токену с разрешениями из таблицы ниже. Серверные инструменты работают на серверах, которые вы заказали сами, и на серверах компании, на которые BLACKBOX выдал вам права управления. На серверах с отметкой «Обслуживается» в панели (только просмотр) они не работают — изменения на таких серверах запрашивайте у нас.\n\n## Инструменты и нужные разрешения\n\n| Инструмент | Что делает | Разрешение | Лимит |\n|---|---|---|---|\n| `get_server_ssh_access` | выдаёт ключ агента и данные для SSH-подключения | `servers:credentials` | 10 за 5 минут |\n| `list_ssh_keys` | показывает ключи, сохранённые в аккаунте | `ssh_keys:read` | 30 в минуту |\n| `add_ssh_key` | сохраняет публичный ключ в аккаунте | `ssh_keys:write` | 10 в час |\n| `delete_ssh_key` | удаляет ключ из аккаунта | `ssh_keys:write` | 20 в час |\n| `add_server_ssh_key` | устанавливает ключ на сервер | `servers:credentials` | 10 за 5 минут |\n| `list_server_ssh_keys` | показывает ключи, установленные на сервере | `servers:credentials` | 30 в минуту |\n| `remove_server_ssh_key` | удаляет ключ с сервера | `servers:credentials` | 10 за 5 минут |\n| `set_server_password_auth` | включает или отключает вход по паролю по SSH | `servers:credentials` | 5 за 5 минут |\n\n- На странице токенов эти разрешения называются «Просматривать пароли/доступы к серверам» (`servers:credentials`), «Читать список моих SSH-ключей» (`ssh_keys:read`) и «Добавлять и удалять мои SSH-ключи» (`ssh_keys:write`). Инструменты, для которых у токена нет разрешения, ассистенту не видны. Подробнее: [Разрешения токенов (scopes)](#ai.permisiuni).\n- Лимиты общие для всех токенов аккаунта и не зависят от лимитов панели. Все инструменты MCP вместе принимают не более 120 вызовов в минуту.\n\n## Прямой SSH-доступ для ассистента\n\n`get_server_ssh_access` выдаёт ассистенту собственный SSH-ключ для сервера — ключ агента. BLACKBOX создаёт ключ Ed25519 с комментарием `blackbox-agent-…`, добавляет его в `/root/.ssh/authorized_keys` и возвращает вместе с данными для подключения.\n\n1. Попросите ассистента, например: «Дай мне SSH-доступ к серверу `IP_СЕРВЕРА`, хочу скопировать файлы через rsync».\n2. Ассистент вызывает `get_server_ssh_access`. AI-клиент может попросить вас одобрить вызов.\n3. В ответе приходит:\n\n   | Поле | Содержимое |\n   |---|---|\n   | `host`, `port`, `username` | IP-адрес сервера, порт SSH и пользователь `root` |\n   | `private_key` | приватная часть ключа в формате OpenSSH, без парольной защиты |\n   | `public_key`, `fingerprint` | публичная строка `ssh-ed25519 … blackbox-agent-…` и отпечаток `SHA256:…` |\n   | `ssh_command` | готовая команда `ssh -i <keyfile> -p ПОРТ root@IP`; вместо `<keyfile>` подставьте путь к файлу с ключом |\n   | `created`, `rotated`, `previous_key_removed` | создан ли ключ только что, был ли он заменён и удалён ли старый |\n\n- Каждый вызов выдаёт один и тот же ключ и заново устанавливает его на сервер, если ключ тем временем удалили. На серверах, заказанных на blackbox.md, ключ агента обычно добавляется при создании сервера; если сервер тогда его не получил, ключ создаётся при первом вызове.\n- На одном сервере только один ключ агента, общий для всех ваших токенов.\n- С `regenerate=true` создаётся новый ключ, а старый удаляется с сервера. Если удалить старый не получилось, в ответе будет `previous_key_removed: false` — тогда удалите в панели ключ `blackbox-agent-…`, отпечаток которого не совпадает с отпечатком из ответа.\n\nДля обычных команд ключ ассистенту не нужен: он пользуется `run_server_command` ([Выполнение команд на сервере через AI](#ai.comenzi-pe-server)). Ключ агента пригодится, чтобы копировать файлы через `rsync` или `scp`, работать в интерактивной сессии в собственном терминале и подключать инструменты, которым нужно настоящее SSH-соединение (например, VS Code Remote - SSH или Ansible). Сам ассистент может им воспользоваться, только если AI-клиент выполняет команды на вашем компьютере (например, Claude Code или Cursor); иначе он передаст ключ и команду вам.\n\n## Как подключиться с ключом агента из своего терминала\n\n1. Явно попросите ассистента показать приватный ключ: по инструкции он не выводит пароли и ключи в переписку без прямой просьбы.\n2. Скопируйте весь текст — от `-----BEGIN OPENSSH PRIVATE KEY-----` до `-----END OPENSSH PRIVATE KEY-----` включительно — в новый файл, например `~/.ssh/blackbox_agent`. После последней строки нажмите Enter, чтобы файл заканчивался переводом строки, иначе SSH может ответить `invalid format`.\n3. В macOS и Linux ограничьте права на файл и подключитесь:\n\n   ```bash\n   chmod 600 ~/.ssh/blackbox_agent\n   ssh -i ~/.ssh/blackbox_agent -p 22 root@IP_СЕРВЕРА\n   ```\n\n4. В Windows проверьте, что у файла не появилось расширение `.txt`. В PowerShell оставьте доступ к файлу только своему пользователю (иначе SSH может отклонить ключ с сообщением `UNPROTECTED PRIVATE KEY FILE`) и подключитесь:\n\n   ```powershell\n   icacls $env:USERPROFILE\\.ssh\\blackbox_agent /inheritance:r /grant:r \"$($env:USERNAME):(R)\"\n   ssh -i $env:USERPROFILE\\.ssh\\blackbox_agent -p 22 root@IP_СЕРВЕРА\n   ```\n\nКопирование файлов с тем же ключом:\n\n```bash\nrsync -avz -e \"ssh -i ~/.ssh/blackbox_agent\" ./site/ root@IP_СЕРВЕРА:/var/www/site/\nscp -i ~/.ssh/blackbox_agent backup.tar.gz root@IP_СЕРВЕРА:/root/\n```\n\nПодробнее: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). Для постоянного личного доступа установите свой ключ: ключ агента любой ассистент может в любой момент заменить через `regenerate=true`.\n\n## Ключи в аккаунте\n\n`list_ssh_keys`, `add_ssh_key` и `delete_ssh_key` работают с теми же ключами, что и страница «SSH-ключи» (`blackbox.md/ru/account/ssh-keys`, «Личный кабинет» → «SSH-ключи»): ключ, добавленный ассистентом, появится там, и наоборот. Правила те же ([SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont)):\n\n- не более 20 ключей на аккаунт (иначе `too_many_keys`);\n- одна строка публичного ключа `ssh-ed25519`, `ssh-rsa` (не короче 2048 бит), `ecdsa-sha2-nistp256/384/521`, `sk-ssh-ed25519@openssh.com` или `sk-ecdsa-sha2-nistp256@openssh.com` (иначе `invalid_public_key`, `unsupported_key_type` или `key_too_weak`);\n- название обязательно, в одну строку, не длиннее 80 символов;\n- приватный ключ не принимается (`private_key_submitted`), как и уже сохранённый ключ (`duplicate_key`).\n\nПример: «Сохрани в моём аккаунте этот публичный ключ под названием „Рабочий ноутбук“». `add_ssh_key` не устанавливает ключ ни на один сервер — для этого ассистент затем вызывает `add_server_ssh_key`. И наоборот, `delete_ssh_key` удаляет ключ только из аккаунта: на серверах, где он установлен, ключ работает, пока вы не удалите его с каждого сервера.\n\n## Ключи на сервере\n\nЭти инструменты используют управляющее подключение BLACKBOX — без вашего пароля и ключа. `add_server_ssh_key`, `list_server_ssh_keys` и `remove_server_ssh_key` работают с `/root/.ssh/authorized_keys`, как и раздел «Добавить SSH-ключ» в карточке сервера ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)).\n\n| Инструмент | Что передаёт ассистент | Результат |\n|---|---|---|\n| `add_server_ssh_key` | ключ из аккаунта (`id` из `list_ssh_keys`) или вставленную строку публичного ключа — что-то одно | `added` или `already_present` (ключ уже был установлен, ничего не изменилось) |\n| `list_server_ssh_keys` | сервер | тип, отпечаток и комментарий каждого ключа; `is_management` отмечает «Ключ управления (blackbox.md)», `is_agent` — ключ агента; плюс состояние входа по паролю (`ssh_password_auth`) |\n| `remove_server_ssh_key` | отпечаток из `list_server_ssh_keys`, `id` ключа из аккаунта или строку публичного ключа — что-то одно | `removed` или `not_present` (ключ не был установлен) |\n| `set_server_password_auth` | `enabled=false` или `enabled=true` | применённое состояние, `effective`: `no` или `yes` |\n\n- Вставленный ключ устанавливается только на этот сервер и в аккаунте не сохраняется.\n- `set_server_password_auth` делает то же, что кнопки «Отключить вход по паролю» и «Включить вход по паролю»: записывает настройки в файл в каталоге `/etc/ssh/sshd_config.d/`, проверяет их, перезагружает конфигурацию SSH и восстанавливает прежние настройки, если какой-то шаг не удался. Отметка в карточке меняется на «Только ключ» или «Пароль + ключ» ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)). Просите ассистента пользоваться этим инструментом, а не править `sshd_config` командами.\n\nПримеры: «Установи ключ „Рабочий ноутбук“ на сервер `IP_СЕРВЕРА`», «Какие SSH-ключи установлены на сервере `IP_СЕРВЕРА`?»\n\n## Защита от потери доступа\n\n| Ситуация | Ошибка | Результат |\n|---|---|---|\n| удаление ключа управления | `management_key_protected` | всегда отклоняется, как и в панели |\n| на сервере компании: удаление ключа, которым управляет BLACKBOX | `key_managed` | отклоняется; изменения запрашивайте у нас |\n| удаление последнего ключа на сервере «Только ключ» | `last_key_on_key_only_server` | отклоняется; сначала добавьте другой ключ или снова включите вход по паролю |\n| отключение входа по паролю, когда на сервере не установлен ни один ваш ключ | `no_customer_key_installed` | отклоняется; сначала установите ключ |\n| на том же сервере уже идёт другое изменение ключей | `operation_in_progress` | отклоняется; повторите через минуту |\n\nАссистенту предписано спрашивать подтверждение, прежде чем удалить ключ с сервера, отключить вход по паролю или заменить ключ агента. Но само окно подтверждения показывает AI-клиент — не отключайте в его настройках одобрение действий.\n\n> **Важно**\n> Защита не заменяет собственную проверку. Прежде чем отключать пароль или удалять ключ, убедитесь в новом терминале, что входите со своим ключом, и не закрывайте текущую сессию. Веб- и VNC-консоли у клиентов нет; если доступ потерян, см. [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Как отозвать SSH-доступ ассистента\n\n> **Безопасность**\n> Приватный ключ из `get_server_ssh_access` даёт доступ `root` — храните его как пароль. Он проходит через AI-клиент и его провайдера, как и любой результат инструментов. Не пересылайте его в мессенджерах и не сохраняйте в репозиториях кода.\n\n1. Отзовите токены, которыми больше не пользуетесь: «Личный кабинет» → «API-токены» → «Отозвать» ([API-токены: создание, копирование и отзыв](#ai.token-uri-api)). Иначе любой токен с `servers:credentials` при следующем вызове вернёт ключ на сервер.\n2. Удалите ключ агента в панели: в карточке сервера «Добавить SSH-ключ» → «Установленные ключи» → строка с комментарием `blackbox-agent-…` → «Удалить», затем подтвердите. Появится сообщение «Ключ удалён.» ([Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox)).\n3. Если SSH-доступ ассистенту ещё нужен, попросите новый ключ с `regenerate=true`. Вызов без `regenerate` вернул бы на сервер старый ключ.\n\n## Частые ошибки\n\n| Ошибка | Что значит | Что делать |\n|---|---|---|\n| `missing_scope: this token does not have '…'` | у токена нет нужного разрешения | создайте новый токен с разрешением, указанным в ошибке |\n| `not_found` | сервер или ключ не существует либо не принадлежит вашему аккаунту; тот же код приходит для серверов с отметкой «Обслуживается» | попросите ассистента сверить список серверов или ключей; по серверам «Обслуживается» напишите нам |\n| `rate_limited` | превышен лимит инструмента | подождите, пока истечёт интервал из таблицы выше (не больше часа) |\n| `ssh_connection_failed`, `ssh_key_push_failed`, `ssh_key_list_failed`, `ssh_key_remove_failed`, `password_auth_failed` | BLACKBOX не смог выполнить операцию на сервере: как правило, сервер остановлен, ещё загружается или с него удалён ключ управления | запустите сервер, подождите минуту и повторите; если ошибка не уходит, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact) |\n\nПолный список: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**Почему ассистент говорит, что у него нет инструмента `get_server_ssh_access`?**\nУ токена нет разрешения «Просматривать пароли/доступы к серверам» (`servers:credentials`). Добавить разрешение к существующему токену нельзя — создайте новый.\n\n**Я удалил ключ агента в панели, а он появился снова. Почему?**\nАссистент с токеном, у которого есть `servers:credentials`, снова запросил SSH-доступ, и `get_server_ssh_access` вернул тот же ключ на место. Отзовите неиспользуемые токены или запросите новый ключ с `regenerate=true`.\n\n**Работает ли доступ через ассистента на сервере «Только ключ»?**\nДа. Ключ агента устанавливается через управляющее подключение BLACKBOX, а вход по ключу работает и при отключённом входе по паролю.\n",
    "en": "An AI assistant connected through MCP (`https://api.app.blackbox.md/mcp`) can, at your request, get direct SSH access to your servers and manage SSH keys in your account and on the server. You give it access with an API token created in “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`). You can also manage the same keys yourself: on the “Chei SSH” (SSH keys) page in your account, and on the server card in “My Servers”, in the app.blackbox.md panel.\n\n**Available to:** the holder of the blackbox.md account, through an API token with the permissions below. The server tools work on the servers you ordered and on a company's servers for which BLACKBOX has given you management rights. They do not work on servers marked “Managed” in the panel (view only); for changes to those servers, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Tools and required permissions\n\n| Tool | What it does | Permission | Limit |\n|---|---|---|---|\n| `get_server_ssh_access` | issues the agent key and the SSH connection details | `servers:credentials` | 10 in 5 minutes |\n| `list_ssh_keys` | shows the keys saved in your account | `ssh_keys:read` | 30 per minute |\n| `add_ssh_key` | saves a public key in your account | `ssh_keys:write` | 10 per hour |\n| `delete_ssh_key` | deletes a key from your account | `ssh_keys:write` | 20 per hour |\n| `add_server_ssh_key` | installs a key on the server | `servers:credentials` | 10 in 5 minutes |\n| `list_server_ssh_keys` | shows the keys installed on the server | `servers:credentials` | 30 per minute |\n| `remove_server_ssh_key` | removes a key from the server | `servers:credentials` | 10 in 5 minutes |\n| `set_server_password_auth` | turns SSH password login on or off | `servers:credentials` | 5 in 5 minutes |\n\n- On the tokens page, these permissions are called “Vizualizează parolele/accesul serverelor” (View server passwords/access) (`servers:credentials`), “Citește lista cheilor mele SSH” (Read the list of my SSH keys) (`ssh_keys:read`) and “Adaugă și șterge cheile mele SSH” (Add and delete my SSH keys) (`ssh_keys:write`). Tools that the token has no permission for do not appear in the assistant's list. Details: [Token permissions (scopes)](#ai.permisiuni).\n- The limits are shared by all the tokens in your account and are separate from the panel's limits. All MCP tools together accept at most 120 calls per minute.\n\n## Direct SSH access for the assistant\n\n`get_server_ssh_access` gives the assistant its own SSH key for a server: the agent key. BLACKBOX generates an Ed25519 key with the comment `blackbox-agent-…`, adds it to `/root/.ssh/authorized_keys`, and returns it together with the connection details.\n\n1. Ask the assistant, for example: “Give me SSH access to the server `SERVER_IP`, I want to copy files with rsync.”\n2. The assistant calls `get_server_ssh_access`. The AI client may ask you to approve the call.\n3. The response contains:\n\n   | Field | Content |\n   |---|---|\n   | `host`, `port`, `username` | the server's IP address, the SSH port and the `root` user |\n   | `private_key` | the private part of the key, in OpenSSH format, not protected by a passphrase |\n   | `public_key`, `fingerprint` | the public line `ssh-ed25519 … blackbox-agent-…` and the `SHA256:…` fingerprint |\n   | `ssh_command` | the ready-to-use command, `ssh -i <keyfile> -p PORT root@IP`; replace `<keyfile>` with the path to the file that holds the key |\n   | `created`, `rotated`, `previous_key_removed` | whether the key was just created, whether it was replaced, and whether the old one was deleted |\n\n- Every call returns the same key and puts it back if it was deleted from the server in the meantime. On servers ordered on blackbox.md, the key is usually added when the server is created; if the server did not receive it then, it is created at the first call.\n- A server has a single agent key, shared by all your tokens.\n- With `regenerate=true`, a new key is created and the old one is deleted from the server. If the deletion fails, the response shows `previous_key_removed: false`: in that case, remove in the panel the `blackbox-agent-…` key whose fingerprint differs from the one in the response.\n\nThe assistant does not need a key for ordinary commands: it uses `run_server_command` ([Running commands on the server through AI](#ai.comenzi-pe-server)). The agent key is useful for copying files with `rsync` or `scp`, for interactive sessions in your own terminal, and for tools that need a real SSH connection (for example VS Code Remote - SSH or Ansible). The assistant can use it on its own only if the AI client runs commands on your computer (for example Claude Code or Cursor); otherwise, it can give you the key and the command so that you connect yourself.\n\n## How to use the agent key from your terminal\n\n1. Explicitly ask the assistant to show you the private key: it is instructed not to show passwords and keys in the conversation unless you explicitly ask.\n2. Copy all the text, from `-----BEGIN OPENSSH PRIVATE KEY-----` up to and including `-----END OPENSSH PRIVATE KEY-----`, into a new file, for example `~/.ssh/blackbox_agent`. After the last line, press Enter so that the file ends with a new line; otherwise SSH may respond with `invalid format`.\n3. On macOS and Linux, restrict the file's permissions and connect:\n\n   ```bash\n   chmod 600 ~/.ssh/blackbox_agent\n   ssh -i ~/.ssh/blackbox_agent -p 22 root@SERVER_IP\n   ```\n\n4. On Windows, check that the file did not get a `.txt` extension. In PowerShell, give access to the file only to your user (otherwise SSH may reject the key with `UNPROTECTED PRIVATE KEY FILE`), then connect:\n\n   ```powershell\n   icacls $env:USERPROFILE\\.ssh\\blackbox_agent /inheritance:r /grant:r \"$($env:USERNAME):(R)\"\n   ssh -i $env:USERPROFILE\\.ssh\\blackbox_agent -p 22 root@SERVER_IP\n   ```\n\nCopying files with the same key:\n\n```bash\nrsync -avz -e \"ssh -i ~/.ssh/blackbox_agent\" ./site/ root@SERVER_IP:/var/www/site/\nscp -i ~/.ssh/blackbox_agent backup.tar.gz root@SERVER_IP:/root/\n```\n\nDetails: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). For your own permanent access, install your own key: any assistant can replace the agent key at any time with `regenerate=true`.\n\n## The keys in your account\n\n`list_ssh_keys`, `add_ssh_key` and `delete_ssh_key` work with the same keys as the “Chei SSH” (SSH keys) page (`blackbox.md/account/ssh-keys`, “Contul meu” (My account) → “Chei SSH”): a key added by the assistant appears there, and the other way around. The same rules apply ([SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont)):\n\n- at most 20 keys per account (otherwise `too_many_keys`);\n- a single public key line of type `ssh-ed25519`, `ssh-rsa` (at least 2048 bits), `ecdsa-sha2-nistp256/384/521`, `sk-ssh-ed25519@openssh.com` or `sk-ecdsa-sha2-nistp256@openssh.com` (otherwise `invalid_public_key`, `unsupported_key_type` or `key_too_weak`);\n- a required name, on a single line, of at most 80 characters;\n- a private key is rejected (`private_key_submitted`), and so is a key that is already saved (`duplicate_key`).\n\nExample: “Save the public key below in my account, with the name ‘Work laptop’.” `add_ssh_key` does not install the key on any server; for that, the assistant then uses `add_server_ssh_key`. The other way around, `delete_ssh_key` deletes the key only from your account: on the servers where it is installed, the key keeps working until you remove it from each server.\n\n## The keys on the server\n\nThese tools use the BLACKBOX management connection, without your password or key. `add_server_ssh_key`, `list_server_ssh_keys` and `remove_server_ssh_key` work with `/root/.ssh/authorized_keys`, just like the “Add SSH key” section on the server card ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)).\n\n| Tool | What the assistant sends | Result |\n|---|---|---|\n| `add_server_ssh_key` | a key from your account (`id` from `list_ssh_keys`) or a pasted public key line, exactly one of the two | `added` or `already_present` (it was already installed; nothing changed) |\n| `list_server_ssh_keys` | the server | the type, fingerprint and comment of each key; `is_management` marks “Management key (blackbox.md)”, `is_agent` the agent key; plus the password login status (`ssh_password_auth`) |\n| `remove_server_ssh_key` | the fingerprint from `list_server_ssh_keys`, the `id` of a key in your account, or the public key line, exactly one of these | `removed` or `not_present` (the key was not installed) |\n| `set_server_password_auth` | `enabled=false` or `enabled=true` | the applied state, `effective`: `no` or `yes` |\n\n- A pasted key is installed only on that server and is not saved in your account.\n- `set_server_password_auth` does the same thing as the “Disable password login” and “Enable password login” buttons: it writes the settings to a file in `/etc/ssh/sshd_config.d/`, checks them, reloads SSH, and restores the previous settings if a step fails. The badge on the card changes to “Key-only” or “Password + key” ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)). Ask the assistant to use this tool, not to edit `sshd_config` with commands.\n\nExamples: “Install the ‘Work laptop’ key on the server `SERVER_IP`.”, “Which SSH keys are installed on the server `SERVER_IP`?”\n\n## Safeguards against losing access\n\n| Situation | Error | Result |\n|---|---|---|\n| removing the management key | `management_key_protected` | always refused, as in the panel |\n| on a company server: removing a key managed by BLACKBOX | `key_managed` | refused; for changes, write to us |\n| removing the last key on a “Key-only” server | `last_key_on_key_only_server` | refused; first add another key or turn password login back on |\n| turning off password login when none of your keys is installed on the server | `no_customer_key_installed` | refused; install a key first |\n| another key change is already running on the same server | `operation_in_progress` | refused; try again in a minute |\n\nThe assistant is instructed to ask for your confirmation before it removes a key from the server, turns off password login or replaces the agent key. However, the confirmation window is shown by the AI client: keep action approval turned on in its settings.\n\n> **Important**\n> The safeguards do not replace your own check. Before you turn off the password or remove a key, check in a new terminal that you can log in with your own key, and keep the current session open. Customers have no web or VNC console; if you lose access, see [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## How to revoke the assistant's SSH access\n\n> **Security**\n> The private key you receive from `get_server_ssh_access` gives `root` access: keep it as safe as a password. It passes through the AI client and the client's provider, like any tool result. Do not send it in chats and do not save it in code repositories.\n\n1. Revoke the tokens you no longer use: “Contul meu” (My account) → “Token-uri API” (API tokens) → “Revocă” (Revoke) ([API tokens: creating, copying and revoking](#ai.token-uri-api)). Otherwise, any token with `servers:credentials` can reinstall the key at the next call.\n2. Remove the agent key in the panel: on the server card, “Add SSH key” → “Installed keys” → the row with the comment `blackbox-agent-…` → “Remove”, then confirm. “Key removed.” appears ([BLACKBOX keys on your server](#acces.cheile-blackbox)).\n3. If the assistant still needs SSH access, ask it for a new key with `regenerate=true`. A call without `regenerate` would put the old key back.\n\n## Common errors\n\n| Error | What it means | What to do |\n|---|---|---|\n| `missing_scope: this token does not have '…'` | the token does not have the required permission | create a new token with the permission named in the error |\n| `not_found` | the server or the key does not exist or does not belong to your account; the same code appears on “Managed” servers | ask the assistant to check the list of servers or keys; for “Managed” servers, write to us |\n| `rate_limited` | you went over the tool's limit | wait for the interval in the table above to pass (one hour at most) |\n| `ssh_connection_failed`, `ssh_key_push_failed`, `ssh_key_list_failed`, `ssh_key_remove_failed`, `password_auth_failed` | BLACKBOX could not complete the operation on the server: usually the server is stopped or still starting, or the management key has been deleted | start the server, wait a minute and try again; if the error persists, write to us: [How to contact BLACKBOX support](#suport.contact) |\n\nFull list: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**Why does the assistant say it doesn't have the `get_server_ssh_access` tool?**\nThe token does not have the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission (`servers:credentials`). You cannot add permissions to an existing token: create a new token.\n\n**I removed the agent key in the panel and it appeared again. Why?**\nAn assistant with a token that has `servers:credentials` requested SSH access again, and `get_server_ssh_access` put the same key back. Revoke unused tokens or request a new key with `regenerate=true`.\n\n**Does access through the assistant work on a “Key-only” server?**\nYes. The agent key is installed through the BLACKBOX management connection, and logging in with a key works even when password login is turned off.\n"
   }
  },
  {
   "id": "ai.comenzi-si-plati-prin-ai",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/comenzi-si-plati-prin-ai/",
    "ru": "https://docs.blackbox.md/ru/ai/comenzi-si-plati-prin-ai/",
    "en": "https://docs.blackbox.md/en/ai/comenzi-si-plati-prin-ai/"
   },
   "title": {
    "ro": "Comenzi, plăți, anulări și upgrade prin AI",
    "ru": "Заказы, оплата, отмена и апгрейд через AI",
    "en": "Orders, payments, cancellations and upgrades via AI"
   },
   "summary": {
    "ro": "Cum plasează, achită și anulează asistentul AI comenzi, cum face upgrade serverelor și cum sunt protejați banii dvs.",
    "ru": "Как AI-ассистент оформляет, оплачивает и отменяет заказы, делает апгрейд серверов и как защищены ваши деньги.",
    "en": "How the AI assistant places, pays for and cancels orders, how it upgrades servers, and how your money is protected."
   },
   "markdown": {
    "ro": "Un asistent AI conectat la contul dvs. prin MCP (`https://api.app.blackbox.md/mcp`) poate plasa comenzi, le poate achita din sold, le poate anula și poate face upgrade serverelor. Accesul i-l dați cu un token creat pe blackbox.md, în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`). Rezultatul îl vedeți în „Contul meu” → „Comenzi” și „Sold”.\n\n**Disponibil pentru:** titularul contului blackbox.md, printr-un token API cu permisiunea „Plasează și modifică comenzi în numele meu” (`orders:write`).\n\nCa să vadă serverele, comenzile și soldul, asistentul are nevoie și de permisiunile „Citește lista și statusul serverelor mele” și „Citește soldul, facturile și comenzile”. Ele sunt bifate implicit la crearea token-ului.\n\n## Cum sunt protejați banii dvs.\n\n| Protecție | Ce înseamnă |\n|---|---|\n| Permisiune separată | Uneltele pentru comenzi, plăți și upgrade cer permisiunea „Plasează și modifică comenzi în numele meu”. La crearea token-ului ea nu este bifată implicit: o bifați dvs. sau o include butonul „AI-administrator — acces complet”. Fără ea, aceste unelte nu apar în lista asistentului, iar un apel direct întoarce eroarea `missing_scope`. |\n| Întâi oferta, apoi confirmarea | `create_order`, `cancel_order` și `resize_server` nu fac nimic fără `confirm=true`. Primul apel întoarce doar o ofertă sau o previzualizare. |\n| Comanda nu ia bani | `create_order` creează o comandă neachitată, cu statusul „Nou”. Plata este un pas separat: `pay_order`. |\n| Suma confirmată | `pay_order` cere suma `confirm_total_mdl`, egală cu totalul curent al comenzii. Dacă diferă, apare `price_changed` și nu se retrage nimic. Prețul îl calculează întotdeauna BLACKBOX, nu asistentul. |\n| Doar din sold | Asistentul plătește numai din soldul existent. Nu poate plăti cu cardul și nu poate alimenta soldul. |\n| Fără dubluri | Aceeași comandă, confirmată din nou cu exact aceleași date în 5 minute, întoarce comanda deja creată, nu una nouă. O comandă achitată nu mai poate fi plătită a doua oară. |\n| Aprobarea în clientul AI | Uneltele care cheltuie bani sau șterg date sunt marcate ca distructive (`destructiveHint`). Dacă vi se cere aprobarea înainte de fiecare apel depinde de setările clientului AI. |\n\n> **Important**\n> Dacă în clientul AI ați permis rularea automată a uneltelor, clientul nu vă mai întreabă nimic. Asistentul este instruit să vă ceară confirmarea înainte de a cheltui bani sau de a anula o comandă, dar BLACKBOX nu poate impune această întrebare. Păstrați aprobarea manuală pentru `create_order`, `pay_order`, `cancel_order` și `resize_server`.\n\nDespre permisiuni: [Permisiunile token-urilor (scopes)](#ai.permisiuni). Crearea token-ului: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n## Cum plasați o comandă\n\n1. Cereți asistentului o ofertă și spuneți-i explicit să aștepte confirmarea dvs.\n2. Asistentul citește catalogul cu `list_vm_plans` și apelează `create_order` fără confirmare. Vă arată totalul în MDL. Încă nu se creează nimic.\n3. Verificați planul, sistemul de operare, cheile SSH și totalul.\n4. Confirmați. Asistentul repetă apelul cu aceleași date și `confirm=true`.\n5. Comanda apare în „Comenzi” cu statusul „Nou” și un număr `BBX-…`. Primiți emailul obișnuit „Am primit solicitarea dumneavoastră — BBX-…”; la „Mesaj:” scrie `Created via MCP (AI agent) on behalf of the customer.`\n\nNu s-a retras niciun ban. Achitați comanda prin asistent (secțiunea următoare) sau pe site, cu „Achită comanda”.\n\n> **Sfat**\n> O formulare care funcționează bine: „Fă o ofertă pentru … și așteaptă confirmarea mea înainte de a plăti.” De exemplu:\n> ```text\n> Fă o ofertă pentru un server vm-iops1-m cu Ubuntu 24.04 și așteaptă confirmarea mea înainte de a plasa și a plăti comanda.\n> ```\n\nCe puteți cere în comandă:\n\n| Element | Detalii |\n|---|---|\n| Plan | Un plan VPS din catalog, cu codul `vm-…` (de exemplu `vm-iops1-m`, Standard M, 578 MDL/lună), sau un server dedicat: `dedicated-light`, `dedicated-premium`, `dedicated-storage`. Vedeți [Planurile VPS: cum alegeți](#comenzi.planuri-vps) și [Servere dedicate](#comenzi.servere-dedicate). |\n| Sistem de operare | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` sau `almalinux-9`. Precizați-l întotdeauna: fără el se alege automat o versiune Ubuntu LTS. Windows și Rocky Linux sunt refuzate cu `unsupported_os`. |\n| Chei SSH (opțional) | Chei salvate în „Chei SSH” din cont sau chei publice lipite direct, cel mult 10. Cu chei și fără o cerere explicită de autentificare cu parolă, serverul se creează „doar cu cheie”. Vedeți [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda). |\n| Monitorizare (opțional) | Serviciul suplimentar de monitorizare, plus 98 MDL/lună (în configurație: `\"extras\": [\"monitoring\"]`). Celelalte servicii suplimentare se cer prin suport: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare). |\n| Date de facturare | Nu se pot alege: comanda se creează fără ele. Pentru o factură pe companie, comandați pe site: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare). |\n\nLimită: cel mult 20 de apeluri `create_order` pe oră, inclusiv ofertele.\n\n## Cum achitați comanda din sold\n\n`pay_order` achită din sold o comandă cu statusul „Nou”, creată de asistent sau plasată de dvs. pe site.\n\n1. Verificați că soldul acoperă totalul: pagina „Sold” sau întrebați asistentul (unealta `get_balance`). Dacă nu ajunge, alimentați soldul pe site: [Alimentarea soldului](#plati.alimentare-sold).\n2. Cereți asistentului să achite comanda `BBX-…`. El transmite totalul curent al comenzii; dacă prețul s-a schimbat, plata se oprește cu `price_changed` și asistentul trebuie să vă arate totalul nou.\n3. După plată:\n   - comanda trece în „În lucru”;\n   - în „Sold” → „Istoricul operațiunilor” apare „Comandă BBX-…” cu minus;\n   - în „Facturi” apare factura `BBX-…` cu statusul „Achitată”, iar pe email primiți „Plată confirmată — BBX-…”;\n   - planurile VPS: serverul se creează automat, de regulă în câteva minute după confirmarea plății, apoi primiți „Serverul dvs. este gata — BBX-…”;\n   - serverele dedicate: serverul este pregătit manual de echipă; vă contactăm.\n\nLimită: 10 apeluri `pay_order` pe minut. Restul detaliilor: [Plata unei comenzi din sold](#plati.plata-din-sold).\n\n### Dacă apelul pare să fi expirat\n\nImediat după plată pornește crearea serverului, așa că apelul `pay_order` se poate prelungi. Dacă clientul AI raportează o expirare sau o eroare de conexiune, nu cereți o nouă plată. Rugați asistentul să verifice comanda cu `list_orders` sau deschideți „Comenzi”: statusul „În lucru” înseamnă că plata a reușit. O a doua plată pentru aceeași comandă este oricum refuzată (`not_payable`).\n\n## Cum anulați o comandă\n\nAsistentul anulează comenzile cu statusul „Nou” sau „În lucru”, după aceleași reguli ca butonul „Anulează comanda” de pe site: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n1. Cereți asistentului să verifice ce s-ar întâmpla dacă anulați comanda `BBX-…`. El apelează `cancel_order` fără confirmare și vă arată previzualizarea:\n   - suma care se returnează în sold, în MDL;\n   - regula aplicată: integral (`full`), proporțional (`prorated`) sau fără rambursare (`none`);\n   - dacă se șterge un server și adresa lui IP.\n2. Citiți previzualizarea. Dacă vreți să continuați, confirmați explicit.\n3. Asistentul repetă apelul cu `confirm=true`. Comanda trece în statusul „Anulat”, iar pe email primiți „Comandă anulată — BBX-…”. Dacă se returnează o sumă, ea ajunge în sold („Rambursare comandă BBX-…” în „Istoricul operațiunilor”).\n\n> **Ireversibil**\n> Dacă comanda are un server, la confirmare acesta se șterge imediat, cu toate datele de pe el. Spre deosebire de „Șterge definitiv” din panou, nu există perioada de grație de 24 de ore și ștergerea nu se poate opri.\n\n- Rambursarea ajunge numai în sold. Pentru banii pe card, scrieți la support@blackbox.md.\n- Cât timp serverul se creează, comanda nu se poate anula (`provisioning_in_progress`). Reveniți peste câteva minute.\n- Limită: 5 apeluri `cancel_order` în 5 minute, inclusiv previzualizările.\n\n## Cum faceți upgrade unui server\n\nAsistentul trece un server pe un plan mai mare din aceeași familie, cu plata din sold, la fel ca butonul „Upgrade” din panou: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n1. Cereți opțiunile de upgrade pentru server. Asistentul apelează `get_server_resize_options` și vă arată planurile mai mari din aceeași familie, prețul lunar nou și suma care s-ar retrage acum (proporțional cu zilele rămase din ciclul curent de 30 de zile).\n2. Alegeți planul. Asistentul apelează `resize_server` fără confirmare și vă arată previzualizarea: planul nou, suma care se retrage și soldul dvs. Dacă soldul nu ajunge, eroarea `insufficient_balance` apare deja acum.\n3. Confirmați. Asistentul repetă apelul cu `confirm=true`: suma se retrage din sold („Upgrade server” în istoric), iar serverul repornește pe planul nou. Întreruperea durează câteva minute; adresa IP și datele se păstrează.\n4. Asistentul află doar că upgrade-ul a pornit. Rezultatul îl vedeți în emailul „Serverul dvs. a fost actualizat — BBX-…” și în panou, unde câmpul „Configurație” de pe cardul serverului arată resursele noi.\n\n- Upgrade-ul merge doar în sus: serverul nu se poate micșora și nu poate trece în altă familie.\n- Funcționează pentru serverele comandate din contul dvs. pe planurile VPS din catalog (`vm-…`). La planurile „VPS hosting” și la planurile mai vechi, care nu se mai vând, apare `not_upgradeable_plan`, iar serverele dedicate nu se pot mări prin asistent: în ambele cazuri, scrieți-ne.\n- Dacă upgrade-ul eșuează, suma revine automat în sold („Anulare upgrade server”).\n- Limită: 3 apeluri `resize_server` în 10 minute, inclusiv previzualizările.\n\n## Erori frecvente\n\n| Cod | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `missing_scope` | Token-ul nu are permisiunea necesară. | Creați un token nou cu permisiunea numită în eroare, de obicei „Plasează și modifică comenzi în numele meu”. Permisiunile unui token existent nu se pot extinde. |\n| `rate_limited` | Limita uneltei a fost depășită. | Așteptați. Apelurile repetate în timpul blocării se numără și ele. |\n| `price_changed` | Suma transmisă diferă de totalul curent. Nu s-a retras nimic. | Verificați totalul din mesaj și confirmați din nou. |\n| `insufficient_balance` | Soldul nu acoperă suma. | Alimentați soldul pe site. |\n| `not_payable` | Comanda nu mai are statusul „Nou”. | Verificați „Comenzi”: poate fi deja achitată sau anulată. |\n| `unsupported_os` | Sistemul de operare nu poate fi instalat automat. | Alegeți unul dintre cele 7 sisteme din tabel. |\n| `plan_unavailable` | Planul nu este disponibil acum pentru comandă. | Alegeți alt plan sau reveniți mai târziu. |\n| `state_changed` | Comanda s-a schimbat între previzualizare și confirmare. | Cereți o previzualizare nouă. |\n| `terminate_failed` | Serverul nu a putut fi șters; nu s-a schimbat nimic. | Încercați mai târziu; dacă se repetă, scrieți-ne. |\n| `job_active` | Un upgrade rulează deja pentru acest server. | Așteptați câteva minute să se termine, apoi verificați serverul în panou. |\n\nDacă asistentul spune că serviciul de infrastructură este temporar indisponibil, încercați mai târziu. Toate codurile și limitele: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**Poate asistentul să cheltuie bani fără știrea mea?**\nDoar dacă token-ul are permisiunea „Plasează și modifică comenzi în numele meu” și clientul AI nu vă cere aprobarea. Chiar și atunci plătește numai din sold și numai sume calculate de BLACKBOX: totalul curent al unei comenzi sau diferența pentru un upgrade. Pentru un asistent care doar citește date, creați un token fără această permisiune.\n\n**Pot plăti cu cardul o comandă creată de asistent?**\nDa. Comanda apare în „Comenzi” cu statusul „Nou”. Apăsați „Achită comanda” și plătiți ca de obicei.\n\n**Poate asistentul să alimenteze soldul sau să plătească facturile emise de echipă?**\nNu. Alimentarea se face numai pe site, iar uneltele MCP nu plătesc facturi. Lista completă a uneltelor: [Lista uneltelor MCP](#ai.unelte).\n\n**Vreau să șterg un server, dar cu posibilitatea de a mă răzgândi. Cum procedez?**\nFolosiți „Șterge definitiv” din panou, care are o perioadă de grație de 24 de ore, dar nu rambursează nimic: [Ștergerea definitivă a unui server](#servere.stergere-server). Prin asistent, anularea comenzii șterge serverul imediat.\n",
    "ru": "AI-ассистент, подключённый к вашему аккаунту по MCP (`https://api.app.blackbox.md/mcp`), умеет оформлять заказы, оплачивать их с баланса, отменять их и делать апгрейд серверов. Доступ ему даёт токен, который создаётся на blackbox.md в разделе «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`). Результат виден в разделах «Личный кабинет» → «Заказы» и «Баланс».\n\n**Доступно:** владельцу аккаунта blackbox.md — через API-токен с разрешением «Оформлять и изменять заказы от моего имени» (`orders:write`).\n\nЧтобы видеть серверы, заказы и баланс, ассистенту нужны также разрешения «Читать список и статус моих серверов» и «Читать баланс, счета и заказы». При создании токена они отмечены по умолчанию.\n\n## Как защищены ваши деньги\n\n| Защита | Что это значит |\n|---|---|\n| Отдельное разрешение | Инструментам для заказов, платежей и апгрейда нужно разрешение «Оформлять и изменять заказы от моего имени». При создании токена оно не отмечено по умолчанию: его ставите вы сами или его включает кнопка «AI-администратор — полный доступ». Без него ассистент не видит этих инструментов в своём списке, а прямой вызов возвращает ошибку `missing_scope`. |\n| Сначала расчёт, потом подтверждение | `create_order`, `cancel_order` и `resize_server` ничего не делают без `confirm=true`. Первый вызов только показывает цену или последствия. |\n| Заказ не списывает деньги | `create_order` создаёт неоплаченный заказ в статусе «Новый». Оплата — отдельный шаг: `pay_order`. |\n| Подтверждённая сумма | `pay_order` требует сумму `confirm_total_mdl`, равную текущей сумме заказа. Если она не совпадает, возвращается `price_changed` и ничего не списывается. Цену всегда рассчитывает BLACKBOX, а не ассистент. |\n| Только с баланса | Ассистент платит только из того, что уже есть на балансе. Оплатить картой или пополнить баланс он не может. |\n| Без дублей | Повторное подтверждение того же заказа с теми же данными в течение 5 минут возвращает уже созданный заказ, а не новый. Оплаченный заказ повторно оплатить нельзя. |\n| Подтверждение в AI-клиенте | Инструменты, которые тратят деньги или удаляют данные, помечены как разрушительные (`destructiveHint`). Спросит ли клиент вашего согласия перед каждым вызовом, зависит от его настроек. |\n\n> **Важно**\n> Если в AI-клиенте разрешён автоматический запуск инструментов, клиент ни о чём не спрашивает. Ассистенту предписано запрашивать подтверждение, прежде чем тратить деньги или отменять заказ, но BLACKBOX не может заставить клиент задать этот вопрос. Оставьте ручное подтверждение для `create_order`, `pay_order`, `cancel_order` и `resize_server`.\n\nО разрешениях: [Разрешения токенов (scopes)](#ai.permisiuni). Как создать токен: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n## Как оформить заказ\n\n1. Попросите ассистента рассчитать заказ и прямо скажите, чтобы он дождался вашего подтверждения.\n2. Ассистент смотрит каталог инструментом `list_vm_plans` и вызывает `create_order` без подтверждения. Он показывает сумму в MDL. Заказ пока не создаётся.\n3. Проверьте тариф, операционную систему, SSH-ключи и сумму.\n4. Подтвердите. Ассистент повторяет вызов с теми же данными и `confirm=true`.\n5. Заказ появляется в «Заказах» со статусом «Новый» и номером `BBX-…`. Приходит обычное письмо «Am primit solicitarea dumneavoastră — BBX-…» (тема всегда на румынском); в строке «Сообщение:» указано `Created via MCP (AI agent) on behalf of the customer.`\n\nДеньги при этом не списываются. Оплатите заказ через ассистента (следующий раздел) или на сайте кнопкой «Оплатить заказ».\n\n> **Совет**\n> Хорошо работает такой шаблон: «Подготовь предложение на … и дождись моего подтверждения, прежде чем платить». Например:\n> ```text\n> Подготовь предложение на сервер vm-iops1-m с Ubuntu 24.04 и дождись моего подтверждения, прежде чем оформлять и оплачивать заказ.\n> ```\n\nЧто можно указать в заказе:\n\n| Параметр | Подробности |\n|---|---|\n| Тариф | Тариф VPS из каталога с кодом `vm-…` (например, `vm-iops1-m` — Standard M, 578 MDL/мес.) или выделенный сервер: `dedicated-light`, `dedicated-premium`, `dedicated-storage`. См. [Тарифы VPS: как выбрать](#comenzi.planuri-vps) и [Выделенные серверы](#comenzi.servere-dedicate). |\n| Операционная система | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` или `almalinux-9`. Указывайте её всегда: без неё автоматически выбирается одна из версий Ubuntu LTS. Windows и Rocky Linux отклоняются с ошибкой `unsupported_os`. |\n| SSH-ключи (необязательно) | Ключи, сохранённые в разделе «SSH-ключи» аккаунта, или публичные ключи, вставленные напрямую, — не больше 10. Если ключи указаны, а вход по паролю явно не запрошен, сервер создаётся «только по ключу». См. [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda). |\n| Мониторинг (необязательно) | Дополнительная услуга мониторинга, плюс 98 MDL/мес. (в конфигурации: `\"extras\": [\"monitoring\"]`). Остальные дополнительные услуги заказываются через поддержку: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare). |\n| Реквизиты | Выбрать нельзя: заказ создаётся без них. Если нужен счёт на компанию, оформите заказ на сайте: [Реквизиты для счетов: компании и физлица](#plati.date-facturare). |\n\nЛимит: не больше 20 вызовов `create_order` в час, включая расчёты без подтверждения.\n\n## Как оплатить заказ с баланса\n\n`pay_order` оплачивает с баланса заказ в статусе «Новый» — созданный ассистентом или оформленный вами на сайте.\n\n1. Убедитесь, что баланса хватает на всю сумму: откройте страницу «Баланс» или спросите ассистента (инструмент `get_balance`). Если не хватает, пополните баланс на сайте: [Пополнение баланса](#plati.alimentare-sold).\n2. Попросите ассистента оплатить заказ `BBX-…`. Он передаёт текущую сумму заказа; если цена изменилась, оплата останавливается с ошибкой `price_changed`, и ассистент должен показать вам новую сумму.\n3. После оплаты:\n   - заказ переходит в статус «В работе»;\n   - на странице «Баланс» в разделе «История операций» появляется строка «Comandă BBX-…» со знаком минус;\n   - в разделе «Счета» появляется счёт `BBX-…` в статусе «Оплачен», а на почту приходит письмо «Plată confirmată — BBX-…»;\n   - тарифы VPS: сервер создаётся автоматически, обычно в течение нескольких минут после подтверждения оплаты, затем приходит письмо «Serverul dvs. este gata — BBX-…»;\n   - выделенные серверы: сервер готовит команда вручную; мы свяжемся с вами.\n\nЛимит: 10 вызовов `pay_order` в минуту. Подробнее: [Оплата заказа с баланса](#plati.plata-din-sold).\n\n### Если вызов завершился по тайм-ауту\n\nСразу после оплаты начинается создание сервера, поэтому вызов `pay_order` может затянуться. Если AI-клиент сообщает о тайм-ауте или ошибке соединения, не просите оплатить ещё раз. Попросите ассистента проверить заказ через `list_orders` или откройте «Заказы»: статус «В работе» означает, что оплата прошла. Повторная оплата того же заказа в любом случае будет отклонена (`not_payable`).\n\n## Как отменить заказ\n\nАссистент отменяет заказы в статусах «Новый» и «В работе» по тем же правилам, что и кнопка «Отменить заказ» на сайте: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n1. Попросите ассистента проверить, что произойдёт при отмене заказа `BBX-…`. Он вызывает `cancel_order` без подтверждения и показывает предварительный расчёт:\n   - сумму, которая вернётся на баланс, в MDL;\n   - применённое правило: полный возврат (`full`), пропорциональный (`prorated`) или без возврата (`none`);\n   - будет ли удалён сервер и его IP-адрес.\n2. Изучите расчёт. Если хотите продолжить, прямо подтвердите отмену.\n3. Ассистент повторяет вызов с `confirm=true`. Заказ переходит в статус «Отменён», а на почту приходит письмо «Comandă anulată — BBX-…». Если положен возврат, сумма поступает на баланс (строка «Rambursare comandă BBX-…» в «Истории операций»).\n\n> **Необратимо**\n> Если у заказа есть сервер, при подтверждении он сразу удаляется вместе со всеми данными. В отличие от кнопки «Удалить» в панели, отсрочки 24 часа нет, и удаление нельзя остановить.\n\n- Деньги возвращаются только на баланс. Чтобы вернуть их на карту, напишите на support@blackbox.md.\n- Пока сервер создаётся, заказ отменить нельзя (`provisioning_in_progress`). Повторите через несколько минут.\n- Лимит: 5 вызовов `cancel_order` за 5 минут, включая предварительные расчёты.\n\n## Как сделать апгрейд сервера\n\nАссистент переводит сервер на больший тариф того же семейства и оплачивает разницу с баланса — так же, как кнопка «Апгрейд» в панели: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n1. Запросите варианты апгрейда для сервера. Ассистент вызывает `get_server_resize_options` и показывает более крупные тарифы того же семейства, новую месячную цену и сумму, которая будет списана сейчас (пропорционально дням, оставшимся до конца текущего 30-дневного цикла).\n2. Выберите тариф. Ассистент вызывает `resize_server` без подтверждения и показывает предварительный расчёт: новый тариф, сумму к списанию и ваш баланс. Если баланса не хватает, ошибка `insufficient_balance` появится уже на этом шаге.\n3. Подтвердите. Ассистент повторяет вызов с `confirm=true`: сумма списывается с баланса (строка «Upgrade server» в истории), а сервер перезагружается на новом тарифе. Простой длится несколько минут; IP-адрес и данные сохраняются.\n4. Ассистент узнаёт только о том, что апгрейд запущен. Результат вы увидите в письме «Serverul dvs. a fost actualizat — BBX-…» и в панели: поле «Конфигурация» на карточке сервера покажет новые ресурсы.\n\n- Апгрейд работает только в сторону увеличения: уменьшить сервер или перевести его в другое семейство нельзя.\n- Апгрейд доступен для серверов, заказанных с вашего аккаунта на тарифах VPS из каталога (`vm-…`). Для тарифов «VPS hosting» и старых тарифов, которые больше не продаются, возвращается `not_upgradeable_plan`, а выделенные серверы через ассистента не увеличиваются: в обоих случаях напишите нам.\n- Если апгрейд не удался, сумма автоматически возвращается на баланс (строка «Anulare upgrade server»).\n- Лимит: 3 вызова `resize_server` за 10 минут, включая предварительные расчёты.\n\n## Частые ошибки\n\n| Код | Что это значит | Что делать |\n|---|---|---|\n| `missing_scope` | У токена нет нужного разрешения. | Создайте новый токен с разрешением, указанным в ошибке, — обычно это «Оформлять и изменять заказы от моего имени». Разрешения существующего токена расширить нельзя. |\n| `rate_limited` | Превышен лимит инструмента. | Подождите. Повторные вызовы во время блокировки тоже засчитываются. |\n| `price_changed` | Переданная сумма не совпадает с текущей. Ничего не списано. | Проверьте сумму в сообщении и подтвердите заново. |\n| `insufficient_balance` | Баланса не хватает. | Пополните баланс на сайте. |\n| `not_payable` | Заказ уже не в статусе «Новый». | Проверьте «Заказы»: возможно, он уже оплачен или отменён. |\n| `unsupported_os` | Эту операционную систему нельзя установить автоматически. | Выберите одну из 7 систем из таблицы. |\n| `plan_unavailable` | Тариф сейчас недоступен для заказа. | Выберите другой тариф или повторите позже. |\n| `state_changed` | Заказ изменился между расчётом и подтверждением. | Запросите новый предварительный расчёт. |\n| `terminate_failed` | Сервер не удалось удалить; ничего не изменилось. | Повторите позже; если ошибка повторяется, напишите нам. |\n| `job_active` | Для этого сервера уже идёт апгрейд. | Подождите несколько минут, пока он завершится, затем проверьте сервер в панели. |\n\nЕсли ассистент сообщает, что инфраструктурный сервис временно недоступен, повторите попытку позже. Все коды и лимиты: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**Может ли ассистент потратить деньги без моего ведома?**\nТолько если у токена есть разрешение «Оформлять и изменять заказы от моего имени», а AI-клиент не спрашивает вашего согласия. Даже тогда он платит только с баланса и только суммы, рассчитанные BLACKBOX: текущую сумму заказа или разницу за апгрейд. Для ассистента, который только читает данные, создайте токен без этого разрешения.\n\n**Можно ли оплатить картой заказ, созданный ассистентом?**\nДа. Заказ появляется в «Заказах» со статусом «Новый». Нажмите «Оплатить заказ» и оплатите как обычно.\n\n**Может ли ассистент пополнить баланс или оплатить счета, выставленные командой?**\nНет. Баланс пополняется только на сайте, а инструменты MCP счета не оплачивают. Полный список инструментов: [Список инструментов MCP](#ai.unelte).\n\n**Я хочу удалить сервер, но оставить себе время передумать. Как быть?**\nВоспользуйтесь кнопкой «Удалить» в панели: у неё есть отсрочка 24 часа, но деньги при этом не возвращаются. См. [Безвозвратное удаление сервера](#servere.stergere-server). Через ассистента отмена заказа удаляет сервер сразу.\n",
    "en": "An AI assistant connected to your account through MCP (`https://api.app.blackbox.md/mcp`) can place orders, pay for them from your balance, cancel them and upgrade servers. You give it access with a token created on blackbox.md, under “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`). You see the results under “Contul meu” → “Comenzi” (Orders) and “Sold” (Balance).\n\n**Available to:** the holder of a blackbox.md account, through an API token with the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission (`orders:write`).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\nTo see your servers, orders and balance, the assistant also needs the “Citește lista și statusul serverelor mele” (Read the list and status of my servers) and “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) permissions. They are checked by default when you create a token.\n\n## How your money is protected\n\n| Protection | What it means |\n|---|---|\n| A separate permission | The tools for orders, payments and upgrades require the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission. It is not checked by default when you create a token: you check it yourself, or the “AI-administrator — acces complet” (AI administrator — full access) button includes it. Without it, these tools don't appear in the assistant's list, and a direct call returns the `missing_scope` error. |\n| Quote first, then confirmation | `create_order`, `cancel_order` and `resize_server` do nothing without `confirm=true`. The first call returns only a quote or a preview. |\n| An order doesn't take money | `create_order` creates an unpaid order with the status “Nou” (New). Payment is a separate step: `pay_order`. |\n| A confirmed amount | `pay_order` requires the amount `confirm_total_mdl`, equal to the order's current total. If it differs, you get `price_changed`, and nothing is deducted. The price is always calculated by BLACKBOX, not by the assistant. |\n| Balance only | The assistant pays only from the balance you already have. It can't pay by card and can't top up your balance. |\n| No duplicates | The same order, confirmed again with exactly the same details within 5 minutes, returns the order that was already created, not a new one. An order that has been paid can't be paid a second time. |\n| Approval in the AI client | Tools that spend money or delete data are marked as destructive (`destructiveHint`). Whether you are asked for approval before each call depends on your AI client's settings. |\n\n> **Important**\n> If you have allowed tools to run automatically in your AI client, the client no longer asks you anything. The assistant is instructed to ask for your confirmation before it spends money or cancels an order, but BLACKBOX can't enforce this question. Keep manual approval for `create_order`, `pay_order`, `cancel_order` and `resize_server`.\n\nAbout permissions: [Token permissions (scopes)](#ai.permisiuni). Creating the token: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n## How to place an order\n\n1. Ask the assistant for a quote, and tell it explicitly to wait for your confirmation.\n2. The assistant reads the catalog with `list_vm_plans` and calls `create_order` without confirmation. It shows you the total in MDL. Nothing is created yet.\n3. Check the plan, the operating system, the SSH keys and the total.\n4. Confirm. The assistant repeats the call with the same details and `confirm=true`.\n5. The order appears in “Comenzi” (Orders) with the status “Nou” (New) and a `BBX-…` number. You receive the usual email “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…); next to “Mesaj:” (Message:), it reads `Created via MCP (AI agent) on behalf of the customer.`\n\nNo money has been deducted. Pay for the order through the assistant (next section) or on the website, with “Achită comanda” (Pay for the order).\n\n> **Tip**\n> A phrasing that works well: “Prepare a quote for … and wait for my confirmation before paying.” For example:\n> ```text\n> Prepare a quote for a vm-iops1-m server with Ubuntu 24.04 and wait for my confirmation before placing and paying for the order.\n> ```\n\nWhat you can include in the order:\n\n| Item | Details |\n|---|---|\n| Plan | A VPS plan from the catalog, with a `vm-…` code (for example `vm-iops1-m`, Standard M, 578 MDL/month), or a dedicated server: `dedicated-light`, `dedicated-premium`, `dedicated-storage`. See [VPS plans: how to choose](#comenzi.planuri-vps) and [Dedicated servers](#comenzi.servere-dedicate). |\n| Operating system | `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9` or `almalinux-9`. Always specify it: without it, an Ubuntu LTS version is chosen automatically. Windows and Rocky Linux are rejected with `unsupported_os`. |\n| SSH keys (optional) | Keys saved in “Chei SSH” (SSH keys) in your account, or public keys pasted directly, up to 10. With keys and no explicit request for password login, the server is created as “key-only”. See [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda). |\n| Monitoring (optional) | The monitoring add-on service, plus 98 MDL/month (in the configuration: `\"extras\": [\"monitoring\"]`). Other add-on services are requested through support: [Add-on services for your server](#servicii.servicii-suplimentare). |\n| Billing details | You can't choose them: the order is created without them. For an invoice in a company's name, order on the website: [Billing details for companies and individuals](#plati.date-facturare). |\n\nLimit: at most 20 `create_order` calls per hour, including quotes.\n\n## How to pay for the order from your balance\n\n`pay_order` pays from your balance for an order with the status “Nou” (New), whether the assistant created it or you placed it on the website.\n\n1. Check that your balance covers the total: on the “Sold” (Balance) page, or ask the assistant (the `get_balance` tool). If it isn't enough, top up your balance on the website: [Topping up your balance](#plati.alimentare-sold).\n2. Ask the assistant to pay for order `BBX-…`. It sends the order's current total; if the price has changed, the payment stops with `price_changed`, and the assistant must show you the new total.\n3. After payment:\n   - the order moves to “În lucru” (In progress);\n   - in “Sold” → “Istoricul operațiunilor” (Transaction history), “Comandă BBX-…” (Order BBX-…) appears with a minus sign;\n   - in “Facturi” (Invoices), the invoice `BBX-…` appears with the status “Achitată” (Paid), and you receive the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…);\n   - VPS plans: the server is created automatically, usually within a few minutes after the payment is confirmed; then you receive “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…);\n   - dedicated servers: the server is prepared manually by the team; we will contact you.\n\nLimit: 10 `pay_order` calls per minute. Other details: [Paying for an order from your balance](#plati.plata-din-sold).\n\n### If the call seems to have timed out\n\nServer creation starts right after payment, so the `pay_order` call can take a while. If your AI client reports a timeout or a connection error, don't ask for a new payment. Ask the assistant to check the order with `list_orders`, or open “Comenzi” (Orders): the status “În lucru” means the payment went through. A second payment for the same order is rejected anyway (`not_payable`).\n\n## How to cancel an order\n\nThe assistant cancels orders with the status “Nou” (New) or “În lucru” (In progress), under the same rules as the “Anulează comanda” (Cancel the order) button on the website: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n1. Ask the assistant to check what would happen if you canceled order `BBX-…`. It calls `cancel_order` without confirmation and shows you the preview:\n   - the amount that goes back to your balance, in MDL;\n   - the rule applied: full (`full`), prorated (`prorated`) or no refund (`none`);\n   - whether a server will be deleted, and its IP address.\n2. Read the preview. If you want to go ahead, confirm explicitly.\n3. The assistant repeats the call with `confirm=true`. The order moves to the status “Anulat” (Canceled), and you receive the email “Comandă anulată — BBX-…” (Order canceled — BBX-…). If an amount is refunded, it goes to your balance (“Rambursare comandă BBX-…” (Order refund BBX-…) in “Istoricul operațiunilor” (Transaction history)).\n\n> **Irreversible**\n> If the order has a server, the server is deleted immediately when you confirm, together with all the data on it. Unlike “Terminate” in the app.blackbox.md panel, there is no 24-hour grace period, and the deletion can't be stopped.\n\n- Refunds go only to your balance. To get the money back on your card, write to support@blackbox.md.\n- While the server is being created, the order can't be canceled (`provisioning_in_progress`). Come back in a few minutes.\n- Limit: 5 `cancel_order` calls in 5 minutes, including previews.\n\n## How to upgrade a server\n\nThe assistant moves a server to a larger plan in the same family and pays from your balance, just like the “Upgrade” button in the panel: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n1. Ask for the server's upgrade options. The assistant calls `get_server_resize_options` and shows you the larger plans in the same family, the new monthly price and the amount that would be deducted now (prorated to the days left in the current 30-day cycle).\n2. Choose the plan. The assistant calls `resize_server` without confirmation and shows you the preview: the new plan, the amount to be deducted and your balance. If your balance isn't enough, the `insufficient_balance` error appears already at this step.\n3. Confirm. The assistant repeats the call with `confirm=true`: the amount is deducted from your balance (“Upgrade server” (Server upgrade) in your balance history), and the server restarts on the new plan. The downtime lasts a few minutes; your IP address and data are kept.\n4. The assistant only learns that the upgrade has started. You see the result in the email “Serverul dvs. a fost actualizat — BBX-…” (Your server has been updated — BBX-…) and in the panel, where the “Spec” field on the server card shows the new resources.\n\n- An upgrade works only upward: the server can't be made smaller and can't move to another family.\n- It works for servers ordered from your account on the VPS plans from the catalog (`vm-…`). On the “VPS hosting” plans and on older plans that are no longer sold, you get `not_upgradeable_plan`, and dedicated servers can't be enlarged through the assistant: in both cases, write to us.\n- If the upgrade fails, the amount goes back to your balance automatically (“Anulare upgrade server” (Server upgrade cancellation)).\n- Limit: 3 `resize_server` calls in 10 minutes, including previews.\n\n## Common errors\n\n| Code | What it means | What to do |\n|---|---|---|\n| `missing_scope` | The token doesn't have the required permission. | Create a new token with the permission named in the error, usually “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf). The permissions of an existing token can't be extended. |\n| `rate_limited` | The tool's limit has been exceeded. | Wait. Repeated calls during the block also count. |\n| `price_changed` | The amount sent differs from the current total. Nothing was deducted. | Check the total in the message and confirm again. |\n| `insufficient_balance` | Your balance doesn't cover the amount. | Top up your balance on the website. |\n| `not_payable` | The order no longer has the status “Nou” (New). | Check “Comenzi” (Orders): it may already be paid or canceled. |\n| `unsupported_os` | The operating system can't be installed automatically. | Choose one of the 7 systems in the table. |\n| `plan_unavailable` | The plan isn't available for ordering right now. | Choose another plan or come back later. |\n| `state_changed` | The order changed between the preview and the confirmation. | Ask for a new preview. |\n| `terminate_failed` | The server could not be deleted; nothing has changed. | Try again later; if it happens again, write to us. |\n| `job_active` | An upgrade is already running for this server. | Wait a few minutes for it to finish, then check the server in the panel. |\n\nIf the assistant says that the infrastructure service is temporarily unavailable, try again later. All codes and limits: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**Can the assistant spend money without my knowledge?**\nOnly if the token has the “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) permission and your AI client doesn't ask for your approval. Even then, it pays only from your balance and only amounts calculated by BLACKBOX: an order's current total or the difference for an upgrade. For an assistant that only reads data, create a token without this permission.\n\n**Can I pay by card for an order the assistant created?**\nYes. The order appears in “Comenzi” (Orders) with the status “Nou” (New). Click “Achită comanda” (Pay for the order) and pay as usual.\n\n**Can the assistant top up my balance or pay invoices issued by the team?**\nNo. Top-ups are made only on the website, and the MCP tools don't pay invoices. The full list of tools: [List of MCP tools](#ai.unelte).\n\n**I want to delete a server but keep the option to change my mind. What should I do?**\nUse “Terminate” in the app.blackbox.md panel. It has a 24-hour grace period, but it doesn't refund anything: [Permanently deleting a server](#servere.stergere-server). Through the assistant, canceling the order deletes the server immediately.\n"
   }
  },
  {
   "id": "ai.limite-si-erori",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/limite-si-erori/",
    "ru": "https://docs.blackbox.md/ru/ai/limite-si-erori/",
    "en": "https://docs.blackbox.md/en/ai/limite-si-erori/"
   },
   "title": {
    "ro": "Limite și coduri de eroare MCP",
    "ru": "Лимиты и коды ошибок MCP",
    "en": "MCP limits and error codes"
   },
   "summary": {
    "ro": "Limitele de apeluri, mesajele 401 și codurile de eroare ale uneltelor, cu soluția pentru fiecare.",
    "ru": "Лимиты вызовов, сообщения 401 и коды ошибок инструментов с решением для каждого.",
    "en": "Call limits, 401 messages and tool error codes, with the fix for each one."
   },
   "markdown": {
    "ro": "Serverul MCP BLACKBOX (`https://api.app.blackbox.md/mcp`) limitează numărul de apeluri și, când ceva nu merge, răspunde cu un mesaj scurt în engleză sau cu un cod de eroare. Aici găsiți limitele, răspunsurile HTTP la conectare (401, 404, 421) și codurile de eroare ale uneltelor, cu ce faceți în fiecare caz. Token-urile se creează și se revocă pe blackbox.md, în „Contul meu” → „Token-uri API” (`blackbox.md/account/api-tokens`).\n\n**Disponibil pentru:** orice client blackbox.md care conectează un asistent AI cu un token API.\n\n## Limita generală: 120 de apeluri pe minut\n\n- Un cont poate face cel mult 120 de apeluri de unelte în orice interval de 60 de secunde. Limita este a contului, nu a token-ului: toate token-urile și toți clienții AI o împart.\n- Peste limită, unealta răspunde cu eroarea `rate_limited`. Nu este o eroare HTTP 429: conexiunea rămâne activă, doar apelul este refuzat.\n- Se numără apelurile din ultimele 60 de secunde, inclusiv cele refuzate. Dacă asistentul reîncearcă în buclă, rămâne blocat. Opriți apelurile și așteptați un minut întreg.\n- `whoami` și `list_vm_plans` nu intră în limită.\n- Limitele MCP sunt separate de cele ale butoanelor din panou și ale paginilor blackbox.md. Pe acestea le găsiți în [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Limitele fiecărei unelte\n\nPe lângă limita generală, majoritatea uneltelor au și o limită proprie, tot pe cont. Depășirea dă aceeași eroare, `rate_limited`. Ce face fiecare unealtă: [Lista uneltelor MCP](#ai.unelte).\n\n| Unealtă | Limită |\n|---|---|\n| `create_order` | 20 pe oră, inclusiv ofertele (`confirm=false`) |\n| `pay_order` | 10 pe minut |\n| `cancel_order` | 5 în 5 minute, inclusiv previzualizările |\n| `resize_server` | 3 în 10 minute, inclusiv previzualizările |\n| `run_server_command` | 30 pe minut |\n| `reveal_server_credentials` | 20 pe minut |\n| `reset_server_password` | 3 în 5 minute |\n| `power_server` | 6 pe minut |\n| `get_server_ssh_access` | 10 în 5 minute |\n| `add_server_ssh_key`, `remove_server_ssh_key` | câte 10 în 5 minute |\n| `set_server_password_auth` | 5 în 5 minute |\n| `list_server_ssh_keys`, `list_ssh_keys` | câte 30 pe minut |\n| `add_ssh_key` | 10 pe oră |\n| `delete_ssh_key` | 20 pe oră |\n| `list_servers`, `get_server`, `get_balance` | câte 60 pe minut |\n| `list_transactions`, `list_orders`, `list_invoices` | câte 30 pe minut |\n| `get_server_resize_options` | doar limita generală |\n| `whoami`, `list_vm_plans` | fără limită |\n\n> **Atenție**\n> Ofertele și previzualizările consumă limita la fel ca acțiunile. Trei previzualizări de upgrade epuizează `resize_server` pentru 10 minute. Cereți asistentului o singură previzualizare, verificați-o, apoi confirmați.\n\n## Erori la conectare (HTTP)\n\nAceste erori apar înainte ca asistentul să poată folosi vreo unealtă, iar clientul AI arată conexiunea ca eșuată. Motivul exact apare în jurnalul clientului sau la un test cu MCP Inspector ori cu o cerere HTTP: vedeți [Folosirea MCP din cod (API-uri AI și HTTP)](#ai.conectare-din-cod).\n\n### 401: token lipsă sau nerecunoscut\n\nLa orice problemă cu token-ul, serverul răspunde cu HTTP 401 și corpul `{\"error\":\"invalid_token\",\"error_description\":\"…\"}`. Câmpul `error_description` arată motivul:\n\n| `error_description` | Cauza | Ce faceți |\n|---|---|---|\n| `authorization header missing` | Cererea nu are antetul `Authorization` și nici un antet alternativ cu token-ul. | Adăugați `Authorization: Bearer bbx_pat_…`. În aplicația Claude, verificați antetul `x-api-key`: numele scris exact, valoarea începe cu `bbx_pat_`. Vedeți [Conectarea în aplicația Claude (connector personalizat)](#ai.conectare-claude). |\n| `unsupported authorization scheme (expected: Bearer <token>)` | Antetul `Authorization` nu începe cu `Bearer` urmat de spațiu: lipsește cuvântul `Bearer`, are alt cuvânt în față sau după `Bearer` nu urmează nimic. | Scrieți `Bearer`, un spațiu, apoi token-ul. Dacă țineți token-ul într-o variabilă de mediu, verificați că nu este goală. |\n| `bearer token is empty` | După `Bearer ` nu urmează niciun token. | Verificați că token-ul (sau variabila de mediu cu el) nu este gol. |\n| `token not recognised (expected a bbx_pat_ personal access token)` | Textul de după `Bearer ` nu începe cu `bbx_pat_`: altă cheie, ghilimele în plus sau două spații după `Bearer`. | Copiați token-ul exact, fără ghilimele, cu un singur spațiu după `Bearer`. |\n| `token not recognised (revoked, expired, or unknown)` | Token-ul are forma corectă, dar nu este valid: a fost revocat, a fost creat înainte de ultima schimbare a parolei contului, contul a fost șters sau token-ul a fost copiat incomplet. | Creați un token nou și înlocuiți-l în client (vedeți secțiunea despre parolă de mai jos). |\n\n> **Important**\n> Între `Bearer` și token trebuie să fie exact un spațiu. Cu două spații, token-ul ajunge la server cu un spațiu în față și este respins. Cuvântul `Bearer` poate fi scris cu litere mari sau mici.\n\n```text\nAuthorization: Bearer bbx_pat_…\n```\n\n### 404 și 421\n\n| Răspuns | Cauza | Ce faceți |\n|---|---|---|\n| HTTP 404 | Adresa are altă cale decât `/mcp` sau serviciul MCP este temporar indisponibil. | Folosiți exact `https://api.app.blackbox.md/mcp`. Dacă adresa este corectă, reîncercați mai târziu, iar dacă eroarea persistă, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). |\n| HTTP 421 (Misdirected Request) | Cererea are alt nume de gazdă decât `api.app.blackbox.md`, de exemplu pentru că un proxy a schimbat antetul `Host`. | Folosiți numele `api.app.blackbox.md`, exact ca în adresa de mai sus. |\n\n## Codurile de eroare ale uneltelor\n\nCând o unealtă nu reușește, asistentul primește un cod scurt, uneori urmat de detalii după „:”, de exemplu `missing_scope: this token does not have 'orders:write'`. Conexiunea rămâne activă. Dacă asistentul doar rezumă eroarea, cereți-i textul exact.\n\n### Erori comune\n\n| Cod | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `rate_limited` | S-a depășit limita generală sau limita uneltei. | Opriți apelurile la acea unealtă cât durează fereastra limitei (un minut, 5 minute, 10 minute sau o oră). Nu reîncercați în buclă. |\n| `missing_scope` | Token-ul nu are permisiunea cerută; mesajul o numește. | Creați un token nou cu permisiunea respectivă, puneți-l în client și revocați-l pe cel vechi. Permisiunile unui token existent nu se pot schimba. Vedeți [Permisiunile token-urilor (scopes)](#ai.permisiuni). |\n| `not_found` | ID-ul nu există sau aparține altui cont; cele două cazuri arată la fel intenționat. Același cod apare pentru o acțiune pe un server pe care doar îl vedeți (în panou are eticheta „Administrat”). | Cereți asistentului să ia ID-ul din `list_servers`, `list_orders` sau `list_ssh_keys`. Pentru serverele „Administrat”, scrieți-ne. |\n| `invalid_server_id`, `invalid_order_id`, `invalid_key_id` | ID-ul nu are formatul corect: asistentul a trimis, de exemplu, numele sau IP-ul serverului. | Cereți-i să folosească câmpul `id` din `list_servers`, `list_orders` sau `list_ssh_keys`. |\n| `internal_error` | Eroare neprevăzută la BLACKBOX. | Reîncercați o singură dată. Dacă se repetă, scrieți-ne ora și numele uneltei. |\n| Mesajul că serviciul de infrastructură este temporar indisponibil | La un upgrade sau la anularea unei comenzi cu server, infrastructura nu a răspuns. Nu s-a schimbat nimic și nu s-a debitat nimic. | Reîncercați peste câteva minute. Dacă persistă, scrieți-ne. |\n\n### Servere și comenzi pe server\n\n| Cod | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `invalid_action` | `power_server` a primit o acțiune necunoscută. | Acțiunile valide sunt `reboot`, `stop` și `start`. |\n| `no_instance_id` | Serverul nu este o mașină virtuală pe care BLACKBOX o poate porni sau opri automat (de exemplu, un server înregistrat manual sau un server mai vechi la care contul dvs. are acces). Pe unele dintre aceste servere funcționează doar `reboot`. | Pentru alte acțiuni, scrieți-ne. |\n| `power_action_failed` | Infrastructura nu a executat comanda de pornire, oprire sau repornire. | Verificați starea cu `get_server` (`power_state`) și reîncercați după un minut. Dacă persistă, scrieți-ne. |\n| `reset_failed` | Parola nu a putut fi schimbată, de obicei pentru că serverul este oprit sau nu răspunde. Parola veche rămâne valabilă. | Porniți serverul, așteptați să pornească și reîncercați (cel mult 3 resetări în 5 minute). |\n| `ssh_connection_failed` | Conexiunea de administrare BLACKBOX nu a ajuns la server: serverul este oprit sau încă pornește, SSH nu răspunde, root nu se mai poate autentifica cu cheie sau a fost ștearsă „Cheie de administrare (blackbox.md)”. | Verificați că serverul rulează, așteptați 30–60 de secunde după o repornire și reîncercați o dată. Dacă persistă, vedeți [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server) sau scrieți-ne. |\n| `invalid_command` | Comanda este goală sau are peste 8192 de caractere. | Verificați că apelul conține o comandă. Împărțiți o comandă prea lungă în mai multe apeluri. |\n\n### Comenzi, plăți, anulări și upgrade\n\n| Cod | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `unsupported_os` | Sistemul de operare cerut nu se instalează automat (de exemplu Windows). Mesajul enumeră ID-urile acceptate. | Alegeți unul dintre `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Windows este disponibil doar la cerere, prin suport. |\n| `configurator_retired` | Configurația personalizată nu mai există: a fost înlocuită de planurile fixe. | Cereți asistentului `list_vm_plans` și alegeți un plan. |\n| `plan_retired` | Planul cerut a fost retras. Mesajul propune cel mai apropiat plan `vm-…`. | Verificați prețul planului propus cu `list_vm_plans` și comandați-l pe acela. |\n| `plan_unavailable` | Configurația hardware a planului este temporar indisponibilă. Comanda nu a fost creată. | Alegeți un plan apropiat din `list_vm_plans` sau reîncercați mai târziu. |\n| `price_changed` | Suma trimisă la `pay_order` nu este prețul curent; mesajul arată prețul corect. Nu s-a debitat nimic. | Verificați noul preț și confirmați plata cu suma corectă. |\n| `insufficient_balance` | Soldul nu acoperă plata sau upgrade-ul. La upgrade, eroarea apare deja la previzualizare. Nu s-a debitat nimic. | Alimentați soldul pe blackbox.md: „Contul meu” → „Sold” → „Alimentează soldul”. Asistentul nu poate face asta. Vedeți [Alimentarea soldului](#plati.alimentare-sold). |\n| `not_payable` | Comanda nu mai are statusul „Nou”. Mesajul arată statusul în engleză: `in_progress` = „În lucru”, `done` = „Finalizat”, `cancelled` = „Anulat”. | Verificați comanda în „Contul meu” → „Comenzi”. Nu o plătiți din nou. |\n| `already_settled` | Comanda a fost plătită între timp, de exemplu cu cardul. Nu s-a debitat nimic din sold. | Verificați comanda în „Contul meu” → „Comenzi” sau cereți `list_orders`. |\n| `provisioning_in_progress` | Serverul comenzii se creează chiar acum, deci comanda nu se poate anula. | Așteptați câteva minute, apoi cereți o nouă previzualizare a anulării. |\n| `not_cancellable` | Comanda are statusul „Finalizat” sau „Anulat” și nu se mai poate anula. | Verificați statusul cu `list_orders`. Pentru o comandă finalizată, scrieți-ne. |\n| `state_changed` | Comanda s-a schimbat între previzualizare și confirmare. | Cereți o previzualizare nouă și confirmați-o pe aceea. |\n| `target_not_a_candidate` | Planul ales pentru upgrade nu este printre variantele permise: doar planuri mai mari din aceeași familie. | Cereți asistentului să ruleze din nou `get_server_resize_options` și să aleagă exact una dintre variante. |\n| `job_active` | Un upgrade al acestui server este deja în curs. | Așteptați câteva minute să se termine. Nu porniți un al doilea. |\n| `not_upgradeable_plan` | Planul serverului („VPS hosting” cu panou sau server dedicat) nu se poate mări automat. | Scrieți-ne pentru o configurație mai mare. |\n| `vm_not_resizable` | Serverul este într-o stare de tranziție, de exemplu se creează sau se mărește deja. | Reîncercați peste câteva minute. |\n\nCum funcționează ofertele, plata și anularea prin AI: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai).\n\n### Chei SSH\n\n| Cod | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `management_key_protected` | S-a încercat ștergerea „Cheie de administrare (blackbox.md)” de pe server. Ea nu se poate șterge: prin ea funcționează panoul și asistentul AI. | Nu este nevoie de nicio acțiune. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). |\n| `last_key_on_key_only_server` | Ar fi ștearsă ultima cheie a dvs. de pe un server „Doar cheie” și ați pierde accesul SSH. | Adăugați întâi altă cheie sau activați autentificarea cu parolă, apoi ștergeți cheia. |\n| `no_customer_key_installed` | Autentificarea cu parolă nu poate fi dezactivată: pe server nu este instalată nicio cheie a dvs. | Instalați întâi cheia dvs. pe server (`add_server_ssh_key`), apoi reîncercați. |\n| `operation_in_progress` | Pe același server rulează deja o modificare a cheilor sau a autentificării cu parolă. | Așteptați un minut și reîncercați. |\n| `private_key_submitted` | S-a trimis o cheie privată în locul celei publice. Nu a fost salvată. | Trimiteți conținutul fișierului `.pub`. Cheia privată a ajuns în conversația cu asistentul: considerați-o expusă și generați o pereche nouă ([Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)). |\n| `duplicate_key` | Cheia există deja în contul dvs. | Folosiți cheia existentă (`list_ssh_keys`). |\n| `too_many_keys` | Contul are deja 20 de chei, numărul maxim. | Ștergeți o cheie pe care nu o mai folosiți (`delete_ssh_key`), apoi adăugați-o pe cea nouă. |\n| `unsupported_key_type`, `key_too_weak`, `invalid_public_key` | Textul nu este o cheie publică OpenSSH validă, are un tip neacceptat sau este o cheie RSA sub 2048 de biți. | Folosiți o cheie `ssh-ed25519`, RSA de cel puțin 2048 de biți sau ECDSA. |\n\n> **Securitate**\n> Nu trimiteți token-ul la suport și nu îl lăsați în capturi de ecran. Pentru o problemă, ne ajung ora, numele uneltei și mesajul de eroare. Dacă un token a ajuns undeva public, revocați-l imediat.\n\n## Token-ul nu mai funcționează după schimbarea parolei\n\nCând schimbați parola contului blackbox.md, toate token-urile create înainte de schimbare se opresc, iar clientul AI primește `token not recognised (revoked, expired, or unknown)`. În listă, token-urile vechi rămân fără niciun marcaj.\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Token-uri API”.\n2. Creați un token nou cu aceleași permisiuni și copiați-l. Pașii: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n3. Înlocuiți token-ul vechi în clientul AI și reconectați clientul.\n4. Cereți asistentului să apeleze `whoami`: răspunsul confirmă contul și arată permisiunile care lipsesc.\n5. Revocați token-urile vechi cu „Revocă”.\n\nDeconectarea de pe blackbox.md nu oprește token-urile.\n\n## Întrebări frecvente\n\n**Ieri token-ul mergea, azi primesc 401. De ce?**\nCauzele posibile: token-ul a fost revocat sau parola contului a fost schimbată între timp. Citiți `error_description` din răspuns și urmați rândul din tabelul 401.\n\n**Asistentul spune că o unealtă nu există. De ce?**\nClientul AI vede doar uneltele pentru care token-ul are permisiune. Creați un token nou cu permisiunea necesară.\n\n**Limitele se resetează la o oră fixă?**\nNu. Se numără apelurile din ultima fereastră (un minut, 5 minute, 10 minute sau o oră, după limită). După ce opriți apelurile, accesul revine singur.\n\n**Butoanele din panou consumă din limitele MCP?**\nNu. Panoul și MCP au limite separate, chiar și pentru aceleași acțiuni.\n",
    "ru": "Сервер MCP BLACKBOX (`https://api.app.blackbox.md/mcp`) ограничивает число вызовов, а при сбое отвечает коротким сообщением на английском или кодом ошибки. Здесь собраны лимиты, HTTP-ответы при подключении (401, 404, 421) и коды ошибок инструментов — и что делать в каждом случае. Токены создаются и отзываются на blackbox.md: «Личный кабинет» → «API-токены» (`blackbox.md/ru/account/api-tokens`).\n\n**Доступно:** любому клиенту blackbox.md, который подключает AI-ассистента с API-токеном.\n\n## Общий лимит: 120 вызовов в минуту\n\n- Один аккаунт может сделать не больше 120 вызовов инструментов за любые 60 секунд. Лимит действует на аккаунт, а не на токен: все ваши токены и AI-клиенты расходуют его вместе.\n- При превышении инструмент возвращает ошибку `rate_limited`. Это не HTTP 429: соединение остаётся рабочим, отклоняется только сам вызов.\n- Считаются вызовы за последние 60 секунд, включая отклонённые. Если ассистент повторяет запросы в цикле, блокировка не снимается. Прекратите вызовы и подождите целую минуту.\n- `whoami` и `list_vm_plans` в лимит не входят.\n- Лимиты MCP не связаны с лимитами кнопок в панели и страниц blackbox.md. Они описаны в статье [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Лимиты отдельных инструментов\n\nКроме общего лимита, у большинства инструментов есть и собственный, тоже на аккаунт. При превышении — та же ошибка `rate_limited`. Что делает каждый инструмент: [Список инструментов MCP](#ai.unelte).\n\n| Инструмент | Лимит |\n|---|---|\n| `create_order` | 20 в час, включая расчёты цены (`confirm=false`) |\n| `pay_order` | 10 в минуту |\n| `cancel_order` | 5 за 5 минут, включая предпросмотры |\n| `resize_server` | 3 за 10 минут, включая предпросмотры |\n| `run_server_command` | 30 в минуту |\n| `reveal_server_credentials` | 20 в минуту |\n| `reset_server_password` | 3 за 5 минут |\n| `power_server` | 6 в минуту |\n| `get_server_ssh_access` | 10 за 5 минут |\n| `add_server_ssh_key`, `remove_server_ssh_key` | по 10 за 5 минут |\n| `set_server_password_auth` | 5 за 5 минут |\n| `list_server_ssh_keys`, `list_ssh_keys` | по 30 в минуту |\n| `add_ssh_key` | 10 в час |\n| `delete_ssh_key` | 20 в час |\n| `list_servers`, `get_server`, `get_balance` | по 60 в минуту |\n| `list_transactions`, `list_orders`, `list_invoices` | по 30 в минуту |\n| `get_server_resize_options` | только общий лимит |\n| `whoami`, `list_vm_plans` | без лимита |\n\n> **Внимание**\n> Расчёты цены и предпросмотры расходуют лимит так же, как сами действия. Три предпросмотра апгрейда исчерпывают `resize_server` на 10 минут. Попросите ассистента сделать один предпросмотр, проверьте его и только потом подтверждайте.\n\n## Ошибки при подключении (HTTP)\n\nЭти ошибки возникают до того, как ассистент сможет вызвать хоть один инструмент, — AI-клиент показывает, что подключиться не удалось. Точную причину можно увидеть в журнале клиента либо при проверке через MCP Inspector или HTTP-запросом: см. [Использование MCP из кода (AI API и HTTP)](#ai.conectare-din-cod).\n\n### 401: токен не передан или не распознан\n\nПри любой проблеме с токеном сервер отвечает HTTP 401 с телом `{\"error\":\"invalid_token\",\"error_description\":\"…\"}`. Причина указана в поле `error_description`:\n\n| `error_description` | Причина | Что делать |\n|---|---|---|\n| `authorization header missing` | В запросе нет заголовка `Authorization` и нет альтернативного заголовка с токеном. | Добавьте `Authorization: Bearer bbx_pat_…`. В приложении Claude проверьте заголовок `x-api-key`: имя должно быть написано точно, значение — начинаться с `bbx_pat_`. См. [Подключение в приложении Claude (пользовательский коннектор)](#ai.conectare-claude). |\n| `unsupported authorization scheme (expected: Bearer <token>)` | Заголовок `Authorization` не начинается с `Bearer` и пробела: слова `Bearer` нет, перед токеном стоит другое слово или после `Bearer` ничего нет. | Напишите `Bearer`, пробел и токен. Если токен хранится в переменной окружения, убедитесь, что она не пустая. |\n| `bearer token is empty` | После `Bearer ` нет токена. | Убедитесь, что токен (или переменная окружения с ним) не пустой. |\n| `token not recognised (expected a bbx_pat_ personal access token)` | Текст после `Bearer ` не начинается с `bbx_pat_`: это другой ключ, лишние кавычки или два пробела после `Bearer`. | Скопируйте токен точно, без кавычек, с одним пробелом после `Bearer`. |\n| `token not recognised (revoked, expired, or unknown)` | Формат токена верный, но токен недействителен: его отозвали, он создан до последней смены пароля аккаунта, аккаунт удалён или токен скопирован не полностью. | Создайте новый токен и замените его в клиенте (см. раздел о смене пароля ниже). |\n\n> **Важно**\n> Между `Bearer` и токеном должен быть ровно один пробел. С двумя пробелами токен приходит на сервер с пробелом в начале и отклоняется. Слово `Bearer` можно писать в любом регистре.\n\n```text\nAuthorization: Bearer bbx_pat_…\n```\n\n### 404 и 421\n\n| Ответ | Причина | Что делать |\n|---|---|---|\n| HTTP 404 | Путь в адресе не `/mcp` либо сервис MCP временно недоступен. | Используйте адрес точно: `https://api.app.blackbox.md/mcp`. Если адрес верный, повторите позже, а если ошибка не исчезает, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n| HTTP 421 (Misdirected Request) | В запросе указано другое имя хоста, а не `api.app.blackbox.md` — например, его подменил прокси в заголовке `Host`. | Используйте имя `api.app.blackbox.md`, как в адресе выше. |\n\n## Коды ошибок инструментов\n\nЕсли инструмент не сработал, ассистент получает короткий код, иногда с подробностями после «:», например `missing_scope: this token does not have 'orders:write'`. Соединение при этом не обрывается. Если ассистент лишь пересказывает ошибку, попросите его привести точный текст.\n\n### Общие ошибки\n\n| Код | Что означает | Что делать |\n|---|---|---|\n| `rate_limited` | Превышен общий лимит или лимит инструмента. | Не вызывайте этот инструмент, пока не пройдёт окно лимита (минута, 5 минут, 10 минут или час). Не повторяйте вызовы в цикле. |\n| `missing_scope` | У токена нет нужного разрешения; оно названо в сообщении. | Создайте новый токен с этим разрешением, пропишите его в клиенте, а старый отзовите. Разрешения существующего токена изменить нельзя. См. [Разрешения токенов (scopes)](#ai.permisiuni). |\n| `not_found` | Такого ID нет или он принадлежит другому аккаунту; оба случая намеренно выглядят одинаково. Тот же код приходит при действии с сервером, который вам доступен только для просмотра (в панели у него метка «Обслуживается»). | Попросите ассистента взять ID из `list_servers`, `list_orders` или `list_ssh_keys`. По серверам с меткой «Обслуживается» напишите нам. |\n| `invalid_server_id`, `invalid_order_id`, `invalid_key_id` | ID в неверном формате: например, ассистент передал имя или IP сервера. | Попросите его использовать поле `id` из `list_servers`, `list_orders` или `list_ssh_keys`. |\n| `internal_error` | Непредвиденная ошибка на стороне BLACKBOX. | Повторите один раз. Если ошибка повторяется, напишите нам время и название инструмента. |\n| Сообщение о том, что инфраструктурный сервис временно недоступен | При апгрейде или отмене заказа с сервером инфраструктура не ответила. Ничего не изменилось, деньги не списаны. | Повторите через несколько минут. Если не помогает, напишите нам. |\n\n### Серверы и команды на сервере\n\n| Код | Что означает | Что делать |\n|---|---|---|\n| `invalid_action` | `power_server` получил неизвестное действие. | Допустимые действия: `reboot`, `stop` и `start`. |\n| `no_instance_id` | Сервер не является виртуальной машиной, которую BLACKBOX может автоматически включать и выключать (например, сервер, добавленный вручную, или старый сервер, к которому у вашего аккаунта есть доступ). На некоторых таких серверах работает только `reboot`. | Для других действий напишите нам. |\n| `power_action_failed` | Инфраструктура не выполнила команду включения, выключения или перезагрузки. | Проверьте состояние через `get_server` (`power_state`) и повторите через минуту. Если не помогает, напишите нам. |\n| `reset_failed` | Пароль не удалось сменить — обычно потому, что сервер выключен или не отвечает. Старый пароль продолжает действовать. | Включите сервер, дождитесь загрузки и повторите (не больше 3 сбросов за 5 минут). |\n| `ssh_connection_failed` | Служебное подключение BLACKBOX не дошло до сервера: сервер выключен или ещё загружается, SSH не отвечает, root больше не может входить по ключу или удалён «Ключ управления (blackbox.md)». | Убедитесь, что сервер работает, после перезагрузки подождите 30–60 секунд и повторите один раз. Если не помогает, см. [Выполнение команд на сервере через AI](#ai.comenzi-pe-server) или напишите нам. |\n| `invalid_command` | Команда пустая или длиннее 8192 символов. | Проверьте, что в вызове есть команда. Слишком длинную команду разбейте на несколько вызовов. |\n\n### Заказы, оплата, отмена и апгрейд\n\n| Код | Что означает | Что делать |\n|---|---|---|\n| `unsupported_os` | Выбранную ОС нельзя установить автоматически (например, Windows). В сообщении перечислены допустимые ID. | Выберите один из вариантов: `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Windows — только по запросу через поддержку. |\n| `configurator_retired` | Индивидуальной конфигурации больше нет: её заменили фиксированные тарифы. | Попросите ассистента вызвать `list_vm_plans` и выберите тариф. |\n| `plan_retired` | Тариф выведен из продажи. В сообщении предложен ближайший тариф `vm-…`. | Проверьте цену предложенного тарифа через `list_vm_plans` и закажите его. |\n| `plan_unavailable` | Оборудование для этого тарифа временно недоступно. Заказ не создан. | Выберите близкий тариф из `list_vm_plans` или повторите позже. |\n| `price_changed` | Сумма, переданная в `pay_order`, не совпадает с текущей ценой; верная цена указана в сообщении. Деньги не списаны. | Проверьте новую цену и подтвердите оплату с правильной суммой. |\n| `insufficient_balance` | Баланса не хватает на оплату или апгрейд. При апгрейде ошибка появляется уже на предпросмотре. Деньги не списаны. | Пополните баланс на blackbox.md: «Личный кабинет» → «Баланс» → «Пополнить баланс». Ассистент этого сделать не может. См. [Пополнение баланса](#plati.alimentare-sold). |\n| `not_payable` | Заказ уже не в статусе «Новый». Статус в сообщении указан по-английски: `in_progress` — «В работе», `done` — «Завершён», `cancelled` — «Отменён». | Проверьте заказ в разделе «Личный кабинет» → «Заказы». Не оплачивайте его повторно. |\n| `already_settled` | Заказ тем временем уже оплачен — например, картой. С баланса ничего не списано. | Проверьте заказ в разделе «Личный кабинет» → «Заказы» или попросите вызвать `list_orders`. |\n| `provisioning_in_progress` | Сервер по заказу как раз создаётся, поэтому отменить заказ сейчас нельзя. | Подождите несколько минут и запросите новый предпросмотр отмены. |\n| `not_cancellable` | У заказа статус «Завершён» или «Отменён», отменить его уже нельзя. | Проверьте статус через `list_orders`. По завершённому заказу напишите нам. |\n| `state_changed` | Заказ изменился между предпросмотром и подтверждением. | Запросите новый предпросмотр и подтвердите уже его. |\n| `target_not_a_candidate` | Выбранный для апгрейда тариф не входит в допустимые варианты — только более крупные тарифы того же семейства. | Попросите ассистента заново вызвать `get_server_resize_options` и выбрать ровно один из предложенных вариантов. |\n| `job_active` | Апгрейд этого сервера уже выполняется. | Подождите несколько минут, пока он закончится. Второй не запускайте. |\n| `not_upgradeable_plan` | Тариф сервера («VPS hosting» с панелью или выделенный сервер) нельзя увеличить автоматически. | Напишите нам, чтобы подобрать конфигурацию больше. |\n| `vm_not_resizable` | Сервер в переходном состоянии — например, ещё создаётся или уже увеличивается. | Повторите через несколько минут. |\n\nКак через AI работают расчёт цены, оплата и отмена: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai).\n\n### SSH-ключи\n\n| Код | Что означает | Что делать |\n|---|---|---|\n| `management_key_protected` | Была попытка удалить с сервера «Ключ управления (blackbox.md)». Его удалить нельзя: через него работают панель и AI-ассистент. | Ничего делать не нужно. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). |\n| `last_key_on_key_only_server` | Удаление сняло бы ваш последний ключ с сервера «Только ключ», и вы потеряли бы доступ по SSH. | Сначала добавьте другой ключ или включите вход по паролю, затем удалите этот ключ. |\n| `no_customer_key_installed` | Вход по паролю нельзя отключить: на сервере не установлено ни одного вашего ключа. | Сначала установите свой ключ на сервер (`add_server_ssh_key`), затем повторите. |\n| `operation_in_progress` | На этом сервере уже идёт другое изменение ключей или входа по паролю. | Подождите минуту и повторите. |\n| `private_key_submitted` | Вместо публичного ключа передан приватный. Он не сохранён. | Передайте содержимое файла `.pub`. Приватный ключ уже попал в переписку с ассистентом: считайте его скомпрометированным и создайте новую пару ([Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)). |\n| `duplicate_key` | Такой ключ уже есть в вашем аккаунте. | Используйте существующий ключ (`list_ssh_keys`). |\n| `too_many_keys` | В аккаунте уже 20 ключей — это максимум. | Удалите ключ, которым больше не пользуетесь (`delete_ssh_key`), и добавьте новый. |\n| `unsupported_key_type`, `key_too_weak`, `invalid_public_key` | Текст не является корректным публичным ключом OpenSSH, тип ключа не поддерживается или это ключ RSA короче 2048 бит. | Используйте ключ `ssh-ed25519`, RSA не короче 2048 бит или ECDSA. |\n\n> **Безопасность**\n> Не отправляйте токен в поддержку и не оставляйте его на скриншотах. Чтобы разобраться с проблемой, нам достаточно времени, названия инструмента и текста ошибки. Если токен оказался в открытом доступе, сразу отзовите его.\n\n## Токен перестал работать после смены пароля\n\nКогда вы меняете пароль аккаунта blackbox.md, перестают работать все токены, созданные до смены, и AI-клиент получает `token not recognised (revoked, expired, or unknown)`. В списке старые токены остаются без какой-либо пометки.\n\n1. На blackbox.md откройте «Личный кабинет» → «API-токены».\n2. Создайте новый токен с теми же разрешениями и скопируйте его. Подробно: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n3. Замените старый токен в AI-клиенте и переподключите клиент.\n4. Попросите ассистента вызвать `whoami`: в ответе будет ваш аккаунт и список недостающих разрешений.\n5. Отзовите старые токены кнопкой «Отозвать».\n\nВыход из аккаунта на blackbox.md на токены не влияет.\n\n## Частые вопросы\n\n**Вчера токен работал, а сегодня приходит 401. Почему?**\nВозможные причины: токен отозвали или за это время сменили пароль аккаунта. Посмотрите `error_description` в ответе и найдите эту строку в таблице ошибок 401.\n\n**Ассистент говорит, что такого инструмента нет. Почему?**\nAI-клиент видит только те инструменты, на которые у токена есть разрешение. Создайте новый токен с нужным разрешением.\n\n**Лимиты сбрасываются в определённое время?**\nНет. Считаются вызовы за последнее окно (минута, 5 минут, 10 минут или час — в зависимости от лимита). Когда вы прекращаете вызовы, доступ восстанавливается сам.\n\n**Расходуют ли кнопки в панели лимиты MCP?**\nНет. У панели и MCP отдельные лимиты, даже для одинаковых действий.\n",
    "en": "The BLACKBOX MCP server (`https://api.app.blackbox.md/mcp`) limits the number of calls and, when something goes wrong, replies with a short message in English or with an error code. Here you will find the limits, the HTTP responses you may get when connecting (401, 404, 421) and the tool error codes, with what to do in each case. You create and revoke tokens on blackbox.md, in “Contul meu” (My account) → “Token-uri API” (API tokens) (`blackbox.md/account/api-tokens`).\n\n**Available to:** any blackbox.md customer who connects an AI assistant with an API token.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The general limit: 120 calls per minute\n\n- An account can make at most 120 tool calls in any 60-second window. The limit applies to the account, not to the token: all your tokens and all your AI clients share it.\n- Over the limit, the tool returns the `rate_limited` error. This is not an HTTP 429 error: the connection stays active, and only the call is refused.\n- The count covers the calls made in the last 60 seconds, including refused ones. If the assistant keeps retrying in a loop, it stays blocked. Stop the calls and wait a full minute.\n- `whoami` and `list_vm_plans` don't count toward the limit.\n- MCP limits are separate from the limits of the panel buttons and the blackbox.md pages. You will find those in [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Limits for each tool\n\nIn addition to the general limit, most tools also have a limit of their own, also per account. Going over it gives the same error, `rate_limited`. What each tool does: [List of MCP tools](#ai.unelte).\n\n| Tool | Limit |\n|---|---|\n| `create_order` | 20 per hour, including price quotes (`confirm=false`) |\n| `pay_order` | 10 per minute |\n| `cancel_order` | 5 in 5 minutes, including previews |\n| `resize_server` | 3 in 10 minutes, including previews |\n| `run_server_command` | 30 per minute |\n| `reveal_server_credentials` | 20 per minute |\n| `reset_server_password` | 3 in 5 minutes |\n| `power_server` | 6 per minute |\n| `get_server_ssh_access` | 10 in 5 minutes |\n| `add_server_ssh_key`, `remove_server_ssh_key` | 10 in 5 minutes each |\n| `set_server_password_auth` | 5 in 5 minutes |\n| `list_server_ssh_keys`, `list_ssh_keys` | 30 per minute each |\n| `add_ssh_key` | 10 per hour |\n| `delete_ssh_key` | 20 per hour |\n| `list_servers`, `get_server`, `get_balance` | 60 per minute each |\n| `list_transactions`, `list_orders`, `list_invoices` | 30 per minute each |\n| `get_server_resize_options` | the general limit only |\n| `whoami`, `list_vm_plans` | no limit |\n\n> **Warning**\n> Price quotes and previews use up the limit just like the actions themselves. Three upgrade previews use up `resize_server` for 10 minutes. Ask the assistant for a single preview, check it, then confirm.\n\n## Connection errors (HTTP)\n\nThese errors appear before the assistant can use any tool, and the AI client shows the connection as failed. The exact reason appears in the client's log, or when you test with MCP Inspector or with an HTTP request: see [Using MCP from code (AI APIs and HTTP)](#ai.conectare-din-cod).\n\n### 401: token missing or not recognized\n\nFor any problem with the token, the server replies with HTTP 401 and the body `{\"error\":\"invalid_token\",\"error_description\":\"…\"}`. The `error_description` field shows the reason:\n\n| `error_description` | Cause | What to do |\n|---|---|---|\n| `authorization header missing` | The request has no `Authorization` header and no alternative header with the token. | Add `Authorization: Bearer bbx_pat_…`. In the Claude app, check the `x-api-key` header: the name must be spelled exactly, and the value must start with `bbx_pat_`. See [Connecting in the Claude app (custom connector)](#ai.conectare-claude). |\n| `unsupported authorization scheme (expected: Bearer <token>)` | The `Authorization` header doesn't start with `Bearer` followed by a space: the word `Bearer` is missing, there is a different word in front, or nothing follows `Bearer`. | Write `Bearer`, a space, then the token. If you keep the token in an environment variable, check that the variable isn't empty. |\n| `bearer token is empty` | No token follows `Bearer `. | Check that the token (or the environment variable that holds it) isn't empty. |\n| `token not recognised (expected a bbx_pat_ personal access token)` | The text after `Bearer ` doesn't start with `bbx_pat_`: it is a different key, it has extra quotation marks, or there are two spaces after `Bearer`. | Copy the token exactly, without quotation marks, with a single space after `Bearer`. |\n| `token not recognised (revoked, expired, or unknown)` | The token has the right format but isn't valid: it was revoked, it was created before the last change of the account password, the account was deleted, or the token was copied incompletely. | Create a new token and replace the old one in the client (see the section about the password below). |\n\n> **Important**\n> There must be exactly one space between `Bearer` and the token. With two spaces, the token reaches the server with a space in front of it and is rejected. The word `Bearer` can be written in uppercase or lowercase.\n\n```text\nAuthorization: Bearer bbx_pat_…\n```\n\n### 404 and 421\n\n| Response | Cause | What to do |\n|---|---|---|\n| HTTP 404 | The address has a path other than `/mcp`, or the MCP service is temporarily unavailable. | Use exactly `https://api.app.blackbox.md/mcp`. If the address is correct, try again later, and if the error persists, write to us: [How to contact BLACKBOX support](#suport.contact). |\n| HTTP 421 (Misdirected Request) | The request has a host name other than `api.app.blackbox.md`, for example because a proxy changed the `Host` header. | Use the name `api.app.blackbox.md`, exactly as in the address above. |\n\n## Tool error codes\n\nWhen a tool fails, the assistant receives a short code, sometimes followed by details after a “:”, for example `missing_scope: this token does not have 'orders:write'`. The connection stays active. If the assistant only summarizes the error, ask it for the exact text.\n\n### Common errors\n\n| Code | What it means | What to do |\n|---|---|---|\n| `rate_limited` | The general limit or the tool's own limit was exceeded. | Stop calling that tool for as long as the limit's window lasts (one minute, 5 minutes, 10 minutes or one hour). Don't retry in a loop. |\n| `missing_scope` | The token doesn't have the required permission; the message names it. | Create a new token with that permission, put it in the client and revoke the old one. You can't change the permissions of an existing token. See [Token permissions (scopes)](#ai.permisiuni). |\n| `not_found` | The ID doesn't exist or belongs to another account; the two cases look the same on purpose. The same code appears for an action on a server you can only view (in the panel, it has the “Managed” badge). | Ask the assistant to take the ID from `list_servers`, `list_orders` or `list_ssh_keys`. For “Managed” servers, write to us. |\n| `invalid_server_id`, `invalid_order_id`, `invalid_key_id` | The ID has the wrong format: for example, the assistant sent the server's name or IP address. | Ask it to use the `id` field from `list_servers`, `list_orders` or `list_ssh_keys`. |\n| `internal_error` | An unexpected error on the BLACKBOX side. | Try again once. If it happens again, write to us with the time and the name of the tool. |\n| A message saying that the infrastructure service is temporarily unavailable | During an upgrade or the cancellation of an order with a server, the infrastructure did not respond. Nothing was changed and nothing was charged. | Try again in a few minutes. If it persists, write to us. |\n\n### Servers and commands on the server\n\n| Code | What it means | What to do |\n|---|---|---|\n| `invalid_action` | `power_server` received an unknown action. | The valid actions are `reboot`, `stop` and `start`. |\n| `no_instance_id` | The server is not a virtual machine that BLACKBOX can start or stop automatically (for example, a server registered manually or an older server that your account has access to). On some of these servers, only `reboot` works. | For other actions, write to us. |\n| `power_action_failed` | The infrastructure did not carry out the start, stop or reboot command. | Check the state with `get_server` (`power_state`) and try again after a minute. If it persists, write to us. |\n| `reset_failed` | The password could not be changed, usually because the server is stopped or not responding. The old password remains valid. | Start the server, wait for it to boot and try again (at most 3 resets in 5 minutes). |\n| `ssh_connection_failed` | The BLACKBOX management connection did not reach the server: the server is stopped or still booting, SSH is not responding, root can no longer sign in with a key, or the “Management key (blackbox.md)” was deleted. | Check that the server is running, wait 30–60 seconds after a reboot and try again once. If it persists, see [Running commands on the server through AI](#ai.comenzi-pe-server) or write to us. |\n| `invalid_command` | The command is empty or longer than 8,192 characters. | Check that the call contains a command. Split a command that is too long into several calls. |\n\n### Orders, payments, cancellations and upgrades\n\n| Code | What it means | What to do |\n|---|---|---|\n| `unsupported_os` | The requested operating system can't be installed automatically (for example, Windows). The message lists the accepted IDs. | Choose one of `ubuntu-24`, `ubuntu-22`, `ubuntu-20`, `debian-12`, `debian-11`, `centos-9`, `almalinux-9`. Windows is available only on request, through support. |\n| `configurator_retired` | The custom configuration no longer exists: it has been replaced by fixed plans. | Ask the assistant for `list_vm_plans` and choose a plan. |\n| `plan_retired` | The requested plan has been retired. The message suggests the closest `vm-…` plan. | Check the price of the suggested plan with `list_vm_plans` and order that one. |\n| `plan_unavailable` | The plan's hardware configuration is temporarily unavailable. The order was not created. | Choose a similar plan from `list_vm_plans` or try again later. |\n| `price_changed` | The amount sent to `pay_order` is not the current price; the message shows the correct price. Nothing was charged. | Check the new price and confirm the payment with the correct amount. |\n| `insufficient_balance` | Your balance doesn't cover the payment or the upgrade. For an upgrade, the error already appears at the preview. Nothing was charged. | Top up your balance on blackbox.md: “Contul meu” (My account) → “Sold” (Balance) → “Alimentează soldul” (Top up balance). The assistant can't do this. See [Topping up your balance](#plati.alimentare-sold). |\n| `not_payable` | The order no longer has the “Nou” (New) status. The message shows the status in English: `in_progress` = “În lucru” (In progress), `done` = “Finalizat” (Completed), `cancelled` = “Anulat” (Canceled). | Check the order in “Contul meu” → “Comenzi” (Orders). Don't pay for it again. |\n| `already_settled` | The order was paid in the meantime, for example by card. Nothing was charged to your balance. | Check the order in “Contul meu” → “Comenzi” or ask for `list_orders`. |\n| `provisioning_in_progress` | The order's server is being created right now, so the order can't be canceled. | Wait a few minutes, then ask for a new cancellation preview. |\n| `not_cancellable` | The order has the “Finalizat” or “Anulat” status and can no longer be canceled. | Check the status with `list_orders`. For a completed order, write to us. |\n| `state_changed` | The order changed between the preview and the confirmation. | Ask for a new preview and confirm that one. |\n| `target_not_a_candidate` | The plan chosen for the upgrade is not among the allowed options: only larger plans of the same family. | Ask the assistant to run `get_server_resize_options` again and choose exactly one of the options. |\n| `job_active` | An upgrade of this server is already in progress. | Wait a few minutes for it to finish. Don't start a second one. |\n| `not_upgradeable_plan` | The server's plan (“VPS hosting” with a control panel, or a dedicated server) can't be upgraded automatically. | Write to us for a larger configuration. |\n| `vm_not_resizable` | The server is in a transition state, for example it is being created or is already being upgraded. | Try again in a few minutes. |\n\nHow price quotes, payment and cancellation work through AI: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai).\n\n### SSH keys\n\n| Code | What it means | What to do |\n|---|---|---|\n| `management_key_protected` | There was an attempt to delete the “Management key (blackbox.md)” from the server. It can't be deleted: the panel and the AI assistant work through it. | No action is needed. See [BLACKBOX keys on your server](#acces.cheile-blackbox). |\n| `last_key_on_key_only_server` | The deletion would remove your last key from a “Key-only” server, and you would lose SSH access. | First add another key or turn on password login, then delete the key. |\n| `no_customer_key_installed` | Password login can't be turned off: none of your keys is installed on the server. | First install your key on the server (`add_server_ssh_key`), then try again. |\n| `operation_in_progress` | A change to the keys or to password login is already running on the same server. | Wait a minute and try again. |\n| `private_key_submitted` | A private key was sent instead of the public one. It was not saved. | Send the contents of the `.pub` file. The private key has reached your conversation with the assistant: consider it exposed and generate a new key pair ([Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)). |\n| `duplicate_key` | The key already exists in your account. | Use the existing key (`list_ssh_keys`). |\n| `too_many_keys` | The account already has 20 keys, the maximum. | Delete a key you no longer use (`delete_ssh_key`), then add the new one. |\n| `unsupported_key_type`, `key_too_weak`, `invalid_public_key` | The text is not a valid OpenSSH public key, has an unsupported type, or is an RSA key under 2048 bits. | Use an `ssh-ed25519` key, an RSA key of at least 2048 bits, or an ECDSA key. |\n\n> **Security**\n> Don't send your token to support and don't leave it in screenshots. To look into a problem, we only need the time, the name of the tool and the error message. If a token has ended up somewhere public, revoke it immediately.\n\n## The token stops working after a password change\n\nWhen you change your blackbox.md account password, all tokens created before the change stop working, and the AI client receives `token not recognised (revoked, expired, or unknown)`. The old tokens stay in the list with no marker of any kind.\n\n1. On blackbox.md, open “Contul meu” (My account) → “Token-uri API” (API tokens).\n2. Create a new token with the same permissions and copy it. Steps: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n3. Replace the old token in the AI client and reconnect the client.\n4. Ask the assistant to call `whoami`: the response confirms the account and shows which permissions are missing.\n5. Revoke the old tokens with “Revocă” (Revoke).\n\nSigning out of blackbox.md does not stop your tokens from working.\n\n## Frequently asked questions\n\n**My token worked yesterday, but today I get 401. Why?**\nPossible causes: the token was revoked, or the account password was changed in the meantime. Read `error_description` in the response and follow its row in the 401 table.\n\n**The assistant says a tool doesn't exist. Why?**\nThe AI client sees only the tools the token has permission for. Create a new token with the permission you need.\n\n**Do the limits reset at a fixed time?**\nNo. The count covers the calls in the latest window (one minute, 5 minutes, 10 minutes or one hour, depending on the limit). Once you stop the calls, access comes back on its own.\n\n**Do the panel buttons use up the MCP limits?**\nNo. The panel and MCP have separate limits, even for the same actions.\n"
   }
  },
  {
   "id": "ai.securitate",
   "section": "ai",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ai/securitate/",
    "ru": "https://docs.blackbox.md/ru/ai/securitate/",
    "en": "https://docs.blackbox.md/en/ai/securitate/"
   },
   "title": {
    "ro": "Securitatea token-urilor și a agenților AI",
    "ru": "Безопасность токенов и AI-агентов",
    "en": "Token and AI agent security"
   },
   "summary": {
    "ro": "Bune practici pentru token-uri și asistenți AI: permisiuni minime, rotație, păstrare sigură și ce faceți la o scurgere.",
    "ru": "Лучшие практики для токенов и AI-ассистентов: минимальные разрешения, ротация, безопасное хранение и действия при утечке.",
    "en": "Best practices for tokens and AI assistants: minimal permissions, rotation, safe storage and what to do if a token leaks."
   },
   "markdown": {
    "ro": "Un token API (`bbx_pat_…`) este o cheie de acces la contul dvs.: cine îl are poate face, de oriunde, tot ce permit permisiunile lui, până când îl revocați. Aici găsiți regulile de folosire sigură a token-urilor și a asistenților AI conectați prin MCP și pașii de urmat dacă un token a ajuns la altcineva. Token-urile se gestionează pe pagina „Token-uri de acces (API)” (`blackbox.md/account/api-tokens`, „Contul meu” → „Token-uri API”).\n\n**Disponibil pentru:** titularul contului blackbox.md care folosește sau vrea să folosească un asistent AI prin MCP.\n\n## Regulile pe scurt\n\n| Regulă | De ce |\n|---|---|\n| Începeți cu un token doar de citire | Un asistent care doar citește nu poate schimba nimic și nu vede parole. |\n| Câte un token pentru fiecare client AI sau dispozitiv | Revocați doar token-ul pierdut, fără să le opriți pe celelalte. |\n| Verificați „Ultima utilizare” și revocați ce nu folosiți | Nu primiți email când un token este creat, folosit sau revocat. |\n| Înlocuiți token-urile periodic | Token-urile nu expiră. |\n| Țineți token-ul departe de conversații, capturi de ecran, tichete și depozite git | Oricine îl vede îl poate folosi. |\n| Lăsați activă aprobarea acțiunilor în clientul AI | Fereastra de aprobare este ultima verificare înainte ca o comandă să ruleze pe server. |\n\n## Acordați permisiuni minime\n\n- Începeți cu cele trei permisiuni de citire, bifate implicit în cardul „Token nou”: „Citește lista și statusul serverelor mele”, „Citește soldul, facturile și comenzile” și „Citește lista cheilor mele SSH”. Ele ajung pentru întrebări despre servere, sold și facturi.\n- Creați un token separat, cu permisiuni roșii (cele cinci afișate cu roșu), doar când vreți ca asistentul să vă administreze serverele. Butonul „AI-administrator — acces complet” bifează toate cele opt permisiuni: debifați apoi ce nu este necesar pentru sarcina respectivă.\n- Nu bifați „Plasează și modifică comenzi în numele meu” (`orders:write`) dacă asistentul nu trebuie să cheltuie bani: cu ea plasează și plătește comenzi din sold, face upgrade și anulează comenzi.\n- Permisiunile unui token nu se pot extinde după creare. Când aveți nevoie de mai mult, creați un token nou și revocați-l pe cel vechi.\n\nCe permite fiecare permisiune: [Permisiunile token-urilor (scopes)](#ai.permisiuni). Ce permisiuni cere o anumită sarcină: [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n\n> **Risc**\n> „Vizualizează parolele/accesul serverelor” (`servers:credentials`) și „Rulează orice comandă ca root pe serverele mele” (`servers:exec`) înseamnă acces `root` pe toate serverele pe care le administrați din cont. Token-ul nu este legat de un calculator sau de o adresă IP: dacă ajunge la altcineva, funcționează de oriunde, până îl revocați.\n\n## Câte un token pentru fiecare client și dispozitiv\n\n1. Creați câte un token pentru fiecare client AI și fiecare dispozitiv. În „Nume token” scrieți un nume clar, de exemplu „Claude Desktop (laptop)” sau „Cursor (birou)”.\n2. Verificați periodic tabelul de pe pagina „Token-uri de acces (API)”. Coloana „Ultima utilizare” arată când a fost folosit ultima dată fiecare token sau „niciodată”; se actualizează cel mult o dată pe minut.\n3. Pentru token-urile pe care nu le mai folosiți sau nu le recunoașteți, apăsați „Revocă” și confirmați cu „Revocă” în fereastra „Revocați token-ul?”. Accesul se oprește imediat.\n\nNu se trimite niciun email la crearea sau revocarea unui token, așa că lista de pe această pagină este singurul loc unde vă vedeți token-urile. Pașii detaliați: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n\n## Cum înlocuiți periodic un token\n\nToken-urile nu expiră, iar pagina nu vă lasă să setați o dată de expirare. Înlocuiți-le periodic și ori de câte ori schimbați dispozitivul sau când cineva care a văzut token-ul nu mai lucrează cu dvs.\n\n1. În cardul „Token nou”, creați un token cu un nume nou și cu aceleași permisiuni ca cel vechi (coloana „Permisiuni” le arată prin coduri, de exemplu `servers:read`).\n2. Copiați-l cu „Copiază” (se afișează o singură dată) și puneți-l în clientul AI în locul celui vechi.\n3. Cereți asistentului să apeleze `whoami`. Dacă token-ul nou funcționează, răspunsul arată permisiunile lui (`scopes`) și pe cele care lipsesc (`missing_scopes`).\n4. Pe rândul token-ului vechi apăsați „Revocă” și confirmați.\n\n## Unde păstrați token-ul\n\n- Puneți token-ul direct în setările clientului AI, într-un manager de parole sau într-o variabilă de mediu.\n- Nu îl lipiți în conversații (nici în cea cu asistentul AI), în capturi de ecran, în emailuri sau în tichete, nici măcar pentru suportul BLACKBOX.\n- Nu îl scrieți în fișiere care ajung într-un depozit git. Dacă fișierul de configurare stă în proiect, folosiți o variabilă de mediu. De exemplu, în fișierul `.mcp.json` al Claude Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nToken-ul stă în variabila de mediu `BBX_PAT`, nu în fișier. Setările pentru fiecare client: [Conectarea din Claude Code, Cursor, VS Code și alți clienți](#ai.conectare-claude-code-cursor).\n\nDacă token-ul a ajuns totuși într-un depozit git, revocați-l. Nu este suficient să ștergeți fișierul sau commit-ul: istoria depozitului îl păstrează.\n\n## Ce vede furnizorul AI\n\nTot ce întorc uneltele MCP ajunge la clientul AI și la furnizorul care rulează modelul: lista serverelor și adresele IP, soldul și facturile, rezultatul comenzilor rulate pe server și, cu `servers:credentials`, parola root și cheia privată SSH pe care BLACKBOX o emite pentru asistent. Asistentul este instruit să nu afișeze secretele în conversație dacă nu i le cereți, dar ele ajung oricum la model.\n\n- Folosiți un furnizor AI în care aveți încredere și citiți-i condițiile despre păstrarea datelor.\n- Dacă nu vreți ca o parolă root văzută de asistent să rămână valabilă, resetați-o după ce terminați lucrul: [Resetarea parolei root](#acces.resetare-parola-root).\n\n## Aprobarea acțiunilor în clientul AI\n\nServerul MCP BLACKBOX marchează uneltele care schimbă ceva sau dezvăluie secrete, ca clientul AI să vă ceară aprobarea înainte de a le rula. Fereastra de aprobare o afișează însă clientul AI, nu BLACKBOX. Dacă alegeți aprobarea automată („always allow”, rulare automată sau o opțiune similară, în funcție de client), confirmările dispar.\n\nAsistentul este instruit să vă ceară acordul doar înainte de a cheltui bani (plasarea și plata unei comenzi, upgrade), de a anula o comandă, de a șterge o cheie SSH de pe server, de a dezactiva autentificarea cu parolă și de a înlocui cheia agentului. Celelalte acțiuni (comenzi pe server, instalări, reporniri, resetarea parolei root, adăugarea cheilor SSH) este instruit să le facă direct, fără să întrebe. Pentru acestea, fereastra de aprobare a clientului este singura verificare.\n\n| Unelte | Aprobare automată |\n|---|---|\n| Doar citire: `whoami`, `list_vm_plans`, `list_servers`, `get_server`, `get_server_resize_options`, `get_balance`, `list_transactions`, `list_orders`, `list_invoices`, `list_ssh_keys`, `list_server_ssh_keys` | se poate permite |\n| Bani și comenzi: `create_order`, `pay_order`, `cancel_order`, `resize_server` | nu |\n| Server: `run_server_command`, `power_server`, `reveal_server_credentials`, `reset_server_password`, `get_server_ssh_access`, `add_server_ssh_key`, `remove_server_ssh_key`, `set_server_password_auth` | nu |\n| Cheile din cont: `add_ssh_key`, `delete_ssh_key` | nu |\n\nCând folosiți MCP din propriul cod (prin API-urile furnizorilor AI), nu apare nicio fereastră de aprobare: uneltele rulează imediat ce modelul le apelează, dacă nu ați programat dvs. o confirmare. Acolo folosiți un token doar de citire sau limitați uneltele permise: [Folosirea MCP din cod (API-uri AI și HTTP)](#ai.conectare-din-cod).\n\n> **Atenție**\n> Nu activați aprobarea automată pentru uneltele care cheltuiesc bani sau modifică serverele. Aceste confirmări vă protejează soldul și datele. De exemplu, anularea unei comenzi cu server activ șterge serverul imediat, cu toate datele.\n\n## Instrucțiuni ascunse în conținut (prompt injection)\n\nUn asistent AI urmează instrucțiuni scrise în text. Conținutul dintr-o sursă necontrolată (o pagină web, un fișier de log, un email, un fișier dintr-un proiect străin, chiar rezultatul unei comenzi) poate conține instrucțiuni puse acolo de altcineva. Un asistent cu `servers:exec` sau `servers:credentials` poate fi păcălit astfel să ruleze comenzi ca `root` sau să transmită parole.\n\n- Nu folosiți un token cu permisiuni roșii într-o sesiune în care asistentul navighează pe web, citește emailuri sau prelucrează fișiere primite de la alții.\n- Citiți fiecare comandă înainte să o aprobați. Opriți-vă dacă asistentul propune ceva ce nu ați cerut: să descarce și să ruleze un script de pe internet, să adauge o cheie SSH sau un utilizator, să trimită date către o adresă necunoscută ori să afișeze parole.\n- După ce asistentul a citit log-uri sau pagini web, verificați cu și mai multă atenție comenzile pe care le propune.\n\n## Cum ajunge asistentul pe server\n\nAsistentul nu are nevoie de parola root sau de cheia dvs. SSH. BLACKBOX păstrează pe fiecare server VPS o cheie de administrare, afișată în panou ca „Cheie de administrare (blackbox.md)” în lista „Chei instalate”. Comenzile rulate prin `run_server_command` trec, ca `root`, prin această conexiune BLACKBOX. De aceea, un token cu `servers:exec` este tot ce îi trebuie cuiva ca să ruleze comenzi pe serverele dvs. Detalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n- Accesul asistentului îl opriți revocând token-ul, nu ștergând cheia de administrare. Fără ea nu mai funcționează nici funcții ale panoului, de exemplu „Resetează parola”.\n- Cu `servers:credentials`, asistentul poate primi parola root sau o cheie privată SSH proprie (cheia agentului, cu comentariul `blackbox-agent-…`). Acestea rămân valabile și după revocarea token-ului, până când resetați parola sau ștergeți cheia de pe server.\n\n## Dacă un token a ajuns la altcineva\n\n1. Revocați token-ul: „Contul meu” → „Token-uri API” → „Revocă” pe rândul lui, apoi confirmați cu „Revocă”. Clientul care îl folosea pierde accesul la următoarea cerere.\n2. Dacă nu știți ce token a scăpat, opriți-le pe toate deodată schimbând parola contului blackbox.md (nu pe cea din panou): „Contul meu” → „Profil” → „Schimbă parola”. Token-urile create înainte nu mai funcționează, dar rămân în listă fără niciun marcaj, așa că revocați-le și pe ele. Pașii: [Schimbarea parolei contului](#cont.schimbare-parola).\n3. Uitați-vă la coloanele „Permisiuni” și „Ultima utilizare” ale token-ului. Dacă a fost folosit după ce l-ați pierdut, faceți verificările din tabelul de mai jos.\n4. Creați token-uri noi doar pentru clienții AI pe care îi folosiți în continuare.\n5. Scrieți-ne la support@blackbox.md sau deschideți un tichet ([Deschiderea unui tichet de suport](#suport.tichet-nou)). Indicați numele token-ului și ora din „Ultima utilizare”, fără token-ul însuși.\n\n| Permisiunea token-ului | Ce verificați și ce faceți |\n|---|---|\n| `servers:credentials` | În panou („Infrastructură” → „Serverele mele”), pe fiecare server: apăsați „Resetează parola”; la „Adaugă cheie SSH” → „Chei instalate” ștergeți cheile necunoscute și cheia `blackbox-agent-…`; verificați dacă insigna arată „Doar cheie” sau „Parolă + cheie”, cum ați lăsat-o. |\n| `servers:exec` | Aceleași verificări, plus o verificare completă a serverului: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis). |\n| `orders:write` | În „Comenzi” și „Sold” căutați comenzi, plăți, upgrade-uri sau anulări pe care nu le-ați făcut și scrieți-ne. |\n| `ssh_keys:write` | În „Contul meu” → „Chei SSH” ștergeți cheile pe care nu le recunoașteți. |\n| `servers:power` | Verificați că serverele sunt pornite. |\n| doar permisiuni de citire | Nimic de reparat; lista serverelor, adresele IP, soldul, facturile, comenzile și lista cheilor SSH au fost însă vizibile. |\n\nDacă după ștergerea cheii `blackbox-agent-…` mai folosiți acces SSH prin AI, cereți asistentului o cheie nouă cu `regenerate=true`; altfel se reinstalează cheia veche. Detalii: [Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai).\n\n> **Important**\n> Dacă v-ați creat contul cu Google sau GitLab, el nu are parolă pe blackbox.md: pe pagina „Profil” lipsește secțiunea „Parolă”, iar pasul 2 nu se poate face. Revocați atunci fiecare token cu „Revocă”.\n\n## Răspunderea pentru token-uri\n\nConform [Termenilor și condițiilor](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), răspundeți pentru securizarea parolelor, cheilor SSH, token-urilor API și a factorului de autentificare secundar. Ce face un asistent AI sau oricine altcineva cu token-ul dvs. se face în numele contului dvs., inclusiv plățile din sold. BLACKBOX nu răspunde pentru folosirea contului de către terți dacă nu există o breșă dovedită a sistemelor sale. Rezumatul termenilor: [Termenii și condițiile pe scurt](#legal.termeni-esentiali).\n\n## Întrebări frecvente\n\n**Deconectarea de pe blackbox.md oprește token-urile?**\nNu. Nici deconectarea, nici „Deconectare de peste tot” sau schimbarea parolei din panou nu ating token-urile. Le opresc doar „Revocă” și schimbarea parolei contului blackbox.md.\n\n**Am lipit din greșeală token-ul în conversația cu asistentul. Ce fac?**\nConversația ajunge la furnizorul AI și poate rămâne în istoricul clientului. Creați un token nou, puneți-l în client și revocați-l pe cel vechi.\n\n**Trebuie să trimit token-ul suportului ca să verifice o problemă?**\nNu. Pentru diagnosticare ajung numele token-ului, permisiunile lui și mesajul de eroare din clientul AI.\n",
    "ru": "API-токен (`bbx_pat_…`) — это ключ доступа к вашему аккаунту: тот, у кого он есть, может откуда угодно делать всё, что позволяют разрешения токена, пока вы его не отзовёте. Здесь собраны правила безопасной работы с токенами и AI-ассистентами, подключёнными через MCP, и порядок действий, если токен попал к посторонним. Управлять токенами можно на странице «Токены доступа (API)» (`blackbox.md/ru/account/api-tokens`, «Личный кабинет» → «API-токены»).\n\n**Доступно:** владельцу аккаунта blackbox.md, который пользуется или собирается пользоваться AI-ассистентом через MCP.\n\n## Правила вкратце\n\n| Правило | Зачем |\n|---|---|\n| Начинайте с токена только для чтения | Ассистент, который только читает, ничего не может изменить и не видит паролей. |\n| Отдельный токен для каждого AI-клиента и устройства | Отзываете только потерянный токен, остальные продолжают работать. |\n| Проверяйте «Последнее использование» и отзывайте ненужные токены | Писем о создании, использовании или отзыве токена не бывает. |\n| Периодически заменяйте токены | Срока действия у токенов нет. |\n| Не оставляйте токен в переписке, на скриншотах, в тикетах и git-репозиториях | Любой, кто его увидит, сможет им воспользоваться. |\n| Не отключайте подтверждение действий в AI-клиенте | Окно подтверждения — последняя проверка перед тем, как команда выполнится на сервере. |\n\n## Выдавайте минимум разрешений\n\n- Начните с трёх разрешений на чтение — в карточке «Новый токен» они отмечены по умолчанию: «Читать список и статус моих серверов», «Читать баланс, счета и заказы» и «Читать список моих SSH-ключей». Их достаточно, чтобы спрашивать о серверах, балансе и счетах.\n- Отдельный токен с красными разрешениями (их пять, они выделены красным) создавайте, только когда хотите, чтобы ассистент администрировал серверы. Кнопка «AI-администратор — полный доступ» отмечает все восемь разрешений: после неё снимите отметки с того, что для задачи не нужно.\n- Не отмечайте «Оформлять и изменять заказы от моего имени» (`orders:write`), если ассистенту не нужно тратить деньги: с этим разрешением он оформляет и оплачивает заказы с баланса, делает апгрейд и отменяет заказы.\n- Расширить разрешения токена после создания нельзя. Если нужно больше, создайте новый токен, а старый отзовите.\n\nЧто даёт каждое разрешение: [Разрешения токенов (scopes)](#ai.permisiuni). Какие разрешения нужны для конкретной задачи: [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n\n> **Опасно**\n> «Просматривать пароли/доступы к серверам» (`servers:credentials`) и «Выполнять любые команды от root на моих серверах» (`servers:exec`) означают доступ `root` ко всем серверам, которыми вы управляете из аккаунта. Токен не привязан ни к компьютеру, ни к IP-адресу: попав к постороннему, он будет работать откуда угодно, пока вы его не отзовёте.\n\n## Отдельный токен для каждого клиента и устройства\n\n1. Создавайте отдельный токен для каждого AI-клиента и каждого устройства. В поле «Название токена» укажите понятное имя, например «Claude Desktop (ноутбук)» или «Cursor (офис)».\n2. Регулярно просматривайте таблицу на странице «Токены доступа (API)». В столбце «Последнее использование» видно, когда токен использовался в последний раз, или написано «никогда»; значение обновляется не чаще раза в минуту.\n3. Для токенов, которыми вы больше не пользуетесь или которые не узнаёте, нажмите «Отозвать» и подтвердите кнопкой «Отозвать» в окне «Отозвать токен?». Доступ прекращается сразу.\n\nПри создании и отзыве токена письма не отправляются, поэтому список на этой странице — единственное место, где видны ваши токены. Пошагово: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n\n## Как периодически заменять токен\n\nСрока действия у токенов нет, и задать его на странице нельзя. Меняйте токены периодически, а также при смене устройства или когда человек, видевший токен, перестал с вами работать.\n\n1. В карточке «Новый токен» создайте токен с новым названием и теми же разрешениями, что у старого (в столбце «Разрешения» они показаны кодами, например `servers:read`).\n2. Скопируйте его кнопкой «Копировать» (токен показывается только один раз) и укажите в AI-клиенте вместо старого.\n3. Попросите ассистента вызвать `whoami`. Если новый токен работает, в ответе будут его разрешения (`scopes`) и недостающие разрешения (`missing_scopes`).\n4. В строке старого токена нажмите «Отозвать» и подтвердите.\n\n## Где хранить токен\n\n- Указывайте токен прямо в настройках AI-клиента, храните его в менеджере паролей или в переменной окружения.\n- Не вставляйте его в переписку (в том числе в чат с AI-ассистентом), на скриншоты, в письма и тикеты — даже для поддержки BLACKBOX.\n- Не записывайте его в файлы, которые попадают в git-репозиторий. Если файл конфигурации лежит в проекте, используйте переменную окружения. Например, в файле `.mcp.json` для Claude Code:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nТокен хранится в переменной окружения `BBX_PAT`, а не в файле. Настройка каждого клиента: [Подключение из Claude Code, Cursor, VS Code и других клиентов](#ai.conectare-claude-code-cursor).\n\nЕсли токен всё же попал в git-репозиторий, отзовите его. Удалить файл или коммит недостаточно: токен остаётся в истории репозитория.\n\n## Что видит провайдер AI\n\nВсё, что возвращают инструменты MCP, попадает в AI-клиент и к провайдеру, на стороне которого работает модель: список серверов и IP-адреса, баланс и счета, результат команд на сервере, а с `servers:credentials` — пароль root и приватный SSH-ключ, который BLACKBOX выпускает для ассистента. Ассистенту предписано не выводить секреты в чат без вашей просьбы, но модель их всё равно получает.\n\n- Пользуйтесь провайдером AI, которому доверяете, и ознакомьтесь с его условиями хранения данных.\n- Если не хотите, чтобы пароль root, который видел ассистент, оставался действующим, сбросьте его после окончания работы: [Сброс пароля root](#acces.resetare-parola-root).\n\n## Подтверждение действий в AI-клиенте\n\nСервер MCP BLACKBOX помечает инструменты, которые что-то меняют или раскрывают секреты, чтобы AI-клиент спрашивал ваше подтверждение перед их запуском. Но окно подтверждения показывает AI-клиент, а не BLACKBOX. Если включить автоматическое одобрение («always allow», автозапуск или похожая настройка — зависит от клиента), подтверждений больше не будет.\n\nАссистенту предписано спрашивать вашего согласия только перед тем, как тратить деньги (оформление и оплата заказа, апгрейд), отменять заказ, удалять SSH-ключ с сервера, отключать вход по паролю или заменять ключ агента. Остальное — команды на сервере, установка программ, перезагрузки, сброс пароля root, добавление SSH-ключей — ему предписано выполнять сразу, не спрашивая. Для этих действий окно подтверждения в клиенте — единственная проверка.\n\n| Инструменты | Автоматическое одобрение |\n|---|---|\n| Только чтение: `whoami`, `list_vm_plans`, `list_servers`, `get_server`, `get_server_resize_options`, `get_balance`, `list_transactions`, `list_orders`, `list_invoices`, `list_ssh_keys`, `list_server_ssh_keys` | можно разрешить |\n| Деньги и заказы: `create_order`, `pay_order`, `cancel_order`, `resize_server` | нет |\n| Сервер: `run_server_command`, `power_server`, `reveal_server_credentials`, `reset_server_password`, `get_server_ssh_access`, `add_server_ssh_key`, `remove_server_ssh_key`, `set_server_password_auth` | нет |\n| Ключи в аккаунте: `add_ssh_key`, `delete_ssh_key` | нет |\n\nКогда вы работаете с MCP из собственного кода (через API провайдеров AI), окна подтверждения нет: инструменты выполняются, как только модель их вызывает, если вы сами не запрограммировали подтверждение. Используйте там токен только для чтения или ограничьте список разрешённых инструментов: [Использование MCP из кода (AI API и HTTP)](#ai.conectare-din-cod).\n\n> **Внимание**\n> Не включайте автоматическое одобрение для инструментов, которые тратят деньги или меняют серверы. Эти подтверждения защищают ваш баланс и данные. Например, отмена заказа с работающим сервером сразу удаляет сервер вместе со всеми данными.\n\n## Скрытые инструкции в содержимом (prompt injection)\n\nAI-ассистент выполняет инструкции, записанные текстом. В содержимом из непроверенного источника — на веб-странице, в лог-файле, письме, файле из чужого проекта и даже в выводе команды — могут оказаться инструкции, подложенные кем-то другим. Так ассистента с `servers:exec` или `servers:credentials` можно обманом заставить выполнить команды от `root` или передать пароли.\n\n- Не используйте токен с красными разрешениями в сессии, где ассистент ходит по сайтам, читает почту или обрабатывает файлы, полученные от других людей.\n- Читайте каждую команду, прежде чем её подтвердить. Остановитесь, если ассистент предлагает то, о чём вы не просили: скачать и запустить скрипт из интернета, добавить SSH-ключ или пользователя, отправить данные на неизвестный адрес или показать пароли.\n- После того как ассистент прочитал логи или веб-страницы, проверяйте предлагаемые им команды особенно внимательно.\n\n## Как ассистент попадает на сервер\n\nАссистенту не нужен ни пароль root, ни ваш SSH-ключ. На каждом VPS-сервере BLACKBOX хранит ключ управления — в панели он отображается как «Ключ управления (blackbox.md)» в списке «Установленные ключи». Команды через `run_server_command` выполняются от `root` через это подключение BLACKBOX. Поэтому, чтобы выполнять команды на ваших серверах, достаточно одного токена с `servers:exec`. Подробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n- Доступ ассистента прекращается отзывом токена, а не удалением ключа управления. Без этого ключа перестанут работать и функции панели, например «Сбросить пароль».\n- С `servers:credentials` ассистент может получить пароль root или собственный приватный SSH-ключ (ключ агента с комментарием `blackbox-agent-…`). Они остаются действующими и после отзыва токена — пока вы не сбросите пароль или не удалите ключ с сервера.\n\n## Если токен попал к посторонним\n\n1. Отзовите токен: «Личный кабинет» → «API-токены» → «Отозвать» в его строке, затем подтвердите кнопкой «Отозвать». Клиент, который им пользовался, теряет доступ при следующем запросе.\n2. Если неизвестно, какой именно токен утёк, отключите все сразу, сменив пароль аккаунта blackbox.md (не пароль панели): «Личный кабинет» → «Профиль» → «Изменить пароль». Токены, созданные до смены пароля, перестают работать, но остаются в списке без каких-либо пометок, поэтому отзовите и их. Пошагово: [Смена пароля аккаунта](#cont.schimbare-parola).\n3. Посмотрите столбцы «Разрешения» и «Последнее использование» этого токена. Если им пользовались после того, как вы его потеряли, выполните проверки из таблицы ниже.\n4. Создайте новые токены только для тех AI-клиентов, которыми продолжаете пользоваться.\n5. Напишите на support@blackbox.md или создайте тикет ([Создание тикета в поддержку](#suport.tichet-nou)). Укажите название токена и время из столбца «Последнее использование», но не сам токен.\n\n| Разрешение токена | Что проверить и что сделать |\n|---|---|\n| `servers:credentials` | В панели («Инфраструктура» → «Мои серверы») для каждого сервера: нажмите «Сбросить пароль»; в «Добавить SSH-ключ» → «Установленные ключи» удалите незнакомые ключи и ключ `blackbox-agent-…`; проверьте, что значок показывает «Только ключ» или «Пароль + ключ» — так, как вы настраивали. |\n| `servers:exec` | То же самое плюс полная проверка сервера: [Сервер взломан или атакован: что делать](#faq.server-compromis). |\n| `orders:write` | В разделах «Заказы» и «Баланс» найдите заказы, платежи, апгрейды или отмены, которых вы не делали, и напишите нам. |\n| `ssh_keys:write` | В «Личный кабинет» → «SSH-ключи» удалите ключи, которые не узнаёте. |\n| `servers:power` | Убедитесь, что серверы запущены. |\n| только разрешения на чтение | Исправлять ничего не нужно, но список серверов, IP-адреса, баланс, счета, заказы и список SSH-ключей были видны. |\n\nЕсли после удаления ключа `blackbox-agent-…` вы продолжаете пользоваться SSH-доступом через AI, попросите ассистента выпустить новый ключ с `regenerate=true`, иначе на сервер вернётся старый. Подробнее: [SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai).\n\n> **Важно**\n> Если вы создали аккаунт через Google или GitLab, пароля на blackbox.md у него нет: на странице «Профиль» нет раздела «Пароль», и шаг 2 выполнить нельзя. В этом случае отзовите каждый токен кнопкой «Отозвать».\n\n## Ответственность за токены\n\nСогласно [Условиям использования](https://blackbox.md/ru/info/terms#raspunderea-clientilor) (§3), вы отвечаете за защиту паролей, SSH-ключей, API-токенов и второго фактора аутентификации. Всё, что AI-ассистент или кто-либо другой делает с вашим токеном, делается от имени вашего аккаунта, включая платежи с баланса. BLACKBOX не несёт ответственности за использование аккаунта третьими лицами, если не доказан взлом его систем. Основные положения: [Условия использования: кратко](#legal.termeni-esentiali).\n\n## Частые вопросы\n\n**Отключает ли токены выход из аккаунта на blackbox.md?**\nНет. Ни выход из аккаунта, ни «Выйти везде» или смена пароля в панели на токены не влияют. Отключают их только «Отозвать» и смена пароля аккаунта blackbox.md.\n\n**Токен случайно попал в чат с ассистентом. Что делать?**\nПереписка уходит к провайдеру AI и может остаться в истории клиента. Создайте новый токен, укажите его в клиенте, а старый отзовите.\n\n**Нужно ли отправлять токен в поддержку, чтобы там разобрались с проблемой?**\nНет. Для диагностики достаточно названия токена, его разрешений и текста ошибки из AI-клиента.\n",
    "en": "An API token (`bbx_pat_…`) is a key to your account: whoever has it can do, from anywhere, everything its permissions allow, until you revoke it. This article covers the rules for using tokens and AI assistants connected through MCP safely, and the steps to take if a token has reached someone else. You manage your tokens on the “Token-uri de acces (API)” (Access tokens (API)) page (`blackbox.md/account/api-tokens`, “Contul meu” (My account) → “Token-uri API” (API tokens)).\n\n**Available to:** the owner of a blackbox.md account who uses, or wants to use, an AI assistant through MCP.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The rules in brief\n\n| Rule | Why |\n|---|---|\n| Start with a read-only token | An assistant that only reads cannot change anything and does not see passwords. |\n| Use one token per AI client or device | You revoke only the lost token, without stopping the others. |\n| Check “Ultima utilizare” (Last used) and revoke what you don't use | You get no email when a token is created, used or revoked. |\n| Replace your tokens periodically | Tokens do not expire. |\n| Keep the token out of conversations, screenshots, support tickets and git repositories | Anyone who sees it can use it. |\n| Keep action approval turned on in your AI client | The approval prompt is the last check before a command runs on the server. |\n\n## Grant the minimum permissions\n\n- Start with the three read permissions, which are checked by default in the “Token nou” (New token) card: “Citește lista și statusul serverelor mele” (Read the list and status of my servers), “Citește soldul, facturile și comenzile” (Read the balance, invoices and orders) and “Citește lista cheilor mele SSH” (Read the list of my SSH keys). They are enough for questions about your servers, balance and invoices.\n- Create a separate token with red permissions (the five shown in red) only when you want the assistant to manage your servers. The “AI-administrator — acces complet” (AI administrator — full access) button checks all eight permissions: then uncheck whatever the task at hand does not need.\n- Do not check “Plasează și modifică comenzi în numele meu” (Place and change orders on my behalf) (`orders:write`) unless the assistant needs to spend money: with it, the assistant places orders and pays for them from your balance, performs upgrades and cancels orders.\n- A token's permissions cannot be expanded after it is created. When you need more, create a new token and revoke the old one.\n\nWhat each permission allows: [Token permissions (scopes)](#ai.permisiuni). Which permissions a given task needs: [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n\n> **Risk**\n> “Vizualizează parolele/accesul serverelor” (View server passwords/access) (`servers:credentials`) and “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) (`servers:exec`) mean `root` access to every server you manage from your account. The token is not tied to a computer or an IP address: if it reaches someone else, it works from anywhere until you revoke it.\n\n## One token per client and device\n\n1. Create a separate token for each AI client and each device. In “Nume token” (Token name), enter a clear name, for example “Claude Desktop (laptop)” or “Cursor (office)”.\n2. Check the table on the “Token-uri de acces (API)” (Access tokens (API)) page regularly. The “Ultima utilizare” (Last used) column shows when each token was last used, or “niciodată” (never); it updates at most once a minute.\n3. For tokens you no longer use or do not recognize, click “Revocă” (Revoke) and confirm with “Revocă” in the “Revocați token-ul?” (Revoke the token?) window. Access stops immediately.\n\nNo email is sent when a token is created or revoked, so the list on this page is the only place where you can see your tokens. Detailed steps: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n\n## How to replace a token periodically\n\nTokens do not expire, and the page does not let you set an expiration date. Replace them periodically, and also whenever you change devices or when someone who has seen the token no longer works with you.\n\n1. In the “Token nou” (New token) card, create a token with a new name and the same permissions as the old one (the “Permisiuni” (Permissions) column shows them as codes, for example `servers:read`).\n2. Copy it with “Copiază” (Copy) (it is shown only once) and put it in your AI client in place of the old one.\n3. Ask the assistant to call `whoami`. If the new token works, the response shows its permissions (`scopes`) and the ones it is missing (`missing_scopes`).\n4. On the old token's row, click “Revocă” (Revoke) and confirm.\n\n## Where to keep the token\n\n- Put the token directly in your AI client's settings, in a password manager or in an environment variable.\n- Do not paste it into conversations (not even the one with your AI assistant), screenshots, emails or support tickets, not even for BLACKBOX support.\n- Do not write it in files that end up in a git repository. If the configuration file lives in your project, use an environment variable. For example, in Claude Code's `.mcp.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"blackbox\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.app.blackbox.md/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${BBX_PAT}\"\n      }\n    }\n  }\n}\n```\n\nThe token is stored in the `BBX_PAT` environment variable, not in the file. Settings for each client: [Connecting from Claude Code, Cursor, VS Code and other clients](#ai.conectare-claude-code-cursor).\n\nIf the token has ended up in a git repository anyway, revoke it. Deleting the file or the commit is not enough: the repository history keeps it.\n\n## What the AI provider sees\n\nEverything the MCP tools return reaches the AI client and the provider that runs the model: the server list and IP addresses, your balance and invoices, the output of commands run on the server and, with `servers:credentials`, the root password and the private SSH key that BLACKBOX issues for the assistant. The assistant is instructed not to show secrets in the conversation unless you ask for them, but they reach the model anyway.\n\n- Use an AI provider you trust, and read its terms on data retention.\n- If you don't want a root password the assistant has seen to remain valid, reset it when you finish working: [Resetting the root password](#acces.resetare-parola-root).\n\n## Approving actions in your AI client\n\nThe BLACKBOX MCP server marks the tools that change something or reveal secrets, so that your AI client asks for your approval before running them. However, the approval prompt is shown by the AI client, not by BLACKBOX. If you choose automatic approval (“always allow”, auto-run or a similar option, depending on the client), the confirmations disappear.\n\nThe assistant is instructed to ask for your consent only before spending money (placing and paying for an order, an upgrade), canceling an order, deleting an SSH key from the server, disabling password login and replacing the agent key. It is instructed to do everything else (commands on the server, installations, reboots, root password resets, adding SSH keys) directly, without asking. For these actions, the client's approval prompt is the only check.\n\n| Tools | Automatic approval |\n|---|---|\n| Read-only: `whoami`, `list_vm_plans`, `list_servers`, `get_server`, `get_server_resize_options`, `get_balance`, `list_transactions`, `list_orders`, `list_invoices`, `list_ssh_keys`, `list_server_ssh_keys` | can be allowed |\n| Money and orders: `create_order`, `pay_order`, `cancel_order`, `resize_server` | no |\n| Server: `run_server_command`, `power_server`, `reveal_server_credentials`, `reset_server_password`, `get_server_ssh_access`, `add_server_ssh_key`, `remove_server_ssh_key`, `set_server_password_auth` | no |\n| Account keys: `add_ssh_key`, `delete_ssh_key` | no |\n\nWhen you use MCP from your own code (through AI providers' APIs), no approval prompt appears: the tools run as soon as the model calls them, unless you have programmed a confirmation yourself. In that case, use a read-only token or limit the allowed tools: [Using MCP from code (AI APIs and HTTP)](#ai.conectare-din-cod).\n\n> **Warning**\n> Do not turn on automatic approval for tools that spend money or change your servers. These confirmations protect your balance and your data. For example, canceling an order with an active server deletes the server immediately, along with all its data.\n\n## Hidden instructions in content (prompt injection)\n\nAn AI assistant follows instructions written in text. Content from a source you don't control (a web page, a log file, an email, a file from someone else's project, even the output of a command) can contain instructions planted there by someone else. This way, an assistant with `servers:exec` or `servers:credentials` can be tricked into running commands as `root` or passing on passwords.\n\n- Do not use a token with red permissions in a session where the assistant browses the web, reads emails or processes files received from others.\n- Read every command before you approve it. Stop if the assistant proposes something you did not ask for: downloading and running a script from the internet, adding an SSH key or a user, sending data to an unknown address, or showing passwords.\n- After the assistant has read logs or web pages, check the commands it proposes even more carefully.\n\n## How the assistant reaches your server\n\nThe assistant does not need your root password or your SSH key. BLACKBOX keeps a management key on every VPS server, shown in the app.blackbox.md panel as “Management key (blackbox.md)” in the “Installed keys” list. Commands run through `run_server_command` go through this BLACKBOX connection as `root`. That is why a token with `servers:exec` is all someone needs to run commands on your servers. Details: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n- You stop the assistant's access by revoking the token, not by deleting the management key. Without that key, panel features such as “Reset password” stop working too.\n- With `servers:credentials`, the assistant can receive the root password or its own private SSH key (the agent key, with the comment `blackbox-agent-…`). These remain valid even after you revoke the token, until you reset the password or delete the key from the server.\n\n## If a token has reached someone else\n\n1. Revoke the token: “Contul meu” (My account) → “Token-uri API” (API tokens) → “Revocă” (Revoke) on its row, then confirm with “Revocă”. The client that was using it loses access on its next request.\n2. If you don't know which token leaked, stop all of them at once by changing your blackbox.md account password (not the panel password): “Contul meu” → “Profil” (Profile) → “Schimbă parola” (Change password). Tokens created before the change stop working, but they stay in the list without any marker, so revoke them too. Steps: [Changing your account password](#cont.schimbare-parola).\n3. Look at the token's “Permisiuni” (Permissions) and “Ultima utilizare” (Last used) columns. If it was used after you lost it, run the checks in the table below.\n4. Create new tokens only for the AI clients you keep using.\n5. Write to us at support@blackbox.md or open a ticket ([Opening a support ticket](#suport.tichet-nou)). Include the token's name and the time shown in “Ultima utilizare”, but not the token itself.\n\n| Token permission | What to check and what to do |\n|---|---|\n| `servers:credentials` | In the panel (“Infrastructure” → “My Servers”), on each server: click “Reset password”; under “Add SSH key” → “Installed keys”, remove unknown keys and the `blackbox-agent-…` key; check that the badge shows “Key-only” or “Password + key”, as you set it. |\n| `servers:exec` | The same checks, plus a full check of the server: [Your server was hacked or is under attack: what to do](#faq.server-compromis). |\n| `orders:write` | In “Comenzi” (Orders) and “Sold” (Balance), look for orders, payments, upgrades or cancellations you did not make, and write to us. |\n| `ssh_keys:write` | In “Contul meu” → “Chei SSH” (SSH keys), delete the keys you don't recognize. |\n| `servers:power` | Check that your servers are running. |\n| read permissions only | Nothing to fix; however, the server list, IP addresses, balance, invoices, orders and SSH key list were visible. |\n\nIf you still use SSH access through AI after deleting the `blackbox-agent-…` key, ask the assistant for a new key with `regenerate=true`; otherwise the old key is reinstalled. Details: [SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai).\n\n> **Important**\n> If you created your account with Google or GitLab, it has no password on blackbox.md: the “Profil” page has no “Parolă” (Password) section, and step 2 cannot be done. In that case, revoke each token with “Revocă”.\n\n## Responsibility for tokens\n\nUnder the [Terms and Conditions](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), you are responsible for securing your passwords, SSH keys, API tokens and second authentication factor. Whatever an AI assistant or anyone else does with your token is done on behalf of your account, including payments from your balance. BLACKBOX is not liable for third parties' use of your account unless there is a proven breach of its own systems. Summary of the terms: [Terms and conditions in brief](#legal.termeni-esentiali).\n\n## Frequently asked questions\n\n**Does signing out of blackbox.md stop my tokens?**\nNo. Neither signing out, nor “Sign Out Everywhere”, nor changing the password in the panel affects your tokens. Only “Revocă” (Revoke) and changing your blackbox.md account password stop them.\n\n**I accidentally pasted my token into the conversation with the assistant. What should I do?**\nThe conversation reaches the AI provider and may remain in the client's history. Create a new token, put it in the client and revoke the old one.\n\n**Do I need to send my token to support so they can look into a problem?**\nNo. For troubleshooting, the token's name, its permissions and the error message from your AI client are enough.\n"
   }
  },
  {
   "id": "ghiduri.generare-chei-ssh",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/generare-chei-ssh/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/generare-chei-ssh/",
    "en": "https://docs.blackbox.md/en/ghiduri/generare-chei-ssh/"
   },
   "title": {
    "ro": "Generarea unei chei SSH (Windows, macOS, Linux)",
    "ru": "Создание SSH-ключа (Windows, macOS, Linux)",
    "en": "Generating an SSH key (Windows, macOS, Linux)"
   },
   "summary": {
    "ro": "Cum creați o pereche de chei SSH, unde se află fișierele și cum adăugați cheia publică la BLACKBOX.",
    "ru": "Как создать пару SSH-ключей, где лежат файлы и как добавить публичный ключ в BLACKBOX.",
    "en": "How to create an SSH key pair, where the files are, and how to add the public key to BLACKBOX."
   },
   "markdown": {
    "ro": "O cheie SSH vă permite să vă conectați la server fără parolă. Cheia este o pereche de fișiere. Cheia **privată** rămâne doar pe calculatorul dvs. Cheia **publică** o adăugați la BLACKBOX: pe pagina „Chei SSH” (`blackbox.md/account/ssh-keys`, „Contul meu” → „Chei SSH”) sau direct pe server, din panoul app.blackbox.md („Serverele mele” → „Adaugă cheie SSH”).\n\n**Disponibil pentru:** oricine, pe propriul calculator. Adăugarea cheii în cont și pe server: titularul contului blackbox.md.\n\n## Ce tip de cheie alegeți\n\n| Tip | Linia cheii publice începe cu | Când îl folosiți |\n|---|---|---|\n| Ed25519 (recomandat) | `ssh-ed25519` | în aproape toate cazurile: cheie scurtă, rapidă și sigură |\n| RSA 4096 | `ssh-rsa` | doar dacă un program sau un serviciu cere RSA |\n| Ed25519 pe o cheie hardware | `sk-ssh-ed25519@openssh.com` | dacă aveți o cheie de securitate FIDO2 (vedeți mai jos) |\n\nBLACKBOX acceptă tipurile `ssh-ed25519`, `ssh-rsa` (cel puțin 2048 de biți), `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com` și `sk-ecdsa-sha2-nistp256@openssh.com`. Cheile DSA (`ssh-dss`) și cheile RSA mai scurte de 2048 de biți sunt refuzate.\n\n## Generarea cheii pe macOS și Linux\n\n1. Deschideți aplicația Terminal.\n2. Rulați comanda de mai jos. Înlocuiți comentariul `laptop-ion` cu un nume după care recunoașteți calculatorul:\n\n   ```bash\n   ssh-keygen -t ed25519 -C \"laptop-ion\"\n   ```\n\n3. La „Enter file in which to save the key” apăsați Enter. Cheia se salvează în locul implicit, `~/.ssh/id_ed25519`.\n4. La „Enter passphrase” tastați o frază de acces (passphrase), apoi repetați-o la „Enter same passphrase again”. Caracterele nu apar pe ecran.\n5. La final, ssh-keygen afișează unde a salvat cele două fișiere și amprenta cheii, de forma `SHA256:…`.\n\nFraza de acces criptează cheia privată: cine copiază fișierul nu îl poate folosi fără ea. Puteți apăsa Enter de două ori ca să creați o cheie fără frază de acces, dar nu vă recomandăm.\n\nComentariul dat cu `-C` apare la sfârșitul cheii publice. În panou, în lista „Chei instalate”, recunoașteți cheile după acest comentariu.\n\nDacă un program vă cere o cheie RSA, generați-o așa (fișierele vor fi `id_rsa` și `id_rsa.pub`):\n\n```bash\nssh-keygen -t rsa -b 4096 -C \"laptop-ion\"\n```\n\nDacă ssh-keygen întreabă „already exists. Overwrite (y/n)?”, tastați `n`. Aveți deja o cheie cu acest nume: dacă o suprascrieți, pierdeți accesul la serverele pe care este instalată cheia veche. Folosiți cheia existentă sau creați una nouă cu alt nume de fișier:\n\n```bash\nssh-keygen -t ed25519 -C \"laptop-ion\" -f ~/.ssh/id_ed25519_blackbox\n```\n\n## Generarea cheii pe Windows\n\n### PowerShell\n\nWindows 10 și 11 includ clientul OpenSSH, deci comanda este aceeași.\n\n1. Deschideți PowerShell (meniul Start → tastați „PowerShell”).\n2. Rulați:\n\n   ```powershell\n   ssh-keygen -t ed25519 -C \"laptop-ion\"\n   ```\n\n3. Răspundeți la întrebări ca pe macOS și Linux: Enter pentru locul implicit, apoi fraza de acces de două ori.\n\nFișierele se salvează în folderul `.ssh` din profilul dvs.: `C:\\Users\\NUME_UTILIZATOR\\.ssh\\`. Dacă Windows răspunde că `ssh-keygen` nu este recunoscut ca o comandă, adăugați componenta OpenSSH Client din setările Windows, la funcțiile opționale.\n\n### PuTTYgen\n\nFolosiți PuTTYgen dacă vă conectați cu PuTTY. Se instalează împreună cu PuTTY.\n\n1. Deschideți PuTTYgen. Jos, la „Type of key to generate”, alegeți „EdDSA”, iar în lista de lângă, „Ed25519 (255 bits)”. În versiunile vechi, opțiunea se numește direct „ED25519”.\n2. Apăsați „Generate” și mișcați mouse-ul peste zona goală a ferestrei până se umple bara de progres.\n3. În „Key comment” înlocuiți textul implicit cu un nume, de exemplu `laptop-ion`.\n4. Completați „Key passphrase” și „Confirm passphrase”.\n5. Apăsați „Save private key” și salvați fișierul `.ppk`. Pe acesta îl alegeți în PuTTY.\n6. Copiați tot textul din câmpul „Public key for pasting into OpenSSH authorized_keys file”: o singură linie care începe cu `ssh-ed25519`. Pe aceasta o lipiți la BLACKBOX.\n\nNu folosiți fișierul salvat cu „Save public key”. Acesta începe cu `---- BEGIN SSH2 PUBLIC KEY ----`, are mai multe rânduri și este refuzat. Ca să folosiți aceeași cheie și cu `ssh` din PowerShell, alegeți „Conversions” → „Export OpenSSH key” și salvați fișierul ca `C:\\Users\\NUME_UTILIZATOR\\.ssh\\id_ed25519`, fără extensie. Conversia inversă, din OpenSSH în `.ppk`, este în [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Unde se află fișierele\n\n| Fișier | Ce este | Ce faceți cu el |\n|---|---|---|\n| `~/.ssh/id_ed25519` (Windows: `C:\\Users\\NUME_UTILIZATOR\\.ssh\\id_ed25519`) | cheia privată | rămâne pe calculator; o folosește clientul SSH |\n| `~/.ssh/id_ed25519.pub` (Windows: `C:\\Users\\NUME_UTILIZATOR\\.ssh\\id_ed25519.pub`) | cheia publică | o lipiți la BLACKBOX |\n| fișierul `.ppk` salvat din PuTTYgen | cheia privată în format PuTTY | o alegeți în PuTTY sau WinSCP |\n\nPentru o cheie RSA, fișierele sunt `id_rsa` și `id_rsa.pub`, în același folder.\n\n> **Atenție**\n> Nu trimiteți cheia privată nimănui, nici suportului BLACKBOX, și nu o lipiți în niciun formular: la BLACKBOX vă trebuie doar cheia publică. Cheia privată este fișierul fără `.pub` sau un text care începe cu `-----BEGIN`.\n\n## Afișați și copiați cheia publică\n\nPe macOS și Linux:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nRezultatul este o singură linie. Copiați-o întreagă:\n\n```text\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI… laptop-ion\n```\n\nAmprenta cheii o vedeți cu comanda de mai jos (pe Windows, cu calea `$env:USERPROFILE\\.ssh\\id_ed25519.pub`). Valoarea `SHA256:…` este aceeași pe care o arată BLACKBOX în coloana „Amprentă” și, la serverele „doar cu cheie”, în emailul cu subiectul „Serverul dvs. este gata”.\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n## Adăugați cheia publică la BLACKBOX\n\n| Situația | Unde adăugați cheia |\n|---|---|\n| Veți comanda un server nou | „Contul meu” → „Chei SSH”, apoi o bifați la comandă |\n| Serverul rulează deja | panoul → „Serverele mele” → „Adaugă cheie SSH” |\n| Vă puteți deja conecta la server (Linux, macOS) | din terminal, cu `ssh-copy-id` |\n\n### În cont, pentru serverele noi\n\n1. Autentificați-vă pe blackbox.md, apăsați „Cont client” și alegeți „Chei SSH” în meniul din stânga.\n2. În cardul „Adaugă o cheie SSH”, completați „Nume cheie” (cel mult 80 de caractere) și lipiți linia în „Cheie publică SSH”.\n3. Apăsați „Adaugă cheia”. Cheia apare în tabel, cu „Tip” și „Amprentă”.\n4. La comanda unui server, în pasul „Cheie SSH pentru server”, bifați cheia sub „Chei salvate”. Caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)” se bifează automat. Dacă o lăsați bifată, serverul se creează „doar cu cheie”.\n\nSalvarea în cont nu instalează cheia pe serverele existente. Detalii: [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont) și [Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda).\n\n### Pe un server care rulează\n\n1. Deschideți panoul app.blackbox.md („Contul meu” → „Panou de administrare”) și mergeți la „Serverele mele”.\n2. Pe cardul serverului, apăsați „Adaugă cheie SSH”.\n3. Alegeți „Folosește o cheie salvată” și cheia din „Selectați o cheie…” sau „Lipește o cheie nouă” și lipiți linia.\n4. Apăsați „Adaugă cheia”. Rezultatul este „Cheie adăugată.”, iar cheia apare în „Chei instalate”.\n\nPanoul instalează cheia pentru `root` fără să aibă nevoie de parola sau de cheile dvs. vechi. Detalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n\n### Din terminal, cu ssh-copy-id\n\nPe Linux și macOS, `ssh-copy-id` adaugă cheia publică pe server. Funcționează doar dacă vă puteți deja conecta: cu parola, pe un server „Parolă + cheie”, sau cu altă cheie instalată.\n\n```bash\nssh-copy-id -i ~/.ssh/id_ed25519.pub root@IP_SERVER\n```\n\nDacă vi se cere, introduceți parola root. Cheia apare apoi și în panou, în „Chei instalate”, dar nu se salvează în „Chei SSH”. Pe Windows, `ssh-copy-id` nu există: folosiți panoul.\n\n### Verificați conectarea\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@IP_SERVER\n```\n\nDacă cheia are frază de acces, SSH întreabă „Enter passphrase for key”: tastați fraza cheii, nu parola serverului. Pași pentru fiecare sistem: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). După ce intrați cu cheia, puteți opri autentificarea cu parolă din panou: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\n## Mai comod: ssh-agent și fișierul config\n\n### ssh-agent\n\nAgentul SSH ține cheia deblocată în memorie, ca să nu tastați fraza de acces la fiecare conectare. Pe macOS și Linux:\n\n```bash\nssh-add ~/.ssh/id_ed25519\n```\n\nDacă `ssh-add` nu se poate conecta la agent (de exemplu, cu mesajul „Could not open a connection to your authentication agent”), porniți agentul în terminalul curent și repetați `ssh-add`:\n\n```bash\neval \"$(ssh-agent -s)\"\n```\n\nPe Windows, serviciul agentului este oprit implicit. Porniți-l o singură dată, din PowerShell deschis ca administrator:\n\n```powershell\nGet-Service ssh-agent | Set-Service -StartupType Automatic\nStart-Service ssh-agent\n```\n\nApoi, într-un PowerShell obișnuit:\n\n```powershell\nssh-add $env:USERPROFILE\\.ssh\\id_ed25519\n```\n\nCheile încărcate în agent le vedeți cu:\n\n```bash\nssh-add -l\n```\n\n### Fișierul ~/.ssh/config\n\nÎn fișierul `~/.ssh/config` dați serverului un nume scurt. Pe Windows, fișierul este `C:\\Users\\NUME_UTILIZATOR\\.ssh\\config`, fără extensia `.txt`. Adăugați un bloc:\n\n```text\nHost server-web\n    HostName IP_SERVER\n    User root\n    IdentityFile ~/.ssh/id_ed25519\n    IdentitiesOnly yes\n```\n\nApoi vă conectați doar cu:\n\n```bash\nssh server-web\n```\n\nNumele funcționează și cu `scp` și `rsync`: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). `IdentitiesOnly yes` face ca SSH să ofere doar cheia indicată, ceea ce evită eroarea „Too many authentication failures” când aveți multe chei.\n\n## Chei hardware de securitate (FIDO2)\n\nCu o cheie de securitate FIDO2 (de exemplu YubiKey), partea secretă rămâne pe dispozitiv. Vă trebuie OpenSSH 8.2 sau mai nou pe calculator. Verificați versiunea:\n\n```bash\nssh -V\n```\n\n1. Conectați cheia de securitate la calculator.\n2. Rulați:\n\n   ```bash\n   ssh-keygen -t ed25519-sk -C \"yubikey-ion\"\n   ```\n\n3. Atingeți cheia când ssh-keygen afișează „You may need to touch your authenticator”, apoi setați fraza de acces ca mai sus.\n\nSe creează `id_ed25519_sk` (o referință la dispozitiv, păstrați-o) și `id_ed25519_sk.pub`, care începe cu `sk-ssh-ed25519@openssh.com`. Pe cea publică o adăugați la BLACKBOX la fel ca pe celelalte. La fiecare conectare, cheia de securitate trebuie să fie conectată și atinsă.\n\nDacă dispozitivul nu acceptă Ed25519, ssh-keygen afișează o eroare. Generați atunci o cheie ECDSA, acceptată și ea de BLACKBOX:\n\n```bash\nssh-keygen -t ecdsa-sk -C \"yubikey-ion\"\n```\n\nPe macOS, OpenSSH inclus în sistem poate să nu accepte cheile FIDO2: atunci ssh-keygen afișează o eroare atât pentru `ed25519-sk`, cât și pentru `ecdsa-sk`. În acest caz, instalați OpenSSH din Homebrew, deschideți un terminal nou și repetați comanda:\n\n```bash\nbrew install openssh\n```\n\n## Copia de rezervă și pierderea cheii\n\n- Păstrați o copie a cheii private și a frazei de acces într-un loc sigur, de exemplu într-un manager de parole sau pe un stick USB criptat. Fraza de acces uitată nu se poate recupera.\n- Fraza de acces o schimbați fără să schimbați cheia:\n\n  ```bash\n  ssh-keygen -p -f ~/.ssh/id_ed25519\n  ```\n\n- Cel mai sigur este să generați câte o cheie pentru fiecare calculator. Dacă pierdeți un dispozitiv, retrageți doar cheia lui.\n- Dacă ați pierdut cheia sau v-a fost furat calculatorul, generați o cheie nouă și adăugați-o din panou cu „Lipește o cheie nouă”. Apoi ștergeți cheia veche din „Chei instalate” pe fiecare server și din „Chei SSH”.\n\n> **Important**\n> Pe un server „Doar cheie”, fără cheia privată nu vă mai puteți conecta prin SSH, iar clienții nu au consolă web. Dacă nici panoul nu vă ajută, urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Întrebări frecvente\n\n**Am pierdut fișierul `.pub`, dar am cheia privată. Ce fac?**\nComanda de mai jos afișează din nou cheia publică, pe care o copiați. Pe Windows, folosiți calea `$env:USERPROFILE\\.ssh\\id_ed25519`.\n\n```bash\nssh-keygen -y -f ~/.ssh/id_ed25519\n```\n\n**De ce pagina „Chei SSH” îmi refuză cheia?**\nCel mai des ați lipit cheia privată, mai multe rânduri sau o cheie RSA mai scurtă de 2048 de biți. Toate mesajele de eroare sunt explicate în [Cheile SSH din cont (blackbox.md)](#acces.chei-ssh-cont).\n\n**Am creat cheia fără frază de acces. O pot adăuga mai târziu?**\nDa, cu aceeași comandă ca la schimbarea frazei de acces, din secțiunea de mai sus. Cheia publică nu se schimbă, deci nu trebuie să o adăugați din nou pe servere.\n",
    "ru": "SSH-ключ позволяет входить на сервер без пароля. Ключ — это пара файлов. **Приватный** ключ хранится только на вашем компьютере. **Публичный** ключ вы передаёте в BLACKBOX: на странице «SSH-ключи» (`blackbox.md/ru/account/ssh-keys`, «Мой аккаунт» → «SSH-ключи») или прямо на сервер из панели app.blackbox.md («Мои серверы» → «Добавить SSH-ключ»).\n\n**Доступно:** любому пользователю на своём компьютере. Добавить ключ в аккаунт и на сервер может владелец аккаунта blackbox.md.\n\n## Какой тип ключа выбрать\n\n| Тип | Строка публичного ключа начинается с | Когда использовать |\n|---|---|---|\n| Ed25519 (рекомендуем) | `ssh-ed25519` | почти всегда: короткий, быстрый и надёжный ключ |\n| RSA 4096 | `ssh-rsa` | только если программа или сервис требует RSA |\n| Ed25519 на аппаратном ключе | `sk-ssh-ed25519@openssh.com` | если у вас есть ключ безопасности FIDO2 (см. ниже) |\n\nBLACKBOX принимает ключи типов `ssh-ed25519`, `ssh-rsa` (не менее 2048 бит), `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com` и `sk-ecdsa-sha2-nistp256@openssh.com`. Ключи DSA (`ssh-dss`) и RSA-ключи короче 2048 бит не принимаются.\n\n## Создание ключа в macOS и Linux\n\n1. Откройте приложение «Терминал».\n2. Выполните команду ниже. Замените комментарий `laptop-ivan` названием, по которому вы узнаете компьютер:\n\n   ```bash\n   ssh-keygen -t ed25519 -C \"laptop-ivan\"\n   ```\n\n3. На запрос «Enter file in which to save the key» нажмите Enter. Ключ сохранится в стандартное место — `~/.ssh/id_ed25519`.\n4. На запрос «Enter passphrase» введите парольную фразу (passphrase), затем повторите её на запрос «Enter same passphrase again». Вводимые символы не отображаются.\n5. В конце ssh-keygen покажет, куда сохранены оба файла, и отпечаток ключа вида `SHA256:…`.\n\nПарольная фраза шифрует приватный ключ: тот, кто скопирует файл, не сможет воспользоваться им без неё. Можно дважды нажать Enter и создать ключ без парольной фразы, но мы этого не рекомендуем.\n\nКомментарий из параметра `-C` записывается в конец публичного ключа. По нему вы узнаете ключ в панели, в списке «Установленные ключи».\n\nЕсли программа требует RSA-ключ, создайте его так (файлы будут называться `id_rsa` и `id_rsa.pub`):\n\n```bash\nssh-keygen -t rsa -b 4096 -C \"laptop-ivan\"\n```\n\nЕсли ssh-keygen спрашивает «already exists. Overwrite (y/n)?», введите `n`. Ключ с таким именем у вас уже есть: если его перезаписать, вы потеряете доступ к серверам, на которых установлен старый ключ. Используйте существующий ключ или создайте новый с другим именем файла:\n\n```bash\nssh-keygen -t ed25519 -C \"laptop-ivan\" -f ~/.ssh/id_ed25519_blackbox\n```\n\n## Создание ключа в Windows\n\n### PowerShell\n\nВ Windows 10 и 11 уже есть клиент OpenSSH, поэтому команда та же.\n\n1. Откройте PowerShell (меню «Пуск» → введите «PowerShell»).\n2. Выполните:\n\n   ```powershell\n   ssh-keygen -t ed25519 -C \"laptop-ivan\"\n   ```\n\n3. Ответьте на вопросы так же, как в macOS и Linux: Enter для стандартного места, затем дважды парольная фраза.\n\nФайлы сохраняются в папку `.ssh` вашего профиля: `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\`. Если Windows сообщает, что `ssh-keygen` не распознан как команда, добавьте компонент OpenSSH Client в параметрах Windows, в разделе дополнительных компонентов.\n\n### PuTTYgen\n\nPuTTYgen пригодится, если вы подключаетесь через PuTTY. Он устанавливается вместе с PuTTY.\n\n1. Откройте PuTTYgen. Внизу, в разделе «Type of key to generate», выберите «EdDSA», а в списке рядом — «Ed25519 (255 bits)». В старых версиях этот вариант называется просто «ED25519».\n2. Нажмите «Generate» и водите мышью по пустой области окна, пока не заполнится индикатор.\n3. В поле «Key comment» замените стандартный текст своим названием, например `laptop-ivan`.\n4. Заполните поля «Key passphrase» и «Confirm passphrase».\n5. Нажмите «Save private key» и сохраните файл `.ppk`. Именно его вы будете выбирать в PuTTY.\n6. Скопируйте весь текст из поля «Public key for pasting into OpenSSH authorized_keys file». Это одна строка, которая начинается с `ssh-ed25519`, и именно её вы вставляете в BLACKBOX.\n\nНе используйте файл, сохранённый кнопкой «Save public key»: он начинается с `---- BEGIN SSH2 PUBLIC KEY ----`, занимает несколько строк и не принимается. Чтобы пользоваться этим же ключом и в `ssh` из PowerShell, выберите «Conversions» → «Export OpenSSH key» и сохраните файл как `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\id_ed25519` без расширения. Обратное преобразование — из OpenSSH в `.ppk` — описано в статье [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Где лежат файлы\n\n| Файл | Что это | Что с ним делать |\n|---|---|---|\n| `~/.ssh/id_ed25519` (в Windows: `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\id_ed25519`) | приватный ключ | остаётся на компьютере, им пользуется SSH-клиент |\n| `~/.ssh/id_ed25519.pub` (в Windows: `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\id_ed25519.pub`) | публичный ключ | вставляется в BLACKBOX |\n| файл `.ppk`, сохранённый в PuTTYgen | приватный ключ в формате PuTTY | выбирается в PuTTY или WinSCP |\n\nУ RSA-ключа файлы называются `id_rsa` и `id_rsa.pub` и лежат в той же папке.\n\n> **Внимание**\n> Никому не передавайте приватный ключ — даже поддержке BLACKBOX — и не вставляйте его ни в какие формы: для BLACKBOX нужен только публичный ключ. Приватный ключ — это файл без `.pub` или текст, который начинается с `-----BEGIN`.\n\n## Как показать и скопировать публичный ключ\n\nВ macOS и Linux:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nКоманда выводит одну строку. Скопируйте её целиком:\n\n```text\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI… laptop-ivan\n```\n\nОтпечаток ключа можно посмотреть командой ниже (в Windows — с путём `$env:USERPROFILE\\.ssh\\id_ed25519.pub`). Значение `SHA256:…` совпадает с тем, что BLACKBOX показывает в столбце «Отпечаток», а для серверов «только по ключу» — и в письме с темой «Serverul dvs. este gata».\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n## Как добавить публичный ключ в BLACKBOX\n\n| Ситуация | Куда добавить ключ |\n|---|---|\n| Вы собираетесь заказать новый сервер | «Мой аккаунт» → «SSH-ключи», затем отметить ключ при заказе |\n| Сервер уже работает | панель → «Мои серверы» → «Добавить SSH-ключ» |\n| Вы уже можете подключиться к серверу (Linux, macOS) | из терминала, командой `ssh-copy-id` |\n\n### В аккаунте — для новых серверов\n\n1. Войдите на blackbox.md, нажмите «Личный кабинет» и выберите «SSH-ключи» в меню слева.\n2. В карточке «Добавить SSH-ключ» заполните «Название ключа» (не более 80 символов) и вставьте строку в поле «Публичный SSH-ключ».\n3. Нажмите «Добавить ключ». Ключ появится в таблице со столбцами «Тип» и «Отпечаток».\n4. При заказе сервера на шаге «SSH-ключ для сервера» отметьте ключ в разделе «Сохранённые ключи». Флажок «Отключить вход по паролю (только SSH-ключ)» установится автоматически. Если его не снимать, сервер будет создан «только по ключу».\n\nСохранение в аккаунте не устанавливает ключ на уже работающие серверы. Подробнее: [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont) и [SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda).\n\n### На работающий сервер\n\n1. Откройте панель app.blackbox.md («Мой аккаунт» → «Панель управления») и перейдите в «Мои серверы».\n2. На карточке сервера нажмите «Добавить SSH-ключ».\n3. Выберите «Использовать сохранённый ключ» и нужный ключ в списке «Выберите ключ…» либо «Вставить новый ключ» и вставьте строку.\n4. Нажмите «Добавить ключ». Появится сообщение «Ключ добавлен.», а ключ отобразится в списке «Установленные ключи».\n\nПанель устанавливает ключ для `root`, и для этого ей не нужны ни ваш пароль, ни старые ключи. Подробнее: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n\n### Из терминала с помощью ssh-copy-id\n\nВ Linux и macOS публичный ключ можно добавить на сервер командой `ssh-copy-id`. Она работает, только если вы уже можете подключиться: по паролю на сервере «Пароль + ключ» или другим установленным ключом.\n\n```bash\nssh-copy-id -i ~/.ssh/id_ed25519.pub root@IP_СЕРВЕРА\n```\n\nЕсли появится запрос, введите пароль root. После этого ключ появится и в панели, в списке «Установленные ключи», но в «SSH-ключи» не сохранится. В Windows `ssh-copy-id` нет — используйте панель.\n\n### Проверьте подключение\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРА\n```\n\nЕсли у ключа есть парольная фраза, SSH спросит «Enter passphrase for key»: введите фразу ключа, а не пароль сервера. Пошаговые инструкции для каждой системы — в статье [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Когда вход по ключу заработает, вход по паролю можно отключить в панели: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\n## Удобнее: ssh-agent и файл config\n\n### ssh-agent\n\nSSH-агент хранит расшифрованный ключ в памяти, чтобы вам не приходилось вводить парольную фразу при каждом подключении. В macOS и Linux:\n\n```bash\nssh-add ~/.ssh/id_ed25519\n```\n\nЕсли `ssh-add` не может подключиться к агенту (например, появляется сообщение «Could not open a connection to your authentication agent»), запустите агент в текущем терминале и повторите `ssh-add`:\n\n```bash\neval \"$(ssh-agent -s)\"\n```\n\nВ Windows служба агента по умолчанию отключена. Включите её один раз в PowerShell, запущенном от имени администратора:\n\n```powershell\nGet-Service ssh-agent | Set-Service -StartupType Automatic\nStart-Service ssh-agent\n```\n\nЗатем в обычном PowerShell:\n\n```powershell\nssh-add $env:USERPROFILE\\.ssh\\id_ed25519\n```\n\nПосмотреть ключи, загруженные в агент:\n\n```bash\nssh-add -l\n```\n\n### Файл ~/.ssh/config\n\nВ файле `~/.ssh/config` серверу можно дать короткое имя. В Windows это файл `C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\.ssh\\config` без расширения `.txt`. Добавьте блок:\n\n```text\nHost server-web\n    HostName IP_СЕРВЕРА\n    User root\n    IdentityFile ~/.ssh/id_ed25519\n    IdentitiesOnly yes\n```\n\nПосле этого для подключения достаточно команды:\n\n```bash\nssh server-web\n```\n\nЭто имя работает и в `scp`, и в `rsync`: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). Параметр `IdentitiesOnly yes` заставляет SSH предлагать только указанный ключ, поэтому не возникает ошибка «Too many authentication failures», даже если ключей у вас много.\n\n## Аппаратные ключи безопасности (FIDO2)\n\nС ключом безопасности FIDO2 (например, YubiKey) секретная часть остаётся на устройстве. На компьютере нужен OpenSSH 8.2 или новее. Проверьте версию:\n\n```bash\nssh -V\n```\n\n1. Подключите ключ безопасности к компьютеру.\n2. Выполните:\n\n   ```bash\n   ssh-keygen -t ed25519-sk -C \"yubikey-ivan\"\n   ```\n\n3. Когда ssh-keygen выведет «You may need to touch your authenticator», коснитесь ключа, затем задайте парольную фразу, как описано выше.\n\nБудут созданы файлы `id_ed25519_sk` (ссылка на устройство — сохраните её) и `id_ed25519_sk.pub`, который начинается с `sk-ssh-ed25519@openssh.com`. Публичный ключ добавляется в BLACKBOX так же, как остальные. При каждом подключении ключ безопасности должен быть подключён к компьютеру, и его нужно коснуться.\n\nЕсли устройство не поддерживает Ed25519, ssh-keygen выдаст ошибку. Тогда создайте ключ ECDSA — BLACKBOX принимает и его:\n\n```bash\nssh-keygen -t ecdsa-sk -C \"yubikey-ivan\"\n```\n\nВ macOS встроенный OpenSSH может не поддерживать ключи FIDO2: тогда ssh-keygen выдаёт ошибку и для `ed25519-sk`, и для `ecdsa-sk`. В этом случае установите OpenSSH из Homebrew, откройте новое окно терминала и повторите команду:\n\n```bash\nbrew install openssh\n```\n\n## Резервная копия и потеря ключа\n\n- Храните копию приватного ключа и парольной фразы в надёжном месте, например в менеджере паролей или на зашифрованной флешке. Забытую парольную фразу восстановить нельзя.\n- Парольную фразу можно сменить, не меняя сам ключ:\n\n  ```bash\n  ssh-keygen -p -f ~/.ssh/id_ed25519\n  ```\n\n- Надёжнее всего создавать отдельный ключ для каждого компьютера: если устройство потеряется, достаточно отозвать только его ключ.\n- Если ключ потерян или компьютер украден, создайте новый ключ и добавьте его через панель, вариант «Вставить новый ключ». Затем удалите старый ключ из списка «Установленные ключи» на каждом сервере и со страницы «SSH-ключи».\n\n> **Важно**\n> На сервере «Только ключ» без приватного ключа подключиться по SSH нельзя, а веб-консоли у клиентов нет. Если панель тоже не помогает, воспользуйтесь статьёй [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Частые вопросы\n\n**Я потерял файл `.pub`, но приватный ключ остался. Что делать?**\nКоманда ниже снова выведет публичный ключ — скопируйте его. В Windows используйте путь `$env:USERPROFILE\\.ssh\\id_ed25519`.\n\n```bash\nssh-keygen -y -f ~/.ssh/id_ed25519\n```\n\n**Почему страница «SSH-ключи» не принимает мой ключ?**\nЧаще всего вставлен приватный ключ, несколько строк или RSA-ключ короче 2048 бит. Все сообщения об ошибках разобраны в статье [SSH-ключи в аккаунте (blackbox.md)](#acces.chei-ssh-cont).\n\n**Я создал ключ без парольной фразы. Можно добавить её позже?**\nДа, той же командой, что и для смены парольной фразы (см. раздел выше). Публичный ключ при этом не меняется, поэтому заново добавлять его на серверы не нужно.\n",
    "en": "An SSH key lets you connect to your server without a password. The key is a pair of files. The **private** key stays only on your computer. You add the **public** key to BLACKBOX: on the “Chei SSH” (SSH keys) page (`blackbox.md/account/ssh-keys`, “Contul meu” (My account) → “Chei SSH”) or directly on the server, from the app.blackbox.md panel (“My Servers” → “Add SSH key”).\n\n**Available to:** anyone, on their own computer. Adding the key to your account and to a server: the blackbox.md account holder.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which key type to choose\n\n| Type | The public key line starts with | When to use it |\n|---|---|---|\n| Ed25519 (recommended) | `ssh-ed25519` | in almost every case: a short, fast and secure key |\n| RSA 4096 | `ssh-rsa` | only if a program or service requires RSA |\n| Ed25519 on a hardware key | `sk-ssh-ed25519@openssh.com` | if you have a FIDO2 security key (see below) |\n\nBLACKBOX accepts the types `ssh-ed25519`, `ssh-rsa` (at least 2048 bits), `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, `ecdsa-sha2-nistp521`, `sk-ssh-ed25519@openssh.com` and `sk-ecdsa-sha2-nistp256@openssh.com`. DSA keys (`ssh-dss`) and RSA keys shorter than 2048 bits are rejected.\n\n## Generating the key on macOS and Linux\n\n1. Open the Terminal app.\n2. Run the command below. Replace the comment `laptop-ion` with a name that helps you recognize the computer:\n\n   ```bash\n   ssh-keygen -t ed25519 -C \"laptop-ion\"\n   ```\n\n3. At “Enter file in which to save the key”, press Enter. The key is saved in the default location, `~/.ssh/id_ed25519`.\n4. At “Enter passphrase”, type a passphrase, then repeat it at “Enter same passphrase again”. The characters don't appear on the screen.\n5. At the end, ssh-keygen shows where it saved the two files and the key's fingerprint, in the form `SHA256:…`.\n\nThe passphrase encrypts the private key: anyone who copies the file cannot use it without the passphrase. You can press Enter twice to create a key without a passphrase, but we don't recommend it.\n\nThe comment you set with `-C` appears at the end of the public key. In the panel, in the “Installed keys” list, you recognize your keys by this comment.\n\nIf a program asks you for an RSA key, generate it like this (the files will be `id_rsa` and `id_rsa.pub`):\n\n```bash\nssh-keygen -t rsa -b 4096 -C \"laptop-ion\"\n```\n\nIf ssh-keygen asks “already exists. Overwrite (y/n)?”, type `n`. You already have a key with this name: if you overwrite it, you lose access to the servers where the old key is installed. Use the existing key, or create a new one with a different file name:\n\n```bash\nssh-keygen -t ed25519 -C \"laptop-ion\" -f ~/.ssh/id_ed25519_blackbox\n```\n\n## Generating the key on Windows\n\n### PowerShell\n\nWindows 10 and 11 include the OpenSSH client, so the command is the same.\n\n1. Open PowerShell (Start menu → type “PowerShell”).\n2. Run:\n\n   ```powershell\n   ssh-keygen -t ed25519 -C \"laptop-ion\"\n   ```\n\n3. Answer the prompts as on macOS and Linux: Enter for the default location, then the passphrase twice.\n\nThe files are saved in the `.ssh` folder of your user profile: `C:\\Users\\USERNAME\\.ssh\\`. If Windows replies that `ssh-keygen` is not recognized as a command, add the OpenSSH Client component in Windows Settings, under optional features.\n\n### PuTTYgen\n\nUse PuTTYgen if you connect with PuTTY. It is installed together with PuTTY.\n\n1. Open PuTTYgen. At the bottom, under “Type of key to generate”, choose “EdDSA”, and in the list next to it, “Ed25519 (255 bits)”. In older versions, the option is called simply “ED25519”.\n2. Click “Generate” and move the mouse over the empty area of the window until the progress bar fills up.\n3. In “Key comment”, replace the default text with a name, for example `laptop-ion`.\n4. Fill in “Key passphrase” and “Confirm passphrase”.\n5. Click “Save private key” and save the `.ppk` file. This is the file you choose in PuTTY.\n6. Copy all the text in the “Public key for pasting into OpenSSH authorized_keys file” field: a single line that starts with `ssh-ed25519`. This is what you paste into BLACKBOX.\n\nDon't use the file saved with “Save public key”. It starts with `---- BEGIN SSH2 PUBLIC KEY ----`, has several lines, and is rejected. To use the same key with `ssh` in PowerShell as well, choose “Conversions” → “Export OpenSSH key” and save the file as `C:\\Users\\USERNAME\\.ssh\\id_ed25519`, with no extension. The reverse conversion, from OpenSSH to `.ppk`, is covered in [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n## Where the files are\n\n| File | What it is | What you do with it |\n|---|---|---|\n| `~/.ssh/id_ed25519` (Windows: `C:\\Users\\USERNAME\\.ssh\\id_ed25519`) | the private key | it stays on your computer; the SSH client uses it |\n| `~/.ssh/id_ed25519.pub` (Windows: `C:\\Users\\USERNAME\\.ssh\\id_ed25519.pub`) | the public key | you paste it into BLACKBOX |\n| the `.ppk` file saved from PuTTYgen | the private key in PuTTY format | you choose it in PuTTY or WinSCP |\n\nFor an RSA key, the files are `id_rsa` and `id_rsa.pub`, in the same folder.\n\n> **Warning**\n> Never send your private key to anyone, not even BLACKBOX support, and never paste it into any form: BLACKBOX needs only the public key. The private key is the file without `.pub`, or text that starts with `-----BEGIN`.\n\n## Display and copy the public key\n\nOn macOS and Linux:\n\n```bash\ncat ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nGet-Content $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\nThe output is a single line. Copy all of it:\n\n```text\nssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI… laptop-ion\n```\n\nTo see the key's fingerprint, use the command below (on Windows, with the path `$env:USERPROFILE\\.ssh\\id_ed25519.pub`). The `SHA256:…` value is the same one that BLACKBOX shows in the “Amprentă” (Fingerprint) column and, for “key-only” servers, in the email with the subject “Serverul dvs. este gata” (Your server is ready).\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\n## Add the public key to BLACKBOX\n\n| Situation | Where you add the key |\n|---|---|\n| You are going to order a new server | “Contul meu” (My account) → “Chei SSH” (SSH keys), then check the key when you order |\n| The server is already running | the panel → “My Servers” → “Add SSH key” |\n| You can already connect to the server (Linux, macOS) | from the terminal, with `ssh-copy-id` |\n\n### In your account, for new servers\n\n1. Sign in to blackbox.md, click “Cont client” (Customer account) and choose “Chei SSH” in the left menu.\n2. In the “Adaugă o cheie SSH” (Add an SSH key) card, fill in “Nume cheie” (Key name) (at most 80 characters) and paste the line into “Cheie publică SSH” (Public SSH key).\n3. Click “Adaugă cheia” (Add key). The key appears in the table, with its “Tip” (Type) and “Amprentă” (Fingerprint).\n4. When you order a server, in the “Cheie SSH pentru server” (SSH key for the server) step, check the key under “Chei salvate” (Saved keys). The “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box is checked automatically. If you leave it checked, the server is created as “key-only”.\n\nSaving the key in your account does not install it on your existing servers. Details: [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont) and [The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda).\n\n### On a running server\n\n1. Open the app.blackbox.md panel (“Contul meu” → “Panou de administrare” (Admin panel)) and go to “My Servers”.\n2. On the server card, click “Add SSH key”.\n3. Choose “Use a saved key” and pick the key from “Select a key…”, or choose “Paste a new key” and paste the line.\n4. Click “Add key”. The result is “Key added.”, and the key appears in “Installed keys”.\n\nThe panel installs the key for `root` without needing your password or your old keys. Details: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n\n### From the terminal, with ssh-copy-id\n\nOn Linux and macOS, `ssh-copy-id` adds the public key to the server. It works only if you can already connect: with the password, on a “Password + key” server, or with another installed key.\n\n```bash\nssh-copy-id -i ~/.ssh/id_ed25519.pub root@SERVER_IP\n```\n\nIf prompted, enter the root password. The key then also appears in the panel, in “Installed keys”, but it is not saved in “Chei SSH” (SSH keys). On Windows, `ssh-copy-id` does not exist: use the panel.\n\n### Check the connection\n\n```bash\nssh -i ~/.ssh/id_ed25519 root@SERVER_IP\n```\n\nIf the key has a passphrase, SSH asks “Enter passphrase for key”: type the key's passphrase, not the server password. Steps for each system: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Once you can log in with the key, you can turn off password login from the panel: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\n## More convenient: ssh-agent and the config file\n\n### ssh-agent\n\nThe SSH agent keeps the key unlocked in memory, so you don't have to type the passphrase every time you connect. On macOS and Linux:\n\n```bash\nssh-add ~/.ssh/id_ed25519\n```\n\nIf `ssh-add` cannot connect to the agent (for example, with the message “Could not open a connection to your authentication agent”), start the agent in the current terminal and run `ssh-add` again:\n\n```bash\neval \"$(ssh-agent -s)\"\n```\n\nOn Windows, the agent service is turned off by default. Start it once, from PowerShell run as administrator:\n\n```powershell\nGet-Service ssh-agent | Set-Service -StartupType Automatic\nStart-Service ssh-agent\n```\n\nThen, in a regular PowerShell window:\n\n```powershell\nssh-add $env:USERPROFILE\\.ssh\\id_ed25519\n```\n\nTo see the keys loaded in the agent:\n\n```bash\nssh-add -l\n```\n\n### The ~/.ssh/config file\n\nIn the `~/.ssh/config` file, you can give the server a short name. On Windows, the file is `C:\\Users\\USERNAME\\.ssh\\config`, without a `.txt` extension. Add a block:\n\n```text\nHost server-web\n    HostName SERVER_IP\n    User root\n    IdentityFile ~/.ssh/id_ed25519\n    IdentitiesOnly yes\n```\n\nThen you connect with just:\n\n```bash\nssh server-web\n```\n\nThe name also works with `scp` and `rsync`: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere). `IdentitiesOnly yes` makes SSH offer only the specified key, which avoids the “Too many authentication failures” error when you have many keys.\n\n## Hardware security keys (FIDO2)\n\nWith a FIDO2 security key (for example, a YubiKey), the secret part stays on the device. You need OpenSSH 8.2 or newer on your computer. Check the version:\n\n```bash\nssh -V\n```\n\n1. Plug the security key into your computer.\n2. Run:\n\n   ```bash\n   ssh-keygen -t ed25519-sk -C \"yubikey-ion\"\n   ```\n\n3. Touch the key when ssh-keygen shows “You may need to touch your authenticator”, then set the passphrase as described above.\n\nThis creates `id_ed25519_sk` (a reference to the device; keep it) and `id_ed25519_sk.pub`, which starts with `sk-ssh-ed25519@openssh.com`. You add the public one to BLACKBOX the same way as any other key. Every time you connect, the security key must be plugged in and touched.\n\nIf the device does not support Ed25519, ssh-keygen shows an error. In that case, generate an ECDSA key, which BLACKBOX also accepts:\n\n```bash\nssh-keygen -t ecdsa-sk -C \"yubikey-ion\"\n```\n\nOn macOS, the OpenSSH that comes with the system may not support FIDO2 keys: ssh-keygen then shows an error for both `ed25519-sk` and `ecdsa-sk`. In that case, install OpenSSH from Homebrew, open a new terminal and run the command again:\n\n```bash\nbrew install openssh\n```\n\n## Backups and losing your key\n\n- Keep a copy of the private key and the passphrase in a safe place, for example in a password manager or on an encrypted USB drive. A forgotten passphrase cannot be recovered.\n- You can change the passphrase without changing the key:\n\n  ```bash\n  ssh-keygen -p -f ~/.ssh/id_ed25519\n  ```\n\n- The safest approach is to generate a separate key for each computer. If you lose a device, you revoke only its key.\n- If you have lost the key or your computer was stolen, generate a new key and add it from the panel with “Paste a new key”. Then remove the old key from “Installed keys” on each server and delete it from “Chei SSH” (SSH keys).\n\n> **Important**\n> On a “Key-only” server, you can no longer connect over SSH without the private key, and customers have no web console. If the panel can't help either, follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Frequently asked questions\n\n**I lost the `.pub` file, but I still have the private key. What do I do?**\nThe command below displays the public key again so you can copy it. On Windows, use the path `$env:USERPROFILE\\.ssh\\id_ed25519`.\n\n```bash\nssh-keygen -y -f ~/.ssh/id_ed25519\n```\n\n**Why does the “Chei SSH” (SSH keys) page reject my key?**\nMost often, you pasted the private key, several lines, or an RSA key shorter than 2048 bits. All the error messages are explained in [SSH keys in your account (blackbox.md)](#acces.chei-ssh-cont).\n\n**I created the key without a passphrase. Can I add one later?**\nYes, with the same command you use to change the passphrase, in the section above. The public key does not change, so you don't need to add it to your servers again.\n"
   }
  },
  {
   "id": "ghiduri.transfer-fisiere",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/transfer-fisiere/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/transfer-fisiere/",
    "en": "https://docs.blackbox.md/en/ghiduri/transfer-fisiere/"
   },
   "title": {
    "ro": "Transferul fișierelor pe server (scp, rsync, SFTP)",
    "ru": "Передача файлов на сервер (scp, rsync, SFTP)",
    "en": "Transferring files to the server (scp, rsync, SFTP)"
   },
   "summary": {
    "ro": "Cum copiați fișiere între calculator și server cu scp, rsync sau un client SFTP grafic (FileZilla, WinSCP).",
    "ru": "Как копировать файлы между компьютером и сервером с помощью scp, rsync или графического SFTP-клиента (FileZilla, WinSCP).",
    "en": "How to copy files between your computer and your server with scp, rsync or a graphical SFTP client (FileZilla, WinSCP)."
   },
   "markdown": {
    "ro": "Fișierele se copiază pe server și înapoi tot prin SSH, cu aceleași date ca la conectare: adresa IP, utilizatorul `root`, portul 22 și parola sau cheia SSH. Adresa IP o găsiți în panoul app.blackbox.md, la „Serverele mele” (`app.blackbox.md/my-servers`; din blackbox.md: „Contul meu” → „Panou de administrare” → „Serverele mele”), în câmpul „IP” de pe cardul serverului.\n\n**Disponibil pentru:** titularul contului blackbox.md care are un server activ și datele de acces root (parola sau cheia SSH): [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). La serverele dedicate, datele de acces le stabiliți împreună cu echipa.\n\n## Ce instrument alegeți\n\n| Instrument | Potrivit pentru | Sisteme |\n|---|---|---|\n| `scp` | un fișier sau un folder, o singură dată | macOS, Linux, Windows 10 și 11 |\n| `rsync` | foldere mari, copieri repetate, reluare după întrerupere | macOS, Linux; Windows prin WSL |\n| `sftp` | o sesiune în care navigați pe server | macOS, Linux, Windows 10 și 11 |\n| FileZilla, WinSCP | lucrul cu mouse-ul, fără comenzi | FileZilla: toate; WinSCP: Windows |\n\nToate folosesc SSH, deci datele circulă criptat. Comenzile `scp`, `sftp` și `rsync` le rulați pe calculatorul dvs., nu pe server. Înlocuiți `IP_SERVER` cu adresa serverului.\n\n## scp: copiere rapidă\n\n`scp` este instalat pe macOS și Linux. Pe Windows 10 și 11 face parte din clientul OpenSSH, împreună cu `ssh` și `sftp`: îl rulați în PowerShell, cu aceeași sintaxă.\n\nÎncărcați un fișier în `/root` pe server:\n\n```bash\nscp backup.zip root@IP_SERVER:/root/\n```\n\nDirectorul de destinație trebuie să existe înainte de copiere. Pe un server nou, fără server web, nu există nici `/var/www`; creați-l de pe calculator:\n\n```bash\nssh root@IP_SERVER \"mkdir -p /var/www/site\"\n```\n\nÎncărcați un folder cu `-r` (pe server apare `/var/www/site`):\n\n```bash\nscp -r site root@IP_SERVER:/var/www/\n```\n\nDescărcați un fișier în directorul curent (punctul de la final) și un folder întreg:\n\n```bash\nscp root@IP_SERVER:/root/backup.tar.gz .\nscp -r root@IP_SERVER:/var/www/site ./site-backup\n```\n\nO anumită cheie o indicați cu `-i`. Dacă SSH ascultă pe alt port decât 22 (de exemplu, la serverul unui alt furnizor; serverele BLACKBOX folosesc portul 22), adăugați `-P`, cu majusculă, spre deosebire de `ssh -p`:\n\n```bash\nscp -i ~/.ssh/id_ed25519 -P PORT backup.zip root@IP_SERVER:/root/\n```\n\nÎn PowerShell, căile locale se scriu ca în Windows:\n\n```powershell\nscp -r C:\\Users\\NUME_UTILIZATOR\\Documents\\site root@IP_SERVER:/var/www/\n```\n\n## sftp: sesiune interactivă\n\nOpțiunile `-i` și `-P` funcționează ca la `scp`.\n\n```bash\nsftp root@IP_SERVER\n```\n\n| Comandă la promptul `sftp>` | Ce face |\n|---|---|\n| `ls`, `cd /var/www/site` | listează și schimbă directorul pe server |\n| `lls`, `lcd site` | același lucru pe calculatorul dvs. |\n| `put index.html`, `put -r assets` | încarcă un fișier sau un folder |\n| `get config.php`, `get -r uploads` | descarcă un fișier sau un folder |\n| `exit` | închide sesiunea |\n\n## rsync: recomandat pentru foldere mari și copieri repetate\n\n`rsync` copiază doar diferențele: la a doua rulare transferă numai fișierele noi sau modificate, iar o copiere întreruptă se reia. Trebuie să fie instalat la ambele capete. Pe macOS este inclus, pe Linux îl instalați din managerul de pachete, dacă lipsește, iar pe Windows îl rulați din WSL (Windows Subsystem for Linux); fără WSL, folosiți `scp` sau WinSCP. Dacă lipsește pe server, instalați-l:\n\nUbuntu și Debian:\n\n```bash\napt update\napt install -y rsync\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y rsync\n```\n\nÎncărcați conținutul folderului local `site` în `/var/www/site`:\n\n```bash\nrsync -avz --progress site/ root@IP_SERVER:/var/www/site/\n```\n\n| Opțiune | Ce face |\n|---|---|\n| `-a` | copiază recursiv, cu permisiunile, datele de modificare și legăturile simbolice |\n| `-v`, `--progress` | afișează fișierele și progresul |\n| `-z` | comprimă pe drum; ajută la text, nu la arhive, imagini sau video |\n| `--partial` | păstrează fișierul copiat parțial, ca rularea următoare să continue |\n| `-P` | `--partial --progress` (la `scp`, `-P` este portul) |\n| `-n` | simulare (`--dry-run`): arată ce s-ar face, fără să modifice nimic |\n| `--delete` | șterge din destinație fișierele care nu mai există în sursă |\n\nSlash-ul de la sfârșitul sursei contează: `site/` copiază conținutul folderului, iar `site` creează încă un nivel, `/var/www/site/site`.\n\nUn fișier mare, cu reluare (dacă legătura cade, rulați din nou aceeași comandă):\n\n```bash\nrsync -avP backup.tar.gz root@IP_SERVER:/root/\n```\n\nDescărcați un folder de pe server:\n\n```bash\nrsync -avz --progress root@IP_SERVER:/var/www/site/ ./site-backup/\n```\n\nAlt port sau o anumită cheie se dau prin `-e`:\n\n```bash\nrsync -avz --progress -e \"ssh -p PORT -i ~/.ssh/id_ed25519\" site/ root@IP_SERVER:/var/www/site/\n```\n\n### Copie exactă cu `--delete`\n\nCa fișierele șterse local să dispară și de pe server, adăugați `--delete`. Rulați întâi simularea cu `-n`: rândurile `deleting …` sunt fișierele care vor fi șterse.\n\n```bash\nrsync -avzn --delete site/ root@IP_SERVER:/var/www/site/\n```\n\nDacă lista este corectă, rulați aceeași comandă fără `n`:\n\n```bash\nrsync -avz --delete site/ root@IP_SERVER:/var/www/site/\n```\n\n> **Risc**\n> Cu `--delete`, o greșeală de cale (un slash lipsă, sursa și destinația inversate, un folder local gol) poate șterge fișierele de pe server, iar BLACKBOX nu face copii automate ale serverului dvs. Rulați întâi cu `-n` și faceți o copie înainte: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## FileZilla (Windows, macOS, Linux)\n\nFileZilla Client este gratuit: [site-ul oficial FileZilla](https://filezilla-project.org/). Etichetele de mai jos sunt din interfața în engleză; în română sau rusă sunt traduse.\n\n1. Deschideți „File” → „Site Manager...” și apăsați „New site”.\n2. Completați:\n   - „Protocol”: „SFTP - SSH File Transfer Protocol” (nu „FTP”);\n   - „Host”: adresa IP; „Port”: `22`; „User”: `root`;\n   - „Logon Type”: „Normal”, cu parola root în „Password”, sau „Key file”, cu cheia privată aleasă prin „Browse...” (`.ppk` sau cheia OpenSSH, de exemplu `id_ed25519`). Pe macOS, folderul `.ssh` este ascuns: în fereastra de alegere apăsați Cmd + Shift + G și scrieți `~/.ssh`. Dacă FileZilla propune să convertească cheia, acceptați.\n3. Apăsați „Connect”.\n4. La prima conectare apare „Unknown host key”: bifați „Always trust this host, add this key to the cache” și apăsați „OK”.\n5. Trageți fișierele între panoul din stânga (calculatorul) și cel din dreapta (serverul).\n\nCheia se poate adăuga o singură dată, pentru toate conexiunile SFTP: „Edit” → „Settings...” (pe macOS: „FileZilla” → „Settings...”) → „Connection” → „SFTP” → „Add key file...”.\n\nÎn bara „Quickconnect”, scrieți la „Host” `sftp://IP_SERVER` sau la „Port” `22`. Altfel FileZilla încearcă FTP, iar conectarea eșuează.\n\n## WinSCP (Windows)\n\nWinSCP este gratuit: [site-ul oficial WinSCP](https://winscp.net/). Etichetele de mai jos sunt tot din interfața în engleză. La pornire se deschide fereastra „Login”.\n\n1. Selectați „New Site” și completați: „File protocol”: „SFTP”; „Host name”: adresa IP; „Port number”: `22`; „User name”: `root`; „Password”: parola root (pe un server „Parolă + cheie”).\n2. Pentru cheie: „Advanced...” → „SSH” → „Authentication” → „Private key file”, alegeți fișierul `.ppk` folosit în PuTTY. Dacă alegeți o cheie OpenSSH, WinSCP propune s-o convertească în `.ppk`: acceptați. Apăsați „OK”.\n3. Apăsați „Save”, apoi „Login”.\n4. La prima conectare, confirmați cheia serverului cu „Accept” (în versiunile mai vechi, „Yes”).\n5. Trageți fișierele între panoul din stânga (calculatorul) și cel din dreapta (serverul).\n\n## Serverele „Doar cheie”\n\nPe un server cu insigna „Doar cheie” (pe cardul din „Serverele mele”), parola root nu funcționează prin SSH, deci nici în `scp`, `sftp`, `rsync`, FileZilla sau WinSCP. Configurați cheia în client:\n\n- `scp`, `sftp` și `rsync` încearcă singure cheile standard din `~/.ssh` (de exemplu `id_ed25519`); altă cheie o indicați cu `-i` (la `rsync`, în `-e`);\n- FileZilla: „Logon Type” „Key file” sau cheia din „Settings”; WinSCP: „Private key file”.\n\nFără cheia corectă apare `Permission denied (publickey)`, iar în FileZilla și WinSCP, `No supported authentication methods available (server sent: publickey)`. Cheia unui calculator nou o adăugați cu „Adaugă cheie SSH”: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server). Autentificarea cu parolă o reactivați cu „Activează login cu parolă”: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\n## După încărcarea unui site: proprietarul și permisiunile\n\nFișierele încărcate ca `root` aparțin lui `root` (iar `rsync -a` păstrează chiar ID-ul utilizatorului de pe calculatorul dvs.). Serverul web trebuie să le poată citi, iar aplicația să scrie în directoarele ei (încărcări, cache). Treceți-le în proprietatea utilizatorului sub care rulează serverul web sau PHP-FPM:\n\n| Sistem | nginx | Apache | PHP-FPM (implicit) |\n|---|---|---|---|\n| Ubuntu, Debian | `www-data` | `www-data` | `www-data` |\n| AlmaLinux, CentOS Stream | `nginx` | `apache` | `apache` |\n\nUtilizatorul real apare pe rândurile care nu încep cu `root`:\n\n```bash\nps -eo user,comm | grep -E 'nginx|apache2|httpd|php-fpm'\n```\n\n### Ubuntu și Debian\n\n```bash\nchown -R www-data:www-data /var/www/site\nfind /var/www/site -type d -exec chmod 755 {} +\nfind /var/www/site -type f -exec chmod 644 {} +\n```\n\n### AlmaLinux și CentOS Stream\n\nAceleași comenzi, cu utilizatorul din tabel (de exemplu `nginx:nginx` sau `apache:apache`). În plus, SELinux este activ implicit și verifică eticheta fiecărui fișier. Fișierele pot avea o etichetă greșită (de exemplu, cele mutate cu `mv` din `/root` își păstrează eticheta veche), iar atunci site-ul răspunde `403 Forbidden`. După încărcare, restabiliți etichetele:\n\n```bash\nrestorecon -Rv /var/www/site\n```\n\nCa aplicația să poată scrie într-un director (de exemplu `uploads`), SELinux cere pentru el o etichetă separată. Înlocuiți calea cu directorul dvs.:\n\n```bash\ndnf install -y policycoreutils-python-utils\nsemanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/site/uploads(/.*)?\"\nrestorecon -Rv /var/www/site\n```\n\nInstalarea serverului web: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Transferuri lungi: tmux sau screen\n\nDe pe calculatorul dvs., o copiere `rsync` întreruptă se reia rulând din nou aceeași comandă cu `-P`. Când copiați **între două servere** (de exemplu, de la vechea găzduire pe serverul nou), rulați copierea pe server într-o sesiune `tmux`: dacă legătura SSH cade, copierea continuă.\n\nInstalați `tmux`, dacă lipsește. Ubuntu și Debian:\n\n```bash\napt update\napt install -y tmux\n```\n\nAlmaLinux și CentOS Stream (pe aceste sisteme, `screen` nu este în depozitele standard):\n\n```bash\ndnf install -y tmux\n```\n\n| Acțiune | tmux | screen |\n|---|---|---|\n| porniți o sesiune | `tmux new -s transfer` | `screen -S transfer` |\n| ieșiți fără s-o opriți | Ctrl + B, apoi D | Ctrl + A, apoi D |\n| reveniți după reconectare | `tmux attach -t transfer` | `screen -r transfer` |\n\nExemplu: comanda de mai jos, rulată în sesiunea de pe serverul nou, preia site-ul de pe serverul vechi. Se cere parola root a serverului vechi; dacă acolo intrați cu cheie, urmați ghidul de mutare de mai jos.\n\n```bash\nrsync -avzP root@IP_SERVER_VECHI:/var/www/site/ /var/www/site/\n```\n\nMutarea completă: [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site).\n\n## De ce SFTP și nu FTP\n\n- Pe serverele VPS pentru care alegeți sistemul de operare la comandă nu este instalat niciun server FTP. SFTP funcționează imediat, prin SSH, cu datele root.\n- FTP trimite parola și fișierele necriptate; SFTP le criptează. Nu confundați SFTP cu FTPS („FTP over TLS”), care cere un server FTP.\n- Filtrarea din rețea, administrată de BLACKBOX, lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping. Porturile unui server FTP instalat de dvs. nu ar fi accesibile din internet fără o cerere la suport: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n- Pe planurile „VPS hosting”, întrebați suportul dacă panoul de control de pe server include FTP: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n## Erori frecvente\n\n| Mesaj | Cauză probabilă | Ce faceți |\n|---|---|---|\n| `Permission denied (publickey)` sau `No supported authentication methods available (server sent: publickey)` | server „Doar cheie”, cheia nu este configurată în client sau instalată pe server | indicați cheia (`-i`, „Key file”, „Private key file”) sau adăugați-o cu „Adaugă cheie SSH” |\n| `Permission denied, please try again.` (FileZilla: `Authentication failed.`) | parolă greșită | copiați parola cu „Afișează datele de acces”: [Afișarea datelor de acces root](#acces.afisare-date-acces) |\n| FileZilla: `Could not connect to server`, cu portul 21 în jurnal | s-a ales protocolul FTP | alegeți „SFTP - SSH File Transfer Protocol”, portul 22 |\n| `rsync: command not found` | `rsync` lipsește pe server sau pe calculator | instalați-l |\n| `No space left on device` | discul serverului este plin | [Discul serverului este plin](#faq.disc-plin) |\n| `No such file or directory` la încărcare | directorul de destinație nu există pe server | creați-l, ca în secțiunea despre `scp` |\n| `403 Forbidden` pe site după încărcare | proprietar, permisiuni sau etichete SELinux greșite | secțiunea despre proprietar și permisiuni |\n\nAlte probleme de conectare: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Întrebări frecvente\n\n**Unde pun fișierele site-ului?**\nÎn directorul din configurația serverului web (`root` la nginx, `DocumentRoot` la Apache), de obicei sub `/var/www/`.\n\n**Copierea multor fișiere mici durează mult. Ce fac?**\nFaceți o arhivă pe calculator, copiați-o în `/root/` cu `scp` și dezarhivați-o pe server. Pe calculator, apoi pe server:\n\n```bash\ntar czf site.tar.gz site\n```\n\n```bash\ntar xzf /root/site.tar.gz -C /var/www/\n```\n\n**Cum îmi descarc datele înainte de a șterge serverul?**\nCu `rsync` sau `scp -r` în sens invers, de pe server pe calculator, pentru fiecare director important. Bazele de date exportați-le întâi într-un fișier (dump). Ce să includeți: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n",
    "ru": "Файлы передаются на сервер и обратно тоже по SSH, с теми же данными, что и при подключении: IP-адрес, пользователь `root`, порт 22 и пароль или SSH-ключ. IP-адрес указан в панели app.blackbox.md, в разделе «Мои серверы» (`app.blackbox.md/my-servers`; с blackbox.md: «Личный кабинет» → «Панель управления» → «Мои серверы»), в поле «IP» на карточке сервера.\n\n**Доступно:** владельцу аккаунта blackbox.md с активным сервером и учётными данными root (паролем или SSH-ключом): [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Для выделенных серверов данные для доступа вы согласуете с командой.\n\n## Какой инструмент выбрать\n\n| Инструмент | Для чего подходит | Системы |\n|---|---|---|\n| `scp` | разово скопировать файл или папку | macOS, Linux, Windows 10 и 11 |\n| `rsync` | большие папки, регулярное копирование, продолжение после обрыва | macOS, Linux; Windows через WSL |\n| `sftp` | сеанс, в котором вы перемещаетесь по папкам сервера | macOS, Linux, Windows 10 и 11 |\n| FileZilla, WinSCP | работа мышью, без команд | FileZilla: все; WinSCP: Windows |\n\nВсе они работают через SSH, поэтому данные передаются в зашифрованном виде. Команды `scp`, `sftp` и `rsync` выполняются на вашем компьютере, а не на сервере. Вместо `IP_СЕРВЕРА` подставьте адрес своего сервера.\n\n## scp: быстрое копирование\n\n`scp` уже есть в macOS и Linux. В Windows 10 и 11 он входит в клиент OpenSSH вместе с `ssh` и `sftp`: запускайте его в PowerShell, синтаксис тот же.\n\nЗагрузите файл в `/root` на сервере:\n\n```bash\nscp backup.zip root@IP_СЕРВЕРА:/root/\n```\n\nПапка назначения должна существовать до копирования. На новом сервере без веб-сервера нет даже `/var/www`; создайте её со своего компьютера:\n\n```bash\nssh root@IP_СЕРВЕРА \"mkdir -p /var/www/site\"\n```\n\nЗагрузите папку с параметром `-r` (на сервере появится `/var/www/site`):\n\n```bash\nscp -r site root@IP_СЕРВЕРА:/var/www/\n```\n\nСкачайте файл в текущую папку (точка в конце) и папку целиком:\n\n```bash\nscp root@IP_СЕРВЕРА:/root/backup.tar.gz .\nscp -r root@IP_СЕРВЕРА:/var/www/site ./site-backup\n```\n\nНужный ключ указывается через `-i`. Если SSH работает на порту, отличном от 22 (например, на сервере другого провайдера; серверы BLACKBOX используют порт 22), добавьте `-P` — заглавной буквой, в отличие от `ssh -p`:\n\n```bash\nscp -i ~/.ssh/id_ed25519 -P ПОРТ backup.zip root@IP_СЕРВЕРА:/root/\n```\n\nВ PowerShell локальные пути записываются как обычно в Windows:\n\n```powershell\nscp -r C:\\Users\\ИМЯ_ПОЛЬЗОВАТЕЛЯ\\Documents\\site root@IP_СЕРВЕРА:/var/www/\n```\n\n## sftp: интерактивный сеанс\n\nПараметры `-i` и `-P` работают так же, как у `scp`.\n\n```bash\nsftp root@IP_СЕРВЕРА\n```\n\n| Команда в приглашении `sftp>` | Что делает |\n|---|---|\n| `ls`, `cd /var/www/site` | показывает содержимое и меняет папку на сервере |\n| `lls`, `lcd site` | то же самое на вашем компьютере |\n| `put index.html`, `put -r assets` | загружает файл или папку |\n| `get config.php`, `get -r uploads` | скачивает файл или папку |\n| `exit` | завершает сеанс |\n\n## rsync: лучший выбор для больших папок и регулярного копирования\n\n`rsync` копирует только разницу: при повторном запуске передаются лишь новые и изменённые файлы, а прерванное копирование можно продолжить. Он должен быть установлен с обеих сторон. В macOS он уже есть, в Linux его при необходимости ставят из менеджера пакетов, а в Windows запускают из WSL (Windows Subsystem for Linux); без WSL используйте `scp` или WinSCP. Если на сервере его нет, установите:\n\nUbuntu и Debian:\n\n```bash\napt update\napt install -y rsync\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y rsync\n```\n\nЗагрузите содержимое локальной папки `site` в `/var/www/site`:\n\n```bash\nrsync -avz --progress site/ root@IP_СЕРВЕРА:/var/www/site/\n```\n\n| Параметр | Что делает |\n|---|---|\n| `-a` | копирует рекурсивно, сохраняя права доступа, время изменения и символические ссылки |\n| `-v`, `--progress` | показывает файлы и ход копирования |\n| `-z` | сжимает данные при передаче; помогает для текста, но не для архивов, изображений и видео |\n| `--partial` | сохраняет недокачанный файл, чтобы следующий запуск продолжил с места остановки |\n| `-P` | `--partial --progress` (у `scp` `-P` — это порт) |\n| `-n` | пробный запуск (`--dry-run`): показывает, что будет сделано, ничего не меняя |\n| `--delete` | удаляет в месте назначения файлы, которых больше нет в источнике |\n\nКосая черта в конце источника важна: `site/` копирует содержимое папки, а `site` создаёт ещё один уровень — `/var/www/site/site`.\n\nБольшой файл с докачкой (если связь оборвётся, запустите ту же команду ещё раз):\n\n```bash\nrsync -avP backup.tar.gz root@IP_СЕРВЕРА:/root/\n```\n\nСкачайте папку с сервера:\n\n```bash\nrsync -avz --progress root@IP_СЕРВЕРА:/var/www/site/ ./site-backup/\n```\n\nДругой порт или нужный ключ задаются через `-e`:\n\n```bash\nrsync -avz --progress -e \"ssh -p ПОРТ -i ~/.ssh/id_ed25519\" site/ root@IP_СЕРВЕРА:/var/www/site/\n```\n\n### Точная копия с `--delete`\n\nЧтобы файлы, удалённые у вас, исчезали и с сервера, добавьте `--delete`. Сначала выполните пробный запуск с `-n`: строки `deleting …` — это файлы, которые будут удалены.\n\n```bash\nrsync -avzn --delete site/ root@IP_СЕРВЕРА:/var/www/site/\n```\n\nЕсли список верный, выполните ту же команду без `n`:\n\n```bash\nrsync -avz --delete site/ root@IP_СЕРВЕРА:/var/www/site/\n```\n\n> **Опасно**\n> С `--delete` ошибка в пути (пропущенная косая черта, перепутанные источник и назначение, пустая локальная папка) может удалить файлы на сервере, а BLACKBOX не делает автоматических резервных копий вашего сервера. Сначала запускайте с `-n` и заранее сделайте копию: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## FileZilla (Windows, macOS, Linux)\n\nFileZilla Client — бесплатная программа: [официальный сайт FileZilla](https://filezilla-project.org/). Названия ниже приведены по английскому интерфейсу; в русском или румынском они переведены.\n\n1. Откройте «File» → «Site Manager...» и нажмите «New site».\n2. Заполните поля:\n   - «Protocol» — «SFTP - SSH File Transfer Protocol» (не «FTP»);\n   - «Host» — IP-адрес; «Port» — `22`; «User» — `root`;\n   - «Logon Type» — «Normal» с паролем root в поле «Password» или «Key file» с приватным ключом, выбранным через «Browse...» (`.ppk` или ключ OpenSSH, например `id_ed25519`). В macOS папка `.ssh` скрыта: в окне выбора файла нажмите Cmd + Shift + G и введите `~/.ssh`. Если FileZilla предложит преобразовать ключ, согласитесь.\n3. Нажмите «Connect».\n4. При первом подключении появится «Unknown host key»: отметьте «Always trust this host, add this key to the cache» и нажмите «OK».\n5. Перетаскивайте файлы между левой панелью (компьютер) и правой (сервер).\n\nКлюч можно добавить один раз для всех SFTP-подключений: «Edit» → «Settings...» (в macOS: «FileZilla» → «Settings...») → «Connection» → «SFTP» → «Add key file...».\n\nВ панели «Quickconnect» укажите в поле «Host» `sftp://IP_СЕРВЕРА` или в поле «Port» — `22`. Иначе FileZilla попробует подключиться по FTP, и подключение не удастся.\n\n## WinSCP (Windows)\n\nWinSCP — бесплатная программа: [официальный сайт WinSCP](https://winscp.net/). Названия ниже тоже приведены по английскому интерфейсу. При запуске открывается окно «Login».\n\n1. Выберите «New Site» и заполните поля: «File protocol» — «SFTP»; «Host name» — IP-адрес; «Port number» — `22`; «User name» — `root`; «Password» — пароль root (на сервере «Пароль + ключ»).\n2. Для входа по ключу: «Advanced...» → «SSH» → «Authentication» → «Private key file» — выберите файл `.ppk`, который вы используете в PuTTY. Если выбрать ключ OpenSSH, WinSCP предложит преобразовать его в `.ppk` — согласитесь. Нажмите «OK».\n3. Нажмите «Save», затем «Login».\n4. При первом подключении подтвердите ключ сервера кнопкой «Accept» (в старых версиях — «Yes»).\n5. Перетаскивайте файлы между левой панелью (компьютер) и правой (сервер).\n\n## Серверы «Только ключ»\n\nНа сервере со значком «Только ключ» (на карточке в разделе «Мои серверы») пароль root по SSH не работает, а значит, не работает и в `scp`, `sftp`, `rsync`, FileZilla и WinSCP. Настройте ключ в клиенте:\n\n- `scp`, `sftp` и `rsync` сами пробуют стандартные ключи из `~/.ssh` (например, `id_ed25519`); другой ключ укажите через `-i` (для `rsync` — внутри `-e`);\n- FileZilla: «Logon Type» — «Key file» или ключ из «Settings»; WinSCP: «Private key file».\n\nБез нужного ключа появляется `Permission denied (publickey)`, а в FileZilla и WinSCP — `No supported authentication methods available (server sent: publickey)`. Ключ нового компьютера добавьте кнопкой «Добавить SSH-ключ»: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server). Вход по паролю снова включается кнопкой «Включить вход по паролю»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\n## После загрузки сайта: владелец и права доступа\n\nФайлы, загруженные под `root`, принадлежат `root` (а `rsync -a` даже сохраняет ID пользователя с вашего компьютера). Веб-сервер должен их читать, а приложение — записывать в свои папки (загрузки, кеш). Сделайте владельцем пользователя, от имени которого работает веб-сервер или PHP-FPM:\n\n| Система | nginx | Apache | PHP-FPM (по умолчанию) |\n|---|---|---|---|\n| Ubuntu, Debian | `www-data` | `www-data` | `www-data` |\n| AlmaLinux, CentOS Stream | `nginx` | `apache` | `apache` |\n\nФактический пользователь виден в строках, которые не начинаются с `root`:\n\n```bash\nps -eo user,comm | grep -E 'nginx|apache2|httpd|php-fpm'\n```\n\n### Ubuntu и Debian\n\n```bash\nchown -R www-data:www-data /var/www/site\nfind /var/www/site -type d -exec chmod 755 {} +\nfind /var/www/site -type f -exec chmod 644 {} +\n```\n\n### AlmaLinux и CentOS Stream\n\nТе же команды, но с пользователем из таблицы (например, `nginx:nginx` или `apache:apache`). Кроме того, здесь по умолчанию включён SELinux, который проверяет метку каждого файла. У файлов может оказаться неверная метка (например, файлы, перенесённые командой `mv` из `/root`, сохраняют старую), и тогда сайт отвечает `403 Forbidden`. После загрузки восстановите метки:\n\n```bash\nrestorecon -Rv /var/www/site\n```\n\nЧтобы приложение могло записывать в папку (например, `uploads`), SELinux требует для неё отдельную метку. Подставьте путь к своей папке:\n\n```bash\ndnf install -y policycoreutils-python-utils\nsemanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/site/uploads(/.*)?\"\nrestorecon -Rv /var/www/site\n```\n\nУстановка веб-сервера: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Долгие передачи: tmux или screen\n\nЕсли копирование `rsync` с вашего компьютера оборвалось, запустите ту же команду с `-P` ещё раз: `rsync` продолжит с того места, где остановился. Когда вы копируете **между двумя серверами** (например, со старого хостинга на новый сервер), запускайте копирование на сервере внутри сеанса `tmux`: если SSH-соединение оборвётся, копирование продолжится.\n\nУстановите `tmux`, если его нет. Ubuntu и Debian:\n\n```bash\napt update\napt install -y tmux\n```\n\nAlmaLinux и CentOS Stream (в стандартных репозиториях этих систем пакета `screen` нет):\n\n```bash\ndnf install -y tmux\n```\n\n| Действие | tmux | screen |\n|---|---|---|\n| начать сеанс | `tmux new -s transfer` | `screen -S transfer` |\n| выйти, не останавливая его | Ctrl + B, затем D | Ctrl + A, затем D |\n| вернуться после переподключения | `tmux attach -t transfer` | `screen -r transfer` |\n\nПример: команда ниже, запущенная в сеансе на новом сервере, забирает сайт со старого сервера. Будет запрошен пароль root старого сервера; если туда вы входите по ключу, следуйте руководству по переносу ниже.\n\n```bash\nrsync -avzP root@IP_СТАРОГО_СЕРВЕРА:/var/www/site/ /var/www/site/\n```\n\nПолный перенос: [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site).\n\n## Почему SFTP, а не FTP\n\n- На VPS, для которых вы выбираете операционную систему при заказе, FTP-сервер не установлен. SFTP работает сразу — через SSH, с учётными данными root.\n- FTP передаёт пароль и файлы в открытом виде, SFTP их шифрует. Не путайте SFTP с FTPS («FTP over TLS»): для FTPS нужен FTP-сервер.\n- Сетевая фильтрация, которой управляет BLACKBOX, по умолчанию пропускает только SSH (22), HTTP (80), HTTPS (443) и ping. Порты FTP-сервера, установленного вами, без запроса в поддержку будут недоступны из интернета: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n- На тарифах «VPS hosting» уточните в поддержке, есть ли FTP в панели управления на сервере: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n## Частые ошибки\n\n| Сообщение | Вероятная причина | Что делать |\n|---|---|---|\n| `Permission denied (publickey)` или `No supported authentication methods available (server sent: publickey)` | сервер «Только ключ», а ключ не настроен в клиенте или не установлен на сервере | укажите ключ (`-i`, «Key file», «Private key file») или добавьте его кнопкой «Добавить SSH-ключ» |\n| `Permission denied, please try again.` (FileZilla: `Authentication failed.`) | неверный пароль | скопируйте пароль через «Показать учётные данные»: [Просмотр учётных данных root](#acces.afisare-date-acces) |\n| FileZilla: `Could not connect to server`, в журнале порт 21 | выбран протокол FTP | выберите «SFTP - SSH File Transfer Protocol» и порт 22 |\n| `rsync: command not found` | `rsync` не установлен на сервере или на компьютере | установите его |\n| `No space left on device` | диск сервера заполнен | [Диск сервера заполнен](#faq.disc-plin) |\n| `No such file or directory` при загрузке | папки назначения нет на сервере | создайте её, как в разделе о `scp` |\n| после загрузки сайт отвечает `403 Forbidden` | неверный владелец, права доступа или метки SELinux | см. раздел о владельце и правах доступа |\n\nДругие проблемы с подключением: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Частые вопросы\n\n**Куда загружать файлы сайта?**\nВ папку, указанную в настройках веб-сервера (директива `root` у nginx, `DocumentRoot` у Apache), — обычно где-то в `/var/www/`.\n\n**Много мелких файлов копируются очень долго. Что делать?**\nУпакуйте папку в архив на компьютере, скопируйте его в `/root/` через `scp` и распакуйте на сервере. Сначала на компьютере, затем на сервере:\n\n```bash\ntar czf site.tar.gz site\n```\n\n```bash\ntar xzf /root/site.tar.gz -C /var/www/\n```\n\n**Как скачать свои данные перед удалением сервера?**\nС помощью `rsync` или `scp -r` в обратную сторону — с сервера на компьютер, для каждой важной папки. Базы данных сначала выгрузите в файл (дамп). Что стоит сохранить: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n",
    "en": "You copy files to and from the server over SSH too, with the same details you use to connect: the IP address, the user `root`, port 22, and the password or SSH key. You'll find the IP address in the app.blackbox.md panel, under “My Servers” (`app.blackbox.md/my-servers`; from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel) → “My Servers”), in the “IP” field on the server card.\n\n**Available to:** the blackbox.md account holder who has an active server and the root credentials (the password or an SSH key): [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). For dedicated servers, you agree on the access details with our team.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which tool to choose\n\n| Tool | Best for | Systems |\n|---|---|---|\n| `scp` | one file or folder, one time | macOS, Linux, Windows 10 and 11 |\n| `rsync` | large folders, repeated copies, resuming after an interruption | macOS, Linux; Windows through WSL |\n| `sftp` | a session in which you browse the server | macOS, Linux, Windows 10 and 11 |\n| FileZilla, WinSCP | working with the mouse, no commands | FileZilla: all; WinSCP: Windows |\n\nAll of them use SSH, so your data travels encrypted. You run the `scp`, `sftp` and `rsync` commands on your computer, not on the server. Replace `SERVER_IP` with your server's address.\n\n## scp: quick copy\n\n`scp` comes installed on macOS and Linux. On Windows 10 and 11, it is part of the OpenSSH client, along with `ssh` and `sftp`: run it in PowerShell, with the same syntax.\n\nUpload a file to `/root` on the server:\n\n```bash\nscp backup.zip root@SERVER_IP:/root/\n```\n\nThe destination directory must exist before you copy. A new server without a web server doesn't even have `/var/www`; create it from your computer:\n\n```bash\nssh root@SERVER_IP \"mkdir -p /var/www/site\"\n```\n\nUpload a folder with `-r` (`/var/www/site` appears on the server):\n\n```bash\nscp -r site root@SERVER_IP:/var/www/\n```\n\nDownload a file into the current directory (the dot at the end), and a whole folder:\n\n```bash\nscp root@SERVER_IP:/root/backup.tar.gz .\nscp -r root@SERVER_IP:/var/www/site ./site-backup\n```\n\nTo use a specific key, add `-i`. If SSH listens on a port other than 22 (for example, on another provider's server; BLACKBOX servers use port 22), add `-P`, with a capital P, unlike `ssh -p`:\n\n```bash\nscp -i ~/.ssh/id_ed25519 -P PORT backup.zip root@SERVER_IP:/root/\n```\n\nIn PowerShell, write local paths the Windows way:\n\n```powershell\nscp -r C:\\Users\\USERNAME\\Documents\\site root@SERVER_IP:/var/www/\n```\n\n## sftp: interactive session\n\nThe `-i` and `-P` options work the same way as with `scp`.\n\n```bash\nsftp root@SERVER_IP\n```\n\n| Command at the `sftp>` prompt | What it does |\n|---|---|\n| `ls`, `cd /var/www/site` | lists the directory and changes it on the server |\n| `lls`, `lcd site` | the same on your computer |\n| `put index.html`, `put -r assets` | uploads a file or a folder |\n| `get config.php`, `get -r uploads` | downloads a file or a folder |\n| `exit` | closes the session |\n\n## rsync: recommended for large folders and repeated copies\n\n`rsync` copies only the differences: on the second run, it transfers only new or changed files, and an interrupted copy picks up where it left off. It must be installed on both ends. macOS includes it; on Linux, install it from the package manager if it's missing; on Windows, run it from WSL (Windows Subsystem for Linux). Without WSL, use `scp` or WinSCP. If it's missing on the server, install it:\n\nUbuntu and Debian:\n\n```bash\napt update\napt install -y rsync\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y rsync\n```\n\nUpload the contents of the local `site` folder to `/var/www/site`:\n\n```bash\nrsync -avz --progress site/ root@SERVER_IP:/var/www/site/\n```\n\n| Option | What it does |\n|---|---|\n| `-a` | copies recursively, keeping permissions, modification times and symbolic links |\n| `-v`, `--progress` | shows the files and the progress |\n| `-z` | compresses data in transit; helps with text, not with archives, images or video |\n| `--partial` | keeps a partially copied file so that the next run can continue it |\n| `-P` | `--partial --progress` (with `scp`, `-P` is the port) |\n| `-n` | dry run (`--dry-run`): shows what would happen, without changing anything |\n| `--delete` | deletes files from the destination that no longer exist in the source |\n\nThe trailing slash on the source matters: `site/` copies the folder's contents, while `site` adds an extra level, `/var/www/site/site`.\n\nA large file, with resume (if the connection drops, run the same command again):\n\n```bash\nrsync -avP backup.tar.gz root@SERVER_IP:/root/\n```\n\nDownload a folder from the server:\n\n```bash\nrsync -avz --progress root@SERVER_IP:/var/www/site/ ./site-backup/\n```\n\nTo use a different port or a specific key, pass them with `-e`:\n\n```bash\nrsync -avz --progress -e \"ssh -p PORT -i ~/.ssh/id_ed25519\" site/ root@SERVER_IP:/var/www/site/\n```\n\n### An exact copy with `--delete`\n\nTo make files you deleted locally disappear from the server as well, add `--delete`. Do a dry run with `-n` first: the `deleting …` lines are the files that will be deleted.\n\n```bash\nrsync -avzn --delete site/ root@SERVER_IP:/var/www/site/\n```\n\nIf the list is correct, run the same command without the `n`:\n\n```bash\nrsync -avz --delete site/ root@SERVER_IP:/var/www/site/\n```\n\n> **Risk**\n> With `--delete`, a path mistake (a missing slash, the source and destination swapped, an empty local folder) can delete the files on the server, and BLACKBOX does not make automatic backups of your server. Run the command with `-n` first, and make a backup beforehand: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## FileZilla (Windows, macOS, Linux)\n\nFileZilla Client is free: [the official FileZilla website](https://filezilla-project.org/). The labels below are from the English interface; in the Romanian or Russian interface, they are translated.\n\n1. Open “File” → “Site Manager...” and click “New site”.\n2. Fill in:\n   - “Protocol”: “SFTP - SSH File Transfer Protocol” (not “FTP”);\n   - “Host”: the IP address; “Port”: `22`; “User”: `root`;\n   - “Logon Type”: “Normal”, with the root password in “Password”, or “Key file”, with the private key selected through “Browse...” (a `.ppk` file or an OpenSSH key, for example `id_ed25519`). On macOS, the `.ssh` folder is hidden: in the file picker, press Cmd + Shift + G and type `~/.ssh`. If FileZilla offers to convert the key, accept.\n3. Click “Connect”.\n4. The first time you connect, “Unknown host key” appears: check “Always trust this host, add this key to the cache” and click “OK”.\n5. Drag files between the left pane (your computer) and the right pane (the server).\n\nYou can add the key once for all SFTP connections: “Edit” → “Settings...” (on macOS: “FileZilla” → “Settings...”) → “Connection” → “SFTP” → “Add key file...”.\n\nIn the “Quickconnect” bar, either enter `sftp://SERVER_IP` in “Host” or enter `22` in “Port”. Otherwise, FileZilla tries FTP and the connection fails.\n\n## WinSCP (Windows)\n\nWinSCP is free: [the official WinSCP website](https://winscp.net/). The labels below are also from the English interface. When WinSCP starts, the “Login” window opens.\n\n1. Select “New Site” and fill in: “File protocol”: “SFTP”; “Host name”: the IP address; “Port number”: `22`; “User name”: `root`; “Password”: the root password (on a “Password + key” server).\n2. For a key: “Advanced...” → “SSH” → “Authentication” → “Private key file”, and choose the `.ppk` file you use in PuTTY. If you choose an OpenSSH key, WinSCP offers to convert it to `.ppk`: accept. Click “OK”.\n3. Click “Save”, then “Login”.\n4. The first time you connect, confirm the server's key with “Accept” (“Yes” in older versions).\n5. Drag files between the left pane (your computer) and the right pane (the server).\n\n## “Key-only” servers\n\nOn a server with the “Key-only” badge (on its card in “My Servers”), the root password doesn't work over SSH, so it doesn't work in `scp`, `sftp`, `rsync`, FileZilla or WinSCP either. Set up the key in your client:\n\n- `scp`, `sftp` and `rsync` try the standard keys in `~/.ssh` on their own (for example `id_ed25519`); specify a different key with `-i` (for `rsync`, inside `-e`);\n- FileZilla: “Logon Type” “Key file”, or the key in “Settings”; WinSCP: “Private key file”.\n\nWithout the right key, you get `Permission denied (publickey)`, and in FileZilla and WinSCP, `No supported authentication methods available (server sent: publickey)`. To add a new computer's key, use “Add SSH key”: [Adding and removing SSH keys on the server](#acces.chei-ssh-server). To turn password login back on, use “Enable password login”: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\n## After uploading a site: owner and permissions\n\nFiles uploaded as `root` belong to `root` (and `rsync -a` even keeps the user ID from your computer). The web server must be able to read them, and the application must be able to write to its own directories (uploads, cache). Give ownership to the user that the web server or PHP-FPM runs as:\n\n| System | nginx | Apache | PHP-FPM (default) |\n|---|---|---|---|\n| Ubuntu, Debian | `www-data` | `www-data` | `www-data` |\n| AlmaLinux, CentOS Stream | `nginx` | `apache` | `apache` |\n\nThe actual user appears on the lines that don't start with `root`:\n\n```bash\nps -eo user,comm | grep -E 'nginx|apache2|httpd|php-fpm'\n```\n\n### Ubuntu and Debian\n\n```bash\nchown -R www-data:www-data /var/www/site\nfind /var/www/site -type d -exec chmod 755 {} +\nfind /var/www/site -type f -exec chmod 644 {} +\n```\n\n### AlmaLinux and CentOS Stream\n\nUse the same commands with the user from the table (for example `nginx:nginx` or `apache:apache`). In addition, SELinux is active by default and checks the label of every file. Files can end up with the wrong label (for example, files moved with `mv` from `/root` keep their old label), and then the site responds with `403 Forbidden`. After uploading, restore the labels:\n\n```bash\nrestorecon -Rv /var/www/site\n```\n\nFor the application to be able to write to a directory (for example `uploads`), SELinux requires a separate label for it. Replace the path with your own directory:\n\n```bash\ndnf install -y policycoreutils-python-utils\nsemanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/site/uploads(/.*)?\"\nrestorecon -Rv /var/www/site\n```\n\nInstalling the web server: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Long transfers: tmux or screen\n\nWhen you copy from your computer, you resume an interrupted `rsync` copy by running the same command again with `-P`. When you copy **between two servers** (for example, from your old hosting to the new server), run the copy on the server inside a `tmux` session: if the SSH connection drops, the copy keeps going.\n\nInstall `tmux` if it's missing. Ubuntu and Debian:\n\n```bash\napt update\napt install -y tmux\n```\n\nAlmaLinux and CentOS Stream (on these systems, `screen` is not in the standard repositories):\n\n```bash\ndnf install -y tmux\n```\n\n| Action | tmux | screen |\n|---|---|---|\n| start a session | `tmux new -s transfer` | `screen -S transfer` |\n| leave without stopping it | Ctrl + B, then D | Ctrl + A, then D |\n| return after reconnecting | `tmux attach -t transfer` | `screen -r transfer` |\n\nExample: the command below, run inside the session on the new server, pulls the site from the old server. It asks for the old server's root password; if you log in there with a key, follow the moving guide linked below.\n\n```bash\nrsync -avzP root@OLD_SERVER_IP:/var/www/site/ /var/www/site/\n```\n\nThe complete move: [Moving a site to a BLACKBOX server](#ghiduri.migrare-site).\n\n## Why SFTP and not FTP\n\n- VPS servers for which you choose the operating system when you order come with no FTP server installed. SFTP works right away, over SSH, with the root credentials.\n- FTP sends the password and the files unencrypted; SFTP encrypts them. Don't confuse SFTP with FTPS (“FTP over TLS”), which requires an FTP server.\n- The network filtering managed by BLACKBOX lets through only SSH (22), HTTP (80), HTTPS (443) and ping by default. The ports of an FTP server you install yourself would not be reachable from the internet without a request to support: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n- On “VPS hosting” plans, ask support whether the control panel on the server includes FTP: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\n## Common errors\n\n| Message | Likely cause | What to do |\n|---|---|---|\n| `Permission denied (publickey)` or `No supported authentication methods available (server sent: publickey)` | a “Key-only” server; the key is not set up in the client or not installed on the server | specify the key (`-i`, “Key file”, “Private key file”) or add it with “Add SSH key” |\n| `Permission denied, please try again.` (FileZilla: `Authentication failed.`) | wrong password | copy the password with “Reveal credentials”: [Showing root credentials](#acces.afisare-date-acces) |\n| FileZilla: `Could not connect to server`, with port 21 in the log | the FTP protocol was selected | choose “SFTP - SSH File Transfer Protocol”, port 22 |\n| `rsync: command not found` | `rsync` is missing on the server or on your computer | install it |\n| `No space left on device` | the server's disk is full | [The server's disk is full](#faq.disc-plin) |\n| `No such file or directory` when uploading | the destination directory doesn't exist on the server | create it, as shown in the `scp` section |\n| `403 Forbidden` on the site after uploading | wrong owner, permissions or SELinux labels | see the section on owner and permissions |\n\nOther connection problems: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n## Frequently asked questions\n\n**Where do I put the site's files?**\nIn the directory set in the web server's configuration (`root` in nginx, `DocumentRoot` in Apache), usually under `/var/www/`.\n\n**Copying lots of small files takes a long time. What can I do?**\nMake an archive on your computer, copy it to `/root/` with `scp`, and extract it on the server. On your computer, then on the server:\n\n```bash\ntar czf site.tar.gz site\n```\n\n```bash\ntar xzf /root/site.tar.gz -C /var/www/\n```\n\n**How do I download my data before deleting the server?**\nUse `rsync` or `scp -r` in the opposite direction, from the server to your computer, for each important directory. Export your databases to a file (a dump) first. What to include: [Backup strategy for your server](#ghiduri.strategie-backup).\n"
   }
  },
  {
   "id": "ghiduri.acces-colegi",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/acces-colegi/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/acces-colegi/",
    "en": "https://docs.blackbox.md/en/ghiduri/acces-colegi/"
   },
   "title": {
    "ro": "Acces la server pentru colegi și dezvoltatori externi",
    "ru": "Доступ к серверу для коллег и внешних разработчиков",
    "en": "Server access for colleagues and outside developers"
   },
   "summary": {
    "ro": "Cum dați acces la server unui coleg sau unui freelancer fără să împărțiți contul, parola root sau token-urile: chei SSH, utilizatori separați, acces doar prin SFTP și retragerea accesului.",
    "ru": "Как дать доступ к серверу коллеге или фрилансеру, не передавая аккаунт, пароль root и токены: SSH-ключи, отдельные пользователи, доступ только по SFTP и отзыв доступа.",
    "en": "How to give a colleague or a freelancer access to your server without sharing your account, the root password or tokens: SSH keys, separate users, SFTP-only access and revoking access."
   },
   "markdown": {
    "ro": "Ghidul arată cum dați acces la server unui coleg sau unui dezvoltator extern fără să împărțiți contul blackbox.md, parola root sau token-urile API. Cheia colegului pentru `root` o adăugați în panoul app.blackbox.md, pe cardul serverului din „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Utilizatorii separați și accesul doar prin SFTP se configurează pe server, prin SSH, ca `root`.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul sau un cont căruia BLACKBOX i-a acordat drept de administrare pentru server (pașii din panou) și oricine are acces `root` prin SSH la server (pașii de pe server). Pe cardurile marcate „Administrat” butoanele „Adaugă cheie SSH” și „Resetează parola” nu apar; pentru aceste servere scrieți-ne.\n\n## Ce există în cont și în panou\n\n- Contul blackbox.md și panoul nu au membri de echipă, sub-utilizatori, roluri sau invitații trimise de clienți. Fiecare persoană folosește propriul cont blackbox.md.\n- Un coleg cu cont propriu nu vede comenzile, facturile, tichetele sau serverele dvs. și nu intră în panou în locul dvs. Pentru acces prin SSH sau SFTP nu are nevoie de cont.\n- Accesul comun la serverele unei companii administrate de BLACKBOX (cardurile „Administrat”) se acordă doar la cerere, prin suport: [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala).\n- Lista „Chei instalate” și butonul „Adaugă cheie SSH” lucrează doar cu fișierul `/root/.ssh/authorized_keys`. Cheile altor utilizatori Linux le gestionați direct pe server.\n\n## Ce nu împărțiți niciodată\n\n| Nu dați | De ce |\n|---|---|\n| Parola contului blackbox.md | Cu ea se plasează și se plătesc comenzi, se deschide panoul și se creează token-uri API. |\n| Parola root | Dă control total asupra serverului, iar cu o parolă comună nu se vede cine a lucrat. |\n| Token-urile API (`bbx_pat_…`) | Acționează ca titularul contului: cu permisiunea `servers:exec` rulează orice comandă ca root, iar cu `orders:write` plasează comenzi și plătește din sold ([Permisiunile token-urilor (scopes)](#ai.permisiuni)). |\n| Codurile de recuperare 2FA | Înlocuiesc codul din aplicația de autentificare la intrarea în panou. |\n| Cheile private SSH | O cheie privată nu pleacă de pe calculatorul proprietarului: nu o trimiteți pe a dvs. și nu acceptați cheia privată a altcuiva. |\n\nConform [Termenilor și condițiilor](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), răspundeți integral pentru activitatea tuturor persoanelor pe care le autorizați să acceseze serviciile (angajați, contractori) și pentru securizarea parolelor, cheilor SSH și token-urilor API.\n\nColegul își generează propria pereche de chei ([Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) și vă trimite doar cheia publică: o singură linie din fișierul `.pub`. Rugați-l să-și pună numele în comentariul cheii, ca s-o recunoașteți în „Chei instalate”:\n\n```bash\nssh-keygen -t ed25519 -C \"NUME_COLEG\"\n```\n\nCereți-i și amprenta cheii, ca s-o comparați cu cea instalată pe server. Pe macOS și Linux:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nPe Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\n## Ce acces alegeți\n\n| De ce are nevoie colegul | Soluția | Unde |\n|---|---|---|\n| Administrare completă a serverului | Cheia lui publică pentru `root`, adăugată cu „Adaugă cheie SSH” → „Lipește o cheie nouă”; o ștergeți din „Chei instalate” | panou |\n| Administrare cu login propriu, ca să se vadă cine ce a făcut | Utilizator Linux separat, în grupul `sudo` (Ubuntu, Debian) sau `wheel` (AlmaLinux, CentOS Stream) | server |\n| Doar fișierele site-ului | Utilizator doar pentru SFTP, limitat la directorul site-ului | server |\n| Doar baza de date | Utilizator separat fără `sudo` și tunel SSH ([Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date)) | server |\n\n## Cheia colegului pentru root, din panou\n\n1. Pe cardul serverului din „Serverele mele”, apăsați „Adaugă cheie SSH”.\n2. Alegeți „Lipește o cheie nouă” și lipiți linia primită de la coleg (`ssh-ed25519 AAAA… NUME_COLEG`).\n3. Apăsați „Adaugă cheia”. Apare „Cheie adăugată.”, iar cheia apare în „Chei instalate”, cu comentariul ei.\n4. Comparați începutul amprentei din listă cu amprenta trimisă de coleg.\n5. Colegul se conectează:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\nCheia lipită se instalează doar pe acest server și nu se salvează în contul dvs. Lista și mesajele ei: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n\n> **Important**\n> O cheie pentru `root` înseamnă control total: colegul poate citi toate datele, poate adăuga alte chei și utilizatori și poate schimba orice setare. Rugați-l să nu șteargă „Cheie de administrare (blackbox.md)” și să nu seteze `PermitRootLogin no`: oricare dintre aceste acțiuni oprește resetarea parolei, gestionarea cheilor și butoanele de autentificare cu parolă din panou ([Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox)).\n\n## Utilizator Linux separat pentru coleg\n\nUn utilizator separat are login propriu: în jurnale apar numele lui și comenzile rulate cu `sudo`. Pașii seamănă cu pasul 5 din [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou), dar pe server ajunge cheia colegului, nu cheile lui `root`. Rulați comenzile ca `root`.\n\n### Ubuntu și Debian\n\n```bash\nadduser --disabled-password NUME_UTILIZATOR\n```\n\nComanda creează și directorul `/home/NUME_UTILIZATOR`. Câmpurile cerute (nume complet, telefon etc.) le puteți lăsa goale. Utilizatorul nu are parolă și se conectează doar cu cheia.\n\n### AlmaLinux și CentOS Stream\n\n```bash\nuseradd -m NUME_UTILIZATOR\n```\n\nNici aici utilizatorul nu primește parolă: se conectează doar cu cheia.\n\n### Cheia publică a colegului\n\n1. Creați directorul și deschideți fișierul cheilor:\n\n   ```bash\n   mkdir -p /home/NUME_UTILIZATOR/.ssh\n   nano /home/NUME_UTILIZATOR/.ssh/authorized_keys\n   ```\n\n   Dacă `nano` lipsește (se poate întâmpla pe AlmaLinux și CentOS Stream), instalați-l:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n2. Lipiți pe un singur rând cheia publică a colegului, salvați cu Ctrl + O și Enter, apoi ieșiți cu Ctrl + X.\n3. Setați proprietarul și drepturile:\n\n   ```bash\n   chown -R NUME_UTILIZATOR:NUME_UTILIZATOR /home/NUME_UTILIZATOR/.ssh\n   chmod 700 /home/NUME_UTILIZATOR/.ssh\n   chmod 600 /home/NUME_UTILIZATOR/.ssh/authorized_keys\n   ```\n\n   Pe AlmaLinux și CentOS Stream refaceți și eticheta SELinux:\n\n   ```bash\n   restorecon -R /home/NUME_UTILIZATOR/.ssh\n   ```\n\n4. Comparați amprenta afișată cu cea trimisă de coleg:\n\n   ```bash\n   ssh-keygen -lf /home/NUME_UTILIZATOR/.ssh/authorized_keys\n   ```\n\nNu copiați `/root/.ssh/authorized_keys` la utilizatorul nou: acolo sunt cheile dvs. și cheile BLACKBOX.\n\n### Drepturi de administrare (doar dacă sunt necesare)\n\nMembrii grupului `sudo` (Ubuntu, Debian) sau `wheel` (AlmaLinux, CentOS Stream) pot rula orice comandă ca `root`. `sudo` cere parola utilizatorului, așa că setați-i una.\n\nUbuntu și Debian:\n\n```bash\npasswd NUME_UTILIZATOR\nusermod -aG sudo NUME_UTILIZATOR\n```\n\nPe Debian, dacă lipsește comanda `sudo`, instalați-o:\n\n```bash\napt install -y sudo\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\npasswd NUME_UTILIZATOR\nusermod -aG wheel NUME_UTILIZATOR\n```\n\nTransmiteți parola separat de restul datelor de acces și rugați colegul s-o schimbe cu `passwd` la prima conectare. Pe un server „Parolă + cheie”, cu această parolă colegul s-ar putea conecta și prin SSH; trecerea la „Doar cheie”: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). Comenzile rulate cu `sudo` le vedeți în jurnal:\n\n```bash\njournalctl _COMM=sudo\n```\n\n### Prima conectare\n\nTestați conectarea împreună cu colegul înainte să-i predați accesul, cu sesiunea dvs. `root` deschisă. În ea urmăriți jurnalul SSH. Pe Ubuntu și Debian:\n\n```bash\njournalctl -u ssh -f\n```\n\nPe AlmaLinux și CentOS Stream:\n\n```bash\njournalctl -u sshd -f\n```\n\nColegul se conectează:\n\n```bash\nssh NUME_UTILIZATOR@IP_SERVER\n```\n\nÎn jurnal apare o linie `Accepted publickey for NUME_UTILIZATOR`, cu amprenta cheii; opriți urmărirea cu Ctrl + C. Dacă i-ați dat drepturi de administrare, colegul rulează comanda de mai jos, care trebuie să afișeze `root`:\n\n```bash\nsudo whoami\n```\n\nPe un server „Doar cheie”, colegul se conectează doar cu cheia. Nu reactivați autentificarea cu parolă pentru el: „Activează login cu parolă” o pornește pentru toți utilizatorii, inclusiv `root`.\n\n### Doar baza de date\n\nCreați utilizatorul ca mai sus, fără drepturi de administrare. Ca el să poată deschide doar tunelul, nu și un terminal:\n\n```bash\nusermod -s /usr/sbin/nologin NUME_UTILIZATOR\n```\n\nColegul pornește tunelul cu numele lui de utilizator (pentru PostgreSQL, înlocuiți 3306 cu 5432):\n\n```bash\nssh -N -L 3306:127.0.0.1:3306 NUME_UTILIZATOR@IP_SERVER\n```\n\nTunelul trece prin portul SSH (22), deci portul bazei de date nu trebuie deschis. În baza de date creați-i un utilizator separat, doar cu drepturile de care are nevoie: [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date).\n\n## Acces doar prin SFTP la fișierele site-ului (opțional)\n\nColegul poate doar încărca și descărca fișiere în directorul site-ului: nu primește terminal și nu poate deschide tuneluri. Exemplul presupune site-ul în `/var/www/DOMENIU`. SSH îl limitează pe coleg la directorul `/srv/sftp/NUME_UTILIZATOR`, care aparține lui `root` și pe care colegul nu îl poate modifica. În el, subdirectorul `site` arată directorul site-ului, unde colegul poate scrie.\n\nPe planurile „VPS hosting”, întrebați întâi suportul: panoul de control de pe server poate avea propriile conturi și setări SFTP ([Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou)).\n\n> **Atenție**\n> Pașii 4 și 5 modifică setările SSH. Păstrați deschisă sesiunea `root` curentă până vă conectați din nou ca `root` dintr-un terminal nou. Clienții nu au consolă web sau VNC: dacă pierdeți accesul SSH, vă poate ajuta doar suportul.\n\n1. Creați grupul (o singură dată, pentru toți utilizatorii SFTP) și utilizatorul.\n\n   Ubuntu și Debian:\n\n   ```bash\n   groupadd sftponly\n   adduser --disabled-password --shell /usr/sbin/nologin NUME_UTILIZATOR\n   usermod -aG sftponly NUME_UTILIZATOR\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   groupadd sftponly\n   useradd -m -s /usr/sbin/nologin -G sftponly NUME_UTILIZATOR\n   ```\n\n   Adăugați apoi cheia colegului ca în secțiunea „Cheia publică a colegului” de mai sus.\n\n2. Creați directorul colegului și faceți o copie a fișierului `/etc/fstab`:\n\n   ```bash\n   mkdir -p /srv/sftp/NUME_UTILIZATOR/site\n   chown root:root /srv/sftp /srv/sftp/NUME_UTILIZATOR\n   chmod 755 /srv/sftp /srv/sftp/NUME_UTILIZATOR\n   cp /etc/fstab /etc/fstab.bak\n   nano /etc/fstab\n   ```\n\n   La sfârșitul fișierului `/etc/fstab` adăugați linia de mai jos și salvați:\n\n   ```text\n   /var/www/DOMENIU /srv/sftp/NUME_UTILIZATOR/site none bind,nofail 0 0\n   ```\n\n   Montați directorul site-ului și verificați că vedeți fișierele lui:\n\n   ```bash\n   systemctl daemon-reload\n   mount /srv/sftp/NUME_UTILIZATOR/site\n   ls /srv/sftp/NUME_UTILIZATOR/site\n   ```\n\n   Linia din `/etc/fstab` refăce montarea după fiecare repornire. Cu `nofail`, o greșeală în ea nu oprește pornirea serverului.\n\n3. Permiteți scrierea în site. Fișierele site-ului trebuie să aparțină utilizatorului serverului web: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere), secțiunea „După încărcarea unui site: proprietarul și permisiunile”. Aflați grupul lor:\n\n   ```bash\n   stat -c '%U:%G' /var/www/DOMENIU\n   ```\n\n   De regulă rezultatul este `www-data:www-data` pe Ubuntu și Debian și `apache:apache` sau `nginx:nginx` pe AlmaLinux și CentOS Stream. Dacă vedeți `root:root`, schimbați întâi proprietarul ca în secțiunea indicată. Apoi rulați comenzile de mai jos, cu grupul de după `:` în loc de `GRUP_WEB`:\n\n   ```bash\n   usermod -aG GRUP_WEB NUME_UTILIZATOR\n   chmod -R g+w /var/www/DOMENIU\n   find /var/www/DOMENIU -type d -exec chmod g+s {} +\n   ```\n\n   Fișierele încărcate de coleg îi aparțin lui și grupului serverului web, care le poate citi. Dacă aplicația trebuie să le și modifice, refaceți proprietarul ca în ghidul de transfer, apoi rulați din nou ultimele două comenzi.\n\n4. Faceți o copie a setărilor SSH și deschideți fișierul principal:\n\n   ```bash\n   cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak\n   nano /etc/ssh/sshd_config\n   ```\n\n   Adăugați la **sfârșitul** fișierului blocul de mai jos și salvați:\n\n   ```text\n   Match Group sftponly\n       ChrootDirectory /srv/sftp/%u\n       ForceCommand internal-sftp -d /site\n       AllowTcpForwarding no\n       X11Forwarding no\n   ```\n\n   Blocul trebuie să rămână ultimul din fișier: tot ce urmează după `Match` se aplică doar grupului `sftponly`. `%u` se înlocuiește cu numele utilizatorului, iar `-d /site` îl deschide pe coleg direct în directorul site-ului.\n\n   - Nu adăugați `PasswordAuthentication` în bloc: autentificarea cu parolă o controlați din panou.\n   - Nu setați `PermitRootLogin no` și nu modificați fișierul scris de panou în `/etc/ssh/sshd_config.d/`.\n\n5. Verificați setările:\n\n   ```bash\n   sshd -t\n   ```\n\n   Dacă comanda nu afișează nimic, setările sunt corecte. Abia apoi reîncărcați SSH:\n\n   ```bash\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n   Dacă `sshd -t` afișează o eroare, nu reîncărcați SSH: corectați fișierul sau restaurați copia, apoi verificați din nou cu `sshd -t`.\n\n   ```bash\n   cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config\n   ```\n\n6. Dintr-un terminal nou, verificați că vă conectați în continuare ca `root`. Apoi rugați colegul să se conecteze cu un client SFTP, de exemplu FileZilla sau WinSCP, cu utilizatorul `NUME_UTILIZATOR` și cheia lui, sau din terminal:\n\n   ```bash\n   sftp NUME_UTILIZATOR@IP_SERVER\n   ```\n\n   Colegul ajunge în `/site` și nu vede nimic în afara directorului `/srv/sftp/NUME_UTILIZATOR`. Dacă încearcă `ssh`, primește „This service allows sftp connections only.” și conexiunea se închide.\n\nDacă ceva nu merge, citiți ultimele mesaje ale serviciului SSH. Pe Ubuntu și Debian:\n\n```bash\njournalctl -u ssh -n 50\n```\n\nPe AlmaLinux și CentOS Stream:\n\n```bash\njournalctl -u sshd -n 50\n```\n\n| Problemă | Cauză | Ce faceți |\n|---|---|---|\n| Conexiunea se închide imediat; în jurnal apare `bad ownership or modes for chroot directory` | `/srv/sftp` sau `/srv/sftp/NUME_UTILIZATOR` nu aparține lui `root` ori poate fi modificat de alții | Repetați comenzile `chown` și `chmod` de la pasul 2 |\n| `Permission denied` la încărcarea unui fișier | Colegul nu este în grupul serverului web sau directorul nu permite scrierea grupului | Repetați pasul 3; colegul se reconectează, ca să i se aplice grupul nou |\n| Directorul `/site` este gol | Directorul site-ului nu este montat | Rulați din nou comanda `mount` de la pasul 2 |\n| AlmaLinux sau CentOS Stream: conectarea eșuează, fără mesajele de mai sus | Poate fi o blocare SELinux | Căutați cauza în jurnalul serviciului `sshd` (comanda de mai sus); dacă nu o găsiți, scrieți-ne |\n\n## Retragerea accesului\n\nCând lucrarea s-a încheiat sau persoana pleacă, retrageți accesul imediat.\n\n### Cheia de pe root\n\n1. Pe cardul serverului, apăsați „Adaugă cheie SSH”.\n2. În „Chei instalate”, găsiți cheia colegului după comentariu și amprentă și apăsați „Șterge”.\n3. Confirmați „Ștergeți cheia SHA256:… de pe acest server?” cu „OK”. Apare „Cheie ștearsă.”\n4. Apăsați „Resetează parola” și confirmați „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.”: cât a avut acces, colegul ar fi putut schimba parola root ([Resetarea parolei root](#acces.resetare-parola-root)).\n\n### Utilizatorul separat\n\nÎnchideți sesiunile lui deschise:\n\n```bash\npkill -KILL -u NUME_UTILIZATOR\n```\n\nApoi ștergeți utilizatorul împreună cu directorul lui. Ubuntu și Debian:\n\n```bash\ndeluser --remove-home NUME_UTILIZATOR\n```\n\nAlmaLinux și CentOS Stream (și Ubuntu sau Debian, dacă `deluser` cere pachetul `perl`):\n\n```bash\nuserdel -r NUME_UTILIZATOR\n```\n\n### Utilizatorul doar SFTP\n\nÎnchideți întâi sesiunile lui cu `pkill`, ca mai sus. Înainte să ștergeți utilizatorul, demontați directorul site-ului, ștergeți linia lui din `/etc/fstab` și eliminați directoarele rămase goale:\n\n```bash\numount /srv/sftp/NUME_UTILIZATOR/site\nnano /etc/fstab\nrmdir /srv/sftp/NUME_UTILIZATOR/site /srv/sftp/NUME_UTILIZATOR\n```\n\n> **Risc**\n> Nu folosiți `rm -r` în `/srv/sftp`. Cât timp directorul site-ului este montat acolo, comanda ar șterge chiar fișierele site-ului. `rmdir` șterge doar directoare goale, deci refuză dacă montarea este încă activă.\n\n### Verificări după plecare\n\n1. Căutați chei, utilizatori și drepturi de administrare pe care nu le recunoașteți. „Chei instalate” arată doar cheile lui `root`.\n\n   ```bash\n   cat /root/.ssh/authorized_keys\n   ls -la /home/*/.ssh/authorized_keys\n   ls -la /etc/sudoers.d/\n   getent group sudo wheel\n   ```\n\n2. Schimbați secretele pe care persoana le-a cunoscut: parolele bazelor de date (ștergeți și utilizatorul bazei creat pentru ea), cheile aplicațiilor, de exemplu din `.env` sau `wp-config.php`, parolele SMTP și cheile serviciilor externe.\n3. Verificați autentificările recente:\n\n   ```bash\n   last -n 20\n   ```\n\n   Pe Ubuntu și Debian:\n\n   ```bash\n   journalctl -u ssh --since \"30 days ago\" | grep Accepted\n   ```\n\n   Pe AlmaLinux și CentOS Stream:\n\n   ```bash\n   journalctl -u sshd --since \"30 days ago\" | grep Accepted\n   ```\n\n   Liniile `Accepted` arată utilizatorul, adresa IP și metoda de autentificare. Dacă `last` lipsește, folosiți doar `journalctl`.\n\nDacă bănuiți că accesul a fost folosit abuziv, urmați [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n## Întrebări frecvente\n\n**Poate colegul să vadă serverul în panoul lui?**\nNu. Un server comandat pe blackbox.md apare doar în contul care l-a comandat și nu se poate partaja în panou. Doar serverele unei companii administrate de BLACKBOX se pot partaja, la cerere, prin suport ([Cum contactați suportul BLACKBOX](#suport.contact)).\n\n**Freelancerul îmi cere parola root sau datele contului. Ce fac?**\nNu le dați. Adăugați-i cheia publică pentru `root` sau creați-i un utilizator separat. Dacă le-ați dat deja, apăsați „Resetează parola” pe cardul serverului și schimbați parola contului, ceea ce oprește și token-urile API create înainte ([Recomandări de securitate pentru contul dvs.](#cont.securitate-cont)). Apoi faceți verificările din secțiunea „Verificări după plecare”.\n\n**Cum știu a cui este o cheie din „Chei instalate”?**\nLista arată începutul amprentei, tipul și comentariul cheii. Rugați colegul să-și pună numele în comentariu când generează cheia și comparați amprenta cu cea trimisă de el: comentariul îl poate scrie oricine, amprenta nu se poate falsifica.\n\n**Îi pot da colegului un token API pentru asistentul AI?**\nNu o faceți. Token-ul acționează în numele dvs., ca titular al contului: cu `servers:exec` rulează comenzi ca root pe toate serverele dvs., iar cu `orders:write` plasează comenzi și plătește din sold. Colegul lucrează cu propriul acces SSH.\n\n**Colegul are nevoie de cont pe blackbox.md?**\nNu. Pentru SSH sau SFTP îi ajung cheia lui și accesul pe care i-l dați pe server. Un cont propriu nu îi arată serverele dvs.\n",
    "ru": "В этом руководстве — как дать доступ к серверу коллеге или внешнему разработчику, не передавая аккаунт blackbox.md, пароль root и API-токены. Ключ коллеги для `root` добавляется в панели app.blackbox.md, в карточке сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»). Отдельные пользователи и доступ только по SFTP настраиваются на самом сервере по SSH под `root`.\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер, или аккаунту, которому BLACKBOX выдал права на управление сервером (действия в панели), а также всем, у кого есть доступ `root` к серверу по SSH (действия на сервере). В карточках с отметкой «Обслуживается» кнопок «Добавить SSH-ключ» и «Сбросить пароль» нет — по таким серверам напишите нам.\n\n## Что есть в аккаунте и панели\n\n- В аккаунте blackbox.md и в панели нет участников команды, подпользователей, ролей и приглашений, которые мог бы отправить клиент. Каждый человек пользуется собственным аккаунтом blackbox.md.\n- Коллега со своим аккаунтом не видит ваших заказов, счетов, тикетов и серверов и не может войти в панель вместо вас. Для доступа по SSH или SFTP аккаунт ему не нужен.\n- Общий доступ к серверам компании, которые обслуживает BLACKBOX (карточки «Обслуживается»), открывается только по запросу через поддержку: [Страница «Обзор» (Overview)](#servere.prezentare-generala).\n- Список «Установленные ключи» и кнопка «Добавить SSH-ключ» работают только с файлом `/root/.ssh/authorized_keys`. Ключами других пользователей Linux управляйте прямо на сервере.\n\n## Что нельзя передавать никогда\n\n| Не передавайте | Почему |\n|---|---|\n| Пароль аккаунта blackbox.md | С ним оформляют и оплачивают заказы, открывают панель и создают API-токены. |\n| Пароль root | Даёт полный контроль над сервером, а при общем пароле не видно, кто именно работал. |\n| API-токены (`bbx_pat_…`) | Действуют от имени владельца аккаунта: с разрешением `servers:exec` выполняют любые команды от root, с `orders:write` оформляют заказы и платят с баланса ([Разрешения токенов (scopes)](#ai.permisiuni)). |\n| Коды восстановления 2FA | Заменяют код из приложения-аутентификатора при входе в панель. |\n| Приватные SSH-ключи | Приватный ключ не покидает компьютер владельца: не отправляйте свой и не принимайте чужой. |\n\nСогласно [Условиям использования](https://blackbox.md/ru/info/terms#raspunderea-clientilor) (§3), вы несёте полную ответственность за действия всех, кому открываете доступ к услугам (сотрудников, подрядчиков), и за защиту паролей, SSH-ключей и API-токенов.\n\nКоллега сам создаёт пару ключей ([Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) и присылает вам только публичный ключ — одну строку из файла `.pub`. Попросите его указать в комментарии ключа своё имя, чтобы вы узнали ключ в списке «Установленные ключи»:\n\n```bash\nssh-keygen -t ed25519 -C \"ИМЯ_КОЛЛЕГИ\"\n```\n\nПопросите и отпечаток ключа, чтобы сверить его с тем, что окажется на сервере. В macOS и Linux:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nВ Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\n## Какой доступ выбрать\n\n| Что нужно коллеге | Решение | Где |\n|---|---|---|\n| Полное администрирование сервера | Его публичный ключ для `root`, добавленный через «Добавить SSH-ключ» → «Вставить новый ключ»; удаляется в списке «Установленные ключи» | панель |\n| Администрирование под собственным логином, чтобы было видно, кто что сделал | Отдельный пользователь Linux в группе `sudo` (Ubuntu, Debian) или `wheel` (AlmaLinux, CentOS Stream) | сервер |\n| Только файлы сайта | Пользователь только для SFTP, ограниченный каталогом сайта | сервер |\n| Только база данных | Отдельный пользователь без `sudo` и SSH-туннель ([Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date)) | сервер |\n\n## Ключ коллеги для root через панель\n\n1. В карточке сервера на странице «Мои серверы» нажмите «Добавить SSH-ключ».\n2. Выберите «Вставить новый ключ» и вставьте строку, полученную от коллеги (`ssh-ed25519 AAAA… ИМЯ_КОЛЛЕГИ`).\n3. Нажмите «Добавить ключ». Появится «Ключ добавлен.», а ключ с его комментарием — в списке «Установленные ключи».\n4. Сравните начало отпечатка в списке с отпечатком, который прислал коллега.\n5. Коллега подключается так:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\nВставленный ключ устанавливается только на этот сервер и в вашем аккаунте не сохраняется. Подробнее о списке и сообщениях: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n\n> **Важно**\n> Ключ для `root` — это полный контроль: коллега сможет читать любые данные, добавлять другие ключи и пользователей и менять любые настройки. Попросите его не удалять «Ключ управления (blackbox.md)» и не ставить `PermitRootLogin no`: и то и другое отключает в панели сброс пароля, управление ключами и кнопки входа по паролю ([Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox)).\n\n## Отдельный пользователь Linux для коллеги\n\nУ отдельного пользователя собственный логин: в журналах видны его имя и команды, выполненные через `sudo`. Шаги похожи на шаг 5 из статьи [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou), только на сервер попадает ключ коллеги, а не ключи `root`. Выполняйте команды под `root`.\n\n### Ubuntu и Debian\n\n```bash\nadduser --disabled-password ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nКоманда создаёт и каталог `/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ`. Запрашиваемые поля (полное имя, телефон и т. д.) можно оставить пустыми. Пароля у пользователя нет — он входит только по ключу.\n\n### AlmaLinux и CentOS Stream\n\n```bash\nuseradd -m ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nЗдесь пароль тоже не задаётся — пользователь входит только по ключу.\n\n### Публичный ключ коллеги\n\n1. Создайте каталог и откройте файл ключей:\n\n   ```bash\n   mkdir -p /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\n   nano /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys\n   ```\n\n   Если `nano` нет (так бывает в AlmaLinux и CentOS Stream), установите его:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n2. Вставьте одной строкой публичный ключ коллеги, сохраните (Ctrl + O, затем Enter) и выйдите (Ctrl + X).\n3. Назначьте владельца и права доступа:\n\n   ```bash\n   chown -R ИМЯ_ПОЛЬЗОВАТЕЛЯ:ИМЯ_ПОЛЬЗОВАТЕЛЯ /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\n   chmod 700 /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\n   chmod 600 /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys\n   ```\n\n   В AlmaLinux и CentOS Stream также восстановите метку SELinux:\n\n   ```bash\n   restorecon -R /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\n   ```\n\n4. Сверьте выведенный отпечаток с тем, что прислал коллега:\n\n   ```bash\n   ssh-keygen -lf /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys\n   ```\n\nНе копируйте новому пользователю файл `/root/.ssh/authorized_keys`: в нём ваши ключи и ключи BLACKBOX.\n\n### Права администратора (только если они нужны)\n\nУчастники группы `sudo` (Ubuntu, Debian) или `wheel` (AlmaLinux, CentOS Stream) могут выполнять любые команды от имени `root`. `sudo` запрашивает пароль пользователя, поэтому задайте его.\n\nUbuntu и Debian:\n\n```bash\npasswd ИМЯ_ПОЛЬЗОВАТЕЛЯ\nusermod -aG sudo ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nЕсли в Debian нет команды `sudo`, установите её:\n\n```bash\napt install -y sudo\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\npasswd ИМЯ_ПОЛЬЗОВАТЕЛЯ\nusermod -aG wheel ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nПередайте пароль отдельно от остальных данных для доступа и попросите коллегу сменить его командой `passwd` при первом входе. На сервере с отметкой «Пароль + ключ» с этим паролем коллега сможет войти и по SSH; как перевести сервер в режим «Только ключ»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). Команды, выполненные через `sudo`, видны в журнале:\n\n```bash\njournalctl _COMM=sudo\n```\n\n### Первое подключение\n\nПроверьте вход вместе с коллегой до того, как передать ему доступ, не закрывая свою сессию `root`. В ней следите за журналом SSH. В Ubuntu и Debian:\n\n```bash\njournalctl -u ssh -f\n```\n\nВ AlmaLinux и CentOS Stream:\n\n```bash\njournalctl -u sshd -f\n```\n\nКоллега подключается:\n\n```bash\nssh ИМЯ_ПОЛЬЗОВАТЕЛЯ@IP_СЕРВЕРА\n```\n\nВ журнале появится строка `Accepted publickey for ИМЯ_ПОЛЬЗОВАТЕЛЯ` с отпечатком ключа; остановите просмотр клавишами Ctrl + C. Если вы дали права администратора, коллега выполняет команду ниже — она должна вывести `root`:\n\n```bash\nsudo whoami\n```\n\nНа сервере «Только ключ» коллега входит только по ключу. Не включайте ради него вход по паролю: кнопка «Включить вход по паролю» включает его для всех пользователей, в том числе для `root`.\n\n### Только база данных\n\nСоздайте пользователя, как описано выше, без прав администратора. Чтобы он мог открыть только туннель, но не терминал:\n\n```bash\nusermod -s /usr/sbin/nologin ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nКоллега запускает туннель под своим именем пользователя (для PostgreSQL замените 3306 на 5432):\n\n```bash\nssh -N -L 3306:127.0.0.1:3306 ИМЯ_ПОЛЬЗОВАТЕЛЯ@IP_СЕРВЕРА\n```\n\nТуннель идёт через порт SSH (22), поэтому открывать порт базы данных не нужно. В самой базе данных создайте для него отдельного пользователя только с нужными правами: [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date).\n\n## Доступ только по SFTP к файлам сайта (необязательно)\n\nКоллега сможет только загружать и скачивать файлы в каталоге сайта: терминала у него нет, туннели открыть нельзя. В примере сайт находится в `/var/www/ДОМЕН`. SSH ограничивает коллегу каталогом `/srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ`: он принадлежит `root`, и коллега не может его изменить. Внутри него подкаталог `site` показывает каталог сайта — туда коллега может записывать файлы.\n\nНа тарифах «VPS hosting» сначала спросите поддержку: у панели управления на сервере могут быть свои учётные записи и настройки SFTP ([Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou)).\n\n> **Внимание**\n> Шаги 4 и 5 меняют настройки SSH. Не закрывайте текущую сессию `root`, пока снова не войдёте как `root` из нового терминала. Веб- и VNC-консоли у клиентов нет: если доступ по SSH потерян, помочь может только поддержка.\n\n1. Создайте группу (один раз для всех пользователей SFTP) и пользователя.\n\n   Ubuntu и Debian:\n\n   ```bash\n   groupadd sftponly\n   adduser --disabled-password --shell /usr/sbin/nologin ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   usermod -aG sftponly ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   groupadd sftponly\n   useradd -m -s /usr/sbin/nologin -G sftponly ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   ```\n\n   Затем добавьте ключ коллеги, как в разделе «Публичный ключ коллеги» выше.\n\n2. Создайте каталог коллеги и сделайте копию файла `/etc/fstab`:\n\n   ```bash\n   mkdir -p /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site\n   chown root:root /srv/sftp /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   chmod 755 /srv/sftp /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   cp /etc/fstab /etc/fstab.bak\n   nano /etc/fstab\n   ```\n\n   В конец файла `/etc/fstab` добавьте строку ниже и сохраните:\n\n   ```text\n   /var/www/ДОМЕН /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site none bind,nofail 0 0\n   ```\n\n   Смонтируйте каталог сайта и проверьте, что видны его файлы:\n\n   ```bash\n   systemctl daemon-reload\n   mount /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site\n   ls /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site\n   ```\n\n   Строка в `/etc/fstab` восстанавливает монтирование после каждой перезагрузки. Благодаря `nofail` ошибка в ней не помешает серверу загрузиться.\n\n3. Разрешите запись в каталог сайта. Файлы сайта должны принадлежать пользователю веб-сервера: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere), раздел «После загрузки сайта: владелец и права доступа». Узнайте их группу:\n\n   ```bash\n   stat -c '%U:%G' /var/www/ДОМЕН\n   ```\n\n   Обычно результат — `www-data:www-data` в Ubuntu и Debian и `apache:apache` или `nginx:nginx` в AlmaLinux и CentOS Stream. Если вы видите `root:root`, сначала смените владельца, как описано в указанном разделе. Затем выполните команды ниже, подставив вместо `ВЕБ_ГРУППА` группу, указанную после `:`:\n\n   ```bash\n   usermod -aG ВЕБ_ГРУППА ИМЯ_ПОЛЬЗОВАТЕЛЯ\n   chmod -R g+w /var/www/ДОМЕН\n   find /var/www/ДОМЕН -type d -exec chmod g+s {} +\n   ```\n\n   Файлы, загруженные коллегой, принадлежат ему и группе веб-сервера, и веб-сервер может их читать. Если приложению нужно их ещё и изменять, восстановите владельца, как в руководстве по передаче файлов, а затем снова выполните две последние команды.\n\n4. Сделайте копию настроек SSH и откройте основной файл:\n\n   ```bash\n   cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak\n   nano /etc/ssh/sshd_config\n   ```\n\n   Добавьте в **конец** файла блок ниже и сохраните:\n\n   ```text\n   Match Group sftponly\n       ChrootDirectory /srv/sftp/%u\n       ForceCommand internal-sftp -d /site\n       AllowTcpForwarding no\n       X11Forwarding no\n   ```\n\n   Блок должен оставаться последним в файле: всё, что идёт после `Match`, действует только для группы `sftponly`. Вместо `%u` подставляется имя пользователя, а `-d /site` сразу открывает коллеге каталог сайта.\n\n   - Не добавляйте в блок `PasswordAuthentication`: входом по паролю вы управляете из панели.\n   - Не ставьте `PermitRootLogin no` и не меняйте файл, который панель записывает в `/etc/ssh/sshd_config.d/`.\n\n5. Проверьте настройки:\n\n   ```bash\n   sshd -t\n   ```\n\n   Если команда ничего не вывела, настройки в порядке. Только после этого перезагрузите конфигурацию SSH:\n\n   ```bash\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n   Если `sshd -t` выводит ошибку, не перезагружайте SSH: исправьте файл или восстановите копию, затем снова проверьте его командой `sshd -t`.\n\n   ```bash\n   cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config\n   ```\n\n6. Из нового терминала проверьте, что по-прежнему входите как `root`. Затем попросите коллегу подключиться SFTP-клиентом, например FileZilla или WinSCP, с пользователем `ИМЯ_ПОЛЬЗОВАТЕЛЯ` и своим ключом, или из терминала:\n\n   ```bash\n   sftp ИМЯ_ПОЛЬЗОВАТЕЛЯ@IP_СЕРВЕРА\n   ```\n\n   Коллега попадёт в `/site` и не увидит ничего за пределами каталога `/srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ`. Если он попробует войти через `ssh`, то получит «This service allows sftp connections only.», и соединение закроется.\n\nЕсли что-то не работает, посмотрите последние сообщения службы SSH. В Ubuntu и Debian:\n\n```bash\njournalctl -u ssh -n 50\n```\n\nВ AlmaLinux и CentOS Stream:\n\n```bash\njournalctl -u sshd -n 50\n```\n\n| Проблема | Причина | Что делать |\n|---|---|---|\n| Соединение сразу закрывается, в журнале `bad ownership or modes for chroot directory` | `/srv/sftp` или `/srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ` не принадлежит `root` либо доступен для записи другим | Повторите команды `chown` и `chmod` из шага 2 |\n| `Permission denied` при загрузке файла | Коллега не входит в группу веб-сервера или каталог не разрешает запись группе | Повторите шаг 3; коллега переподключается, чтобы новая группа вступила в силу |\n| Каталог `/site` пуст | Каталог сайта не смонтирован | Снова выполните команду `mount` из шага 2 |\n| AlmaLinux или CentOS Stream: вход не удаётся, сообщений выше нет | Возможно, доступ блокирует SELinux | Ищите причину в журнале службы `sshd` (команда выше); если не найдёте, напишите нам |\n\n## Отзыв доступа\n\nКогда работа закончена или человек уходит, сразу закройте ему доступ.\n\n### Ключ для root\n\n1. В карточке сервера нажмите «Добавить SSH-ключ».\n2. В списке «Установленные ключи» найдите ключ коллеги по комментарию и отпечатку и нажмите «Удалить».\n3. Подтвердите «Удалить ключ SHA256:… с этого сервера?» кнопкой «OK». Появится «Ключ удалён.»\n4. Нажмите «Сбросить пароль» и подтвердите «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.»: пока у коллеги был доступ, он мог сменить пароль root ([Сброс пароля root](#acces.resetare-parola-root)).\n\n### Отдельный пользователь\n\nЗавершите его открытые сессии:\n\n```bash\npkill -KILL -u ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nЗатем удалите пользователя вместе с его каталогом. Ubuntu и Debian:\n\n```bash\ndeluser --remove-home ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nAlmaLinux и CentOS Stream (а также Ubuntu или Debian, если `deluser` требует пакет `perl`):\n\n```bash\nuserdel -r ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\n### Пользователь только для SFTP\n\nСначала завершите его сессии командой `pkill`, как описано выше. Прежде чем удалять пользователя, размонтируйте каталог сайта, удалите его строку из `/etc/fstab` и уберите опустевшие каталоги:\n\n```bash\numount /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site\nnano /etc/fstab\nrmdir /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ/site /srv/sftp/ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\n> **Опасно**\n> Не используйте `rm -r` в `/srv/sftp`. Пока каталог сайта там смонтирован, команда удалит сами файлы сайта. `rmdir` удаляет только пустые каталоги, поэтому откажется работать, если монтирование ещё активно.\n\n### Проверки после ухода\n\n1. Поищите ключи, пользователей и права администратора, которых вы не узнаёте. В списке «Установленные ключи» видны только ключи `root`.\n\n   ```bash\n   cat /root/.ssh/authorized_keys\n   ls -la /home/*/.ssh/authorized_keys\n   ls -la /etc/sudoers.d/\n   getent group sudo wheel\n   ```\n\n2. Смените секреты, которые знал этот человек: пароли баз данных (и удалите созданного для него пользователя базы), ключи приложений — например, в `.env` или `wp-config.php`, пароли SMTP и ключи внешних сервисов.\n3. Проверьте недавние входы:\n\n   ```bash\n   last -n 20\n   ```\n\n   В Ubuntu и Debian:\n\n   ```bash\n   journalctl -u ssh --since \"30 days ago\" | grep Accepted\n   ```\n\n   В AlmaLinux и CentOS Stream:\n\n   ```bash\n   journalctl -u sshd --since \"30 days ago\" | grep Accepted\n   ```\n\n   В строках `Accepted` указаны пользователь, IP-адрес и способ входа. Если команды `last` нет, используйте только `journalctl`.\n\nЕсли вы подозреваете, что доступом злоупотребили, следуйте статье [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n## Частые вопросы\n\n**Может ли коллега видеть сервер в своей панели?**\nНет. Сервер, заказанный на blackbox.md, виден только в аккаунте, из которого его заказали, и поделиться им в панели нельзя. Общий доступ возможен только к серверам компании, которые обслуживает BLACKBOX, — по запросу через поддержку ([Как связаться с поддержкой BLACKBOX](#suport.contact)).\n\n**Фрилансер просит пароль root или данные аккаунта. Что делать?**\nНе передавайте их. Добавьте его публичный ключ для `root` или создайте ему отдельного пользователя. Если вы уже передали эти данные, нажмите «Сбросить пароль» в карточке сервера и смените пароль аккаунта — это заодно отключит API-токены, созданные раньше ([Рекомендации по безопасности аккаунта](#cont.securitate-cont)). Затем выполните проверки из раздела «Проверки после ухода».\n\n**Как узнать, чей ключ в списке «Установленные ключи»?**\nВ списке видны начало отпечатка, тип и комментарий ключа. Попросите коллегу указать своё имя в комментарии при создании ключа и сверьте отпечаток с тем, что он прислал: комментарий может написать кто угодно, а отпечаток подделать нельзя.\n\n**Можно ли дать коллеге API-токен для AI-ассистента?**\nНе делайте этого. Токен действует от вашего имени как владельца аккаунта: с `servers:exec` он выполняет команды от root на всех ваших серверах, с `orders:write` оформляет заказы и платит с баланса. Коллега работает через собственный доступ по SSH.\n\n**Нужен ли коллеге аккаунт на blackbox.md?**\nНет. Для SSH или SFTP достаточно его ключа и доступа, который вы открыли на сервере. Собственный аккаунт не покажет ему ваши серверы.\n",
    "en": "This guide shows how to give a colleague or an outside developer access to your server without sharing your blackbox.md account, the root password or your API tokens. You add the colleague's key for `root` in the app.blackbox.md panel, on the server card in “My Servers” (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”). Separate users and SFTP-only access are set up on the server itself, over SSH, as `root`.\n\n**Available to:** the blackbox.md account holder who ordered the server, or an account that BLACKBOX has given management rights for the server (the steps in the panel), and anyone with `root` SSH access to the server (the steps on the server). On cards marked “Managed”, the “Add SSH key” and “Reset password” buttons do not appear; for these servers, write to us.\n\n## What the account and the panel provide\n\n- The blackbox.md account and the panel have no team members, sub-users, roles or invitations sent by customers. Each person uses their own blackbox.md account.\n- A colleague with their own account does not see your orders, invoices, support tickets or servers, and cannot sign in to the panel in your place. They do not need an account for SSH or SFTP access.\n- Shared access to the servers of a company managed by BLACKBOX (the “Managed” cards) is granted only on request, through support: [The “Overview” page](#servere.prezentare-generala).\n- The “Installed keys” list and the “Add SSH key” button work only with the `/root/.ssh/authorized_keys` file. You manage the keys of other Linux users directly on the server.\n\n## What you never share\n\n| Do not share | Why |\n|---|---|\n| Your blackbox.md account password | With it, someone can place and pay for orders, open the panel and create API tokens. |\n| The root password | It gives full control of the server, and with a shared password you can't tell who did the work. |\n| API tokens (`bbx_pat_…`) | They act as the account holder: with the `servers:exec` permission they run any command as root, and with `orders:write` they place orders and pay from your balance ([Token permissions (scopes)](#ai.permisiuni)). |\n| 2FA recovery codes | They replace the code from your authenticator app when signing in to the panel. |\n| Private SSH keys | A private key never leaves its owner's computer: don't send yours, and don't accept anyone else's private key. |\n\nUnder the [Terms and Conditions](https://blackbox.md/info/terms#raspunderea-clientilor) (§3), you are fully responsible for the activity of everyone you authorize to access the services (employees, contractors) and for securing passwords, SSH keys and API tokens.\n\nYour colleague generates their own key pair ([Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) and sends you only the public key: a single line from the `.pub` file. Ask them to put their name in the key's comment, so you can recognize it in “Installed keys”:\n\n```bash\nssh-keygen -t ed25519 -C \"COLLEAGUE_NAME\"\n```\n\nAlso ask for the key's fingerprint, so you can compare it with the one installed on the server. On macOS and Linux:\n\n```bash\nssh-keygen -lf ~/.ssh/id_ed25519.pub\n```\n\nOn Windows (PowerShell):\n\n```powershell\nssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n```\n\n## Which access to choose\n\n| What your colleague needs | Solution | Where |\n|---|---|---|\n| Full administration of the server | Their public key for `root`, added with “Add SSH key” → “Paste a new key”; you remove it from “Installed keys” | panel |\n| Administration with their own login, so you can see who did what | A separate Linux user in the `sudo` group (Ubuntu, Debian) or the `wheel` group (AlmaLinux, CentOS Stream) | server |\n| Only the site's files | An SFTP-only user, limited to the site's directory | server |\n| Only the database | A separate user without `sudo`, plus an SSH tunnel ([Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date)) | server |\n\n## Your colleague's key for root, from the panel\n\n1. On the server card in “My Servers”, click “Add SSH key”.\n2. Choose “Paste a new key” and paste the line you received from your colleague (`ssh-ed25519 AAAA… COLLEAGUE_NAME`).\n3. Click “Add key”. “Key added.” appears, and the key shows up in “Installed keys” with its comment.\n4. Compare the beginning of the fingerprint in the list with the fingerprint your colleague sent you.\n5. Your colleague connects:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\nThe pasted key is installed only on this server and is not saved in your account. The list and its messages are covered in [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n\n> **Important**\n> A key for `root` means full control: your colleague can read all the data, add other keys and users, and change any setting. Ask them not to delete the “Management key (blackbox.md)” and not to set `PermitRootLogin no`: either of these stops password resets, key management and the password login buttons in the panel ([BLACKBOX keys on your server](#acces.cheile-blackbox)).\n\n## A separate Linux user for your colleague\n\nA separate user has their own login: the logs show their name and the commands they run with `sudo`. The steps are similar to step 5 in [Securing a new server: checklist](#ghiduri.securizare-server-nou), except that it is your colleague's key that goes on the server, not the `root` keys. Run the commands as `root`.\n\n### Ubuntu and Debian\n\n```bash\nadduser --disabled-password USERNAME\n```\n\nThe command also creates the `/home/USERNAME` directory. You can leave the fields it asks for (full name, phone, etc.) empty. The user has no password and logs in only with the key.\n\n### AlmaLinux and CentOS Stream\n\n```bash\nuseradd -m USERNAME\n```\n\nHere too, the user gets no password: they log in only with the key.\n\n### Your colleague's public key\n\n1. Create the directory and open the keys file:\n\n   ```bash\n   mkdir -p /home/USERNAME/.ssh\n   nano /home/USERNAME/.ssh/authorized_keys\n   ```\n\n   If `nano` is missing (this can happen on AlmaLinux and CentOS Stream), install it:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n2. Paste your colleague's public key on a single line, save with Ctrl + O and Enter, then exit with Ctrl + X.\n3. Set the owner and permissions:\n\n   ```bash\n   chown -R USERNAME:USERNAME /home/USERNAME/.ssh\n   chmod 700 /home/USERNAME/.ssh\n   chmod 600 /home/USERNAME/.ssh/authorized_keys\n   ```\n\n   On AlmaLinux and CentOS Stream, also restore the SELinux label:\n\n   ```bash\n   restorecon -R /home/USERNAME/.ssh\n   ```\n\n4. Compare the fingerprint shown with the one your colleague sent you:\n\n   ```bash\n   ssh-keygen -lf /home/USERNAME/.ssh/authorized_keys\n   ```\n\nDo not copy `/root/.ssh/authorized_keys` to the new user: it contains your keys and the BLACKBOX keys.\n\n### Administrator rights (only if needed)\n\nMembers of the `sudo` group (Ubuntu, Debian) or the `wheel` group (AlmaLinux, CentOS Stream) can run any command as `root`. `sudo` asks for the user's password, so set one.\n\nUbuntu and Debian:\n\n```bash\npasswd USERNAME\nusermod -aG sudo USERNAME\n```\n\nOn Debian, if the `sudo` command is missing, install it:\n\n```bash\napt install -y sudo\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\npasswd USERNAME\nusermod -aG wheel USERNAME\n```\n\nSend the password separately from the rest of the access details, and ask your colleague to change it with `passwd` the first time they log in. On a “Password + key” server, your colleague could also log in over SSH with this password; to switch to “Key-only”, see [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). You can see the commands run with `sudo` in the log:\n\n```bash\njournalctl _COMM=sudo\n```\n\n### First login\n\nTest the login together with your colleague before you hand over access, with your own `root` session open. In that session, watch the SSH log. On Ubuntu and Debian:\n\n```bash\njournalctl -u ssh -f\n```\n\nOn AlmaLinux and CentOS Stream:\n\n```bash\njournalctl -u sshd -f\n```\n\nYour colleague connects:\n\n```bash\nssh USERNAME@SERVER_IP\n```\n\nA line `Accepted publickey for USERNAME` appears in the log, with the key's fingerprint; stop watching with Ctrl + C. If you gave them administrator rights, your colleague runs the command below, which must print `root`:\n\n```bash\nsudo whoami\n```\n\nOn a “Key-only” server, your colleague logs in only with the key. Do not turn password login back on for them: “Enable password login” turns it on for all users, including `root`.\n\n### Only the database\n\nCreate the user as above, without administrator rights. So that they can open only the tunnel, not a terminal:\n\n```bash\nusermod -s /usr/sbin/nologin USERNAME\n```\n\nYour colleague starts the tunnel with their username (for PostgreSQL, replace 3306 with 5432):\n\n```bash\nssh -N -L 3306:127.0.0.1:3306 USERNAME@SERVER_IP\n```\n\nThe tunnel goes through the SSH port (22), so the database port does not need to be open. In the database, create a separate user for them with only the privileges they need: [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date).\n\n## SFTP-only access to the site's files (optional)\n\nYour colleague can only upload and download files in the site's directory: they get no terminal and cannot open tunnels. The example assumes the site is in `/var/www/DOMAIN`. SSH confines your colleague to the `/srv/sftp/USERNAME` directory, which belongs to `root` and which your colleague cannot change. Inside it, the `site` subdirectory shows the site's directory, where your colleague can write.\n\nOn “VPS hosting” plans, ask support first: the control panel on the server may have its own SFTP accounts and settings ([“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou)).\n\n> **Warning**\n> Steps 4 and 5 change the SSH settings. Keep your current `root` session open until you have logged in again as `root` from a new terminal. Customers have no web or VNC console: if you lose SSH access, only support can help.\n\n1. Create the group (once, for all SFTP users) and the user.\n\n   Ubuntu and Debian:\n\n   ```bash\n   groupadd sftponly\n   adduser --disabled-password --shell /usr/sbin/nologin USERNAME\n   usermod -aG sftponly USERNAME\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   groupadd sftponly\n   useradd -m -s /usr/sbin/nologin -G sftponly USERNAME\n   ```\n\n   Then add your colleague's key as in the “Your colleague's public key” section above.\n\n2. Create your colleague's directory and make a copy of the `/etc/fstab` file:\n\n   ```bash\n   mkdir -p /srv/sftp/USERNAME/site\n   chown root:root /srv/sftp /srv/sftp/USERNAME\n   chmod 755 /srv/sftp /srv/sftp/USERNAME\n   cp /etc/fstab /etc/fstab.bak\n   nano /etc/fstab\n   ```\n\n   At the end of the `/etc/fstab` file, add the line below and save:\n\n   ```text\n   /var/www/DOMAIN /srv/sftp/USERNAME/site none bind,nofail 0 0\n   ```\n\n   Mount the site's directory and check that you can see its files:\n\n   ```bash\n   systemctl daemon-reload\n   mount /srv/sftp/USERNAME/site\n   ls /srv/sftp/USERNAME/site\n   ```\n\n   The line in `/etc/fstab` restores the mount after every reboot. Thanks to `nofail`, a mistake in it does not stop the server from booting.\n\n3. Allow writing to the site. The site's files must belong to the web server user: see [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere), section “After uploading a site: owner and permissions”. Find out their group:\n\n   ```bash\n   stat -c '%U:%G' /var/www/DOMAIN\n   ```\n\n   The result is usually `www-data:www-data` on Ubuntu and Debian, and `apache:apache` or `nginx:nginx` on AlmaLinux and CentOS Stream. If you see `root:root`, first change the owner as described in that section. Then run the commands below, with the group after the `:` in place of `WEB_GROUP`:\n\n   ```bash\n   usermod -aG WEB_GROUP USERNAME\n   chmod -R g+w /var/www/DOMAIN\n   find /var/www/DOMAIN -type d -exec chmod g+s {} +\n   ```\n\n   The files your colleague uploads belong to them and to the web server's group, which can read them. If the application also needs to change them, set the owner again as in the file transfer guide, then run the last two commands again.\n\n4. Make a copy of the SSH settings and open the main file:\n\n   ```bash\n   cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak\n   nano /etc/ssh/sshd_config\n   ```\n\n   Add the block below at the **end** of the file and save:\n\n   ```text\n   Match Group sftponly\n       ChrootDirectory /srv/sftp/%u\n       ForceCommand internal-sftp -d /site\n       AllowTcpForwarding no\n       X11Forwarding no\n   ```\n\n   The block must stay last in the file: everything after `Match` applies only to the `sftponly` group. `%u` is replaced with the username, and `-d /site` opens your colleague directly in the site's directory.\n\n   - Do not add `PasswordAuthentication` to the block: you control password login from the panel.\n   - Do not set `PermitRootLogin no`, and do not change the file the panel writes in `/etc/ssh/sshd_config.d/`.\n\n5. Check the settings:\n\n   ```bash\n   sshd -t\n   ```\n\n   If the command prints nothing, the settings are correct. Only then reload SSH:\n\n   ```bash\n   systemctl reload ssh || systemctl reload sshd\n   ```\n\n   If `sshd -t` prints an error, do not reload SSH: fix the file or restore the copy, then check again with `sshd -t`.\n\n   ```bash\n   cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config\n   ```\n\n6. From a new terminal, check that you can still log in as `root`. Then ask your colleague to connect with an SFTP client, for example FileZilla or WinSCP, using the username `USERNAME` and their key, or from a terminal:\n\n   ```bash\n   sftp USERNAME@SERVER_IP\n   ```\n\n   Your colleague lands in `/site` and sees nothing outside the `/srv/sftp/USERNAME` directory. If they try `ssh`, they get “This service allows sftp connections only.” and the connection closes.\n\nIf something doesn't work, read the latest messages from the SSH service. On Ubuntu and Debian:\n\n```bash\njournalctl -u ssh -n 50\n```\n\nOn AlmaLinux and CentOS Stream:\n\n```bash\njournalctl -u sshd -n 50\n```\n\n| Problem | Cause | What to do |\n|---|---|---|\n| The connection closes immediately; the log shows `bad ownership or modes for chroot directory` | `/srv/sftp` or `/srv/sftp/USERNAME` does not belong to `root`, or others can modify it | Repeat the `chown` and `chmod` commands from step 2 |\n| `Permission denied` when uploading a file | Your colleague is not in the web server's group, or the directory does not allow the group to write | Repeat step 3; your colleague reconnects so the new group applies |\n| The `/site` directory is empty | The site's directory is not mounted | Run the `mount` command from step 2 again |\n| AlmaLinux or CentOS Stream: the login fails, without the messages above | It may be blocked by SELinux | Look for the cause in the `sshd` service log (the command above); if you can't find it, write to us |\n\n## Revoking access\n\nWhen the work is finished or the person leaves, revoke their access right away.\n\n### The key for root\n\n1. On the server card, click “Add SSH key”.\n2. In “Installed keys”, find your colleague's key by its comment and fingerprint, and click “Remove”.\n3. Confirm “Remove key SHA256:… from this server?” with “OK”. “Key removed.” appears.\n4. Click “Reset password” and confirm “Reset the password for SERVER_NAME? The current password stops working immediately.”: while they had access, your colleague could have changed the root password ([Resetting the root password](#acces.resetare-parola-root)).\n\n### The separate user\n\nClose their open sessions:\n\n```bash\npkill -KILL -u USERNAME\n```\n\nThen delete the user together with their directory. Ubuntu and Debian:\n\n```bash\ndeluser --remove-home USERNAME\n```\n\nAlmaLinux and CentOS Stream (and Ubuntu or Debian, if `deluser` asks for the `perl` package):\n\n```bash\nuserdel -r USERNAME\n```\n\n### The SFTP-only user\n\nFirst close their sessions with `pkill`, as above. Before you delete the user, unmount the site's directory, delete the user's line from `/etc/fstab` and remove the directories that are left empty:\n\n```bash\numount /srv/sftp/USERNAME/site\nnano /etc/fstab\nrmdir /srv/sftp/USERNAME/site /srv/sftp/USERNAME\n```\n\n> **Risk**\n> Do not use `rm -r` in `/srv/sftp`. While the site's directory is mounted there, the command would delete the site's actual files. `rmdir` deletes only empty directories, so it refuses if the mount is still active.\n\n### Checks after someone leaves\n\n1. Look for keys, users and administrator rights you don't recognize. “Installed keys” shows only the `root` keys.\n\n   ```bash\n   cat /root/.ssh/authorized_keys\n   ls -la /home/*/.ssh/authorized_keys\n   ls -la /etc/sudoers.d/\n   getent group sudo wheel\n   ```\n\n2. Change the secrets the person knew: database passwords (and delete the database user created for them), application keys, for example in `.env` or `wp-config.php`, SMTP passwords and the keys of external services.\n3. Check recent logins:\n\n   ```bash\n   last -n 20\n   ```\n\n   On Ubuntu and Debian:\n\n   ```bash\n   journalctl -u ssh --since \"30 days ago\" | grep Accepted\n   ```\n\n   On AlmaLinux and CentOS Stream:\n\n   ```bash\n   journalctl -u sshd --since \"30 days ago\" | grep Accepted\n   ```\n\n   The `Accepted` lines show the user, the IP address and the authentication method. If `last` is missing, use only `journalctl`.\n\nIf you suspect the access was misused, follow [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n## Frequently asked questions\n\n**Can my colleague see the server in their own panel?**\nNo. A server ordered on blackbox.md appears only in the account that ordered it and cannot be shared in the panel. Only the servers of a company managed by BLACKBOX can be shared, on request, through support ([How to contact BLACKBOX support](#suport.contact)).\n\n**A freelancer is asking for the root password or my account details. What do I do?**\nDon't give them out. Add their public key for `root` or create a separate user for them. If you have already shared them, click “Reset password” on the server card and change your account password, which also stops any API tokens created before ([Security recommendations for your account](#cont.securitate-cont)). Then do the checks in the “Checks after someone leaves” section.\n\n**How do I know whose key is in “Installed keys”?**\nThe list shows the beginning of the fingerprint, the type and the comment of each key. Ask your colleague to put their name in the comment when they generate the key, and compare the fingerprint with the one they sent you: anyone can write a comment, but a fingerprint cannot be faked.\n\n**Can I give my colleague an API token for the AI assistant?**\nDon't. The token acts on your behalf, as the account holder: with `servers:exec` it runs commands as root on all your servers, and with `orders:write` it places orders and pays from your balance. Your colleague works with their own SSH access.\n\n**Does my colleague need a blackbox.md account?**\nNo. For SSH or SFTP, their key and the access you give them on the server are enough. An account of their own does not show them your servers.\n"
   }
  },
  {
   "id": "ghiduri.securizare-server-nou",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/securizare-server-nou/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/securizare-server-nou/",
    "en": "https://docs.blackbox.md/en/ghiduri/securizare-server-nou/"
   },
   "title": {
    "ro": "Securizarea unui server nou: lista de verificare",
    "ru": "Защита нового сервера: чек-лист",
    "en": "Securing a new server: checklist"
   },
   "summary": {
    "ro": "Pașii esențiali de securitate pentru un server BLACKBOX nou, în ordinea corectă și fără să vă blocați accesul.",
    "ru": "Основные шаги защиты нового сервера BLACKBOX в правильном порядке и без потери доступа.",
    "en": "The essential security steps for a new BLACKBOX server, in the right order and without locking yourself out."
   },
   "markdown": {
    "ro": "Mai jos sunt pașii de securitate pentru un server nou, în ordinea în care îi faceți. Unii se fac în panoul app.blackbox.md, pe cardul serverului din pagina „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”), iar ceilalți pe server, prin SSH, ca `root`. Comenzile sunt pentru imaginile Ubuntu, Debian, AlmaLinux și CentOS Stream.\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul. Pe cardurile marcate „Administrat” butoanele panoului nu apar; pentru aceste servere scrieți-ne.\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC: dacă pierdeți accesul SSH și nici panoul nu mai ajunge la server, vă poate ajuta doar suportul. Cât timp schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH și închideți-o abia după ce v-ați conectat dintr-un terminal nou. Nu ștergeți „Cheie de administrare (blackbox.md)” din `/root/.ssh/authorized_keys`: cu ea lucrează butoanele panoului.\n\n## Lista pe scurt\n\n| Pas | Unde | Detalii |\n|---|---|---|\n| 1. Actualizați sistemul | server | [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate) |\n| 2. Schimbați parola root primită pe email | panou | [Resetarea parolei root](#acces.resetare-parola-root) |\n| 3. Adăugați cheia SSH și testați-o | panou și calculatorul dvs. | [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server) |\n| 4. Dezactivați autentificarea cu parolă | panou | [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh) |\n| 5. Creați un utilizator cu sudo (opțional) | server | secțiunea de mai jos |\n| 6. Păstrați conectarea `root` cu cheie | server | [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox) |\n| 7. Porniți firewall-ul | server | [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall) |\n| 8. Instalați fail2ban | server | [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban) |\n| 9. Porniți actualizările automate | server | [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate) |\n| 10. Planificați copiile de rezervă | server și în afara lui | [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup) |\n| 11. Verificați „Monitorizare” (dacă aveți serviciul Monitoring) | panou | [Pagina „Monitorizare”](#servicii.monitorizare) |\n\n## 1. Actualizați sistemul\n\nConectați-vă la server ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) și instalați actualizările.\n\n### Ubuntu și Debian\n\n```bash\napt update\napt upgrade -y\n```\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nPe Ubuntu poate apărea o fereastră a programului needrestart, care întreabă ce servicii să fie repornite: lăsați selecția propusă și apăsați Enter.\n\nDacă s-a actualizat nucleul (pachetele `linux-image-…` pe Ubuntu și Debian, `kernel` pe AlmaLinux și CentOS Stream), reporniți serverul cu „Repornește” de pe card ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)) și conectați-vă din nou după un minut. Pe Ubuntu, dacă există fișierul `/var/run/reboot-required`, repornirea este necesară.\n\n## 2. Schimbați parola root primită pe email\n\nDacă la comandă nu ați atașat o cheie SSH sau ați debifat „Dezactivează autentificarea prin parolă (doar cheie SSH)”, parola root v-a sosit în emailul „Serverul dvs. este gata — BBX-…”. Înlocuiți-o:\n\n1. Pe cardul serverului, apăsați „Resetează parola”.\n2. Confirmați mesajul „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.” cu „OK”.\n3. Parola nouă apare pe card, în caseta cu „Utilizator” și „Parolă”. Salvați-o într-un manager de parole.\n\nPanoul păstrează parola nouă, așa că o revedeți oricând cu „Afișează datele de acces”. O puteți schimba și pe server, cu `passwd`, dar atunci panoul afișează în continuare parola veche, iar pe cea nouă o păstrați doar dvs. Dacă ați comandat serverul doar cu cheie, emailul nu conține parola: treceți la pasul 3.\n\n## 3. Adăugați cheia SSH și testați-o\n\nDacă ați atașat cheia la comandă, ea este deja pe server: treceți direct la test (punctul 5). Altfel:\n\n1. Dacă nu aveți o cheie, creați-o pe calculatorul dvs.: [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n2. Pe cardul serverului, apăsați „Adaugă cheie SSH”.\n3. Alegeți „Folosește o cheie salvată” și cheia din listă sau „Lipește o cheie nouă” și lipiți linia cheii publice (`ssh-ed25519 AAAA…`).\n4. Apăsați „Adaugă cheia”. Apare „Cheie adăugată.”, iar cheia apare în „Chei instalate”.\n5. Într-un terminal nou, conectați-vă doar cu cheia:\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@IP_SERVER\n   ```\n\nDacă vă conectați (eventual după fraza de acces a cheii), cheia funcționează: lăsați această sesiune deschisă pentru pașii următori. Dacă apare `Permission denied`, nu continuați: verificați cheia cu [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n\n## 4. Dezactivați autentificarea cu parolă din panou\n\nDacă ați comandat serverul doar cu cheie, insigna de lângă numele serverului arată deja „Doar cheie”: treceți la pasul 5.\n\n1. Pe cardul serverului, apăsați „Dezactivează login cu parolă”.\n2. Confirmați „Dezactivați autentificarea prin parolă SSH pe NUME_SERVER? După aceasta, doar cheile SSH instalate se vor putea conecta. Parola de consolă rămâne funcțională.” cu „OK”.\n3. Insigna de lângă numele serverului devine „Doar cheie”, iar butonul se schimbă în „Activează login cu parolă”.\n4. Dintr-un terminal nou, verificați că vă conectați cu cheia (comanda de la pasul 3).\n\n„Parola de consolă” din mesaj este parola root salvată în panou: rămâne setată, dar prin SSH nu mai funcționează. Clienții nu au consolă web.\n\nNu editați `PasswordAuthentication` în `/etc/ssh/sshd_config`. Butonul scrie setarea într-un fișier separat din `/etc/ssh/sshd_config.d/`, care are prioritate față de fișierul principal, apoi o verifică pe server. Dacă apare „Nu a fost găsită nicio cheie instalată — adăugați o cheie înainte de a dezactiva parola.”, reveniți la pasul 3.\n\n## 5. Creați un utilizator cu drepturi sudo (opțional)\n\nDacă preferați să lucrați zilnic cu alt utilizator decât `root`, creați-l. Contul `root` rămâne activ și accesibil cu cheie: panoul și asistentul AI îl folosesc.\n\n### Ubuntu și Debian\n\n```bash\nadduser NUME_UTILIZATOR\nusermod -aG sudo NUME_UTILIZATOR\n```\n\n`adduser` vă cere parola utilizatorului nou (o folosiți la `sudo`); celelalte câmpuri le puteți lăsa goale. Pe Debian, dacă lipsește comanda `sudo`, instalați-o:\n\n```bash\napt install -y sudo\n```\n\n### AlmaLinux și CentOS Stream\n\n```bash\nadduser NUME_UTILIZATOR\npasswd NUME_UTILIZATOR\nusermod -aG wheel NUME_UTILIZATOR\n```\n\n### Cheia SSH a utilizatorului nou\n\nCopiați cheile autorizate ale lui `root`:\n\n```bash\nmkdir -p /home/NUME_UTILIZATOR/.ssh\ncp /root/.ssh/authorized_keys /home/NUME_UTILIZATOR/.ssh/authorized_keys\nchown -R NUME_UTILIZATOR:NUME_UTILIZATOR /home/NUME_UTILIZATOR/.ssh\nchmod 700 /home/NUME_UTILIZATOR/.ssh\nchmod 600 /home/NUME_UTILIZATOR/.ssh/authorized_keys\n```\n\nPe AlmaLinux și CentOS Stream refaceți și contextul SELinux al directorului:\n\n```bash\nrestorecon -R /home/NUME_UTILIZATOR/.ssh\n```\n\nCopia conține și cheile BLACKBOX ([Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox)). Utilizatorului nou nu îi sunt necesare: le puteți șterge din `/home/NUME_UTILIZATOR/.ssh/authorized_keys`, niciodată din `/root/.ssh/authorized_keys`.\n\nTestați dintr-un terminal nou. Conectați-vă cu utilizatorul nou:\n\n```bash\nssh NUME_UTILIZATOR@IP_SERVER\n```\n\nApoi, pe server, rulați comanda de mai jos. După ce introduceți parola utilizatorului, ea trebuie să afișeze `root`.\n\n```bash\nsudo whoami\n```\n\n## 6. Păstrați conectarea root cu cheie\n\nSetarea corectă este `PermitRootLogin prohibit-password`: `root` se conectează doar cu cheie, iar parola root nu mai poate fi ghicită prin SSH. Pasul 4 (sau comanda doar cu cheie) o setează deja, deci nu trebuie să editați nimic. Verificați setările aplicate efectiv:\n\n```bash\nsshd -T | grep -Ei 'passwordauthentication|permitrootlogin'\n```\n\nRezultatul trebuie să conțină `passwordauthentication no` și `permitrootlogin prohibit-password`. Unele versiuni OpenSSH afișează `permitrootlogin without-password`: este aceeași setare, cu numele vechi.\n\n> **Important**\n> Nu setați `PermitRootLogin no`. Panoul („Resetează parola”, „Chei instalate”, butoanele de autentificare cu parolă) și asistentul AI se conectează ca `root` cu cheia de administrare BLACKBOX. Cu `no`, aceste funcții nu mai merg, iar fără consolă web nu le puteți repara din panou.\n\nDacă ați setat deja `PermitRootLogin no` (de exemplu după un ghid mai vechi), conectați-vă cu utilizatorul cu drepturi sudo și deveniți `root`:\n\n```bash\nsudo -i\n```\n\nÎn fișierul în care ați scris setarea, înlocuiți linia cu `PermitRootLogin prohibit-password`. Apoi verificați configurația și reîncărcați SSH:\n\n```bash\nsshd -t\nsystemctl reload ssh || systemctl reload sshd\n```\n\n`sshd -t` nu afișează nimic dacă configurația este corectă. Dacă afișează o eroare, corectați-o înainte de reîncărcare. Dacă nu aveți alt utilizator cu sudo, scrieți suportului: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## 7. Porniți firewall-ul, permițând întâi SSH\n\nFiltrarea din rețea, administrată de BLACKBOX, lasă să treacă spre server SSH (22), HTTP (80), HTTPS (443) și ping. Firewall-ul din sistem (`ufw` sau `firewalld`) este oprit pe un server nou.\n\nPermiteți SSH înainte să porniți `ufw`, altfel vă blocați. Nu limitați portul 22 doar la adresa dvs. IP: panoul se conectează la server pe acest port. După pornire, fără să închideți sesiunea curentă, verificați dintr-un terminal nou că vă conectați în continuare.\n\nDacă serverul are un panou de control instalat (planurile „VPS hosting”), întrebați întâi suportul: panoul poate avea propriul firewall și propriul fail2ban, iar două firewall-uri active se pot contrazice.\n\n### Ubuntu și Debian\n\n```bash\napt install -y ufw\nufw allow 22/tcp\nufw enable\n```\n\nLa întrebarea „Command may disrupt existing ssh connections. Proceed with operation (y|n)?” răspundeți `y`.\n\n### AlmaLinux și CentOS Stream\n\nZona implicită a firewalld permite deja SSH, așa că pornirea nu vă deconectează. A treia comandă face regula permanentă.\n\n```bash\ndnf install -y firewalld\nsystemctl enable --now firewalld\nfirewall-cmd --permanent --add-service=ssh\nfirewall-cmd --reload\n```\n\n### Porturile pentru site\n\nPentru un site permiteți și porturile 80 și 443, iar pentru alte porturi citiți [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## 8. Instalați fail2ban\n\nfail2ban blochează temporar adresele IP care încearcă repetat să ghicească parole prin SSH.\n\n### Ubuntu și Debian\n\n```bash\napt install -y fail2ban python3-systemd\n```\n\n### AlmaLinux și CentOS Stream\n\nPachetul vine din depozitul EPEL. fail2ban blochează adresele prin firewalld, așa că faceți întâi pasul 7.\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban python3-systemd\n```\n\n### Pe toate sistemele\n\nActivați protecția SSH, porniți serviciul și verificați-l:\n\n```bash\nprintf '[sshd]\\nenabled = true\\nbackend = systemd\\n' > /etc/fail2ban/jail.local\nsystemctl enable fail2ban\nsystemctl restart fail2ban\nfail2ban-client status sshd\n```\n\nUltima comandă trebuie să afișeze „Status for the jail: sshd”. Dacă spune că nu se poate conecta la serviciu, așteptați câteva secunde și repetați-o. Configurarea în detaliu: [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n\n## 9. Porniți actualizările automate de securitate\n\n### Ubuntu și Debian\n\n```bash\napt install -y unattended-upgrades\ndpkg-reconfigure -plow unattended-upgrades\n```\n\nLa întrebarea „Automatically download and install stable updates?” răspundeți „Yes”. Pe Ubuntu pachetul este de regulă deja instalat, iar comenzile confirmă că este activ.\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf install -y dnf-automatic\nsystemctl enable --now dnf-automatic-install.timer\n```\n\nTimer-ul descarcă și instalează zilnic toate actualizările disponibile.\n\nActualizările automate nu repornesc serverul: un nucleu nou are efect abia după o repornire (pasul 1). Detalii și setări: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate).\n\n## 10. Planificați copiile de rezervă\n\nBLACKBOX nu face copii de rezervă automate ale serverului dvs., iar datele de pe el sunt responsabilitatea dvs. ([Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date)). Butonul „Backup” de pe cardul serverului nu este activ: dacă îl apăsați, poate afișa `backup_extra_disabled`.\n\nFaceți copii regulate ale fișierelor și ale bazelor de date, păstrați cel puțin o copie în afara serverului și verificați din când în când că o puteți restaura: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## 11. Verificați pagina „Monitorizare” (dacă aveți serviciul Monitoring)\n\nPasul este pentru serverele cu serviciul suplimentar „Monitoring 24/7”, disponibil pentru Ubuntu și Debian ([Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare)).\n\n1. În panou, deschideți „Monitorizare” (`app.blackbox.md/monitoring`).\n2. În tabelul „Serverele dvs.”, coloana „Monitorizare” a serverului trebuie să arate „Activ”. „Se conectează…” înseamnă că agentul încă se instalează; la „Eșuat”, scrieți-ne.\n3. În cardul „Alerte”, la „Preferințe de notificare”, lăsați bifat „Trimiteți-mi email când apare o alertă nouă”, alegeți nivelul în „Severitate minimă” și apăsați „Salvează” ([Alerte și notificări pe email](#servicii.alerte)).\n\nAgentul trimite datele prin conexiuni de ieșire, pe care `ufw` și `firewalld` le permit implicit. Nu blocați traficul de ieșire al serverului.\n\n## Întrebări frecvente\n\n**Pot muta SSH pe alt port?**\nNu vă recomandăm. Filtrarea din rețea lasă să treacă implicit doar porturile de la pasul 7, așa că SSH pe alt port poate deveni inaccesibil, iar panoul se conectează pe portul 22. Dacă aveți nevoie de alt port, întrebați întâi suportul: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Vechiul articol „Securizarea de bază a unui VPS” din „Bază de cunoștințe” recomanda altceva. Pe care îl urmez?**\nPe acesta. Vechiul articol recomanda `PermitRootLogin no` și editarea `PasswordAuthentication` în `/etc/ssh/sshd_config`; ambele intră în conflict cu panoul. Acest ghid înlocuiește acele recomandări.\n\n**Nu mai am acces la server. Ce fac?**\nDacă butoanele panoului încă funcționează, apăsați „Activează login cu parolă” și conectați-vă cu parola afișată de „Afișează datele de acces” (dacă ați schimbat-o cu `passwd`, apăsați întâi „Resetează parola”). După ce reparați accesul cu cheie, dezactivați din nou login-ul cu parolă (pasul 4). Dacă nici panoul nu mai ajunge la server (de exemplu, firewall-ul blochează portul 22), urmați [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n**Pagina „Monitorizare” îmi arată dacă serverul este securizat?**\nNu. Ea arată încărcarea (CPU, RAM, disc, procese) serverelor cu serviciul Monitoring. Setările din acest ghid le verificați pe server, cu comenzile de mai sus.\n",
    "ru": "Ниже — шаги по защите нового сервера в том порядке, в котором их стоит выполнять. Часть делается в панели app.blackbox.md, в карточке сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»), остальное — на самом сервере по SSH под `root`. Команды приведены для образов Ubuntu, Debian, AlmaLinux и CentOS Stream.\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер. В карточках с отметкой «Обслуживается» кнопок панели нет — по таким серверам напишите нам.\n\n> **Внимание**\n> Веб- и VNC-консоли у клиентов нет: если доступ по SSH потерян и панель тоже не может подключиться к серверу, помочь может только поддержка. Пока меняете настройки SSH или файрвола, держите открытой вторую SSH-сессию и закрывайте её, только когда подключитесь заново из нового терминала. Не удаляйте «Ключ управления (blackbox.md)» из `/root/.ssh/authorized_keys`: через него работают кнопки панели.\n\n## Кратко: весь чек-лист\n\n| Шаг | Где | Подробнее |\n|---|---|---|\n| 1. Обновите систему | сервер | [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate) |\n| 2. Смените пароль root из письма | панель | [Сброс пароля root](#acces.resetare-parola-root) |\n| 3. Добавьте SSH-ключ и проверьте его | панель и ваш компьютер | [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server) |\n| 4. Отключите вход по паролю | панель | [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh) |\n| 5. Создайте пользователя с sudo (необязательно) | сервер | раздел ниже |\n| 6. Оставьте вход `root` по ключу | сервер | [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox) |\n| 7. Включите файрвол | сервер | [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall) |\n| 8. Установите fail2ban | сервер | [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban) |\n| 9. Включите автоматические обновления | сервер | [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate) |\n| 10. Спланируйте резервное копирование | сервер и внешнее хранилище | [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup) |\n| 11. Проверьте «Мониторинг» (если подключена услуга «Мониторинг») | панель | [Страница «Мониторинг»](#servicii.monitorizare) |\n\n## 1. Обновите систему\n\nПодключитесь к серверу ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) и установите обновления.\n\n### Ubuntu и Debian\n\n```bash\napt update\napt upgrade -y\n```\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nВ Ubuntu может появиться окно программы needrestart с вопросом, какие службы перезапустить: оставьте предложенный выбор и нажмите Enter.\n\nЕсли обновилось ядро (пакеты `linux-image-…` в Ubuntu и Debian, `kernel` в AlmaLinux и CentOS Stream), перезагрузите сервер кнопкой «Перезагрузить» в карточке ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)) и через минуту подключитесь снова. В Ubuntu перезагрузка нужна, если существует файл `/var/run/reboot-required`.\n\n## 2. Смените пароль root из письма\n\nЕсли при заказе вы не добавили SSH-ключ или сняли отметку «Отключить вход по паролю (только SSH-ключ)», пароль root пришёл в письме «Serverul dvs. este gata — BBX-…». Замените его:\n\n1. В карточке сервера нажмите «Сбросить пароль».\n2. Подтвердите сообщение «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.» кнопкой «OK».\n3. Новый пароль появится в карточке, в блоке с полями «Пользователь» и «Пароль». Сохраните его в менеджере паролей.\n\nПанель запоминает новый пароль, и его всегда можно снова посмотреть кнопкой «Показать учётные данные». Сменить пароль можно и на сервере командой `passwd`, но тогда панель по-прежнему будет показывать старый, а новый будете знать только вы. Если сервер заказан со входом только по ключу, пароля в письме нет — переходите к шагу 3.\n\n## 3. Добавьте SSH-ключ и проверьте его\n\nЕсли ключ был добавлен при заказе, он уже на сервере — переходите сразу к проверке (пункт 5). Иначе:\n\n1. Если ключа у вас нет, создайте его на своём компьютере: [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n2. В карточке сервера нажмите «Добавить SSH-ключ».\n3. Выберите «Использовать сохранённый ключ» и ключ из списка или «Вставить новый ключ» и вставьте строку открытого ключа (`ssh-ed25519 AAAA…`).\n4. Нажмите «Добавить ключ». Появится сообщение «Ключ добавлен.», а ключ отобразится в списке «Установленные ключи».\n5. В новом терминале подключитесь только по ключу:\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@IP_СЕРВЕРА\n   ```\n\nЕсли вы подключились (возможно, после ввода парольной фразы ключа), ключ работает — не закрывайте эту сессию до конца следующих шагов. При `Permission denied` дальше не продолжайте: проверьте ключ по статье [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n\n## 4. Отключите вход по паролю в панели\n\nЕсли сервер заказан со входом только по ключу, рядом с названием сервера уже стоит отметка «Только ключ» — переходите к шагу 5.\n\n1. В карточке сервера нажмите «Отключить вход по паролю».\n2. Подтвердите «Отключить вход по паролю по SSH на ИМЯ_СЕРВЕРА? После этого войти можно будет только с установленными SSH-ключами. Пароль для консоли останется рабочим.» кнопкой «OK».\n3. Отметка рядом с названием сервера сменится на «Только ключ», а кнопка — на «Включить вход по паролю».\n4. Из нового терминала проверьте, что входите по ключу (команда из шага 3).\n\n«Пароль для консоли» из сообщения — это пароль root, сохранённый в панели: он остаётся заданным, но по SSH с ним уже не войти. Веб-консоли у клиентов нет.\n\nНе редактируйте `PasswordAuthentication` в `/etc/ssh/sshd_config`. Кнопка записывает настройку в отдельный файл в каталоге `/etc/ssh/sshd_config.d/`, который имеет приоритет над основным файлом, и затем проверяет её на сервере. Если появится «Установленный ключ не найден — сначала добавьте ключ, прежде чем отключать пароль.», вернитесь к шагу 3.\n\n## 5. Создайте пользователя с правами sudo (необязательно)\n\nЕсли вам удобнее работать каждый день не под `root`, создайте отдельного пользователя. Учётная запись `root` остаётся активной и доступной по ключу: её используют панель и AI-ассистент.\n\n### Ubuntu и Debian\n\n```bash\nadduser ИМЯ_ПОЛЬЗОВАТЕЛЯ\nusermod -aG sudo ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\n`adduser` попросит задать пароль нового пользователя (он понадобится для `sudo`); остальные поля можно оставить пустыми. Если в Debian нет команды `sudo`, установите её:\n\n```bash\napt install -y sudo\n```\n\n### AlmaLinux и CentOS Stream\n\n```bash\nadduser ИМЯ_ПОЛЬЗОВАТЕЛЯ\npasswd ИМЯ_ПОЛЬЗОВАТЕЛЯ\nusermod -aG wheel ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\n### SSH-ключ нового пользователя\n\nСкопируйте авторизованные ключи `root`:\n\n```bash\nmkdir -p /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\ncp /root/.ssh/authorized_keys /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys\nchown -R ИМЯ_ПОЛЬЗОВАТЕЛЯ:ИМЯ_ПОЛЬЗОВАТЕЛЯ /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\nchmod 700 /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\nchmod 600 /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys\n```\n\nВ AlmaLinux и CentOS Stream также восстановите контекст SELinux для каталога:\n\n```bash\nrestorecon -R /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh\n```\n\nВ копии есть и ключи BLACKBOX ([Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox)). Новому пользователю они не нужны: их можно удалить из `/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.ssh/authorized_keys`, но ни в коем случае не из `/root/.ssh/authorized_keys`.\n\nПроверьте вход из нового терминала. Подключитесь под новым пользователем:\n\n```bash\nssh ИМЯ_ПОЛЬЗОВАТЕЛЯ@IP_СЕРВЕРА\n```\n\nЗатем выполните на сервере команду ниже. После ввода пароля пользователя она должна вывести `root`.\n\n```bash\nsudo whoami\n```\n\n## 6. Оставьте вход root по ключу\n\nПравильная настройка — `PermitRootLogin prohibit-password`: `root` входит только по ключу, а подобрать пароль root через SSH уже нельзя. Шаг 4 (или заказ со входом только по ключу) уже выставил её, так что редактировать ничего не нужно. Проверьте фактически применённые настройки:\n\n```bash\nsshd -T | grep -Ei 'passwordauthentication|permitrootlogin'\n```\n\nВ выводе должны быть `passwordauthentication no` и `permitrootlogin prohibit-password`. Некоторые версии OpenSSH показывают `permitrootlogin without-password` — это та же настройка под старым названием.\n\n> **Важно**\n> Не ставьте `PermitRootLogin no`. Панель («Сбросить пароль», «Установленные ключи», кнопки входа по паролю) и AI-ассистент подключаются как `root` по ключу управления BLACKBOX. С `no` эти функции перестанут работать, а без веб-консоли исправить это из панели не получится.\n\nЕсли вы уже выставили `PermitRootLogin no` (например, по старой инструкции), подключитесь под пользователем с правами sudo и станьте `root`:\n\n```bash\nsudo -i\n```\n\nВ файле, куда вы записали эту настройку, замените строку на `PermitRootLogin prohibit-password`. Затем проверьте конфигурацию и перезагрузите настройки SSH:\n\n```bash\nsshd -t\nsystemctl reload ssh || systemctl reload sshd\n```\n\nЕсли конфигурация в порядке, `sshd -t` ничего не выводит. Если команда выводит ошибку, исправьте её до перезагрузки настроек. Если другого пользователя с sudo нет, напишите в поддержку: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## 7. Включите файрвол, сначала разрешив SSH\n\nСетевая фильтрация, которой управляет BLACKBOX, пропускает к серверу SSH (22), HTTP (80), HTTPS (443) и ping. Файрвол в системе (`ufw` или `firewalld`) на новом сервере выключен.\n\nРазрешите SSH до того, как включать `ufw`, иначе потеряете доступ. Не ограничивайте порт 22 только своим IP-адресом: через этот порт к серверу подключается панель. После включения, не закрывая текущую сессию, проверьте из нового терминала, что подключение по-прежнему работает.\n\nЕсли на сервере установлена панель управления (тарифы «VPS hosting»), сначала уточните у поддержки: у такой панели может быть собственный файрвол и собственный fail2ban, а два одновременно работающих файрвола могут конфликтовать.\n\n### Ubuntu и Debian\n\n```bash\napt install -y ufw\nufw allow 22/tcp\nufw enable\n```\n\nНа вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?» ответьте `y`.\n\n### AlmaLinux и CentOS Stream\n\nЗона firewalld по умолчанию уже разрешает SSH, так что запуск не разорвёт подключение. Третья команда делает это правило постоянным.\n\n```bash\ndnf install -y firewalld\nsystemctl enable --now firewalld\nfirewall-cmd --permanent --add-service=ssh\nfirewall-cmd --reload\n```\n\n### Порты для сайта\n\nДля сайта разрешите также порты 80 и 443, а про остальные порты читайте в статье [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## 8. Установите fail2ban\n\nfail2ban временно блокирует IP-адреса, с которых раз за разом пытаются подобрать пароль по SSH.\n\n### Ubuntu и Debian\n\n```bash\napt install -y fail2ban python3-systemd\n```\n\n### AlmaLinux и CentOS Stream\n\nПакет устанавливается из репозитория EPEL. fail2ban блокирует адреса через firewalld, поэтому сначала выполните шаг 7.\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban python3-systemd\n```\n\n### Во всех системах\n\nВключите защиту SSH, запустите службу и проверьте её:\n\n```bash\nprintf '[sshd]\\nenabled = true\\nbackend = systemd\\n' > /etc/fail2ban/jail.local\nsystemctl enable fail2ban\nsystemctl restart fail2ban\nfail2ban-client status sshd\n```\n\nПоследняя команда должна вывести «Status for the jail: sshd». Если она сообщает, что не может подключиться к службе, подождите несколько секунд и повторите. Подробная настройка: [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n\n## 9. Включите автоматические обновления безопасности\n\n### Ubuntu и Debian\n\n```bash\napt install -y unattended-upgrades\ndpkg-reconfigure -plow unattended-upgrades\n```\n\nНа вопрос «Automatically download and install stable updates?» ответьте «Yes». В Ubuntu пакет обычно уже установлен, и команды лишь подтверждают, что он включён.\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf install -y dnf-automatic\nsystemctl enable --now dnf-automatic-install.timer\n```\n\nТаймер ежедневно скачивает и устанавливает все доступные обновления.\n\nАвтоматические обновления не перезагружают сервер: новое ядро начинает работать только после перезагрузки (шаг 1). Подробности и настройки: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate).\n\n## 10. Спланируйте резервное копирование\n\nBLACKBOX не делает автоматических резервных копий вашего сервера, и за данные на нём отвечаете вы ([Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date)). Кнопка «Резервные копии» в карточке сервера не работает: если нажать на неё, может появиться `backup_extra_disabled`.\n\nРегулярно копируйте файлы и базы данных, храните хотя бы одну копию вне сервера и время от времени проверяйте, что из неё можно восстановиться: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## 11. Проверьте страницу «Мониторинг» (если подключена услуга)\n\nЭтот шаг — для серверов с дополнительной услугой «Мониторинг 24/7», которая доступна для Ubuntu и Debian ([Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare)).\n\n1. Откройте в панели раздел «Мониторинг» (`app.blackbox.md/monitoring`).\n2. В таблице «Ваши серверы» в столбце «Мониторинг» у сервера должно стоять «Активен». «Подключение…» означает, что агент ещё устанавливается; при «Ошибка» напишите нам.\n3. В карточке «Оповещения», в блоке «Настройки уведомлений», оставьте отмеченным «Присылать письмо при новом оповещении», выберите уровень в поле «Минимальная важность» и нажмите «Сохранить» ([Оповещения и уведомления по email](#servicii.alerte)).\n\nАгент отправляет данные через исходящие соединения, которые `ufw` и `firewalld` по умолчанию разрешают. Не блокируйте исходящий трафик сервера.\n\n## Частые вопросы\n\n**Можно ли перенести SSH на другой порт?**\nНе рекомендуем. Сетевая фильтрация по умолчанию пропускает только порты из шага 7, поэтому на другом порту SSH может оказаться недоступен, а панель подключается к порту 22. Если другой порт всё же нужен, сначала спросите поддержку: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**В старой статье «Базовая защита VPS» из «Базы знаний» советовали другое. Чему следовать?**\nЭтому руководству. Старая статья рекомендовала `PermitRootLogin no` и правку `PasswordAuthentication` в `/etc/ssh/sshd_config` — и то и другое конфликтует с панелью. Это руководство заменяет те рекомендации.\n\n**Доступ к серверу потерян. Что делать?**\nЕсли кнопки панели ещё работают, нажмите «Включить вход по паролю» и войдите с паролем, который показывает «Показать учётные данные» (если вы меняли пароль командой `passwd`, сначала нажмите «Сбросить пароль»). Когда доступ по ключу будет восстановлен, снова отключите вход по паролю (шаг 4). Если и панель не может достучаться до сервера (например, файрвол закрыл порт 22), следуйте статье [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n**Страница «Мониторинг» показывает, защищён ли сервер?**\nНет. Она показывает нагрузку (CPU, ОЗУ, диск, процессы) серверов с услугой «Мониторинг». Настройки из этого руководства проверяйте на самом сервере командами выше.\n",
    "en": "Below are the security steps for a new server, in the order you do them. Some are done in the app.blackbox.md panel, on the server card on the “My Servers” page (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”), and the rest on the server itself, over SSH, as `root`. The commands are for the Ubuntu, Debian, AlmaLinux and CentOS Stream images.\n\n**Available to:** the blackbox.md account holder who ordered the server. The panel buttons don't appear on cards marked “Managed”; for those servers, write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Warning**\n> There is no web or VNC console for customers: if you lose SSH access and the panel can't reach the server either, only support can help you. While you change SSH or firewall settings, keep a second SSH session open, and close it only after you have connected from a new terminal. Don't delete the “Management key (blackbox.md)” from `/root/.ssh/authorized_keys`: the panel buttons work through it.\n\n## The checklist at a glance\n\n| Step | Where | Details |\n|---|---|---|\n| 1. Update the system | server | [System updates and automatic security updates](#ghiduri.actualizari-automate) |\n| 2. Change the root password you received by email | panel | [Resetting the root password](#acces.resetare-parola-root) |\n| 3. Add your SSH key and test it | panel and your computer | [Adding and removing SSH keys on the server](#acces.chei-ssh-server) |\n| 4. Disable password login | panel | [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh) |\n| 5. Create a user with sudo (optional) | server | the section below |\n| 6. Keep `root` login with a key | server | [BLACKBOX keys on your server](#acces.cheile-blackbox) |\n| 7. Turn on the firewall | server | [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall) |\n| 8. Install fail2ban | server | [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban) |\n| 9. Turn on automatic updates | server | [System updates and automatic security updates](#ghiduri.actualizari-automate) |\n| 10. Plan your backups | server and off the server | [Backup strategy for your server](#ghiduri.strategie-backup) |\n| 11. Check “Monitoring” (if you have the Monitoring service) | panel | [The “Monitoring” page](#servicii.monitorizare) |\n\n## 1. Update the system\n\nConnect to the server ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)) and install the updates.\n\n### Ubuntu and Debian\n\n```bash\napt update\napt upgrade -y\n```\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nOn Ubuntu, a needrestart window may appear asking which services to restart: keep the suggested selection and press Enter.\n\nIf the kernel was updated (the `linux-image-…` packages on Ubuntu and Debian, `kernel` on AlmaLinux and CentOS Stream), reboot the server with “Reboot” on the card ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)) and connect again after a minute. On Ubuntu, if the file `/var/run/reboot-required` exists, a reboot is needed.\n\n## 2. Change the root password you received by email\n\nIf you didn't attach an SSH key when you ordered, or you unchecked “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)), your root password arrived in the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email. Replace it:\n\n1. On the server card, click “Reset password”.\n2. Confirm the message “Reset the password for SERVER_NAME? The current password stops working immediately.” with “OK”.\n3. The new password appears on the card, in the box with “Username” and “Password”. Save it in a password manager.\n\nThe panel keeps the new password, so you can view it again at any time with “Reveal credentials”. You can also change it on the server with `passwd`, but then the panel keeps showing the old password, and only you know the new one. If you ordered the server key-only, the email doesn't contain a password: go to step 3.\n\n## 3. Add your SSH key and test it\n\nIf you attached the key when you ordered, it's already on the server: go straight to the test (item 5). Otherwise:\n\n1. If you don't have a key, create one on your computer: [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh).\n2. On the server card, click “Add SSH key”.\n3. Choose “Use a saved key” and pick the key from the list, or choose “Paste a new key” and paste the public key line (`ssh-ed25519 AAAA…`).\n4. Click “Add key”. “Key added.” appears, and the key shows up in “Installed keys”.\n5. In a new terminal, connect using only the key:\n\n   ```bash\n   ssh -o PreferredAuthentications=publickey root@SERVER_IP\n   ```\n\nIf you connect (possibly after entering the key's passphrase), the key works: leave this session open for the next steps. If you see `Permission denied`, don't continue: check the key with [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n\n## 4. Disable password login in the panel\n\nIf you ordered the server key-only, the badge next to the server's name already shows “Key-only”: go to step 5.\n\n1. On the server card, click “Disable password login”.\n2. Confirm “Disable SSH password login on SERVER_NAME? After this, only installed SSH keys can log in. The console password still works.” with “OK”.\n3. The badge next to the server's name changes to “Key-only”, and the button changes to “Enable password login”.\n4. From a new terminal, check that you can connect with the key (the command from step 3).\n\nThe “console password” in the message is the root password saved in the panel: it stays set, but it no longer works over SSH. Customers don't have a web console.\n\nDon't edit `PasswordAuthentication` in `/etc/ssh/sshd_config`. The button writes the setting to a separate file in `/etc/ssh/sshd_config.d/`, which takes precedence over the main file, and then checks it on the server. If you see “No installed key found — add a key before disabling password login.”, go back to step 3.\n\n## 5. Create a user with sudo rights (optional)\n\nIf you'd rather work day to day as a user other than `root`, create one. The `root` account stays active and reachable with a key: the panel and the AI assistant use it.\n\n### Ubuntu and Debian\n\n```bash\nadduser USERNAME\nusermod -aG sudo USERNAME\n```\n\n`adduser` asks you for the new user's password (you'll use it with `sudo`); you can leave the other fields empty. On Debian, if the `sudo` command is missing, install it:\n\n```bash\napt install -y sudo\n```\n\n### AlmaLinux and CentOS Stream\n\n```bash\nadduser USERNAME\npasswd USERNAME\nusermod -aG wheel USERNAME\n```\n\n### The new user's SSH key\n\nCopy `root`'s authorized keys:\n\n```bash\nmkdir -p /home/USERNAME/.ssh\ncp /root/.ssh/authorized_keys /home/USERNAME/.ssh/authorized_keys\nchown -R USERNAME:USERNAME /home/USERNAME/.ssh\nchmod 700 /home/USERNAME/.ssh\nchmod 600 /home/USERNAME/.ssh/authorized_keys\n```\n\nOn AlmaLinux and CentOS Stream, also restore the directory's SELinux context:\n\n```bash\nrestorecon -R /home/USERNAME/.ssh\n```\n\nThe copy also contains the BLACKBOX keys ([BLACKBOX keys on your server](#acces.cheile-blackbox)). The new user doesn't need them: you can delete them from `/home/USERNAME/.ssh/authorized_keys`, but never from `/root/.ssh/authorized_keys`.\n\nTest from a new terminal. Connect as the new user:\n\n```bash\nssh USERNAME@SERVER_IP\n```\n\nThen run the command below on the server. After you enter the user's password, it must print `root`.\n\n```bash\nsudo whoami\n```\n\n## 6. Keep root login with a key\n\nThe right setting is `PermitRootLogin prohibit-password`: `root` logs in only with a key, and the root password can no longer be guessed over SSH. Step 4 (or a key-only order) already sets it, so you don't need to edit anything. Check the settings that are actually in effect:\n\n```bash\nsshd -T | grep -Ei 'passwordauthentication|permitrootlogin'\n```\n\nThe output must contain `passwordauthentication no` and `permitrootlogin prohibit-password`. Some OpenSSH versions show `permitrootlogin without-password`: it's the same setting under its old name.\n\n> **Important**\n> Don't set `PermitRootLogin no`. The panel (“Reset password”, “Installed keys”, the password login buttons) and the AI assistant connect as `root` with the BLACKBOX management key. With `no`, these features stop working, and without a web console you can't fix them from the panel.\n\nIf you have already set `PermitRootLogin no` (for example, following an older guide), connect as the user with sudo rights and become `root`:\n\n```bash\nsudo -i\n```\n\nIn the file where you wrote the setting, replace the line with `PermitRootLogin prohibit-password`. Then check the configuration and reload SSH:\n\n```bash\nsshd -t\nsystemctl reload ssh || systemctl reload sshd\n```\n\n`sshd -t` prints nothing if the configuration is correct. If it prints an error, fix it before reloading. If you don't have another user with sudo, write to support: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## 7. Turn on the firewall, allowing SSH first\n\nThe network filtering managed by BLACKBOX lets SSH (22), HTTP (80), HTTPS (443) and ping through to the server. The system firewall (`ufw` or `firewalld`) is off on a new server.\n\nAllow SSH before you turn on `ufw`, or you'll lock yourself out. Don't restrict port 22 to your own IP address only: the panel connects to the server on this port. After turning the firewall on, and without closing your current session, check from a new terminal that you can still connect.\n\nIf the server has a control panel installed (the “VPS hosting” plans), ask support first: that control panel may have its own firewall and its own fail2ban, and two active firewalls can conflict.\n\n### Ubuntu and Debian\n\n```bash\napt install -y ufw\nufw allow 22/tcp\nufw enable\n```\n\nWhen asked “Command may disrupt existing ssh connections. Proceed with operation (y|n)?”, answer `y`.\n\n### AlmaLinux and CentOS Stream\n\nThe default firewalld zone already allows SSH, so starting it won't disconnect you. The third command makes the rule permanent.\n\n```bash\ndnf install -y firewalld\nsystemctl enable --now firewalld\nfirewall-cmd --permanent --add-service=ssh\nfirewall-cmd --reload\n```\n\n### Ports for a website\n\nFor a website, also allow ports 80 and 443; for other ports, read [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## 8. Install fail2ban\n\nfail2ban temporarily blocks IP addresses that repeatedly try to guess passwords over SSH.\n\n### Ubuntu and Debian\n\n```bash\napt install -y fail2ban python3-systemd\n```\n\n### AlmaLinux and CentOS Stream\n\nThe package comes from the EPEL repository. fail2ban blocks addresses through firewalld, so do step 7 first.\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban python3-systemd\n```\n\n### On all systems\n\nTurn on SSH protection, start the service and check it:\n\n```bash\nprintf '[sshd]\\nenabled = true\\nbackend = systemd\\n' > /etc/fail2ban/jail.local\nsystemctl enable fail2ban\nsystemctl restart fail2ban\nfail2ban-client status sshd\n```\n\nThe last command must show “Status for the jail: sshd”. If it says it can't connect to the service, wait a few seconds and run it again. Detailed setup: [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n\n## 9. Turn on automatic security updates\n\n### Ubuntu and Debian\n\n```bash\napt install -y unattended-upgrades\ndpkg-reconfigure -plow unattended-upgrades\n```\n\nWhen asked “Automatically download and install stable updates?”, answer “Yes”. On Ubuntu, the package is usually already installed, and the commands confirm that it's active.\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf install -y dnf-automatic\nsystemctl enable --now dnf-automatic-install.timer\n```\n\nThe timer downloads and installs all available updates every day.\n\nAutomatic updates don't reboot the server: a new kernel takes effect only after a reboot (step 1). Details and settings: [System updates and automatic security updates](#ghiduri.actualizari-automate).\n\n## 10. Plan your backups\n\nBLACKBOX does not make automatic backups of your server, and the data on it is your responsibility ([Responsibility for server data and backups](#legal.responsabilitate-date)). The “Backups” button on the server card is not active: if you click it, it may show `backup_extra_disabled`.\n\nMake regular copies of your files and databases, keep at least one copy off the server, and check from time to time that you can restore it: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## 11. Check the “Monitoring” page (if you have the Monitoring service)\n\nThis step is for servers with the “Monitoring 24/7” add-on service, available for Ubuntu and Debian ([The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare)).\n\n1. In the panel, open “Monitoring” (`app.blackbox.md/monitoring`).\n2. In the “Your servers” table, the server's “Monitoring” column must show “Active”. “Connecting…” means the agent is still being installed; if you see “Failed”, write to us.\n3. In the “Alerts” card, under “Notification preferences”, leave “Email me when a new alert fires” checked, choose the level in “Minimum severity” and click “Save” ([Alerts and email notifications](#servicii.alerte)).\n\nThe agent sends data over outgoing connections, which `ufw` and `firewalld` allow by default. Don't block the server's outgoing traffic.\n\n## Frequently asked questions\n\n**Can I move SSH to another port?**\nWe don't recommend it. By default, the network filtering lets through only the ports from step 7, so SSH on another port may become unreachable, and the panel connects on port 22. If you need another port, ask support first: [How to contact BLACKBOX support](#suport.contact).\n\n**The old article “Securizarea de bază a unui VPS” (Basic VPS security) in the “Bază de cunoștințe” (Knowledge base) recommended something different. Which one should I follow?**\nThis one. The old article recommended `PermitRootLogin no` and editing `PasswordAuthentication` in `/etc/ssh/sshd_config`; both conflict with the panel. This guide replaces those recommendations.\n\n**I've lost access to the server. What do I do?**\nIf the panel buttons still work, click “Enable password login” and connect with the password shown by “Reveal credentials” (if you changed it with `passwd`, click “Reset password” first). After you fix key access, disable password login again (step 4). If the panel can't reach the server either (for example, the firewall blocks port 22), follow [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n**Does the “Monitoring” page show whether the server is secure?**\nNo. It shows the load (CPU, RAM, disk, processes) of servers with the Monitoring service. Check the settings from this guide on the server itself, with the commands above.\n"
   }
  },
  {
   "id": "ghiduri.firewall",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/firewall/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/firewall/",
    "en": "https://docs.blackbox.md/en/ghiduri/firewall/"
   },
   "title": {
    "ro": "Firewall: filtrarea din rețea și ufw/firewalld pe server",
    "ru": "Файрвол: сетевая фильтрация и ufw/firewalld на сервере",
    "en": "Firewall: network filtering and ufw/firewalld on the server"
   },
   "summary": {
    "ro": "Cum funcționează cele două niveluri de filtrare și cum configurați ufw sau firewalld fără să vă blocați.",
    "ru": "Как работают два уровня фильтрации и как настроить ufw или firewalld, не заблокировав себя.",
    "en": "How the two filtering levels work and how to set up ufw or firewalld without locking yourself out."
   },
   "markdown": {
    "ro": "Traficul care intră pe serverul dvs. BLACKBOX trece prin două niveluri de filtrare: filtrarea din rețea, administrată de BLACKBOX, și firewall-ul din sistemul de operare, pe care îl configurați dvs.: `ufw` pe Ubuntu și Debian, `firewalld` pe AlmaLinux și CentOS Stream. Panoul app.blackbox.md nu are setări de firewall, așa că toate comenzile de mai jos se rulează pe server, prin SSH, ca `root`.\n\n**Disponibil pentru:** oricine are acces root prin SSH la un server BLACKBOX. Alte porturi în filtrarea din rețea: la cerere, prin suport.\n\n## Cele două niveluri de filtrare\n\n| Nivel | Cine îl administrează | Pe un server nou | Cum îl modificați |\n|---|---|---|---|\n| Filtrarea din rețea | BLACKBOX | sunt permise SSH (22), HTTP (80), HTTPS (443) și ping | scrieți suportului; panoul nu are setări de firewall |\n| Firewall-ul din sistem (`ufw` sau `firewalld`) | dvs. | inactiv sau neinstalat: BLACKBOX nu îl configurează la crearea serverului | cu comenzile din acest articol |\n\nTraficul ajunge la aplicația dvs. doar dacă portul este deschis în **ambele** niveluri. De exemplu:\n\n- Un site pe porturile 80 și 443: filtrarea din rețea le lasă deja să treacă. Dacă activați `ufw` sau `firewalld`, permiteți-le și acolo.\n- O aplicație pe portul 3000, 8000 sau 8080 nu este accesibilă din internet, chiar dacă o permiteți în `ufw`: filtrarea din rețea o oprește. Publicați-o prin nginx pe 80/443 ([Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii)) sau cereți suportului să deschidă portul.\n\nCa să deschideți alt port în filtrarea din rețea, scrieți suportului adresa IP a serverului, numărul comenzii (`BBX-…`), portul, protocolul (TCP sau UDP) și pentru ce vă trebuie: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC: serverul se administrează doar prin SSH. Înainte să activați sau să modificați firewall-ul, deschideți o a doua sesiune SSH și păstrați-o deschisă până verificați că o conexiune nouă reușește. Dacă ați pierdut totuși accesul, scrieți suportului: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Lăsați portul 22 deschis pentru BLACKBOX\n\nButoanele panoului (de exemplu „Resetează parola”, „Adaugă cheie SSH”, „Dezactivează login cu parolă”) și asistentul AI se conectează la server prin SSH, pe portul 22, ca `root`, cu cheia de administrare. Dacă permiteți portul 22 doar de la adresa dvs. IP, aceste funcții nu mai funcționează.\n\n- Permiteți portul 22 de la orice adresă și protejați SSH cu chei, cu limitarea `ufw limit` (mai jos) și cu fail2ban: [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n- Nu mutați SSH pe alt port: filtrarea din rețea și panoul folosesc portul 22.\n- Dacă vreți totuși să restricționați SSH pe adrese IP, întrebați întâi suportul. Detalii: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n## Ubuntu și Debian: ufw\n\nPe Ubuntu, `ufw` este instalat, dar inactiv. Pe Debian poate lipsi; prima comandă de mai jos îl instalează.\n\n1. Actualizați lista de pachete, instalați `ufw` (pe Ubuntu, comanda de instalare doar confirmă că este deja instalat) și verificați starea. Rezultatul așteptat este `Status: inactive`.\n\n   ```bash\n   apt update\n   apt install -y ufw\n   ufw status\n   ```\n\n2. Permiteți SSH **înainte** de a activa firewall-ul. ufw confirmă cu „Rules updated” (sau „Rule added”, dacă este deja activ). În loc de `22/tcp` puteți folosi numele profilului `OpenSSH`; folosiți apoi aceeași formă și pentru limitarea de mai jos.\n\n   ```bash\n   ufw allow 22/tcp\n   ```\n\n3. Dacă serverul găzduiește un site, permiteți HTTP și HTTPS:\n\n   ```bash\n   ufw allow 80,443/tcp\n   ```\n\n4. Activați firewall-ul. La întrebarea „Command may disrupt existing ssh connections. Proceed with operation (y|n)?” răspundeți `y`. Confirmarea este „Firewall is active and enabled on system startup”.\n\n   ```bash\n   ufw enable\n   ```\n\n5. Verificați regulile:\n\n   ```bash\n   ufw status verbose\n   ```\n\n   Rezultatul arată aproximativ așa:\n\n   ```text\n   Status: active\n   Logging: on (low)\n   Default: deny (incoming), allow (outgoing), disabled (routed)\n   New profiles: skip\n\n   To                         Action      From\n   --                         ------      ----\n   22/tcp                     ALLOW IN    Anywhere\n   80,443/tcp                 ALLOW IN    Anywhere\n   22/tcp (v6)                ALLOW IN    Anywhere (v6)\n   80,443/tcp (v6)            ALLOW IN    Anywhere (v6)\n   ```\n\n6. Fără să închideți sesiunea curentă, conectați-vă dintr-un terminal nou:\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\nRândul `Default` arată regula implicită: tot ce intră și nu este permis explicit este blocat, iar traficul de ieșire trece.\n\n### Limitarea încercărilor pe SSH\n\n```bash\nufw limit 22/tcp\n```\n\nComanda înlocuiește regula `allow` pentru portul 22 (mesajul „Rule updated”). De acum, ufw respinge o adresă care deschide 6 sau mai multe conexiuni în 30 de secunde. Limita se aplică și panoului, și asistentului AI, care deschid o conexiune nouă la fiecare acțiune: dacă o acțiune eșuează după mai multe acțiuni făcute în grabă, așteptați 30 de secunde și reîncercați.\n\n### Ștergerea unei reguli\n\n1. Afișați regulile numerotate:\n\n   ```bash\n   ufw status numbered\n   ```\n\n2. Ștergeți regula după numărul din prima coloană (puneți-l în locul lui `NUMĂR`). ufw afișează regula pe care urmează să o șteargă și întreabă „Proceed with operation (y|n)?”: verificați-o și răspundeți `y`. Confirmarea este „Rule deleted”.\n\n   ```bash\n   ufw delete NUMĂR\n   ```\n\nDupă fiecare ștergere numerele se schimbă, așa că afișați din nou lista înainte de următoarea. Regulile pentru IPv6 apar separat, marcate `(v6)`, și se șterg tot separat. Nu ștergeți regulile pentru portul 22.\n\nDacă ați greșit o regulă și mai aveți o sesiune deschisă, puteți opri complet firewall-ul („Firewall stopped and disabled on system startup”), apoi îl configurați din nou:\n\n```bash\nufw disable\n```\n\n## AlmaLinux și CentOS Stream: firewalld\n\n1. Instalați și porniți firewalld, apoi verificați starea. Rezultatul așteptat este `running`. Zona implicită permite deja SSH, așa că pornirea nu vă deconectează.\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --state\n   ```\n\n2. Permiteți permanent SSH, HTTP și HTTPS, apoi reîncărcați regulile. Fiecare comandă răspunde `success`. Dacă un serviciu era deja permis (de obicei `ssh`), înainte apare avertismentul `Warning: ALREADY_ENABLED: ssh`; nu este o eroare.\n\n   ```bash\n   firewall-cmd --permanent --add-service=ssh --add-service=http --add-service=https\n   firewall-cmd --reload\n   ```\n\n3. Verificați: în rândul `services:` trebuie să apară `ssh`, `http` și `https`.\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n4. Fără să închideți sesiunea curentă, conectați-vă dintr-un terminal nou, ca la ufw.\n\nO regulă adăugată cu `--permanent` intră în vigoare după `firewall-cmd --reload`. Fără `--permanent`, regula se aplică imediat, dar se pierde la reîncărcare sau la repornire.\n\nAlte operații uzuale (rulați doar linia de care aveți nevoie, apoi reîncărcați):\n\n```bash\n# deschide un port\nfirewall-cmd --permanent --add-port=8080/tcp\n# închide un port deschis anterior\nfirewall-cmd --permanent --remove-port=8080/tcp\n# scoate un serviciu din listă\nfirewall-cmd --permanent --remove-service=http\n# aplică modificările\nfirewall-cmd --reload\n```\n\nfirewalld nu are un echivalent simplu al `ufw limit`. Împotriva încercărilor repetate de autentificare pe SSH folosiți fail2ban.\n\n## Porturile sensibile: doar de la adresa dvs.\n\nBazele de date (3306 pentru MariaDB/MySQL, 5432 pentru PostgreSQL) și panourile de administrare care ascultă pe porturi proprii nu trebuie deschise pentru tot internetul.\n\n1. Cel mai sigur este să nu le deschideți deloc: lăsați serviciul să asculte pe `127.0.0.1` și conectați-vă printr-un tunel SSH ([Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date)).\n2. Dacă portul trebuie să fie accesibil din exterior, cereți suportului să-l deschidă în filtrarea din rețea: implicit, aceste porturi sunt închise acolo.\n3. Aflați-vă adresa IP cu [Instrumentul „Adresa ta IP”](#domenii.adresa-ip) și permiteți portul în firewall-ul din sistem doar de la această adresă.\n\nUbuntu și Debian:\n\n```bash\nufw allow from IP_DVS to any port 3306 proto tcp\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\nfirewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"IP_DVS\" port port=\"3306\" protocol=\"tcp\" accept'\nfirewall-cmd --reload\n```\n\nDacă adresa dvs. de internet este dinamică, actualizați regula când se schimbă. O pagină de administrare servită pe 80/443 (de exemplu `/phpmyadmin`) se restricționează în serverul web, nu în firewall.\n\n## Docker ocolește ufw\n\nCând publicați portul unui container (`-p 8080:80` sau `ports:` în Docker Compose), Docker scrie propriile reguli iptables, care se aplică înaintea regulilor ufw: `ufw status` nu le arată, iar o regulă `deny` din ufw nu le închide. Filtrarea din rețea oprește în continuare porturile în afară de 22, 80 și 443, dar un container publicat pe 80/443 sau pe un port deschis la cererea dvs. este accesibil din internet indiferent de ufw.\n\n- Publicați containerul doar pe `127.0.0.1` și expuneți-l prin nginx pe 80/443:\n\n  ```bash\n  docker run -d -p 127.0.0.1:8080:80 nginx\n  ```\n\n  Același lucru în Docker Compose:\n\n  ```yaml\n  services:\n    app:\n      ports:\n        - \"127.0.0.1:8080:80\"\n  ```\n\n- Pentru filtrare avansată, adăugați reguli în lanțul `DOCKER-USER`, după [documentația Docker despre iptables](https://docs.docker.com/engine/network/firewall-iptables/).\n\nInstalarea și celelalte setări: [Instalarea Docker și Docker Compose](#ghiduri.docker).\n\n## Probleme frecvente\n\n| Ce observați | Cauza probabilă | Ce faceți |\n|---|---|---|\n| După activarea ufw, conexiunile SSH noi dau `Connection timed out` | portul 22 nu a fost permis | din sesiunea rămasă deschisă permiteți portul 22 (pasul 2 de la ufw). Fără sesiune deschisă, scrieți suportului: „Repornește” nu ajută, ufw rămâne activ după repornire |\n| Site-ul nu se mai deschide după activarea firewall-ului | 80 și 443 nu sunt permise în firewall-ul din sistem | permiteți HTTP și HTTPS (pasul 3 de la ufw sau pasul 2 de la firewalld). Alte cauze: [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide) |\n| Aplicația pe 3000 sau 8080 nu răspunde din exterior, deși ufw o permite | filtrarea din rețea oprește portul | publicați aplicația prin nginx pe 80/443 sau cereți suportului deschiderea portului |\n| Butoanele panoului dau `reset_failed`, `ssh_key_push_failed` sau „Nu s-a putut schimba autentificarea prin parolă.” după o schimbare de firewall | portul 22 este permis doar de la anumite adrese sau limita `ufw limit` a fost atinsă | permiteți portul 22 de la orice adresă; după limitare, așteptați 30 de secunde și reîncercați |\n| Certificatul Let's Encrypt nu se emite sau nu se reînnoiește | portul 80 este închis în firewall-ul din sistem | permiteți portul 80: validarea Let's Encrypt trece prin el ([Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt)) |\n\n## Întrebări frecvente\n\n**Pot deschide singur un port în filtrarea din rețea?**\nNu. Panoul nu are setări de firewall, iar filtrarea din rețea o modifică echipa BLACKBOX. Scrieți suportului portul, protocolul și adresa IP a serverului.\n\n**Panoul îmi arată dacă firewall-ul este activ?**\nNu. Pagina „Monitorizare” arată încărcarea serverelor care au serviciul Monitoring (CPU, RAM, disc, încărcare, procese), nu starea firewall-ului: [Pagina „Monitorizare”](#servicii.monitorizare). Starea o verificați pe server, cu comenzile de verificare de mai sus.\n\n**Serverul mai răspunde la ping după ce activez firewall-ul?**\nDa. ufw și firewalld permit implicit ping, iar filtrarea din rețea îl lasă să treacă.\n\n**Trebuie să permit traficul de ieșire?**\nNu, ufw și firewalld lasă implicit să iasă tot traficul. Dacă îl restricționați, păstrați cel puțin HTTP (80), HTTPS (443), DNS (53) și NTP (123/UDP): de ele depind actualizările de sistem, ora exactă a serverului, Let's Encrypt și agentul serviciului Monitoring ([Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare)).\n\n**Am un plan „VPS hosting” cu panou de control. Activez ufw?**\nUn panou de control pentru găzduire poate avea propriul firewall. Înainte să activați `ufw` sau `firewalld`, verificați documentația panoului instalat sau întrebați suportul.\n\n**Am un server dedicat. Se aplică la fel?**\nComenzile pentru ufw și firewalld sunt aceleași. Ce porturi sunt deschise în rețea pentru serverul dedicat aflați de la suport.\n",
    "ru": "Входящий трафик к вашему серверу BLACKBOX проходит через два уровня фильтрации: сетевую фильтрацию, которой управляет BLACKBOX, и файрвол операционной системы, который настраиваете вы сами (`ufw` в Ubuntu и Debian, `firewalld` в AlmaLinux и CentOS Stream). В панели app.blackbox.md настроек файрвола нет, поэтому все команды ниже выполняются на самом сервере — по SSH, под `root`.\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX. Другие порты в сетевой фильтрации — по запросу через поддержку.\n\n## Два уровня фильтрации\n\n| Уровень | Кто управляет | На новом сервере | Как изменить |\n|---|---|---|---|\n| Сетевая фильтрация | BLACKBOX | пропускаются SSH (22), HTTP (80), HTTPS (443) и ping | напишите в поддержку; настроек файрвола в панели нет |\n| Файрвол в системе (`ufw` или `firewalld`) | вы | выключен или не установлен: BLACKBOX не настраивает его при создании сервера | командами из этой статьи |\n\nТрафик дойдёт до вашего приложения, только если порт открыт на **обоих** уровнях. Например:\n\n- Сайт на портах 80 и 443: сетевая фильтрация их уже пропускает. Если вы включите `ufw` или `firewalld`, разрешите их и там.\n- Приложение на порту 3000, 8000 или 8080 недоступно из интернета, даже если разрешить порт в `ufw`: его отсекает сетевая фильтрация. Опубликуйте приложение через nginx на 80/443 ([Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii)) или попросите поддержку открыть порт.\n\nЧтобы открыть другой порт в сетевой фильтрации, напишите в поддержку: укажите IP-адрес сервера, номер заказа (`BBX-…`), порт, протокол (TCP или UDP) и для чего он нужен. Каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n> **Внимание**\n> Веб- и VNC-консоли для клиентов нет: сервером управляют только по SSH. Прежде чем включать или менять файрвол, откройте вторую SSH-сессию и не закрывайте её, пока не убедитесь, что новое подключение проходит. Если доступ всё же потерян, напишите в поддержку: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Оставьте порт 22 открытым для BLACKBOX\n\nКнопки панели (например, «Сбросить пароль», «Добавить SSH-ключ», «Отключить вход по паролю») и AI-ассистент подключаются к серверу по SSH на порт 22 под `root` с ключом управления. Если разрешить порт 22 только для вашего IP-адреса, эти функции перестанут работать.\n\n- Разрешите порт 22 для любых адресов, а SSH защитите ключами, ограничением `ufw limit` (см. ниже) и fail2ban: [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n- Не переносите SSH на другой порт: и сетевая фильтрация, и панель работают с портом 22.\n- Если всё же хотите ограничить SSH по IP-адресам, сначала согласуйте это с поддержкой. Подробнее: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n## Ubuntu и Debian: ufw\n\nВ Ubuntu `ufw` уже установлен, но выключен. В Debian его может не быть — первая команда ниже его установит.\n\n1. Обновите список пакетов, установите `ufw` (в Ubuntu команда установки лишь сообщит, что пакет уже есть) и проверьте состояние. Ожидаемый результат — `Status: inactive`.\n\n   ```bash\n   apt update\n   apt install -y ufw\n   ufw status\n   ```\n\n2. Разрешите SSH **до** включения файрвола. ufw ответит «Rules updated» (или «Rule added», если файрвол уже включён). Вместо `22/tcp` можно указать имя профиля `OpenSSH`; тогда используйте ту же форму и для ограничения, описанного ниже.\n\n   ```bash\n   ufw allow 22/tcp\n   ```\n\n3. Если на сервере работает сайт, разрешите HTTP и HTTPS:\n\n   ```bash\n   ufw allow 80,443/tcp\n   ```\n\n4. Включите файрвол. На вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?» ответьте `y`. Подтверждение: «Firewall is active and enabled on system startup».\n\n   ```bash\n   ufw enable\n   ```\n\n5. Проверьте правила:\n\n   ```bash\n   ufw status verbose\n   ```\n\n   Результат будет примерно таким:\n\n   ```text\n   Status: active\n   Logging: on (low)\n   Default: deny (incoming), allow (outgoing), disabled (routed)\n   New profiles: skip\n\n   To                         Action      From\n   --                         ------      ----\n   22/tcp                     ALLOW IN    Anywhere\n   80,443/tcp                 ALLOW IN    Anywhere\n   22/tcp (v6)                ALLOW IN    Anywhere (v6)\n   80,443/tcp (v6)            ALLOW IN    Anywhere (v6)\n   ```\n\n6. Не закрывая текущую сессию, подключитесь из нового терминала:\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\nСтрока `Default` показывает правила по умолчанию: всё входящее, что явно не разрешено, блокируется, а исходящий трафик проходит.\n\n### Ограничение попыток подключения по SSH\n\n```bash\nufw limit 22/tcp\n```\n\nКоманда заменяет правило `allow` для порта 22 (сообщение «Rule updated»). После этого ufw отклоняет адрес, с которого за 30 секунд открыто 6 и более подключений. Ограничение действует и на панель, и на AI-ассистента: они открывают новое подключение для каждого действия. Если после нескольких быстрых действий подряд очередное завершилось ошибкой, подождите 30 секунд и повторите.\n\n### Удаление правила\n\n1. Выведите пронумерованный список правил:\n\n   ```bash\n   ufw status numbered\n   ```\n\n2. Удалите правило по номеру из первой колонки (подставьте его вместо `НОМЕР`). ufw покажет правило, которое собирается удалить, и спросит «Proceed with operation (y|n)?»: проверьте его и ответьте `y`. Подтверждение: «Rule deleted».\n\n   ```bash\n   ufw delete НОМЕР\n   ```\n\nПосле каждого удаления номера сдвигаются, поэтому перед следующим удалением выведите список заново. Правила для IPv6 показываются отдельно, с пометкой `(v6)`, и удаляются тоже отдельно. Не удаляйте правила для порта 22.\n\nЕсли вы ошиблись в правилах, а сессия ещё открыта, файрвол можно полностью выключить (ответ «Firewall stopped and disabled on system startup») и настроить заново:\n\n```bash\nufw disable\n```\n\n## AlmaLinux и CentOS Stream: firewalld\n\n1. Установите и запустите firewalld, затем проверьте состояние. Ожидаемый результат — `running`. Зона по умолчанию уже разрешает SSH, так что запуск не разорвёт подключение.\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --state\n   ```\n\n2. Разрешите SSH, HTTP и HTTPS на постоянной основе и перезагрузите правила. Каждая команда отвечает `success`. Если служба уже была разрешена (обычно `ssh`), перед этим появится предупреждение `Warning: ALREADY_ENABLED: ssh` — это не ошибка.\n\n   ```bash\n   firewall-cmd --permanent --add-service=ssh --add-service=http --add-service=https\n   firewall-cmd --reload\n   ```\n\n3. Проверьте: в строке `services:` должны быть `ssh`, `http` и `https`.\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n4. Не закрывая текущую сессию, подключитесь из нового терминала — так же, как в случае ufw.\n\nПравило, добавленное с `--permanent`, начинает действовать после `firewall-cmd --reload`. Без `--permanent` правило применяется сразу, но пропадает при перезагрузке правил или сервера.\n\nДругие частые операции (выполните только нужную строку, затем перезагрузите правила):\n\n```bash\n# открыть порт\nfirewall-cmd --permanent --add-port=8080/tcp\n# закрыть ранее открытый порт\nfirewall-cmd --permanent --remove-port=8080/tcp\n# убрать службу из списка\nfirewall-cmd --permanent --remove-service=http\n# применить изменения\nfirewall-cmd --reload\n```\n\nУ firewalld нет простого аналога `ufw limit`. Для защиты от повторяющихся попыток входа по SSH используйте fail2ban.\n\n## Чувствительные порты — только с вашего адреса\n\nБазы данных (3306 для MariaDB/MySQL, 5432 для PostgreSQL) и панели администрирования, работающие на собственных портах, не должны быть открыты для всего интернета.\n\n1. Надёжнее всего не открывать их вовсе: пусть служба слушает `127.0.0.1`, а вы подключаетесь через SSH-туннель ([Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date)).\n2. Если порт должен быть доступен извне, попросите поддержку открыть его в сетевой фильтрации: по умолчанию такие порты там закрыты.\n3. Узнайте свой IP-адрес ([Инструмент «Ваш публичный IP-адрес»](#domenii.adresa-ip)) и разрешите порт в файрволе системы только для этого адреса.\n\nUbuntu и Debian:\n\n```bash\nufw allow from ВАШ_IP to any port 3306 proto tcp\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\nfirewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"ВАШ_IP\" port port=\"3306\" protocol=\"tcp\" accept'\nfirewall-cmd --reload\n```\n\nЕсли ваш интернет-адрес динамический, обновляйте правило при каждой его смене. Страницу администрирования, которая работает на 80/443 (например, `/phpmyadmin`), ограничивают в настройках веб-сервера, а не в файрволе.\n\n## Docker обходит ufw\n\nКогда вы публикуете порт контейнера (`-p 8080:80` или `ports:` в Docker Compose), Docker добавляет собственные правила iptables, которые срабатывают раньше правил ufw: `ufw status` их не показывает, а правило `deny` в ufw их не закрывает. Сетевая фильтрация по-прежнему отсекает все порты, кроме 22, 80 и 443, но контейнер, опубликованный на 80/443 или на порту, открытом по вашему запросу, доступен из интернета независимо от ufw.\n\n- Публикуйте контейнер только на `127.0.0.1`, а наружу выводите через nginx на 80/443:\n\n  ```bash\n  docker run -d -p 127.0.0.1:8080:80 nginx\n  ```\n\n  То же в Docker Compose:\n\n  ```yaml\n  services:\n    app:\n      ports:\n        - \"127.0.0.1:8080:80\"\n  ```\n\n- Для более тонкой фильтрации добавляйте правила в цепочку `DOCKER-USER`, как описано в [документации Docker об iptables](https://docs.docker.com/engine/network/firewall-iptables/).\n\nУстановка и остальные настройки: [Установка Docker и Docker Compose](#ghiduri.docker).\n\n## Частые проблемы\n\n| Что вы видите | Вероятная причина | Что делать |\n|---|---|---|\n| После включения ufw новые SSH-подключения завершаются ошибкой `Connection timed out` | порт 22 не разрешён | из оставшейся открытой сессии разрешите порт 22 (шаг 2 в разделе про ufw). Если открытой сессии нет, напишите в поддержку: «Перезагрузить» не поможет — ufw остаётся включённым и после перезагрузки |\n| Сайт перестал открываться после включения файрвола | 80 и 443 не разрешены в файрволе системы | разрешите HTTP и HTTPS (шаг 3 в разделе про ufw или шаг 2 в разделе про firewalld). Другие причины: [Сайт не открывается](#faq.site-ul-nu-se-deschide) |\n| Приложение на 3000 или 8080 не отвечает извне, хотя ufw его разрешает | порт отсекает сетевая фильтрация | опубликуйте приложение через nginx на 80/443 или попросите поддержку открыть порт |\n| Кнопки панели возвращают `reset_failed`, `ssh_key_push_failed` или «Не удалось изменить вход по паролю.» после изменения файрвола | порт 22 разрешён только для отдельных адресов или сработало ограничение `ufw limit` | разрешите порт 22 для любых адресов; если сработало ограничение, подождите 30 секунд и повторите |\n| Сертификат Let's Encrypt не выпускается или не продлевается | порт 80 закрыт в файрволе системы | разрешите порт 80: через него проходит проверка Let's Encrypt ([Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt)) |\n\n## Частые вопросы\n\n**Могу ли я сам открыть порт в сетевой фильтрации?**\nНет. Настроек файрвола в панели нет, сетевую фильтрацию меняет команда BLACKBOX. Напишите в поддержку, указав порт, протокол и IP-адрес сервера.\n\n**Показывает ли панель, включён ли файрвол?**\nНет. Страница «Мониторинг» показывает загрузку серверов с услугой «Мониторинг» (CPU, ОЗУ, диск, нагрузка, процессы), а не состояние файрвола: [Страница «Мониторинг»](#servicii.monitorizare). Состояние проверяйте на самом сервере командами проверки, приведёнными выше.\n\n**Будет ли сервер отвечать на ping после включения файрвола?**\nДа. ufw и firewalld по умолчанию пропускают ping, сетевая фильтрация тоже.\n\n**Нужно ли разрешать исходящий трафик?**\nНет: ufw и firewalld по умолчанию пропускают весь исходящий трафик. Если вы его ограничиваете, оставьте как минимум HTTP (80), HTTPS (443), DNS (53) и NTP (123/UDP): от них зависят обновления системы, точное время на сервере, Let's Encrypt и агент услуги «Мониторинг» ([Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare)).\n\n**У меня тариф «VPS hosting» с панелью управления. Включать ufw?**\nУ панели управления хостингом может быть собственный файрвол. Прежде чем включать `ufw` или `firewalld`, загляните в документацию установленной панели или спросите поддержку.\n\n**У меня выделенный сервер. Здесь всё так же?**\nКоманды для ufw и firewalld те же. Какие порты открыты в сети для выделенного сервера, уточните в поддержке.\n",
    "en": "Incoming traffic to your BLACKBOX server passes through two filtering levels: network filtering, managed by BLACKBOX, and the operating system firewall, which you configure yourself: `ufw` on Ubuntu and Debian, `firewalld` on AlmaLinux and CentOS Stream. The app.blackbox.md panel has no firewall settings, so you run all the commands below on the server, over SSH, as `root`.\n\n**Available to:** anyone with root SSH access to a BLACKBOX server. Other ports in the network filtering: on request, through support.\n\n## The two filtering levels\n\n| Level | Who manages it | On a new server | How you change it |\n|---|---|---|---|\n| Network filtering | BLACKBOX | SSH (22), HTTP (80), HTTPS (443) and ping are allowed | write to support; the panel has no firewall settings |\n| The system firewall (`ufw` or `firewalld`) | you | inactive or not installed: BLACKBOX does not configure it when the server is created | with the commands in this article |\n\nTraffic reaches your application only if the port is open at **both** levels. For example:\n\n- A website on ports 80 and 443: the network filtering already lets them through. If you turn on `ufw` or `firewalld`, allow them there too.\n- An application on port 3000, 8000 or 8080 is not reachable from the internet, even if you allow it in `ufw`: the network filtering blocks it. Publish it through nginx on 80/443 ([Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii)) or ask support to open the port.\n\nTo open another port in the network filtering, send support the server's IP address, the order number (`BBX-…`), the port, the protocol (TCP or UDP) and what you need it for: [How to contact BLACKBOX support](#suport.contact).\n\n> **Warning**\n> Customers have no web or VNC console: the server is managed only over SSH. Before you turn on or change the firewall, open a second SSH session and keep it open until you have checked that a new connection succeeds. If you do lose access, write to support: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Keep port 22 open for BLACKBOX\n\nThe panel buttons (for example “Reset password”, “Add SSH key”, “Disable password login”) and the AI assistant connect to the server over SSH, on port 22, as `root`, with the BLACKBOX management key. If you allow port 22 only from your own IP address, these features stop working.\n\n- Allow port 22 from any address, and protect SSH with keys, with the `ufw limit` rate limit (below) and with fail2ban: [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n- Don't move SSH to another port: the network filtering and the panel use port 22.\n- If you still want to restrict SSH to specific IP addresses, ask support first. Details: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n## Ubuntu and Debian: ufw\n\nOn Ubuntu, `ufw` is installed but inactive. On Debian it may be missing; the first command below installs it.\n\n1. Update the package list, install `ufw` (on Ubuntu, the install command only confirms that it is already installed) and check its status. The expected result is `Status: inactive`.\n\n   ```bash\n   apt update\n   apt install -y ufw\n   ufw status\n   ```\n\n2. Allow SSH **before** you turn on the firewall. ufw confirms with “Rules updated” (or “Rule added” if it is already active). Instead of `22/tcp` you can use the profile name `OpenSSH`; if you do, use the same form for the rate limit below as well.\n\n   ```bash\n   ufw allow 22/tcp\n   ```\n\n3. If the server hosts a website, allow HTTP and HTTPS:\n\n   ```bash\n   ufw allow 80,443/tcp\n   ```\n\n4. Turn on the firewall. When asked “Command may disrupt existing ssh connections. Proceed with operation (y|n)?”, answer `y`. The confirmation is “Firewall is active and enabled on system startup”.\n\n   ```bash\n   ufw enable\n   ```\n\n5. Check the rules:\n\n   ```bash\n   ufw status verbose\n   ```\n\n   The result looks roughly like this:\n\n   ```text\n   Status: active\n   Logging: on (low)\n   Default: deny (incoming), allow (outgoing), disabled (routed)\n   New profiles: skip\n\n   To                         Action      From\n   --                         ------      ----\n   22/tcp                     ALLOW IN    Anywhere\n   80,443/tcp                 ALLOW IN    Anywhere\n   22/tcp (v6)                ALLOW IN    Anywhere (v6)\n   80,443/tcp (v6)            ALLOW IN    Anywhere (v6)\n   ```\n\n6. Without closing the current session, connect from a new terminal:\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\nThe `Default` line shows the default policy: everything incoming that is not explicitly allowed is blocked, and outgoing traffic passes.\n\n### Limiting SSH connection attempts\n\n```bash\nufw limit 22/tcp\n```\n\nThe command replaces the `allow` rule for port 22 (message “Rule updated”). From then on, ufw rejects an address that opens 6 or more connections within 30 seconds. The limit also applies to the panel and the AI assistant, which open a new connection for every action: if an action fails after several actions in quick succession, wait 30 seconds and try again.\n\n### Deleting a rule\n\n1. Show the numbered rules:\n\n   ```bash\n   ufw status numbered\n   ```\n\n2. Delete the rule by the number in the first column (put it in place of `NUMBER`). ufw shows the rule it is about to delete and asks “Proceed with operation (y|n)?”: check it and answer `y`. The confirmation is “Rule deleted”.\n\n   ```bash\n   ufw delete NUMBER\n   ```\n\nAfter each deletion the numbers change, so show the list again before the next one. IPv6 rules appear separately, marked `(v6)`, and are also deleted separately. Don't delete the rules for port 22.\n\nIf you made a mistake in a rule and still have a session open, you can turn the firewall off completely (“Firewall stopped and disabled on system startup”) and then set it up again:\n\n```bash\nufw disable\n```\n\n## AlmaLinux and CentOS Stream: firewalld\n\n1. Install and start firewalld, then check its state. The expected result is `running`. The default zone already allows SSH, so starting it does not disconnect you.\n\n   ```bash\n   dnf install -y firewalld\n   systemctl enable --now firewalld\n   firewall-cmd --state\n   ```\n\n2. Permanently allow SSH, HTTP and HTTPS, then reload the rules. Each command replies `success`. If a service was already allowed (usually `ssh`), the warning `Warning: ALREADY_ENABLED: ssh` appears first; it is not an error.\n\n   ```bash\n   firewall-cmd --permanent --add-service=ssh --add-service=http --add-service=https\n   firewall-cmd --reload\n   ```\n\n3. Check: the `services:` line must show `ssh`, `http` and `https`.\n\n   ```bash\n   firewall-cmd --list-all\n   ```\n\n4. Without closing the current session, connect from a new terminal, as with ufw.\n\nA rule added with `--permanent` takes effect after `firewall-cmd --reload`. Without `--permanent`, the rule applies immediately, but it is lost on a reload or a reboot.\n\nOther common operations (run only the line you need, then reload):\n\n```bash\n# open a port\nfirewall-cmd --permanent --add-port=8080/tcp\n# close a previously opened port\nfirewall-cmd --permanent --remove-port=8080/tcp\n# remove a service from the list\nfirewall-cmd --permanent --remove-service=http\n# apply the changes\nfirewall-cmd --reload\n```\n\nfirewalld has no simple equivalent of `ufw limit`. To protect SSH against repeated login attempts, use fail2ban.\n\n## Sensitive ports: only from your address\n\nDatabases (3306 for MariaDB/MySQL, 5432 for PostgreSQL) and admin panels that listen on their own ports should not be open to the whole internet.\n\n1. The safest option is not to open them at all: let the service listen on `127.0.0.1` and connect through an SSH tunnel ([Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date)).\n2. If the port must be reachable from outside, ask support to open it in the network filtering: by default, these ports are closed there.\n3. Find out your IP address ([The “Adresa ta IP” (Your IP address) tool](#domenii.adresa-ip)) and allow the port in the system firewall only from that address.\n\nUbuntu and Debian:\n\n```bash\nufw allow from YOUR_IP to any port 3306 proto tcp\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\nfirewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"YOUR_IP\" port port=\"3306\" protocol=\"tcp\" accept'\nfirewall-cmd --reload\n```\n\nIf your internet address is dynamic, update the rule whenever it changes. An admin page served on 80/443 (for example `/phpmyadmin`) is restricted in the web server, not in the firewall.\n\n## Docker bypasses ufw\n\nWhen you publish a container's port (`-p 8080:80` or `ports:` in Docker Compose), Docker writes its own iptables rules, which are applied before the ufw rules: `ufw status` does not show them, and a `deny` rule in ufw does not close them. The network filtering still blocks ports other than 22, 80 and 443, but a container published on 80/443, or on a port opened at your request, is reachable from the internet regardless of ufw.\n\n- Publish the container only on `127.0.0.1` and expose it through nginx on 80/443:\n\n  ```bash\n  docker run -d -p 127.0.0.1:8080:80 nginx\n  ```\n\n  The same in Docker Compose:\n\n  ```yaml\n  services:\n    app:\n      ports:\n        - \"127.0.0.1:8080:80\"\n  ```\n\n- For advanced filtering, add rules to the `DOCKER-USER` chain, as described in the [Docker documentation on iptables](https://docs.docker.com/engine/network/firewall-iptables/).\n\nInstallation and other settings: [Installing Docker and Docker Compose](#ghiduri.docker).\n\n## Common problems\n\n| What you see | Likely cause | What to do |\n|---|---|---|\n| After you turn on ufw, new SSH connections fail with `Connection timed out` | port 22 was not allowed | from the session that is still open, allow port 22 (step 2 in the ufw section). If no session is open, write to support: “Reboot” does not help, because ufw stays active after a reboot |\n| The website stopped opening after you turned on the firewall | 80 and 443 are not allowed in the system firewall | allow HTTP and HTTPS (step 3 in the ufw section or step 2 in the firewalld section). Other causes: [The site does not open](#faq.site-ul-nu-se-deschide) |\n| An application on 3000 or 8080 does not respond from outside, although ufw allows it | the network filtering blocks the port | publish the application through nginx on 80/443 or ask support to open the port |\n| Panel buttons return `reset_failed`, `ssh_key_push_failed` or “Failed to change password login.” after a firewall change | port 22 is allowed only from certain addresses, or the `ufw limit` rate limit was reached | allow port 22 from any address; if the rate limit was reached, wait 30 seconds and try again |\n| The Let's Encrypt certificate is not issued or not renewed | port 80 is closed in the system firewall | allow port 80: Let's Encrypt validation goes through it ([Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt)) |\n\n## Frequently asked questions\n\n**Can I open a port in the network filtering myself?**\nNo. The panel has no firewall settings, and the network filtering is changed by the BLACKBOX team. Write to support with the port, the protocol and the server's IP address.\n\n**Does the panel show whether the firewall is active?**\nNo. The “Monitoring” page shows the load of servers that have the Monitoring service (CPU, RAM, disk, load, processes), not the firewall status: [The “Monitoring” page](#servicii.monitorizare). Check the status on the server, with the check commands above.\n\n**Does the server still respond to ping after I turn on the firewall?**\nYes. ufw and firewalld allow ping by default, and the network filtering lets it through.\n\n**Do I need to allow outgoing traffic?**\nNo. ufw and firewalld let all outgoing traffic out by default. If you restrict it, keep at least HTTP (80), HTTPS (443), DNS (53) and NTP (123/UDP): system updates, the server's accurate time, Let's Encrypt and the Monitoring service agent depend on them ([The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare)).\n\n**I have a “VPS hosting” plan with a control panel. Should I turn on ufw?**\nA hosting control panel may have its own firewall. Before you turn on `ufw` or `firewalld`, check the documentation of the installed panel or ask support.\n\n**I have a dedicated server. Does the same apply?**\nThe ufw and firewalld commands are the same. Ask support which ports are open in the network for your dedicated server.\n"
   }
  },
  {
   "id": "ghiduri.fail2ban",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/fail2ban/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/fail2ban/",
    "en": "https://docs.blackbox.md/en/ghiduri/fail2ban/"
   },
   "title": {
    "ro": "Protecție împotriva încercărilor de ghicire a parolei cu fail2ban",
    "ru": "Защита от подбора паролей с помощью fail2ban",
    "en": "Protection against password-guessing attempts with fail2ban"
   },
   "summary": {
    "ro": "Instalarea și configurarea fail2ban pentru SSH, verificarea blocărilor și deblocarea unei adrese.",
    "ru": "Установка и настройка fail2ban для SSH, проверка блокировок и разблокировка адреса.",
    "en": "Installing and configuring fail2ban for SSH, checking bans and unblocking an address."
   },
   "markdown": {
    "ro": "fail2ban citește jurnalele serverului și blochează temporar adresele IP care greșesc autentificarea de prea multe ori într-un interval scurt. Îl instalați și îl configurați chiar pe server, conectat prin SSH ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). BLACKBOX nu instalează fail2ban pe serverele noi, iar panoul app.blackbox.md nu are setări pentru el.\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX cu Ubuntu, Debian, AlmaLinux sau CentOS Stream. Pe serverele marcate „Administrat” în „Serverele mele”, modificările le face echipa BLACKBOX: scrieți-ne.\n\n## Când vă trebuie fail2ban\n\nRoboții din internet încearcă fără oprire parole pe portul SSH al oricărui server public. Rolul fail2ban depinde de insigna de pe cardul serverului din „Serverele mele”:\n\n| Insigna | Situația | Ce face fail2ban |\n|---|---|---|\n| „Parolă + cheie” | Parola root funcționează prin SSH și poate fi ghicită | Blochează adresele care încearcă parole. Recomandat. |\n| „Doar cheie” | SSH acceptă doar chei, parola nu poate fi ghicită | Reduce în principal zgomotul din jurnale și încărcarea produsă de roboți. Tot recomandat. |\n\nCea mai sigură variantă rămâne autentificarea doar cu cheie: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh). fail2ban o completează, nu o înlocuiește. Locul lui între ceilalți pași de securitate: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou). Dacă serverul are un panou de control instalat (planurile „VPS hosting”), întrebați întâi suportul: panoul poate avea propriul fail2ban.\n\n## Instalarea\n\n### Ubuntu și Debian\n\n```bash\napt update\napt install -y fail2ban\n```\n\n### AlmaLinux și CentOS Stream\n\nfail2ban vine din depozitul EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban\n```\n\n## Configurarea în jail.local\n\nSetările implicite sunt în `/etc/fail2ban/jail.conf`. Nu modificați acest fișier: o actualizare a pachetului îl poate înlocui. Scrieți setările dvs. în `/etc/fail2ban/jail.local`, care se citește după `jail.conf` și după fișierele `.conf` din `/etc/fail2ban/jail.d/` și are prioritate față de ele. Fiecare secțiune protejează un serviciu și se numește „jail”: `[sshd]` pentru SSH, `[nginx-http-auth]` pentru nginx etc. Secțiunea `[DEFAULT]` conține valorile comune.\n\n1. Aflați adresa IP publică de pe care vă conectați: deschideți `https://ip.blackbox.md` și apăsați „Copiază” ([Instrumentul „Adresa ta IP”](#domenii.adresa-ip)). Dacă lucrați din mai multe locuri, de exemplu de la birou și de acasă, notați fiecare adresă.\n2. Pe Ubuntu și Debian, verificați dacă există fișierul jurnal al SSH:\n\n   ```bash\n   ls -l /var/log/auth.log\n   ```\n\n   Dacă răspunsul este „No such file or directory”, sistemul păstrează jurnalele doar în jurnalul systemd (de exemplu, pe Debian 12) și veți face și pasul 5. Pe AlmaLinux și CentOS Stream săriți acest pas: acolo fail2ban citește implicit jurnalul systemd, așa că nu aveți nevoie nici de pașii 5 și 7.\n3. Deschideți fișierul în editor:\n\n   ```bash\n   nano /etc/fail2ban/jail.local\n   ```\n\n   Pe AlmaLinux și CentOS Stream, dacă primiți „nano: command not found”, instalați întâi editorul:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. Lipiți conținutul de mai jos și înlocuiți `IP_DVS` cu adresa de la pasul 1 (mai multe adrese se separă prin spațiu). Dacă fișierul există deja, de exemplu creat după lista de verificare, nu dublați secțiunile: adăugați liniile lipsă în secțiunile existente.\n\n   ```ini\n   [DEFAULT]\n   ignoreip = 127.0.0.1/8 ::1 IP_DVS\n   bantime = 1h\n   findtime = 10m\n   maxretry = 5\n\n   [sshd]\n   enabled = true\n   ```\n\n5. Doar pe Ubuntu și Debian, dacă fișierul jurnal lipsea la pasul 2: adăugați în secțiunea `[sshd]`, sub `enabled = true`, linia de mai jos.\n\n   ```ini\n   backend = systemd\n   ```\n\n6. Salvați și închideți: în `nano`, Ctrl + O, Enter, apoi Ctrl + X.\n7. Dacă ați făcut pasul 5, instalați modulul de care are nevoie `backend = systemd`. De regulă, el se instalează deja împreună cu fail2ban; atunci comanda doar confirmă acest lucru.\n\n   ```bash\n   apt install -y python3-systemd\n   ```\n\n| Parametru | Ce face | Valoarea din exemplu |\n|---|---|---|\n| `ignoreip` | Adresele și rețelele care nu sunt blocate niciodată. `127.0.0.1/8 ::1` este serverul însuși. Acceptă și rețele, de exemplu `198.51.100.0/24`. | adresa dvs. |\n| `bantime` | Cât durează o blocare. Unități: `m` (minute), `h` (ore), `d` (zile). | 1 oră (implicit 10 minute) |\n| `findtime` | Intervalul în care se numără încercările greșite. | 10 minute (ca implicit) |\n| `maxretry` | Câte încercări greșite în `findtime` duc la blocare. | 5 (ca implicit) |\n| `bantime.increment` | Opțional, în `[DEFAULT]`. Cu `true`, fiecare nouă blocare a aceleiași adrese durează mai mult decât precedenta. | — |\n| `enabled` | În `[sshd]`: pornește protecția SSH. | `true` |\n| `backend` | În `[sshd]`: `systemd` înseamnă că fail2ban citește jurnalul systemd. Pe AlmaLinux și CentOS Stream aceasta este deja valoarea implicită. Pe Ubuntu și Debian îl adăugați doar dacă fișierul jurnal lipsește. | doar la pasul 5 |\n\n> **Important**\n> Adăugați-vă adresa la `ignoreip` înainte de a porni fail2ban. Altfel, câteva autentificări greșite de pe calculatorul dvs. vă blochează accesul la server. Nu închideți sesiunea SSH curentă până nu verificați că vă puteți conecta dintr-un terminal nou. Multe conexiuni de acasă și de pe mobil au o adresă dinamică, care se schimbă: dacă nu vă mai puteți conecta, verificați din nou adresa pe `ip.blackbox.md`.\n\n### AlmaLinux și CentOS Stream: cum se aplică blocarea\n\nPe aceste sisteme, pachetul fail2ban instalează și firewalld și blochează adresele prin el. Pe un server nou firewalld nu rulează, iar fără el blocările nu au efect. Verificați:\n\n```bash\nsystemctl is-active firewalld\n```\n\n| Răspuns | Ce faceți |\n|---|---|\n| `active` | Nimic: blocările se adaugă în firewalld. |\n| `inactive` sau alt răspuns | Adăugați în secțiunea `[DEFAULT]` din `jail.local` cele două linii de mai jos: fail2ban va bloca adresele direct prin nftables. Alternativ, porniți și configurați firewalld: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall). |\n\n```ini\nbanaction = nftables-multiport\nbanaction_allports = nftables-allports\n```\n\nDacă nu folosiți firewalld, verificați și dacă este setat să pornească la boot:\n\n```bash\nsystemctl is-enabled firewalld\n```\n\nDacă răspunsul este `enabled`, dezactivați pornirea automată. Altfel, după o repornire firewalld pornește cu regulile implicite, care lasă să treacă SSH, dar nu și porturile 80 și 443 ale site-urilor.\n\n```bash\nsystemctl disable firewalld\n```\n\n## Pornirea și verificarea\n\n1. Verificați configurația. Răspunsul corect este „OK: configuration test is successful”; altfel, mesajul arată fișierul și linia cu problema.\n\n   ```bash\n   fail2ban-client -t\n   ```\n\n2. Activați pornirea automată și porniți serviciul, apoi reporniți-l ca să citească sigur `jail.local` (pe Ubuntu și Debian poate rula deja de la instalare):\n\n   ```bash\n   systemctl enable --now fail2ban\n   systemctl restart fail2ban\n   ```\n\n3. Verificați jail-urile active. În „Jail list” trebuie să apară `sshd`:\n\n   ```bash\n   fail2ban-client status\n   ```\n\n4. Verificați protecția SSH:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n   ```text\n   Status for the jail: sshd\n   |- Filter\n   |  |- Currently failed: 2\n   |  |- Total failed:     57\n   |  `- File list:        /var/log/auth.log\n   `- Actions\n      |- Currently banned: 1\n      |- Total banned:     9\n      `- Banned IP list:   203.0.113.45\n   ```\n\n| Câmp | Ce arată |\n|---|---|\n| „Currently failed” | Câte adrese au încercări greșite în intervalul `findtime`, dar nu sunt încă blocate |\n| „Total failed” | Încercările greșite numărate de la pornirea fail2ban |\n| „File list” sau „Journal matches” | De unde citește fail2ban: din fișier sau, cu `backend = systemd`, din jurnalul systemd |\n| „Currently banned”, „Total banned”, „Banned IP list” | Câte adrese sunt blocate acum, câte blocări au fost de la pornirea fail2ban și care adrese sunt blocate acum |\n\nIstoricul blocărilor și erorile sunt în jurnalul fail2ban, de regulă fișierul `/var/log/fail2ban.log`. Ultimele blocări și deblocări:\n\n```bash\ngrep -E \"(Ban|Unban) \" /var/log/fail2ban.log | tail -n 20\n```\n\nDacă fișierul lipsește, citiți jurnalul systemd al serviciului:\n\n```bash\njournalctl -u fail2ban -n 50\n```\n\n### Testați blocarea\n\nVerificați o dată că blocarea chiar funcționează, cu `203.0.113.10`, o adresă rezervată pentru documentație, care nu aparține nimănui:\n\n```bash\nfail2ban-client set sshd banip 203.0.113.10\nfail2ban-client status sshd\ntail -n 20 /var/log/fail2ban.log\nfail2ban-client set sshd unbanip 203.0.113.10\n```\n\nAdresa trebuie să apară în „Banned IP list”, iar în jurnal, după linia cu `Ban 203.0.113.10`, să nu existe linii cu `ERROR` (dacă fișierul jurnal lipsește, folosiți comanda `journalctl` de mai sus). Dacă apar erori, vedeți „Probleme frecvente” mai jos.\n\n## Deblocarea unei adrese\n\nScoateți adresa din blocarea SSH:\n\n```bash\nfail2ban-client set sshd unbanip ADRESA_IP\n```\n\nSau din toate jail-urile deodată:\n\n```bash\nfail2ban-client unban ADRESA_IP\n```\n\nCa adresa să nu mai fie blocată pe viitor, adăugați-o la `ignoreip` în `/etc/fail2ban/jail.local`, apoi reporniți fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\n### Dacă v-ați blocat propria adresă\n\nSemnul: conexiunea SSH de pe calculatorul dvs. este refuzată sau expiră, deși de pe altă rețea serverul răspunde. Aveți patru variante:\n\n1. Așteptați să expire blocarea (`bantime`, o oră în exemplul de mai sus). Repornirea serverului nu ajută: fail2ban reține blocările active și le aplică din nou la pornire.\n2. Conectați-vă de pe altă rețea, de exemplu prin internetul mobil al telefonului, deblocați adresa ca mai sus și adăugați-o la `ignoreip`.\n3. Dacă ați conectat un asistent AI printr-un token cu permisiunea „Rulează orice comandă ca root pe serverele mele”, cereți-i să ruleze comanda de deblocare: ea ajunge pe server prin conexiunea BLACKBOX, nu de la adresa dvs. ([Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server)).\n4. Scrieți-ne și indicați IP-ul serverului și adresa dvs. IP: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n> **Atenție**\n> Pentru clienți nu există consolă web sau VNC prin care să intrați pe server ocolind blocarea. De aceea, adăugați-vă adresa la `ignoreip` înainte de a porni fail2ban.\n\n## Protecție pentru nginx (opțional)\n\nDacă pe server rulează nginx ([Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt)), fail2ban are filtre gata făcute. Ele citesc jurnalele de erori nginx (`/var/log/nginx/*error.log`) și blochează porturile 80 și 443.\n\n| Jail | Ce blochează | Când îl activați |\n|---|---|---|\n| `nginx-http-auth` | Adresele care greșesc repetat utilizatorul sau parola la paginile protejate cu autentificare HTTP (`auth_basic`) | Dacă aveți astfel de pagini, de exemplu un panou de administrare |\n| `nginx-limit-req` | Adresele care depășesc repetat limita de cereri setată în nginx | Doar dacă ați configurat `limit_req_zone` și `limit_req`; fără ele, jurnalul nu are ce semnala |\n\nAdăugați la sfârșitul `/etc/fail2ban/jail.local` doar secțiunile de care aveți nevoie:\n\n```ini\n[nginx-http-auth]\nenabled = true\n\n[nginx-limit-req]\nenabled = true\n```\n\nApoi verificați configurația, reporniți serviciul și controlați jail-ul nou:\n\n```bash\nfail2ban-client -t\nsystemctl restart fail2ban\nfail2ban-client status nginx-http-auth\n```\n\nDacă site-urile scriu jurnalul de erori în alt loc, adăugați în secțiune linia `logpath = CALEA_JURNALULUI`.\n\n> **Notă**\n> Dacă domeniul trece prin proxy-ul Cloudflare (norul portocaliu), cererile vin de la adresele Cloudflare, nu direct de la vizitatori. O blocare pe server nu oprește atunci atacatorul și poate bloca chiar adresele Cloudflare. Pentru astfel de domenii nu activați jail-urile nginx; folosiți protecțiile din contul Cloudflare.\n\n## Probleme frecvente\n\nÎncepeți cu aceste comenzi: prima arată erorile de configurare, celelalte starea serviciului.\n\n```bash\nfail2ban-client -t\nsystemctl status fail2ban\njournalctl -u fail2ban -n 50\n```\n\n| Mesaj | Cauza | Ce faceți |\n|---|---|---|\n| `Failed to access socket path: …/fail2ban.sock. Is fail2ban running?` | Serviciul nu rulează, de obicei din cauza unei erori în configurație | Corectați eroarea arătată de prima comandă de mai sus, apoi reporniți serviciul. Dacă tocmai l-ați pornit, așteptați câteva secunde și repetați comanda |\n| `Have not found any log file for sshd jail` | Fișierul jurnal al SSH lipsește (Ubuntu, Debian) | Faceți pașii 5 și 7 din „Configurarea în jail.local” |\n| `Have not found any log file for nginx-http-auth jail` (sau `nginx-limit-req`) | nginx nu este instalat sau jurnalele lui sunt în alt loc | Scoateți secțiunea din `jail.local` sau adăugați `logpath` |\n| În jurnalul fail2ban, la o blocare: `iptables: not found` | Metoda implicită de blocare folosește iptables, care nu este instalat (se poate întâmpla pe Debian) | Instalați pachetul `iptables` și reporniți fail2ban |\n| În jurnalul fail2ban, la o blocare: `FirewallD is not running` | Pe AlmaLinux sau CentOS Stream firewalld este oprit | Urmați „AlmaLinux și CentOS Stream: cum se aplică blocarea” |\n\n## Întrebări frecvente\n\n**Serverul meu este „Doar cheie”. Mai are rost fail2ban?**\nDa. Parola nu poate fi ghicită, dar roboții continuă să se conecteze și să umple jurnalele. fail2ban îi blochează după câteva încercări și reduce zgomotul și încărcarea.\n\n**Panoul îmi arată dacă fail2ban funcționează?**\nPentru serverele comandate pe blackbox.md, nu: pagina „Monitorizare” arată încărcarea serverelor cu serviciul Monitoring (CPU, RAM, disc), nu starea fail2ban ([Pagina „Monitorizare”](#servicii.monitorizare)). Verificați pe server, cu comenzile din „Pornirea și verificarea”. Pentru serverele unei companii administrate de BLACKBOX, pagina „Prezentare generală” are placa „Fără fail2ban” și coloana „fail2ban” ([Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala)).\n\n**fail2ban mă apără de un atac DDoS?**\nNu. fail2ban reacționează la autentificări greșite și la erori din jurnale, adresă cu adresă. Dacă serverul sau site-ul este atacat, citiți [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis) și scrieți-ne.\n\n**Pot folosi fail2ban împreună cu ufw sau firewalld?**\nDa. fail2ban își adaugă propriile reguli de blocare, separat de regulile dvs. de firewall. Filtrarea din rețea, administrată de BLACKBOX, funcționează independent de ambele: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n",
    "ru": "fail2ban читает журналы сервера и временно блокирует IP-адреса, с которых за короткое время слишком много раз не удалось войти. Его устанавливают и настраивают на самом сервере — по SSH, под `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). BLACKBOX не устанавливает fail2ban на новые серверы, а в панели app.blackbox.md настроек для него нет.\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX с Ubuntu, Debian, AlmaLinux или CentOS Stream. На серверах с отметкой «Обслуживается» на странице «Мои серверы» изменения вносит команда BLACKBOX — напишите нам.\n\n## Когда нужен fail2ban\n\nБоты в интернете без перерыва перебирают пароли на SSH-порту любого публичного сервера. Польза от fail2ban зависит от отметки в карточке сервера на странице «Мои серверы»:\n\n| Отметка | Ситуация | Что делает fail2ban |\n|---|---|---|\n| «Пароль + ключ» | Пароль root работает по SSH, и его можно подобрать | Блокирует адреса, с которых подбирают пароль. Рекомендуется. |\n| «Только ключ» | SSH принимает только ключи, пароль подобрать нельзя | В основном убирает шум из журналов и снижает нагрузку от ботов. Тоже рекомендуется. |\n\nНадёжнее всего — вход только по ключу: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh). fail2ban дополняет его, но не заменяет. Место fail2ban среди остальных шагов защиты описано в статье [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou). Если на сервере установлена панель управления (тарифы «VPS hosting»), сначала уточните у поддержки: у панели может быть собственный fail2ban.\n\n## Установка\n\n### Ubuntu и Debian\n\n```bash\napt update\napt install -y fail2ban\n```\n\n### AlmaLinux и CentOS Stream\n\nfail2ban устанавливается из репозитория EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban\n```\n\n## Настройка в jail.local\n\nНастройки по умолчанию хранятся в `/etc/fail2ban/jail.conf`. Не меняйте этот файл: обновление пакета может его перезаписать. Свои настройки пишите в `/etc/fail2ban/jail.local`: он читается после `jail.conf` и файлов `.conf` из `/etc/fail2ban/jail.d/` и имеет приоритет над ними. Каждый раздел защищает одну службу и называется jail: `[sshd]` — для SSH, `[nginx-http-auth]` — для nginx и т. д. Раздел `[DEFAULT]` содержит общие значения.\n\n1. Узнайте публичный IP-адрес, с которого вы подключаетесь: откройте `https://ip.blackbox.md/ru` и нажмите «Копировать» ([Инструмент «Ваш публичный IP-адрес»](#domenii.adresa-ip)). Если вы работаете из нескольких мест, например из офиса и из дома, запишите каждый адрес.\n2. В Ubuntu и Debian проверьте, есть ли файл журнала SSH:\n\n   ```bash\n   ls -l /var/log/auth.log\n   ```\n\n   Если команда выводит «No such file or directory», система хранит журналы только в журнале systemd (например, в Debian 12) — тогда выполните и шаг 5. В AlmaLinux и CentOS Stream пропустите этот шаг: там fail2ban по умолчанию читает журнал systemd, поэтому шаги 5 и 7 тоже не нужны.\n3. Откройте файл в редакторе:\n\n   ```bash\n   nano /etc/fail2ban/jail.local\n   ```\n\n   Если в AlmaLinux или CentOS Stream появилось «nano: command not found», сначала установите редактор:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. Вставьте текст ниже и замените `ВАШ_IP` адресом из шага 1 (несколько адресов разделяются пробелом). Если файл уже существует, например вы создали его по чек-листу, не дублируйте разделы: допишите недостающие строки в существующие.\n\n   ```ini\n   [DEFAULT]\n   ignoreip = 127.0.0.1/8 ::1 ВАШ_IP\n   bantime = 1h\n   findtime = 10m\n   maxretry = 5\n\n   [sshd]\n   enabled = true\n   ```\n\n5. Только в Ubuntu и Debian, если на шаге 2 файла журнала не оказалось: добавьте в раздел `[sshd]` под строкой `enabled = true` такую строку.\n\n   ```ini\n   backend = systemd\n   ```\n\n6. Сохраните файл и закройте редактор: в `nano` — Ctrl + O, Enter, затем Ctrl + X.\n7. Если вы выполнили шаг 5, установите модуль, который нужен для `backend = systemd`. Обычно он уже устанавливается вместе с fail2ban — тогда команда просто это подтвердит.\n\n   ```bash\n   apt install -y python3-systemd\n   ```\n\n| Параметр | Что делает | Значение в примере |\n|---|---|---|\n| `ignoreip` | Адреса и сети, которые никогда не блокируются. `127.0.0.1/8 ::1` — сам сервер. Можно указывать и сети, например `198.51.100.0/24`. | ваш адрес |\n| `bantime` | Сколько длится блокировка. Единицы: `m` (минуты), `h` (часы), `d` (дни). | 1 час (по умолчанию 10 минут) |\n| `findtime` | Интервал, за который считаются неудачные попытки. | 10 минут (как по умолчанию) |\n| `maxretry` | Сколько неудачных попыток за `findtime` приводят к блокировке. | 5 (как по умолчанию) |\n| `bantime.increment` | Необязательно, в `[DEFAULT]`. При значении `true` каждая следующая блокировка того же адреса длится дольше предыдущей. | — |\n| `enabled` | В `[sshd]`: включает защиту SSH. | `true` |\n| `backend` | В `[sshd]`: `systemd` означает, что fail2ban читает журнал systemd. В AlmaLinux и CentOS Stream это и так значение по умолчанию. В Ubuntu и Debian его добавляют, только если нет файла журнала. | только на шаге 5 |\n\n> **Важно**\n> Добавьте свой адрес в `ignoreip` до запуска fail2ban. Иначе несколько неудачных входов с вашего компьютера закроют вам доступ к серверу. Не закрывайте текущую SSH-сессию, пока не убедитесь, что можете подключиться из нового терминала. У многих домашних и мобильных подключений адрес динамический и меняется: если подключиться не получается, снова проверьте адрес на `ip.blackbox.md`.\n\n### AlmaLinux и CentOS Stream: как применяется блокировка\n\nВ этих системах пакет fail2ban устанавливает вместе с собой firewalld и блокирует адреса через него. На новом сервере firewalld не запущен, а без него блокировки не срабатывают. Проверьте:\n\n```bash\nsystemctl is-active firewalld\n```\n\n| Ответ | Что делать |\n|---|---|\n| `active` | Ничего: блокировки добавляются в firewalld. |\n| `inactive` или другой ответ | Добавьте в раздел `[DEFAULT]` файла `jail.local` две строки ниже — тогда fail2ban будет блокировать адреса напрямую через nftables. Другой вариант — запустить и настроить firewalld: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall). |\n\n```ini\nbanaction = nftables-multiport\nbanaction_allports = nftables-allports\n```\n\nЕсли вы не пользуетесь firewalld, проверьте также, не включён ли его автозапуск:\n\n```bash\nsystemctl is-enabled firewalld\n```\n\nЕсли ответ `enabled`, отключите автозапуск. Иначе после перезагрузки firewalld запустится с правилами по умолчанию: они пропускают SSH, но закрывают порты сайтов 80 и 443.\n\n```bash\nsystemctl disable firewalld\n```\n\n## Запуск и проверка\n\n1. Проверьте конфигурацию. Правильный ответ — «OK: configuration test is successful»; в противном случае сообщение укажет файл и строку с ошибкой.\n\n   ```bash\n   fail2ban-client -t\n   ```\n\n2. Включите автозапуск и запустите службу, затем перезапустите её, чтобы она гарантированно прочитала `jail.local` (в Ubuntu и Debian служба может работать уже с момента установки):\n\n   ```bash\n   systemctl enable --now fail2ban\n   systemctl restart fail2ban\n   ```\n\n3. Проверьте список активных jail. В строке «Jail list» должен быть `sshd`:\n\n   ```bash\n   fail2ban-client status\n   ```\n\n4. Проверьте защиту SSH:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n   ```text\n   Status for the jail: sshd\n   |- Filter\n   |  |- Currently failed: 2\n   |  |- Total failed:     57\n   |  `- File list:        /var/log/auth.log\n   `- Actions\n      |- Currently banned: 1\n      |- Total banned:     9\n      `- Banned IP list:   203.0.113.45\n   ```\n\n| Поле | Что показывает |\n|---|---|\n| «Currently failed» | Сколько адресов с неудачными попытками за `findtime` ещё не заблокированы |\n| «Total failed» | Сколько неудачных попыток учтено с момента запуска fail2ban |\n| «File list» или «Journal matches» | Откуда fail2ban читает журнал: из файла или, при `backend = systemd`, из журнала systemd |\n| «Currently banned», «Total banned», «Banned IP list» | Сколько адресов заблокировано сейчас, сколько блокировок было с момента запуска fail2ban и какие адреса заблокированы сейчас |\n\nИстория блокировок и ошибки записываются в журнал fail2ban — обычно это файл `/var/log/fail2ban.log`. Последние блокировки и разблокировки:\n\n```bash\ngrep -E \"(Ban|Unban) \" /var/log/fail2ban.log | tail -n 20\n```\n\nЕсли такого файла нет, смотрите журнал службы в systemd:\n\n```bash\njournalctl -u fail2ban -n 50\n```\n\n### Проверьте, что блокировка работает\n\nОдин раз убедитесь, что блокировка действительно срабатывает. Для проверки возьмите `203.0.113.10` — адрес, зарезервированный для документации, он никому не принадлежит:\n\n```bash\nfail2ban-client set sshd banip 203.0.113.10\nfail2ban-client status sshd\ntail -n 20 /var/log/fail2ban.log\nfail2ban-client set sshd unbanip 203.0.113.10\n```\n\nАдрес должен появиться в «Banned IP list», а в журнале после строки с `Ban 203.0.113.10` не должно быть строк с `ERROR` (если файла журнала нет, используйте команду `journalctl` выше). Если ошибки есть, смотрите раздел «Частые проблемы» ниже.\n\n## Разблокировка адреса\n\nСнимите блокировку SSH с адреса:\n\n```bash\nfail2ban-client set sshd unbanip IP_АДРЕС\n```\n\nИли сразу во всех jail:\n\n```bash\nfail2ban-client unban IP_АДРЕС\n```\n\nЧтобы адрес больше не блокировался, добавьте его в `ignoreip` в файле `/etc/fail2ban/jail.local` и перезапустите fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\n### Если вы заблокировали собственный адрес\n\nПризнак: SSH-подключение с вашего компьютера отклоняется или зависает до тайм-аута, хотя из другой сети сервер отвечает. Есть четыре варианта:\n\n1. Дождитесь окончания блокировки (`bantime`, в примере выше — один час). Перезагрузка сервера не поможет: fail2ban помнит действующие блокировки и восстанавливает их при запуске.\n2. Подключитесь из другой сети, например через мобильный интернет телефона, снимите блокировку, как описано выше, и добавьте адрес в `ignoreip`.\n3. Если вы подключили AI-ассистента через токен с разрешением «Выполнять любые команды от root на моих серверах», попросите его выполнить команду разблокировки: она попадает на сервер через подключение BLACKBOX, а не с вашего адреса ([Выполнение команд на сервере через AI](#ai.comenzi-pe-server)).\n4. Напишите нам и укажите IP-адрес сервера и ваш IP-адрес: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n> **Внимание**\n> Веб-консоли или VNC, через которые можно попасть на сервер в обход блокировки, у клиентов нет. Поэтому добавьте свой адрес в `ignoreip` до запуска fail2ban.\n\n## Защита для nginx (необязательно)\n\nЕсли на сервере работает nginx ([Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt)), в fail2ban есть готовые фильтры. Они читают журналы ошибок nginx (`/var/log/nginx/*error.log`) и блокируют порты 80 и 443.\n\n| Jail | Что блокирует | Когда включать |\n|---|---|---|\n| `nginx-http-auth` | Адреса, с которых раз за разом вводят неверное имя пользователя или пароль на страницах с HTTP-аутентификацией (`auth_basic`) | Если у вас есть такие страницы, например панель администратора |\n| `nginx-limit-req` | Адреса, которые раз за разом превышают лимит запросов, заданный в nginx | Только если вы настроили `limit_req_zone` и `limit_req`; без них в журнале нечего отслеживать |\n\nДобавьте в конец `/etc/fail2ban/jail.local` только нужные разделы:\n\n```ini\n[nginx-http-auth]\nenabled = true\n\n[nginx-limit-req]\nenabled = true\n```\n\nЗатем проверьте конфигурацию, перезапустите службу и посмотрите состояние нового jail:\n\n```bash\nfail2ban-client -t\nsystemctl restart fail2ban\nfail2ban-client status nginx-http-auth\n```\n\nЕсли сайты пишут журнал ошибок в другое место, добавьте в раздел строку `logpath = ПУТЬ_К_ЖУРНАЛУ`.\n\n> **Примечание**\n> Если домен работает через прокси Cloudflare (оранжевое облако), запросы приходят с адресов Cloudflare, а не напрямую от посетителей. Блокировка на сервере тогда не остановит атакующего и может заблокировать сами адреса Cloudflare. Для таких доменов не включайте jail для nginx — пользуйтесь средствами защиты в аккаунте Cloudflare.\n\n## Частые проблемы\n\nНачните с этих команд: первая показывает ошибки конфигурации, остальные — состояние службы.\n\n```bash\nfail2ban-client -t\nsystemctl status fail2ban\njournalctl -u fail2ban -n 50\n```\n\n| Сообщение | Причина | Что делать |\n|---|---|---|\n| `Failed to access socket path: …/fail2ban.sock. Is fail2ban running?` | Служба не запущена, обычно из-за ошибки в конфигурации | Исправьте ошибку, которую показала первая команда выше, и перезапустите службу. Если вы только что её запустили, подождите несколько секунд и повторите команду |\n| `Have not found any log file for sshd jail` | Нет файла журнала SSH (Ubuntu, Debian) | Выполните шаги 5 и 7 из раздела «Настройка в jail.local» |\n| `Have not found any log file for nginx-http-auth jail` (или `nginx-limit-req`) | nginx не установлен или его журналы лежат в другом месте | Удалите раздел из `jail.local` или добавьте `logpath` |\n| В журнале fail2ban при блокировке: `iptables: not found` | Способ блокировки по умолчанию использует iptables, а он не установлен (такое бывает в Debian) | Установите пакет `iptables` и перезапустите fail2ban |\n| В журнале fail2ban при блокировке: `FirewallD is not running` | В AlmaLinux или CentOS Stream остановлен firewalld | Следуйте разделу «AlmaLinux и CentOS Stream: как применяется блокировка» |\n\n## Частые вопросы\n\n**У сервера отметка «Только ключ». Нужен ли fail2ban?**\nДа. Пароль подобрать нельзя, но боты продолжают подключаться и засорять журналы. fail2ban блокирует их после нескольких попыток, и в журналах становится меньше шума, а на сервере — меньше нагрузки.\n\n**Показывает ли панель, работает ли fail2ban?**\nДля серверов, заказанных на blackbox.md, — нет: страница «Мониторинг» показывает нагрузку серверов с услугой «Мониторинг» (CPU, ОЗУ, диск), а не состояние fail2ban ([Страница «Мониторинг»](#servicii.monitorizare)). Проверяйте на сервере командами из раздела «Запуск и проверка». Для серверов компании, которые обслуживает BLACKBOX, на странице «Обзор» есть плашка «Нет fail2ban» и столбец «fail2ban» ([Страница «Обзор» (Overview)](#servere.prezentare-generala)).\n\n**Защищает ли fail2ban от DDoS-атак?**\nНет. fail2ban реагирует на неудачные входы и ошибки в журналах, отдельно для каждого адреса. Если сервер или сайт атакуют, прочитайте статью [Сервер взломан или атакован: что делать](#faq.server-compromis) и напишите нам.\n\n**Можно ли использовать fail2ban вместе с ufw или firewalld?**\nДа. fail2ban добавляет собственные правила блокировки, отдельно от ваших правил файрвола. Сетевая фильтрация, которой управляет BLACKBOX, работает независимо от них: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n",
    "en": "fail2ban reads the server's logs and temporarily blocks IP addresses that fail to log in too many times within a short period. You install and configure it on the server itself, connected over SSH as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). BLACKBOX does not install fail2ban on new servers, and the app.blackbox.md panel has no settings for it.\n\n**Available to:** anyone with `root` SSH access to a BLACKBOX server running Ubuntu, Debian, AlmaLinux or CentOS Stream. On servers marked “Managed” in “My Servers”, the BLACKBOX team makes the changes: write to us.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## When you need fail2ban\n\nBots on the internet try passwords nonstop on the SSH port of every public server. What fail2ban does for you depends on the badge on the server card in “My Servers”:\n\n| Badge | Situation | What fail2ban does |\n|---|---|---|\n| “Password + key” | The root password works over SSH and can be guessed | Blocks the addresses that try passwords. Recommended. |\n| “Key-only” | SSH accepts only keys, so the password can't be guessed | Mainly cuts down the noise in the logs and the load caused by bots. Still recommended. |\n\nThe safest option is still key-only login: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh). fail2ban adds to it; it does not replace it. Where it fits among the other security steps: [Securing a new server: checklist](#ghiduri.securizare-server-nou). If the server has a control panel installed (the “VPS hosting” plans), ask support first: the panel may have its own fail2ban.\n\n## Installing\n\n### Ubuntu and Debian\n\n```bash\napt update\napt install -y fail2ban\n```\n\n### AlmaLinux and CentOS Stream\n\nfail2ban comes from the EPEL repository:\n\n```bash\ndnf install -y epel-release\ndnf install -y fail2ban\n```\n\n## Configuring jail.local\n\nThe default settings are in `/etc/fail2ban/jail.conf`. Don't edit this file: a package update may replace it. Write your settings in `/etc/fail2ban/jail.local`, which is read after `jail.conf` and after the `.conf` files in `/etc/fail2ban/jail.d/`, and takes priority over them. Each section protects one service and is called a “jail”: `[sshd]` for SSH, `[nginx-http-auth]` for nginx, and so on. The `[DEFAULT]` section holds the shared values.\n\n1. Find out the public IP address you connect from: open `https://ip.blackbox.md` and click “Copiază” (Copy) ([The “Adresa ta IP” (Your IP address) tool](#domenii.adresa-ip)). If you work from several places, for example from the office and from home, write down each address.\n2. On Ubuntu and Debian, check whether the SSH log file exists:\n\n   ```bash\n   ls -l /var/log/auth.log\n   ```\n\n   If the response is “No such file or directory”, the system keeps its logs only in the systemd journal (for example, on Debian 12), and you will also do step 5. On AlmaLinux and CentOS Stream, skip this step: there, fail2ban reads the systemd journal by default, so you don't need steps 5 and 7 either.\n3. Open the file in the editor:\n\n   ```bash\n   nano /etc/fail2ban/jail.local\n   ```\n\n   On AlmaLinux and CentOS Stream, if you get “nano: command not found”, install the editor first:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n4. Paste the content below and replace `YOUR_IP` with the address from step 1 (separate multiple addresses with a space). If the file already exists, for example because you created it while following the checklist, don't duplicate the sections: add the missing lines to the existing sections.\n\n   ```ini\n   [DEFAULT]\n   ignoreip = 127.0.0.1/8 ::1 YOUR_IP\n   bantime = 1h\n   findtime = 10m\n   maxretry = 5\n\n   [sshd]\n   enabled = true\n   ```\n\n5. On Ubuntu and Debian only, if the log file was missing in step 2: add the line below to the `[sshd]` section, under `enabled = true`.\n\n   ```ini\n   backend = systemd\n   ```\n\n6. Save and close: in `nano`, press Ctrl + O, Enter, then Ctrl + X.\n7. If you did step 5, install the module that `backend = systemd` needs. Usually it is already installed together with fail2ban; in that case, the command just confirms it.\n\n   ```bash\n   apt install -y python3-systemd\n   ```\n\n| Parameter | What it does | Value in the example |\n|---|---|---|\n| `ignoreip` | Addresses and networks that are never blocked. `127.0.0.1/8 ::1` is the server itself. It also accepts networks, for example `198.51.100.0/24`. | your address |\n| `bantime` | How long a ban lasts. Units: `m` (minutes), `h` (hours), `d` (days). | 1 hour (default: 10 minutes) |\n| `findtime` | The time window in which failed attempts are counted. | 10 minutes (same as the default) |\n| `maxretry` | How many failed attempts within `findtime` lead to a ban. | 5 (same as the default) |\n| `bantime.increment` | Optional, in `[DEFAULT]`. With `true`, each new ban of the same address lasts longer than the previous one. | — |\n| `enabled` | In `[sshd]`: turns on SSH protection. | `true` |\n| `backend` | In `[sshd]`: `systemd` means that fail2ban reads the systemd journal. On AlmaLinux and CentOS Stream, this is already the default value. On Ubuntu and Debian, you add it only if the log file is missing. | only in step 5 |\n\n> **Important**\n> Add your address to `ignoreip` before you start fail2ban. Otherwise, a few failed logins from your computer will lock you out of the server. Don't close your current SSH session until you have checked that you can connect from a new terminal. Many home and mobile connections have a dynamic address, which changes: if you can no longer connect, check your address again on `ip.blackbox.md`.\n\n### AlmaLinux and CentOS Stream: how blocking is applied\n\nOn these systems, the fail2ban package also installs firewalld and blocks addresses through it. On a new server, firewalld is not running, and without it bans have no effect. Check:\n\n```bash\nsystemctl is-active firewalld\n```\n\n| Response | What to do |\n|---|---|\n| `active` | Nothing: bans are added to firewalld. |\n| `inactive` or any other response | Add the two lines below to the `[DEFAULT]` section of `jail.local`: fail2ban will then block addresses directly through nftables. Alternatively, start and configure firewalld: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall). |\n\n```ini\nbanaction = nftables-multiport\nbanaction_allports = nftables-allports\n```\n\nIf you don't use firewalld, also check whether it is set to start at boot:\n\n```bash\nsystemctl is-enabled firewalld\n```\n\nIf the response is `enabled`, turn off automatic start. Otherwise, after a reboot, firewalld starts with its default rules, which let SSH through but not your websites' ports 80 and 443.\n\n```bash\nsystemctl disable firewalld\n```\n\n## Starting and checking\n\n1. Check the configuration. The correct response is “OK: configuration test is successful”; otherwise, the message shows the file and the line with the problem.\n\n   ```bash\n   fail2ban-client -t\n   ```\n\n2. Enable automatic start and start the service, then restart it so that it is sure to read `jail.local` (on Ubuntu and Debian, it may already be running since installation):\n\n   ```bash\n   systemctl enable --now fail2ban\n   systemctl restart fail2ban\n   ```\n\n3. Check the active jails. `sshd` must appear in “Jail list”:\n\n   ```bash\n   fail2ban-client status\n   ```\n\n4. Check the SSH protection:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n   ```text\n   Status for the jail: sshd\n   |- Filter\n   |  |- Currently failed: 2\n   |  |- Total failed:     57\n   |  `- File list:        /var/log/auth.log\n   `- Actions\n      |- Currently banned: 1\n      |- Total banned:     9\n      `- Banned IP list:   203.0.113.45\n   ```\n\n| Field | What it shows |\n|---|---|\n| “Currently failed” | How many addresses have failed attempts within the `findtime` window but are not banned yet |\n| “Total failed” | The failed attempts counted since fail2ban started |\n| “File list” or “Journal matches” | Where fail2ban reads from: from a file or, with `backend = systemd`, from the systemd journal |\n| “Currently banned”, “Total banned”, “Banned IP list” | How many addresses are banned now, how many bans there have been since fail2ban started, and which addresses are banned now |\n\nThe ban history and errors are in the fail2ban log, usually the file `/var/log/fail2ban.log`. To see the latest bans and unbans:\n\n```bash\ngrep -E \"(Ban|Unban) \" /var/log/fail2ban.log | tail -n 20\n```\n\nIf the file is missing, read the service's systemd journal:\n\n```bash\njournalctl -u fail2ban -n 50\n```\n\n### Test the ban\n\nCheck once that banning really works, using `203.0.113.10`, an address reserved for documentation that belongs to no one:\n\n```bash\nfail2ban-client set sshd banip 203.0.113.10\nfail2ban-client status sshd\ntail -n 20 /var/log/fail2ban.log\nfail2ban-client set sshd unbanip 203.0.113.10\n```\n\nThe address must appear in “Banned IP list”, and in the log, after the line with `Ban 203.0.113.10`, there must be no lines with `ERROR` (if the log file is missing, use the `journalctl` command above). If errors appear, see “Common problems” below.\n\n## Unblocking an address\n\nRemove the address from the SSH ban:\n\n```bash\nfail2ban-client set sshd unbanip IP_ADDRESS\n```\n\nOr from all jails at once:\n\n```bash\nfail2ban-client unban IP_ADDRESS\n```\n\nTo keep the address from being blocked in the future, add it to `ignoreip` in `/etc/fail2ban/jail.local`, then restart fail2ban:\n\n```bash\nsystemctl restart fail2ban\n```\n\n### If you blocked your own address\n\nHow to tell: the SSH connection from your computer is refused or times out, although the server responds from another network. You have four options:\n\n1. Wait for the ban to expire (`bantime`, one hour in the example above). Rebooting the server doesn't help: fail2ban remembers active bans and applies them again at startup.\n2. Connect from another network, for example through your phone's mobile internet, unblock the address as described above and add it to `ignoreip`.\n3. If you connected an AI assistant through a token with the “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) permission, ask it to run the unblock command: the command reaches the server through the BLACKBOX connection, not from your address ([Running commands on the server through AI](#ai.comenzi-pe-server)).\n4. Write to us and include the server's IP address and your own IP address: [How to contact BLACKBOX support](#suport.contact).\n\n> **Warning**\n> Customers have no web console or VNC that would let them get into the server around the ban. That is why you should add your address to `ignoreip` before you start fail2ban.\n\n## Protection for nginx (optional)\n\nIf nginx runs on the server ([Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt)), fail2ban has ready-made filters. They read the nginx error logs (`/var/log/nginx/*error.log`) and block ports 80 and 443.\n\n| Jail | What it blocks | When to enable it |\n|---|---|---|\n| `nginx-http-auth` | Addresses that repeatedly enter a wrong username or password on pages protected with HTTP authentication (`auth_basic`) | If you have such pages, for example an admin panel |\n| `nginx-limit-req` | Addresses that repeatedly exceed the request limit set in nginx | Only if you have configured `limit_req_zone` and `limit_req`; without them, the log has nothing to report |\n\nAdd only the sections you need at the end of `/etc/fail2ban/jail.local`:\n\n```ini\n[nginx-http-auth]\nenabled = true\n\n[nginx-limit-req]\nenabled = true\n```\n\nThen check the configuration, restart the service and check the new jail:\n\n```bash\nfail2ban-client -t\nsystemctl restart fail2ban\nfail2ban-client status nginx-http-auth\n```\n\nIf your sites write their error log somewhere else, add the line `logpath = LOG_PATH` to the section.\n\n> **Note**\n> If the domain goes through the Cloudflare proxy (the orange cloud), requests come from Cloudflare's addresses, not directly from visitors. A ban on the server then doesn't stop the attacker and may even block Cloudflare's addresses. For such domains, don't enable the nginx jails; use the protection features in your Cloudflare account.\n\n## Common problems\n\nStart with these commands: the first one shows configuration errors, the others show the state of the service.\n\n```bash\nfail2ban-client -t\nsystemctl status fail2ban\njournalctl -u fail2ban -n 50\n```\n\n| Message | Cause | What to do |\n|---|---|---|\n| `Failed to access socket path: …/fail2ban.sock. Is fail2ban running?` | The service isn't running, usually because of an error in the configuration | Fix the error shown by the first command above, then restart the service. If you have just started it, wait a few seconds and run the command again |\n| `Have not found any log file for sshd jail` | The SSH log file is missing (Ubuntu, Debian) | Do steps 5 and 7 in “Configuring jail.local” |\n| `Have not found any log file for nginx-http-auth jail` (or `nginx-limit-req`) | nginx isn't installed, or its logs are somewhere else | Remove the section from `jail.local` or add `logpath` |\n| In the fail2ban log, during a ban: `iptables: not found` | The default blocking method uses iptables, which isn't installed (this can happen on Debian) | Install the `iptables` package and restart fail2ban |\n| In the fail2ban log, during a ban: `FirewallD is not running` | firewalld is stopped on AlmaLinux or CentOS Stream | Follow “AlmaLinux and CentOS Stream: how blocking is applied” |\n\n## Frequently asked questions\n\n**My server is “Key-only”. Is fail2ban still worth it?**\nYes. The password can't be guessed, but bots keep connecting and filling up the logs. fail2ban blocks them after a few attempts and reduces the noise and the load.\n\n**Does the panel show me whether fail2ban is working?**\nFor servers ordered on blackbox.md, no: the “Monitoring” page shows the load of servers with the Monitoring service (CPU, RAM, disk), not the state of fail2ban ([The “Monitoring” page](#servicii.monitorizare)). Check on the server, with the commands in “Starting and checking”. For the servers of a company managed by BLACKBOX, the “Overview” page has the “Missing fail2ban” tile and the “fail2ban” column ([The “Overview” page](#servere.prezentare-generala)).\n\n**Does fail2ban protect me from a DDoS attack?**\nNo. fail2ban reacts to failed logins and to errors in the logs, one address at a time. If your server or website is under attack, read [Your server was hacked or is under attack: what to do](#faq.server-compromis) and write to us.\n\n**Can I use fail2ban together with ufw or firewalld?**\nYes. fail2ban adds its own blocking rules, separate from your firewall rules. The network-level filtering, managed by BLACKBOX, works independently of both: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n"
   }
  },
  {
   "id": "ghiduri.actualizari-automate",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/actualizari-automate/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/actualizari-automate/",
    "en": "https://docs.blackbox.md/en/ghiduri/actualizari-automate/"
   },
   "title": {
    "ro": "Actualizări de sistem și actualizări automate de securitate",
    "ru": "Обновления системы и автоматические обновления безопасности",
    "en": "System updates and automatic security updates"
   },
   "summary": {
    "ro": "Cum actualizați manual sistemul, cum porniți actualizările automate și când trebuie repornit serverul.",
    "ru": "Как обновить систему вручную, включить автоматические обновления и когда нужна перезагрузка.",
    "en": "How to update the system manually, how to turn on automatic updates and when the server needs a reboot."
   },
   "markdown": {
    "ro": "Multe atacuri asupra serverelor folosesc vulnerabilități pentru care producătorul sistemului a publicat deja o corecție. Ghidul arată cum actualizați Ubuntu, Debian, AlmaLinux și CentOS Stream, cum aflați dacă serverul trebuie repornit și cum porniți actualizările automate. Comenzile se rulează pe server, ca `root`, într-o sesiune SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Repornirea se poate face și din panoul app.blackbox.md: „Serverele mele” (`app.blackbox.md/my-servers`) → cardul serverului → „Repornește”.\n\n**Disponibil pentru:** titularul serverului, cu acces `root` prin SSH. BLACKBOX nu instalează actualizări pe serverul dvs.: de ele vă ocupați dvs. Pentru un server marcat „Administrat”, orice modificare se cere suportului.\n\n## Actualizarea manuală\n\nActualizați sistemul imediat după ce primiți serverul și apoi regulat, de exemplu o dată pe săptămână. Nu închideți sesiunea SSH cât timp rulează actualizarea.\n\nServiciile actualizate (de exemplu serverul web sau baza de date) sunt repornite și pot fi indisponibile pentru scurt timp. Se actualizează și pachetele din depozitele adăugate de dvs., de exemplu Docker: la actualizarea Docker, serviciul `docker` repornește, iar containerele se opresc pentru scurt timp. Alegeți o oră cu trafic mic.\n\n### Ubuntu și Debian\n\n```bash\napt update\napt upgrade -y\n```\n\nPrima comandă descarcă lista de pachete, a doua instalează versiunile noi. Pe Ubuntu poate apărea o fereastră a programului needrestart, care întreabă ce servicii să fie repornite: lăsați selecția propusă și apăsați Enter. Ce s-a instalat puteți vedea în istoric:\n\n```bash\ntail -n 30 /var/log/apt/history.log\n```\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nCe s-a instalat puteți vedea în istoric:\n\n```bash\ndnf history\n```\n\n## Trebuie repornit serverul?\n\nMajoritatea programelor actualizate se repornesc singure. Un nucleu (kernel) nou și unele biblioteci de sistem intră în funcțiune abia după repornirea serverului.\n\n### Ubuntu și Debian\n\n```bash\ncat /var/run/reboot-required\ncat /var/run/reboot-required.pkgs\n```\n\nDacă repornirea este necesară, fișierul există: pe Ubuntu prima comandă afișează `*** System restart required ***` (pe Debian fișierul poate fi gol), iar a doua afișează pachetele care o cer. Mesajul „No such file or directory” la prima comandă înseamnă că repornirea nu este necesară. Pe Ubuntu, avertismentul despre repornire apare și la conectarea prin SSH. Pe Debian fără pachetul `unattended-upgrades` (vedeți „Actualizări automate pe Ubuntu și Debian”), fișierul poate lipsi chiar dacă repornirea este necesară: dacă `apt` a instalat un pachet `linux-image-…`, reporniți oricum.\n\n### AlmaLinux și CentOS Stream\n\nComanda `needs-restarting` vine din pachetul `dnf-utils`:\n\n```bash\ndnf install -y dnf-utils\nneeds-restarting -r\n```\n\nRezultatul „Reboot is required to fully utilize these updates.” înseamnă că serverul trebuie repornit; „Reboot should not be necessary.” înseamnă că nu.\n\n### Cum reporniți\n\n1. Reporniți din sesiunea SSH sau, în panou, apăsați „Repornește” pe cardul serverului și confirmați „Reporniți NUME_SERVER?”.\n\n   ```bash\n   reboot\n   ```\n\n2. Așteptați 30–60 de secunde și conectați-vă din nou.\n3. Verificați versiunea nucleului care rulează:\n\n   ```bash\n   uname -r\n   ```\n\nDetalii despre butoanele din panou: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n\n> **Important**\n> Panoul nu are consolă web sau VNC. Dacă după o actualizare sau o repornire serverul nu mai răspunde prin SSH, urmați [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh); dacă nu ajută, doar echipa BLACKBOX poate interveni: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Actualizări automate pe Ubuntu și Debian\n\nPachetul `unattended-upgrades` descarcă și instalează actualizările zilnic, în fundal.\n\n1. Instalați pachetul. Dacă este deja instalat, comanda nu schimbă nimic.\n\n   ```bash\n   apt update\n   apt install -y unattended-upgrades\n   ```\n\n2. Porniți actualizările automate. La întrebarea „Automatically download and install stable updates?” alegeți „Yes” și apăsați Enter.\n\n   ```bash\n   dpkg-reconfigure -plow unattended-upgrades\n   ```\n\n3. Verificați fișierul creat:\n\n   ```bash\n   cat /etc/apt/apt.conf.d/20auto-upgrades\n   ```\n\n   Ambele rânduri trebuie să aibă valoarea „1”:\n\n   ```text\n   APT::Periodic::Update-Package-Lists \"1\";\n   APT::Periodic::Unattended-Upgrade \"1\";\n   ```\n\n4. Rulați un test, care nu instalează nimic:\n\n   ```bash\n   unattended-upgrade --dry-run --debug\n   ```\n\nSetările sunt în `/etc/apt/apt.conf.d/50unattended-upgrades`. Implicit, pe Ubuntu se instalează doar actualizările de securitate, iar pe Debian actualizările de securitate și corecțiile din versiunile intermediare ale distribuției (de exemplu 12.7 → 12.8). Pachetele din depozitele adăugate de dvs. (de exemplu Docker) nu se actualizează automat: pentru ele rulați `apt upgrade` manual.\n\n### Repornire automată la o oră fixă\n\nImplicit, serverul nu este repornit automat. Ca să fie repornit noaptea, când o actualizare o cere:\n\n1. Deschideți fișierul de setări:\n\n   ```bash\n   nano /etc/apt/apt.conf.d/50unattended-upgrades\n   ```\n\n2. Găsiți rândurile de mai jos, ștergeți `//` de la începutul lor și setați valorile:\n\n   ```text\n   Unattended-Upgrade::Automatic-Reboot \"true\";\n   Unattended-Upgrade::Automatic-Reboot-Time \"03:00\";\n   ```\n\n3. Salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X.\n\nServerul repornește la ora aleasă doar dacă o actualizare a cerut repornirea. Ora este cea a serverului; fusul orar îl vedeți cu:\n\n```bash\ntimedatectl\n```\n\n### Jurnale\n\nJurnalele sunt în `/var/log/unattended-upgrades/`: `unattended-upgrades.log` (ce s-a instalat) și `unattended-upgrades-dpkg.log` (detaliile instalării). Prima comandă arată ultimele intrări, a doua, când rulează următoarea actualizare automată:\n\n```bash\ntail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log\nsystemctl list-timers 'apt-daily*'\n```\n\n## Actualizări automate pe AlmaLinux și CentOS Stream\n\nPachetul `dnf-automatic` verifică zilnic actualizările. Implicit doar le descarcă, fără să le instaleze.\n\n1. Instalați pachetul:\n\n   ```bash\n   dnf install -y dnf-automatic\n   ```\n\n2. Setați `apply_updates = yes` în `/etc/dnf/automatic.conf`, ca actualizările să fie și instalate:\n\n   ```bash\n   sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf\n   ```\n\n3. Opțional, doar pe AlmaLinux: instalați automat numai actualizările de securitate.\n\n   ```bash\n   sed -i 's/^upgrade_type = .*/upgrade_type = security/' /etc/dnf/automatic.conf\n   ```\n\n4. Opțional: repornire automată când o actualizare o cere.\n\n   ```bash\n   sed -i 's/^reboot = .*/reboot = when-needed/' /etc/dnf/automatic.conf\n   ```\n\n   Serverul repornește la câteva minute după instalarea actualizărilor, adică la ora programării zilnice (o vedeți la pasul 6).\n\n5. Verificați setările. Dacă rândul `reboot` lipsește, versiunea dvs. nu are această opțiune: reporniți manual.\n\n   ```bash\n   grep -E '^(upgrade_type|apply_updates|reboot) ' /etc/dnf/automatic.conf\n   ```\n\n6. Porniți programarea zilnică și vedeți când rulează:\n\n   ```bash\n   systemctl enable --now dnf-automatic.timer\n   systemctl list-timers dnf-automatic.timer\n   ```\n\nCe s-a întâmplat la ultimele rulări:\n\n```bash\njournalctl -u dnf-automatic.service\n```\n\n> **Sfat**\n> Pe CentOS Stream lăsați `upgrade_type = default`: CentOS Stream nu publică marcajele de securitate, așa că varianta `security` poate să nu instaleze nimic. Cu `default`, `dnf-automatic` instalează toate actualizările, inclusiv din depozitele adăugate de dvs. (de exemplu Docker).\n\n## Trecerea la o versiune majoră nouă\n\nActualizările obișnuite păstrează versiunea sistemului: Ubuntu 22.04 rămâne 22.04. Trecerea la o versiune nouă (de exemplu Ubuntu 20.04 → 22.04) schimbă aproape toate pachetele.\n\n> **Risc**\n> Trecerea la o versiune majoră poate opri site-urile și aplicațiile sau poate lăsa serverul fără acces SSH, iar BLACKBOX nu face copii de rezervă automate ale serverului. Faceți înainte backup pe alt sistem: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup). Pentru un server de producție, de multe ori este mai sigur un server nou și mutarea datelor.\n\n| Sistem | Cum se face |\n|---|---|\n| Ubuntu | Cu `do-release-upgrade`, de la o versiune LTS la următoarea, pe rând: 20.04 → 22.04 → 24.04. |\n| Debian | Fără instrument automat: se schimbă numele versiunii în sursele APT și se rulează `apt full-upgrade`, după notele oficiale de lansare ([versiunile Debian](https://www.debian.org/releases/)). |\n| AlmaLinux, CentOS Stream | Trecerea pe loc cere instrumente separate și este riscantă. Recomandăm un server nou. |\n\n### Ubuntu: do-release-upgrade\n\n1. Faceți backup.\n2. Instalați toate actualizările versiunii curente:\n\n   ```bash\n   apt update\n   apt full-upgrade -y\n   ```\n\n3. Reporniți serverul, din SSH sau cu „Repornește” în panou, și conectați-vă din nou.\n4. Porniți trecerea:\n\n   ```bash\n   do-release-upgrade\n   ```\n\n5. Programul avertizează că rulează prin SSH și anunță că pornește un server SSH suplimentar pe portul 1022. Filtrul de rețea administrat de BLACKBOX lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping ([Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall)), așa că nu contați pe acest port: păstrați deschisă o a doua sesiune SSH pe portul 22. Tastați `y` ca să continuați.\n6. Confirmați cu `y` și celelalte întrebări. La fișierele de configurare modificate, păstrați versiunea locală (vedeți „Mesaje frecvente”). Depozitele adăugate de dvs. (de exemplu Docker) sunt dezactivate la trecere; reactivați-le apoi după documentația producătorului.\n7. La final, acceptați repornirea, conectați-vă din nou și verificați versiunea:\n\n   ```bash\n   cat /etc/os-release\n   ```\n\nMesajul „No new release found.” înseamnă că nu există încă o versiune LTS mai nouă disponibilă pentru trecere.\n\n### Server nou în locul trecerii\n\nComandați un server nou cu versiunea dorită ([Sistemele de operare disponibile](#comenzi.sisteme-operare)), mutați datele ([Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site)), îndreptați domeniul către noua adresă IP ([Cum îndreptați domeniul către server](#domenii.indreptare-domeniu)) și abia apoi ștergeți serverul vechi ([Ștergerea definitivă a unui server](#servere.stergere-server)). Până la ștergere, se facturează ambele servere.\n\n## Aplicațiile și panourile se actualizează separat\n\n`apt` și `dnf` actualizează doar pachetele instalate din depozite. Aplicațiile, site-urile și unele panouri se actualizează separat:\n\n| Ce aveți pe server | Cum se actualizează |\n|---|---|\n| Containere Docker | Imaginile nu se schimbă la actualizarea sistemului. În dosarul proiectului descărcați imaginile noi și recreați containerele (comenzile de mai jos). Vedeți [Instalarea Docker și Docker Compose](#ghiduri.docker). |\n| Site-uri pe CMS (de exemplu WordPress) | Din administrarea CMS-ului: nucleul, modulele (plugins) și temele. Vedeți [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp). |\n| Panou de control (Hestia, ispmanager etc.) | După documentația panoului: unele panouri se actualizează odată cu sistemul, altele din meniul propriu. Pentru panoul primit cu un plan „VPS hosting”, scrieți-ne ([Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou)). |\n| Programe instalate din arhive, cu `pip` sau `npm` ori compilate | Nu le actualizează nici `apt`, nici `dnf`: urmați instrucțiunile producătorului. |\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\nFaceți backup și înainte de actualizarea unui CMS sau a unei aplicații.\n\n## Mesaje frecvente\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Could not get lock /var/lib/dpkg/lock-frontend” | Rulează deja alt proces apt, de obicei actualizarea automată. | Așteptați câteva minute și reîncercați. Nu ștergeți fișierele de blocare. |\n| „dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.” | O actualizare anterioară a fost întreruptă, de exemplu s-a pierdut conexiunea. | Rulați comenzile de mai jos. |\n| „The following packages have been kept back:” sau „The following upgrades have been deferred due to phasing:” | De obicei, Ubuntu livrează actualizarea treptat, nu tuturor serverelor deodată. | Este normal: se instalează la o actualizare ulterioară. |\n| O întrebare despre un fișier de configurare modificat (de exemplu `sshd_config`) | Pachetul aduce o versiune nouă a unui fișier modificat pe server. | Alegeți „keep the local version currently installed” sau tasta `N`. Așa păstrați setările SSH ale serverului. |\n| „No space left on device” | Discul este plin. | [Discul serverului este plin](#faq.disc-plin) |\n\nDupă o actualizare întreruptă:\n\n```bash\ndpkg --configure -a\napt upgrade -y\n```\n\n## Întrebări frecvente\n\n**Butonul „Upgrade” din panou actualizează sistemul?**\nNu. „Upgrade” trece serverul la un plan mai mare și păstrează sistemul așa cum este: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n**Am Ubuntu 20.04 sau Debian 11. Mai are rost să actualizez?**\nDa, dar suportul standard de la producător pentru aceste versiuni s-a încheiat. Planificați trecerea la o versiune nouă (secțiunea de mai sus). Datele de suport sunt la producători: [ciclul de lansări Ubuntu](https://ubuntu.com/about/release-cycle) și [versiunile Debian](https://www.debian.org/releases/).\n\n**Se actualizează și agentul serviciului Monitoring?**\nDacă agentul `alloy` a fost instalat din depozitul producătorului, `apt upgrade` îl actualizează ca pe orice alt pachet. Este normal. La întrebarea despre fișierul `/etc/alloy/config.alloy`, păstrați versiunea locală (vedeți „Mesaje frecvente”). Nu opriți și nu dezinstalați agentul: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\n**Poate echipa BLACKBOX să se ocupe de actualizări?**\nÎntreținerea serverului se poate cere ca serviciu separat: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n",
    "ru": "Многие атаки на серверы используют уязвимости, исправления для которых производитель системы уже выпустил. В этом руководстве — как обновлять Ubuntu, Debian, AlmaLinux и CentOS Stream, как понять, нужна ли перезагрузка, и как включить автоматические обновления. Команды выполняются на сервере от имени `root` в SSH-сессии ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Перезагрузить сервер можно и из панели app.blackbox.md: «Мои серверы» (`app.blackbox.md/my-servers`) → карточка сервера → «Перезагрузить».\n\n**Доступно:** владельцу сервера с доступом `root` по SSH. BLACKBOX не устанавливает обновления на ваш сервер — это ваша задача. Если сервер отмечен «Обслуживается», любые изменения запрашивайте через поддержку.\n\n## Обновление вручную\n\nОбновите систему сразу после получения сервера, а затем делайте это регулярно, например раз в неделю. Не закрывайте SSH-сессию, пока идёт обновление.\n\nОбновлённые службы (например, веб-сервер или база данных) перезапускаются и могут ненадолго стать недоступными. Обновляются и пакеты из репозиториев, которые вы добавили сами, например Docker: при обновлении Docker служба `docker` перезапускается, и контейнеры ненадолго останавливаются. Выбирайте время, когда нагрузка невелика.\n\n### Ubuntu и Debian\n\n```bash\napt update\napt upgrade -y\n```\n\nПервая команда загружает список пакетов, вторая устанавливает новые версии. В Ubuntu может появиться окно программы needrestart с вопросом, какие службы перезапустить: оставьте предложенный выбор и нажмите Enter. Что установлено, видно в истории:\n\n```bash\ntail -n 30 /var/log/apt/history.log\n```\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nЧто установлено, видно в истории:\n\n```bash\ndnf history\n```\n\n## Нужна ли перезагрузка\n\nБольшинство обновлённых программ перезапускаются сами. Новое ядро (kernel) и некоторые системные библиотеки начинают работать только после перезагрузки сервера.\n\n### Ubuntu и Debian\n\n```bash\ncat /var/run/reboot-required\ncat /var/run/reboot-required.pkgs\n```\n\nЕсли перезагрузка нужна, файл существует: в Ubuntu первая команда выведет `*** System restart required ***` (в Debian файл может быть пустым), а вторая — пакеты, которые её требуют. Сообщение «No such file or directory» после первой команды значит, что перезагрузка не нужна. В Ubuntu напоминание о перезагрузке показывается и при входе по SSH. В Debian без пакета `unattended-upgrades` (см. «Автоматические обновления в Ubuntu и Debian») файла может не быть, даже когда перезагрузка нужна: если `apt` установил пакет `linux-image-…`, перезагрузите сервер в любом случае.\n\n### AlmaLinux и CentOS Stream\n\nКоманда `needs-restarting` входит в пакет `dnf-utils`:\n\n```bash\ndnf install -y dnf-utils\nneeds-restarting -r\n```\n\nОтвет «Reboot is required to fully utilize these updates.» значит, что сервер нужно перезагрузить; «Reboot should not be necessary.» — что не нужно.\n\n### Как перезагрузить\n\n1. Перезагрузите сервер из SSH-сессии или нажмите в панели «Перезагрузить» на карточке сервера и подтвердите «Перезагрузить ИМЯ_СЕРВЕРА?».\n\n   ```bash\n   reboot\n   ```\n\n2. Подождите 30–60 секунд и подключитесь снова.\n3. Проверьте версию работающего ядра:\n\n   ```bash\n   uname -r\n   ```\n\nПодробнее о кнопках панели: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n\n> **Важно**\n> В панели нет веб-консоли или VNC. Если после обновления или перезагрузки сервер не отвечает по SSH, пройдите шаги из статьи [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh); если не помогло, вмешаться может только команда BLACKBOX: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Автоматические обновления в Ubuntu и Debian\n\nПакет `unattended-upgrades` ежедневно загружает и устанавливает обновления в фоне.\n\n1. Установите пакет. Если он уже установлен, команда ничего не изменит.\n\n   ```bash\n   apt update\n   apt install -y unattended-upgrades\n   ```\n\n2. Включите автоматические обновления. На вопрос «Automatically download and install stable updates?» выберите «Yes» и нажмите Enter.\n\n   ```bash\n   dpkg-reconfigure -plow unattended-upgrades\n   ```\n\n3. Проверьте созданный файл:\n\n   ```bash\n   cat /etc/apt/apt.conf.d/20auto-upgrades\n   ```\n\n   В обеих строках должно стоять значение «1»:\n\n   ```text\n   APT::Periodic::Update-Package-Lists \"1\";\n   APT::Periodic::Unattended-Upgrade \"1\";\n   ```\n\n4. Запустите проверку — она ничего не устанавливает:\n\n   ```bash\n   unattended-upgrade --dry-run --debug\n   ```\n\nНастройки находятся в `/etc/apt/apt.conf.d/50unattended-upgrades`. По умолчанию в Ubuntu устанавливаются только обновления безопасности, а в Debian — обновления безопасности и исправления из промежуточных выпусков дистрибутива (например, 12.7 → 12.8). Пакеты из репозиториев, добавленных вами (например, Docker), автоматически не обновляются: для них выполняйте `apt upgrade` вручную.\n\n### Автоматическая перезагрузка в заданное время\n\nПо умолчанию сервер автоматически не перезагружается. Чтобы он перезагружался ночью, когда этого требует обновление:\n\n1. Откройте файл настроек:\n\n   ```bash\n   nano /etc/apt/apt.conf.d/50unattended-upgrades\n   ```\n\n2. Найдите строки ниже, удалите `//` в их начале и задайте значения:\n\n   ```text\n   Unattended-Upgrade::Automatic-Reboot \"true\";\n   Unattended-Upgrade::Automatic-Reboot-Time \"03:00\";\n   ```\n\n3. Сохраните файл (Ctrl+O, затем Enter) и выйдите (Ctrl+X).\n\nСервер перезагрузится в указанное время, только если обновление потребовало перезагрузки. Время берётся по часам сервера; часовой пояс можно посмотреть так:\n\n```bash\ntimedatectl\n```\n\n### Журналы\n\nЖурналы лежат в `/var/log/unattended-upgrades/`: `unattended-upgrades.log` (что установлено) и `unattended-upgrades-dpkg.log` (подробности установки). Первая команда показывает последние записи, вторая — когда будет следующее автоматическое обновление:\n\n```bash\ntail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log\nsystemctl list-timers 'apt-daily*'\n```\n\n## Автоматические обновления в AlmaLinux и CentOS Stream\n\nПакет `dnf-automatic` ежедневно проверяет обновления. По умолчанию он только загружает их, но не устанавливает.\n\n1. Установите пакет:\n\n   ```bash\n   dnf install -y dnf-automatic\n   ```\n\n2. Задайте `apply_updates = yes` в `/etc/dnf/automatic.conf`, чтобы обновления не только загружались, но и устанавливались:\n\n   ```bash\n   sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf\n   ```\n\n3. Необязательно, только для AlmaLinux: устанавливать автоматически лишь обновления безопасности.\n\n   ```bash\n   sed -i 's/^upgrade_type = .*/upgrade_type = security/' /etc/dnf/automatic.conf\n   ```\n\n4. Необязательно: автоматическая перезагрузка, когда её требует обновление.\n\n   ```bash\n   sed -i 's/^reboot = .*/reboot = when-needed/' /etc/dnf/automatic.conf\n   ```\n\n   Сервер перезагрузится через несколько минут после установки обновлений, то есть во время ежедневного запуска (его время видно на шаге 6).\n\n5. Проверьте настройки. Если строки `reboot` нет, в вашей версии такой опции нет — перезагружайте вручную.\n\n   ```bash\n   grep -E '^(upgrade_type|apply_updates|reboot) ' /etc/dnf/automatic.conf\n   ```\n\n6. Включите ежедневный запуск и посмотрите, когда он сработает:\n\n   ```bash\n   systemctl enable --now dnf-automatic.timer\n   systemctl list-timers dnf-automatic.timer\n   ```\n\nЧто происходило при последних запусках:\n\n```bash\njournalctl -u dnf-automatic.service\n```\n\n> **Совет**\n> В CentOS Stream оставьте `upgrade_type = default`: CentOS Stream не публикует пометки об обновлениях безопасности, поэтому с вариантом `security` может не установиться ничего. С `default` программа `dnf-automatic` ставит все обновления, в том числе из репозиториев, добавленных вами (например, Docker).\n\n## Переход на новую мажорную версию\n\nОбычные обновления сохраняют версию системы: Ubuntu 22.04 остаётся 22.04. Переход на новую версию (например, Ubuntu 20.04 → 22.04) заменяет почти все пакеты.\n\n> **Опасно**\n> Переход на новую мажорную версию может остановить сайты и приложения или оставить сервер без доступа по SSH, а BLACKBOX не делает автоматических резервных копий сервера. Заранее сделайте резервную копию в другом месте: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup). Для рабочего (production) сервера часто безопаснее взять новый сервер и перенести данные.\n\n| Система | Как выполняется |\n|---|---|\n| Ubuntu | Командой `do-release-upgrade`, с одной LTS-версии на следующую, по очереди: 20.04 → 22.04 → 24.04. |\n| Debian | Готового инструмента нет: в источниках APT меняют имя выпуска и выполняют `apt full-upgrade` по официальным примечаниям к выпуску ([выпуски Debian](https://www.debian.org/releases/)). |\n| AlmaLinux, CentOS Stream | Переход «на месте» требует отдельных инструментов и рискован. Рекомендуем новый сервер. |\n\n### Ubuntu: do-release-upgrade\n\n1. Сделайте резервную копию.\n2. Установите все обновления текущей версии:\n\n   ```bash\n   apt update\n   apt full-upgrade -y\n   ```\n\n3. Перезагрузите сервер — из SSH или кнопкой «Перезагрузить» в панели — и подключитесь снова.\n4. Запустите переход:\n\n   ```bash\n   do-release-upgrade\n   ```\n\n5. Программа предупредит, что работает через SSH, и сообщит, что запустит дополнительный SSH-сервер на порту 1022. Сетевой фильтр, которым управляет BLACKBOX, по умолчанию пропускает только SSH (22), HTTP (80), HTTPS (443) и ping ([Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall)), поэтому на этот порт не рассчитывайте: держите открытой вторую SSH-сессию на порту 22. Чтобы продолжить, введите `y`.\n6. На остальные вопросы тоже отвечайте `y`. Если спросят про изменённые файлы конфигурации, оставляйте локальную версию (см. «Частые сообщения»). Репозитории, добавленные вами (например, Docker), при переходе отключаются — затем включите их снова по документации производителя.\n7. В конце согласитесь на перезагрузку, подключитесь снова и проверьте версию:\n\n   ```bash\n   cat /etc/os-release\n   ```\n\nСообщение «No new release found.» значит, что более новой LTS-версии для перехода пока нет.\n\n### Новый сервер вместо перехода\n\nЗакажите новый сервер с нужной версией ([Доступные операционные системы](#comenzi.sisteme-operare)), перенесите данные ([Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site)), направьте домен на новый IP-адрес ([Как направить домен на сервер](#domenii.indreptare-domeniu)) и только после этого удалите старый сервер ([Безвозвратное удаление сервера](#servere.stergere-server)). До удаления оплачиваются оба сервера.\n\n## Приложения и панели обновляются отдельно\n\n`apt` и `dnf` обновляют только пакеты, установленные из репозиториев. Приложения, сайты и некоторые панели обновляются отдельно:\n\n| Что у вас на сервере | Как обновлять |\n|---|---|\n| Контейнеры Docker | Образы при обновлении системы не меняются. В папке проекта загрузите новые образы и пересоздайте контейнеры (команды ниже). См. [Установка Docker и Docker Compose](#ghiduri.docker). |\n| Сайты на CMS (например, WordPress) | Из админки CMS: ядро, плагины и темы. См. [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp). |\n| Панель управления (Hestia, ispmanager и т. п.) | По документации панели: одни панели обновляются вместе с системой, другие — из собственного меню. Если панель вы получили с тарифом «VPS hosting», напишите нам ([Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou)). |\n| Программы, установленные из архивов, через `pip` или `npm` либо собранные из исходников | Их не обновляют ни `apt`, ни `dnf`: следуйте инструкциям производителя. |\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\nПеред обновлением CMS или приложения тоже сделайте резервную копию.\n\n## Частые сообщения\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Could not get lock /var/lib/dpkg/lock-frontend» | Уже работает другой процесс apt, обычно автоматическое обновление. | Подождите несколько минут и повторите. Не удаляйте файлы блокировки. |\n| «dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.» | Предыдущее обновление прервалось, например оборвалось соединение. | Выполните команды ниже. |\n| «The following packages have been kept back:» или «The following upgrades have been deferred due to phasing:» | Обычно Ubuntu выпускает обновление поэтапно, не на все серверы сразу. | Это нормально: пакеты установятся при одном из следующих обновлений. |\n| Вопрос об изменённом файле конфигурации (например, `sshd_config`) | Пакет содержит новую версию файла, который на сервере был изменён. | Выберите «keep the local version currently installed» или клавишу `N`. Так сохранятся настройки SSH на сервере. |\n| «No space left on device» | Диск заполнен. | [Диск сервера заполнен](#faq.disc-plin) |\n\nПосле прерванного обновления:\n\n```bash\ndpkg --configure -a\napt upgrade -y\n```\n\n## Частые вопросы\n\n**Кнопка «Апгрейд» в панели обновляет систему?**\nНет. «Апгрейд» переводит сервер на больший тариф, а система остаётся прежней: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n**У меня Ubuntu 20.04 или Debian 11. Есть ли смысл обновляться?**\nДа, но стандартная поддержка этих версий у производителя закончилась. Запланируйте переход на новую версию (см. раздел выше). Сроки поддержки — на сайтах производителей: [жизненный цикл выпусков Ubuntu](https://ubuntu.com/about/release-cycle) и [выпуски Debian](https://www.debian.org/releases/).\n\n**Обновляется ли агент услуги «Мониторинг»?**\nЕсли агент `alloy` установлен из репозитория производителя, `apt upgrade` обновляет его, как любой другой пакет. Это нормально. Если появится вопрос о файле `/etc/alloy/config.alloy`, оставьте локальную версию (см. «Частые сообщения»). Не останавливайте и не удаляйте агент: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\n**Может ли команда BLACKBOX сама заниматься обновлениями?**\nОбслуживание сервера можно заказать как отдельную услугу: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n",
    "en": "Many attacks on servers exploit vulnerabilities that the operating system vendor has already published a fix for. This guide shows how to update Ubuntu, Debian, AlmaLinux and CentOS Stream, how to find out whether the server needs a reboot, and how to turn on automatic updates. Run the commands on the server as `root`, in an SSH session ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). You can also reboot from the app.blackbox.md panel: “My Servers” (`app.blackbox.md/my-servers`) → the server card → “Reboot”.\n\n**Available to:** the server owner, with `root` access over SSH. BLACKBOX does not install updates on your server: keeping it updated is up to you. For a server marked “Managed”, ask support for any change.\n\n## Updating manually\n\nUpdate the system right after you receive the server, and then regularly, for example once a week. Don't close the SSH session while the update is running.\n\nUpdated services (for example the web server or the database) are restarted and may be unavailable for a short time. Packages from repositories you added yourself, such as Docker, are updated too: when Docker is updated, the `docker` service restarts and your containers stop for a short time. Choose a time with low traffic.\n\n### Ubuntu and Debian\n\n```bash\napt update\napt upgrade -y\n```\n\nThe first command downloads the package list, and the second installs the new versions. On Ubuntu, a needrestart window may appear and ask which services to restart: keep the proposed selection and press Enter. You can see what was installed in the history:\n\n```bash\ntail -n 30 /var/log/apt/history.log\n```\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf upgrade -y\n```\n\nYou can see what was installed in the history:\n\n```bash\ndnf history\n```\n\n## Does the server need a reboot?\n\nMost updated programs restart on their own. A new kernel and some system libraries take effect only after the server reboots.\n\n### Ubuntu and Debian\n\n```bash\ncat /var/run/reboot-required\ncat /var/run/reboot-required.pkgs\n```\n\nIf a reboot is needed, the file exists: on Ubuntu the first command prints `*** System restart required ***` (on Debian the file may be empty), and the second prints the packages that require the reboot. The message “No such file or directory” from the first command means that no reboot is needed. On Ubuntu, the reboot warning also appears when you connect over SSH. On Debian without the `unattended-upgrades` package (see “Automatic updates on Ubuntu and Debian”), the file may be missing even when a reboot is needed: if `apt` installed a `linux-image-…` package, reboot anyway.\n\n### AlmaLinux and CentOS Stream\n\nThe `needs-restarting` command comes from the `dnf-utils` package:\n\n```bash\ndnf install -y dnf-utils\nneeds-restarting -r\n```\n\nThe result “Reboot is required to fully utilize these updates.” means the server needs a reboot; “Reboot should not be necessary.” means it doesn't.\n\n### How to reboot\n\n1. Reboot from the SSH session or, in the panel, click “Reboot” on the server card and confirm “Reboot SERVER_NAME?”.\n\n   ```bash\n   reboot\n   ```\n\n2. Wait 30–60 seconds and connect again.\n3. Check the version of the running kernel:\n\n   ```bash\n   uname -r\n   ```\n\nMore about the panel buttons: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n\n> **Important**\n> The panel has no web or VNC console. If the server stops responding over SSH after an update or a reboot, follow [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh); if that doesn't help, only the BLACKBOX team can step in: [How to contact BLACKBOX support](#suport.contact).\n\n## Automatic updates on Ubuntu and Debian\n\nThe `unattended-upgrades` package downloads and installs updates every day, in the background.\n\n1. Install the package. If it is already installed, the command changes nothing.\n\n   ```bash\n   apt update\n   apt install -y unattended-upgrades\n   ```\n\n2. Turn on automatic updates. When asked “Automatically download and install stable updates?”, choose “Yes” and press Enter.\n\n   ```bash\n   dpkg-reconfigure -plow unattended-upgrades\n   ```\n\n3. Check the file that was created:\n\n   ```bash\n   cat /etc/apt/apt.conf.d/20auto-upgrades\n   ```\n\n   Both lines must have the value “1”:\n\n   ```text\n   APT::Periodic::Update-Package-Lists \"1\";\n   APT::Periodic::Unattended-Upgrade \"1\";\n   ```\n\n4. Run a test. It doesn't install anything:\n\n   ```bash\n   unattended-upgrade --dry-run --debug\n   ```\n\nThe settings are in `/etc/apt/apt.conf.d/50unattended-upgrades`. By default, Ubuntu installs only security updates, while Debian installs security updates and the fixes from the distribution's point releases (for example 12.7 → 12.8). Packages from repositories you added yourself (for example Docker) are not updated automatically: run `apt upgrade` manually for them.\n\n### Automatic reboot at a set time\n\nBy default, the server is not rebooted automatically. To have it reboot at night when an update requires it:\n\n1. Open the settings file:\n\n   ```bash\n   nano /etc/apt/apt.conf.d/50unattended-upgrades\n   ```\n\n2. Find the lines below, delete the `//` at the start of each one, and set the values:\n\n   ```text\n   Unattended-Upgrade::Automatic-Reboot \"true\";\n   Unattended-Upgrade::Automatic-Reboot-Time \"03:00\";\n   ```\n\n3. Save with Ctrl+O and Enter, then exit with Ctrl+X.\n\nThe server reboots at the chosen time only if an update has required a reboot. The time is the server's own time; you can see its time zone with:\n\n```bash\ntimedatectl\n```\n\n### Logs\n\nThe logs are in `/var/log/unattended-upgrades/`: `unattended-upgrades.log` (what was installed) and `unattended-upgrades-dpkg.log` (installation details). The first command shows the latest entries, and the second shows when the next automatic update runs:\n\n```bash\ntail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log\nsystemctl list-timers 'apt-daily*'\n```\n\n## Automatic updates on AlmaLinux and CentOS Stream\n\nThe `dnf-automatic` package checks for updates every day. By default, it only downloads them and doesn't install them.\n\n1. Install the package:\n\n   ```bash\n   dnf install -y dnf-automatic\n   ```\n\n2. Set `apply_updates = yes` in `/etc/dnf/automatic.conf` so that updates are also installed:\n\n   ```bash\n   sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf\n   ```\n\n3. Optional, AlmaLinux only: install only security updates automatically.\n\n   ```bash\n   sed -i 's/^upgrade_type = .*/upgrade_type = security/' /etc/dnf/automatic.conf\n   ```\n\n4. Optional: reboot automatically when an update requires it.\n\n   ```bash\n   sed -i 's/^reboot = .*/reboot = when-needed/' /etc/dnf/automatic.conf\n   ```\n\n   The server reboots a few minutes after the updates are installed, that is, at the time of the daily schedule (you can see it in step 6).\n\n5. Check the settings. If the `reboot` line is missing, your version doesn't have this option: reboot manually.\n\n   ```bash\n   grep -E '^(upgrade_type|apply_updates|reboot) ' /etc/dnf/automatic.conf\n   ```\n\n6. Turn on the daily schedule and see when it runs:\n\n   ```bash\n   systemctl enable --now dnf-automatic.timer\n   systemctl list-timers dnf-automatic.timer\n   ```\n\nTo see what happened during the last runs:\n\n```bash\njournalctl -u dnf-automatic.service\n```\n\n> **Tip**\n> On CentOS Stream, leave `upgrade_type = default`: CentOS Stream doesn't publish security markings for its updates, so the `security` option may install nothing. With `default`, `dnf-automatic` installs all updates, including those from repositories you added yourself (for example Docker).\n\n## Moving to a new major version\n\nRegular updates keep the system version: Ubuntu 22.04 stays 22.04. Moving to a new version (for example Ubuntu 20.04 → 22.04) replaces almost all packages.\n\n> **Risk**\n> Moving to a new major version can take your sites and applications down or leave the server without SSH access, and BLACKBOX does not make automatic backups of the server. Back up to another system first: [Backup strategy for your server](#ghiduri.strategie-backup). For a production server, a new server with the data moved over is often the safer choice.\n\n| System | How it's done |\n|---|---|\n| Ubuntu | With `do-release-upgrade`, from one LTS version to the next, one step at a time: 20.04 → 22.04 → 24.04. |\n| Debian | There is no automatic tool: you change the release name in the APT sources and run `apt full-upgrade`, following the official release notes ([Debian releases](https://www.debian.org/releases/)). |\n| AlmaLinux, CentOS Stream | An in-place upgrade needs separate tools and is risky. We recommend a new server. |\n\n### Ubuntu: do-release-upgrade\n\n1. Make a backup.\n2. Install all updates for the current version:\n\n   ```bash\n   apt update\n   apt full-upgrade -y\n   ```\n\n3. Reboot the server, from SSH or with “Reboot” in the panel, and connect again.\n4. Start the upgrade:\n\n   ```bash\n   do-release-upgrade\n   ```\n\n5. The program warns that it is running over SSH and says that it will start an additional SSH server on port 1022. By default, the network filter managed by BLACKBOX lets through only SSH (22), HTTP (80), HTTPS (443) and ping ([Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall)), so don't count on that port: keep a second SSH session open on port 22. Type `y` to continue.\n6. Answer the other questions with `y` as well. For modified configuration files, keep the local version (see “Common messages”). Repositories you added yourself (for example Docker) are disabled during the upgrade; turn them back on afterwards by following the vendor's documentation.\n7. At the end, accept the reboot, connect again and check the version:\n\n   ```bash\n   cat /etc/os-release\n   ```\n\nThe message “No new release found.” means that no newer LTS version is available to upgrade to yet.\n\n### A new server instead of an upgrade\n\nOrder a new server with the version you want ([Available operating systems](#comenzi.sisteme-operare)), move your data ([Moving a site to a BLACKBOX server](#ghiduri.migrare-site)), point your domain to the new IP address ([How to point your domain to the server](#domenii.indreptare-domeniu)), and only then delete the old server ([Permanently deleting a server](#servere.stergere-server)). Until you delete it, both servers are billed.\n\n## Applications and panels are updated separately\n\n`apt` and `dnf` update only the packages installed from repositories. Applications, websites and some panels are updated separately:\n\n| What you have on the server | How to update it |\n|---|---|\n| Docker containers | Images don't change when the system is updated. In the project folder, download the new images and recreate the containers (commands below). See [Installing Docker and Docker Compose](#ghiduri.docker). |\n| Websites on a CMS (for example WordPress) | From the CMS admin area: the core, plugins and themes. See [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp). |\n| Control panel (Hestia, ispmanager, etc.) | Follow the panel's documentation: some panels are updated together with the system, others from their own menu. For a panel you received with a “VPS hosting” plan, write to us ([“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou)). |\n| Programs installed from archives, with `pip` or `npm`, or compiled from source | Neither `apt` nor `dnf` updates them: follow the vendor's instructions. |\n\n```bash\ndocker compose pull\ndocker compose up -d\n```\n\nMake a backup before you update a CMS or an application, too.\n\n## Common messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Could not get lock /var/lib/dpkg/lock-frontend” | Another apt process is already running, usually the automatic update. | Wait a few minutes and try again. Don't delete the lock files. |\n| “dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.” | A previous update was interrupted, for example because the connection dropped. | Run the commands below. |\n| “The following packages have been kept back:” or “The following upgrades have been deferred due to phasing:” | Usually, Ubuntu is rolling the update out gradually, not to all servers at once. | This is normal: the update is installed during a later run. |\n| A question about a modified configuration file (for example `sshd_config`) | The package brings a new version of a file that was changed on the server. | Choose “keep the local version currently installed” or press `N`. This keeps the server's SSH settings. |\n| “No space left on device” | The disk is full. | [The server's disk is full](#faq.disc-plin) |\n\nAfter an interrupted update:\n\n```bash\ndpkg --configure -a\napt upgrade -y\n```\n\n## Frequently asked questions\n\n**Does the “Upgrade” button in the panel update the system?**\nNo. “Upgrade” moves the server to a larger plan and leaves the system as it is: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n**I have Ubuntu 20.04 or Debian 11. Is it still worth updating?**\nYes, but the vendor's standard support for these versions has ended. Plan a move to a new version (see the section above). The support dates are published by the vendors: [Ubuntu release cycle](https://ubuntu.com/about/release-cycle) and [Debian releases](https://www.debian.org/releases/).\n\n**Is the Monitoring service agent updated too?**\nIf the `alloy` agent was installed from the vendor's repository, `apt upgrade` updates it like any other package. This is normal. If you're asked about the `/etc/alloy/config.alloy` file, keep the local version (see “Common messages”). Don't stop or uninstall the agent: [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\n**Can the BLACKBOX team take care of updates?**\nServer maintenance can be requested as a separate service: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n"
   }
  },
  {
   "id": "ghiduri.server-web-lets-encrypt",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/server-web-lets-encrypt/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/server-web-lets-encrypt/",
    "en": "https://docs.blackbox.md/en/ghiduri/server-web-lets-encrypt/"
   },
   "title": {
    "ro": "Server web cu HTTPS: nginx sau Apache și Let's Encrypt",
    "ru": "Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt",
    "en": "Web server with HTTPS: nginx or Apache and Let's Encrypt"
   },
   "summary": {
    "ro": "Instalarea nginx sau Apache, configurarea unui site pentru domeniul dvs. și obținerea unui certificat gratuit Let's Encrypt cu certbot.",
    "ru": "Установка nginx или Apache, настройка сайта для вашего домена и получение бесплатного сертификата Let's Encrypt с помощью certbot.",
    "en": "Installing nginx or Apache, setting up a site for your domain and getting a free Let's Encrypt certificate with certbot."
   },
   "markdown": {
    "ro": "Acest ghid vă arată cum publicați un site pe serverul BLACKBOX: instalați serverul web nginx sau Apache, configurați site-ul pentru domeniul dvs. și obțineți un certificat HTTPS gratuit de la Let's Encrypt, cu certbot. Lucrați în terminalul serverului, conectat prin SSH ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Panoul app.blackbox.md nu are o secțiune pentru servere web sau certificate: din el vă trebuie doar adresa IP a serverului, afișată pe cardul serverului în pagina „Serverele mele” (`app.blackbox.md/my-servers`).\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX cu Ubuntu 24.04, 22.04 sau 20.04, Debian 12 sau 11, AlmaLinux 9 ori CentOS Stream 9.\n\nÎn comenzi, înlocuiți `DOMENIU` cu domeniul dvs. fără `www` (de exemplu `example.com`). Alegeți un singur server web, nginx sau Apache: ambele folosesc porturile 80 și 443 și nu pot rula în același timp.\n\nDacă aveți un plan „VPS hosting” cu panou de control, nu instalați alt server web peste panou: site-urile și certificatele se configurează din panoul de control. Dacă nu știți ce panou aveți sau cum intrați în el, scrieți suportului. Vedeți [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n## Înainte de a începe\n\n| Condiție | Detalii |\n|---|---|\n| Domeniul indică serverul | înregistrările A pentru `DOMENIU` și `www.DOMENIU` au valoarea `IP_SERVER` și nu există nicio înregistrare AAAA rămasă de la o găzduire veche; vedeți [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu) |\n| Porturile 80 și 443 sunt deschise | pe un server nou, filtrarea din rețea BLACKBOX permite SSH (22), HTTP (80), HTTPS (443) și ping; firewall-ul din sistem (`ufw`, `firewalld`) nu este activat |\n| Porturile 80 și 443 sunt libere | niciun alt program (alt server web) nu ascultă pe ele |\n\nVerificați pe server ce programe ascultă pe porturile 80 și 443. Pe un server nou comanda nu afișează nimic:\n\n```bash\nss -tlnp | grep -E ':80|:443'\n```\n\nDacă ați activat singur firewall-ul din sistem, permiteți HTTP și HTTPS. Pe Ubuntu și Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nPe AlmaLinux și CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\nNu activați firewall-ul doar pentru acest ghid. Dacă vreți să-l activați, permiteți întâi SSH și păstrați deschisă o a doua sesiune SSH, ca să nu pierdeți accesul: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## Varianta 1: nginx\n\n### Ubuntu și Debian\n\n1. Instalați nginx. Serviciul pornește automat după instalare.\n\n   ```bash\n   apt update\n   apt install -y nginx\n   ```\n\n2. Creați directorul site-ului și o pagină de test:\n\n   ```bash\n   mkdir -p /var/www/DOMENIU\n   echo \"DOMENIU OK\" > /var/www/DOMENIU/index.html\n   ```\n\n3. Creați fișierul de configurare al site-ului:\n\n   ```bash\n   nano /etc/nginx/sites-available/DOMENIU\n   ```\n\n4. Lipiți conținutul de mai jos, salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMENIU www.DOMENIU;\n       root /var/www/DOMENIU;\n       index index.html index.htm;\n\n       location / {\n           try_files $uri $uri/ =404;\n       }\n   }\n   ```\n\n5. Activați site-ul:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMENIU /etc/nginx/sites-enabled/\n   ```\n\n6. Verificați configurația și reîncărcați nginx. `nginx -t` trebuie să afișeze „syntax is ok” și „test is successful”; dacă afișează o eroare, corectați fișierul înainte de reîncărcare.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n### AlmaLinux și CentOS Stream\n\n1. Instalați și porniți nginx:\n\n   ```bash\n   dnf install -y nginx\n   systemctl enable --now nginx\n   ```\n\n2. Creați directorul site-ului și pagina de test, apoi aplicați eticheta SELinux pentru conținut web: fișierele fără ea primesc „403 Forbidden”. Rulați din nou `restorecon` și după ce mutați (`mv`) în director fișiere din alt loc.\n\n   ```bash\n   mkdir -p /var/www/DOMENIU\n   echo \"DOMENIU OK\" > /var/www/DOMENIU/index.html\n   restorecon -Rv /var/www\n   ```\n\n3. Creați fișierul de configurare (dacă `nano` lipsește, prima comandă îl instalează):\n\n   ```bash\n   dnf install -y nano\n   nano /etc/nginx/conf.d/DOMENIU.conf\n   ```\n\n4. Lipiți același bloc `server { … }` ca la Ubuntu și Debian, salvați și ieșiți.\n5. Verificați configurația și reîncărcați nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n## Varianta 2: Apache\n\n### Ubuntu și Debian\n\n1. Instalați Apache. Serviciul pornește automat după instalare.\n\n   ```bash\n   apt update\n   apt install -y apache2\n   ```\n\n2. Creați directorul site-ului și pagina de test, cu comenzile de la pasul 2 din varianta nginx.\n3. Creați fișierul de configurare al site-ului:\n\n   ```bash\n   nano /etc/apache2/sites-available/DOMENIU.conf\n   ```\n\n4. Lipiți conținutul de mai jos, salvați și ieșiți:\n\n   ```apache\n   <VirtualHost *:80>\n       ServerName DOMENIU\n       ServerAlias www.DOMENIU\n       DocumentRoot /var/www/DOMENIU\n       ErrorLog ${APACHE_LOG_DIR}/DOMENIU-error.log\n       CustomLog ${APACHE_LOG_DIR}/DOMENIU-access.log combined\n   </VirtualHost>\n   ```\n\n5. Activați site-ul, verificați configurația și reîncărcați Apache. `apachectl configtest` trebuie să afișeze „Syntax OK”.\n\n   ```bash\n   a2ensite DOMENIU.conf\n   apachectl configtest\n   systemctl reload apache2\n   ```\n\n### AlmaLinux și CentOS Stream\n\n1. Instalați Apache (`httpd`) și modulul HTTPS (`mod_ssl`, necesar pentru certbot), apoi porniți serviciul:\n\n   ```bash\n   dnf install -y httpd mod_ssl\n   systemctl enable --now httpd\n   ```\n\n2. Creați directorul site-ului și pagina de test, cu comenzile de la pasul 2 din varianta nginx, inclusiv `restorecon`.\n3. Creați fișierul de configurare al site-ului (dacă `nano` lipsește, instalați-l ca la pasul 3 din varianta nginx):\n\n   ```bash\n   nano /etc/httpd/conf.d/DOMENIU.conf\n   ```\n\n4. Lipiți blocul `<VirtualHost *:80>` de la Ubuntu și Debian, cu alte căi pentru jurnale: `/var/log/httpd/DOMENIU-error.log` și `/var/log/httpd/DOMENIU-access.log`. Salvați și ieșiți.\n5. Verificați configurația și reîncărcați Apache:\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Verificarea site-ului prin HTTP\n\nDe pe calculatorul dvs. deschideți `http://DOMENIU` în browser: trebuie să apară textul „DOMENIU OK”. Sau rulați comanda de mai jos (pe Windows, în PowerShell, scrieți `curl.exe` în loc de `curl`); răspunsul trebuie să înceapă cu `HTTP/1.1 200 OK`. Dacă site-ul nu răspunde, rezolvați întâi problema: certbot are nevoie de un site accesibil prin HTTP.\n\n```bash\ncurl -I http://DOMENIU\n```\n\n## Certificatul Let's Encrypt cu certbot\n\n### Instalarea certbot\n\nUbuntu și Debian. Pentru Apache, instalați `python3-certbot-apache` în locul `python3-certbot-nginx`.\n\n```bash\napt install -y certbot python3-certbot-nginx\n```\n\nAlmaLinux și CentOS Stream. Certbot vine din depozitul EPEL. Ultima comandă pornește timerul de reînnoire, care aici nu se activează singur. Pentru Apache, instalați `python3-certbot-apache`.\n\n```bash\ndnf install -y epel-release\ndnf install -y certbot python3-certbot-nginx\nsystemctl enable --now certbot-renew.timer\n```\n\nPe Ubuntu și Debian puteți folosi și varianta snap, recomandată de dezvoltatorii certbot: are de obicei o versiune mai nouă și include pluginurile nginx și Apache. Folosiți fie apt, fie snap, nu pe amândouă. Dacă ați instalat deja certbot cu apt, eliminați-l:\n\n```bash\napt remove -y certbot\n```\n\nPe Debian, instalați întâi snapd:\n\n```bash\napt install -y snapd\nsnap install core\n```\n\nApoi instalați certbot din snap:\n\n```bash\nsnap install --classic certbot\nln -s /snap/bin/certbot /usr/bin/certbot\n```\n\n### Obținerea certificatului\n\n1. Rulați certbot cu pluginul serverului dvs. web. Pentru nginx:\n\n   ```bash\n   certbot --nginx -d DOMENIU -d www.DOMENIU\n   ```\n\n   Pentru Apache:\n\n   ```bash\n   certbot --apache -d DOMENIU -d www.DOMENIU\n   ```\n\n2. La prima rulare, certbot vă cere o adresă de email și acceptarea condițiilor Let's Encrypt: scrieți adresa și răspundeți `Y`. La întrebarea despre buletinul informativ EFF puteți răspunde `N`.\n3. Dacă certbot întreabă dacă să redirecționeze HTTP spre HTTPS (versiunile mai vechi), alegeți „2: Redirect”. Versiunile noi adaugă redirecționarea fără să întrebe.\n4. La final apare un mesaj care începe cu „Congratulations!”. Certificatul și cheia sunt în `/etc/letsencrypt/live/DOMENIU/`, iar certbot a adăugat în configurația site-ului blocul HTTPS (portul 443) și redirecționarea de la HTTP.\n5. Deschideți `https://DOMENIU` în browser și verificați lacătul. Comanda de mai jos afișează certificatele, domeniile și data expirării („Expiry Date”):\n\n   ```bash\n   certbot certificates\n   ```\n\n### Reînnoirea automată\n\nCertificatul este valabil 90 de zile. Timerul certbot verifică certificatele de două ori pe zi și le reînnoiește singur înainte de expirare. Cu `--nginx` și `--apache`, certbot reîncarcă și serverul web după reînnoire.\n\n| Cum ați instalat certbot | Timerul de reînnoire | Pornit automat |\n|---|---|---|\n| apt (Ubuntu, Debian) | `certbot.timer` | da |\n| snap | `snap.certbot.renew.timer` | da |\n| EPEL (AlmaLinux, CentOS Stream) | `certbot-renew.timer` | nu: îl porniți cu `systemctl enable --now certbot-renew.timer` |\n\nVerificați timerul și simulați o reînnoire. `--dry-run` nu emite un certificat nou și se încheie cu „Congratulations, all simulated renewals succeeded” (în versiunile vechi, „Congratulations, all renewals succeeded”).\n\n```bash\nsystemctl list-timers | grep -i certbot\ncertbot renew --dry-run\n```\n\n> **Notă**\n> Let's Encrypt nu mai trimite emailuri înainte de expirarea certificatelor și a anunțat că va scurta treptat durata lor de valabilitate. Nu programați reînnoiri manuale după calendar: lăsați timerul certbot să lucreze și verificați din când în când data expirării cu `certbot certificates`.\n\n## Certificat wildcard (`*.DOMENIU`) cu validare prin DNS\n\nUn certificat wildcard acoperă toate subdomeniile de un nivel (`www.DOMENIU`, `api.DOMENIU` etc.) și se obține doar cu validare prin DNS: certbot creează temporar înregistrarea TXT `_acme-challenge.DOMENIU`. Ca reînnoirea să rămână automată, certbot are nevoie de un plugin pentru furnizorul dvs. de DNS. Exemplul este pentru Cloudflare; pentru alți furnizori vedeți [lista pluginurilor DNS din documentația certbot](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). Fără plugin (`--manual`), certificatul nu se mai reînnoiește automat. Dacă aveți nevoie de wildcard, urmați pașii de mai jos în locul celor de la „Obținerea certificatului”.\n\n1. În contul Cloudflare, creați un token doar pentru certbot: „My Profile” → „API Tokens” → „Create Token” → șablonul „Edit zone DNS”. La „Zone Resources” alegeți doar zona `DOMENIU`, creați tokenul și copiați-l. Nu refolosiți tokenul conectat în pagina „DNS” a panoului: pe unul separat îl puteți revoca fără să afectați panoul.\n2. Instalați pluginul Cloudflare. Ubuntu și Debian:\n\n   ```bash\n   apt install -y python3-certbot-dns-cloudflare\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   dnf install -y python3-certbot-dns-cloudflare\n   ```\n\n   Dacă folosiți certbot din snap:\n\n   ```bash\n   snap set certbot trust-plugin-with-root=ok\n   snap install certbot-dns-cloudflare\n   ```\n\n   Pe Ubuntu 20.04, pluginul din apt este prea vechi și nu acceptă tokenuri API: folosiți certbot și pluginul din snap.\n\n3. Salvați tokenul într-un fișier:\n\n   ```bash\n   mkdir -p /root/.secrets\n   nano /root/.secrets/cloudflare.ini\n   ```\n\n   Conținutul fișierului, cu tokenul dvs. în locul `TOKEN_CLOUDFLARE`:\n\n   ```ini\n   dns_cloudflare_api_token = TOKEN_CLOUDFLARE\n   ```\n\n4. Lăsați fișierul accesibil doar pentru root:\n\n   ```bash\n   chmod 600 /root/.secrets/cloudflare.ini\n   ```\n\n5. Obțineți certificatul. `--deploy-hook` reîncarcă serverul web după fiecare reînnoire; pentru Apache scrieți `systemctl reload apache2` (Ubuntu, Debian) sau `systemctl reload httpd` (AlmaLinux, CentOS Stream).\n\n   ```bash\n   certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d DOMENIU -d \"*.DOMENIU\" --deploy-hook \"systemctl reload nginx\"\n   ```\n\n6. `certonly` nu modifică configurația serverului web: adăugați singur în fișierul site-ului un bloc pentru HTTPS. Pentru nginx, adăugați blocul de mai jos, apoi rulați `nginx -t` și reîncărcați nginx. Pentru un subdomeniu, copiați blocul și schimbați `server_name` și `root`; liniile certificatului rămân aceleași.\n\n   ```nginx\n   server {\n       listen 443 ssl;\n       server_name DOMENIU www.DOMENIU;\n       root /var/www/DOMENIU;\n       ssl_certificate     /etc/letsencrypt/live/DOMENIU/fullchain.pem;\n       ssl_certificate_key /etc/letsencrypt/live/DOMENIU/privkey.pem;\n   }\n   ```\n\n   Ca să redirecționați HTTP spre HTTPS, în blocul cu `listen 80` înlocuiți liniile `root`, `index` și blocul `location` cu `return 301 https://$host$request_uri;`.\n\n7. Pentru Apache, adăugați în fișierul site-ului blocul de mai jos. Ca să redirecționați HTTP spre HTTPS, adăugați în blocul `<VirtualHost *:80>` linia `Redirect permanent / https://DOMENIU/`.\n\n   ```apache\n   <VirtualHost *:443>\n       ServerName DOMENIU\n       ServerAlias www.DOMENIU\n       DocumentRoot /var/www/DOMENIU\n       SSLEngine on\n       SSLCertificateFile    /etc/letsencrypt/live/DOMENIU/fullchain.pem\n       SSLCertificateKeyFile /etc/letsencrypt/live/DOMENIU/privkey.pem\n   </VirtualHost>\n   ```\n\n   Pe Ubuntu și Debian, activați modulul SSL, verificați configurația și reporniți Apache:\n\n   ```bash\n   a2enmod ssl\n   apachectl configtest\n   systemctl restart apache2\n   ```\n\n   Pe AlmaLinux și CentOS Stream, `mod_ssl` este deja instalat (pasul 1 din varianta Apache):\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Probleme frecvente\n\n| Mesaj sau simptom | Cauza | Ce faceți |\n|---|---|---|\n| „DNS problem: NXDOMAIN looking up A for DOMENIU” | înregistrarea A lipsește sau nu s-a propagat | creați înregistrarea, așteptați și verificați cu `dig +short DOMENIU A` |\n| „Timeout during connect (likely firewall problem)” | portul 80 este blocat sau domeniul indică altă adresă | permiteți 80 și 443 în `ufw`/`firewalld`; verificați înregistrările A și AAAA; dacă tot nu merge, scrieți suportului |\n| „Connection refused” | serverul web nu rulează | `systemctl status nginx` (sau `apache2`, `httpd`) și `ss -tlnp` |\n| „Invalid response from http://DOMENIU/.well-known/acme-challenge/…” cu 404 | cererea ajunge la alt server: o înregistrare A sau AAAA veche ori proxy-ul Cloudflare | corectați înregistrările DNS; opriți temporar proxy-ul |\n| „Could not automatically find a matching server block for DOMENIU” | lipsește `server_name` cu acest domeniu | adăugați `server_name`, rulați `nginx -t`, reîncărcați și rulați din nou certbot |\n| „bind() to 0.0.0.0:80 failed (98: Address already in use)” | alt server web ocupă portul 80 | opriți-l sau eliminați-l; păstrați un singur server web |\n| „too many failed authorizations” sau „too many certificates” | limitele Let's Encrypt | așteptați (vedeți mai jos); testați cu `--dry-run` |\n| „403 Forbidden” pe AlmaLinux sau CentOS Stream | eticheta SELinux a fișierelor | `restorecon -Rv /var/www` |\n| „502 Bad Gateway” pe AlmaLinux sau CentOS Stream, cu „(13: Permission denied)” în `/var/log/nginx/error.log` | SELinux nu lasă nginx să se conecteze la aplicația din spate | `setsebool -P httpd_can_network_connect 1`; vedeți [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii) |\n| `ERR_TOO_MANY_REDIRECTS` prin Cloudflare | modul SSL „Flexible” în Cloudflare | alegeți modul „Full (strict)” |\n\nJurnalul complet al certbot este în `/var/log/letsencrypt/letsencrypt.log`.\n\nDupă ce corectați cauza, testați emiterea pe serverul de test Let's Encrypt, fără să obțineți un certificat real. `--dry-run` funcționează doar cu `certonly` și `renew`; pentru Apache scrieți `--apache`.\n\n```bash\ncertbot certonly --nginx --dry-run -d DOMENIU -d www.DOMENIU\n```\n\n> **Atenție**\n> Let's Encrypt limitează încercările: după 5 validări eșuate pentru același nume într-o oră, noile încercări sunt refuzate temporar, iar pentru exact același set de nume se pot emite cel mult 5 certificate în 7 zile. Nu rulați certbot iar și iar: testați cu `--dry-run`, care nu consumă aceste limite. Detalii: [limitele Let's Encrypt](https://letsencrypt.org/docs/rate-limits/).\n\n### Domeniul trece prin proxy-ul Cloudflare\n\n1. Pentru prima emitere, lăsați înregistrările `DOMENIU` și `www` pe „DNS only” (în pagina „DNS” a panoului, caseta „Proxy” nebifată) sau folosiți validarea prin DNS de mai sus.\n2. După ce site-ul funcționează cu HTTPS direct pe server, activați proxy-ul.\n3. În contul Cloudflare, la „SSL/TLS”, alegeți modul de criptare „Full (strict)”. Modul „Flexible” provoacă bucle de redirecționare, pentru că serverul trimite HTTP spre HTTPS.\n\nDetalii despre proxy: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu).\n\n## Pașii următori\n\n- Instalați un site WordPress pe acest server: [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n- Publicați o aplicație Node.js sau Python prin nginx: [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii).\n- Încărcați fișierele site-ului în `/var/www/DOMENIU`: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- Urmăriți reînnoirea: după aproximativ două luni, `certbot certificates` trebuie să arate o dată de expirare nouă. Dacă data nu se schimbă, verificați timerul și jurnalul certbot.\n\n## Întrebări frecvente\n\n**Pot găzdui mai multe site-uri pe același server?**\nDa. Pentru fiecare domeniu creați un director și un fișier de configurare separat (un bloc `server` la nginx, un `VirtualHost` la Apache), apoi rulați certbot cu numele acelui domeniu.\n\n**Cum adaug un subdomeniu la un certificat existent?**\nCreați înregistrarea A pentru subdomeniu, adăugați-l în `server_name` (sau `ServerAlias`), reîncărcați serverul web și rulați certbot cu toate numele, cele vechi și cel nou. Pentru Apache, scrieți `--apache` în loc de `--nginx`:\n\n```bash\ncertbot --nginx --expand -d DOMENIU -d www.DOMENIU -d app.DOMENIU\n```\n\n**Ce se întâmplă dacă reînnoirea eșuează?**\nCertificatul actual rămâne valabil până la data expirării, iar timerul reîncearcă de două ori pe zi. Cauza este în `/var/log/letsencrypt/letsencrypt.log`; după ce o corectați, confirmați cu `certbot renew --dry-run`.\n\n**Poate asistentul AI să facă acești pași în locul meu?**\nDa, dacă tokenul lui are permisiunile „Citește lista și statusul serverelor mele” (`servers:read`) și „Rulează orice comandă ca root pe serverele mele” (`servers:exec`). Domeniul trebuie să indice deja serverul. Vedeți [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n\n**Am urmat pașii, dar site-ul tot nu se deschide.**\nParcurgeți lista de verificări din [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide). Dacă problema rămâne, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n",
    "ru": "Это руководство показывает, как разместить сайт на сервере BLACKBOX: установить веб-сервер nginx или Apache, настроить сайт для вашего домена и получить бесплатный HTTPS-сертификат Let's Encrypt с помощью certbot. Вы работаете в терминале сервера, подключившись по SSH под пользователем `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Раздела для веб-серверов или сертификатов в панели app.blackbox.md нет: из неё вам нужен только IP-адрес сервера — он указан в карточке сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`).\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX с Ubuntu 24.04, 22.04 или 20.04, Debian 12 или 11, AlmaLinux 9 либо CentOS Stream 9.\n\nВ командах замените `ДОМЕН` на ваш домен без `www` (например, `example.com`). Выберите один веб-сервер — nginx или Apache: оба используют порты 80 и 443 и не могут работать одновременно.\n\nЕсли у вас тариф «VPS hosting» с панелью управления, не устанавливайте поверх неё другой веб-сервер: сайты и сертификаты настраиваются в самой панели управления. Если вы не знаете, какая у вас панель или как в неё войти, напишите в поддержку. См. [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n## Перед началом\n\n| Условие | Подробности |\n|---|---|\n| Домен указывает на сервер | A-записи для `ДОМЕН` и `www.ДОМЕН` указывают на `IP_СЕРВЕРА`, и не осталось AAAA-записей от прежнего хостинга; см. [Как направить домен на сервер](#domenii.indreptare-domeniu) |\n| Порты 80 и 443 открыты | на новом сервере сетевая фильтрация BLACKBOX пропускает SSH (22), HTTP (80), HTTPS (443) и ping; файрвол в системе (`ufw`, `firewalld`) не включён |\n| Порты 80 и 443 свободны | их не занимает другая программа (другой веб-сервер) |\n\nПроверьте на сервере, какие программы слушают порты 80 и 443. На новом сервере команда ничего не выведет:\n\n```bash\nss -tlnp | grep -E ':80|:443'\n```\n\nЕсли вы сами включили файрвол в системе, разрешите HTTP и HTTPS. На Ubuntu и Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nНа AlmaLinux и CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\nНе включайте файрвол только ради этого руководства. Если хотите его включить, сначала разрешите SSH и держите открытой вторую SSH-сессию, чтобы не потерять доступ: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## Вариант 1: nginx\n\n### Ubuntu и Debian\n\n1. Установите nginx. Служба запустится автоматически после установки.\n\n   ```bash\n   apt update\n   apt install -y nginx\n   ```\n\n2. Создайте каталог сайта и тестовую страницу:\n\n   ```bash\n   mkdir -p /var/www/ДОМЕН\n   echo \"ДОМЕН OK\" > /var/www/ДОМЕН/index.html\n   ```\n\n3. Создайте файл конфигурации сайта:\n\n   ```bash\n   nano /etc/nginx/sites-available/ДОМЕН\n   ```\n\n4. Вставьте содержимое ниже, сохраните (Ctrl+O, затем Enter) и выйдите (Ctrl+X):\n\n   ```nginx\n   server {\n       listen 80;\n       server_name ДОМЕН www.ДОМЕН;\n       root /var/www/ДОМЕН;\n       index index.html index.htm;\n\n       location / {\n           try_files $uri $uri/ =404;\n       }\n   }\n   ```\n\n5. Включите сайт:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/ДОМЕН /etc/nginx/sites-enabled/\n   ```\n\n6. Проверьте конфигурацию и перезагрузите её. Команда `nginx -t` должна вывести «syntax is ok» и «test is successful»; если появилась ошибка, исправьте файл до перезагрузки.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n### AlmaLinux и CentOS Stream\n\n1. Установите и запустите nginx:\n\n   ```bash\n   dnf install -y nginx\n   systemctl enable --now nginx\n   ```\n\n2. Создайте каталог сайта и тестовую страницу, затем назначьте файлам метку SELinux для веб-содержимого: на файлы без неё nginx отвечает «403 Forbidden». Запускайте `restorecon` снова и после того, как переместите (`mv`) в каталог файлы из другого места.\n\n   ```bash\n   mkdir -p /var/www/ДОМЕН\n   echo \"ДОМЕН OK\" > /var/www/ДОМЕН/index.html\n   restorecon -Rv /var/www\n   ```\n\n3. Создайте файл конфигурации (если `nano` нет, первая команда его установит):\n\n   ```bash\n   dnf install -y nano\n   nano /etc/nginx/conf.d/ДОМЕН.conf\n   ```\n\n4. Вставьте тот же блок `server { … }`, что и для Ubuntu и Debian, сохраните и выйдите.\n5. Проверьте конфигурацию и перезагрузите её:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n## Вариант 2: Apache\n\n### Ubuntu и Debian\n\n1. Установите Apache. Служба запустится автоматически после установки.\n\n   ```bash\n   apt update\n   apt install -y apache2\n   ```\n\n2. Создайте каталог сайта и тестовую страницу командами из шага 2 варианта nginx.\n3. Создайте файл конфигурации сайта:\n\n   ```bash\n   nano /etc/apache2/sites-available/ДОМЕН.conf\n   ```\n\n4. Вставьте содержимое ниже, сохраните и выйдите:\n\n   ```apache\n   <VirtualHost *:80>\n       ServerName ДОМЕН\n       ServerAlias www.ДОМЕН\n       DocumentRoot /var/www/ДОМЕН\n       ErrorLog ${APACHE_LOG_DIR}/ДОМЕН-error.log\n       CustomLog ${APACHE_LOG_DIR}/ДОМЕН-access.log combined\n   </VirtualHost>\n   ```\n\n5. Включите сайт, проверьте конфигурацию и перезагрузите её. Команда `apachectl configtest` должна вывести «Syntax OK».\n\n   ```bash\n   a2ensite ДОМЕН.conf\n   apachectl configtest\n   systemctl reload apache2\n   ```\n\n### AlmaLinux и CentOS Stream\n\n1. Установите Apache (`httpd`) и модуль HTTPS (`mod_ssl`, он нужен certbot), затем запустите службу:\n\n   ```bash\n   dnf install -y httpd mod_ssl\n   systemctl enable --now httpd\n   ```\n\n2. Создайте каталог сайта и тестовую страницу командами из шага 2 варианта nginx, включая `restorecon`.\n3. Создайте файл конфигурации сайта (если `nano` нет, установите его, как в шаге 3 варианта nginx):\n\n   ```bash\n   nano /etc/httpd/conf.d/ДОМЕН.conf\n   ```\n\n4. Вставьте блок `<VirtualHost *:80>` из раздела для Ubuntu и Debian, изменив пути к журналам на `/var/log/httpd/ДОМЕН-error.log` и `/var/log/httpd/ДОМЕН-access.log`. Сохраните и выйдите.\n5. Проверьте конфигурацию и перезагрузите её:\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Проверка сайта по HTTP\n\nНа своём компьютере откройте в браузере `http://ДОМЕН`: должен появиться текст «ДОМЕН OK». Или выполните команду ниже (в PowerShell на Windows пишите `curl.exe` вместо `curl`); ответ должен начинаться с `HTTP/1.1 200 OK`. Если сайт не отвечает, сначала устраните проблему: certbot нужен сайт, доступный по HTTP.\n\n```bash\ncurl -I http://ДОМЕН\n```\n\n## Сертификат Let's Encrypt с certbot\n\n### Установка certbot\n\nUbuntu и Debian. Для Apache установите `python3-certbot-apache` вместо `python3-certbot-nginx`.\n\n```bash\napt install -y certbot python3-certbot-nginx\n```\n\nAlmaLinux и CentOS Stream. Certbot устанавливается из репозитория EPEL. Последняя команда включает таймер продления — здесь он сам не включается. Для Apache установите `python3-certbot-apache`.\n\n```bash\ndnf install -y epel-release\ndnf install -y certbot python3-certbot-nginx\nsystemctl enable --now certbot-renew.timer\n```\n\nНа Ubuntu и Debian можно также использовать snap-версию, которую рекомендуют разработчики certbot: обычно она новее и уже содержит плагины для nginx и Apache. Используйте что-то одно — apt или snap. Если certbot уже установлен через apt, удалите его:\n\n```bash\napt remove -y certbot\n```\n\nНа Debian сначала установите snapd:\n\n```bash\napt install -y snapd\nsnap install core\n```\n\nЗатем установите certbot из snap:\n\n```bash\nsnap install --classic certbot\nln -s /snap/bin/certbot /usr/bin/certbot\n```\n\n### Получение сертификата\n\n1. Запустите certbot с плагином вашего веб-сервера. Для nginx:\n\n   ```bash\n   certbot --nginx -d ДОМЕН -d www.ДОМЕН\n   ```\n\n   Для Apache:\n\n   ```bash\n   certbot --apache -d ДОМЕН -d www.ДОМЕН\n   ```\n\n2. При первом запуске certbot попросит адрес email и согласие с условиями Let's Encrypt: введите адрес и ответьте `Y`. На вопрос о рассылке EFF можно ответить `N`.\n3. Если certbot спросит, перенаправлять ли HTTP на HTTPS (так делают старые версии), выберите «2: Redirect». Новые версии добавляют перенаправление без вопроса.\n4. В конце появится сообщение, которое начинается с «Congratulations!». Сертификат и ключ лежат в `/etc/letsencrypt/live/ДОМЕН/`, а certbot добавил в конфигурацию сайта блок HTTPS (порт 443) и перенаправление с HTTP.\n5. Откройте `https://ДОМЕН` в браузере и проверьте значок замка. Команда ниже показывает сертификаты, их домены и дату окончания срока («Expiry Date»):\n\n   ```bash\n   certbot certificates\n   ```\n\n### Автоматическое продление\n\nСертификат действует 90 дней. Таймер certbot проверяет сертификаты дважды в день и сам продлевает их до окончания срока. С `--nginx` и `--apache` certbot после продления ещё и перезагружает конфигурацию веб-сервера.\n\n| Как установлен certbot | Таймер продления | Включён автоматически |\n|---|---|---|\n| apt (Ubuntu, Debian) | `certbot.timer` | да |\n| snap | `snap.certbot.renew.timer` | да |\n| EPEL (AlmaLinux, CentOS Stream) | `certbot-renew.timer` | нет: включите его командой `systemctl enable --now certbot-renew.timer` |\n\nПроверьте таймер и смоделируйте продление. `--dry-run` не выпускает новый сертификат и завершается сообщением «Congratulations, all simulated renewals succeeded» (в старых версиях — «Congratulations, all renewals succeeded»).\n\n```bash\nsystemctl list-timers | grep -i certbot\ncertbot renew --dry-run\n```\n\n> **Примечание**\n> Let's Encrypt больше не присылает письма перед окончанием срока сертификатов и объявил, что будет постепенно сокращать срок их действия. Не планируйте продление вручную по календарю: доверьте его таймеру certbot и время от времени проверяйте дату окончания срока командой `certbot certificates`.\n\n## Wildcard-сертификат (`*.ДОМЕН`) с проверкой через DNS\n\nWildcard-сертификат покрывает все поддомены одного уровня (`www.ДОМЕН`, `api.ДОМЕН` и т. д.) и выпускается только с проверкой через DNS: certbot временно создаёт TXT-запись `_acme-challenge.ДОМЕН`. Чтобы продление оставалось автоматическим, certbot нужен плагин для вашего DNS-провайдера. Пример ниже — для Cloudflare; для других провайдеров см. [список DNS-плагинов в документации certbot](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). Без плагина (`--manual`) сертификат автоматически не продлевается. Если вам нужен wildcard, выполните шаги ниже вместо шагов из раздела «Получение сертификата».\n\n1. В аккаунте Cloudflare создайте токен только для certbot: «My Profile» → «API Tokens» → «Create Token» → шаблон «Edit zone DNS». В «Zone Resources» выберите только зону `ДОМЕН`, создайте токен и скопируйте его. Не используйте токен, подключённый на странице «DNS» панели: отдельный токен можно отозвать, не затрагивая панель.\n2. Установите плагин Cloudflare. Ubuntu и Debian:\n\n   ```bash\n   apt install -y python3-certbot-dns-cloudflare\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   dnf install -y python3-certbot-dns-cloudflare\n   ```\n\n   Если вы пользуетесь certbot из snap:\n\n   ```bash\n   snap set certbot trust-plugin-with-root=ok\n   snap install certbot-dns-cloudflare\n   ```\n\n   На Ubuntu 20.04 плагин из apt слишком старый и не работает с API-токенами: используйте certbot и плагин из snap.\n\n3. Сохраните токен в файл:\n\n   ```bash\n   mkdir -p /root/.secrets\n   nano /root/.secrets/cloudflare.ini\n   ```\n\n   Содержимое файла — с вашим токеном вместо `ТОКЕН_CLOUDFLARE`:\n\n   ```ini\n   dns_cloudflare_api_token = ТОКЕН_CLOUDFLARE\n   ```\n\n4. Сделайте файл доступным только для root:\n\n   ```bash\n   chmod 600 /root/.secrets/cloudflare.ini\n   ```\n\n5. Получите сертификат. `--deploy-hook` перезагружает конфигурацию веб-сервера после каждого продления; для Apache укажите `systemctl reload apache2` (Ubuntu, Debian) или `systemctl reload httpd` (AlmaLinux, CentOS Stream).\n\n   ```bash\n   certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d ДОМЕН -d \"*.ДОМЕН\" --deploy-hook \"systemctl reload nginx\"\n   ```\n\n6. `certonly` не меняет конфигурацию веб-сервера: блок для HTTPS нужно добавить в файл сайта самостоятельно. Для nginx добавьте блок ниже, затем выполните `nginx -t` и перезагрузите конфигурацию nginx. Для поддомена скопируйте блок и измените `server_name` и `root`; строки сертификата остаются теми же.\n\n   ```nginx\n   server {\n       listen 443 ssl;\n       server_name ДОМЕН www.ДОМЕН;\n       root /var/www/ДОМЕН;\n       ssl_certificate     /etc/letsencrypt/live/ДОМЕН/fullchain.pem;\n       ssl_certificate_key /etc/letsencrypt/live/ДОМЕН/privkey.pem;\n   }\n   ```\n\n   Чтобы перенаправлять HTTP на HTTPS, в блоке с `listen 80` замените строки `root`, `index` и блок `location` на `return 301 https://$host$request_uri;`.\n\n7. Для Apache добавьте в файл сайта блок ниже. Чтобы перенаправлять HTTP на HTTPS, добавьте в блок `<VirtualHost *:80>` строку `Redirect permanent / https://ДОМЕН/`.\n\n   ```apache\n   <VirtualHost *:443>\n       ServerName ДОМЕН\n       ServerAlias www.ДОМЕН\n       DocumentRoot /var/www/ДОМЕН\n       SSLEngine on\n       SSLCertificateFile    /etc/letsencrypt/live/ДОМЕН/fullchain.pem\n       SSLCertificateKeyFile /etc/letsencrypt/live/ДОМЕН/privkey.pem\n   </VirtualHost>\n   ```\n\n   На Ubuntu и Debian включите модуль SSL, проверьте конфигурацию и перезапустите Apache:\n\n   ```bash\n   a2enmod ssl\n   apachectl configtest\n   systemctl restart apache2\n   ```\n\n   На AlmaLinux и CentOS Stream `mod_ssl` уже установлен (шаг 1 варианта Apache):\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Частые проблемы\n\n| Сообщение или симптом | Причина | Что делать |\n|---|---|---|\n| «DNS problem: NXDOMAIN looking up A for ДОМЕН» | A-записи нет или она ещё не распространилась | создайте запись, подождите и проверьте командой `dig +short ДОМЕН A` |\n| «Timeout during connect (likely firewall problem)» | порт 80 закрыт или домен указывает на другой адрес | разрешите 80 и 443 в `ufw`/`firewalld`; проверьте записи A и AAAA; если не помогло, напишите в поддержку |\n| «Connection refused» | веб-сервер не запущен | `systemctl status nginx` (или `apache2`, `httpd`) и `ss -tlnp` |\n| «Invalid response from http://ДОМЕН/.well-known/acme-challenge/…» с кодом 404 | запрос попадает на другой сервер: старая запись A или AAAA либо прокси Cloudflare | исправьте DNS-записи; временно выключите прокси |\n| «Could not automatically find a matching server block for ДОМЕН» | нет `server_name` с этим доменом | добавьте `server_name`, выполните `nginx -t`, перезагрузите конфигурацию и запустите certbot снова |\n| «bind() to 0.0.0.0:80 failed (98: Address already in use)» | порт 80 занят другим веб-сервером | остановите или удалите его; оставьте один веб-сервер |\n| «too many failed authorizations» или «too many certificates» | лимиты Let's Encrypt | подождите (см. ниже); проверяйте с `--dry-run` |\n| «403 Forbidden» на AlmaLinux или CentOS Stream | метка SELinux у файлов | `restorecon -Rv /var/www` |\n| «502 Bad Gateway» на AlmaLinux или CentOS Stream, в `/var/log/nginx/error.log` — «(13: Permission denied)» | SELinux не даёт nginx подключиться к приложению за ним | `setsebool -P httpd_can_network_connect 1`; см. [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii) |\n| `ERR_TOO_MANY_REDIRECTS` через Cloudflare | в Cloudflare выбран режим SSL «Flexible» | выберите режим «Full (strict)» |\n\nПолный журнал certbot — в `/var/log/letsencrypt/letsencrypt.log`.\n\nУстранив причину, проверьте выпуск на тестовом сервере Let's Encrypt, не получая настоящий сертификат. `--dry-run` работает только с `certonly` и `renew`; для Apache укажите `--apache`.\n\n```bash\ncertbot certonly --nginx --dry-run -d ДОМЕН -d www.ДОМЕН\n```\n\n> **Внимание**\n> Let's Encrypt ограничивает число попыток: после 5 неудачных проверок одного имени за час новые попытки временно отклоняются, а для одного и того же набора имён можно выпустить не больше 5 сертификатов за 7 дней. Не запускайте certbot раз за разом: проверяйте с `--dry-run` — такие попытки в эти лимиты не засчитываются. Подробнее: [лимиты Let's Encrypt](https://letsencrypt.org/docs/rate-limits/).\n\n### Домен проходит через прокси Cloudflare\n\n1. Для первого выпуска оставьте записи `ДОМЕН` и `www` в режиме «DNS only» (на странице «DNS» панели флажок «Прокси» снят) или используйте проверку через DNS, описанную выше.\n2. Когда сайт заработает по HTTPS напрямую на сервере, включите прокси.\n3. В аккаунте Cloudflare, в разделе «SSL/TLS», выберите режим шифрования «Full (strict)». Режим «Flexible» приводит к бесконечным перенаправлениям, потому что сервер перенаправляет HTTP на HTTPS.\n\nПодробнее о прокси: [Как направить домен на сервер](#domenii.indreptare-domeniu).\n\n## Что дальше\n\n- Установите WordPress на этот сервер: [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n- Опубликуйте приложение на Node.js или Python через nginx: [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii).\n- Загрузите файлы сайта в `/var/www/ДОМЕН`: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- Следите за продлением: примерно через два месяца `certbot certificates` должна показать новую дату окончания срока. Если дата не изменилась, проверьте таймер и журнал certbot.\n\n## Частые вопросы\n\n**Можно ли разместить несколько сайтов на одном сервере?**\nДа. Для каждого домена создайте отдельный каталог и отдельный файл конфигурации (блок `server` в nginx, `VirtualHost` в Apache), затем запустите certbot с именами этого домена.\n\n**Как добавить поддомен в существующий сертификат?**\nСоздайте A-запись для поддомена, добавьте его в `server_name` (или `ServerAlias`), перезагрузите конфигурацию веб-сервера и запустите certbot со всеми именами — прежними и новым. Для Apache укажите `--apache` вместо `--nginx`:\n\n```bash\ncertbot --nginx --expand -d ДОМЕН -d www.ДОМЕН -d app.ДОМЕН\n```\n\n**Что будет, если продление не удалось?**\nТекущий сертификат действует до даты окончания срока, а таймер повторяет попытку дважды в день. Причина записана в `/var/log/letsencrypt/letsencrypt.log`; исправив её, проверьте результат командой `certbot renew --dry-run`.\n\n**Может ли AI-ассистент выполнить эти шаги за меня?**\nДа, если у его токена есть разрешения «Читать список и статус моих серверов» (`servers:read`) и «Выполнять любые команды от root на моих серверах» (`servers:exec`). Домен к этому моменту уже должен указывать на сервер. См. [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n\n**Я всё сделал по шагам, но сайт так и не открывается.**\nПройдите по списку проверок из статьи [Сайт не открывается](#faq.site-ul-nu-se-deschide). Если проблема останется, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n",
    "en": "This guide shows you how to publish a site on your BLACKBOX server: install the nginx or Apache web server, set up the site for your domain and get a free HTTPS certificate from Let's Encrypt with certbot. You work in the server's terminal, connected over SSH as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). The app.blackbox.md panel has no section for web servers or certificates: all you need from it is the server's IP address, shown on the server card on the “My Servers” page (`app.blackbox.md/my-servers`).\n\n**Available to:** anyone with `root` access over SSH to a BLACKBOX server running Ubuntu 24.04, 22.04 or 20.04, Debian 12 or 11, AlmaLinux 9 or CentOS Stream 9.\n\nIn the commands, replace `DOMAIN` with your domain without `www` (for example `example.com`). Choose only one web server, nginx or Apache: both use ports 80 and 443 and can't run at the same time.\n\nIf you have a “VPS hosting” plan with a control panel, don't install another web server on top of the panel: you set up sites and certificates in the control panel. If you don't know which panel you have or how to sign in to it, write to support. See [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\n## Before you start\n\n| Requirement | Details |\n|---|---|\n| The domain points to the server | the A records for `DOMAIN` and `www.DOMAIN` have the value `SERVER_IP`, and there is no AAAA record left over from your old hosting; see [How to point your domain to the server](#domenii.indreptare-domeniu) |\n| Ports 80 and 443 are open | on a new server, BLACKBOX network filtering allows SSH (22), HTTP (80), HTTPS (443) and ping; the operating system's firewall (`ufw`, `firewalld`) is not enabled |\n| Ports 80 and 443 are free | no other program (such as another web server) is listening on them |\n\nOn the server, check which programs are listening on ports 80 and 443. On a new server, the command shows nothing:\n\n```bash\nss -tlnp | grep -E ':80|:443'\n```\n\nIf you have enabled the operating system's firewall yourself, allow HTTP and HTTPS. On Ubuntu and Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nOn AlmaLinux and CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\nDon't enable the firewall just for this guide. If you want to enable it, allow SSH first and keep a second SSH session open so you don't lose access: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## Option 1: nginx\n\n### Ubuntu and Debian\n\n1. Install nginx. The service starts automatically after installation.\n\n   ```bash\n   apt update\n   apt install -y nginx\n   ```\n\n2. Create the site's directory and a test page:\n\n   ```bash\n   mkdir -p /var/www/DOMAIN\n   echo \"DOMAIN OK\" > /var/www/DOMAIN/index.html\n   ```\n\n3. Create the site's configuration file:\n\n   ```bash\n   nano /etc/nginx/sites-available/DOMAIN\n   ```\n\n4. Paste the content below, save with Ctrl+O and Enter, then exit with Ctrl+X:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMAIN www.DOMAIN;\n       root /var/www/DOMAIN;\n       index index.html index.htm;\n\n       location / {\n           try_files $uri $uri/ =404;\n       }\n   }\n   ```\n\n5. Enable the site:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMAIN /etc/nginx/sites-enabled/\n   ```\n\n6. Check the configuration and reload nginx. `nginx -t` must show “syntax is ok” and “test is successful”; if it shows an error, fix the file before you reload.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n### AlmaLinux and CentOS Stream\n\n1. Install and start nginx:\n\n   ```bash\n   dnf install -y nginx\n   systemctl enable --now nginx\n   ```\n\n2. Create the site's directory and the test page, then apply the SELinux label for web content: files without it return “403 Forbidden”. Run `restorecon` again whenever you move (`mv`) files into the directory from another location.\n\n   ```bash\n   mkdir -p /var/www/DOMAIN\n   echo \"DOMAIN OK\" > /var/www/DOMAIN/index.html\n   restorecon -Rv /var/www\n   ```\n\n3. Create the configuration file (if `nano` is missing, the first command installs it):\n\n   ```bash\n   dnf install -y nano\n   nano /etc/nginx/conf.d/DOMAIN.conf\n   ```\n\n4. Paste the same `server { … }` block as for Ubuntu and Debian, save and exit.\n5. Check the configuration and reload nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n## Option 2: Apache\n\n### Ubuntu and Debian\n\n1. Install Apache. The service starts automatically after installation.\n\n   ```bash\n   apt update\n   apt install -y apache2\n   ```\n\n2. Create the site's directory and the test page with the commands from step 2 of the nginx option.\n3. Create the site's configuration file:\n\n   ```bash\n   nano /etc/apache2/sites-available/DOMAIN.conf\n   ```\n\n4. Paste the content below, save and exit:\n\n   ```apache\n   <VirtualHost *:80>\n       ServerName DOMAIN\n       ServerAlias www.DOMAIN\n       DocumentRoot /var/www/DOMAIN\n       ErrorLog ${APACHE_LOG_DIR}/DOMAIN-error.log\n       CustomLog ${APACHE_LOG_DIR}/DOMAIN-access.log combined\n   </VirtualHost>\n   ```\n\n5. Enable the site, check the configuration and reload Apache. `apachectl configtest` must show “Syntax OK”.\n\n   ```bash\n   a2ensite DOMAIN.conf\n   apachectl configtest\n   systemctl reload apache2\n   ```\n\n### AlmaLinux and CentOS Stream\n\n1. Install Apache (`httpd`) and the HTTPS module (`mod_ssl`, which certbot needs), then start the service:\n\n   ```bash\n   dnf install -y httpd mod_ssl\n   systemctl enable --now httpd\n   ```\n\n2. Create the site's directory and the test page with the commands from step 2 of the nginx option, including `restorecon`.\n3. Create the site's configuration file (if `nano` is missing, install it as in step 3 of the nginx option):\n\n   ```bash\n   nano /etc/httpd/conf.d/DOMAIN.conf\n   ```\n\n4. Paste the `<VirtualHost *:80>` block from the Ubuntu and Debian steps, with different log paths: `/var/log/httpd/DOMAIN-error.log` and `/var/log/httpd/DOMAIN-access.log`. Save and exit.\n5. Check the configuration and reload Apache:\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Checking the site over HTTP\n\nOn your computer, open `http://DOMAIN` in a browser: you should see the text “DOMAIN OK”. Or run the command below (on Windows, in PowerShell, type `curl.exe` instead of `curl`); the response must start with `HTTP/1.1 200 OK`. If the site doesn't respond, fix that first: certbot needs a site that is reachable over HTTP.\n\n```bash\ncurl -I http://DOMAIN\n```\n\n## Let's Encrypt certificate with certbot\n\n### Installing certbot\n\nUbuntu and Debian. For Apache, install `python3-certbot-apache` instead of `python3-certbot-nginx`.\n\n```bash\napt install -y certbot python3-certbot-nginx\n```\n\nAlmaLinux and CentOS Stream. Certbot comes from the EPEL repository. The last command starts the renewal timer, which isn't turned on automatically on these systems. For Apache, install `python3-certbot-apache`.\n\n```bash\ndnf install -y epel-release\ndnf install -y certbot python3-certbot-nginx\nsystemctl enable --now certbot-renew.timer\n```\n\nOn Ubuntu and Debian, you can also use the snap package, which the certbot developers recommend: it is usually a newer version and includes the nginx and Apache plugins. Use either apt or snap, not both. If you have already installed certbot with apt, remove it:\n\n```bash\napt remove -y certbot\n```\n\nOn Debian, install snapd first:\n\n```bash\napt install -y snapd\nsnap install core\n```\n\nThen install certbot from snap:\n\n```bash\nsnap install --classic certbot\nln -s /snap/bin/certbot /usr/bin/certbot\n```\n\n### Getting the certificate\n\n1. Run certbot with the plugin for your web server. For nginx:\n\n   ```bash\n   certbot --nginx -d DOMAIN -d www.DOMAIN\n   ```\n\n   For Apache:\n\n   ```bash\n   certbot --apache -d DOMAIN -d www.DOMAIN\n   ```\n\n2. On the first run, certbot asks for an email address and for you to accept the Let's Encrypt terms: enter the address and answer `Y`. When asked about the EFF newsletter, you can answer `N`.\n3. If certbot asks whether to redirect HTTP to HTTPS (older versions do), choose “2: Redirect”. Newer versions add the redirect without asking.\n4. At the end, you see a message that starts with “Congratulations!”. The certificate and key are in `/etc/letsencrypt/live/DOMAIN/`, and certbot has added the HTTPS block (port 443) and the redirect from HTTP to the site's configuration.\n5. Open `https://DOMAIN` in your browser and check for the padlock. The command below shows your certificates, their domains and the expiry date (“Expiry Date”):\n\n   ```bash\n   certbot certificates\n   ```\n\n### Automatic renewal\n\nThe certificate is valid for 90 days. The certbot timer checks the certificates twice a day and renews them on its own before they expire. With `--nginx` and `--apache`, certbot also reloads the web server after renewal.\n\n| How you installed certbot | Renewal timer | Started automatically |\n|---|---|---|\n| apt (Ubuntu, Debian) | `certbot.timer` | yes |\n| snap | `snap.certbot.renew.timer` | yes |\n| EPEL (AlmaLinux, CentOS Stream) | `certbot-renew.timer` | no: start it with `systemctl enable --now certbot-renew.timer` |\n\nCheck the timer and simulate a renewal. `--dry-run` doesn't issue a new certificate and ends with “Congratulations, all simulated renewals succeeded” (in older versions, “Congratulations, all renewals succeeded”).\n\n```bash\nsystemctl list-timers | grep -i certbot\ncertbot renew --dry-run\n```\n\n> **Note**\n> Let's Encrypt no longer sends emails before certificates expire, and it has announced that it will gradually shorten how long certificates are valid. Don't schedule manual renewals by the calendar: let the certbot timer do the work, and check the expiry date from time to time with `certbot certificates`.\n\n## Wildcard certificate (`*.DOMAIN`) with DNS validation\n\nA wildcard certificate covers all subdomains one level down (`www.DOMAIN`, `api.DOMAIN` and so on), and you can only get one with DNS validation: certbot temporarily creates the TXT record `_acme-challenge.DOMAIN`. To keep renewal automatic, certbot needs a plugin for your DNS provider. The example below is for Cloudflare; for other providers, see the [list of DNS plugins in the certbot documentation](https://eff-certbot.readthedocs.io/en/stable/using.html#dns-plugins). Without a plugin (`--manual`), the certificate is no longer renewed automatically. If you need a wildcard, follow the steps below instead of the ones in “Getting the certificate”.\n\n1. In your Cloudflare account, create a token just for certbot: “My Profile” → “API Tokens” → “Create Token” → the “Edit zone DNS” template. Under “Zone Resources”, select only the `DOMAIN` zone, create the token and copy it. Don't reuse the token connected on the panel's “DNS” page: you can revoke a separate token without affecting the panel.\n2. Install the Cloudflare plugin. Ubuntu and Debian:\n\n   ```bash\n   apt install -y python3-certbot-dns-cloudflare\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   dnf install -y python3-certbot-dns-cloudflare\n   ```\n\n   If you use certbot from snap:\n\n   ```bash\n   snap set certbot trust-plugin-with-root=ok\n   snap install certbot-dns-cloudflare\n   ```\n\n   On Ubuntu 20.04, the apt plugin is too old and doesn't support API tokens: use certbot and the plugin from snap.\n\n3. Save the token in a file:\n\n   ```bash\n   mkdir -p /root/.secrets\n   nano /root/.secrets/cloudflare.ini\n   ```\n\n   The file's content, with your token in place of `CLOUDFLARE_TOKEN`:\n\n   ```ini\n   dns_cloudflare_api_token = CLOUDFLARE_TOKEN\n   ```\n\n4. Make the file accessible only to root:\n\n   ```bash\n   chmod 600 /root/.secrets/cloudflare.ini\n   ```\n\n5. Get the certificate. `--deploy-hook` reloads the web server after each renewal; for Apache, write `systemctl reload apache2` (Ubuntu, Debian) or `systemctl reload httpd` (AlmaLinux, CentOS Stream).\n\n   ```bash\n   certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d DOMAIN -d \"*.DOMAIN\" --deploy-hook \"systemctl reload nginx\"\n   ```\n\n6. `certonly` doesn't change the web server configuration: add an HTTPS block to the site's file yourself. For nginx, add the block below, then run `nginx -t` and reload nginx. For a subdomain, copy the block and change `server_name` and `root`; the certificate lines stay the same.\n\n   ```nginx\n   server {\n       listen 443 ssl;\n       server_name DOMAIN www.DOMAIN;\n       root /var/www/DOMAIN;\n       ssl_certificate     /etc/letsencrypt/live/DOMAIN/fullchain.pem;\n       ssl_certificate_key /etc/letsencrypt/live/DOMAIN/privkey.pem;\n   }\n   ```\n\n   To redirect HTTP to HTTPS, in the block with `listen 80`, replace the `root` and `index` lines and the `location` block with `return 301 https://$host$request_uri;`.\n\n7. For Apache, add the block below to the site's file. To redirect HTTP to HTTPS, add the line `Redirect permanent / https://DOMAIN/` to the `<VirtualHost *:80>` block.\n\n   ```apache\n   <VirtualHost *:443>\n       ServerName DOMAIN\n       ServerAlias www.DOMAIN\n       DocumentRoot /var/www/DOMAIN\n       SSLEngine on\n       SSLCertificateFile    /etc/letsencrypt/live/DOMAIN/fullchain.pem\n       SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN/privkey.pem\n   </VirtualHost>\n   ```\n\n   On Ubuntu and Debian, enable the SSL module, check the configuration and restart Apache:\n\n   ```bash\n   a2enmod ssl\n   apachectl configtest\n   systemctl restart apache2\n   ```\n\n   On AlmaLinux and CentOS Stream, `mod_ssl` is already installed (step 1 of the Apache option):\n\n   ```bash\n   apachectl configtest\n   systemctl reload httpd\n   ```\n\n## Common problems\n\n| Message or symptom | Cause | What to do |\n|---|---|---|\n| “DNS problem: NXDOMAIN looking up A for DOMAIN” | the A record is missing or hasn't propagated yet | create the record, wait and check with `dig +short DOMAIN A` |\n| “Timeout during connect (likely firewall problem)” | port 80 is blocked or the domain points to a different address | allow 80 and 443 in `ufw`/`firewalld`; check the A and AAAA records; if it still doesn't work, write to support |\n| “Connection refused” | the web server isn't running | `systemctl status nginx` (or `apache2`, `httpd`) and `ss -tlnp` |\n| “Invalid response from http://DOMAIN/.well-known/acme-challenge/…” with 404 | the request reaches a different server: an old A or AAAA record, or the Cloudflare proxy | fix the DNS records; turn off the proxy temporarily |\n| “Could not automatically find a matching server block for DOMAIN” | there is no `server_name` with this domain | add `server_name`, run `nginx -t`, reload and run certbot again |\n| “bind() to 0.0.0.0:80 failed (98: Address already in use)” | another web server is using port 80 | stop or remove it; keep only one web server |\n| “too many failed authorizations” or “too many certificates” | Let's Encrypt limits | wait (see below); test with `--dry-run` |\n| “403 Forbidden” on AlmaLinux or CentOS Stream | the SELinux label on the files | `restorecon -Rv /var/www` |\n| “502 Bad Gateway” on AlmaLinux or CentOS Stream, with “(13: Permission denied)” in `/var/log/nginx/error.log` | SELinux doesn't let nginx connect to the application behind it | `setsebool -P httpd_can_network_connect 1`; see [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii) |\n| `ERR_TOO_MANY_REDIRECTS` through Cloudflare | the “Flexible” SSL mode in Cloudflare | choose the “Full (strict)” mode |\n\nThe full certbot log is in `/var/log/letsencrypt/letsencrypt.log`.\n\nAfter you fix the cause, test issuance against the Let's Encrypt staging server, without getting a real certificate. `--dry-run` only works with `certonly` and `renew`; for Apache, write `--apache`.\n\n```bash\ncertbot certonly --nginx --dry-run -d DOMAIN -d www.DOMAIN\n```\n\n> **Warning**\n> Let's Encrypt limits attempts: after 5 failed validations for the same name within an hour, new attempts are temporarily refused, and at most 5 certificates can be issued for exactly the same set of names in 7 days. Don't run certbot over and over: test with `--dry-run`, which doesn't count against these limits. Details: [Let's Encrypt rate limits](https://letsencrypt.org/docs/rate-limits/).\n\n### The domain goes through the Cloudflare proxy\n\n1. For the first issuance, keep the `DOMAIN` and `www` records on “DNS only” (on the panel's “DNS” page, the “Proxied” checkbox unchecked), or use the DNS validation described above.\n2. Once the site works over HTTPS directly on the server, turn on the proxy.\n3. In your Cloudflare account, under “SSL/TLS”, choose the “Full (strict)” encryption mode. The “Flexible” mode causes redirect loops, because the server redirects HTTP to HTTPS.\n\nMore about the proxy: [How to point your domain to the server](#domenii.indreptare-domeniu).\n\n## Next steps\n\n- Install a WordPress site on this server: [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n- Publish a Node.js or Python application through nginx: [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii).\n- Upload your site's files to `/var/www/DOMAIN`: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- Keep an eye on renewal: after about two months, `certbot certificates` should show a new expiry date. If the date doesn't change, check the timer and the certbot log.\n\n## Frequently asked questions\n\n**Can I host several sites on the same server?**\nYes. For each domain, create a separate directory and configuration file (a `server` block in nginx, a `VirtualHost` in Apache), then run certbot with that domain's names.\n\n**How do I add a subdomain to an existing certificate?**\nCreate the A record for the subdomain, add it to `server_name` (or `ServerAlias`), reload the web server and run certbot with all the names, the existing ones and the new one. For Apache, write `--apache` instead of `--nginx`:\n\n```bash\ncertbot --nginx --expand -d DOMAIN -d www.DOMAIN -d app.DOMAIN\n```\n\n**What happens if renewal fails?**\nThe current certificate stays valid until its expiry date, and the timer tries again twice a day. The cause is in `/var/log/letsencrypt/letsencrypt.log`; once you fix it, confirm with `certbot renew --dry-run`.\n\n**Can the AI assistant do these steps for me?**\nYes, if its token has the “Citește lista și statusul serverelor mele” (Read the list and status of my servers) (`servers:read`) and “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) (`servers:exec`) permissions. The domain must already point to the server. See [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n\n**I followed the steps, but the site still doesn't open.**\nGo through the checklist in [The site does not open](#faq.site-ul-nu-se-deschide). If the problem persists, write to us: [How to contact BLACKBOX support](#suport.contact).\n"
   }
  },
  {
   "id": "ghiduri.wordpress-lemp",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/wordpress-lemp/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/wordpress-lemp/",
    "en": "https://docs.blackbox.md/en/ghiduri/wordpress-lemp/"
   },
   "title": {
    "ro": "WordPress pe LEMP (nginx, MariaDB, PHP)",
    "ru": "WordPress на LEMP (nginx, MariaDB, PHP)",
    "en": "WordPress on LEMP (nginx, MariaDB, PHP)"
   },
   "summary": {
    "ro": "Instalarea pas cu pas a unui site WordPress pe un server Ubuntu sau Debian, cu HTTPS, copii de rezervă zilnice și setări de bază.",
    "ru": "Пошаговая установка сайта WordPress на сервер Ubuntu или Debian с HTTPS, ежедневными резервными копиями и базовыми настройками.",
    "en": "Step-by-step installation of a WordPress site on an Ubuntu or Debian server, with HTTPS, daily backups and basic settings."
   },
   "markdown": {
    "ro": "Ghidul arată cum instalați un site WordPress pe stiva LEMP: Linux, nginx (serverul web), MariaDB (baza de date) și PHP-FPM, cu un certificat HTTPS gratuit de la Let's Encrypt. Toate comenzile se rulează pe server, ca `root`, într-o sesiune SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Adresa IP a serverului este în panoul app.blackbox.md, „Infrastructură” → „Serverele mele” (`app.blackbox.md/my-servers`), în câmpul „IP” de pe cardul serverului.\n\n**Disponibil pentru:** titularul unui server VPS BLACKBOX fără panou de control, cu acces `root` prin SSH. Pașii sunt scriși pentru Ubuntu 24.04 LTS și Debian 12; diferențele pentru AlmaLinux 9 și CentOS Stream 9 sunt într-o secțiune separată. Pe un plan „VPS hosting” cu panou de control, site-urile se creează din panou: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n## Ce plan și ce sistem alegeți\n\nPentru un site obișnuit, un plan Standard S sau Standard M este un început bun:\n\n| Plan | vCPU | RAM | Disc | Preț | Potrivit pentru |\n|---|---|---|---|---|---|\n| Standard S | 1 | 2 GB | 20 GB | 443 MDL/lună | site de prezentare, blog |\n| Standard M | 2 | 4 GB | 40 GB | 578 MDL/lună | magazin online, site cu multe plugin-uri |\n\nToate planurile sunt în [Planurile VPS: cum alegeți](#comenzi.planuri-vps). Când site-ul crește, treceți la un plan mai mare: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\nCa sistem de operare, alegeți Ubuntu 24.04 LTS (selectat implicit la comandă) sau Debian 12. Ubuntu 20.04 LTS și Debian 11 vin cu PHP 7.4, pe care proiectul PHP nu-l mai actualizează: nu le folosiți pentru un site nou.\n\nÎnainte de instalare, verificați:\n\n- înregistrările A pentru `DOMENIU` și `www.DOMENIU` indică adresa IP a serverului; altfel certificatul HTTPS nu poate fi emis: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu);\n- porturile 80 și 443 sunt deschise. Filtrul de rețea BLACKBOX le lasă deschise implicit, iar firewall-ul sistemului (ufw sau firewalld) nu este pornit pe un server nou. Dacă l-ați pornit, permiteți porturile 80 și 443 și acolo: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\nÎn toate comenzile, înlocuiți `DOMENIU` cu numele site-ului fără `www`, de exemplu `example.com`.\n\n## Pasul 1. Instalați nginx, MariaDB și PHP\n\n1. Actualizați lista de pachete și instalați componentele. Pe Ubuntu și Debian, serviciile pornesc automat după instalare.\n\n   ```bash\n   apt update\n   apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl curl\n   ```\n\n2. Aflați versiunea PHP instalată după numele socket-ului PHP-FPM:\n\n   ```bash\n   ls /run/php/\n   ```\n\n   | Sistem | PHP | Socket PHP-FPM | Serviciul PHP-FPM |\n   |---|---|---|---|\n   | Ubuntu 24.04 LTS | 8.3 | `/run/php/php8.3-fpm.sock` | `php8.3-fpm` |\n   | Debian 12 | 8.2 | `/run/php/php8.2-fpm.sock` | `php8.2-fpm` |\n   | Ubuntu 22.04 LTS | 8.1 | `/run/php/php8.1-fpm.sock` | `php8.1-fpm` |\n\n   > **Important**\n   > Exemplele folosesc PHP 8.3 (Ubuntu 24.04 LTS). Pe alt sistem, înlocuiți `8.3` cu versiunea dvs. peste tot: în căile `/etc/php/8.3/…`, în numele serviciului `php8.3-fpm` și în socket-ul din configurația nginx.\n\n3. Măriți mărimea maximă a fișierelor încărcate în WordPress (implicit, PHP acceptă doar 2 MB) și reporniți PHP-FPM:\n\n   ```bash\n   printf 'upload_max_filesize = 64M\\npost_max_size = 64M\\n' > /etc/php/8.3/fpm/conf.d/99-wordpress.ini\n   systemctl restart php8.3-fpm\n   ```\n\n## Pasul 2. Creați baza de date\n\n1. Rulați scriptul de securizare MariaDB și răspundeți ca în tabel:\n\n   ```bash\n   mariadb-secure-installation\n   ```\n\n   | Întrebarea | Răspunsul |\n   |---|---|\n   | `Enter current password for root (enter for none):` | Enter |\n   | `Switch to unix_socket authentication [Y/n]` | `n` |\n   | `Change the root password? [Y/n]` | `n`, dacă scriptul a scris „You already have your root account protected, so you can safely answer 'n'.”; altfel `Y` și o parolă puternică |\n   | `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` la toate |\n\n   Utilizatorul `root` al MariaDB intră prin contul `root` al sistemului (autentificare `unix_socket`), cu comanda `mariadb`, fără parolă.\n\n2. Generați o parolă puternică pentru utilizatorul bazei de date și notați-o. Mai jos, ea apare ca `PAROLA_DB`:\n\n   ```bash\n   openssl rand -hex 20\n   ```\n\n3. Deschideți consola MariaDB:\n\n   ```bash\n   mariadb\n   ```\n\n4. Creați baza de date `wordpress` și utilizatorul `wpuser`, cu drepturi doar pe această bază, apoi ieșiți:\n\n   ```sql\n   CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n   CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'PAROLA_DB';\n   GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';\n   FLUSH PRIVILEGES;\n   EXIT;\n   ```\n\nUtilizatorul `wpuser` se poate conecta doar de pe server (`localhost`). Nu deschideți portul 3306 spre internet. Mai multe despre MariaDB: [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date).\n\n## Pasul 3. Copiați fișierele WordPress\n\n1. Descărcați ultima versiune de pe wordpress.org și dezarhivați-o în `/var/www/DOMENIU`:\n\n   ```bash\n   mkdir -p /var/www/DOMENIU\n   cd /tmp\n   curl -O https://wordpress.org/latest.tar.gz\n   tar -xzf latest.tar.gz -C /var/www/DOMENIU --strip-components=1\n   rm latest.tar.gz\n   ```\n\n2. Creați `wp-config.php` și scrieți în el datele bazei de date. Înlocuiți `PAROLA_DB` cu parola din pasul 2.\n\n   ```bash\n   cd /var/www/DOMENIU\n   cp wp-config-sample.php wp-config.php\n   sed -i \"s/database_name_here/wordpress/; s/username_here/wpuser/; s/password_here/PAROLA_DB/\" wp-config.php\n   ```\n\n3. Înlocuiți cele 8 chei de securitate (salts) cu valori unice, generate de serviciul WordPress.org:\n\n   ```bash\n   curl -s https://api.wordpress.org/secret-key/1.1/salt/ -o /tmp/wp-salts.txt\n   sed -i '/put your unique phrase here/d' wp-config.php\n   sed -i '/#@-/r /tmp/wp-salts.txt' wp-config.php\n   rm /tmp/wp-salts.txt\n   ```\n\n4. Verificați rezultatul. Trebuie să vedeți 3 rânduri `DB_` cu datele dvs. și 8 rânduri, de la `AUTH_KEY` la `NONCE_SALT`, cu șiruri lungi aleatorii.\n\n   ```bash\n   grep -E \"DB_(NAME|USER|PASSWORD)|_KEY'|_SALT'\" wp-config.php\n   ```\n\n5. Treceți fișierele în proprietatea utilizatorului `www-data`, cu care rulează nginx și PHP-FPM, și setați permisiunile:\n\n   ```bash\n   chown -R www-data:www-data /var/www/DOMENIU\n   find /var/www/DOMENIU -type d -exec chmod 755 {} +\n   find /var/www/DOMENIU -type f -exec chmod 644 {} +\n   chmod 640 /var/www/DOMENIU/wp-config.php\n   ```\n\n   Astfel, WordPress își poate instala singur actualizările și plugin-urile, iar `wp-config.php`, cu parola bazei de date și cheile, nu poate fi citit de ceilalți utilizatori ai sistemului.\n\n## Pasul 4. Configurați nginx\n\n1. Creați fișierul site-ului:\n\n   ```bash\n   nano /etc/nginx/sites-available/DOMENIU\n   ```\n\n2. Lipiți configurația de mai jos, înlocuiți `DOMENIU`, salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMENIU www.DOMENIU;\n\n       root /var/www/DOMENIU;\n       index index.php index.html;\n\n       client_max_body_size 64M;\n\n       location / {\n           try_files $uri $uri/ /index.php?$args;\n       }\n\n       location ~* /wp-content/uploads/.*\\.php$ {\n           deny all;\n       }\n\n       location ~ \\.php$ {\n           include snippets/fastcgi-php.conf;\n           fastcgi_pass unix:/run/php/php8.3-fpm.sock;\n       }\n\n       location ~ /\\.(?!well-known) {\n           deny all;\n       }\n   }\n   ```\n\n   | Rândul | Ce face |\n   |---|---|\n   | `try_files $uri $uri/ /index.php?$args;` | servește fișierele existente și trimite restul cererilor la WordPress (necesar pentru legăturile permanente) |\n   | `fastcgi_pass unix:/run/php/php8.3-fpm.sock;` | trimite fișierele `.php` la PHP-FPM; calea trebuie să fie exact socket-ul din pasul 1 |\n   | `client_max_body_size 64M;` | mărimea maximă a unui fișier încărcat, aceeași ca în PHP |\n   | `location ~* /wp-content/uploads/.*\\.php$` | interzice rularea scripturilor PHP din folderul cu fișiere încărcate |\n   | `location ~ /\\.(?!well-known)` | blochează fișierele ascunse (`.htaccess`, `.git`), dar lasă accesibil `/.well-known/` pentru Let's Encrypt |\n\n3. Activați site-ul, verificați configurația și reîncărcați nginx:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMENIU /etc/nginx/sites-enabled/\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   `nginx -t` trebuie să afișeze `syntax is ok` și `test is successful`. Dacă afișează o eroare, corectați rândul indicat și repetați testul înainte de reîncărcare.\n\n## Pasul 5. Activați HTTPS\n\n1. Instalați certbot cu modulul pentru nginx:\n\n   ```bash\n   apt install -y certbot python3-certbot-nginx\n   ```\n\n2. Obțineți certificatul pentru ambele nume:\n\n   ```bash\n   certbot --nginx -d DOMENIU -d www.DOMENIU\n   ```\n\n3. La prima rulare, certbot cere o adresă de email și acceptarea condițiilor Let's Encrypt. Dacă întreabă dacă să redirecționeze HTTP spre HTTPS, alegeți redirecționarea. La final apare un mesaj care începe cu „Congratulations!”: certbot a adăugat certificatul în configurația nginx și a reîncărcat nginx.\n4. Certificatul este valabil 90 de zile și se reînnoiește automat. Verificați reînnoirea:\n\n   ```bash\n   certbot renew --dry-run\n   ```\n\nDetalii și erori frecvente: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Pasul 6. Finalizați instalarea în browser\n\n1. Deschideți `https://DOMENIU`. Apare asistentul de instalare WordPress.\n2. Alegeți limba site-ului și continuați.\n3. Completați titlul site-ului, numele administratorului, parola și adresa de email. Nu folosiți `admin` ca nume și păstrați parola puternică propusă de WordPress.\n4. Confirmați instalarea, apoi intrați în panoul de administrare la `https://DOMENIU/wp-admin`.\n\nInstalați WordPress după pasul 5: așa, site-ul își salvează de la început adresa cu `https://`.\n\n## Securitate\n\n- **Actualizări WordPress.** Actualizările minore de securitate se instalează automat. Versiunile majore, plugin-urile și temele le actualizați din panoul de administrare WordPress; pentru plugin-uri puteți activa actualizarea automată din lista de plugin-uri. Ștergeți plugin-urile și temele pe care nu le folosiți.\n- **Permisiuni.** După ce încărcați fișiere prin SFTP ca `root`, rulați din nou toate cele patru comenzi din pasul 3, punctul 5 (pe AlmaLinux, cu `apache:apache`): [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- **Sistemul.** Activați actualizările automate de securitate și fail2ban: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate), [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n\nDezactivați și editorul de cod din panoul WordPress, ca un cont de administrator compromis să nu poată modifica direct fișierele PHP:\n\n```bash\nsed -i \"/That's all, stop editing/i define( 'DISALLOW_FILE_EDIT', true );\" /var/www/DOMENIU/wp-config.php\n```\n\n## Copii de rezervă zilnice\n\nSalvați în fiecare zi baza de date și folderul `wp-content`, cu temele, plugin-urile și fișierele încărcate. Scriptul de mai jos rulează zilnic prin cron. Dacă folderul `/etc/cron.daily` nu există pe server, instalați întâi pachetul `cron` (Ubuntu, Debian) sau `cronie` (AlmaLinux, CentOS Stream).\n\n1. Creați folderul pentru copii și fișierul scriptului:\n\n   ```bash\n   mkdir -p /root/backup\n   nano /etc/cron.daily/wordpress-backup\n   ```\n\n2. Lipiți conținutul de mai jos, înlocuiți `DOMENIU` și salvați:\n\n   ```bash\n   #!/bin/sh\n   D=$(date +%F)\n   mysqldump --single-transaction wordpress | gzip > /root/backup/wordpress-db-$D.sql.gz\n   tar -czf /root/backup/wp-content-$D.tar.gz -C /var/www/DOMENIU wp-content\n   find /root/backup -type f -mtime +7 -delete\n   ```\n\n3. Faceți scriptul executabil și rulați-l o dată pentru test:\n\n   ```bash\n   chmod +x /etc/cron.daily/wordpress-backup\n   /etc/cron.daily/wordpress-backup\n   ls -lh /root/backup\n   ```\n\n   Trebuie să apară două fișiere cu data de azi. De acum, scriptul rulează zilnic, iar copiile mai vechi de 7 zile se șterg singure. Pe un disc mic (Standard S are 20 GB), urmăriți spațiul ocupat: [Discul serverului este plin](#faq.disc-plin).\n\n> **Atenție**\n> Copiile din `/root/backup` stau pe același server și se pierd odată cu el. Copiați-le regulat în altă parte: pe alt server sau într-un spațiu de stocare extern. BLACKBOX nu face automat copii de rezervă ale datelor de pe server: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## Performanță\n\n**OPcache.** Cache-ul de cod PHP este activ implicit. Verificați: rezultatul trebuie să conțină `Zend OPcache`.\n\n```bash\nphp-fpm8.3 -m | grep -i opcache\n```\n\n**Cache de pagini.** Instalați din panoul WordPress un singur plugin de cache al paginilor, de exemplu WP Super Cache. Pluginul salvează paginile gata generate și le servește din nou fără interogări la baza de date, deci mult mai repede.\n\n**Memorie swap.** Pe planurile cu 2 GB RAM, cum este Standard S, adăugați 1–2 GB de swap, ca vârfurile de trafic să nu oprească MariaDB din lipsă de memorie: [Adăugarea memoriei swap](#ghiduri.swap). Dacă serverul folosește swap tot timpul, treceți la un plan mai mare. Cum vedeți încărcarea: [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza).\n\n## AlmaLinux 9 și CentOS Stream 9\n\nPașii sunt aceiași, cu diferențele de mai jos. SELinux este activ: nu-l dezactivați, ci setați etichetele corecte.\n\n1. Activați PHP 8.3 (implicit, sistemul instalează PHP 8.0), instalați pachetele și porniți serviciile, care aici nu pornesc singure. Extensia curl este inclusă în pachetul de bază PHP.\n\n   ```bash\n   dnf module enable -y php:8.3\n   dnf install -y nginx mariadb-server php-fpm php-mysqlnd php-gd php-mbstring php-xml php-intl php-opcache php-pecl-zip nano tar\n   systemctl enable --now nginx mariadb php-fpm\n   ```\n\n2. Folosiți căile și numele din coloana din dreapta:\n\n   | Ce | Ubuntu și Debian | AlmaLinux și CentOS Stream |\n   |---|---|---|\n   | Utilizatorul PHP-FPM și proprietarul fișierelor | `www-data` | `apache` |\n   | Socket-ul PHP-FPM | `/run/php/php8.3-fpm.sock` | `/run/php-fpm/www.sock` |\n   | Fișierul site-ului nginx | `/etc/nginx/sites-available/DOMENIU` și link în `sites-enabled` | `/etc/nginx/conf.d/DOMENIU.conf`, fără link |\n   | Limitele de încărcare PHP | `/etc/php/8.3/fpm/conf.d/99-wordpress.ini` | `/etc/php.d/99-wordpress.ini` |\n   | Serviciul PHP-FPM | `php8.3-fpm` | `php-fpm` |\n\n3. MariaDB ascultă aici pe toate interfețele: legați-l la `127.0.0.1` ca în [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date).\n4. În configurația nginx, înlocuiți blocul `location ~ \\.php$` cu acesta (fișierul `snippets/fastcgi-php.conf` nu există aici):\n\n   ```nginx\n   location ~ \\.php$ {\n       try_files $uri =404;\n       fastcgi_pass unix:/run/php-fpm/www.sock;\n       fastcgi_index index.php;\n       include fastcgi_params;\n       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n   }\n   ```\n\n5. Treceți fișierele în proprietatea utilizatorului `apache`, apoi permiteți prin SELinux scrierea în folderul site-ului (încărcări, actualizări) și conexiunile PHP spre internet (descărcarea actualizărilor și a plugin-urilor):\n\n   ```bash\n   chown -R apache:apache /var/www/DOMENIU\n   dnf install -y policycoreutils-python-utils\n   semanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/DOMENIU(/.*)?\"\n   restorecon -Rv /var/www/DOMENIU\n   setsebool -P httpd_can_network_connect 1\n   ```\n\n   Dacă mai târziu mutați (`mv`) în folderul site-ului fișiere din alt folder, refaceți etichetele SELinux:\n\n   ```bash\n   restorecon -Rv /var/www/DOMENIU\n   ```\n\n6. Instalați certbot din depozitul EPEL și porniți timerul de reînnoire, care aici nu pornește singur:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y certbot python3-certbot-nginx\n   systemctl enable --now certbot-renew.timer\n   ```\n\n7. Verificarea OPcache se face cu `php-fpm` în loc de `php-fpm8.3`:\n\n   ```bash\n   php-fpm -m | grep -i opcache\n   ```\n\n## Probleme frecvente\n\n| Mesaj sau simptom | Cauza | Ce faceți |\n|---|---|---|\n| `502 Bad Gateway` | PHP-FPM este oprit sau `fastcgi_pass` indică alt socket | verificați `systemctl status php8.3-fpm` și comparați `fastcgi_pass` cu rezultatul `ls /run/php/` |\n| Browserul descarcă fișierul PHP sau afișează pagina implicită nginx | fișierul site-ului nu este activat sau lipsește blocul pentru `.php` | verificați linkul din `sites-enabled`, rulați `nginx -t` și reîncărcați nginx |\n| „Error establishing a database connection” (sau traducerea lui) | date greșite în `wp-config.php` ori MariaDB oprit | comparați rândurile `DB_` cu pasul 2; verificați `systemctl status mariadb` |\n| `413 Request Entity Too Large` | fișierul depășește `client_max_body_size` | măriți limita în nginx și în fișierul `99-wordpress.ini`, apoi reîncărcați nginx și reporniți PHP-FPM |\n| WordPress cere date FTP când instalați un plugin | fișierele nu aparțin utilizatorului PHP-FPM | rulați din nou `chown` din pasul 3 (`apache:apache` pe AlmaLinux) |\n| Încărcările sau actualizările eșuează pe AlmaLinux, cu „Permission denied” | etichetele SELinux | repetați comenzile `semanage`, `restorecon` și `setsebool` de mai sus |\n| certbot nu obține certificatul | domeniul nu indică serverul sau portul 80 este blocat | verificați înregistrările A; vedeți [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide) |\n\nErorile nginx sunt în `/var/log/nginx/error.log`.\n\n## Întrebări frecvente\n\n**Pot pune mai multe site-uri WordPress pe același server?**\nDa. Pentru fiecare site, repetați pașii 2–6 cu o bază de date, un utilizator, un folder în `/var/www/` și un fișier nginx separate; scriptul `mariadb-secure-installation` nu se mai rulează. Adăugați baza de date și folderul noului site și în scriptul de copii de rezervă. Urmăriți memoria și spațiul pe disc.\n\n**WordPress nu trimite emailuri (resetarea parolei, formularele de contact).**\nPe un server nou, de regulă nu este configurat un serviciu de trimitere a emailurilor. Instalați un plugin SMTP și conectați-l la contul unui serviciu de email.\n\n**Am deja un site WordPress la alt furnizor. Cum îl mut aici?**\nPregătiți serverul cu pașii 1, 2 și 4, apoi urmați [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site): copiați fișierele, importați baza de date și schimbați DNS-ul la final.\n\n**Poate BLACKBOX să instaleze WordPress în locul meu?**\nDa, ca serviciu profesional la cerere, prin suport. Volumul lucrării, prețul și condițiile le primiți în oferta echipei: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n",
    "ru": "В этом руководстве описана установка сайта WordPress на стек LEMP: Linux, nginx (веб-сервер), MariaDB (база данных) и PHP-FPM, с бесплатным HTTPS-сертификатом Let's Encrypt. Все команды выполняются на сервере под пользователем `root` в SSH-сессии: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). IP-адрес сервера указан в панели app.blackbox.md: «Инфраструктура» → «Мои серверы» (`app.blackbox.md/my-servers`), поле «IP» на карточке сервера.\n\n**Доступно:** владельцу VPS BLACKBOX без панели управления, с root-доступом по SSH. Шаги написаны для Ubuntu 24.04 LTS и Debian 12; отличия для AlmaLinux 9 и CentOS Stream 9 собраны в отдельном разделе. На тарифе «VPS hosting» с панелью управления сайты создают в самой панели: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n## Какой тариф и какую систему выбрать\n\nДля обычного сайта хорошая отправная точка — тариф Standard S или Standard M:\n\n| Тариф | vCPU | RAM | Диск | Цена | Подходит для |\n|---|---|---|---|---|---|\n| Standard S | 1 | 2 GB | 20 GB | 443 MDL/мес. | сайт-визитка, блог |\n| Standard M | 2 | 4 GB | 40 GB | 578 MDL/мес. | интернет-магазин, сайт с большим числом плагинов |\n\nВсе тарифы — в статье [Тарифы VPS: как выбрать](#comenzi.planuri-vps). Когда сайт вырастет, перейдите на более мощный тариф: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\nВ качестве операционной системы выберите Ubuntu 24.04 LTS (при заказе она выбрана по умолчанию) или Debian 12. В Ubuntu 20.04 LTS и Debian 11 устанавливается PHP 7.4, который проект PHP больше не обновляет: для нового сайта эти системы не подходят.\n\nПеред установкой проверьте:\n\n- A-записи для `ДОМЕН` и `www.ДОМЕН` указывают на IP-адрес сервера, иначе HTTPS-сертификат не будет выпущен: [Как направить домен на сервер](#domenii.indreptare-domeniu);\n- порты 80 и 443 открыты. Сетевой фильтр BLACKBOX по умолчанию их пропускает, а файрвол в системе (ufw или firewalld) на новом сервере не включён. Если вы его включили, разрешите порты 80 и 443 и в нём: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\nВо всех командах замените `ДОМЕН` на имя сайта без `www`, например `example.com`.\n\n## Шаг 1. Установите nginx, MariaDB и PHP\n\n1. Обновите список пакетов и установите компоненты. На Ubuntu и Debian службы запускаются автоматически сразу после установки.\n\n   ```bash\n   apt update\n   apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl curl\n   ```\n\n2. Узнайте установленную версию PHP по имени сокета PHP-FPM:\n\n   ```bash\n   ls /run/php/\n   ```\n\n   | Система | PHP | Сокет PHP-FPM | Служба PHP-FPM |\n   |---|---|---|---|\n   | Ubuntu 24.04 LTS | 8.3 | `/run/php/php8.3-fpm.sock` | `php8.3-fpm` |\n   | Debian 12 | 8.2 | `/run/php/php8.2-fpm.sock` | `php8.2-fpm` |\n   | Ubuntu 22.04 LTS | 8.1 | `/run/php/php8.1-fpm.sock` | `php8.1-fpm` |\n\n   > **Важно**\n   > В примерах используется PHP 8.3 (Ubuntu 24.04 LTS). В другой системе замените `8.3` на свою версию везде: в путях `/etc/php/8.3/…`, в имени службы `php8.3-fpm` и в сокете в конфигурации nginx.\n\n3. Увеличьте максимальный размер файлов, загружаемых в WordPress (по умолчанию PHP принимает не больше 2 MB), и перезапустите PHP-FPM:\n\n   ```bash\n   printf 'upload_max_filesize = 64M\\npost_max_size = 64M\\n' > /etc/php/8.3/fpm/conf.d/99-wordpress.ini\n   systemctl restart php8.3-fpm\n   ```\n\n## Шаг 2. Создайте базу данных\n\n1. Запустите скрипт защиты MariaDB и ответьте на вопросы, как в таблице:\n\n   ```bash\n   mariadb-secure-installation\n   ```\n\n   | Вопрос | Ответ |\n   |---|---|\n   | `Enter current password for root (enter for none):` | Enter |\n   | `Switch to unix_socket authentication [Y/n]` | `n` |\n   | `Change the root password? [Y/n]` | `n`, если скрипт написал «You already have your root account protected, so you can safely answer 'n'.»; иначе `Y` и надёжный пароль |\n   | `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` на все |\n\n   Пользователь `root` в MariaDB входит через системную учётную запись `root` (аутентификация `unix_socket`) командой `mariadb`, без пароля.\n\n2. Сгенерируйте надёжный пароль для пользователя базы данных и сохраните его. Ниже он обозначен как `ПАРОЛЬ_БД`:\n\n   ```bash\n   openssl rand -hex 20\n   ```\n\n3. Откройте консоль MariaDB:\n\n   ```bash\n   mariadb\n   ```\n\n4. Создайте базу данных `wordpress` и пользователя `wpuser` с правами только на эту базу, затем выйдите:\n\n   ```sql\n   CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n   CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'ПАРОЛЬ_БД';\n   GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';\n   FLUSH PRIVILEGES;\n   EXIT;\n   ```\n\nПользователь `wpuser` может подключаться только с самого сервера (`localhost`). Не открывайте порт 3306 для доступа из интернета. Подробнее о MariaDB: [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date).\n\n## Шаг 3. Скопируйте файлы WordPress\n\n1. Скачайте последнюю версию с wordpress.org и распакуйте её в `/var/www/ДОМЕН`:\n\n   ```bash\n   mkdir -p /var/www/ДОМЕН\n   cd /tmp\n   curl -O https://wordpress.org/latest.tar.gz\n   tar -xzf latest.tar.gz -C /var/www/ДОМЕН --strip-components=1\n   rm latest.tar.gz\n   ```\n\n2. Создайте `wp-config.php` и впишите в него данные базы. Замените `ПАРОЛЬ_БД` паролем из шага 2.\n\n   ```bash\n   cd /var/www/ДОМЕН\n   cp wp-config-sample.php wp-config.php\n   sed -i \"s/database_name_here/wordpress/; s/username_here/wpuser/; s/password_here/ПАРОЛЬ_БД/\" wp-config.php\n   ```\n\n3. Замените 8 ключей безопасности (salts) уникальными значениями от сервиса WordPress.org:\n\n   ```bash\n   curl -s https://api.wordpress.org/secret-key/1.1/salt/ -o /tmp/wp-salts.txt\n   sed -i '/put your unique phrase here/d' wp-config.php\n   sed -i '/#@-/r /tmp/wp-salts.txt' wp-config.php\n   rm /tmp/wp-salts.txt\n   ```\n\n4. Проверьте результат. В выводе должны быть 3 строки `DB_` с вашими данными и 8 строк, от `AUTH_KEY` до `NONCE_SALT`, с длинными случайными значениями.\n\n   ```bash\n   grep -E \"DB_(NAME|USER|PASSWORD)|_KEY'|_SALT'\" wp-config.php\n   ```\n\n5. Передайте файлы пользователю `www-data`, от имени которого работают nginx и PHP-FPM, и выставьте права:\n\n   ```bash\n   chown -R www-data:www-data /var/www/ДОМЕН\n   find /var/www/ДОМЕН -type d -exec chmod 755 {} +\n   find /var/www/ДОМЕН -type f -exec chmod 644 {} +\n   chmod 640 /var/www/ДОМЕН/wp-config.php\n   ```\n\n   Так WordPress сможет сам устанавливать обновления и плагины, а `wp-config.php` с паролем базы и ключами не прочитают другие пользователи системы.\n\n## Шаг 4. Настройте nginx\n\n1. Создайте файл сайта:\n\n   ```bash\n   nano /etc/nginx/sites-available/ДОМЕН\n   ```\n\n2. Вставьте конфигурацию ниже, замените `ДОМЕН`, сохраните (Ctrl+O, затем Enter) и выйдите (Ctrl+X):\n\n   ```nginx\n   server {\n       listen 80;\n       server_name ДОМЕН www.ДОМЕН;\n\n       root /var/www/ДОМЕН;\n       index index.php index.html;\n\n       client_max_body_size 64M;\n\n       location / {\n           try_files $uri $uri/ /index.php?$args;\n       }\n\n       location ~* /wp-content/uploads/.*\\.php$ {\n           deny all;\n       }\n\n       location ~ \\.php$ {\n           include snippets/fastcgi-php.conf;\n           fastcgi_pass unix:/run/php/php8.3-fpm.sock;\n       }\n\n       location ~ /\\.(?!well-known) {\n           deny all;\n       }\n   }\n   ```\n\n   | Строка | Что делает |\n   |---|---|\n   | `try_files $uri $uri/ /index.php?$args;` | отдаёт существующие файлы, а остальные запросы передаёт WordPress (это нужно для постоянных ссылок) |\n   | `fastcgi_pass unix:/run/php/php8.3-fpm.sock;` | передаёт файлы `.php` в PHP-FPM; путь должен точно совпадать с сокетом из шага 1 |\n   | `client_max_body_size 64M;` | максимальный размер загружаемого файла, такой же, как в PHP |\n   | `location ~* /wp-content/uploads/.*\\.php$` | запрещает запуск PHP-скриптов из папки с загруженными файлами |\n   | `location ~ /\\.(?!well-known)` | закрывает скрытые файлы (`.htaccess`, `.git`), но оставляет доступным `/.well-known/` для Let's Encrypt |\n\n3. Включите сайт, проверьте конфигурацию и перезагрузите nginx:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/ДОМЕН /etc/nginx/sites-enabled/\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   Команда `nginx -t` должна вывести `syntax is ok` и `test is successful`. Если она показывает ошибку, исправьте указанную строку и повторите проверку до перезагрузки.\n\n## Шаг 5. Включите HTTPS\n\n1. Установите certbot с модулем для nginx:\n\n   ```bash\n   apt install -y certbot python3-certbot-nginx\n   ```\n\n2. Получите сертификат для обоих имён:\n\n   ```bash\n   certbot --nginx -d ДОМЕН -d www.ДОМЕН\n   ```\n\n3. При первом запуске certbot попросит адрес электронной почты и согласие с условиями Let's Encrypt. Если он спросит, перенаправлять ли HTTP на HTTPS, выберите перенаправление. В конце появится сообщение, которое начинается с «Congratulations!»: certbot добавил сертификат в конфигурацию nginx и перезагрузил nginx.\n4. Сертификат действует 90 дней и продлевается автоматически. Проверьте продление:\n\n   ```bash\n   certbot renew --dry-run\n   ```\n\nПодробности и частые ошибки: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Шаг 6. Завершите установку в браузере\n\n1. Откройте `https://ДОМЕН`. Запустится мастер установки WordPress.\n2. Выберите язык сайта и продолжите.\n3. Укажите название сайта, имя администратора, пароль и адрес электронной почты. Не используйте имя `admin` и оставьте надёжный пароль, который предлагает WordPress.\n4. Подтвердите установку и войдите в панель администратора по адресу `https://ДОМЕН/wp-admin`.\n\nУстанавливайте WordPress после шага 5: тогда сайт с самого начала сохранит свой адрес с `https://`.\n\n## Безопасность\n\n- **Обновления WordPress.** Минорные обновления безопасности устанавливаются автоматически. Мажорные версии, плагины и темы обновляйте из панели администратора WordPress; для плагинов можно включить автообновление в списке плагинов. Удалите плагины и темы, которыми не пользуетесь.\n- **Права на файлы.** После загрузки файлов по SFTP под `root` снова выполните все четыре команды из шага 3, пункт 5 (на AlmaLinux — с `apache:apache`): [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- **Система.** Включите автоматические обновления безопасности и fail2ban: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate), [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n\nОтключите также редактор кода в панели WordPress, чтобы взломанная учётная запись администратора не могла напрямую менять PHP-файлы:\n\n```bash\nsed -i \"/That's all, stop editing/i define( 'DISALLOW_FILE_EDIT', true );\" /var/www/ДОМЕН/wp-config.php\n```\n\n## Ежедневные резервные копии\n\nКаждый день сохраняйте базу данных и папку `wp-content` с темами, плагинами и загруженными файлами. Скрипт ниже запускается ежедневно через cron. Если папки `/etc/cron.daily` на сервере нет, сначала установите пакет `cron` (Ubuntu, Debian) или `cronie` (AlmaLinux, CentOS Stream).\n\n1. Создайте папку для копий и файл скрипта:\n\n   ```bash\n   mkdir -p /root/backup\n   nano /etc/cron.daily/wordpress-backup\n   ```\n\n2. Вставьте содержимое ниже, замените `ДОМЕН` и сохраните:\n\n   ```bash\n   #!/bin/sh\n   D=$(date +%F)\n   mysqldump --single-transaction wordpress | gzip > /root/backup/wordpress-db-$D.sql.gz\n   tar -czf /root/backup/wp-content-$D.tar.gz -C /var/www/ДОМЕН wp-content\n   find /root/backup -type f -mtime +7 -delete\n   ```\n\n3. Сделайте скрипт исполняемым и один раз запустите его для проверки:\n\n   ```bash\n   chmod +x /etc/cron.daily/wordpress-backup\n   /etc/cron.daily/wordpress-backup\n   ls -lh /root/backup\n   ```\n\n   Должны появиться два файла с сегодняшней датой. Дальше скрипт запускается каждый день, а копии старше 7 дней удаляются сами. На небольшом диске (у Standard S — 20 GB) следите за свободным местом: [Диск сервера заполнен](#faq.disc-plin).\n\n> **Внимание**\n> Копии в `/root/backup` лежат на том же сервере и пропадут вместе с ним. Регулярно копируйте их в другое место: на другой сервер или во внешнее хранилище. BLACKBOX не делает автоматических резервных копий данных на сервере: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## Производительность\n\n**OPcache.** Кеш PHP-кода включён по умолчанию. Проверьте: в выводе должна быть строка `Zend OPcache`.\n\n```bash\nphp-fpm8.3 -m | grep -i opcache\n```\n\n**Кеш страниц.** Установите в панели WordPress один плагин кеширования страниц, например WP Super Cache. Плагин сохраняет готовые страницы и отдаёт их повторно без запросов к базе данных, то есть намного быстрее.\n\n**Файл подкачки.** На тарифах с 2 GB RAM, таких как Standard S, добавьте 1–2 GB swap, чтобы пики нагрузки не останавливали MariaDB из-за нехватки памяти: [Добавление файла подкачки (swap)](#ghiduri.swap). Если сервер постоянно использует swap, перейдите на более мощный тариф. Как оценить нагрузку: [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza).\n\n## AlmaLinux 9 и CentOS Stream 9\n\nШаги те же, с отличиями ниже. SELinux включён: не отключайте его, а выставьте правильные метки.\n\n1. Включите PHP 8.3 (по умолчанию система ставит PHP 8.0), установите пакеты и запустите службы — здесь они сами не запускаются. Расширение curl входит в базовый пакет PHP.\n\n   ```bash\n   dnf module enable -y php:8.3\n   dnf install -y nginx mariadb-server php-fpm php-mysqlnd php-gd php-mbstring php-xml php-intl php-opcache php-pecl-zip nano tar\n   systemctl enable --now nginx mariadb php-fpm\n   ```\n\n2. Используйте пути и имена из правого столбца:\n\n   | Что | Ubuntu и Debian | AlmaLinux и CentOS Stream |\n   |---|---|---|\n   | Пользователь PHP-FPM и владелец файлов | `www-data` | `apache` |\n   | Сокет PHP-FPM | `/run/php/php8.3-fpm.sock` | `/run/php-fpm/www.sock` |\n   | Файл сайта nginx | `/etc/nginx/sites-available/ДОМЕН` и ссылка в `sites-enabled` | `/etc/nginx/conf.d/ДОМЕН.conf`, без ссылки |\n   | Лимиты загрузки PHP | `/etc/php/8.3/fpm/conf.d/99-wordpress.ini` | `/etc/php.d/99-wordpress.ini` |\n   | Служба PHP-FPM | `php8.3-fpm` | `php-fpm` |\n\n3. MariaDB здесь слушает все интерфейсы: привяжите её к `127.0.0.1`, как описано в статье [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date).\n4. В конфигурации nginx замените блок `location ~ \\.php$` на этот (файла `snippets/fastcgi-php.conf` здесь нет):\n\n   ```nginx\n   location ~ \\.php$ {\n       try_files $uri =404;\n       fastcgi_pass unix:/run/php-fpm/www.sock;\n       fastcgi_index index.php;\n       include fastcgi_params;\n       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n   }\n   ```\n\n5. Передайте файлы пользователю `apache`, затем разрешите в SELinux запись в папку сайта (загрузки, обновления) и исходящие соединения PHP (скачивание обновлений и плагинов):\n\n   ```bash\n   chown -R apache:apache /var/www/ДОМЕН\n   dnf install -y policycoreutils-python-utils\n   semanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/ДОМЕН(/.*)?\"\n   restorecon -Rv /var/www/ДОМЕН\n   setsebool -P httpd_can_network_connect 1\n   ```\n\n   Если позже вы переместите (`mv`) в папку сайта файлы из другой папки, восстановите метки SELinux:\n\n   ```bash\n   restorecon -Rv /var/www/ДОМЕН\n   ```\n\n6. Установите certbot из репозитория EPEL и запустите таймер продления — здесь он сам не включается:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y certbot python3-certbot-nginx\n   systemctl enable --now certbot-renew.timer\n   ```\n\n7. OPcache проверяется командой `php-fpm` вместо `php-fpm8.3`:\n\n   ```bash\n   php-fpm -m | grep -i opcache\n   ```\n\n## Частые проблемы\n\n| Сообщение или симптом | Причина | Что делать |\n|---|---|---|\n| `502 Bad Gateway` | PHP-FPM остановлен или `fastcgi_pass` указывает на другой сокет | проверьте `systemctl status php8.3-fpm` и сравните `fastcgi_pass` с выводом `ls /run/php/` |\n| Браузер скачивает PHP-файл или показывает стандартную страницу nginx | файл сайта не включён или в нём нет блока для `.php` | проверьте ссылку в `sites-enabled`, выполните `nginx -t` и перезагрузите nginx |\n| «Error establishing a database connection» (или его перевод) | неверные данные в `wp-config.php` либо MariaDB остановлена | сверьте строки `DB_` с шагом 2; проверьте `systemctl status mariadb` |\n| `413 Request Entity Too Large` | файл больше, чем `client_max_body_size` | увеличьте лимит в nginx и в файле `99-wordpress.ini`, затем перезагрузите nginx и перезапустите PHP-FPM |\n| WordPress просит данные FTP при установке плагина | файлы не принадлежат пользователю PHP-FPM | снова выполните `chown` из шага 3 (`apache:apache` на AlmaLinux) |\n| На AlmaLinux не работают загрузки или обновления, в ошибке «Permission denied» | метки SELinux | повторите команды `semanage`, `restorecon` и `setsebool` выше |\n| certbot не может получить сертификат | домен не указывает на сервер или порт 80 закрыт | проверьте A-записи; см. [Сайт не открывается](#faq.site-ul-nu-se-deschide) |\n\nОшибки nginx записываются в `/var/log/nginx/error.log`.\n\n## Частые вопросы\n\n**Можно ли разместить на одном сервере несколько сайтов WordPress?**\nДа. Для каждого сайта повторите шаги 2–6 с отдельными базой данных, пользователем, папкой в `/var/www/` и файлом nginx; скрипт `mariadb-secure-installation` повторно запускать не нужно. Добавьте базу данных и папку нового сайта в скрипт резервного копирования. Следите за памятью и местом на диске.\n\n**WordPress не отправляет письма (сброс пароля, контактные формы).**\nНа новом сервере сервис отправки почты, как правило, не настроен. Установите SMTP-плагин и подключите его к аккаунту почтового сервиса.\n\n**У меня уже есть сайт WordPress у другого провайдера. Как перенести его сюда?**\nПодготовьте сервер по шагам 1, 2 и 4, затем следуйте статье [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site): скопируйте файлы, импортируйте базу данных и в конце переключите DNS.\n\n**Может ли BLACKBOX установить WordPress за меня?**\nДа, как профессиональную услугу по запросу через поддержку. Объём работ, цену и условия вы получите в предложении команды: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n",
    "en": "This guide shows you how to install a WordPress site on the LEMP stack: Linux, nginx (the web server), MariaDB (the database) and PHP-FPM, with a free HTTPS certificate from Let's Encrypt. Run all commands on the server as `root`, in an SSH session: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). You'll find the server's IP address in the app.blackbox.md panel, under “Infrastructure” → “My Servers” (`app.blackbox.md/my-servers`), in the “IP” field on the server card.\n\n**Available to:** the holder of a BLACKBOX VPS server without a control panel, with `root` access over SSH. The steps are written for Ubuntu 24.04 LTS and Debian 12; the differences for AlmaLinux 9 and CentOS Stream 9 are in a separate section. On a “VPS hosting” plan with a control panel, you create sites from the control panel: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\n## Which plan and system to choose\n\nFor a typical site, a Standard S or Standard M plan is a good start:\n\n| Plan | vCPU | RAM | Disk | Price | Good for |\n|---|---|---|---|---|---|\n| Standard S | 1 | 2 GB | 20 GB | 443 MDL/month | a company presentation site, a blog |\n| Standard M | 2 | 4 GB | 40 GB | 578 MDL/month | an online store, a site with many plugins |\n\nAll plans are listed in [VPS plans: how to choose](#comenzi.planuri-vps). When your site grows, move to a larger plan: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\nFor the operating system, choose Ubuntu 24.04 LTS (selected by default when you order) or Debian 12. Ubuntu 20.04 LTS and Debian 11 come with PHP 7.4, which the PHP project no longer updates: don't use them for a new site.\n\nBefore you install, check that:\n\n- the A records for `DOMAIN` and `www.DOMAIN` point to the server's IP address; otherwise, the HTTPS certificate can't be issued: [How to point your domain to the server](#domenii.indreptare-domeniu);\n- ports 80 and 443 are open. The BLACKBOX network filter leaves them open by default, and the system firewall (ufw or firewalld) is not running on a new server. If you have turned it on, allow ports 80 and 443 there as well: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\nIn all commands, replace `DOMAIN` with the site's name without `www`, for example `example.com`.\n\n## Step 1. Install nginx, MariaDB and PHP\n\n1. Update the package list and install the components. On Ubuntu and Debian, the services start automatically after installation.\n\n   ```bash\n   apt update\n   apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl curl\n   ```\n\n2. Find out which PHP version is installed from the name of the PHP-FPM socket:\n\n   ```bash\n   ls /run/php/\n   ```\n\n   | System | PHP | PHP-FPM socket | PHP-FPM service |\n   |---|---|---|---|\n   | Ubuntu 24.04 LTS | 8.3 | `/run/php/php8.3-fpm.sock` | `php8.3-fpm` |\n   | Debian 12 | 8.2 | `/run/php/php8.2-fpm.sock` | `php8.2-fpm` |\n   | Ubuntu 22.04 LTS | 8.1 | `/run/php/php8.1-fpm.sock` | `php8.1-fpm` |\n\n   > **Important**\n   > The examples use PHP 8.3 (Ubuntu 24.04 LTS). On a different system, replace `8.3` with your version everywhere: in the `/etc/php/8.3/…` paths, in the `php8.3-fpm` service name and in the socket in the nginx configuration.\n\n3. Raise the maximum size of files uploaded to WordPress (by default, PHP accepts only 2 MB) and restart PHP-FPM:\n\n   ```bash\n   printf 'upload_max_filesize = 64M\\npost_max_size = 64M\\n' > /etc/php/8.3/fpm/conf.d/99-wordpress.ini\n   systemctl restart php8.3-fpm\n   ```\n\n## Step 2. Create the database\n\n1. Run the MariaDB security script and answer as shown in the table:\n\n   ```bash\n   mariadb-secure-installation\n   ```\n\n   | Question | Answer |\n   |---|---|\n   | `Enter current password for root (enter for none):` | press Enter |\n   | `Switch to unix_socket authentication [Y/n]` | `n` |\n   | `Change the root password? [Y/n]` | `n` if the script printed “You already have your root account protected, so you can safely answer 'n'.”; otherwise, `Y` and a strong password |\n   | `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` to all of them |\n\n   The MariaDB `root` user logs in through the system's `root` account (`unix_socket` authentication), with the `mariadb` command and no password.\n\n2. Generate a strong password for the database user and write it down. Below, it appears as `DATABASE_PASSWORD`:\n\n   ```bash\n   openssl rand -hex 20\n   ```\n\n3. Open the MariaDB console:\n\n   ```bash\n   mariadb\n   ```\n\n4. Create the `wordpress` database and the `wpuser` user, with rights on this database only, then exit:\n\n   ```sql\n   CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n   CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'DATABASE_PASSWORD';\n   GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';\n   FLUSH PRIVILEGES;\n   EXIT;\n   ```\n\nThe `wpuser` user can connect only from the server itself (`localhost`). Don't open port 3306 to the internet. More about MariaDB: [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date).\n\n## Step 3. Copy the WordPress files\n\n1. Download the latest version from wordpress.org and extract it to `/var/www/DOMAIN`:\n\n   ```bash\n   mkdir -p /var/www/DOMAIN\n   cd /tmp\n   curl -O https://wordpress.org/latest.tar.gz\n   tar -xzf latest.tar.gz -C /var/www/DOMAIN --strip-components=1\n   rm latest.tar.gz\n   ```\n\n2. Create `wp-config.php` and write the database details into it. Replace `DATABASE_PASSWORD` with the password from step 2.\n\n   ```bash\n   cd /var/www/DOMAIN\n   cp wp-config-sample.php wp-config.php\n   sed -i \"s/database_name_here/wordpress/; s/username_here/wpuser/; s/password_here/DATABASE_PASSWORD/\" wp-config.php\n   ```\n\n3. Replace the 8 security keys (salts) with unique values generated by the WordPress.org service:\n\n   ```bash\n   curl -s https://api.wordpress.org/secret-key/1.1/salt/ -o /tmp/wp-salts.txt\n   sed -i '/put your unique phrase here/d' wp-config.php\n   sed -i '/#@-/r /tmp/wp-salts.txt' wp-config.php\n   rm /tmp/wp-salts.txt\n   ```\n\n4. Check the result. You should see 3 `DB_` lines with your details and 8 lines, from `AUTH_KEY` to `NONCE_SALT`, with long random strings.\n\n   ```bash\n   grep -E \"DB_(NAME|USER|PASSWORD)|_KEY'|_SALT'\" wp-config.php\n   ```\n\n5. Give ownership of the files to the `www-data` user, which nginx and PHP-FPM run as, and set the permissions:\n\n   ```bash\n   chown -R www-data:www-data /var/www/DOMAIN\n   find /var/www/DOMAIN -type d -exec chmod 755 {} +\n   find /var/www/DOMAIN -type f -exec chmod 644 {} +\n   chmod 640 /var/www/DOMAIN/wp-config.php\n   ```\n\n   This way, WordPress can install its own updates and plugins, and `wp-config.php`, which holds the database password and the keys, can't be read by the system's other users.\n\n## Step 4. Configure nginx\n\n1. Create the site's file:\n\n   ```bash\n   nano /etc/nginx/sites-available/DOMAIN\n   ```\n\n2. Paste the configuration below, replace `DOMAIN`, save with Ctrl+O and Enter, then exit with Ctrl+X:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMAIN www.DOMAIN;\n\n       root /var/www/DOMAIN;\n       index index.php index.html;\n\n       client_max_body_size 64M;\n\n       location / {\n           try_files $uri $uri/ /index.php?$args;\n       }\n\n       location ~* /wp-content/uploads/.*\\.php$ {\n           deny all;\n       }\n\n       location ~ \\.php$ {\n           include snippets/fastcgi-php.conf;\n           fastcgi_pass unix:/run/php/php8.3-fpm.sock;\n       }\n\n       location ~ /\\.(?!well-known) {\n           deny all;\n       }\n   }\n   ```\n\n   | Line | What it does |\n   |---|---|\n   | `try_files $uri $uri/ /index.php?$args;` | serves files that exist and sends all other requests to WordPress (required for permalinks) |\n   | `fastcgi_pass unix:/run/php/php8.3-fpm.sock;` | sends `.php` files to PHP-FPM; the path must match the socket from step 1 exactly |\n   | `client_max_body_size 64M;` | the maximum size of an uploaded file, the same as in PHP |\n   | `location ~* /wp-content/uploads/.*\\.php$` | stops PHP scripts from running in the uploads folder |\n   | `location ~ /\\.(?!well-known)` | blocks hidden files (`.htaccess`, `.git`), but keeps `/.well-known/` reachable for Let's Encrypt |\n\n3. Enable the site, check the configuration and reload nginx:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMAIN /etc/nginx/sites-enabled/\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   `nginx -t` must show `syntax is ok` and `test is successful`. If it shows an error, fix the line it points to and run the test again before you reload.\n\n## Step 5. Enable HTTPS\n\n1. Install certbot with its nginx plugin:\n\n   ```bash\n   apt install -y certbot python3-certbot-nginx\n   ```\n\n2. Get the certificate for both names:\n\n   ```bash\n   certbot --nginx -d DOMAIN -d www.DOMAIN\n   ```\n\n3. On the first run, certbot asks for an email address and for you to accept the Let's Encrypt terms. If it asks whether to redirect HTTP to HTTPS, choose the redirect. At the end, a message starting with “Congratulations!” appears: certbot has added the certificate to the nginx configuration and reloaded nginx.\n4. The certificate is valid for 90 days and renews automatically. Check the renewal:\n\n   ```bash\n   certbot renew --dry-run\n   ```\n\nDetails and common errors: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Step 6. Finish the installation in your browser\n\n1. Open `https://DOMAIN`. The WordPress installation wizard appears.\n2. Choose the site's language and continue.\n3. Fill in the site title, the administrator username, the password and the email address. Don't use `admin` as the username, and keep the strong password that WordPress suggests.\n4. Confirm the installation, then sign in to the admin dashboard at `https://DOMAIN/wp-admin`.\n\nInstall WordPress after step 5: that way, the site saves its address with `https://` from the start.\n\n## Security\n\n- **WordPress updates.** Minor security updates install automatically. Update major versions, plugins and themes from the WordPress admin dashboard; for plugins, you can turn on automatic updates from the plugin list. Delete the plugins and themes you don't use.\n- **Permissions.** After you upload files over SFTP as `root`, run all four commands from step 3, item 5, again (on AlmaLinux, with `apache:apache`): [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n- **The system.** Turn on automatic security updates and fail2ban: [System updates and automatic security updates](#ghiduri.actualizari-automate), [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n\nAlso turn off the code editor in the WordPress dashboard, so that a compromised administrator account can't change the PHP files directly:\n\n```bash\nsed -i \"/That's all, stop editing/i define( 'DISALLOW_FILE_EDIT', true );\" /var/www/DOMAIN/wp-config.php\n```\n\n## Daily backups\n\nBack up the database and the `wp-content` folder, with its themes, plugins and uploaded files, every day. The script below runs daily through cron. If the `/etc/cron.daily` folder doesn't exist on the server, first install the `cron` package (Ubuntu, Debian) or `cronie` (AlmaLinux, CentOS Stream).\n\n1. Create the folder for the backups and the script file:\n\n   ```bash\n   mkdir -p /root/backup\n   nano /etc/cron.daily/wordpress-backup\n   ```\n\n2. Paste the content below, replace `DOMAIN` and save:\n\n   ```bash\n   #!/bin/sh\n   D=$(date +%F)\n   mysqldump --single-transaction wordpress | gzip > /root/backup/wordpress-db-$D.sql.gz\n   tar -czf /root/backup/wp-content-$D.tar.gz -C /var/www/DOMAIN wp-content\n   find /root/backup -type f -mtime +7 -delete\n   ```\n\n3. Make the script executable and run it once as a test:\n\n   ```bash\n   chmod +x /etc/cron.daily/wordpress-backup\n   /etc/cron.daily/wordpress-backup\n   ls -lh /root/backup\n   ```\n\n   Two files with today's date should appear. From now on, the script runs every day, and backups older than 7 days are deleted automatically. On a small disk (Standard S has 20 GB), keep an eye on the used space: [The server's disk is full](#faq.disc-plin).\n\n> **Warning**\n> The backups in `/root/backup` are on the same server and are lost along with it. Copy them somewhere else regularly: to another server or to external storage. BLACKBOX does not make automatic backups of the data on your server: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## Performance\n\n**OPcache.** The PHP code cache is on by default. Check it: the output must contain `Zend OPcache`.\n\n```bash\nphp-fpm8.3 -m | grep -i opcache\n```\n\n**Page cache.** From the WordPress dashboard, install a single page-caching plugin, for example WP Super Cache. The plugin saves pages once they are generated and serves them again without querying the database, which is much faster.\n\n**Swap memory.** On plans with 2 GB of RAM, such as Standard S, add 1–2 GB of swap so that traffic spikes don't stop MariaDB for lack of memory: [Adding swap space](#ghiduri.swap). If the server uses swap all the time, move to a larger plan. How to check the load: [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza).\n\n## AlmaLinux 9 and CentOS Stream 9\n\nThe steps are the same, with the differences below. SELinux is active: don't turn it off; set the correct labels instead.\n\n1. Enable PHP 8.3 (by default, the system installs PHP 8.0), install the packages and start the services, which don't start on their own on these systems. The curl extension is included in the base PHP package.\n\n   ```bash\n   dnf module enable -y php:8.3\n   dnf install -y nginx mariadb-server php-fpm php-mysqlnd php-gd php-mbstring php-xml php-intl php-opcache php-pecl-zip nano tar\n   systemctl enable --now nginx mariadb php-fpm\n   ```\n\n2. Use the paths and names in the right-hand column:\n\n   | What | Ubuntu and Debian | AlmaLinux and CentOS Stream |\n   |---|---|---|\n   | PHP-FPM user and file owner | `www-data` | `apache` |\n   | PHP-FPM socket | `/run/php/php8.3-fpm.sock` | `/run/php-fpm/www.sock` |\n   | nginx site file | `/etc/nginx/sites-available/DOMAIN` and a link in `sites-enabled` | `/etc/nginx/conf.d/DOMAIN.conf`, no link |\n   | PHP upload limits | `/etc/php/8.3/fpm/conf.d/99-wordpress.ini` | `/etc/php.d/99-wordpress.ini` |\n   | PHP-FPM service | `php8.3-fpm` | `php-fpm` |\n\n3. On these systems, MariaDB listens on all interfaces: bind it to `127.0.0.1` as shown in [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date).\n4. In the nginx configuration, replace the `location ~ \\.php$` block with this one (the `snippets/fastcgi-php.conf` file doesn't exist on these systems):\n\n   ```nginx\n   location ~ \\.php$ {\n       try_files $uri =404;\n       fastcgi_pass unix:/run/php-fpm/www.sock;\n       fastcgi_index index.php;\n       include fastcgi_params;\n       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n   }\n   ```\n\n5. Give ownership of the files to the `apache` user, then allow, in SELinux, writing to the site's folder (uploads, updates) and PHP connections to the internet (downloading updates and plugins):\n\n   ```bash\n   chown -R apache:apache /var/www/DOMAIN\n   dnf install -y policycoreutils-python-utils\n   semanage fcontext -a -t httpd_sys_rw_content_t \"/var/www/DOMAIN(/.*)?\"\n   restorecon -Rv /var/www/DOMAIN\n   setsebool -P httpd_can_network_connect 1\n   ```\n\n   If you later move (`mv`) files into the site's folder from another folder, restore the SELinux labels:\n\n   ```bash\n   restorecon -Rv /var/www/DOMAIN\n   ```\n\n6. Install certbot from the EPEL repository and start the renewal timer, which doesn't start on its own on these systems:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y certbot python3-certbot-nginx\n   systemctl enable --now certbot-renew.timer\n   ```\n\n7. To check OPcache, use `php-fpm` instead of `php-fpm8.3`:\n\n   ```bash\n   php-fpm -m | grep -i opcache\n   ```\n\n## Common problems\n\n| Message or symptom | Cause | What to do |\n|---|---|---|\n| `502 Bad Gateway` | PHP-FPM is stopped, or `fastcgi_pass` points to a different socket | check `systemctl status php8.3-fpm` and compare `fastcgi_pass` with the output of `ls /run/php/` |\n| The browser downloads the PHP file or shows the default nginx page | the site file isn't enabled, or the block for `.php` is missing | check the link in `sites-enabled`, run `nginx -t` and reload nginx |\n| “Error establishing a database connection” (or its translation) | wrong details in `wp-config.php`, or MariaDB is stopped | compare the `DB_` lines with step 2; check `systemctl status mariadb` |\n| `413 Request Entity Too Large` | the file is larger than `client_max_body_size` | raise the limit in nginx and in the `99-wordpress.ini` file, then reload nginx and restart PHP-FPM |\n| WordPress asks for FTP details when you install a plugin | the files don't belong to the PHP-FPM user | run the `chown` command from step 3 again (`apache:apache` on AlmaLinux) |\n| Uploads or updates fail on AlmaLinux with “Permission denied” | SELinux labels | repeat the `semanage`, `restorecon` and `setsebool` commands above |\n| certbot can't get the certificate | the domain doesn't point to the server, or port 80 is blocked | check the A records; see [The site does not open](#faq.site-ul-nu-se-deschide) |\n\nnginx errors are logged in `/var/log/nginx/error.log`.\n\n## Frequently asked questions\n\n**Can I host several WordPress sites on the same server?**\nYes. For each site, repeat steps 2–6 with a separate database, user, folder in `/var/www/` and nginx file; you don't need to run the `mariadb-secure-installation` script again. Also add the new site's database and folder to the backup script. Keep an eye on memory and disk space.\n\n**WordPress doesn't send emails (password resets, contact forms).**\nA new server usually has no email-sending service set up. Install an SMTP plugin and connect it to an account with an email service.\n\n**I already have a WordPress site with another provider. How do I move it here?**\nPrepare the server with steps 1, 2 and 4, then follow [Moving a site to a BLACKBOX server](#ghiduri.migrare-site): copy the files, import the database and switch the DNS at the end.\n\n**Can BLACKBOX install WordPress for me?**\nYes, as a professional service on request, through support. You receive the scope of work, the price and the terms in our team's offer: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n"
   }
  },
  {
   "id": "ghiduri.baze-de-date",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/baze-de-date/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/baze-de-date/",
    "en": "https://docs.blackbox.md/en/ghiduri/baze-de-date/"
   },
   "title": {
    "ro": "Baze de date: MariaDB/MySQL și PostgreSQL",
    "ru": "Базы данных: MariaDB/MySQL и PostgreSQL",
    "en": "Databases: MariaDB/MySQL and PostgreSQL"
   },
   "summary": {
    "ro": "Instalarea și securizarea MariaDB și PostgreSQL, accesul de la distanță prin tunel SSH și copiile de siguranță.",
    "ru": "Установка и защита MariaDB и PostgreSQL, удалённый доступ через SSH-туннель и резервные копии.",
    "en": "Installing and securing MariaDB and PostgreSQL, remote access through an SSH tunnel, and backups."
   },
   "markdown": {
    "ro": "Ghidul arată cum instalați MariaDB (compatibil cu MySQL) sau PostgreSQL pe server, cum creați o bază de date cu utilizatorul ei, cum vă conectați la ea de pe calculator printr-un tunel SSH și cum faceți copii de siguranță. Comenzile se rulează ca `root`, într-o sesiune SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Adresa IP a serverului este în panoul app.blackbox.md, „Infrastructură” → „Serverele mele” (`app.blackbox.md/my-servers`).\n\n**Disponibil pentru:** titularul unui server VPS cu Ubuntu, Debian, AlmaLinux sau CentOS Stream. Dacă serverul are un panou de control ([Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou)), bazele de date se creează de regulă din acel panou.\n\n## MariaDB sau PostgreSQL\n\nInstalați sistemul pe care îl cere aplicația.\n\n| | MariaDB | PostgreSQL |\n|---|---|---|\n| Folosit de obicei pentru | WordPress, Joomla, Drupal, majoritatea aplicațiilor PHP | multe aplicații Django, Ruby on Rails, Node.js și cele care cer PostgreSQL |\n| Pachet pe Ubuntu și Debian | `mariadb-server` | `postgresql` |\n| Pachet pe AlmaLinux și CentOS Stream | `mariadb-server` | `postgresql-server` |\n| Port | 3306 | 5432 |\n\nPentru majoritatea aplicațiilor, MariaDB înlocuiește MySQL fără modificări. Dacă aplicația cere explicit MySQL, instalați `mysql-server` pe Ubuntu, AlmaLinux sau CentOS Stream (pe Debian nu este în depozitele standard). Atunci comenzile se numesc `mysql` și `mysql_secure_installation`, iar numele serviciului și căile fișierelor de configurare diferă de cele din acest ghid. Nu instalați MySQL și MariaDB pe același server.\n\n## MariaDB: instalare și securizare\n\n### Ubuntu și Debian\n\n```bash\napt update\napt install -y mariadb-server\n```\n\nServiciul pornește automat și ascultă doar pe `127.0.0.1`.\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf install -y mariadb-server\nsystemctl enable --now mariadb\n```\n\nAici MariaDB ascultă implicit pe toate interfețele. Legați-l la `127.0.0.1` cu fișierul `99-local.cnf` de mai jos.\n\n### Fișierul cu setările dvs.\n\nPuneți setările dvs. într-un fișier separat, `99-local.cnf`, pe care îl creați cu `nano` sau `vi`: pe Ubuntu și Debian în `/etc/mysql/mariadb.conf.d/`, pe AlmaLinux și CentOS Stream în `/etc/my.cnf.d/`. Pe AlmaLinux și CentOS Stream, începeți-l așa (pe Ubuntu și Debian, `bind-address = 127.0.0.1` este deja setat):\n\n```ini\n[mysqld]\nbind-address = 127.0.0.1\n```\n\nDupă fiecare modificare, reporniți serviciul și verificați că apare `127.0.0.1:3306`, nu `0.0.0.0:3306` sau `*:3306`:\n\n```bash\nsystemctl restart mariadb\nss -tlnp | grep 3306\n```\n\n### mariadb-secure-installation\n\n```bash\nmariadb-secure-installation\n```\n\n| Întrebarea | Răspunsul |\n|---|---|\n| `Enter current password for root (enter for none)` | Enter |\n| `Switch to unix_socket authentication [Y/n]` | `n` |\n| `Change the root password? [Y/n]` | `n`, dacă scriptul a scris „You already have your root account protected, so you can safely answer 'n'.”; altfel `Y` și o parolă puternică |\n| `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` la toate |\n\nUtilizatorul `root` al MariaDB folosește autentificarea prin socket (`unix_socket`): intră doar `root`-ul sistemului, cu comanda `mariadb`, fără parolă. Pe Ubuntu 20.04 (MariaDB 10.3), comenzile se numesc `mysql_secure_installation` și `mysql`, iar la „Set root password?” răspundeți `n`.\n\n### Baza de date și utilizatorul ei\n\nFiecare aplicație primește baza ei și un utilizator cu drepturi doar pe acea bază. Generați o parolă puternică, apoi deschideți consola MariaDB:\n\n```bash\nopenssl rand -base64 24\nmariadb\n```\n\nRulați, înlocuind `NUME_BAZA`, `NUME_UTILIZATOR` și `PAROLA`:\n\n```sql\nCREATE DATABASE NUME_BAZA CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'NUME_UTILIZATOR'@'localhost' IDENTIFIED BY 'PAROLA';\nGRANT ALL PRIVILEGES ON NUME_BAZA.* TO 'NUME_UTILIZATOR'@'localhost';\nEXIT;\n```\n\n`NUME_BAZA.*` limitează drepturile la această bază, iar `'localhost'` permite conectarea doar de pe server și prin tunel SSH. Nu folosiți `ON *.*` și nici `'%'`. Testați conectarea cu noul utilizator:\n\n```bash\nmariadb -u NUME_UTILIZATOR -p NUME_BAZA\n```\n\nÎn configurația aplicației scrieți gazda `localhost`, portul `3306`, numele bazei, utilizatorul și parola.\n\n## PostgreSQL: instalare și utilizatori\n\n### Ubuntu și Debian\n\n```bash\napt update\napt install -y postgresql\n```\n\nServiciul pornește automat și ascultă doar pe `localhost`.\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf install -y postgresql-server\npostgresql-setup --initdb\nsystemctl enable --now postgresql\n```\n\nDeschideți `/var/lib/pgsql/data/pg_hba.conf`. Dacă pe liniile `host` pentru `127.0.0.1/32` și `::1/128` scrie `ident`, înlocuiți-l cu `md5` (acceptă și parolele salvate ca SCRAM). Altfel aplicațiile primesc eroarea `Ident authentication failed`. Aplicați modificarea:\n\n```bash\nsystemctl reload postgresql\n```\n\n### Utilizatorul și baza de date\n\n```bash\nsudo -u postgres createuser --pwprompt NUME_UTILIZATOR\nsudo -u postgres createdb --owner=NUME_UTILIZATOR NUME_BAZA\n```\n\nLa „Enter password for new role:” și „Enter it again:” introduceți parola. Utilizatorul nu este superutilizator: are drepturi depline doar în baza pe care o deține. Avertismentul `could not change directory to \"/root\": Permission denied` este inofensiv; nu apare dacă rulați comenzile din `/tmp`. Testați conectarea (ieșiți cu `\\q`):\n\n```bash\npsql -h 127.0.0.1 -U NUME_UTILIZATOR NUME_BAZA\n```\n\n## Accesul de la distanță prin tunel SSH (recomandat)\n\nCa să lucrați cu baza din DBeaver, HeidiSQL, MySQL Workbench, pgAdmin sau alt client de pe calculator, nu deschideți portul bazei de date. Tunelul SSH trece prin portul 22, deja deschis, criptează traficul, iar baza rămâne legată la `127.0.0.1`.\n\n1. Pe calculator, în Terminal (macOS, Linux) sau PowerShell (Windows), porniți tunelul. Pentru MariaDB:\n\n   ```bash\n   ssh -N -L 3306:127.0.0.1:3306 root@IP_SERVER\n   ```\n\n   Pentru PostgreSQL:\n\n   ```bash\n   ssh -N -L 5432:127.0.0.1:5432 root@IP_SERVER\n   ```\n\n2. Lăsați fereastra deschisă: tunelul funcționează cât rulează comanda. Îl închideți cu Ctrl + C.\n3. În client, conectați-vă la gazda `127.0.0.1`, portul `3306` sau `5432`, cu utilizatorul și parola bazei de date.\n\nTunelul folosește aceeași autentificare ca o conexiune SSH obișnuită: pe un server „Doar cheie”, dacă cheia nu este în locul implicit, indicați-o cu `-i`. Dacă pe calculator portul este ocupat de o bază locală, folosiți alt port local, de exemplu `-L 13306:127.0.0.1:3306`, și conectați-vă la `127.0.0.1:13306`. Scrieți `127.0.0.1`, nu `localhost`: clientul `mariadb`/`mysql` tratează `localhost` ca socket local și ocolește tunelul. Mulți clienți grafici au tunelul SSH încorporat în setările conexiunii: gazda SSH `IP_SERVER`, portul 22, utilizatorul `root` și cheia sau parola, apoi gazda bazei `127.0.0.1`.\n\n## Deschiderea portului bazei de date (nerecomandat)\n\nO bază de date expusă în internet este scanată permanent, iar parolele ei sunt atacate prin încercări repetate. Dacă un serviciu extern trebuie totuși să se conecteze direct, portul trebuie deschis pe ambele niveluri:\n\n1. **Filtrarea din rețea**, administrată de BLACKBOX, lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping, deci 3306 și 5432 sunt închise. Panoul nu are setări de firewall: scrieți suportului adresa IP a serverului și portul ([Cum contactați suportul BLACKBOX](#suport.contact)).\n2. **Firewall-ul sistemului** trebuie să fie activ (vedeți nota de mai jos) și să permită portul doar de la adresa dvs. IP, aflată cu [Instrumentul „Adresa ta IP”](#domenii.adresa-ip). Pentru PostgreSQL, înlocuiți 3306 cu 5432. Cu `ufw` (Ubuntu, Debian):\n\n   ```bash\n   ufw allow from IP_DVS to any port 3306 proto tcp\n   ```\n\n   Cu `firewalld` (AlmaLinux, CentOS Stream):\n\n   ```bash\n   firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"IP_DVS/32\" port port=\"3306\" protocol=\"tcp\" accept'\n   firewall-cmd --reload\n   ```\n\n3. **MariaDB:** în `99-local.cnf`, sub `[mysqld]`, puneți `bind-address = 0.0.0.0`, reporniți serviciul și creați utilizatorul `'NUME_UTILIZATOR'@'IP_DVS'` cu aceleași comenzi `CREATE USER` și `GRANT`.\n4. **PostgreSQL:** în `pg_hba.conf` (Ubuntu și Debian: `/etc/postgresql/VERSIUNE/main/pg_hba.conf`; AlmaLinux și CentOS Stream: `/var/lib/pgsql/data/pg_hba.conf`) adăugați linia `host NUME_BAZA NUME_UTILIZATOR IP_DVS/32 METODA`, cu metoda de pe liniile pentru `127.0.0.1/32` (`scram-sha-256` sau `md5`), apoi:\n\n   ```bash\n   sudo -u postgres psql -c \"ALTER SYSTEM SET listen_addresses = '*'\"\n   systemctl restart postgresql\n   ```\n\nDacă adresa dvs. IP se schimbă, regula trebuie actualizată. Fără TLS configurat în baza de date, datele circulă necriptat: încă un motiv pentru tunel.\n\n> **Atenție**\n> Pe un server nou, `ufw` și `firewalld` nu sunt activate. Înainte să le activați, permiteți SSH și păstrați deschisă o a doua sesiune SSH: nu există consolă web sau VNC pentru clienți. Pașii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall). Dacă v-ați blocat accesul, scrieți suportului.\n\n## Baza de date pe alt server BLACKBOX\n\nServerele BLACKBOX nu sunt legate între ele printr-o rețea privată: aplicația ajunge la baza de pe alt server prin adresa IP publică a acestuia, ca orice calculator din internet. Nu presupuneți că portul bazei de date este accesibil de pe celălalt server. Soluția recomandată este un tunel SSH permanent, pornit pe serverul aplicației ca serviciu systemd: baza rămâne legată la `127.0.0.1`, iar traficul trece criptat prin portul 22.\n\n### Tunel SSH permanent (recomandat)\n\nComenzile sunt pentru MariaDB; pentru PostgreSQL înlocuiți peste tot 3306 cu 5432.\n\n1. Pe serverul aplicației, creați o cheie SSH folosită doar pentru tunel, fără parolă, ca s-o poată folosi serviciul:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/db_tunnel_ed25519 -N \"\" -C db-tunnel\n   cat /root/.ssh/db_tunnel_ed25519.pub\n   ```\n\n2. Pe serverul bazei de date, creați un utilizator separat, fără shell, și deschideți-i fișierul `authorized_keys`:\n\n   ```bash\n   useradd -m -s /usr/sbin/nologin dbtunnel\n   mkdir -p /home/dbtunnel/.ssh\n   nano /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   Scrieți o singură linie: restricțiile, un spațiu, apoi cheia afișată la pasul 1.\n\n   ```text\n   restrict,port-forwarding,permitopen=\"127.0.0.1:3306\" ssh-ed25519 AAAA... db-tunnel\n   ```\n\n   Setați drepturile:\n\n   ```bash\n   chown -R dbtunnel:dbtunnel /home/dbtunnel/.ssh\n   chmod 700 /home/dbtunnel/.ssh\n   chmod 600 /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   Pe AlmaLinux și CentOS Stream, refaceți și etichetele SELinux:\n\n   ```bash\n   restorecon -R /home/dbtunnel/.ssh\n   ```\n\n   Cu aceste restricții, cheia deschide doar tunelul spre portul bazei: nu primește shell și nu ajunge la alte porturi. Nu o adăugați cu „Adaugă cheie SSH” din panou: panoul o pune la `root`, fără restricții.\n\n3. Pe serverul aplicației, porniți tunelul o dată de mână. La prima conectare, confirmați cheia serverului bazei cu `yes`. Cât tunelul este deschis, comanda nu afișează nimic; opriți-o cu Ctrl + C:\n\n   ```bash\n   ssh -N -i /root/.ssh/db_tunnel_ed25519 -L 3306:127.0.0.1:3306 dbtunnel@IP_SERVER_BD\n   ```\n\n4. Creați serviciul:\n\n   ```bash\n   nano /etc/systemd/system/db-tunnel.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=Tunel SSH spre baza de date\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   ExecStart=/usr/bin/ssh -N -i /root/.ssh/db_tunnel_ed25519 -o BatchMode=yes -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -L 3306:127.0.0.1:3306 dbtunnel@IP_SERVER_BD\n   Restart=always\n   RestartSec=10\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n5. Activați serviciul și verificați că tunelul ascultă pe `127.0.0.1:3306`:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now db-tunnel\n   systemctl status db-tunnel\n   ss -tlnp | grep 3306\n   ```\n\n6. În configurația aplicației scrieți gazda `127.0.0.1` (nu `localhost`), portul `3306`, numele bazei, utilizatorul și parola. Pe serverul bazei, utilizatorul creat pentru `'localhost'` este suficient.\n\n`ExitOnForwardFailure` închide conexiunea dacă tunelul nu se poate deschide, iar `ServerAliveInterval` observă o conexiune căzută; în ambele cazuri systemd repornește serviciul după 10 secunde. `BatchMode=yes` împiedică serviciul să aștepte o confirmare sau o parolă. Dacă pe serverul aplicației portul 3306 este ocupat de o bază locală, folosiți alt port local, de exemplu `-L 13306:127.0.0.1:3306`, și scrieți-l în configurația aplicației. Dacă serviciul nu pornește, citiți jurnalul:\n\n```bash\njournalctl -u db-tunnel -n 50\n```\n\n### Portul deschis doar pentru serverul aplicației\n\nDacă tunelul nu vi se potrivește, cereți suportului să deschidă portul 3306 sau 5432 al serverului bazei și urmați pașii din secțiunea „Deschiderea portului bazei de date (nerecomandat)”, cu adresa IP a serverului aplicației în loc de `IP_DVS`: în regula `ufw` sau `firewalld`, în utilizatorul MariaDB (`'NUME_UTILIZATOR'@'IP_SERVER_APLICATIE'`) și în linia din `pg_hba.conf`. Fără TLS, datele circulă necriptat între servere. Înainte să activați firewall-ul, păstrați deschisă a doua sesiune SSH: nu există consolă web (vedeți nota de mai sus).\n\n## Copii de siguranță\n\nNu copiați fișierele unei baze care rulează: copia poate fi inconsistentă. Faceți un export (dump) cu `mysqldump` sau `pg_dump`, comprimat cu `gzip`.\n\n1. Creați scriptul `/usr/local/bin/backup-db.sh` și păstrați doar linia pentru sistemul dvs.:\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   cd /tmp\n   DIR=/var/backups/db\n   DATE=$(date +%F)\n   mkdir -p \"$DIR\"\n   chmod 700 \"$DIR\"\n   # MariaDB / MySQL\n   mysqldump --single-transaction --routines NUME_BAZA | gzip > \"$DIR/mariadb-NUME_BAZA-$DATE.sql.gz\"\n   # PostgreSQL\n   sudo -u postgres pg_dump NUME_BAZA | gzip > \"$DIR/pg-NUME_BAZA-$DATE.sql.gz\"\n   # șterge exporturile mai vechi de 7 zile\n   find \"$DIR\" -name '*.sql.gz' -mtime +7 -delete\n   ```\n\n2. Faceți-l executabil, rulați-l o dată și verificați fișierele:\n\n   ```bash\n   chmod 700 /usr/local/bin/backup-db.sh\n   /usr/local/bin/backup-db.sh\n   ls -lh /var/backups/db\n   ```\n\n3. Deschideți lista de sarcini cron cu comanda de mai jos și adăugați linia care rulează scriptul în fiecare noapte la 02:30, ora serverului (o vedeți cu `timedatectl`):\n\n   ```bash\n   crontab -e\n   ```\n\n   ```text\n   30 2 * * * /usr/local/bin/backup-db.sh\n   ```\n\n`--single-transaction` exportă tabelele InnoDB într-o stare consistentă, fără să le blocheze. Scriptul rulează ca `root`, care intră în MariaDB prin socket. Dacă ați setat o parolă pentru `root`-ul MariaDB, puneți-o în `/root/.my.cnf`, secțiunea `[client]`, cu drepturile `600`. Dacă `crontab` lipsește, instalați pachetul `cron` (Ubuntu, Debian) sau `cronie` (AlmaLinux, CentOS Stream) și porniți serviciul. Exporturile ocupă spațiu: urmăriți discul cu `df -h` ([Discul serverului este plin](#faq.disc-plin)).\n\n> **Important**\n> Exporturile din `/var/backups/db` sunt pe același disc cu baza: dacă discul se defectează sau serverul este șters, le pierdeți și pe ele. BLACKBOX nu face copii automate ale serverului, iar butonul „Backup” de pe cardul serverului nu este activ. Copiați exporturile regulat în alt loc: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup)\n\n### Testați restaurarea\n\nO copie neîncercată poate să nu funcționeze. Cel puțin o dată pe lună, restaurați exportul într-o bază de test, verificați tabelele și ștergeți baza. MariaDB:\n\n```bash\nmariadb -e \"CREATE DATABASE test_restore\"\ngunzip -c /var/backups/db/mariadb-NUME_BAZA-2026-10-09.sql.gz | mariadb test_restore\nmariadb -e \"SHOW TABLES\" test_restore\nmariadb -e \"DROP DATABASE test_restore\"\n```\n\nPostgreSQL:\n\n```bash\ncd /tmp\nsudo -u postgres createdb test_restore\ngunzip -c /var/backups/db/pg-NUME_BAZA-2026-10-09.sql.gz | sudo -u postgres psql -q test_restore\nsudo -u postgres psql -d test_restore -c '\\dt'\nsudo -u postgres dropdb test_restore\n```\n\nPentru o restaurare reală, opriți întâi aplicația. La PostgreSQL, restaurați într-o bază goală, creată cu `createdb --owner=NUME_UTILIZATOR`.\n\n## Memoria pe planurile mici\n\nValorile implicite, 128 MB pentru `innodb_buffer_pool_size` (MariaDB) și pentru `shared_buffers` (PostgreSQL), sunt potrivite pentru 1 GB de RAM. Pe serverele mai mari le puteți crește prudent, mai ales când pe același server rulează și serverul web sau aplicația. Memoria o vedeți cu `free -h`.\n\n| RAM | Exemple de planuri | `innodb_buffer_pool_size` | `shared_buffers` |\n|---|---|---|---|\n| 1 GB | Basic XS | 128M (implicit) | 128MB (implicit) |\n| 2 GB | Basic S, CPU S, Standard S | 256M | 256MB |\n| 4 GB | Basic M, CPU M, Standard M | 512M | 512MB |\n| 8 GB | Basic L, CPU L, Standard L | 1G | 1GB |\n\nPe un server folosit doar pentru baza de date, puteți aloca până la jumătate din RAM pentru `innodb_buffer_pool_size` și un sfert pentru `shared_buffers`. Fiecare conexiune consumă și ea memorie: nu măriți `max_connections` fără motiv.\n\nMariaDB: scrieți valoarea în `99-local.cnf` (dacă fișierul există, adăugați doar a doua linie sub `[mysqld]`), apoi reporniți și verificați:\n\n```ini\n[mysqld]\ninnodb_buffer_pool_size = 256M\n```\n\n```bash\nsystemctl restart mariadb\nmariadb -e \"SELECT @@innodb_buffer_pool_size/1024/1024 AS MB\"\n```\n\nPostgreSQL (`shared_buffers` se aplică doar după repornire):\n\n```bash\nsudo -u postgres psql -c \"ALTER SYSTEM SET shared_buffers = '256MB'\"\nsystemctl restart postgresql\nsudo -u postgres psql -c \"SHOW shared_buffers\"\n```\n\nPe planurile cu 1–2 GB de RAM adăugați și swap: [Adăugarea memoriei swap](#ghiduri.swap). Dacă baza de date se oprește singură, verificați dacă sistemul a închis-o din lipsă de memorie:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\n```\n\nDacă se repetă, serverul are nevoie de mai mult RAM: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n## Întrebări frecvente\n\n**Aplicația primește „Access denied for user”. Ce verific?**\nNumele bazei, utilizatorul, parola și gazda: un utilizator creat pentru `'localhost'` se conectează doar de pe server sau prin tunel. Dacă mesajul arată `'NUME_UTILIZATOR'@'127.0.0.1'`, creați utilizatorul și pentru `'127.0.0.1'`, cu aceleași comenzi `CREATE USER` și `GRANT`.\n\n**Am uitat parola utilizatorului bazei de date. Cum o schimb?**\nCa `root` pe server. În consola `mariadb`:\n\n```sql\nALTER USER 'NUME_UTILIZATOR'@'localhost' IDENTIFIED BY 'PAROLA_NOUA';\n```\n\nÎn PostgreSQL, comanda de mai jos vă cere parola nouă de două ori:\n\n```bash\nsudo -u postgres psql -c \"\\password NUME_UTILIZATOR\"\n```\n\nActualizați apoi parola în configurația aplicației.\n\n**Cum descarc un export pe calculator?**\nRulați pe calculator comanda de mai jos, cu numele fișierului dorit. Alte metode: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n```bash\nscp root@IP_SERVER:/var/backups/db/FISIER.sql.gz .\n```\n\n**Pot rula MariaDB și PostgreSQL pe același server?**\nDa, folosesc porturi diferite. Împart însă memoria, așa că alegeți pentru amândouă valori mai mici decât cele din tabel.\n",
    "ru": "В этом руководстве описано, как установить на сервер MariaDB (совместима с MySQL) или PostgreSQL, создать базу данных с отдельным пользователем, подключиться к ней со своего компьютера через SSH-туннель и настроить резервное копирование. Команды выполняются от `root` в SSH-сеансе ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). IP-адрес сервера указан в панели app.blackbox.md: «Инфраструктура» → «Мои серверы» (`app.blackbox.md/my-servers`).\n\n**Доступно:** владельцу VPS-сервера с Ubuntu, Debian, AlmaLinux или CentOS Stream. Если на сервере есть панель управления ([Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou)), базы данных обычно создают в ней.\n\n## MariaDB или PostgreSQL\n\nУстанавливайте ту СУБД, которая нужна вашему приложению.\n\n| | MariaDB | PostgreSQL |\n|---|---|---|\n| Обычно используется для | WordPress, Joomla, Drupal, большинства PHP-приложений | многих приложений на Django, Ruby on Rails, Node.js и тех, которым нужен именно PostgreSQL |\n| Пакет в Ubuntu и Debian | `mariadb-server` | `postgresql` |\n| Пакет в AlmaLinux и CentOS Stream | `mariadb-server` | `postgresql-server` |\n| Порт | 3306 | 5432 |\n\nДля большинства приложений MariaDB заменяет MySQL без каких-либо изменений. Если приложению нужен именно MySQL, установите `mysql-server` в Ubuntu, AlmaLinux или CentOS Stream (в стандартных репозиториях Debian его нет). Тогда команды называются `mysql` и `mysql_secure_installation`, а имя службы и пути к файлам настроек отличаются от приведённых в этом руководстве. Не ставьте MySQL и MariaDB на один сервер.\n\n## MariaDB: установка и защита\n\n### Ubuntu и Debian\n\n```bash\napt update\napt install -y mariadb-server\n```\n\nСлужба запускается автоматически и слушает только `127.0.0.1`.\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf install -y mariadb-server\nsystemctl enable --now mariadb\n```\n\nЗдесь MariaDB по умолчанию слушает все сетевые интерфейсы. Привяжите её к `127.0.0.1` с помощью файла `99-local.cnf`, описанного ниже.\n\n### Файл с вашими настройками\n\nСвои настройки храните в отдельном файле `99-local.cnf` (создайте его в `nano` или `vi`): в Ubuntu и Debian — в каталоге `/etc/mysql/mariadb.conf.d/`, в AlmaLinux и CentOS Stream — в `/etc/my.cnf.d/`. В AlmaLinux и CentOS Stream начните его так (в Ubuntu и Debian `bind-address = 127.0.0.1` уже задан):\n\n```ini\n[mysqld]\nbind-address = 127.0.0.1\n```\n\nПосле каждого изменения перезапускайте службу и проверяйте, что в выводе есть `127.0.0.1:3306`, а не `0.0.0.0:3306` или `*:3306`:\n\n```bash\nsystemctl restart mariadb\nss -tlnp | grep 3306\n```\n\n### mariadb-secure-installation\n\n```bash\nmariadb-secure-installation\n```\n\n| Вопрос | Ответ |\n|---|---|\n| `Enter current password for root (enter for none)` | Enter |\n| `Switch to unix_socket authentication [Y/n]` | `n` |\n| `Change the root password? [Y/n]` | `n`, если скрипт вывел «You already have your root account protected, so you can safely answer 'n'.»; иначе `Y` и надёжный пароль |\n| `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` на все |\n\nПользователь `root` в MariaDB использует аутентификацию через сокет (`unix_socket`): войти под ним может только системный `root` командой `mariadb`, без пароля. В Ubuntu 20.04 (MariaDB 10.3) команды называются `mysql_secure_installation` и `mysql`, а на вопрос «Set root password?» ответьте `n`.\n\n### База данных и её пользователь\n\nКаждому приложению — своя база и пользователь с правами только на неё. Сгенерируйте надёжный пароль и откройте консоль MariaDB:\n\n```bash\nopenssl rand -base64 24\nmariadb\n```\n\nВыполните команды, подставив `ИМЯ_БАЗЫ`, `ИМЯ_ПОЛЬЗОВАТЕЛЯ` и `ПАРОЛЬ`:\n\n```sql\nCREATE DATABASE ИМЯ_БАЗЫ CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'localhost' IDENTIFIED BY 'ПАРОЛЬ';\nGRANT ALL PRIVILEGES ON ИМЯ_БАЗЫ.* TO 'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'localhost';\nEXIT;\n```\n\n`ИМЯ_БАЗЫ.*` ограничивает права этой базой, а `'localhost'` разрешает подключение только с самого сервера и через SSH-туннель. Не используйте `ON *.*` и `'%'`. Проверьте подключение под новым пользователем:\n\n```bash\nmariadb -u ИМЯ_ПОЛЬЗОВАТЕЛЯ -p ИМЯ_БАЗЫ\n```\n\nВ настройках приложения укажите хост `localhost`, порт `3306`, имя базы, пользователя и пароль.\n\n## PostgreSQL: установка и пользователи\n\n### Ubuntu и Debian\n\n```bash\napt update\napt install -y postgresql\n```\n\nСлужба запускается автоматически и слушает только `localhost`.\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf install -y postgresql-server\npostgresql-setup --initdb\nsystemctl enable --now postgresql\n```\n\nОткройте `/var/lib/pgsql/data/pg_hba.conf`. Если в строках `host` для `127.0.0.1/32` и `::1/128` указан метод `ident`, замените его на `md5` (он принимает и пароли, сохранённые в формате SCRAM). Иначе приложения будут получать ошибку `Ident authentication failed`. Примените изменения:\n\n```bash\nsystemctl reload postgresql\n```\n\n### Пользователь и база данных\n\n```bash\nsudo -u postgres createuser --pwprompt ИМЯ_ПОЛЬЗОВАТЕЛЯ\nsudo -u postgres createdb --owner=ИМЯ_ПОЛЬЗОВАТЕЛЯ ИМЯ_БАЗЫ\n```\n\nНа запросы «Enter password for new role:» и «Enter it again:» введите пароль. Пользователь не будет суперпользователем: полные права у него только в базе, которой он владеет. Предупреждение `could not change directory to \"/root\": Permission denied` безвредно; его не будет, если выполнять команды из `/tmp`. Проверьте подключение (выход — `\\q`):\n\n```bash\npsql -h 127.0.0.1 -U ИМЯ_ПОЛЬЗОВАТЕЛЯ ИМЯ_БАЗЫ\n```\n\n## Удалённый доступ через SSH-туннель (рекомендуется)\n\nЧтобы работать с базой из DBeaver, HeidiSQL, MySQL Workbench, pgAdmin или другого клиента на компьютере, не открывайте порт базы данных. SSH-туннель идёт через уже открытый порт 22 и шифрует трафик, а база остаётся привязанной к `127.0.0.1`.\n\n1. На компьютере, в терминале (macOS, Linux) или PowerShell (Windows), запустите туннель. Для MariaDB:\n\n   ```bash\n   ssh -N -L 3306:127.0.0.1:3306 root@IP_СЕРВЕРА\n   ```\n\n   Для PostgreSQL:\n\n   ```bash\n   ssh -N -L 5432:127.0.0.1:5432 root@IP_СЕРВЕРА\n   ```\n\n2. Не закрывайте окно: туннель работает, пока выполняется команда. Закрыть его можно сочетанием Ctrl + C.\n3. В клиенте подключайтесь к хосту `127.0.0.1`, порт `3306` или `5432`, с пользователем и паролем базы данных.\n\nТуннель использует ту же аутентификацию, что и обычное SSH-подключение: на сервере «Только ключ», если ключ лежит не в стандартном месте, укажите его через `-i`. Если этот порт на компьютере уже занят локальной базой, возьмите другой локальный порт, например `-L 13306:127.0.0.1:3306`, и подключайтесь к `127.0.0.1:13306`. Пишите `127.0.0.1`, а не `localhost`: клиент `mariadb`/`mysql` воспринимает `localhost` как локальный сокет и идёт в обход туннеля. Во многих графических клиентах SSH-туннель встроен в настройки подключения: SSH-хост `IP_СЕРВЕРА`, порт 22, пользователь `root` и ключ или пароль, а хост базы — `127.0.0.1`.\n\n## Открытие порта базы данных (не рекомендуется)\n\nДоступную из интернета базу данных постоянно сканируют и пытаются подобрать к ней пароли. Если внешнему сервису всё же нужно подключаться напрямую, порт должен быть открыт на обоих уровнях:\n\n1. **Сетевая фильтрация**, которой управляет BLACKBOX, по умолчанию пропускает только SSH (22), HTTP (80), HTTPS (443) и ping, так что порты 3306 и 5432 закрыты. Настроек файрвола в панели нет: напишите в поддержку, указав IP-адрес сервера и порт ([Как связаться с поддержкой BLACKBOX](#suport.contact)).\n2. **Файрвол в системе** должен быть включён (см. примечание ниже) и пропускать порт только с вашего IP-адреса — его покажет [Инструмент «Ваш публичный IP-адрес»](#domenii.adresa-ip). Для PostgreSQL замените 3306 на 5432. С `ufw` (Ubuntu, Debian):\n\n   ```bash\n   ufw allow from ВАШ_IP to any port 3306 proto tcp\n   ```\n\n   С `firewalld` (AlmaLinux, CentOS Stream):\n\n   ```bash\n   firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"ВАШ_IP/32\" port port=\"3306\" protocol=\"tcp\" accept'\n   firewall-cmd --reload\n   ```\n\n3. **MariaDB:** в `99-local.cnf`, в секции `[mysqld]`, укажите `bind-address = 0.0.0.0`, перезапустите службу и создайте пользователя `'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'ВАШ_IP'` теми же командами `CREATE USER` и `GRANT`.\n4. **PostgreSQL:** в `pg_hba.conf` (Ubuntu и Debian: `/etc/postgresql/ВЕРСИЯ/main/pg_hba.conf`; AlmaLinux и CentOS Stream: `/var/lib/pgsql/data/pg_hba.conf`) добавьте строку `host ИМЯ_БАЗЫ ИМЯ_ПОЛЬЗОВАТЕЛЯ ВАШ_IP/32 МЕТОД`, где метод тот же, что в строках для `127.0.0.1/32` (`scram-sha-256` или `md5`), затем выполните:\n\n   ```bash\n   sudo -u postgres psql -c \"ALTER SYSTEM SET listen_addresses = '*'\"\n   systemctl restart postgresql\n   ```\n\nЕсли ваш IP-адрес сменится, правило придётся обновить. Без настроенного в базе TLS данные передаются в открытом виде — ещё один довод в пользу туннеля.\n\n> **Внимание**\n> На новом сервере `ufw` и `firewalld` не включены. Прежде чем включать их, разрешите SSH и держите открытым второй SSH-сеанс: веб-консоли и VNC для клиентов нет. Порядок действий: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall). Если вы потеряли доступ, напишите в поддержку.\n\n## База данных на другом сервере BLACKBOX\n\nСерверы BLACKBOX не связаны между собой частной сетью: приложение обращается к базе на другом сервере по его публичному IP-адресу, как любой компьютер из интернета. Не рассчитывайте, что порт базы данных доступен с другого сервера. Рекомендуемый вариант — постоянный SSH-туннель, который запускается на сервере приложения как служба systemd: база остаётся привязанной к `127.0.0.1`, а трафик идёт в зашифрованном виде через порт 22.\n\n### Постоянный SSH-туннель (рекомендуется)\n\nКоманды приведены для MariaDB; для PostgreSQL везде замените 3306 на 5432.\n\n1. На сервере приложения создайте SSH-ключ только для туннеля, без парольной фразы, чтобы его могла использовать служба:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/db_tunnel_ed25519 -N \"\" -C db-tunnel\n   cat /root/.ssh/db_tunnel_ed25519.pub\n   ```\n\n2. На сервере базы данных создайте отдельного пользователя без командной оболочки и откройте его файл `authorized_keys`:\n\n   ```bash\n   useradd -m -s /usr/sbin/nologin dbtunnel\n   mkdir -p /home/dbtunnel/.ssh\n   nano /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   Запишите одну строку: ограничения, пробел и ключ, показанный на шаге 1.\n\n   ```text\n   restrict,port-forwarding,permitopen=\"127.0.0.1:3306\" ssh-ed25519 AAAA... db-tunnel\n   ```\n\n   Задайте права:\n\n   ```bash\n   chown -R dbtunnel:dbtunnel /home/dbtunnel/.ssh\n   chmod 700 /home/dbtunnel/.ssh\n   chmod 600 /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   В AlmaLinux и CentOS Stream восстановите также метки SELinux:\n\n   ```bash\n   restorecon -R /home/dbtunnel/.ssh\n   ```\n\n   С такими ограничениями ключ открывает только туннель к порту базы: командной оболочки и доступа к другим портам у него нет. Не добавляйте его через «Добавить SSH-ключ» в панели: панель добавляет ключ пользователю `root` без ограничений.\n\n3. На сервере приложения один раз запустите туннель вручную. При первом подключении подтвердите ключ сервера базы, ответив `yes`. Пока туннель открыт, команда ничего не выводит; остановите её сочетанием Ctrl + C:\n\n   ```bash\n   ssh -N -i /root/.ssh/db_tunnel_ed25519 -L 3306:127.0.0.1:3306 dbtunnel@IP_СЕРВЕРА_БД\n   ```\n\n4. Создайте службу:\n\n   ```bash\n   nano /etc/systemd/system/db-tunnel.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=SSH tunnel to the database\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   ExecStart=/usr/bin/ssh -N -i /root/.ssh/db_tunnel_ed25519 -o BatchMode=yes -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -L 3306:127.0.0.1:3306 dbtunnel@IP_СЕРВЕРА_БД\n   Restart=always\n   RestartSec=10\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n5. Включите службу и проверьте, что туннель слушает `127.0.0.1:3306`:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now db-tunnel\n   systemctl status db-tunnel\n   ss -tlnp | grep 3306\n   ```\n\n6. В настройках приложения укажите хост `127.0.0.1` (не `localhost`), порт `3306`, имя базы, пользователя и пароль. На сервере базы достаточно пользователя, созданного для `'localhost'`.\n\n`ExitOnForwardFailure` закрывает подключение, если туннель не удалось открыть, а `ServerAliveInterval` замечает оборвавшееся соединение; в обоих случаях systemd перезапускает службу через 10 секунд. `BatchMode=yes` не даёт службе ждать подтверждения или пароля. Если порт 3306 на сервере приложения занят локальной базой, возьмите другой локальный порт, например `-L 13306:127.0.0.1:3306`, и укажите его в настройках приложения. Если служба не запускается, посмотрите журнал:\n\n```bash\njournalctl -u db-tunnel -n 50\n```\n\n### Порт, открытый только для сервера приложения\n\nЕсли туннель вам не подходит, попросите поддержку открыть порт 3306 или 5432 на сервере базы и выполните шаги из раздела «Открытие порта базы данных (не рекомендуется)», указав вместо `ВАШ_IP` IP-адрес сервера приложения: в правиле `ufw` или `firewalld`, в пользователе MariaDB (`'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'IP_СЕРВЕРА_ПРИЛОЖЕНИЯ'`) и в строке `pg_hba.conf`. Без TLS данные между серверами передаются в открытом виде. Прежде чем включать файрвол, держите открытым второй SSH-сеанс: веб-консоли нет (см. примечание выше).\n\n## Резервные копии\n\nНе копируйте файлы работающей базы: такая копия может оказаться несогласованной. Делайте выгрузку (дамп) через `mysqldump` или `pg_dump` со сжатием `gzip`.\n\n1. Создайте скрипт `/usr/local/bin/backup-db.sh` и оставьте в нём только строку для вашей СУБД:\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   cd /tmp\n   DIR=/var/backups/db\n   DATE=$(date +%F)\n   mkdir -p \"$DIR\"\n   chmod 700 \"$DIR\"\n   # MariaDB / MySQL\n   mysqldump --single-transaction --routines ИМЯ_БАЗЫ | gzip > \"$DIR/mariadb-ИМЯ_БАЗЫ-$DATE.sql.gz\"\n   # PostgreSQL\n   sudo -u postgres pg_dump ИМЯ_БАЗЫ | gzip > \"$DIR/pg-ИМЯ_БАЗЫ-$DATE.sql.gz\"\n   # удалить выгрузки старше 7 дней\n   find \"$DIR\" -name '*.sql.gz' -mtime +7 -delete\n   ```\n\n2. Сделайте его исполняемым, запустите один раз и проверьте файлы:\n\n   ```bash\n   chmod 700 /usr/local/bin/backup-db.sh\n   /usr/local/bin/backup-db.sh\n   ls -lh /var/backups/db\n   ```\n\n3. Откройте список заданий cron командой ниже и добавьте строку, которая запускает скрипт каждую ночь в 02:30 по времени сервера (его показывает `timedatectl`):\n\n   ```bash\n   crontab -e\n   ```\n\n   ```text\n   30 2 * * * /usr/local/bin/backup-db.sh\n   ```\n\n`--single-transaction` выгружает таблицы InnoDB в согласованном состоянии, не блокируя их. Скрипт работает от `root`, который входит в MariaDB через сокет. Если вы задали пароль для `root` в MariaDB, сохраните его в `/root/.my.cnf`, в секции `[client]`, с правами `600`. Если команды `crontab` нет, установите пакет `cron` (Ubuntu, Debian) или `cronie` (AlmaLinux, CentOS Stream) и запустите службу. Выгрузки занимают место: следите за диском с помощью `df -h` ([Диск сервера заполнен](#faq.disc-plin)).\n\n> **Важно**\n> Выгрузки в `/var/backups/db` лежат на том же диске, что и база: если диск выйдет из строя или сервер будет удалён, пропадут и они. BLACKBOX не делает автоматических резервных копий сервера, а кнопка «Резервные копии» на карточке сервера не работает. Регулярно копируйте выгрузки в другое место: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup)\n\n### Проверяйте восстановление\n\nНепроверенная копия может не сработать. Хотя бы раз в месяц восстанавливайте выгрузку в тестовую базу, проверяйте таблицы и удаляйте эту базу. MariaDB:\n\n```bash\nmariadb -e \"CREATE DATABASE test_restore\"\ngunzip -c /var/backups/db/mariadb-ИМЯ_БАЗЫ-2026-10-09.sql.gz | mariadb test_restore\nmariadb -e \"SHOW TABLES\" test_restore\nmariadb -e \"DROP DATABASE test_restore\"\n```\n\nPostgreSQL:\n\n```bash\ncd /tmp\nsudo -u postgres createdb test_restore\ngunzip -c /var/backups/db/pg-ИМЯ_БАЗЫ-2026-10-09.sql.gz | sudo -u postgres psql -q test_restore\nsudo -u postgres psql -d test_restore -c '\\dt'\nsudo -u postgres dropdb test_restore\n```\n\nПеред настоящим восстановлением остановите приложение. В PostgreSQL восстанавливайте выгрузку в пустую базу, созданную командой `createdb --owner=ИМЯ_ПОЛЬЗОВАТЕЛЯ`.\n\n## Память на небольших тарифах\n\nЗначения по умолчанию — 128 МБ для `innodb_buffer_pool_size` (MariaDB) и для `shared_buffers` (PostgreSQL) — подходят для 1 ГБ RAM. На серверах с большим объёмом памяти их можно увеличить, но осторожно, особенно если на том же сервере работают веб-сервер или приложение. Объём памяти показывает `free -h`.\n\n| RAM | Примеры тарифов | `innodb_buffer_pool_size` | `shared_buffers` |\n|---|---|---|---|\n| 1 ГБ | Basic XS | 128M (по умолчанию) | 128MB (по умолчанию) |\n| 2 ГБ | Basic S, CPU S, Standard S | 256M | 256MB |\n| 4 ГБ | Basic M, CPU M, Standard M | 512M | 512MB |\n| 8 ГБ | Basic L, CPU L, Standard L | 1G | 1GB |\n\nЕсли на сервере работает только база данных, под `innodb_buffer_pool_size` можно выделить до половины RAM, а под `shared_buffers` — до четверти. Каждое подключение тоже расходует память: не увеличивайте `max_connections` без необходимости.\n\nMariaDB: запишите значение в `99-local.cnf` (если файл уже есть, добавьте только вторую строку в секцию `[mysqld]`), затем перезапустите службу и проверьте результат:\n\n```ini\n[mysqld]\ninnodb_buffer_pool_size = 256M\n```\n\n```bash\nsystemctl restart mariadb\nmariadb -e \"SELECT @@innodb_buffer_pool_size/1024/1024 AS MB\"\n```\n\nPostgreSQL (`shared_buffers` применяется только после перезапуска):\n\n```bash\nsudo -u postgres psql -c \"ALTER SYSTEM SET shared_buffers = '256MB'\"\nsystemctl restart postgresql\nsudo -u postgres psql -c \"SHOW shared_buffers\"\n```\n\nНа тарифах с 1–2 ГБ RAM добавьте и swap: [Добавление файла подкачки (swap)](#ghiduri.swap). Если база данных останавливается сама по себе, проверьте, не завершила ли её система из-за нехватки памяти:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\n```\n\nЕсли это повторяется, серверу нужно больше RAM: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n## Частые вопросы\n\n**Приложение получает «Access denied for user». Что проверить?**\nИмя базы, пользователя, пароль и хост: пользователь, созданный для `'localhost'`, подключается только с самого сервера или через туннель. Если в сообщении указано `'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'127.0.0.1'`, создайте пользователя и для `'127.0.0.1'` теми же командами `CREATE USER` и `GRANT`.\n\n**Забыли пароль пользователя базы данных. Как его сменить?**\nОт `root` на сервере. В консоли `mariadb`:\n\n```sql\nALTER USER 'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'localhost' IDENTIFIED BY 'НОВЫЙ_ПАРОЛЬ';\n```\n\nВ PostgreSQL команда ниже дважды запросит новый пароль:\n\n```bash\nsudo -u postgres psql -c \"\\password ИМЯ_ПОЛЬЗОВАТЕЛЯ\"\n```\n\nЗатем обновите пароль в настройках приложения.\n\n**Как скачать выгрузку на компьютер?**\nВыполните на компьютере команду ниже, указав нужный файл. Другие способы: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n```bash\nscp root@IP_СЕРВЕРА:/var/backups/db/ФАЙЛ.sql.gz .\n```\n\n**Можно ли держать MariaDB и PostgreSQL на одном сервере?**\nДа, они используют разные порты. Но память у них общая, поэтому для обеих выбирайте значения меньше, чем в таблице.\n",
    "en": "This guide shows how to install MariaDB (compatible with MySQL) or PostgreSQL on your server, create a database with its own user, connect to it from your computer through an SSH tunnel, and make backups. Run the commands as `root` in an SSH session ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). You'll find the server's IP address in the app.blackbox.md panel, under “Infrastructure” → “My Servers” (`app.blackbox.md/my-servers`).\n\n**Available to:** the owner of a VPS server running Ubuntu, Debian, AlmaLinux or CentOS Stream. If the server has a control panel ([“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou)), you usually create databases from that control panel.\n\n## MariaDB or PostgreSQL\n\nInstall the system your application requires.\n\n| | MariaDB | PostgreSQL |\n|---|---|---|\n| Typically used for | WordPress, Joomla, Drupal, most PHP applications | many Django, Ruby on Rails and Node.js applications, and those that require PostgreSQL |\n| Package on Ubuntu and Debian | `mariadb-server` | `postgresql` |\n| Package on AlmaLinux and CentOS Stream | `mariadb-server` | `postgresql-server` |\n| Port | 3306 | 5432 |\n\nFor most applications, MariaDB replaces MySQL with no changes. If the application explicitly requires MySQL, install `mysql-server` on Ubuntu, AlmaLinux or CentOS Stream (on Debian, it isn't in the standard repositories). The commands are then called `mysql` and `mysql_secure_installation`, and the service name and the configuration file paths differ from the ones in this guide. Don't install MySQL and MariaDB on the same server.\n\n## MariaDB: installing and securing\n\n### Ubuntu and Debian\n\n```bash\napt update\napt install -y mariadb-server\n```\n\nThe service starts automatically and listens only on `127.0.0.1`.\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf install -y mariadb-server\nsystemctl enable --now mariadb\n```\n\nHere, MariaDB listens on all network interfaces by default. Bind it to `127.0.0.1` with the `99-local.cnf` file described below.\n\n### Your settings file\n\nPut your own settings in a separate file, `99-local.cnf`, which you create with `nano` or `vi`: on Ubuntu and Debian in `/etc/mysql/mariadb.conf.d/`, on AlmaLinux and CentOS Stream in `/etc/my.cnf.d/`. On AlmaLinux and CentOS Stream, start the file like this (on Ubuntu and Debian, `bind-address = 127.0.0.1` is already set):\n\n```ini\n[mysqld]\nbind-address = 127.0.0.1\n```\n\nAfter every change, restart the service and check that the output shows `127.0.0.1:3306`, not `0.0.0.0:3306` or `*:3306`:\n\n```bash\nsystemctl restart mariadb\nss -tlnp | grep 3306\n```\n\n### mariadb-secure-installation\n\n```bash\nmariadb-secure-installation\n```\n\n| Question | Answer |\n|---|---|\n| `Enter current password for root (enter for none)` | Enter |\n| `Switch to unix_socket authentication [Y/n]` | `n` |\n| `Change the root password? [Y/n]` | `n`, if the script printed “You already have your root account protected, so you can safely answer 'n'.”; otherwise `Y` and a strong password |\n| `Remove anonymous users?`, `Disallow root login remotely?`, `Remove test database and access to it?`, `Reload privilege tables now?` | `Y` to all of them |\n\nThe MariaDB `root` user uses socket authentication (`unix_socket`): only the system's `root` user can log in, with the `mariadb` command, without a password. On Ubuntu 20.04 (MariaDB 10.3), the commands are called `mysql_secure_installation` and `mysql`, and you answer `n` to “Set root password?”.\n\n### The database and its user\n\nGive each application its own database and a user with rights on that database only. Generate a strong password, then open the MariaDB console:\n\n```bash\nopenssl rand -base64 24\nmariadb\n```\n\nRun the following, replacing `DB_NAME`, `USERNAME` and `PASSWORD`:\n\n```sql\nCREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'USERNAME'@'localhost' IDENTIFIED BY 'PASSWORD';\nGRANT ALL PRIVILEGES ON DB_NAME.* TO 'USERNAME'@'localhost';\nEXIT;\n```\n\n`DB_NAME.*` limits the rights to this database, and `'localhost'` allows connections only from the server itself and through an SSH tunnel. Don't use `ON *.*` or `'%'`. Test the connection with the new user:\n\n```bash\nmariadb -u USERNAME -p DB_NAME\n```\n\nIn the application's configuration, enter the host `localhost`, the port `3306`, the database name, the user and the password.\n\n## PostgreSQL: installation and users\n\n### Ubuntu and Debian\n\n```bash\napt update\napt install -y postgresql\n```\n\nThe service starts automatically and listens only on `localhost`.\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf install -y postgresql-server\npostgresql-setup --initdb\nsystemctl enable --now postgresql\n```\n\nOpen `/var/lib/pgsql/data/pg_hba.conf`. If the `host` lines for `127.0.0.1/32` and `::1/128` say `ident`, replace it with `md5` (it also accepts passwords stored as SCRAM). Otherwise, applications get the error `Ident authentication failed`. Apply the change:\n\n```bash\nsystemctl reload postgresql\n```\n\n### The user and the database\n\n```bash\nsudo -u postgres createuser --pwprompt USERNAME\nsudo -u postgres createdb --owner=USERNAME DB_NAME\n```\n\nAt “Enter password for new role:” and “Enter it again:”, type the password. The user is not a superuser: it has full rights only in the database it owns. The warning `could not change directory to \"/root\": Permission denied` is harmless; it doesn't appear if you run the commands from `/tmp`. Test the connection (exit with `\\q`):\n\n```bash\npsql -h 127.0.0.1 -U USERNAME DB_NAME\n```\n\n## Remote access through an SSH tunnel (recommended)\n\nTo work with the database from DBeaver, HeidiSQL, MySQL Workbench, pgAdmin or another client on your computer, don't open the database port. The SSH tunnel goes through port 22, which is already open, and encrypts the traffic, while the database stays bound to `127.0.0.1`.\n\n1. On your computer, in Terminal (macOS, Linux) or PowerShell (Windows), start the tunnel. For MariaDB:\n\n   ```bash\n   ssh -N -L 3306:127.0.0.1:3306 root@SERVER_IP\n   ```\n\n   For PostgreSQL:\n\n   ```bash\n   ssh -N -L 5432:127.0.0.1:5432 root@SERVER_IP\n   ```\n\n2. Leave the window open: the tunnel works as long as the command runs. Close it with Ctrl + C.\n3. In the client, connect to host `127.0.0.1`, port `3306` or `5432`, with the database user and password.\n\nThe tunnel uses the same authentication as a regular SSH connection: on a “Key-only” server, if your key isn't in the default location, point to it with `-i`. If the port on your computer is already taken by a local database, use another local port, for example `-L 13306:127.0.0.1:3306`, and connect to `127.0.0.1:13306`. Type `127.0.0.1`, not `localhost`: the `mariadb`/`mysql` client treats `localhost` as a local socket and bypasses the tunnel. Many graphical clients have an SSH tunnel built into the connection settings: SSH host `SERVER_IP`, port 22, user `root` and your key or password, then database host `127.0.0.1`.\n\n## Opening the database port (not recommended)\n\nA database exposed to the internet is scanned all the time, and attackers keep trying to guess its passwords. If an external service still has to connect directly, the port must be open at both levels:\n\n1. **The network filtering**, managed by BLACKBOX, lets through only SSH (22), HTTP (80), HTTPS (443) and ping by default, so 3306 and 5432 are closed. The panel has no firewall settings: write to support with the server's IP address and the port ([How to contact BLACKBOX support](#suport.contact)).\n2. **The operating system's firewall** must be active (see the note below) and must allow the port only from your IP address, which you can find with [The “Adresa ta IP” (Your IP address) tool](#domenii.adresa-ip). For PostgreSQL, replace 3306 with 5432. With `ufw` (Ubuntu, Debian):\n\n   ```bash\n   ufw allow from YOUR_IP to any port 3306 proto tcp\n   ```\n\n   With `firewalld` (AlmaLinux, CentOS Stream):\n\n   ```bash\n   firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"YOUR_IP/32\" port port=\"3306\" protocol=\"tcp\" accept'\n   firewall-cmd --reload\n   ```\n\n3. **MariaDB:** in `99-local.cnf`, under `[mysqld]`, set `bind-address = 0.0.0.0`, restart the service and create the user `'USERNAME'@'YOUR_IP'` with the same `CREATE USER` and `GRANT` commands.\n4. **PostgreSQL:** in `pg_hba.conf` (Ubuntu and Debian: `/etc/postgresql/VERSION/main/pg_hba.conf`; AlmaLinux and CentOS Stream: `/var/lib/pgsql/data/pg_hba.conf`), add the line `host DB_NAME USERNAME YOUR_IP/32 METHOD`, with the method used on the lines for `127.0.0.1/32` (`scram-sha-256` or `md5`), then run:\n\n   ```bash\n   sudo -u postgres psql -c \"ALTER SYSTEM SET listen_addresses = '*'\"\n   systemctl restart postgresql\n   ```\n\nIf your IP address changes, you have to update the rule. Without TLS configured in the database, the data travels unencrypted: one more reason to use the tunnel.\n\n> **Warning**\n> On a new server, `ufw` and `firewalld` are not enabled. Before you enable them, allow SSH and keep a second SSH session open: there is no web or VNC console for customers. The steps: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall). If you have locked yourself out, write to support.\n\n## A database on another BLACKBOX server\n\nBLACKBOX servers are not connected to each other by a private network: the application reaches the database on another server through that server's public IP address, like any computer on the internet. Don't assume that the database port is reachable from the other server. The recommended solution is a permanent SSH tunnel, started on the application server as a systemd service: the database stays bound to `127.0.0.1`, and the traffic travels encrypted through port 22.\n\n### Permanent SSH tunnel (recommended)\n\nThe commands are for MariaDB; for PostgreSQL, replace 3306 with 5432 everywhere.\n\n1. On the application server, create an SSH key used only for the tunnel, without a passphrase, so that the service can use it:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/db_tunnel_ed25519 -N \"\" -C db-tunnel\n   cat /root/.ssh/db_tunnel_ed25519.pub\n   ```\n\n2. On the database server, create a separate user with no shell, and open its `authorized_keys` file:\n\n   ```bash\n   useradd -m -s /usr/sbin/nologin dbtunnel\n   mkdir -p /home/dbtunnel/.ssh\n   nano /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   Write a single line: the restrictions, a space, then the key shown in step 1.\n\n   ```text\n   restrict,port-forwarding,permitopen=\"127.0.0.1:3306\" ssh-ed25519 AAAA... db-tunnel\n   ```\n\n   Set the permissions:\n\n   ```bash\n   chown -R dbtunnel:dbtunnel /home/dbtunnel/.ssh\n   chmod 700 /home/dbtunnel/.ssh\n   chmod 600 /home/dbtunnel/.ssh/authorized_keys\n   ```\n\n   On AlmaLinux and CentOS Stream, also restore the SELinux labels:\n\n   ```bash\n   restorecon -R /home/dbtunnel/.ssh\n   ```\n\n   With these restrictions, the key opens only the tunnel to the database port: it gets no shell and can't reach other ports. Don't add it with “Add SSH key” in the panel: the panel adds it to `root`, without restrictions.\n\n3. On the application server, start the tunnel once by hand. On the first connection, confirm the database server's key with `yes`. While the tunnel is open, the command prints nothing; stop it with Ctrl + C:\n\n   ```bash\n   ssh -N -i /root/.ssh/db_tunnel_ed25519 -L 3306:127.0.0.1:3306 dbtunnel@DB_SERVER_IP\n   ```\n\n4. Create the service:\n\n   ```bash\n   nano /etc/systemd/system/db-tunnel.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=SSH tunnel to the database\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   ExecStart=/usr/bin/ssh -N -i /root/.ssh/db_tunnel_ed25519 -o BatchMode=yes -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -L 3306:127.0.0.1:3306 dbtunnel@DB_SERVER_IP\n   Restart=always\n   RestartSec=10\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n5. Enable the service and check that the tunnel listens on `127.0.0.1:3306`:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now db-tunnel\n   systemctl status db-tunnel\n   ss -tlnp | grep 3306\n   ```\n\n6. In the application's configuration, enter the host `127.0.0.1` (not `localhost`), the port `3306`, the database name, the user and the password. On the database server, the user created for `'localhost'` is enough.\n\n`ExitOnForwardFailure` closes the connection if the tunnel can't be opened, and `ServerAliveInterval` detects a dropped connection; in both cases, systemd restarts the service after 10 seconds. `BatchMode=yes` keeps the service from waiting for a confirmation or a password. If port 3306 on the application server is taken by a local database, use another local port, for example `-L 13306:127.0.0.1:3306`, and enter it in the application's configuration. If the service doesn't start, read its log:\n\n```bash\njournalctl -u db-tunnel -n 50\n```\n\n### Port open only to the application server\n\nIf the tunnel doesn't suit you, ask support to open port 3306 or 5432 on the database server, and follow the steps in the “Opening the database port (not recommended)” section, with the application server's IP address instead of `YOUR_IP`: in the `ufw` or `firewalld` rule, in the MariaDB user (`'USERNAME'@'APP_SERVER_IP'`) and in the `pg_hba.conf` line. Without TLS, the data travels unencrypted between the servers. Before you enable the firewall, keep a second SSH session open: there is no web console (see the note above).\n\n## Backups\n\nDon't copy the files of a running database: the copy may be inconsistent. Make a dump (an export) with `mysqldump` or `pg_dump`, compressed with `gzip`.\n\n1. Create the script `/usr/local/bin/backup-db.sh` and keep only the line for your database system:\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   cd /tmp\n   DIR=/var/backups/db\n   DATE=$(date +%F)\n   mkdir -p \"$DIR\"\n   chmod 700 \"$DIR\"\n   # MariaDB / MySQL\n   mysqldump --single-transaction --routines DB_NAME | gzip > \"$DIR/mariadb-DB_NAME-$DATE.sql.gz\"\n   # PostgreSQL\n   sudo -u postgres pg_dump DB_NAME | gzip > \"$DIR/pg-DB_NAME-$DATE.sql.gz\"\n   # delete dumps older than 7 days\n   find \"$DIR\" -name '*.sql.gz' -mtime +7 -delete\n   ```\n\n2. Make it executable, run it once and check the files:\n\n   ```bash\n   chmod 700 /usr/local/bin/backup-db.sh\n   /usr/local/bin/backup-db.sh\n   ls -lh /var/backups/db\n   ```\n\n3. Open the list of cron jobs with the command below, and add the line that runs the script every night at 02:30 server time (you can see the server time with `timedatectl`):\n\n   ```bash\n   crontab -e\n   ```\n\n   ```text\n   30 2 * * * /usr/local/bin/backup-db.sh\n   ```\n\n`--single-transaction` exports InnoDB tables in a consistent state, without locking them. The script runs as `root`, which logs in to MariaDB through the socket. If you set a password for the MariaDB `root` user, put it in `/root/.my.cnf`, in the `[client]` section, with permissions `600`. If `crontab` is missing, install the `cron` package (Ubuntu, Debian) or `cronie` (AlmaLinux, CentOS Stream) and start the service. Dumps take up space: keep an eye on the disk with `df -h` ([The server's disk is full](#faq.disc-plin)).\n\n> **Important**\n> The dumps in `/var/backups/db` are on the same disk as the database: if the disk fails or the server is deleted, you lose them too. BLACKBOX does not make automatic backups of your server, and the “Backups” button on the server card is not active. Copy the dumps to another location regularly: [Backup strategy for your server](#ghiduri.strategie-backup)\n\n### Test the restore\n\nA backup you have never tested may not work. At least once a month, restore a dump into a test database, check the tables, and delete the test database. MariaDB:\n\n```bash\nmariadb -e \"CREATE DATABASE test_restore\"\ngunzip -c /var/backups/db/mariadb-DB_NAME-2026-10-09.sql.gz | mariadb test_restore\nmariadb -e \"SHOW TABLES\" test_restore\nmariadb -e \"DROP DATABASE test_restore\"\n```\n\nPostgreSQL:\n\n```bash\ncd /tmp\nsudo -u postgres createdb test_restore\ngunzip -c /var/backups/db/pg-DB_NAME-2026-10-09.sql.gz | sudo -u postgres psql -q test_restore\nsudo -u postgres psql -d test_restore -c '\\dt'\nsudo -u postgres dropdb test_restore\n```\n\nFor a real restore, stop the application first. For PostgreSQL, restore into an empty database created with `createdb --owner=USERNAME`.\n\n## Memory on small plans\n\nThe default values, 128 MB for `innodb_buffer_pool_size` (MariaDB) and for `shared_buffers` (PostgreSQL), suit 1 GB of RAM. On larger servers you can raise them carefully, especially when the web server or the application runs on the same server. You can see the memory with `free -h`.\n\n| RAM | Example plans | `innodb_buffer_pool_size` | `shared_buffers` |\n|---|---|---|---|\n| 1 GB | Basic XS | 128M (default) | 128MB (default) |\n| 2 GB | Basic S, CPU S, Standard S | 256M | 256MB |\n| 4 GB | Basic M, CPU M, Standard M | 512M | 512MB |\n| 8 GB | Basic L, CPU L, Standard L | 1G | 1GB |\n\nOn a server used only for the database, you can give up to half of the RAM to `innodb_buffer_pool_size` and up to a quarter to `shared_buffers`. Each connection also uses memory: don't raise `max_connections` without a reason.\n\nMariaDB: write the value in `99-local.cnf` (if the file already exists, add only the second line under `[mysqld]`), then restart and check:\n\n```ini\n[mysqld]\ninnodb_buffer_pool_size = 256M\n```\n\n```bash\nsystemctl restart mariadb\nmariadb -e \"SELECT @@innodb_buffer_pool_size/1024/1024 AS MB\"\n```\n\nPostgreSQL (`shared_buffers` takes effect only after a restart):\n\n```bash\nsudo -u postgres psql -c \"ALTER SYSTEM SET shared_buffers = '256MB'\"\nsystemctl restart postgresql\nsudo -u postgres psql -c \"SHOW shared_buffers\"\n```\n\nOn plans with 1–2 GB of RAM, also add swap: [Adding swap space](#ghiduri.swap). If the database stops on its own, check whether the system shut it down because it ran out of memory:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\n```\n\nIf this keeps happening, the server needs more RAM: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n## Frequently asked questions\n\n**The application gets “Access denied for user”. What should I check?**\nCheck the database name, the user, the password and the host: a user created for `'localhost'` can connect only from the server itself or through the tunnel. If the message shows `'USERNAME'@'127.0.0.1'`, create the user for `'127.0.0.1'` as well, with the same `CREATE USER` and `GRANT` commands.\n\n**I forgot the database user's password. How do I change it?**\nChange it as `root` on the server. In the `mariadb` console:\n\n```sql\nALTER USER 'USERNAME'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';\n```\n\nIn PostgreSQL, the command below asks you for the new password twice:\n\n```bash\nsudo -u postgres psql -c \"\\password USERNAME\"\n```\n\nThen update the password in the application's configuration.\n\n**How do I download a dump to my computer?**\nRun the command below on your computer, with the name of the file you want. Other methods: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n```bash\nscp root@SERVER_IP:/var/backups/db/FILE.sql.gz .\n```\n\n**Can I run MariaDB and PostgreSQL on the same server?**\nYes, they use different ports. They share the memory, though, so for both of them choose values lower than the ones in the table.\n"
   }
  },
  {
   "id": "ghiduri.docker",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/docker/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/docker/",
    "en": "https://docs.blackbox.md/en/ghiduri/docker/"
   },
   "title": {
    "ro": "Instalarea Docker și Docker Compose",
    "ru": "Установка Docker и Docker Compose",
    "en": "Installing Docker and Docker Compose"
   },
   "summary": {
    "ro": "Cum instalați Docker din depozitul oficial, cum rulați aplicații cu Compose și ce trebuie să știți despre porturi, jurnale, spațiu și memorie.",
    "ru": "Как установить Docker из официального репозитория, запускать приложения через Compose и что важно знать о портах, логах, месте на диске и памяти.",
    "en": "How to install Docker from the official repository, run applications with Compose, and what you need to know about ports, logs, disk space and memory."
   },
   "markdown": {
    "ro": "Docker rulează aplicații în containere izolate, iar Docker Compose pornește mai multe containere dintr-un singur fișier. Serverele VPS BLACKBOX nu au Docker preinstalat: îl instalați dvs., după ce vă conectați la server prin SSH ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Comenzile urmează [documentația oficială Docker](https://docs.docker.com/engine/install/).\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX cu Ubuntu, Debian, AlmaLinux 9 sau CentOS Stream 9. Panoul app.blackbox.md nu instalează și nu gestionează containere pe serverele comandate pe blackbox.md.\n\n## Înainte de a începe\n\n- Docker publică pentru fiecare distribuție lista versiunilor suportate. Ubuntu 20.04 și Debian 11 nu mai sunt în această listă. Pentru un server nou cu Docker alegeți Ubuntu 24.04 LTS, Ubuntu 22.04 LTS sau Debian 12: [Sistemele de operare disponibile](#comenzi.sisteme-operare).\n- Dacă aveți un plan „VPS hosting” cu panou de control, întrebați suportul înainte să instalați Docker: serverul web al panoului ocupă, de regulă, deja porturile 80 și 443. Vedeți [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n## Instalarea Docker Engine și a pluginului Compose\n\nPachetul `docker-compose-plugin` aduce comanda `docker compose` (cu spațiu). Vechea comandă `docker-compose` (cu cratimă) nu mai este necesară.\n\n### Ubuntu și Debian\n\nRulați comenzile în aceeași sesiune. `. /etc/os-release` citește numele distribuției (`ubuntu` sau `debian`) și numele de cod al versiunii (de exemplu `noble` sau `bookworm`), așa că blocul este același pe ambele sisteme.\n\n```bash\napt update\napt install -y ca-certificates curl\ninstall -m 0755 -d /etc/apt/keyrings\n. /etc/os-release\ncurl -fsSL https://download.docker.com/linux/$ID/gpg -o /etc/apt/keyrings/docker.asc\nchmod a+r /etc/apt/keyrings/docker.asc\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$ID $VERSION_CODENAME stable\" > /etc/apt/sources.list.d/docker.list\napt update\napt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n```\n\nServiciul `docker` pornește singur după instalare și la fiecare repornire a serverului.\n\n### AlmaLinux și CentOS Stream\n\nDocumentația Docker nu are o pagină pentru AlmaLinux. Pe AlmaLinux 9 funcționează depozitul pentru CentOS de mai jos.\n\n```bash\ndnf -y install dnf-plugins-core\ndnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\ndnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\nsystemctl enable --now docker\n```\n\n### Verificați instalarea\n\n```bash\ndocker run hello-world\ndocker compose version\n```\n\nPrima comandă descarcă o imagine de test și afișează „Hello from Docker!”. A doua afișează „Docker Compose version”, urmat de numărul versiunii instalate.\n\n## Un utilizator fără root (opțional)\n\nDacă lucrați cu un utilizator obișnuit (creat ca în [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou)), adăugați-l în grupul `docker`:\n\n```bash\nusermod -aG docker NUME_UTILIZATOR\n```\n\nDeconectați-vă și conectați-vă din nou ca `NUME_UTILIZATOR`. Comenzile `docker` funcționează apoi fără `sudo`.\n\n> **Securitate**\n> Grupul `docker` echivalează cu acces root: un membru al grupului poate porni un container cu tot discul serverului montat și poate modifica orice fișier. Adăugați în grup doar utilizatori cărora le-ați da și acces root.\n\n## Limitați jurnalele containerelor\n\nImplicit, Docker păstrează tot ce afișează un container, în fișiere `*-json.log` din `/var/lib/docker/containers/`, fără limită de mărime. Un container care scrie mult poate umple discul. Setați rotirea jurnalelor imediat după instalare:\n\n1. Deschideți fișierul de configurare. Pe AlmaLinux și CentOS Stream, instalați întâi editorul `nano`:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   mkdir -p /etc/docker\n   nano /etc/docker/daemon.json\n   ```\n\n2. Scrieți conținutul de mai jos. Dacă fișierul are deja setări, adăugați cele două chei în obiectul existent, nu un al doilea bloc `{ }`.\n\n   ```json\n   {\n     \"log-driver\": \"json-file\",\n     \"log-opts\": {\n       \"max-size\": \"10m\",\n       \"max-file\": \"3\"\n     }\n   }\n   ```\n\n3. Verificați fișierul. Rezultatul corect este „configuration OK”. Dacă fișierul are o greșeală, serviciul `docker` nu mai pornește și, odată cu el, nici containerele.\n\n   ```bash\n   dockerd --validate --config-file=/etc/docker/daemon.json\n   ```\n\n4. Reporniți Docker. Containerele se opresc pentru scurt timp; cele cu `restart: unless-stopped` sau `restart: always` pornesc din nou singure.\n\n   ```bash\n   systemctl restart docker\n   ```\n\nFiecare container păstrează astfel cel mult 3 fișiere de câte 10 MB. Setarea se aplică doar containerelor create după schimbare: recreați containerele unui proiect Compose din folderul proiectului, iar pe cele pornite cu `docker run` ștergeți-le și creați-le din nou.\n\n```bash\ndocker compose up -d --force-recreate\n```\n\n## Porturile: ce ajunge în internet\n\n- **Filtrul de rețea administrat de BLACKBOX** lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping. Un container publicat pe 8080 sau 3000 nu este accesibil din internet. Pentru alt port, scrieți suportului: [Cum contactați suportul BLACKBOX](#suport.contact).\n- **Docker ocolește firewall-ul din sistem.** Pentru porturile publicate (`-p` sau `ports:`), Docker scrie propriile reguli iptables, aplicate înaintea regulilor ufw: `ufw status` nu le arată, iar o regulă `deny` nu le închide. Nici pe firewalld nu vă bazați pentru a ascunde un port publicat de Docker.\n\n> **Atenție**\n> Un container publicat pe 80, pe 443 sau pe un port deschis la cererea dvs. este accesibil din internet indiferent de ufw sau firewalld. Nu publicați bazele de date și panourile de administrare pe toate adresele serverului.\n\nCum publicați corect:\n\n1. Publicați aplicația doar pe `127.0.0.1` (`\"127.0.0.1:8080:80\"` în loc de `\"8080:80\"`) și expuneți-o prin nginx pe 80/443, cu HTTPS: [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii). Pe AlmaLinux și CentOS Stream, ghidul arată și setarea SELinux necesară.\n2. Containerele care comunică doar între ele (de exemplu baza de date) nu au nevoie de `ports:`: în același proiect Compose se găsesc după numele serviciului, de exemplu `db`.\n3. Un container proxy (nginx, Caddy, Traefik) poate fi publicat direct pe 80 și 443. Atunci nu rulați în paralel nginx sau Apache pe server, altfel pornirea dă eroarea `address already in use`.\n4. Pentru filtrare avansată, adăugați reguli în lanțul `DOCKER-USER`, după [documentația Docker despre iptables](https://docs.docker.com/engine/network/firewall-iptables/). Regulile adăugate manual se pierd la repornire dacă nu le salvați.\n\n## Primul proiect cu Docker Compose\n\nExemplul pornește WordPress cu o bază de date MariaDB. Site-ul ascultă doar pe `127.0.0.1:8080`, iar datele stau în volume cu nume. Apoi îl publicați pe domeniu prin nginx, ca la punctul 1 de mai sus.\n\n1. Creați folderul proiectului:\n\n   ```bash\n   mkdir -p /srv/wordpress\n   cd /srv/wordpress\n   ```\n\n2. Creați fișierul `.env` cu parola bazei de date. Compose îl citește automat. Folosiți în parolă doar litere fără diacritice și cifre: caracterul `$` din acest fișier este interpretat de Compose ca variabilă.\n\n   ```bash\n   nano .env\n   ```\n\n   ```ini\n   DB_PASSWORD=O_PAROLA_LUNGA\n   ```\n\n   Lăsați acces la fișier doar utilizatorului `root`:\n\n   ```bash\n   chmod 600 .env\n   ```\n\n3. Creați fișierul `compose.yaml`:\n\n   ```bash\n   nano compose.yaml\n   ```\n\n   ```yaml\n   services:\n     db:\n       image: mariadb:11\n       restart: unless-stopped\n       environment:\n         MARIADB_DATABASE: wordpress\n         MARIADB_USER: wordpress\n         MARIADB_PASSWORD: ${DB_PASSWORD}\n         MARIADB_RANDOM_ROOT_PASSWORD: \"1\"\n       volumes:\n         - db-data:/var/lib/mysql\n\n     wordpress:\n       image: wordpress:latest\n       restart: unless-stopped\n       depends_on:\n         - db\n       environment:\n         WORDPRESS_DB_HOST: db\n         WORDPRESS_DB_USER: wordpress\n         WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n         WORDPRESS_DB_NAME: wordpress\n       ports:\n         - \"127.0.0.1:8080:80\"\n       volumes:\n         - wp-data:/var/www/html\n\n   volumes:\n     db-data:\n     wp-data:\n   ```\n\n4. Porniți proiectul și verificați:\n\n   ```bash\n   docker compose up -d\n   docker compose ps\n   curl -I http://127.0.0.1:8080\n   ```\n\n   Un răspuns care începe cu `HTTP/1.1` înseamnă că site-ul rulează. Dacă primiți o eroare imediat după pornire, așteptați câteva secunde: la prima pornire baza de date se inițializează.\n\nCu `restart: unless-stopped`, containerele pornesc singure după o repornire a serverului. Comenzile Compose se rulează din folderul proiectului:\n\n| Comanda | Ce face |\n|---|---|\n| `docker compose up -d` | creează și pornește containerele în fundal |\n| `docker compose logs -f` | urmărește jurnalele; ieșiți cu Ctrl+C |\n| `docker compose pull`, apoi `docker compose up -d` | descarcă imaginile noi și recreează containerele care le folosesc |\n| `docker compose down` | oprește și șterge containerele; volumele cu date rămân |\n| `docker compose down -v` | șterge și volumele, adică toate datele proiectului |\n\n## Datele: volume și copii de rezervă\n\nContainerele sunt de unică folosință: la actualizare, Compose le șterge și le creează din nou, iar tot ce a scris aplicația în afara unui volum se pierde. Păstrați datele:\n\n- în **volume cu nume**, ca `db-data` și `wp-data` din exemplu. Docker le ține în `/var/lib/docker/volumes/`, iar Compose adaugă în față numele proiectului (al folderului): `wordpress_db-data`;\n- sau în **foldere de pe server montate în container** (bind mount), de exemplu `./uploads:/app/uploads`, pe care le copiați ușor cu rsync.\n\nSalvați volumele și fișierele `compose.yaml` și `.env`, nu containerele: imaginile și containerele se recreează oricând. Pentru baza de date faceți un dump, nu copiați fișierele unei baze care rulează:\n\n```bash\nmkdir -p /root/backup\ncd /srv/wordpress\ndocker compose exec -T db sh -c 'mariadb-dump -u wordpress -p\"$MARIADB_PASSWORD\" wordpress' > /root/backup/wordpress.sql\n```\n\nAflați numele exact al volumului, apoi arhivați-l cu un container temporar:\n\n```bash\ndocker volume ls\ndocker run --rm -v wordpress_wp-data:/data:ro -v /root/backup:/backup alpine tar czf /backup/wp-data.tar.gz -C /data .\n```\n\nBLACKBOX nu face copii automate ale serverului dvs. Mutați copiile pe alt server sau într-un spațiu de stocare extern: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## Eliberarea spațiului ocupat de Docker\n\nVedeți cât ocupă imaginile, containerele, volumele și cache-ul de build și cât se poate elibera (coloana `RECLAIMABLE`):\n\n```bash\ndocker system df\n```\n\n| Comanda | Ce șterge |\n|---|---|\n| `docker image prune` | imaginile fără etichetă (`<none>`), rămase după actualizări |\n| `docker image prune -a` | toate imaginile pe care nu le folosește niciun container |\n| `docker builder prune` | cache-ul de build |\n| `docker system prune` | containerele oprite, rețelele nefolosite, imaginile fără etichetă și cache-ul de build |\n| `docker system prune -a` | în plus, toate imaginile nefolosite |\n\nFiecare comandă cere confirmarea înainte de ștergere. Dacă discul este deja plin, inclusiv din cauza jurnalelor vechi ale containerelor, vedeți [Discul serverului este plin](#faq.disc-plin).\n\n> **Risc**\n> `docker system prune` șterge și containerele oprite: un proiect oprit cu `docker compose stop` își pierde containerele (le recreați cu `docker compose up -d`). Nu adăugați `--volumes` și nu rulați `docker volume prune -a` dacă nu știți exact ce volume se șterg: volumele unui proiect oprit cu `docker compose down` sunt considerate nefolosite, iar datele lor se pierd definitiv.\n\n## Memoria pe planurile mici\n\nFiecare container consumă memorie. O bază de date, o aplicație și un proxy pot depăși împreună memoria planurilor Basic XS (1 GB), Basic S, CPU S și Standard S (2 GB): [Planurile VPS: cum alegeți](#comenzi.planuri-vps). Verificați consumul și dacă un container a fost oprit din lipsă de memorie (rezultatul `true` confirmă):\n\n```bash\nfree -h\ndocker stats --no-stream\ndocker inspect --format '{{.State.OOMKilled}}' NUME_CONTAINER\n```\n\nCe puteți face:\n\n- adăugați memorie swap: [Adăugarea memoriei swap](#ghiduri.swap);\n- limitați memoria unui container, cu linia `mem_limit: 512m` la serviciul respectiv din `compose.yaml`;\n- treceți la un plan mai mare: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\nȘi imaginile ocupă loc: pe discurile de 20–30 GB verificați periodic `docker system df`. La familiile CPU și High-Frequency Compute, discul rămâne același și după upgrade.\n\n## Întrebări frecvente\n\n**De ce nu văd containerele în panoul app.blackbox.md?**\nPanoul nu afișează și nu gestionează containerele de pe serverele comandate pe blackbox.md. Le administrați prin SSH, cu `docker` și `docker compose`.\n\n**Containerul rulează, dar aplicația nu se deschide din internet. De ce?**\nCel mai des aplicația este publicată pe alt port decât 80 sau 443, pe care filtrul de rețea îl oprește, ori doar pe `127.0.0.1`. Publicați-o prin nginx pe 80/443 sau cereți suportului deschiderea portului. Alte cauze: [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide).\n\n**La descărcarea unei imagini apare eroarea `toomanyrequests`. Ce fac?**\nDocker Hub limitează descărcările fără cont. Creați un cont gratuit pe Docker Hub, autentificați-vă pe server cu comanda de mai jos și repetați descărcarea.\n\n```bash\ndocker login\n```\n\n**Cum actualizez Docker?**\nPachetele Docker se actualizează odată cu sistemul, cu `apt upgrade` sau `dnf upgrade`; pe Ubuntu și Debian, actualizările automate de securitate nu le includ. La actualizare, containerele se opresc pentru scurt timp. Detalii: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate).\n",
    "ru": "Docker запускает приложения в изолированных контейнерах, а Docker Compose поднимает несколько контейнеров из одного файла. На VPS BLACKBOX Docker не предустановлен: вы устанавливаете его сами, подключившись к серверу по SSH как `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Команды соответствуют [официальной документации Docker](https://docs.docker.com/engine/install/).\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX с Ubuntu, Debian, AlmaLinux 9 или CentOS Stream 9. Панель app.blackbox.md не устанавливает контейнеры и не управляет ими на серверах, заказанных на blackbox.md.\n\n## Перед началом\n\n- Docker публикует для каждого дистрибутива список поддерживаемых версий. Ubuntu 20.04 и Debian 11 в этом списке больше нет. Для нового сервера под Docker выбирайте Ubuntu 24.04 LTS, Ubuntu 22.04 LTS или Debian 12: [Доступные операционные системы](#comenzi.sisteme-operare).\n- Если у вас тариф «VPS hosting» с панелью управления, перед установкой Docker посоветуйтесь с поддержкой: веб-сервер панели, как правило, уже занимает порты 80 и 443. См. [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n## Установка Docker Engine и плагина Compose\n\nПакет `docker-compose-plugin` добавляет команду `docker compose` (через пробел). Старая команда `docker-compose` (через дефис) больше не нужна.\n\n### Ubuntu и Debian\n\nВыполняйте команды в одной сессии. `. /etc/os-release` подставляет название дистрибутива (`ubuntu` или `debian`) и кодовое имя версии (например, `noble` или `bookworm`), поэтому блок одинаков для обеих систем.\n\n```bash\napt update\napt install -y ca-certificates curl\ninstall -m 0755 -d /etc/apt/keyrings\n. /etc/os-release\ncurl -fsSL https://download.docker.com/linux/$ID/gpg -o /etc/apt/keyrings/docker.asc\nchmod a+r /etc/apt/keyrings/docker.asc\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$ID $VERSION_CODENAME stable\" > /etc/apt/sources.list.d/docker.list\napt update\napt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n```\n\nСлужба `docker` запускается сама сразу после установки и при каждой перезагрузке сервера.\n\n### AlmaLinux и CentOS Stream\n\nВ документации Docker нет отдельной страницы для AlmaLinux. На AlmaLinux 9 работает репозиторий для CentOS, приведённый ниже.\n\n```bash\ndnf -y install dnf-plugins-core\ndnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\ndnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\nsystemctl enable --now docker\n```\n\n### Проверьте установку\n\n```bash\ndocker run hello-world\ndocker compose version\n```\n\nПервая команда скачивает тестовый образ и выводит «Hello from Docker!». Вторая выводит «Docker Compose version» и номер установленной версии.\n\n## Пользователь без root (необязательно)\n\nЕсли вы работаете под обычным пользователем (созданным по инструкции из статьи [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou)), добавьте его в группу `docker`:\n\n```bash\nusermod -aG docker ИМЯ_ПОЛЬЗОВАТЕЛЯ\n```\n\nВыйдите и снова войдите как `ИМЯ_ПОЛЬЗОВАТЕЛЯ`. После этого команды `docker` работают без `sudo`.\n\n> **Безопасность**\n> Членство в группе `docker` равносильно правам root: участник группы может запустить контейнер, смонтировав в него весь диск сервера, и изменить любой файл. Добавляйте в группу только тех, кому вы доверили бы и root-доступ.\n\n## Ограничьте логи контейнеров\n\nПо умолчанию Docker сохраняет весь вывод контейнера в файлы `*-json.log` в `/var/lib/docker/containers/` без ограничения размера. Контейнер, который много пишет, может заполнить диск. Настройте ротацию логов сразу после установки:\n\n1. Откройте файл настроек. На AlmaLinux и CentOS Stream сначала установите редактор `nano`:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   mkdir -p /etc/docker\n   nano /etc/docker/daemon.json\n   ```\n\n2. Вставьте содержимое ниже. Если в файле уже есть настройки, добавьте два ключа в существующий объект, а не второй блок `{ }`.\n\n   ```json\n   {\n     \"log-driver\": \"json-file\",\n     \"log-opts\": {\n       \"max-size\": \"10m\",\n       \"max-file\": \"3\"\n     }\n   }\n   ```\n\n3. Проверьте файл. Правильный результат — «configuration OK». Если в файле есть ошибка, служба `docker` не запустится, а вместе с ней и контейнеры.\n\n   ```bash\n   dockerd --validate --config-file=/etc/docker/daemon.json\n   ```\n\n4. Перезапустите Docker. Контейнеры ненадолго остановятся; те, у которых задано `restart: unless-stopped` или `restart: always`, запустятся снова сами.\n\n   ```bash\n   systemctl restart docker\n   ```\n\nТеперь каждый контейнер хранит не больше 3 файлов по 10 МБ. Настройка действует только на контейнеры, созданные после изменения: пересоздайте контейнеры проекта Compose из папки проекта, а запущенные через `docker run` удалите и создайте заново.\n\n```bash\ndocker compose up -d --force-recreate\n```\n\n## Порты: что доступно из интернета\n\n- **Сетевой фильтр, которым управляет BLACKBOX,** по умолчанию пропускает только SSH (22), HTTP (80), HTTPS (443) и ping. Контейнер, опубликованный на порту 8080 или 3000, из интернета недоступен. Если нужен другой порт, напишите в поддержку: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n- **Docker обходит файрвол системы.** Для опубликованных портов (`-p` или `ports:`) Docker добавляет собственные правила iptables, которые срабатывают раньше правил ufw: `ufw status` их не показывает, а правило `deny` их не закрывает. На firewalld тоже не рассчитывайте, если нужно скрыть порт, опубликованный Docker.\n\n> **Внимание**\n> Контейнер, опубликованный на порту 80, 443 или на порту, открытом по вашему запросу, доступен из интернета независимо от ufw и firewalld. Базы данных и панели администрирования не публикуйте на всех адресах сервера.\n\nКак публиковать правильно:\n\n1. Публикуйте приложение только на `127.0.0.1` (`\"127.0.0.1:8080:80\"` вместо `\"8080:80\"`) и выводите его наружу через nginx на 80/443 с HTTPS: [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii). Для AlmaLinux и CentOS Stream там же описана нужная настройка SELinux.\n2. Контейнерам, которые общаются только между собой (например, базе данных), `ports:` не нужен: внутри одного проекта Compose они находят друг друга по имени сервиса, например `db`.\n3. Контейнер-прокси (nginx, Caddy, Traefik) можно опубликовать прямо на портах 80 и 443. Тогда не запускайте параллельно nginx или Apache на самом сервере, иначе при старте появится ошибка `address already in use`.\n4. Для более тонкой фильтрации добавляйте правила в цепочку `DOCKER-USER`, как описано в [документации Docker об iptables](https://docs.docker.com/engine/network/firewall-iptables/). Добавленные вручную правила пропадают после перезагрузки, если их не сохранить.\n\n## Первый проект на Docker Compose\n\nВ примере запускается WordPress с базой данных MariaDB. Сайт слушает только `127.0.0.1:8080`, а данные хранятся в именованных томах. Затем вы публикуете его на домене через nginx, как в пункте 1 выше.\n\n1. Создайте папку проекта:\n\n   ```bash\n   mkdir -p /srv/wordpress\n   cd /srv/wordpress\n   ```\n\n2. Создайте файл `.env` с паролем базы данных. Compose читает его автоматически. Используйте в пароле только латинские буквы и цифры: символ `$` в этом файле Compose воспринимает как подстановку переменной.\n\n   ```bash\n   nano .env\n   ```\n\n   ```ini\n   DB_PASSWORD=ДЛИННЫЙ_ПАРОЛЬ\n   ```\n\n   Оставьте доступ к файлу только пользователю `root`:\n\n   ```bash\n   chmod 600 .env\n   ```\n\n3. Создайте файл `compose.yaml`:\n\n   ```bash\n   nano compose.yaml\n   ```\n\n   ```yaml\n   services:\n     db:\n       image: mariadb:11\n       restart: unless-stopped\n       environment:\n         MARIADB_DATABASE: wordpress\n         MARIADB_USER: wordpress\n         MARIADB_PASSWORD: ${DB_PASSWORD}\n         MARIADB_RANDOM_ROOT_PASSWORD: \"1\"\n       volumes:\n         - db-data:/var/lib/mysql\n\n     wordpress:\n       image: wordpress:latest\n       restart: unless-stopped\n       depends_on:\n         - db\n       environment:\n         WORDPRESS_DB_HOST: db\n         WORDPRESS_DB_USER: wordpress\n         WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n         WORDPRESS_DB_NAME: wordpress\n       ports:\n         - \"127.0.0.1:8080:80\"\n       volumes:\n         - wp-data:/var/www/html\n\n   volumes:\n     db-data:\n     wp-data:\n   ```\n\n4. Запустите проект и проверьте его:\n\n   ```bash\n   docker compose up -d\n   docker compose ps\n   curl -I http://127.0.0.1:8080\n   ```\n\n   Ответ, начинающийся с `HTTP/1.1`, означает, что сайт работает. Если сразу после запуска появляется ошибка, подождите несколько секунд: при первом запуске база данных инициализируется.\n\nБлагодаря `restart: unless-stopped` контейнеры сами запускаются после перезагрузки сервера. Команды Compose выполняются из папки проекта:\n\n| Команда | Что делает |\n|---|---|\n| `docker compose up -d` | создаёт и запускает контейнеры в фоне |\n| `docker compose logs -f` | показывает логи в реальном времени; выход — Ctrl+C |\n| `docker compose pull`, затем `docker compose up -d` | скачивает новые образы и пересоздаёт контейнеры, которые их используют |\n| `docker compose down` | останавливает и удаляет контейнеры; тома с данными остаются |\n| `docker compose down -v` | удаляет и тома, то есть все данные проекта |\n\n## Данные: тома и резервные копии\n\nКонтейнеры одноразовые: при обновлении Compose удаляет их и создаёт заново, и всё, что приложение записало вне тома, пропадает. Храните данные:\n\n- в **именованных томах**, как `db-data` и `wp-data` в примере. Docker держит их в `/var/lib/docker/volumes/`, а Compose добавляет к имени название проекта (папки): `wordpress_db-data`;\n- или в **папках сервера, смонтированных в контейнер** (bind mount), например `./uploads:/app/uploads`. Их легко копировать через rsync.\n\nСохраняйте тома и файлы `compose.yaml` и `.env`, а не контейнеры: образы и контейнеры можно пересоздать в любой момент. Для базы данных делайте дамп, а не копируйте файлы работающей базы:\n\n```bash\nmkdir -p /root/backup\ncd /srv/wordpress\ndocker compose exec -T db sh -c 'mariadb-dump -u wordpress -p\"$MARIADB_PASSWORD\" wordpress' > /root/backup/wordpress.sql\n```\n\nУточните точное имя тома и заархивируйте его с помощью временного контейнера:\n\n```bash\ndocker volume ls\ndocker run --rm -v wordpress_wp-data:/data:ro -v /root/backup:/backup alpine tar czf /backup/wp-data.tar.gz -C /data .\n```\n\nBLACKBOX не делает автоматических резервных копий вашего сервера. Переносите копии на другой сервер или во внешнее хранилище: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## Как освободить место, занятое Docker\n\nПосмотрите, сколько занимают образы, контейнеры, тома и кеш сборки и сколько можно освободить (столбец `RECLAIMABLE`):\n\n```bash\ndocker system df\n```\n\n| Команда | Что удаляет |\n|---|---|\n| `docker image prune` | образы без тега (`<none>`), оставшиеся после обновлений |\n| `docker image prune -a` | все образы, которые не использует ни один контейнер |\n| `docker builder prune` | кеш сборки |\n| `docker system prune` | остановленные контейнеры, неиспользуемые сети, образы без тега и кеш сборки |\n| `docker system prune -a` | дополнительно все неиспользуемые образы |\n\nПеред удалением каждая команда запрашивает подтверждение. Если диск уже заполнен, в том числе старыми логами контейнеров, см. [Диск сервера заполнен](#faq.disc-plin).\n\n> **Опасно**\n> `docker system prune` удаляет и остановленные контейнеры: у проекта, остановленного через `docker compose stop`, контейнеры пропадут (пересоздать их можно командой `docker compose up -d`). Не добавляйте `--volumes` и не запускайте `docker volume prune -a`, если не знаете точно, какие тома будут удалены: тома проекта, остановленного через `docker compose down`, считаются неиспользуемыми, и их данные будут потеряны безвозвратно.\n\n## Память на небольших тарифах\n\nКаждый контейнер потребляет память. База данных, приложение и прокси вместе могут превысить память тарифов Basic XS (1 ГБ), Basic S, CPU S и Standard S (2 ГБ): [Тарифы VPS: как выбрать](#comenzi.planuri-vps). Проверьте потребление и не был ли контейнер остановлен из-за нехватки памяти (результат `true` это подтверждает):\n\n```bash\nfree -h\ndocker stats --no-stream\ndocker inspect --format '{{.State.OOMKilled}}' ИМЯ_КОНТЕЙНЕРА\n```\n\nЧто можно сделать:\n\n- добавить swap: [Добавление файла подкачки (swap)](#ghiduri.swap);\n- ограничить память контейнера строкой `mem_limit: 512m` у нужного сервиса в `compose.yaml`;\n- перейти на более мощный тариф: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\nОбразы тоже занимают место: на дисках 20–30 ГБ периодически проверяйте `docker system df`. В семействах CPU и High-Frequency Compute диск после апгрейда не увеличивается.\n\n## Частые вопросы\n\n**Почему контейнеров не видно в панели app.blackbox.md?**\nПанель не показывает контейнеры и не управляет ими на серверах, заказанных на blackbox.md. Управляйте ими по SSH командами `docker` и `docker compose`.\n\n**Контейнер работает, но приложение не открывается из интернета. Почему?**\nЧаще всего приложение опубликовано на порту, отличном от 80 и 443, и его отсекает сетевой фильтр, либо оно опубликовано только на `127.0.0.1`. Опубликуйте его через nginx на 80/443 или попросите поддержку открыть порт. Другие причины: [Сайт не открывается](#faq.site-ul-nu-se-deschide).\n\n**При скачивании образа появляется ошибка `toomanyrequests`. Что делать?**\nDocker Hub ограничивает число скачиваний без учётной записи. Создайте бесплатную учётную запись на Docker Hub, войдите в неё на сервере командой ниже и повторите скачивание.\n\n```bash\ndocker login\n```\n\n**Как обновить Docker?**\nПакеты Docker обновляются вместе с системой через `apt upgrade` или `dnf upgrade`; на Ubuntu и Debian автоматические обновления безопасности их не затрагивают. Во время обновления контейнеры ненадолго останавливаются. Подробнее: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate).\n",
    "en": "Docker runs applications in isolated containers, and Docker Compose starts several containers from a single file. BLACKBOX VPS servers don't come with Docker preinstalled: you install it yourself after you connect to the server over SSH as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). The commands follow the [official Docker documentation](https://docs.docker.com/engine/install/).\n\n**Available to:** anyone with `root` SSH access to a BLACKBOX server running Ubuntu, Debian, AlmaLinux 9 or CentOS Stream 9. The app.blackbox.md panel does not install or manage containers on servers ordered on blackbox.md.\n\n## Before you start\n\n- For each distribution, Docker publishes a list of supported versions. Ubuntu 20.04 and Debian 11 are no longer on that list. For a new server with Docker, choose Ubuntu 24.04 LTS, Ubuntu 22.04 LTS or Debian 12: [Available operating systems](#comenzi.sisteme-operare).\n- If you have a “VPS hosting” plan with a control panel, ask support before you install Docker: the panel's web server usually already uses ports 80 and 443. See [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\n## Installing Docker Engine and the Compose plugin\n\nThe `docker-compose-plugin` package provides the `docker compose` command (with a space). The old `docker-compose` command (with a hyphen) is no longer needed.\n\n### Ubuntu and Debian\n\nRun the commands in the same session. `. /etc/os-release` reads the distribution name (`ubuntu` or `debian`) and the version codename (for example `noble` or `bookworm`), so the block is the same on both systems.\n\n```bash\napt update\napt install -y ca-certificates curl\ninstall -m 0755 -d /etc/apt/keyrings\n. /etc/os-release\ncurl -fsSL https://download.docker.com/linux/$ID/gpg -o /etc/apt/keyrings/docker.asc\nchmod a+r /etc/apt/keyrings/docker.asc\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$ID $VERSION_CODENAME stable\" > /etc/apt/sources.list.d/docker.list\napt update\napt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n```\n\nThe `docker` service starts on its own after installation and every time the server restarts.\n\n### AlmaLinux and CentOS Stream\n\nThe Docker documentation has no page for AlmaLinux. On AlmaLinux 9, the CentOS repository below works.\n\n```bash\ndnf -y install dnf-plugins-core\ndnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo\ndnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\nsystemctl enable --now docker\n```\n\n### Check the installation\n\n```bash\ndocker run hello-world\ndocker compose version\n```\n\nThe first command downloads a test image and prints “Hello from Docker!”. The second prints “Docker Compose version”, followed by the installed version number.\n\n## A non-root user (optional)\n\nIf you work as a regular user (created as described in [Securing a new server: checklist](#ghiduri.securizare-server-nou)), add that user to the `docker` group:\n\n```bash\nusermod -aG docker USERNAME\n```\n\nLog out and log back in as `USERNAME`. The `docker` commands then work without `sudo`.\n\n> **Security**\n> Membership in the `docker` group is equivalent to root access: a group member can start a container with the server's entire disk mounted and change any file. Add to the group only users you would also give root access to.\n\n## Limit container logs\n\nBy default, Docker keeps everything a container outputs, in `*-json.log` files in `/var/lib/docker/containers/`, with no size limit. A container that writes a lot can fill the disk. Set up log rotation right after installation:\n\n1. Open the configuration file. On AlmaLinux and CentOS Stream, install the `nano` editor first:\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   mkdir -p /etc/docker\n   nano /etc/docker/daemon.json\n   ```\n\n2. Enter the content below. If the file already has settings, add the two keys to the existing object instead of adding a second `{ }` block.\n\n   ```json\n   {\n     \"log-driver\": \"json-file\",\n     \"log-opts\": {\n       \"max-size\": \"10m\",\n       \"max-file\": \"3\"\n     }\n   }\n   ```\n\n3. Check the file. The correct result is “configuration OK”. If the file contains a mistake, the `docker` service won't start, and neither will the containers.\n\n   ```bash\n   dockerd --validate --config-file=/etc/docker/daemon.json\n   ```\n\n4. Restart Docker. The containers stop briefly; those with `restart: unless-stopped` or `restart: always` start again on their own.\n\n   ```bash\n   systemctl restart docker\n   ```\n\nEach container then keeps at most 3 files of 10 MB each. The setting applies only to containers created after the change: recreate a Compose project's containers from the project folder, and delete and recreate the ones you started with `docker run`.\n\n```bash\ndocker compose up -d --force-recreate\n```\n\n## Ports: what reaches the internet\n\n- **The network filter managed by BLACKBOX** lets through only SSH (22), HTTP (80), HTTPS (443) and ping by default. A container published on 8080 or 3000 is not reachable from the internet. For another port, write to support: [How to contact BLACKBOX support](#suport.contact).\n- **Docker bypasses the system firewall.** For published ports (`-p` or `ports:`), Docker writes its own iptables rules, which are applied before the ufw rules: `ufw status` doesn't show them, and a `deny` rule doesn't close them. Don't rely on firewalld to hide a port published by Docker either.\n\n> **Warning**\n> A container published on 80, on 443 or on a port opened at your request is reachable from the internet regardless of ufw or firewalld. Don't publish databases or admin panels on all of the server's addresses.\n\nHow to publish correctly:\n\n1. Publish the application only on `127.0.0.1` (`\"127.0.0.1:8080:80\"` instead of `\"8080:80\"`) and expose it through nginx on 80/443, with HTTPS: [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii). For AlmaLinux and CentOS Stream, that guide also shows the SELinux setting you need.\n2. Containers that only talk to each other (for example, the database) don't need `ports:`: within the same Compose project, they find each other by service name, for example `db`.\n3. A proxy container (nginx, Caddy, Traefik) can be published directly on 80 and 443. In that case, don't also run nginx or Apache on the server itself, or startup fails with the error `address already in use`.\n4. For advanced filtering, add rules to the `DOCKER-USER` chain, following the [Docker documentation on iptables](https://docs.docker.com/engine/network/firewall-iptables/). Rules you add manually are lost on reboot unless you save them.\n\n## Your first Docker Compose project\n\nThe example starts WordPress with a MariaDB database. The site listens only on `127.0.0.1:8080`, and the data is kept in named volumes. You then publish it on your domain through nginx, as in step 1 above.\n\n1. Create the project folder:\n\n   ```bash\n   mkdir -p /srv/wordpress\n   cd /srv/wordpress\n   ```\n\n2. Create the `.env` file with the database password. Compose reads it automatically. Use only unaccented Latin letters and digits in the password: Compose treats the `$` character in this file as a variable.\n\n   ```bash\n   nano .env\n   ```\n\n   ```ini\n   DB_PASSWORD=A_LONG_PASSWORD\n   ```\n\n   Restrict access to the file to the `root` user:\n\n   ```bash\n   chmod 600 .env\n   ```\n\n3. Create the `compose.yaml` file:\n\n   ```bash\n   nano compose.yaml\n   ```\n\n   ```yaml\n   services:\n     db:\n       image: mariadb:11\n       restart: unless-stopped\n       environment:\n         MARIADB_DATABASE: wordpress\n         MARIADB_USER: wordpress\n         MARIADB_PASSWORD: ${DB_PASSWORD}\n         MARIADB_RANDOM_ROOT_PASSWORD: \"1\"\n       volumes:\n         - db-data:/var/lib/mysql\n\n     wordpress:\n       image: wordpress:latest\n       restart: unless-stopped\n       depends_on:\n         - db\n       environment:\n         WORDPRESS_DB_HOST: db\n         WORDPRESS_DB_USER: wordpress\n         WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}\n         WORDPRESS_DB_NAME: wordpress\n       ports:\n         - \"127.0.0.1:8080:80\"\n       volumes:\n         - wp-data:/var/www/html\n\n   volumes:\n     db-data:\n     wp-data:\n   ```\n\n4. Start the project and check it:\n\n   ```bash\n   docker compose up -d\n   docker compose ps\n   curl -I http://127.0.0.1:8080\n   ```\n\n   A response that starts with `HTTP/1.1` means the site is running. If you get an error right after startup, wait a few seconds: on the first start, the database is being initialized.\n\nWith `restart: unless-stopped`, the containers start on their own after the server restarts. Run Compose commands from the project folder:\n\n| Command | What it does |\n|---|---|\n| `docker compose up -d` | creates and starts the containers in the background |\n| `docker compose logs -f` | follows the logs; exit with Ctrl+C |\n| `docker compose pull`, then `docker compose up -d` | downloads the new images and recreates the containers that use them |\n| `docker compose down` | stops and deletes the containers; the data volumes remain |\n| `docker compose down -v` | also deletes the volumes, that is, all of the project's data |\n\n## Data: volumes and backups\n\nContainers are disposable: when you update, Compose deletes and recreates them, and anything the application wrote outside a volume is lost. Keep your data:\n\n- in **named volumes**, such as `db-data` and `wp-data` in the example. Docker stores them in `/var/lib/docker/volumes/`, and Compose adds the project (folder) name in front: `wordpress_db-data`;\n- or in **server folders mounted into the container** (bind mounts), for example `./uploads:/app/uploads`, which you can easily copy with rsync.\n\nBack up the volumes and the `compose.yaml` and `.env` files, not the containers: images and containers can be recreated at any time. For the database, make a dump instead of copying the files of a running database:\n\n```bash\nmkdir -p /root/backup\ncd /srv/wordpress\ndocker compose exec -T db sh -c 'mariadb-dump -u wordpress -p\"$MARIADB_PASSWORD\" wordpress' > /root/backup/wordpress.sql\n```\n\nFind the exact name of the volume, then archive it with a temporary container:\n\n```bash\ndocker volume ls\ndocker run --rm -v wordpress_wp-data:/data:ro -v /root/backup:/backup alpine tar czf /backup/wp-data.tar.gz -C /data .\n```\n\nBLACKBOX does not make automatic backups of your server. Move the copies to another server or to external storage: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## Freeing up space used by Docker\n\nSee how much space images, containers, volumes and the build cache take up, and how much can be freed (the `RECLAIMABLE` column):\n\n```bash\ndocker system df\n```\n\n| Command | What it deletes |\n|---|---|\n| `docker image prune` | untagged images (`<none>`) left over after updates |\n| `docker image prune -a` | all images that no container uses |\n| `docker builder prune` | the build cache |\n| `docker system prune` | stopped containers, unused networks, untagged images and the build cache |\n| `docker system prune -a` | in addition, all unused images |\n\nEach command asks for confirmation before deleting anything. If the disk is already full, including because of old container logs, see [The server's disk is full](#faq.disc-plin).\n\n> **Risk**\n> `docker system prune` also deletes stopped containers: a project stopped with `docker compose stop` loses its containers (you recreate them with `docker compose up -d`). Don't add `--volumes` and don't run `docker volume prune -a` unless you know exactly which volumes will be deleted: the volumes of a project stopped with `docker compose down` count as unused, and their data is lost permanently.\n\n## Memory on small plans\n\nEvery container uses memory. A database, an application and a proxy together can exceed the memory of the Basic XS (1 GB), Basic S, CPU S and Standard S (2 GB) plans: [VPS plans: how to choose](#comenzi.planuri-vps). Check memory use, and whether a container was stopped for lack of memory (a `true` result confirms it):\n\n```bash\nfree -h\ndocker stats --no-stream\ndocker inspect --format '{{.State.OOMKilled}}' CONTAINER_NAME\n```\n\nWhat you can do:\n\n- add swap space: [Adding swap space](#ghiduri.swap);\n- limit a container's memory with the line `mem_limit: 512m` under that service in `compose.yaml`;\n- move to a larger plan: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\nImages take up space too: on 20–30 GB disks, check `docker system df` regularly. In the CPU and High-Frequency Compute families, the disk stays the same even after an upgrade.\n\n## Frequently asked questions\n\n**Why don't I see my containers in the app.blackbox.md panel?**\nThe panel does not show or manage containers on servers ordered on blackbox.md. You manage them over SSH, with `docker` and `docker compose`.\n\n**The container is running, but the application doesn't open from the internet. Why?**\nMost often, the application is published either on a port other than 80 or 443, which the network filter blocks, or only on `127.0.0.1`. Publish it through nginx on 80/443, or ask support to open the port. Other causes: [The site does not open](#faq.site-ul-nu-se-deschide).\n\n**I get the `toomanyrequests` error when downloading an image. What do I do?**\nDocker Hub limits downloads without an account. Create a free Docker Hub account, sign in on the server with the command below, and try the download again.\n\n```bash\ndocker login\n```\n\n**How do I update Docker?**\nDocker packages are updated along with the system, with `apt upgrade` or `dnf upgrade`; on Ubuntu and Debian, automatic security updates don't include them. During the update, the containers stop briefly. Details: [System updates and automatic security updates](#ghiduri.actualizari-automate).\n"
   }
  },
  {
   "id": "ghiduri.reverse-proxy-aplicatii",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/reverse-proxy-aplicatii/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/reverse-proxy-aplicatii/",
    "en": "https://docs.blackbox.md/en/ghiduri/reverse-proxy-aplicatii/"
   },
   "title": {
    "ro": "Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy",
    "ru": "Приложения Node.js, Python и другие сервисы: nginx как обратный прокси",
    "en": "Node.js, Python and other services: nginx as a reverse proxy"
   },
   "summary": {
    "ro": "Cum publicați pe 80/443, cu HTTPS, o aplicație care ascultă pe un port intern (3000, 8000) și cum o porniți automat cu systemd.",
    "ru": "Как опубликовать на 80/443 с HTTPS приложение, слушающее внутренний порт (3000, 8000), и запускать его автоматически через systemd.",
    "en": "How to publish an application that listens on an internal port (3000, 8000) on 80/443 with HTTPS, and how to start it automatically with systemd."
   },
   "markdown": {
    "ro": "Acest ghid vă arată cum publicați pe porturile 80 și 443, cu HTTPS, o aplicație care ascultă pe un port intern: de exemplu Node.js pe 3000 sau Python (gunicorn, uvicorn) pe 8000. Aplicația rulează ca serviciu systemd, iar nginx primește cererile din internet și le transmite aplicației. Lucrați în terminalul serverului, conectat prin SSH ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Adresa IP a serverului este pe cardul din pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`). Panoul nu are setări pentru aplicații, servere web sau porturi.\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX cu Ubuntu 24.04, 22.04 sau 20.04, Debian 12 sau 11, AlmaLinux 9 ori CentOS Stream 9.\n\nÎn exemple, aplicația se numește `myapp`, stă în `/srv/myapp` și ascultă pe portul 3000. Înlocuiți aceste valori și `DOMENIU` (domeniul dvs., fără `www`) cu ale dvs.\n\n## De ce nginx în fața aplicației\n\nTraficul care intră pe server trece prin filtrarea din rețea, administrată de BLACKBOX. Pe un server nou, ea lasă să treacă doar SSH (22), HTTP (80), HTTPS (443) și ping. O aplicație care ascultă pe portul 3000, 8000 sau 8080 nu este accesibilă din internet, chiar dacă portul este permis în `ufw` sau `firewalld`. În loc să cereți deschiderea altor porturi, publicați aplicația prin nginx:\n\n```text\nvizitator ── HTTPS (443) ──> nginx ── HTTP ──> 127.0.0.1:3000 (aplicația)\n```\n\n- Aplicația ascultă doar pe `127.0.0.1`, deci nu poate fi accesată direct din internet.\n- nginx se ocupă de HTTPS: certificatul Let's Encrypt se obține și se reînnoiește automat cu certbot.\n- Pe același server pot rula mai multe aplicații, fiecare pe domeniul sau subdomeniul ei, toate pe 80 și 443.\n\n## Înainte de a începe\n\n| Condiție | Detalii |\n|---|---|\n| Domeniul indică serverul | înregistrarea A pentru `DOMENIU` (și pentru `www.DOMENIU`, dacă îl folosiți) are valoarea `IP_SERVER`: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu) |\n| Aplicația pornește | dependențele sunt instalate, iar aplicația pornește manual, din terminal, fără erori |\n| Porturile 80 și 443 sunt libere | niciun alt server web nu ascultă pe ele |\n\nDacă aveți un plan „VPS hosting”, nu instalați nginx înainte să întrebați suportul: un panou de control instalat pe server folosește propriul server web pe porturile 80 și 443. Suportul vă spune cum publicați aplicația: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\nInstalați nginx, dacă nu este deja instalat. Ubuntu și Debian:\n\n```bash\napt update\napt install -y nginx\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y nginx\nsystemctl enable --now nginx\n```\n\nDetalii despre instalarea nginx: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Pasul 1. Aplicația ascultă doar pe 127.0.0.1\n\nConfigurați aplicația să asculte pe `127.0.0.1` (doar conexiuni de pe server), nu pe `0.0.0.0` (toate adresele). Scrieți `127.0.0.1`, nu `localhost`: pe unele sisteme `localhost` înseamnă adresa IPv6 `::1`, iar nginx nu mai găsește aplicația.\n\n| Aplicația | Cum ascultă pe 127.0.0.1 |\n|---|---|\n| Node.js (`http`, Express) | în cod: `app.listen(3000, \"127.0.0.1\")` (Express) sau `server.listen(3000, \"127.0.0.1\")` (`http`) |\n| Python cu gunicorn (Django, Flask) | opțiunea `--bind 127.0.0.1:8000` |\n| Python cu uvicorn (FastAPI) | opțiunile `--host 127.0.0.1 --port 8000` |\n| Container Docker | `-p 127.0.0.1:3000:3000` la `docker run` sau `\"127.0.0.1:3000:3000\"` la `ports:` în Docker Compose |\n\nVerificați după pornirea aplicației. În rezultat trebuie să apară `127.0.0.1:3000`; `0.0.0.0:3000` sau `*:3000` înseamnă că aplicația ascultă pe toate adresele.\n\n```bash\nss -tlnp | grep ':3000'\n```\n\n> **Atenție**\n> Docker ocolește firewall-ul din sistem: un port publicat cu `-p 3000:3000`, fără `127.0.0.1`, nu poate fi închis cu `ufw` sau `firewalld`. Publicați containerele doar pe `127.0.0.1`: [Instalarea Docker și Docker Compose](#ghiduri.docker).\n\n## Pasul 2. Pornirea automată cu systemd\n\nsystemd pornește aplicația odată cu serverul și o repornește dacă se oprește cu eroare. Dacă aplicația rulează într-un container Docker cu `restart: unless-stopped`, treceți direct la pasul 3.\n\n1. Creați un utilizator separat, fără drept de autentificare. Nu rulați aplicația ca `root`: dacă aplicația este compromisă, atacatorul ar controla tot serverul.\n\n   ```bash\n   useradd --system --create-home --home-dir /srv/myapp --shell /usr/sbin/nologin myapp\n   ```\n\n2. Copiați fișierele aplicației în `/srv/myapp` ([Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)) și instalați dependențele. Pentru Python, creați un mediu virtual. Pe Ubuntu și Debian, instalați întâi pachetul `python3-venv`; pe AlmaLinux și CentOS Stream modulul este deja inclus.\n\n   ```bash\n   apt install -y python3-venv\n   ```\n\n   ```bash\n   python3 -m venv /srv/myapp/venv\n   /srv/myapp/venv/bin/pip install -r /srv/myapp/requirements.txt gunicorn\n   ```\n\n   Pentru FastAPI, instalați `uvicorn` în loc de `gunicorn`.\n\n3. Faceți utilizatorul `myapp` proprietarul fișierelor:\n\n   ```bash\n   chown -R myapp:myapp /srv/myapp\n   ```\n\n4. Puneți variabilele de mediu și secretele (parole, chei API) într-un fișier separat. Pe AlmaLinux și CentOS Stream, dacă editorul `nano` lipsește, instalați-l întâi.\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   nano /etc/myapp.env\n   ```\n\n   Scrieți câte o variabilă pe fiecare rând, în forma `NUME=valoare`, fără `export`. Numele variabilelor depind de aplicația dvs.; de exemplu:\n\n   ```ini\n   NODE_ENV=production\n   DATABASE_URL=postgresql://myapp:PAROLA@127.0.0.1:5432/myapp\n   SECRET_KEY=VALOARE_SECRETA\n   ```\n\n   Lăsați fișierul accesibil doar pentru `root`. systemd îl citește înainte să pornească aplicația și îi transmite variabilele.\n\n   ```bash\n   chmod 600 /etc/myapp.env\n   ```\n\n5. Creați fișierul serviciului:\n\n   ```bash\n   nano /etc/systemd/system/myapp.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=myapp\n   After=network.target\n\n   [Service]\n   User=myapp\n   Group=myapp\n   WorkingDirectory=/srv/myapp\n   EnvironmentFile=/etc/myapp.env\n   ExecStart=/usr/bin/node /srv/myapp/server.js\n   Restart=on-failure\n   RestartSec=5\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   În linia `ExecStart` scrieți calea completă a programului. Pentru Node.js o aflați cu `command -v node`. Exemple pentru alte aplicații (înlocuiți `proiect.wsgi`, `app:app` și `main:app` cu modulul aplicației dvs.):\n\n   | Aplicația | `ExecStart=` |\n   |---|---|\n   | Node.js | `/usr/bin/node /srv/myapp/server.js` |\n   | Django cu gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 proiect.wsgi:application` |\n   | Flask cu gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 app:app` |\n   | FastAPI cu uvicorn | `/srv/myapp/venv/bin/python -m uvicorn main:app --host 127.0.0.1 --port 8000` |\n\n6. Încărcați serviciul nou, activați-l (pornește și după repornirea serverului) și verificați-l. În `systemctl status` trebuie să apară `active (running)`.\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now myapp\n   systemctl status myapp\n   ```\n\n7. Urmăriți jurnalul aplicației în timp real; ieșiți cu Ctrl+C.\n\n   ```bash\n   journalctl -u myapp -f\n   ```\n\nDupă modificări:\n\n```bash\n# după actualizarea codului aplicației\nsystemctl restart myapp\n# după modificarea fișierului myapp.service\nsystemctl daemon-reload\nsystemctl restart myapp\n```\n\n> **Securitate**\n> Nu scrieți parole sau chei direct în fișierul serviciului (`Environment=`): fișierul serviciului și comanda `systemctl show` pot fi citite de orice utilizator al serverului. Țineți secretele în fișierul cu `chmod 600`.\n\n## Pasul 3. Configurarea nginx\n\n1. Creați o singură dată pe server fișierul pentru WebSockets, oricâte aplicații aveți:\n\n   ```bash\n   nano /etc/nginx/conf.d/connection-upgrade.conf\n   ```\n\n   ```nginx\n   map $http_upgrade $connection_upgrade {\n       default upgrade;\n       ''      close;\n   }\n   ```\n\n2. Creați fișierul site-ului: pe Ubuntu și Debian `/etc/nginx/sites-available/DOMENIU`, pe AlmaLinux și CentOS Stream `/etc/nginx/conf.d/DOMENIU.conf`. Conținutul este același:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMENIU www.DOMENIU;\n\n       client_max_body_size 20m;\n\n       location / {\n           proxy_pass http://127.0.0.1:3000;\n           proxy_http_version 1.1;\n\n           proxy_set_header Host $host;\n           proxy_set_header X-Real-IP $remote_addr;\n           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n           proxy_set_header X-Forwarded-Proto $scheme;\n\n           proxy_set_header Upgrade $http_upgrade;\n           proxy_set_header Connection $connection_upgrade;\n       }\n   }\n   ```\n\n3. Doar pe Ubuntu și Debian, activați site-ul:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMENIU /etc/nginx/sites-enabled/\n   ```\n\n4. Verificați configurația și reîncărcați nginx. `nginx -t` trebuie să afișeze „syntax is ok” și „test is successful”; altfel corectați fișierul înainte de reîncărcare.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n5. Deschideți `http://DOMENIU` în browser: trebuie să răspundă aplicația. Pe AlmaLinux și CentOS Stream faceți întâi pasul 4.\n\n| Directivă | Rol |\n|---|---|\n| `proxy_pass` | adresa și portul aplicației; trebuie să coincidă cu cele din pasul 1 (pentru gunicorn sau uvicorn din exemple, `http://127.0.0.1:8000`) |\n| `Host` | aplicația primește domeniul cerut de vizitator, nu `127.0.0.1:3000` |\n| `X-Real-IP`, `X-Forwarded-For` | adresa reală a vizitatorului; fără ele aplicația vede toate cererile venind de la `127.0.0.1` |\n| `X-Forwarded-Proto` | `http` sau `https`, după cum a ajuns cererea la nginx |\n| `proxy_http_version 1.1`, `Upgrade`, `Connection` | necesare pentru WebSockets (chat, notificări în timp real) |\n| `client_max_body_size` | mărimea maximă a unei cereri, de exemplu a unui fișier încărcat; implicit nginx acceptă 1 MB |\n\n## Pasul 4. SELinux și firewall-ul din sistem\n\n### AlmaLinux și CentOS Stream: SELinux\n\nImplicit, SELinux nu permite ca nginx să se conecteze la aplicații pe porturi precum 3000 sau 8000. Fără setarea de mai jos, site-ul răspunde `502 Bad Gateway`, iar în `/var/log/nginx/error.log` apare „(13: Permission denied) while connecting to upstream”. Permiteți conexiunea; `-P` păstrează setarea după repornire.\n\n```bash\nsetsebool -P httpd_can_network_connect 1\ngetsebool httpd_can_network_connect\n```\n\nA doua comandă trebuie să afișeze `httpd_can_network_connect --> on`.\n\n### Firewall-ul din sistem\n\nPe un server nou, `ufw` și `firewalld` sunt inactive sau nu sunt instalate. Dacă ați activat firewall-ul, permiteți HTTP și HTTPS. Portul aplicației (3000) nu trebuie permis: nginx se conectează la aplicație local.\n\nUbuntu și Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nAlmaLinux și CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC: serverul se administrează doar prin SSH. Nu activați firewall-ul doar pentru acest ghid. Dacă îl activați, permiteți întâi SSH (portul 22) și păstrați o a doua sesiune SSH deschisă: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## Pasul 5. HTTPS cu Let's Encrypt\n\n1. Instalați certbot cu pluginul nginx, ca în [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n2. Obțineți certificatul:\n\n   ```bash\n   certbot --nginx -d DOMENIU -d www.DOMENIU\n   ```\n\n3. certbot adaugă în fișierul site-ului configurarea pentru portul 443, cu certificatul, și redirecționarea de la HTTP la HTTPS. Liniile `proxy_*` rămân neschimbate, iar certificatul se reînnoiește automat.\n4. Deschideți `https://DOMENIU` și verificați lacătul din browser.\n\n### Aplicația trebuie să știe că rulează pe HTTPS\n\nÎntre nginx și aplicație traficul rămâne HTTP. Dacă aplicația nu ține cont de antetul `X-Forwarded-Proto`, crede că rulează pe HTTP: generează linkuri și redirecționări `http://`, cookie-urile marcate „secure” nu funcționează, iar uneori apare o buclă de redirecționări. Setați aplicația să aibă încredere în antetele trimise de nginx de pe `127.0.0.1`:\n\n| Aplicația | Setarea |\n|---|---|\n| Express (Node.js) | `app.set(\"trust proxy\", \"loopback\")` |\n| Django | în `settings.py`: `SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")`; adăugați domeniul și în `ALLOWED_HOSTS` |\n| Flask | `app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1)`, cu `from werkzeug.middleware.proxy_fix import ProxyFix` |\n| FastAPI cu uvicorn | nimic de schimbat: uvicorn citește implicit antetele venite de la `127.0.0.1` (opțiunile `--proxy-headers` și `--forwarded-allow-ips`) |\n\nÎn Express, Flask și uvicorn, aceeași setare face ca aplicația să vadă adresa reală a vizitatorului. În Django, adresa reală este în antetul `X-Real-IP`, disponibil în cod ca `request.META[\"HTTP_X_REAL_IP\"]`.\n\n## Mai multe aplicații pe același server\n\nFiecare aplicație are serviciul ei systemd, propriul port intern și un bloc `server` separat în nginx, cu domeniul sau subdomeniul ei:\n\n| Adresă | Serviciu systemd | `proxy_pass` |\n|---|---|---|\n| `DOMENIU`, `www.DOMENIU` | `myapp` | `http://127.0.0.1:3000` |\n| `api.DOMENIU` | `myapi` | `http://127.0.0.1:8000` |\n\n1. Creați înregistrarea A pentru subdomeniu (`api` → `IP_SERVER`).\n2. Creați un fișier nou pentru subdomeniu: `/etc/nginx/sites-available/api.DOMENIU` pe Ubuntu și Debian, `/etc/nginx/conf.d/api.DOMENIU.conf` pe AlmaLinux și CentOS Stream. Puneți în el blocul din pasul 3, cu `server_name api.DOMENIU;` și `proxy_pass http://127.0.0.1:8000;`. Nu copiați fișierul primului site după ce certbot l-a modificat: ar conține certificatul celuilalt domeniu. Fișierul `connection-upgrade.conf` este comun și nu se repetă.\n3. Pe Ubuntu și Debian, activați site-ul, ca la pasul 3:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/api.DOMENIU /etc/nginx/sites-enabled/\n   ```\n\n4. Verificați configurația, reîncărcați nginx și obțineți certificatul:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   certbot --nginx -d api.DOMENIU\n   ```\n\n## Un serviciu care are nevoie de alt port public\n\nPrin nginx publicați aplicații web: HTTP, HTTPS și WebSockets. Un serviciu cu protocol propriu (un server de jocuri, un broker MQTT, un serviciu TCP sau UDP propriu) are nevoie de un port public separat, pe care filtrarea din rețea îl oprește implicit. Înainte să instalați un astfel de serviciu, scrieți suportului adresa IP a serverului, numărul comenzii (`BBX-…`), portul, protocolul (TCP sau UDP) și pentru ce vă trebuie: [Cum contactați suportul BLACKBOX](#suport.contact). Cum funcționează filtrarea: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\nPentru bazele de date nu cereți porturi publice: conectați-vă printr-un tunel SSH ([Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date)).\n\n## Probleme frecvente\n\nErorile nginx sunt în `/var/log/nginx/error.log`. Afișați ultimele rânduri:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\n```\n\n| Ce vedeți | Cauza probabilă | Ce faceți |\n|---|---|---|\n| `502 Bad Gateway`; în `error.log`: „connect() failed (111: Connection refused) while connecting to upstream” | aplicația nu rulează sau ascultă pe alt port ori altă adresă decât cea din `proxy_pass` | verificați cu `systemctl status myapp`, `ss -tlnp` și `journalctl -u myapp -n 50`; corectați portul în aplicație sau în `proxy_pass` |\n| `502 Bad Gateway` pe AlmaLinux sau CentOS Stream; în `error.log`: „(13: Permission denied)” | SELinux blochează conexiunea | `setsebool -P httpd_can_network_connect 1` (pasul 4) |\n| `504 Gateway Time-out`; în `error.log`: „upstream timed out (110: Connection timed out)” | aplicația răspunde în mai mult de 60 de secunde, limita implicită a nginx | accelerați operația (de exemplu, mutați-o într-o sarcină de fundal) sau adăugați `proxy_read_timeout 300s;` în `location /`, apoi `nginx -t` și reîncărcați nginx |\n| `413 Request Entity Too Large` la încărcarea unui fișier | cererea depășește `client_max_body_size` | măriți valoarea (de exemplu `100m`), apoi `nginx -t` și reîncărcați nginx |\n| După activarea HTTPS, aplicația redirecționează la `http://` sau intră într-o buclă de redirecționări | aplicația nu ține cont de `X-Forwarded-Proto` | setarea din tabelul de la pasul 5 |\n| În jurnalele aplicației toți vizitatorii au adresa `127.0.0.1` | aplicația nu citește `X-Real-IP` sau `X-Forwarded-For` | setarea de la pasul 5; în Django, citiți antetul `X-Real-IP` |\n| WebSocket-ul nu se conectează sau se închide după un minut fără trafic | lipsesc antetele `Upgrade` și `Connection` sau a expirat `proxy_read_timeout` | verificați fișierul `connection-upgrade.conf` și liniile WebSocket din pasul 3; trimiteți ping-uri din aplicație sau măriți `proxy_read_timeout` |\n| `systemctl status myapp` arată `status=203/EXEC`, `status=200/CHDIR` sau `status=217/USER` | programul din `ExecStart`, folderul din `WorkingDirectory` sau utilizatorul din `User=` nu există ori nu este accesibil | verificați calea cu `command -v node` sau `ls -l`; Node.js instalat cu nvm în `/root` nu poate fi rulat de utilizatorul `myapp`, instalați-l la nivel de sistem |\n| Django răspunde `400 Bad Request` | domeniul lipsește din `ALLOWED_HOSTS` | adăugați `DOMENIU` și `www.DOMENIU`, apoi reporniți serviciul |\n| `http://IP_SERVER:3000` nu se deschide din browser | aplicația ascultă pe `127.0.0.1`, iar filtrarea din rețea oprește portul 3000 | este comportamentul dorit: deschideți aplicația la `https://DOMENIU` |\n\nAlte cauze pentru un site care nu se deschide: [Site-ul nu se deschide](#faq.site-ul-nu-se-deschide).\n\n## Întrebări frecvente\n\n**Pot folosi Apache în loc de nginx?**\nDa, cu modulele `proxy` și `proxy_http` ale Apache și directiva `ProxyPass`. Pe AlmaLinux și CentOS Stream este necesară aceeași setare SELinux `httpd_can_network_connect`. Acest ghid descrie doar nginx.\n\n**Pot folosi PM2 în loc de systemd?**\nDa. PM2 pornește aplicațiile Node.js după repornirea serverului prin propriul serviciu systemd, creat cu `pm2 startup`. Nu porniți aceeași aplicație și cu PM2, și cu serviciul din acest ghid: a doua instanță nu poate folosi același port.\n\n**Aplicația pornește singură după ce apăsați „Repornește” în panou?**\nDa, dacă serviciul a fost activat cu `systemctl enable --now` (pasul 2). Comanda de mai jos trebuie să afișeze `enabled`. Despre repornire: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n\n```bash\nsystemctl is-enabled myapp\n```\n\n**Poate asistentul AI să facă această configurare?**\nDa, dacă token-ul lui are permisiunile „Rulează orice comandă ca root pe serverele mele” (`servers:exec`) și „Citește lista și statusul serverelor mele” (`servers:read`). Vedeți [Exemple de sarcini pentru asistentul AI și permisiunile necesare](#ai.exemple-sarcini).\n",
    "ru": "Это руководство показывает, как опубликовать на портах 80 и 443 с HTTPS приложение, которое слушает внутренний порт: например, Node.js на 3000 или Python (gunicorn, uvicorn) на 8000. Приложение работает как служба systemd, а nginx принимает запросы из интернета и передаёт их приложению. Вы работаете в терминале сервера, подключившись по SSH под пользователем `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). IP-адрес сервера указан в карточке на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`). Настроек для приложений, веб-серверов или портов в панели нет.\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX с Ubuntu 24.04, 22.04 или 20.04, Debian 12 или 11, AlmaLinux 9 либо CentOS Stream 9.\n\nВ примерах приложение называется `myapp`, лежит в `/srv/myapp` и слушает порт 3000. Замените эти значения и `ДОМЕН` (ваш домен без `www`) на свои.\n\n## Зачем ставить nginx перед приложением\n\nВходящий трафик к серверу проходит через сетевую фильтрацию, которой управляет BLACKBOX. На новом сервере она пропускает только SSH (22), HTTP (80), HTTPS (443) и ping. Приложение, которое слушает порт 3000, 8000 или 8080, недоступно из интернета, даже если порт разрешён в `ufw` или `firewalld`. Вместо того чтобы просить открыть дополнительные порты, опубликуйте приложение через nginx:\n\n```text\nпосетитель ── HTTPS (443) ──> nginx ── HTTP ──> 127.0.0.1:3000 (приложение)\n```\n\n- Приложение слушает только `127.0.0.1`, поэтому напрямую из интернета к нему не подключиться.\n- HTTPS берёт на себя nginx: сертификат Let's Encrypt выпускается и продлевается автоматически с помощью certbot.\n- На одном сервере можно запустить несколько приложений, каждое на своём домене или поддомене, и все они будут работать на 80 и 443.\n\n## Перед началом\n\n| Условие | Подробности |\n|---|---|\n| Домен указывает на сервер | A-запись для `ДОМЕН` (и для `www.ДОМЕН`, если он нужен) указывает на `IP_СЕРВЕРА`: [Как направить домен на сервер](#domenii.indreptare-domeniu) |\n| Приложение запускается | зависимости установлены, а приложение запускается вручную из терминала без ошибок |\n| Порты 80 и 443 свободны | их не слушает другой веб-сервер |\n\nЕсли у вас тариф «VPS hosting», не устанавливайте nginx, не посоветовавшись с поддержкой: панель управления, установленная на сервере, использует собственный веб-сервер на портах 80 и 443. В поддержке подскажут, как опубликовать приложение: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\nУстановите nginx, если его ещё нет. Ubuntu и Debian:\n\n```bash\napt update\napt install -y nginx\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y nginx\nsystemctl enable --now nginx\n```\n\nПодробнее об установке nginx: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Шаг 1. Приложение слушает только 127.0.0.1\n\nНастройте приложение так, чтобы оно слушало `127.0.0.1` (только подключения с самого сервера), а не `0.0.0.0` (все адреса). Пишите именно `127.0.0.1`, а не `localhost`: в некоторых системах `localhost` означает IPv6-адрес `::1`, и nginx не найдёт приложение.\n\n| Приложение | Как слушать 127.0.0.1 |\n|---|---|\n| Node.js (`http`, Express) | в коде: `app.listen(3000, \"127.0.0.1\")` (Express) или `server.listen(3000, \"127.0.0.1\")` (`http`) |\n| Python с gunicorn (Django, Flask) | параметр `--bind 127.0.0.1:8000` |\n| Python с uvicorn (FastAPI) | параметры `--host 127.0.0.1 --port 8000` |\n| Контейнер Docker | `-p 127.0.0.1:3000:3000` в `docker run` или `\"127.0.0.1:3000:3000\"` в `ports:` в Docker Compose |\n\nПроверьте после запуска приложения. В выводе должно быть `127.0.0.1:3000`; `0.0.0.0:3000` или `*:3000` означает, что приложение слушает все адреса.\n\n```bash\nss -tlnp | grep ':3000'\n```\n\n> **Внимание**\n> Docker обходит файрвол системы: порт, опубликованный как `-p 3000:3000` (без `127.0.0.1`), нельзя закрыть с помощью `ufw` или `firewalld`. Публикуйте контейнеры только на `127.0.0.1`: [Установка Docker и Docker Compose](#ghiduri.docker).\n\n## Шаг 2. Автозапуск через systemd\n\nsystemd запускает приложение вместе с сервером и перезапускает его, если оно завершилось с ошибкой. Если приложение работает в контейнере Docker с `restart: unless-stopped`, переходите сразу к шагу 3.\n\n1. Создайте отдельного пользователя без права входа в систему. Не запускайте приложение от `root`: если приложение взломают, злоумышленник получит полный контроль над сервером.\n\n   ```bash\n   useradd --system --create-home --home-dir /srv/myapp --shell /usr/sbin/nologin myapp\n   ```\n\n2. Скопируйте файлы приложения в `/srv/myapp` ([Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)) и установите зависимости. Для Python создайте виртуальное окружение. В Ubuntu и Debian сначала установите пакет `python3-venv`; в AlmaLinux и CentOS Stream модуль уже есть.\n\n   ```bash\n   apt install -y python3-venv\n   ```\n\n   ```bash\n   python3 -m venv /srv/myapp/venv\n   /srv/myapp/venv/bin/pip install -r /srv/myapp/requirements.txt gunicorn\n   ```\n\n   Для FastAPI установите `uvicorn` вместо `gunicorn`.\n\n3. Сделайте пользователя `myapp` владельцем файлов:\n\n   ```bash\n   chown -R myapp:myapp /srv/myapp\n   ```\n\n4. Вынесите переменные окружения и секреты (пароли, API-ключи) в отдельный файл. В AlmaLinux и CentOS Stream, если редактора `nano` нет, сначала установите его.\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   nano /etc/myapp.env\n   ```\n\n   Пишите по одной переменной на строку, в виде `ИМЯ=значение`, без `export`. Имена переменных зависят от вашего приложения, например:\n\n   ```ini\n   NODE_ENV=production\n   DATABASE_URL=postgresql://myapp:ПАРОЛЬ@127.0.0.1:5432/myapp\n   SECRET_KEY=СЕКРЕТНОЕ_ЗНАЧЕНИЕ\n   ```\n\n   Оставьте доступ к файлу только для `root`. systemd читает его до запуска приложения и передаёт переменные приложению.\n\n   ```bash\n   chmod 600 /etc/myapp.env\n   ```\n\n5. Создайте файл службы:\n\n   ```bash\n   nano /etc/systemd/system/myapp.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=myapp\n   After=network.target\n\n   [Service]\n   User=myapp\n   Group=myapp\n   WorkingDirectory=/srv/myapp\n   EnvironmentFile=/etc/myapp.env\n   ExecStart=/usr/bin/node /srv/myapp/server.js\n   Restart=on-failure\n   RestartSec=5\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   В строке `ExecStart` указывайте полный путь к программе. Для Node.js его покажет `command -v node`. Примеры для других приложений (замените `project.wsgi`, `app:app` и `main:app` на модуль вашего приложения):\n\n   | Приложение | `ExecStart=` |\n   |---|---|\n   | Node.js | `/usr/bin/node /srv/myapp/server.js` |\n   | Django с gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi:application` |\n   | Flask с gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 app:app` |\n   | FastAPI с uvicorn | `/srv/myapp/venv/bin/python -m uvicorn main:app --host 127.0.0.1 --port 8000` |\n\n6. Загрузите новую службу, включите её (она будет запускаться и после перезагрузки сервера) и проверьте. В выводе `systemctl status` должно быть `active (running)`.\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now myapp\n   systemctl status myapp\n   ```\n\n7. Следите за журналом приложения в реальном времени; выход — Ctrl+C.\n\n   ```bash\n   journalctl -u myapp -f\n   ```\n\nПосле изменений:\n\n```bash\n# после обновления кода приложения\nsystemctl restart myapp\n# после изменения файла myapp.service\nsystemctl daemon-reload\nsystemctl restart myapp\n```\n\n> **Безопасность**\n> Не прописывайте пароли и ключи прямо в файле службы (`Environment=`): файл службы и вывод команды `systemctl show` доступны любому пользователю сервера. Храните секреты в файле с правами `chmod 600`.\n\n## Шаг 3. Настройка nginx\n\n1. Один раз на сервер, сколько бы приложений на нём ни было, создайте файл для WebSocket:\n\n   ```bash\n   nano /etc/nginx/conf.d/connection-upgrade.conf\n   ```\n\n   ```nginx\n   map $http_upgrade $connection_upgrade {\n       default upgrade;\n       ''      close;\n   }\n   ```\n\n2. Создайте файл сайта: в Ubuntu и Debian — `/etc/nginx/sites-available/ДОМЕН`, в AlmaLinux и CentOS Stream — `/etc/nginx/conf.d/ДОМЕН.conf`. Содержимое одинаковое:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name ДОМЕН www.ДОМЕН;\n\n       client_max_body_size 20m;\n\n       location / {\n           proxy_pass http://127.0.0.1:3000;\n           proxy_http_version 1.1;\n\n           proxy_set_header Host $host;\n           proxy_set_header X-Real-IP $remote_addr;\n           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n           proxy_set_header X-Forwarded-Proto $scheme;\n\n           proxy_set_header Upgrade $http_upgrade;\n           proxy_set_header Connection $connection_upgrade;\n       }\n   }\n   ```\n\n3. Только в Ubuntu и Debian включите сайт:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/ДОМЕН /etc/nginx/sites-enabled/\n   ```\n\n4. Проверьте конфигурацию и перезагрузите nginx. Команда `nginx -t` должна вывести «syntax is ok» и «test is successful»; иначе исправьте файл до перезагрузки.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n5. Откройте `http://ДОМЕН` в браузере: должно ответить ваше приложение. В AlmaLinux и CentOS Stream сначала выполните шаг 4.\n\n| Директива | Назначение |\n|---|---|\n| `proxy_pass` | адрес и порт приложения; должны совпадать с указанными на шаге 1 (для gunicorn или uvicorn из примеров — `http://127.0.0.1:8000`) |\n| `Host` | приложение получает домен, который запросил посетитель, а не `127.0.0.1:3000` |\n| `X-Real-IP`, `X-Forwarded-For` | реальный адрес посетителя; без них приложение видит все запросы как пришедшие с `127.0.0.1` |\n| `X-Forwarded-Proto` | `http` или `https`, в зависимости от того, как запрос пришёл в nginx |\n| `proxy_http_version 1.1`, `Upgrade`, `Connection` | нужны для WebSocket (чаты, уведомления в реальном времени) |\n| `client_max_body_size` | максимальный размер запроса, например загружаемого файла; по умолчанию nginx принимает 1 МБ |\n\n## Шаг 4. SELinux и файрвол системы\n\n### AlmaLinux и CentOS Stream: SELinux\n\nПо умолчанию SELinux не позволяет nginx подключаться к приложениям на портах вроде 3000 или 8000. Без настройки ниже сайт отвечает `502 Bad Gateway`, а в `/var/log/nginx/error.log` появляется «(13: Permission denied) while connecting to upstream». Разрешите подключение; `-P` сохраняет настройку после перезагрузки.\n\n```bash\nsetsebool -P httpd_can_network_connect 1\ngetsebool httpd_can_network_connect\n```\n\nВторая команда должна вывести `httpd_can_network_connect --> on`.\n\n### Файрвол системы\n\nНа новом сервере `ufw` и `firewalld` выключены или не установлены. Если вы включили файрвол, разрешите HTTP и HTTPS. Порт приложения (3000) разрешать не нужно: nginx подключается к приложению локально.\n\nUbuntu и Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nAlmaLinux и CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Внимание**\n> Веб- и VNC-консоли для клиентов нет: сервером управляют только по SSH. Не включайте файрвол только ради этого руководства. Если всё же включаете, сначала разрешите SSH (порт 22) и держите открытой вторую SSH-сессию: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## Шаг 5. HTTPS с Let's Encrypt\n\n1. Установите certbot с плагином nginx, как описано в статье [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n2. Получите сертификат:\n\n   ```bash\n   certbot --nginx -d ДОМЕН -d www.ДОМЕН\n   ```\n\n3. certbot добавит в файл сайта настройки для порта 443 с сертификатом и перенаправление с HTTP на HTTPS. Строки `proxy_*` останутся без изменений, а сертификат будет продлеваться автоматически.\n4. Откройте `https://ДОМЕН` и проверьте замок в браузере.\n\n### Приложение должно знать, что работает по HTTPS\n\nМежду nginx и приложением трафик остаётся HTTP. Если приложение не учитывает заголовок `X-Forwarded-Proto`, оно считает, что работает по HTTP: формирует ссылки и перенаправления на `http://`, cookie с флагом «secure» не работают, а иногда возникает бесконечный цикл перенаправлений. Настройте приложение так, чтобы оно доверяло заголовкам, которые nginx передаёт с `127.0.0.1`:\n\n| Приложение | Настройка |\n|---|---|\n| Express (Node.js) | `app.set(\"trust proxy\", \"loopback\")` |\n| Django | в `settings.py`: `SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")`; добавьте домен и в `ALLOWED_HOSTS` |\n| Flask | `app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1)`, с `from werkzeug.middleware.proxy_fix import ProxyFix` |\n| FastAPI с uvicorn | ничего менять не нужно: uvicorn по умолчанию читает заголовки, пришедшие с `127.0.0.1` (параметры `--proxy-headers` и `--forwarded-allow-ips`) |\n\nВ Express, Flask и uvicorn эта же настройка позволяет приложению видеть реальный адрес посетителя. В Django реальный адрес находится в заголовке `X-Real-IP`, в коде он доступен как `request.META[\"HTTP_X_REAL_IP\"]`.\n\n## Несколько приложений на одном сервере\n\nУ каждого приложения своя служба systemd, свой внутренний порт и отдельный блок `server` в nginx со своим доменом или поддоменом:\n\n| Адрес | Служба systemd | `proxy_pass` |\n|---|---|---|\n| `ДОМЕН`, `www.ДОМЕН` | `myapp` | `http://127.0.0.1:3000` |\n| `api.ДОМЕН` | `myapi` | `http://127.0.0.1:8000` |\n\n1. Создайте A-запись для поддомена (`api` → `IP_СЕРВЕРА`).\n2. Создайте новый файл для поддомена: `/etc/nginx/sites-available/api.ДОМЕН` в Ubuntu и Debian, `/etc/nginx/conf.d/api.ДОМЕН.conf` в AlmaLinux и CentOS Stream. Поместите в него блок из шага 3 с `server_name api.ДОМЕН;` и `proxy_pass http://127.0.0.1:8000;`. Не копируйте файл первого сайта после того, как его изменил certbot: в нём окажется сертификат другого домена. Файл `connection-upgrade.conf` общий, второй раз его создавать не нужно.\n3. В Ubuntu и Debian включите сайт, как на шаге 3:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/api.ДОМЕН /etc/nginx/sites-enabled/\n   ```\n\n4. Проверьте конфигурацию, перезагрузите nginx и получите сертификат:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   certbot --nginx -d api.ДОМЕН\n   ```\n\n## Сервис, которому нужен другой публичный порт\n\nЧерез nginx публикуются веб-приложения: HTTP, HTTPS и WebSocket. Сервису с собственным протоколом (игровому серверу, MQTT-брокеру, своему TCP- или UDP-сервису) нужен отдельный публичный порт, а сетевая фильтрация по умолчанию его отсекает. Прежде чем устанавливать такой сервис, напишите в поддержку: укажите IP-адрес сервера, номер заказа (`BBX-…`), порт, протокол (TCP или UDP) и для чего он нужен. Каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact). Как устроена фильтрация: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\nДля баз данных публичные порты не запрашивайте: подключайтесь через SSH-туннель ([Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date)).\n\n## Частые проблемы\n\nОшибки nginx записываются в `/var/log/nginx/error.log`. Последние строки журнала:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\n```\n\n| Что вы видите | Вероятная причина | Что делать |\n|---|---|---|\n| `502 Bad Gateway`; в `error.log`: «connect() failed (111: Connection refused) while connecting to upstream» | приложение не запущено или слушает не тот порт или адрес, что указан в `proxy_pass` | проверьте `systemctl status myapp`, `ss -tlnp` и `journalctl -u myapp -n 50`; исправьте порт в приложении или в `proxy_pass` |\n| `502 Bad Gateway` в AlmaLinux или CentOS Stream; в `error.log`: «(13: Permission denied)» | подключение блокирует SELinux | `setsebool -P httpd_can_network_connect 1` (шаг 4) |\n| `504 Gateway Time-out`; в `error.log`: «upstream timed out (110: Connection timed out)» | приложение отвечает дольше 60 секунд — это стандартный лимит nginx | ускорьте операцию (например, вынесите её в фоновую задачу) или добавьте `proxy_read_timeout 300s;` в `location /`, затем `nginx -t` и перезагрузите nginx |\n| `413 Request Entity Too Large` при загрузке файла | запрос больше, чем `client_max_body_size` | увеличьте значение (например, до `100m`), затем `nginx -t` и перезагрузите nginx |\n| После включения HTTPS приложение перенаправляет на `http://` или уходит в цикл перенаправлений | приложение не учитывает `X-Forwarded-Proto` | настройка из таблицы на шаге 5 |\n| В журналах приложения у всех посетителей адрес `127.0.0.1` | приложение не читает `X-Real-IP` или `X-Forwarded-For` | настройка из шага 5; в Django читайте заголовок `X-Real-IP` |\n| WebSocket не подключается или закрывается через минуту без трафика | нет заголовков `Upgrade` и `Connection` или истёк `proxy_read_timeout` | проверьте файл `connection-upgrade.conf` и строки для WebSocket из шага 3; отправляйте ping из приложения или увеличьте `proxy_read_timeout` |\n| `systemctl status myapp` показывает `status=203/EXEC`, `status=200/CHDIR` или `status=217/USER` | программа из `ExecStart`, папка из `WorkingDirectory` или пользователь из `User=` не существует или недоступен | проверьте путь с помощью `command -v node` или `ls -l`; Node.js, установленный через nvm в `/root`, пользователь `myapp` запустить не сможет — установите Node.js на уровне системы |\n| Django отвечает `400 Bad Request` | домена нет в `ALLOWED_HOSTS` | добавьте `ДОМЕН` и `www.ДОМЕН`, затем перезапустите службу |\n| `http://IP_СЕРВЕРА:3000` не открывается в браузере | приложение слушает `127.0.0.1`, а порт 3000 отсекает сетевая фильтрация | так и должно быть: открывайте приложение по адресу `https://ДОМЕН` |\n\nДругие причины, по которым сайт не открывается: [Сайт не открывается](#faq.site-ul-nu-se-deschide).\n\n## Частые вопросы\n\n**Можно ли использовать Apache вместо nginx?**\nДа, с модулями Apache `proxy` и `proxy_http` и директивой `ProxyPass`. В AlmaLinux и CentOS Stream нужна та же настройка SELinux `httpd_can_network_connect`. В этом руководстве описан только nginx.\n\n**Можно ли использовать PM2 вместо systemd?**\nДа. PM2 запускает приложения Node.js после перезагрузки сервера через собственную службу systemd, которую создаёт команда `pm2 startup`. Не запускайте одно и то же приложение и через PM2, и через службу из этого руководства: второй экземпляр не сможет занять тот же порт.\n\n**Запустится ли приложение само после нажатия «Перезагрузить» в панели?**\nДа, если служба включена командой `systemctl enable --now` (шаг 2). Команда ниже должна вывести `enabled`. О перезагрузке: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n\n```bash\nsystemctl is-enabled myapp\n```\n\n**Может ли AI-ассистент выполнить эту настройку?**\nДа, если у его токена есть разрешения «Выполнять любые команды от root на моих серверах» (`servers:exec`) и «Читать список и статус моих серверов» (`servers:read`). См. [Примеры задач для AI-ассистента и нужные разрешения](#ai.exemple-sarcini).\n",
    "en": "This guide shows you how to publish an application that listens on an internal port, for example Node.js on 3000 or Python (gunicorn, uvicorn) on 8000, on ports 80 and 443 with HTTPS. The application runs as a systemd service, and nginx receives requests from the internet and passes them to the application. You work in the server's terminal, connected over SSH as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). The server's IP address is on the server card on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`). The panel has no settings for applications, web servers or ports.\n\n**Available to:** anyone with `root` access over SSH to a BLACKBOX server running Ubuntu 24.04, 22.04 or 20.04, Debian 12 or 11, AlmaLinux 9 or CentOS Stream 9.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\nIn the examples, the application is called `myapp`, lives in `/srv/myapp` and listens on port 3000. Replace these values and `DOMAIN` (your domain, without `www`) with your own.\n\n## Why put nginx in front of the application\n\nTraffic coming into the server passes through network filtering managed by BLACKBOX. On a new server, it lets through only SSH (22), HTTP (80), HTTPS (443) and ping. An application that listens on port 3000, 8000 or 8080 can't be reached from the internet, even if the port is allowed in `ufw` or `firewalld`. Instead of asking for more ports to be opened, publish the application through nginx:\n\n```text\nvisitor ── HTTPS (443) ──> nginx ── HTTP ──> 127.0.0.1:3000 (application)\n```\n\n- The application listens only on `127.0.0.1`, so it can't be reached directly from the internet.\n- nginx handles HTTPS: certbot obtains and renews the Let's Encrypt certificate automatically.\n- You can run several applications on the same server, each on its own domain or subdomain, all on 80 and 443.\n\n## Before you start\n\n| Requirement | Details |\n|---|---|\n| The domain points to the server | the A record for `DOMAIN` (and for `www.DOMAIN`, if you use it) has the value `SERVER_IP`: [How to point your domain to the server](#domenii.indreptare-domeniu) |\n| The application starts | the dependencies are installed, and the application starts manually, from the terminal, without errors |\n| Ports 80 and 443 are free | no other web server is listening on them |\n\nIf you have a “VPS hosting” plan, don't install nginx before you ask support: a control panel installed on the server uses its own web server on ports 80 and 443. Support will tell you how to publish the application: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\nInstall nginx if it isn't installed already. Ubuntu and Debian:\n\n```bash\napt update\napt install -y nginx\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y nginx\nsystemctl enable --now nginx\n```\n\nMore about installing nginx: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n\n## Step 1. The application listens only on 127.0.0.1\n\nConfigure the application to listen on `127.0.0.1` (connections from the server itself only), not on `0.0.0.0` (all addresses). Write `127.0.0.1`, not `localhost`: on some systems `localhost` means the IPv6 address `::1`, and then nginx can't find the application.\n\n| Application | How to listen on 127.0.0.1 |\n|---|---|\n| Node.js (`http`, Express) | in the code: `app.listen(3000, \"127.0.0.1\")` (Express) or `server.listen(3000, \"127.0.0.1\")` (`http`) |\n| Python with gunicorn (Django, Flask) | the `--bind 127.0.0.1:8000` option |\n| Python with uvicorn (FastAPI) | the `--host 127.0.0.1 --port 8000` options |\n| Docker container | `-p 127.0.0.1:3000:3000` with `docker run`, or `\"127.0.0.1:3000:3000\"` under `ports:` in Docker Compose |\n\nCheck after the application starts. The output must show `127.0.0.1:3000`; `0.0.0.0:3000` or `*:3000` means the application is listening on all addresses.\n\n```bash\nss -tlnp | grep ':3000'\n```\n\n> **Warning**\n> Docker bypasses the system firewall: a port published with `-p 3000:3000`, without `127.0.0.1`, can't be closed with `ufw` or `firewalld`. Publish containers only on `127.0.0.1`: [Installing Docker and Docker Compose](#ghiduri.docker).\n\n## Step 2. Starting automatically with systemd\n\nsystemd starts the application when the server starts and restarts it if it stops with an error. If the application runs in a Docker container with `restart: unless-stopped`, go straight to step 3.\n\n1. Create a separate user that can't log in. Don't run the application as `root`: if the application is compromised, the attacker would control the whole server.\n\n   ```bash\n   useradd --system --create-home --home-dir /srv/myapp --shell /usr/sbin/nologin myapp\n   ```\n\n2. Copy the application files to `/srv/myapp` ([Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)) and install the dependencies. For Python, create a virtual environment. On Ubuntu and Debian, install the `python3-venv` package first; on AlmaLinux and CentOS Stream the module is already included.\n\n   ```bash\n   apt install -y python3-venv\n   ```\n\n   ```bash\n   python3 -m venv /srv/myapp/venv\n   /srv/myapp/venv/bin/pip install -r /srv/myapp/requirements.txt gunicorn\n   ```\n\n   For FastAPI, install `uvicorn` instead of `gunicorn`.\n\n3. Make the `myapp` user the owner of the files:\n\n   ```bash\n   chown -R myapp:myapp /srv/myapp\n   ```\n\n4. Put the environment variables and secrets (passwords, API keys) in a separate file. On AlmaLinux and CentOS Stream, if the `nano` editor is missing, install it first.\n\n   ```bash\n   dnf install -y nano\n   ```\n\n   ```bash\n   nano /etc/myapp.env\n   ```\n\n   Write one variable per line, in the form `NAME=value`, without `export`. The variable names depend on your application; for example:\n\n   ```ini\n   NODE_ENV=production\n   DATABASE_URL=postgresql://myapp:PASSWORD@127.0.0.1:5432/myapp\n   SECRET_KEY=SECRET_VALUE\n   ```\n\n   Make the file accessible only to `root`. systemd reads it before it starts the application and passes the variables to the application.\n\n   ```bash\n   chmod 600 /etc/myapp.env\n   ```\n\n5. Create the service file:\n\n   ```bash\n   nano /etc/systemd/system/myapp.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=myapp\n   After=network.target\n\n   [Service]\n   User=myapp\n   Group=myapp\n   WorkingDirectory=/srv/myapp\n   EnvironmentFile=/etc/myapp.env\n   ExecStart=/usr/bin/node /srv/myapp/server.js\n   Restart=on-failure\n   RestartSec=5\n\n   [Install]\n   WantedBy=multi-user.target\n   ```\n\n   In the `ExecStart` line, write the full path of the program. For Node.js, find it with `command -v node`. Examples for other applications (replace `project.wsgi`, `app:app` and `main:app` with your application's module):\n\n   | Application | `ExecStart=` |\n   |---|---|\n   | Node.js | `/usr/bin/node /srv/myapp/server.js` |\n   | Django with gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi:application` |\n   | Flask with gunicorn | `/srv/myapp/venv/bin/python -m gunicorn --workers 3 --bind 127.0.0.1:8000 app:app` |\n   | FastAPI with uvicorn | `/srv/myapp/venv/bin/python -m uvicorn main:app --host 127.0.0.1 --port 8000` |\n\n6. Load the new service, enable it (so it also starts after the server reboots) and check it. `systemctl status` must show `active (running)`.\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now myapp\n   systemctl status myapp\n   ```\n\n7. Follow the application's log in real time; exit with Ctrl+C.\n\n   ```bash\n   journalctl -u myapp -f\n   ```\n\nAfter making changes:\n\n```bash\n# after updating the application code\nsystemctl restart myapp\n# after editing the myapp.service file\nsystemctl daemon-reload\nsystemctl restart myapp\n```\n\n> **Security**\n> Don't write passwords or keys directly in the service file (`Environment=`): any user on the server can read the service file and the output of the `systemctl show` command. Keep secrets in the file protected with `chmod 600`.\n\n## Step 3. Configuring nginx\n\n1. Create the WebSockets file once per server, however many applications you have:\n\n   ```bash\n   nano /etc/nginx/conf.d/connection-upgrade.conf\n   ```\n\n   ```nginx\n   map $http_upgrade $connection_upgrade {\n       default upgrade;\n       ''      close;\n   }\n   ```\n\n2. Create the site file: on Ubuntu and Debian `/etc/nginx/sites-available/DOMAIN`, on AlmaLinux and CentOS Stream `/etc/nginx/conf.d/DOMAIN.conf`. The content is the same:\n\n   ```nginx\n   server {\n       listen 80;\n       server_name DOMAIN www.DOMAIN;\n\n       client_max_body_size 20m;\n\n       location / {\n           proxy_pass http://127.0.0.1:3000;\n           proxy_http_version 1.1;\n\n           proxy_set_header Host $host;\n           proxy_set_header X-Real-IP $remote_addr;\n           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n           proxy_set_header X-Forwarded-Proto $scheme;\n\n           proxy_set_header Upgrade $http_upgrade;\n           proxy_set_header Connection $connection_upgrade;\n       }\n   }\n   ```\n\n3. On Ubuntu and Debian only, enable the site:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/DOMAIN /etc/nginx/sites-enabled/\n   ```\n\n4. Check the configuration and reload nginx. `nginx -t` must print “syntax is ok” and “test is successful”; otherwise, fix the file before you reload.\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n5. Open `http://DOMAIN` in your browser: your application should respond. On AlmaLinux and CentOS Stream, do step 4 first.\n\n| Directive | What it does |\n|---|---|\n| `proxy_pass` | the application's address and port; they must match the ones from step 1 (for gunicorn or uvicorn in the examples, `http://127.0.0.1:8000`) |\n| `Host` | the application receives the domain the visitor requested, not `127.0.0.1:3000` |\n| `X-Real-IP`, `X-Forwarded-For` | the visitor's real address; without them, the application sees every request as coming from `127.0.0.1` |\n| `X-Forwarded-Proto` | `http` or `https`, depending on how the request reached nginx |\n| `proxy_http_version 1.1`, `Upgrade`, `Connection` | needed for WebSockets (chat, real-time notifications) |\n| `client_max_body_size` | the maximum size of a request, for example an uploaded file; by default, nginx accepts 1 MB |\n\n## Step 4. SELinux and the system firewall\n\n### AlmaLinux and CentOS Stream: SELinux\n\nBy default, SELinux doesn't allow nginx to connect to applications on ports such as 3000 or 8000. Without the setting below, the site responds with `502 Bad Gateway`, and “(13: Permission denied) while connecting to upstream” appears in `/var/log/nginx/error.log`. Allow the connection; `-P` keeps the setting after a reboot.\n\n```bash\nsetsebool -P httpd_can_network_connect 1\ngetsebool httpd_can_network_connect\n```\n\nThe second command must print `httpd_can_network_connect --> on`.\n\n### The system firewall\n\nOn a new server, `ufw` and `firewalld` are inactive or not installed. If you have turned on the firewall, allow HTTP and HTTPS. You don't need to allow the application's port (3000): nginx connects to the application locally.\n\nUbuntu and Debian (`ufw`):\n\n```bash\nufw allow 80,443/tcp\n```\n\nAlmaLinux and CentOS Stream (`firewalld`):\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Warning**\n> Customers have no web or VNC console: you manage the server only over SSH. Don't turn on the firewall just for this guide. If you do turn it on, allow SSH (port 22) first and keep a second SSH session open: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## Step 5. HTTPS with Let's Encrypt\n\n1. Install certbot with the nginx plugin, as described in [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt).\n2. Get the certificate:\n\n   ```bash\n   certbot --nginx -d DOMAIN -d www.DOMAIN\n   ```\n\n3. certbot adds to the site file the configuration for port 443, with the certificate, and the redirect from HTTP to HTTPS. The `proxy_*` lines stay unchanged, and the certificate renews automatically.\n4. Open `https://DOMAIN` and check for the padlock in your browser.\n\n### The application must know it runs over HTTPS\n\nBetween nginx and the application, traffic stays HTTP. If the application ignores the `X-Forwarded-Proto` header, it thinks it runs over HTTP: it generates `http://` links and redirects, cookies marked “secure” don't work, and sometimes you get a redirect loop. Set the application to trust the headers that nginx sends from `127.0.0.1`:\n\n| Application | Setting |\n|---|---|\n| Express (Node.js) | `app.set(\"trust proxy\", \"loopback\")` |\n| Django | in `settings.py`: `SECURE_PROXY_SSL_HEADER = (\"HTTP_X_FORWARDED_PROTO\", \"https\")`; also add the domain to `ALLOWED_HOSTS` |\n| Flask | `app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1)`, with `from werkzeug.middleware.proxy_fix import ProxyFix` |\n| FastAPI with uvicorn | nothing to change: by default, uvicorn reads the headers that come from `127.0.0.1` (the `--proxy-headers` and `--forwarded-allow-ips` options) |\n\nIn Express, Flask and uvicorn, the same setting lets the application see the visitor's real address. In Django, the real address is in the `X-Real-IP` header, available in code as `request.META[\"HTTP_X_REAL_IP\"]`.\n\n## Several applications on the same server\n\nEach application has its own systemd service, its own internal port and a separate `server` block in nginx, with its own domain or subdomain:\n\n| Address | systemd service | `proxy_pass` |\n|---|---|---|\n| `DOMAIN`, `www.DOMAIN` | `myapp` | `http://127.0.0.1:3000` |\n| `api.DOMAIN` | `myapi` | `http://127.0.0.1:8000` |\n\n1. Create the A record for the subdomain (`api` → `SERVER_IP`).\n2. Create a new file for the subdomain: `/etc/nginx/sites-available/api.DOMAIN` on Ubuntu and Debian, `/etc/nginx/conf.d/api.DOMAIN.conf` on AlmaLinux and CentOS Stream. Put the block from step 3 in it, with `server_name api.DOMAIN;` and `proxy_pass http://127.0.0.1:8000;`. Don't copy the first site's file after certbot has modified it: it would contain the other domain's certificate. The `connection-upgrade.conf` file is shared, so you don't create it again.\n3. On Ubuntu and Debian, enable the site, as in step 3:\n\n   ```bash\n   ln -s /etc/nginx/sites-available/api.DOMAIN /etc/nginx/sites-enabled/\n   ```\n\n4. Check the configuration, reload nginx and get the certificate:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   certbot --nginx -d api.DOMAIN\n   ```\n\n## A service that needs another public port\n\nThrough nginx, you publish web applications: HTTP, HTTPS and WebSockets. A service with its own protocol (a game server, an MQTT broker, your own TCP or UDP service) needs a separate public port, which the network filtering blocks by default. Before you install such a service, write to support with the server's IP address, the order number (`BBX-…`), the port, the protocol (TCP or UDP) and what you need it for: [How to contact BLACKBOX support](#suport.contact). How the filtering works: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\nDon't ask for public ports for databases: connect through an SSH tunnel ([Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date)).\n\n## Common problems\n\nnginx errors are in `/var/log/nginx/error.log`. Show the last lines:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\n```\n\n| What you see | Likely cause | What to do |\n|---|---|---|\n| `502 Bad Gateway`; in `error.log`: “connect() failed (111: Connection refused) while connecting to upstream” | the application isn't running, or it listens on a different port or address than the one in `proxy_pass` | check with `systemctl status myapp`, `ss -tlnp` and `journalctl -u myapp -n 50`; fix the port in the application or in `proxy_pass` |\n| `502 Bad Gateway` on AlmaLinux or CentOS Stream; in `error.log`: “(13: Permission denied)” | SELinux is blocking the connection | `setsebool -P httpd_can_network_connect 1` (step 4) |\n| `504 Gateway Time-out`; in `error.log`: “upstream timed out (110: Connection timed out)” | the application takes more than 60 seconds to respond, the nginx default limit | speed up the operation (for example, move it to a background job) or add `proxy_read_timeout 300s;` to `location /`, then run `nginx -t` and reload nginx |\n| `413 Request Entity Too Large` when uploading a file | the request exceeds `client_max_body_size` | increase the value (for example, to `100m`), then run `nginx -t` and reload nginx |\n| After you turn on HTTPS, the application redirects to `http://` or gets stuck in a redirect loop | the application ignores `X-Forwarded-Proto` | the setting from the table in step 5 |\n| In the application's logs, every visitor has the address `127.0.0.1` | the application doesn't read `X-Real-IP` or `X-Forwarded-For` | the setting from step 5; in Django, read the `X-Real-IP` header |\n| The WebSocket doesn't connect, or closes after a minute without traffic | the `Upgrade` and `Connection` headers are missing, or `proxy_read_timeout` has expired | check the `connection-upgrade.conf` file and the WebSocket lines from step 3; send pings from the application or increase `proxy_read_timeout` |\n| `systemctl status myapp` shows `status=203/EXEC`, `status=200/CHDIR` or `status=217/USER` | the program in `ExecStart`, the folder in `WorkingDirectory` or the user in `User=` doesn't exist or isn't accessible | check the path with `command -v node` or `ls -l`; the `myapp` user can't run Node.js installed with nvm in `/root`, so install Node.js system-wide |\n| Django responds with `400 Bad Request` | the domain is missing from `ALLOWED_HOSTS` | add `DOMAIN` and `www.DOMAIN`, then restart the service |\n| `http://SERVER_IP:3000` doesn't open in the browser | the application listens on `127.0.0.1`, and the network filtering blocks port 3000 | this is the intended behavior: open the application at `https://DOMAIN` |\n\nOther reasons a site may not open: [The site does not open](#faq.site-ul-nu-se-deschide).\n\n## Frequently asked questions\n\n**Can I use Apache instead of nginx?**\nYes, with Apache's `proxy` and `proxy_http` modules and the `ProxyPass` directive. On AlmaLinux and CentOS Stream, you need the same SELinux setting, `httpd_can_network_connect`. This guide covers only nginx.\n\n**Can I use PM2 instead of systemd?**\nYes. PM2 starts Node.js applications after the server reboots through its own systemd service, which you create with `pm2 startup`. Don't start the same application with both PM2 and the service from this guide: the second instance can't use the same port.\n\n**Does the application start on its own after I click “Reboot” in the panel?**\nYes, if the service was enabled with `systemctl enable --now` (step 2). The command below must print `enabled`. About rebooting: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n\n```bash\nsystemctl is-enabled myapp\n```\n\n**Can the AI assistant do this setup?**\nYes, if its token has the “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) (`servers:exec`) and “Citește lista și statusul serverelor mele” (Read the list and status of my servers) (`servers:read`) permissions. See [Example tasks for the AI assistant and the permissions they need](#ai.exemple-sarcini).\n"
   }
  },
  {
   "id": "ghiduri.migrare-site",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/migrare-site/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/migrare-site/",
    "en": "https://docs.blackbox.md/en/ghiduri/migrare-site/"
   },
   "title": {
    "ro": "Mutarea unui site pe serverul BLACKBOX",
    "ru": "Перенос сайта на сервер BLACKBOX",
    "en": "Moving a site to a BLACKBOX server"
   },
   "summary": {
    "ro": "Planul de migrare de la alt furnizor: copierea fișierelor și a bazei de date, testarea și schimbarea DNS fără întreruperi.",
    "ru": "План переноса от другого провайдера: копирование файлов и базы данных, тестирование и смена DNS без простоя.",
    "en": "A migration plan from another provider: copying the files and the database, testing, and switching DNS without downtime."
   },
   "markdown": {
    "ro": "Ghidul descrie mutarea unui site de la alt furnizor pe un server BLACKBOX cu o întrerupere cât mai scurtă pentru vizitatori: inventarul, copierea fișierelor și a bazei de date, testul pe calculatorul dvs. și schimbarea DNS. Comenzile pentru servere se rulează prin SSH; câteva verificări le faceți pe calculatorul dvs. Adresa serverului nou este în panoul app.blackbox.md, pagina „Serverele mele” (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”), câmpul „IP”.\n\n**Disponibil pentru:** oricine are acces root prin SSH la un server BLACKBOX și poate modifica DNS-ul domeniului. Mutarea făcută de echipa BLACKBOX: la cerere, prin suport (ultima secțiune).\n\n## Planul pe scurt\n\n| Etapa | Când |\n|---|---|\n| 1. Inventarul site-ului | înainte să comandați serverul |\n| 2. TTL-ul DNS coborât la 300 | cu cel puțin 48 de ore înainte de comutare |\n| 3–5. Serverul nou, fișierele, baza de date | după activarea serverului |\n| 6. Testul prin fișierul hosts | înainte de comutare |\n| 7. Sincronizarea finală și schimbarea DNS | în ziua comutării |\n| 8. Verificarea, cu vechiul server încă activ | câteva zile după comutare |\n\nPână la etapa 7, vizitatorii folosesc vechiul server. Singura pauză este sincronizarea finală, cât timp vechiul site este în modul de mentenanță.\n\n## Pasul 1. Faceți inventarul\n\n| Ce notați | Cum aflați și de ce contează |\n|---|---|\n| Fișierele site-ului | directorul (de exemplu `public_html`) și mărimea lui: alegeți un plan cu disc suficient |\n| Bazele de date | tipul (MySQL/MariaDB sau PostgreSQL), numele, utilizatorul, mărimea |\n| Versiunile PHP sau Node.js | `php -v`, `php -m` (modulele), `node -v`: instalați aceleași versiuni |\n| Serverul web | nginx sau Apache; nginx nu citește `.htaccess`, deci regulile de acolo se rescriu în configurația nginx |\n| Fișierele de configurare | `wp-config.php`, `.env`, `config.php`: gazda bazei de date, parolele, căile |\n| Sarcinile cron | `crontab -l` sau secțiunea cron din panoul vechii găzduiri |\n| Emailul | unde sunt căsuțele și ce indică înregistrarea MX (secțiunea „Emailul”) |\n| Certificatul SSL | Let's Encrypt sau comercial; pe cel comercial îl copiați, cu cheia lui privată |\n| DNS-ul | cine îl administrează: acolo schimbați TTL-ul și adresa |\n\nPe vechiul server, dacă aveți acces SSH (`CALE_VECHE` este directorul site-ului):\n\n```bash\ndu -sh CALE_VECHE\nphp -v\nphp -m\ncrontab -l\n```\n\nLa găzduirea partajată, versiunea PHP a site-ului poate fi alta decât cea afișată de `php -v`: verificați-o și în panoul găzduirii.\n\nPe calculatorul dvs., aflați cine administrează DNS-ul (NS) și unde ajunge emailul (MX). Linux sau macOS:\n\n```bash\ndig +short NS DOMENIU\ndig +short MX DOMENIU\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS DOMENIU\nnslookup -type=MX DOMENIU\n```\n\nAlegeți apoi planul și sistemul de operare ([Planurile VPS: cum alegeți](#comenzi.planuri-vps), [Sistemele de operare disponibile](#comenzi.sisteme-operare)). Discul trebuie să încapă și fișierele de export. Versiunea PHP din depozitele standard:\n\n| Sistem | PHP |\n|---|---|\n| Ubuntu 24.04 LTS / 22.04 LTS / 20.04 LTS | 8.3 / 8.1 / 7.4 |\n| Debian 12 / Debian 11 | 8.2 / 7.4 |\n| AlmaLinux 9, CentOS Stream 9 | 8.0; versiunile mai noi ca module (`dnf module list php`) |\n\n## Pasul 2. Coborâți TTL-ul cu 48 de ore înainte\n\nTTL-ul spune cât timp păstrează serverele DNS din lume un răspuns în cache. Cu cel puțin 48 de ore înainte de comutare, schimbați TTL-ul înregistrărilor A (și AAAA sau CNAME, dacă există) pentru `DOMENIU` și `www` la 300 de secunde. Adresa IP nu o schimbați încă. Verificați la serverul NS al domeniului (`SERVER_NS` este unul dintre numele afișate de comanda NS de mai sus); numărul de după nume este TTL-ul:\n\n```bash\ndig +noall +answer DOMENIU A @SERVER_NS\n```\n\nPe Windows, căutați în rezultat rândul `ttl =`:\n\n```powershell\nnslookup -debug -type=A DOMENIU SERVER_NS\n```\n\n- Dacă ați conectat contul Cloudflare sau GoDaddy în pagina „DNS” a panoului, apăsați creionul („Editează”) pe rândul înregistrării, alegeți TTL-ul din listă și apăsați „Salvează”: la Cloudflare, 300; la GoDaddy, minimul din listă este 600 (10 minute). Vedeți [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari). La alt furnizor DNS, schimbați TTL-ul în panoul lui.\n- La Cloudflare, înregistrările „Proxied” (în panou, caseta „Proxy”) au TTL automat și schimbarea IP-ului ajunge aproape imediat. Cu modul SSL „Full (strict)”, serverul nou are nevoie de un certificat valid încă de la comutare: cel mai simplu, treceți înregistrările pe „DNS only” pe durata mutării și reactivați proxy-ul după ce HTTPS funcționează.\n\n> **Important**\n> Fără acest pas, unii vizitatori pot ajunge la vechiul server încă mult după comutare: cât era TTL-ul vechi, uneori 86400 de secunde (o zi). După 48 de ore, serverele DNS au preluat TTL-ul de 300, iar noua adresă ajunge la vizitatori în aproximativ 5 minute (10 minute cu un TTL de 600).\n\n## Pasul 3. Pregătiți serverul nou\n\n1. Comandați serverul și conectați-vă la el: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n2. Instalați serverul web și limbajul aplicației: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt), [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp), [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii) sau [Instalarea Docker și Docker Compose](#ghiduri.docker).\n3. Instalați serverul de baze de date și creați baza și utilizatorul: [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date). Cu aceleași nume și parole ca la vechiul server aveți mai puțin de modificat.\n4. Creați configurația serverului web pentru `DOMENIU` și `www.DOMENIU`. Certificatul Let's Encrypt îl obțineți la pasul 7.\n\nFiltrarea din rețea administrată de BLACKBOX lasă să treacă implicit SSH (22), HTTP (80), HTTPS (443) și ping. Țineți baza de date pe același server cu site-ul; pentru alte porturi scrieți suportului ([Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall)).\n\n## Pasul 4. Copiați fișierele\n\n### Direct de pe vechiul server (recomandat)\n\nServerul nou preia fișierele de la cel vechi. Conectați-vă la serverul nou și porniți o sesiune `tmux`, ca să continue copierea chiar dacă legătura cade:\n\n```bash\ntmux new -s migrare\n```\n\nÎn sesiune, rulați copierea; vi se cere parola vechiului server (la prima conectare, confirmați întâi cu `yes`):\n\n```bash\nmkdir -p /var/www/DOMENIU\nrsync -avzP root@IP_SERVER_VECHI:CALE_VECHE/ /var/www/DOMENIU/\n```\n\n- Slash-ul de la sfârșitul `CALE_VECHE/` copiază conținutul directorului, nu directorul însuși.\n- Dacă la vechiul furnizor nu sunteți `root`, folosiți utilizatorul primit de la el.\n- Dacă SSH-ul vechiului furnizor folosește alt port decât 22 (`PORT`), adăugați-l cu `-e`. La fel procedați la comenzile `rsync` de la pasul 5.\n\n  ```bash\n  rsync -avzP -e \"ssh -p PORT\" root@IP_SERVER_VECHI:CALE_VECHE/ /var/www/DOMENIU/\n  ```\n\n- Dacă acolo intrați cu o cheie de pe calculator, încărcați-o în `ssh-agent` ([Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) și conectați-vă la serverul nou cu `-A`, ca `rsync` să folosească cheia fără s-o copiați pe server:\n\n  ```bash\n  ssh -A root@IP_SERVER\n  ```\n\n- Ieșiți din sesiune cu Ctrl + B, apoi D; reveniți cu `tmux attach -t migrare`. Dacă `tmux` sau `rsync` lipsesc, instalați-le ca în [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n### Prin calculatorul dvs.\n\nDacă vechiul furnizor oferă doar FTP sau un manager de fișiere, descărcați fișierele (sau o arhivă din panoul găzduirii) pe calculator și urcați-le pe serverul nou cu `rsync`, `scp` sau un client SFTP, ca în [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\nLa final, dați fișierele utilizatorului serverului web. Pe Ubuntu și Debian:\n\n```bash\nchown -R www-data:www-data /var/www/DOMENIU\n```\n\nPe AlmaLinux și CentOS Stream, utilizatorul este `nginx` sau `apache`, iar SELinux cere etichete corecte: detaliile sunt în același articol despre transferul fișierelor.\n\n## Pasul 5. Mutați baza de date\n\n### MySQL sau MariaDB\n\nPe vechiul server (`--single-transaction` face o copie consistentă fără să oprească site-ul; dacă aveți doar phpMyAdmin, folosiți exportul lui în format SQL):\n\n```bash\nmysqldump --single-transaction --routines --triggers -u UTILIZATOR_BD -p NUME_BD | gzip > NUME_BD.sql.gz\n```\n\nPe serverul nou, după ce ați creat baza și utilizatorul, preluați fișierul din directorul personal al utilizatorului vechi și importați-l:\n\n```bash\nrsync -avP root@IP_SERVER_VECHI:NUME_BD.sql.gz /root/\ngunzip < /root/NUME_BD.sql.gz | mysql NUME_BD\n```\n\n### PostgreSQL\n\nPe vechiul server:\n\n```bash\npg_dump -Fc -h localhost -U UTILIZATOR_BD NUME_BD > NUME_BD.dump\n```\n\nPe serverul nou, baza trebuie să aibă ca proprietar utilizatorul aplicației. Dacă nu le-ați creat încă (prima comandă cere parola noului utilizator):\n\n```bash\nsudo -u postgres createuser --pwprompt UTILIZATOR_BD\nsudo -u postgres createdb -O UTILIZATOR_BD NUME_BD\n```\n\nPreluați exportul și restaurați-l; cu `--role`, tabelele aparțin utilizatorului aplicației:\n\n```bash\nrsync -avP root@IP_SERVER_VECHI:NUME_BD.dump /tmp/\nsudo -u postgres pg_restore --no-owner --no-acl --role=UTILIZATOR_BD -d NUME_BD /tmp/NUME_BD.dump\n```\n\nDupă sincronizarea finală (pasul 7), ștergeți fișierele de export de pe ambele servere.\n\n### Actualizați configurația aplicației\n\n| Aplicația | Fișierul | Ce verificați |\n|---|---|---|\n| WordPress | `wp-config.php` | `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `DB_HOST` |\n| Laravel și alte aplicații cu `.env` | `.env` | `DB_HOST`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` |\n| Altele | fișierul lor de configurare | gazda, numele și parola bazei, căile absolute |\n\nGazda bazei devine de regulă `localhost` (la găzduirea partajată era adesea alt server). Căile vechi rămase în fișiere le găsiți cu comanda de mai jos. Apoi goliți cache-ul aplicației, dacă are unul.\n\n```bash\ngrep -rl \"CALE_VECHE\" /var/www/DOMENIU\n```\n\n## Pasul 6. Testați prin fișierul hosts\n\nFișierul hosts îndreaptă domeniul spre serverul nou doar pe calculatorul dvs.; ceilalți vizitatori văd în continuare vechiul site. Adăugați la sfârșitul fișierului linia:\n\n```text\nIP_SERVER DOMENIU www.DOMENIU\n```\n\n### Windows\n\n1. În meniul Start tastați „Notepad”, faceți clic dreapta pe aplicație și alegeți „Executare ca administrator”.\n2. Deschideți `C:\\Windows\\System32\\drivers\\etc\\hosts` (în fereastra de deschidere alegeți afișarea tuturor fișierelor, `*.*`), adăugați linia și salvați.\n3. În PowerShell, goliți cache-ul DNS și verificați: în rezultatul `ping` trebuie să apară `IP_SERVER`.\n\n   ```powershell\n   ipconfig /flushdns\n   ping -n 1 DOMENIU\n   ```\n\n### macOS și Linux\n\n1. Deschideți fișierul, adăugați linia, salvați cu Ctrl + O, Enter și ieșiți cu Ctrl + X:\n\n   ```bash\n   sudo nano /etc/hosts\n   ```\n\n2. Pe macOS, goliți cache-ul DNS:\n\n   ```bash\n   sudo dscacheutil -flushcache\n   sudo killall -HUP mDNSResponder\n   ```\n\n3. Verificați: în rezultat trebuie să apară `IP_SERVER`.\n\n   ```bash\n   ping -c 1 DOMENIU\n   ```\n\n### Ce testați\n\nRedeschideți browserul și verificați tot ce folosesc vizitatorii: paginile principale, zona de administrare, formularele, încărcarea imaginilor, căutarea, coșul și plata. Serverul nou nu are încă certificat pentru domeniu, deci la `https://` browserul afișează o eroare sau un avertisment de securitate: la acest test este normal. Dacă site-ul trece singur pe `https://` și browserul nu vă lasă să continuați, instalați pe serverul nou certificatul actual de pe vechiul server (pasul 7, punctul 6). Nu porniți încă sarcinile cron pe serverul nou, ca să nu trimită emailuri sau să proceseze comenzi în paralel cu vechiul server.\n\nDupă test, ștergeți linia din fișierul hosts și goliți din nou cache-ul DNS.\n\n## Pasul 7. Sincronizarea finală și comutarea\n\n1. Opriți modificările pe vechiul site (modul de mentenanță al aplicației sau o pagină temporară), ca să nu se piardă comenzi sau comentarii noi.\n2. Rulați din nou comanda `rsync` de la pasul 4: copiază doar fișierele schimbate.\n3. Exportați și importați din nou baza de date, ca la pasul 5. Un export făcut cu `mysqldump` înlocuiește la import tabelele existente; la exportul din phpMyAdmin, activați în opțiuni adăugarea instrucțiunilor `DROP TABLE`. La PostgreSQL, adăugați `--clean --if-exists` la `pg_restore`.\n4. La furnizorul DNS, schimbați valoarea înregistrărilor A pentru `DOMENIU` și `www` în `IP_SERVER` (un CNAME `www` → `DOMENIU` poate rămâne). Ștergeți înregistrările AAAA ale vechii găzduiri. Nu modificați MX și TXT (excepțiile sunt în secțiunea „Emailul”). Pașii: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu).\n5. După circa 5 minute (10 minute cu un TTL de 600), verificați că răspunsul este `IP_SERVER`. Linux sau macOS:\n\n   ```bash\n   dig +short DOMENIU A @1.1.1.1\n   ```\n\n   Windows:\n\n   ```powershell\n   nslookup DOMENIU 1.1.1.1\n   ```\n\n6. Obțineți imediat certificatul Let's Encrypt (cu Apache, `--apache` în loc de `--nginx`; instalarea certbot: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt)):\n\n   ```bash\n   certbot --nginx -d DOMENIU -d www.DOMENIU\n   ```\n\n   Până atunci, vizitatorii care ajung deja pe serverul nou prin HTTPS văd un avertisment. Ca să evitați această pauză, instalați pe serverul nou, înainte de comutare, certificatul actual și cheia lui, copiate de pe vechiul server. Un certificat comercial îl mutați oricum așa.\n\n7. Porniți sarcinile cron pe serverul nou și opriți-le pe cel vechi.\n8. Urmăriți jurnalele serverului web (cu Apache: `/var/log/apache2/` pe Ubuntu și Debian, `/var/log/httpd/` pe AlmaLinux și CentOS Stream) și pe cele ale aplicației:\n\n   ```bash\n   tail -f /var/log/nginx/access.log /var/log/nginx/error.log\n   ```\n\n## Pasul 8. După comutare\n\n- Urmăriți jurnalul de acces al vechiului server: când nu mai sosesc vizitatori, ci doar roboți ocazionali, toată lumea folosește serverul nou.\n- Păstrați vechea găzduire activă câteva zile și verificați formularele, plățile, emailurile trimise de site și sarcinile cron.\n- Readuceți TTL-ul înregistrărilor la 3600.\n- Configurați copiile de rezervă: BLACKBOX nu face copii automate ale serverului dvs. Vedeți [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n> **Ireversibil**\n> Anularea vechii găzduiri șterge de regulă definitiv fișierele, bazele de date și căsuțele de email de acolo. Anulați-o doar după ce totul funcționează pe serverul nou, emailul a fost mutat (dacă era tot acolo) și aveți o copie finală a vechiului site.\n\n## Emailul\n\nEmailul nu se mută odată cu site-ul. Înregistrarea MX aflată la pasul 1 vă spune ce faceți:\n\n| Situația | Ce faceți |\n|---|---|\n| Emailul este la un furnizor separat (de exemplu Google Workspace sau Microsoft 365) | Nu modificați MX și TXT. Schimbați doar A pentru `DOMENIU` și `www`. |\n| Emailul este la vechea găzduire, iar MX indică un nume separat cu propria înregistrare A (de exemplu `mail.DOMENIU`) | Nu modificați MX și nici înregistrarea A a acelui nume. Emailul funcționează cât timp vechea găzduire este activă. |\n| MX indică chiar `DOMENIU` sau un nume care este CNAME spre `DOMENIU` | Schimbarea înregistrării A ar muta și livrarea emailului. Cereți vechiului furnizor numele serverului său de email și îndreptați MX spre el înainte de comutare, ca emailul să rămână la el. |\n| Vreți să mutați și căsuțele de email | Un server de email pe VPS are nevoie de porturi (25, 465, 587, 993) care nu sunt deschise implicit în filtrarea din rețea: întrebați suportul înainte. Mutarea căsuțelor o poate face și echipa BLACKBOX, la cerere. |\n\nDacă site-ul trimite emailuri (formulare, notificări), configurați-l să le trimită prin serverul SMTP al furnizorului de email, cu utilizator și parolă, nu direct de pe serverul nou.\n\n> **Atenție**\n> Dacă emailul este găzduit în altă parte, nu modificați înregistrările MX: mesajele noi ar fi îndreptate spre un server fără căsuțe de email și nu ar mai ajunge la dvs.\n\n## Mutarea făcută de echipa BLACKBOX\n\nPagina „Migrare gratuită de la alți furnizori” (`blackbox.md/solutions/migration`, meniul „Soluții” → „Migrarea proiectelor”) descrie serviciul de migrare la cerere: fișiere, baze de date, panouri de control, email și comutarea DNS. Pentru clienții noi cu un VPS sau hosting plătit, migrarea unui singur VPS, cont de hosting sau panou de control către un serviciu BLACKBOX nou este publicată ca gratuită; proiectele complexe primesc o ofertă separată. Condițiile exacte le confirmă echipa la evaluare.\n\nApăsați „Cere o evaluare gratuită” pe acea pagină sau scrieți-ne direct, cu adresa site-ului, vechiul furnizor și ce trebuie mutat: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale), [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Importul MySQL se oprește cu eroarea `Unknown collation: 'utf8mb4_0900_ai_ci'`.**\nExportul vine din MySQL 8, iar pe serverul nou rulează MariaDB, care nu cunoaște această colaționare. Înlocuiți-o în fișier și importați din nou:\n\n```bash\ngunzip /root/NUME_BD.sql.gz\nsed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' /root/NUME_BD.sql\nmysql NUME_BD < /root/NUME_BD.sql\n```\n\n**Pe serverul nou se deschide doar prima pagină; celelalte dau 404.**\nRegulile din `.htaccess` nu funcționează cu nginx. Pentru WordPress și majoritatea aplicațiilor PHP, configurația nginx are nevoie de `try_files $uri $uri/ /index.php?$args;`: vedeți [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n**Pot păstra adresa IP de la vechiul furnizor?**\nNu. Serverul BLACKBOX are propria adresă IPv4; de aceea se schimbă înregistrările DNS. Serverele NS ale domeniului nu trebuie schimbate.\n\n**Am comandat un plan „VPS hosting” cu panou de control. Se aplică ghidul?**\nEtapele (inventar, TTL, test, comutare) sunt aceleași, dar site-ul se creează prin panoul instalat. Întrebați suportul ce panou are serverul și cum importați site-ul: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n",
    "ru": "В этом руководстве описано, как перенести сайт от другого провайдера на сервер BLACKBOX с минимальным перерывом для посетителей: инвентаризация, копирование файлов и базы данных, проверка на вашем компьютере и смена DNS. Команды для серверов выполняются по SSH, а некоторые проверки — на вашем компьютере. Адрес нового сервера указан в панели app.blackbox.md на странице «Мои серверы» (`app.blackbox.md/my-servers`, боковое меню → «Инфраструктура» → «Мои серверы»), в поле «IP».\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX и возможность менять DNS домена. Перенос силами команды BLACKBOX — по запросу через поддержку (см. последний раздел).\n\n## План вкратце\n\n| Этап | Когда |\n|---|---|\n| 1. Инвентаризация сайта | до заказа сервера |\n| 2. TTL в DNS снижен до 300 | не позже чем за 48 часов до переключения |\n| 3–5. Новый сервер, файлы, база данных | после активации сервера |\n| 6. Проверка через файл hosts | до переключения |\n| 7. Финальная синхронизация и смена DNS | в день переключения |\n| 8. Проверка, старый сервер ещё работает | в течение нескольких дней после переключения |\n\nДо этапа 7 посетители работают со старым сервером. Перерыв будет только во время финальной синхронизации, пока старый сайт находится в режиме обслуживания.\n\n## Шаг 1. Проведите инвентаризацию\n\n| Что записать | Как узнать и зачем это нужно |\n|---|---|\n| Файлы сайта | папка (например, `public_html`) и её размер: выберите тариф с достаточным диском |\n| Базы данных | тип (MySQL/MariaDB или PostgreSQL), имя, пользователь, размер |\n| Версии PHP или Node.js | `php -v`, `php -m` (модули), `node -v`: установите те же версии |\n| Веб-сервер | nginx или Apache; nginx не читает `.htaccess`, поэтому правила оттуда переписывают в конфигурацию nginx |\n| Файлы конфигурации | `wp-config.php`, `.env`, `config.php`: адрес базы данных, пароли, пути |\n| Задания cron | `crontab -l` или раздел cron в панели старого хостинга |\n| Почта | где находятся почтовые ящики и куда указывает запись MX (раздел «Почта») |\n| SSL-сертификат | Let's Encrypt или коммерческий; коммерческий копируют вместе с его закрытым ключом |\n| DNS | кто его обслуживает: там вы меняете TTL и адрес |\n\nНа старом сервере, если есть доступ по SSH (`СТАРЫЙ_ПУТЬ` — папка сайта):\n\n```bash\ndu -sh СТАРЫЙ_ПУТЬ\nphp -v\nphp -m\ncrontab -l\n```\n\nНа виртуальном хостинге версия PHP сайта может отличаться от той, что показывает `php -v`: проверьте её и в панели хостинга.\n\nНа своём компьютере узнайте, кто обслуживает DNS (NS) и куда приходит почта (MX). Linux или macOS:\n\n```bash\ndig +short NS ДОМЕН\ndig +short MX ДОМЕН\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS ДОМЕН\nnslookup -type=MX ДОМЕН\n```\n\nЗатем выберите тариф и операционную систему ([Тарифы VPS: как выбрать](#comenzi.planuri-vps), [Доступные операционные системы](#comenzi.sisteme-operare)). На диске должно хватить места и для файлов экспорта. Версия PHP в стандартных репозиториях:\n\n| Система | PHP |\n|---|---|\n| Ubuntu 24.04 LTS / 22.04 LTS / 20.04 LTS | 8.3 / 8.1 / 7.4 |\n| Debian 12 / Debian 11 | 8.2 / 7.4 |\n| AlmaLinux 9, CentOS Stream 9 | 8.0; более новые версии — в виде модулей (`dnf module list php`) |\n\n## Шаг 2. Снизьте TTL за 48 часов\n\nTTL определяет, сколько DNS-серверы по всему миру хранят ответ в кэше. Не позже чем за 48 часов до переключения установите TTL записей A (а также AAAA или CNAME, если они есть) для `ДОМЕН` и `www` равным 300 секундам. IP-адрес пока не меняйте. Проверьте результат на NS-сервере домена (`NS_СЕРВЕР` — одно из имён, которые вывела команда NS выше); число после имени — это TTL:\n\n```bash\ndig +noall +answer ДОМЕН A @NS_СЕРВЕР\n```\n\nВ Windows найдите в выводе строку `ttl =`:\n\n```powershell\nnslookup -debug -type=A ДОМЕН NS_СЕРВЕР\n```\n\n- Если вы подключили аккаунт Cloudflare или GoDaddy на странице «DNS» панели, нажмите на карандаш («Изменить») в строке записи, выберите TTL из списка и нажмите «Сохранить»: в Cloudflare — 300, в GoDaddy минимальное значение в списке — 600 (10 минут). См. [Управление DNS-записями из панели](#servicii.dns-inregistrari). У другого DNS-провайдера измените TTL в его панели.\n- В Cloudflare у записей «Proxied» (в панели — флажок «Прокси») TTL автоматический, и смена IP-адреса вступает в силу почти сразу. В режиме SSL «Full (strict)» новому серверу нужен действительный сертификат уже в момент переключения. Проще всего на время переноса перевести записи в «DNS only» и снова включить прокси, когда HTTPS заработает.\n\n> **Важно**\n> Если пропустить этот шаг, часть посетителей ещё долго после переключения будет попадать на старый сервер — столько, сколько составлял прежний TTL, иногда 86400 секунд (сутки). За 48 часов DNS-серверы успевают получить TTL 300, и новый адрес доходит до посетителей примерно за 5 минут (за 10 минут при TTL 600).\n\n## Шаг 3. Подготовьте новый сервер\n\n1. Закажите сервер и подключитесь к нему: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n2. Установите веб-сервер и среду для приложения: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt), [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp), [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii) или [Установка Docker и Docker Compose](#ghiduri.docker).\n3. Установите сервер баз данных и создайте базу и пользователя: [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date). Если имена и пароли совпадут со старым сервером, менять в конфигурации придётся меньше.\n4. Создайте конфигурацию веб-сервера для `ДОМЕН` и `www.ДОМЕН`. Сертификат Let's Encrypt вы получите на шаге 7.\n\nСетевая фильтрация, которой управляет BLACKBOX, по умолчанию пропускает SSH (22), HTTP (80), HTTPS (443) и ping. Держите базу данных на том же сервере, что и сайт; чтобы открыть другие порты, напишите в поддержку ([Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall)).\n\n## Шаг 4. Скопируйте файлы\n\n### Напрямую со старого сервера (рекомендуется)\n\nНовый сервер сам забирает файлы со старого. Подключитесь к новому серверу и запустите сеанс `tmux`, чтобы копирование продолжилось, даже если связь оборвётся:\n\n```bash\ntmux new -s migrare\n```\n\nВнутри сеанса запустите копирование; будет запрошен пароль старого сервера (при первом подключении сначала подтвердите подключение, введя `yes`):\n\n```bash\nmkdir -p /var/www/ДОМЕН\nrsync -avzP root@IP_СТАРОГО_СЕРВЕРА:СТАРЫЙ_ПУТЬ/ /var/www/ДОМЕН/\n```\n\n- Косая черта в конце `СТАРЫЙ_ПУТЬ/` означает «скопировать содержимое папки», а не саму папку.\n- Если у старого провайдера вы не `root`, укажите пользователя, которого выдал провайдер.\n- Если SSH у старого провайдера работает не на порту 22 (`ПОРТ`), укажите порт через `-e`. Так же поступите с командами `rsync` из шага 5.\n\n  ```bash\n  rsync -avzP -e \"ssh -p ПОРТ\" root@IP_СТАРОГО_СЕРВЕРА:СТАРЫЙ_ПУТЬ/ /var/www/ДОМЕН/\n  ```\n\n- Если на старый сервер вы входите по ключу со своего компьютера, загрузите ключ в `ssh-agent` ([Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) и подключитесь к новому серверу с `-A`: тогда `rsync` воспользуется вашим ключом, и копировать его на сервер не придётся.\n\n  ```bash\n  ssh -A root@IP_СЕРВЕРА\n  ```\n\n- Выйти из сеанса можно сочетанием Ctrl + B, затем D; вернуться — командой `tmux attach -t migrare`. Если `tmux` или `rsync` не установлены, установите их, как описано в статье [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n### Через ваш компьютер\n\nЕсли старый провайдер даёт только FTP или файловый менеджер, скачайте файлы (или архив из панели хостинга) на компьютер, а затем загрузите их на новый сервер через `rsync`, `scp` или SFTP-клиент, как описано в статье [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\nВ конце передайте файлы пользователю веб-сервера. В Ubuntu и Debian:\n\n```bash\nchown -R www-data:www-data /var/www/ДОМЕН\n```\n\nВ AlmaLinux и CentOS Stream это пользователь `nginx` или `apache`, а SELinux требует правильных меток: подробности — в той же статье о передаче файлов.\n\n## Шаг 5. Перенесите базу данных\n\n### MySQL или MariaDB\n\nНа старом сервере (`--single-transaction` создаёт согласованную копию, не останавливая сайт; если доступен только phpMyAdmin, воспользуйтесь его экспортом в формате SQL):\n\n```bash\nmysqldump --single-transaction --routines --triggers -u ПОЛЬЗОВАТЕЛЬ_БД -p ИМЯ_БД | gzip > ИМЯ_БД.sql.gz\n```\n\nНа новом сервере, когда база и пользователь уже созданы, заберите файл из домашней папки пользователя на старом сервере и импортируйте его:\n\n```bash\nrsync -avP root@IP_СТАРОГО_СЕРВЕРА:ИМЯ_БД.sql.gz /root/\ngunzip < /root/ИМЯ_БД.sql.gz | mysql ИМЯ_БД\n```\n\n### PostgreSQL\n\nНа старом сервере:\n\n```bash\npg_dump -Fc -h localhost -U ПОЛЬЗОВАТЕЛЬ_БД ИМЯ_БД > ИМЯ_БД.dump\n```\n\nНа новом сервере владельцем базы должен быть пользователь приложения. Если вы их ещё не создали (первая команда запросит пароль нового пользователя):\n\n```bash\nsudo -u postgres createuser --pwprompt ПОЛЬЗОВАТЕЛЬ_БД\nsudo -u postgres createdb -O ПОЛЬЗОВАТЕЛЬ_БД ИМЯ_БД\n```\n\nЗаберите дамп и восстановите его; благодаря `--role` таблицы будут принадлежать пользователю приложения:\n\n```bash\nrsync -avP root@IP_СТАРОГО_СЕРВЕРА:ИМЯ_БД.dump /tmp/\nsudo -u postgres pg_restore --no-owner --no-acl --role=ПОЛЬЗОВАТЕЛЬ_БД -d ИМЯ_БД /tmp/ИМЯ_БД.dump\n```\n\nПосле финальной синхронизации (шаг 7) удалите файлы дампа на обоих серверах.\n\n### Обновите конфигурацию приложения\n\n| Приложение | Файл | Что проверить |\n|---|---|---|\n| WordPress | `wp-config.php` | `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `DB_HOST` |\n| Laravel и другие приложения с `.env` | `.env` | `DB_HOST`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` |\n| Прочие | их файл конфигурации | адрес, имя и пароль базы, абсолютные пути |\n\nАдресом базы обычно становится `localhost` (на виртуальном хостинге база часто находилась на отдельном сервере). Оставшиеся в файлах старые пути найдёт команда ниже. Затем очистите кэш приложения, если он есть.\n\n```bash\ngrep -rl \"СТАРЫЙ_ПУТЬ\" /var/www/ДОМЕН\n```\n\n## Шаг 6. Проверьте сайт через файл hosts\n\nФайл hosts направляет домен на новый сервер только на вашем компьютере; остальные посетители по-прежнему видят старый сайт. Добавьте в конец файла строку:\n\n```text\nIP_СЕРВЕРА ДОМЕН www.ДОМЕН\n```\n\n### Windows\n\n1. В меню «Пуск» введите «Блокнот» (или «Notepad»), щёлкните по приложению правой кнопкой мыши и выберите «Запуск от имени администратора».\n2. Откройте `C:\\Windows\\System32\\drivers\\etc\\hosts` (в окне открытия включите показ всех файлов, `*.*`), добавьте строку и сохраните файл.\n3. В PowerShell очистите DNS-кэш и проверьте: в выводе `ping` должен появиться `IP_СЕРВЕРА`.\n\n   ```powershell\n   ipconfig /flushdns\n   ping -n 1 ДОМЕН\n   ```\n\n### macOS и Linux\n\n1. Откройте файл, добавьте строку, сохраните сочетанием Ctrl + O, Enter и выйдите через Ctrl + X:\n\n   ```bash\n   sudo nano /etc/hosts\n   ```\n\n2. В macOS очистите DNS-кэш:\n\n   ```bash\n   sudo dscacheutil -flushcache\n   sudo killall -HUP mDNSResponder\n   ```\n\n3. Проверьте: в выводе должен появиться `IP_СЕРВЕРА`.\n\n   ```bash\n   ping -c 1 ДОМЕН\n   ```\n\n### Что проверить\n\nПерезапустите браузер и проверьте всё, чем пользуются посетители: основные страницы, вход в административную часть, формы, загрузку изображений, поиск, корзину и оплату. Сертификата для домена на новом сервере ещё нет, поэтому по `https://` браузер покажет ошибку или предупреждение безопасности — на этом этапе это нормально. Если сайт сам переходит на `https://` и браузер не даёт продолжить, установите на новый сервер текущий сертификат со старого сервера (шаг 7, пункт 6). Пока не включайте задания cron на новом сервере, чтобы он не рассылал письма и не обрабатывал заказы параллельно со старым.\n\nПосле проверки удалите строку из файла hosts и снова очистите DNS-кэш.\n\n## Шаг 7. Финальная синхронизация и переключение\n\n1. Остановите изменения на старом сайте (режим обслуживания в приложении или временная страница), чтобы не потерять новые заказы и комментарии.\n2. Снова выполните команду `rsync` из шага 4: она докопирует только изменённые файлы.\n3. Снова экспортируйте и импортируйте базу данных, как в шаге 5. Дамп, сделанный через `mysqldump`, при импорте заменяет существующие таблицы; при экспорте из phpMyAdmin включите в настройках добавление команд `DROP TABLE`. Для PostgreSQL добавьте к `pg_restore` параметры `--clean --if-exists`.\n4. У DNS-провайдера замените значение записей A для `ДОМЕН` и `www` на `IP_СЕРВЕРА` (CNAME `www` → `ДОМЕН` можно оставить). Удалите записи AAAA, указывающие на старый хостинг. Записи MX и TXT не трогайте (исключения описаны в разделе «Почта»). Порядок действий: [Как направить домен на сервер](#domenii.indreptare-domeniu).\n5. Примерно через 5 минут (через 10 минут при TTL 600) убедитесь, что в ответе `IP_СЕРВЕРА`. Linux или macOS:\n\n   ```bash\n   dig +short ДОМЕН A @1.1.1.1\n   ```\n\n   Windows:\n\n   ```powershell\n   nslookup ДОМЕН 1.1.1.1\n   ```\n\n6. Сразу получите сертификат Let's Encrypt (для Apache — `--apache` вместо `--nginx`; установка certbot описана в статье [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt)):\n\n   ```bash\n   certbot --nginx -d ДОМЕН -d www.ДОМЕН\n   ```\n\n   До этого посетители, которые уже попадают на новый сервер по HTTPS, видят предупреждение. Чтобы обойтись без такой паузы, установите на новый сервер ещё до переключения текущий сертификат и его ключ, скопированные со старого сервера. Коммерческий сертификат переносят именно так.\n\n7. Включите задания cron на новом сервере и отключите их на старом.\n8. Следите за журналами веб-сервера (у Apache: `/var/log/apache2/` в Ubuntu и Debian, `/var/log/httpd/` в AlmaLinux и CentOS Stream) и приложения:\n\n   ```bash\n   tail -f /var/log/nginx/access.log /var/log/nginx/error.log\n   ```\n\n## Шаг 8. После переключения\n\n- Следите за журналом доступа старого сервера: когда туда перестанут приходить посетители (кроме случайных роботов), значит, все уже работают с новым сервером.\n- Оставьте старый хостинг активным ещё на несколько дней и проверьте формы, оплату, письма, которые отправляет сайт, и задания cron.\n- Верните TTL записей к 3600.\n- Настройте резервное копирование: BLACKBOX не делает автоматических резервных копий вашего сервера. См. [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n> **Необратимо**\n> Отмена старого хостинга, как правило, безвозвратно удаляет хранящиеся там файлы, базы данных и почтовые ящики. Отменяйте его только после того, как всё работает на новом сервере, почта перенесена (если она была там же) и у вас есть финальная копия старого сайта.\n\n## Почта\n\nПочта не переезжает вместе с сайтом. Что делать, подскажет запись MX, которую вы узнали на шаге 1:\n\n| Ситуация | Что делать |\n|---|---|\n| Почта у отдельного провайдера (например, Google Workspace или Microsoft 365) | Не меняйте записи MX и TXT. Меняйте только A для `ДОМЕН` и `www`. |\n| Почта на старом хостинге, а MX указывает на отдельное имя со своей записью A (например, `mail.ДОМЕН`) | Не меняйте ни MX, ни запись A этого имени. Почта работает, пока активен старый хостинг. |\n| MX указывает на сам `ДОМЕН` или на имя, которое является CNAME на `ДОМЕН` | Смена записи A перенесёт и доставку почты. Узнайте у старого провайдера имя его почтового сервера и до переключения направьте MX на него, чтобы почта осталась у провайдера. |\n| Вы хотите перенести и почтовые ящики | Почтовому серверу на VPS нужны порты (25, 465, 587, 993), которые по умолчанию закрыты в сетевой фильтрации: сначала спросите поддержку. Перенести ящики может и команда BLACKBOX — по запросу. |\n\nЕсли сайт отправляет письма (формы, уведомления), настройте отправку через SMTP-сервер вашего почтового провайдера с логином и паролем, а не напрямую с нового сервера.\n\n> **Внимание**\n> Если почта размещена в другом месте, не меняйте записи MX: новые письма будут направляться на сервер без почтовых ящиков и до вас не дойдут.\n\n## Перенос силами команды BLACKBOX\n\nНа странице «Бесплатная миграция от других провайдеров» (`blackbox.md/ru/solutions/migration`, меню «Решения» → «Миграция проектов») описана услуга переноса по запросу: файлы, базы данных, панели управления, почта и переключение DNS. Для новых клиентов с платным VPS или хостингом перенос одного VPS, хостинг-аккаунта или панели управления в новую услугу BLACKBOX заявлен как бесплатный; для сложных проектов готовится отдельная смета. Точные условия команда подтверждает при оценке.\n\nНажмите «Запросить бесплатную оценку» на этой странице или напишите нам напрямую: укажите адрес сайта, прежнего провайдера и что нужно перенести. Подробнее: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale), [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Импорт MySQL останавливается с ошибкой `Unknown collation: 'utf8mb4_0900_ai_ci'`.**\nДамп сделан в MySQL 8, а на новом сервере работает MariaDB, которая не знает такой сортировки (collation). Замените её в файле и импортируйте заново:\n\n```bash\ngunzip /root/ИМЯ_БД.sql.gz\nsed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' /root/ИМЯ_БД.sql\nmysql ИМЯ_БД < /root/ИМЯ_БД.sql\n```\n\n**На новом сервере открывается только главная страница, остальные выдают 404.**\nПравила из `.htaccess` в nginx не работают. Для WordPress и большинства PHP-приложений в конфигурации nginx нужна строка `try_files $uri $uri/ /index.php?$args;` — см. [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n**Можно ли сохранить IP-адрес старого провайдера?**\nНет. У сервера BLACKBOX свой IPv4-адрес, поэтому и меняются DNS-записи. NS-серверы домена менять не нужно.\n\n**Заказан тариф «VPS hosting» с панелью управления. Подходит ли это руководство?**\nЭтапы (инвентаризация, TTL, проверка, переключение) те же, но сайт создаётся через установленную панель. Уточните в поддержке, какая панель стоит на сервере и как импортировать в неё сайт: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n",
    "en": "This guide describes how to move a site from another provider to a BLACKBOX server with the shortest possible interruption for visitors: taking inventory, copying the files and the database, testing on your computer, and switching DNS. You run the server commands over SSH; a few checks you do on your own computer. You'll find the new server's address in the app.blackbox.md panel, on the “My Servers” page (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”), in the “IP” field.\n\n**Available to:** anyone with root SSH access to a BLACKBOX server who can change the domain's DNS. Migration done by the BLACKBOX team: on request, through support (see the last section).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The plan at a glance\n\n| Stage | When |\n|---|---|\n| 1. Inventory of the site | before you order the server |\n| 2. DNS TTL lowered to 300 | at least 48 hours before the switch |\n| 3–5. The new server, the files, the database | after the server is activated |\n| 6. Test through the hosts file | before the switch |\n| 7. Final sync and DNS change | on the day of the switch |\n| 8. Checks, with the old server still running | for a few days after the switch |\n\nUntil stage 7, visitors use the old server. The only downtime is the final sync, while the old site is in maintenance mode.\n\n## Step 1. Take inventory\n\n| What to note | How to find it and why it matters |\n|---|---|\n| The site's files | the directory (for example `public_html`) and its size: choose a plan with enough disk space |\n| Databases | the type (MySQL/MariaDB or PostgreSQL), name, user, size |\n| PHP or Node.js versions | `php -v`, `php -m` (the modules), `node -v`: install the same versions |\n| Web server | nginx or Apache; nginx does not read `.htaccess`, so the rules in it must be rewritten in the nginx configuration |\n| Configuration files | `wp-config.php`, `.env`, `config.php`: the database host, passwords, paths |\n| Cron jobs | `crontab -l` or the cron section in the old hosting's control panel |\n| Email | where the mailboxes are and what the MX record points to (see the “Email” section) |\n| SSL certificate | Let's Encrypt or commercial; you copy a commercial certificate over, together with its private key |\n| DNS | who manages it: that is where you change the TTL and the address |\n\nOn the old server, if you have SSH access (`OLD_PATH` is the site's directory):\n\n```bash\ndu -sh OLD_PATH\nphp -v\nphp -m\ncrontab -l\n```\n\nOn shared hosting, the site's PHP version may differ from the one `php -v` shows: check it in the hosting control panel as well.\n\nOn your computer, find out who manages the DNS (NS) and where email is delivered (MX). Linux or macOS:\n\n```bash\ndig +short NS DOMAIN\ndig +short MX DOMAIN\n```\n\nWindows:\n\n```powershell\nnslookup -type=NS DOMAIN\nnslookup -type=MX DOMAIN\n```\n\nThen choose the plan and the operating system ([VPS plans: how to choose](#comenzi.planuri-vps), [Available operating systems](#comenzi.sisteme-operare)). The disk must also have room for the export files. The PHP version in the standard repositories:\n\n| System | PHP |\n|---|---|\n| Ubuntu 24.04 LTS / 22.04 LTS / 20.04 LTS | 8.3 / 8.1 / 7.4 |\n| Debian 12 / Debian 11 | 8.2 / 7.4 |\n| AlmaLinux 9, CentOS Stream 9 | 8.0; newer versions as modules (`dnf module list php`) |\n\n## Step 2. Lower the TTL 48 hours in advance\n\nThe TTL tells DNS servers around the world how long to keep an answer in their cache. At least 48 hours before the switch, set the TTL of the A records (and of the AAAA or CNAME records, if there are any) for `DOMAIN` and `www` to 300 seconds. Do not change the IP address yet. Check the result at the domain's name server (`NS_SERVER` is one of the names returned by the NS command above); the number after the name is the TTL:\n\n```bash\ndig +noall +answer DOMAIN A @NS_SERVER\n```\n\nOn Windows, look for the `ttl =` line in the output:\n\n```powershell\nnslookup -debug -type=A DOMAIN NS_SERVER\n```\n\n- If you have connected your Cloudflare or GoDaddy account on the panel's “DNS” page, click the pencil (“Edit”) on the record's row, choose the TTL from the list and click “Save”: on Cloudflare, 300; on GoDaddy, the lowest value in the list is 600 (10 minutes). See [Managing DNS records from the panel](#servicii.dns-inregistrari). With another DNS provider, change the TTL in that provider's control panel.\n- On Cloudflare, “Proxied” records (the “Proxied” checkbox in the panel) have an automatic TTL, and an IP address change takes effect almost immediately. With the “Full (strict)” SSL mode, the new server needs a valid certificate from the moment of the switch: the simplest option is to set the records to “DNS only” for the duration of the move and turn the proxy back on once HTTPS works.\n\n> **Important**\n> If you skip this step, some visitors may keep reaching the old server long after the switch: for as long as the old TTL, sometimes 86400 seconds (one day). After 48 hours, DNS servers have picked up the TTL of 300, and the new address reaches visitors in about 5 minutes (10 minutes with a TTL of 600).\n\n## Step 3. Prepare the new server\n\n1. Order the server and connect to it: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n2. Install the web server and the language your application runs on: [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt), [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp), [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii) or [Installing Docker and Docker Compose](#ghiduri.docker).\n3. Install the database server and create the database and the user: [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date). If you use the same names and passwords as on the old server, you have less to change.\n4. Create the web server configuration for `DOMAIN` and `www.DOMAIN`. You get the Let's Encrypt certificate in step 7.\n\nThe network filtering managed by BLACKBOX allows SSH (22), HTTP (80), HTTPS (443) and ping by default. Keep the database on the same server as the site; for other ports, write to support ([Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall)).\n\n## Step 4. Copy the files\n\n### Directly from the old server (recommended)\n\nThe new server pulls the files from the old one. Connect to the new server and start a `tmux` session, so the copy keeps running even if your connection drops:\n\n```bash\ntmux new -s migrare\n```\n\nIn the session, run the copy; you'll be asked for the old server's password (on the first connection, confirm with `yes` first):\n\n```bash\nmkdir -p /var/www/DOMAIN\nrsync -avzP root@OLD_SERVER_IP:OLD_PATH/ /var/www/DOMAIN/\n```\n\n- The trailing slash in `OLD_PATH/` copies the contents of the directory, not the directory itself.\n- If you are not `root` at the old provider, use the user that provider gave you.\n- If the old provider's SSH uses a port other than 22 (`PORT`), add it with `-e`. Do the same for the `rsync` commands in step 5.\n\n  ```bash\n  rsync -avzP -e \"ssh -p PORT\" root@OLD_SERVER_IP:OLD_PATH/ /var/www/DOMAIN/\n  ```\n\n- If you log in there with a key from your computer, load the key into `ssh-agent` ([Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh)) and connect to the new server with `-A`, so that `rsync` uses the key without your having to copy it to the server:\n\n  ```bash\n  ssh -A root@SERVER_IP\n  ```\n\n- Leave the session with Ctrl + B, then D; return to it with `tmux attach -t migrare`. If `tmux` or `rsync` is missing, install them as shown in [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n### Through your computer\n\nIf the old provider offers only FTP or a file manager, download the files (or an archive from the hosting control panel) to your computer and upload them to the new server with `rsync`, `scp` or an SFTP client, as described in [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\nFinally, give ownership of the files to the web server user. On Ubuntu and Debian:\n\n```bash\nchown -R www-data:www-data /var/www/DOMAIN\n```\n\nOn AlmaLinux and CentOS Stream, the user is `nginx` or `apache`, and SELinux requires the correct labels: the details are in the same article on transferring files.\n\n## Step 5. Move the database\n\n### MySQL or MariaDB\n\nOn the old server (`--single-transaction` makes a consistent copy without stopping the site; if you only have phpMyAdmin, use its export in SQL format):\n\n```bash\nmysqldump --single-transaction --routines --triggers -u DATABASE_USER -p DATABASE_NAME | gzip > DATABASE_NAME.sql.gz\n```\n\nOn the new server, after you have created the database and the user, fetch the file from the old user's home directory and import it:\n\n```bash\nrsync -avP root@OLD_SERVER_IP:DATABASE_NAME.sql.gz /root/\ngunzip < /root/DATABASE_NAME.sql.gz | mysql DATABASE_NAME\n```\n\n### PostgreSQL\n\nOn the old server:\n\n```bash\npg_dump -Fc -h localhost -U DATABASE_USER DATABASE_NAME > DATABASE_NAME.dump\n```\n\nOn the new server, the database must be owned by the application's user. If you haven't created them yet (the first command asks for the new user's password):\n\n```bash\nsudo -u postgres createuser --pwprompt DATABASE_USER\nsudo -u postgres createdb -O DATABASE_USER DATABASE_NAME\n```\n\nFetch the export and restore it; with `--role`, the tables belong to the application's user:\n\n```bash\nrsync -avP root@OLD_SERVER_IP:DATABASE_NAME.dump /tmp/\nsudo -u postgres pg_restore --no-owner --no-acl --role=DATABASE_USER -d DATABASE_NAME /tmp/DATABASE_NAME.dump\n```\n\nAfter the final sync (step 7), delete the export files from both servers.\n\n### Update the application's configuration\n\n| Application | File | What to check |\n|---|---|---|\n| WordPress | `wp-config.php` | `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `DB_HOST` |\n| Laravel and other applications with `.env` | `.env` | `DB_HOST`, `DB_DATABASE`, `DB_USERNAME`, `DB_PASSWORD` |\n| Others | their configuration file | the database host, name and password, absolute paths |\n\nThe database host usually becomes `localhost` (on shared hosting it was often a different server). To find old paths left in the files, use the command below. Then clear the application's cache, if it has one.\n\n```bash\ngrep -rl \"OLD_PATH\" /var/www/DOMAIN\n```\n\n## Step 6. Test through the hosts file\n\nThe hosts file points the domain to the new server only on your computer; other visitors still see the old site. Add this line at the end of the file:\n\n```text\nSERVER_IP DOMAIN www.DOMAIN\n```\n\n### Windows\n\n1. In the Start menu, type “Notepad”, right-click the app and choose “Run as administrator”.\n2. Open `C:\\Windows\\System32\\drivers\\etc\\hosts` (in the Open dialog, choose to show all files, `*.*`), add the line and save.\n3. In PowerShell, clear the DNS cache and check: the `ping` output must show `SERVER_IP`.\n\n   ```powershell\n   ipconfig /flushdns\n   ping -n 1 DOMAIN\n   ```\n\n### macOS and Linux\n\n1. Open the file, add the line, save with Ctrl + O, Enter, and exit with Ctrl + X:\n\n   ```bash\n   sudo nano /etc/hosts\n   ```\n\n2. On macOS, clear the DNS cache:\n\n   ```bash\n   sudo dscacheutil -flushcache\n   sudo killall -HUP mDNSResponder\n   ```\n\n3. Check: the output must show `SERVER_IP`.\n\n   ```bash\n   ping -c 1 DOMAIN\n   ```\n\n### What to test\n\nReopen your browser and check everything visitors use: the main pages, the admin area, forms, image uploads, search, the cart and checkout. The new server does not have a certificate for the domain yet, so at `https://` the browser shows an error or a security warning: during this test, that is normal. If the site switches to `https://` on its own and the browser won't let you continue, install the current certificate from the old server on the new server (step 7, item 6). Do not start the cron jobs on the new server yet, so that it doesn't send emails or process orders in parallel with the old server.\n\nAfter the test, delete the line from the hosts file and clear the DNS cache again.\n\n## Step 7. Final sync and switchover\n\n1. Stop changes on the old site (the application's maintenance mode or a temporary page), so that no new orders or comments are lost.\n2. Run the `rsync` command from step 4 again: it copies only the files that have changed.\n3. Export and import the database again, as in step 5. An export made with `mysqldump` replaces the existing tables on import; when you export from phpMyAdmin, enable the option to add `DROP TABLE` statements. For PostgreSQL, add `--clean --if-exists` to `pg_restore`.\n4. At your DNS provider, change the value of the A records for `DOMAIN` and `www` to `SERVER_IP` (a CNAME `www` → `DOMAIN` can stay as it is). Delete the old hosting's AAAA records. Do not change the MX and TXT records (the exceptions are in the “Email” section). The steps: [How to point your domain to the server](#domenii.indreptare-domeniu).\n5. After about 5 minutes (10 minutes with a TTL of 600), check that the answer is `SERVER_IP`. Linux or macOS:\n\n   ```bash\n   dig +short DOMAIN A @1.1.1.1\n   ```\n\n   Windows:\n\n   ```powershell\n   nslookup DOMAIN 1.1.1.1\n   ```\n\n6. Get the Let's Encrypt certificate right away (with Apache, use `--apache` instead of `--nginx`; to install certbot, see [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt)):\n\n   ```bash\n   certbot --nginx -d DOMAIN -d www.DOMAIN\n   ```\n\n   Until then, visitors who already reach the new server over HTTPS see a warning. To avoid this gap, install the current certificate and its key, copied from the old server, on the new server before the switch. A commercial certificate is moved this way in any case.\n\n7. Start the cron jobs on the new server and stop them on the old one.\n8. Watch the web server logs (with Apache: `/var/log/apache2/` on Ubuntu and Debian, `/var/log/httpd/` on AlmaLinux and CentOS Stream) and the application's logs:\n\n   ```bash\n   tail -f /var/log/nginx/access.log /var/log/nginx/error.log\n   ```\n\n## Step 8. After the switch\n\n- Watch the old server's access log: when visitors stop arriving and you see only the occasional bot, everyone is using the new server.\n- Keep the old hosting active for a few days and check the forms, payments, the emails the site sends, and the cron jobs.\n- Set the TTL of the records back to 3600.\n- Set up backups: BLACKBOX does not make automatic backups of your server. See [Backup strategy for your server](#ghiduri.strategie-backup).\n\n> **Irreversible**\n> Canceling the old hosting usually deletes the files, databases and mailboxes there permanently. Cancel it only after everything works on the new server, your email has been moved (if it was hosted there too) and you have a final copy of the old site.\n\n## Email\n\nEmail does not move together with the site. The MX record you found in step 1 tells you what to do:\n\n| Situation | What to do |\n|---|---|\n| Email is with a separate provider (for example Google Workspace or Microsoft 365) | Do not change the MX and TXT records. Change only the A records for `DOMAIN` and `www`. |\n| Email is at the old hosting, and MX points to a separate name with its own A record (for example `mail.DOMAIN`) | Change neither the MX record nor that name's A record. Email keeps working as long as the old hosting is active. |\n| MX points to `DOMAIN` itself or to a name that is a CNAME to `DOMAIN` | Changing the A record would also move email delivery. Ask the old provider for the name of its mail server and point MX to it before the switch, so that your email stays with that provider. |\n| You want to move the mailboxes too | A mail server on a VPS needs ports (25, 465, 587, 993) that are not open by default in the network filtering: ask support first. The BLACKBOX team can also move the mailboxes, on request. |\n\nIf the site sends emails (forms, notifications), configure it to send them through your email provider's SMTP server, with a username and password, not directly from the new server.\n\n> **Warning**\n> If your email is hosted elsewhere, do not change the MX records: new messages would be sent to a server that has no mailboxes and would no longer reach you.\n\n## Migration by the BLACKBOX team\n\nThe page “Migrare gratuită de la alți furnizori” (Free migration from other providers), at `blackbox.md/solutions/migration` (the “Soluții” (Solutions) menu → “Migrarea proiectelor” (Project migration)), describes the on-request migration service: files, databases, control panels, email and the DNS switch. For new customers with a paid VPS or hosting plan, migrating a single VPS, hosting account or control panel to a new BLACKBOX service is advertised as free; complex projects get a separate quote. The team confirms the exact terms during the assessment.\n\nClick “Cere o evaluare gratuită” (Request a free assessment) on that page or write to us directly with the site's address, the old provider and what needs to be moved: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale), [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**The MySQL import stops with the error `Unknown collation: 'utf8mb4_0900_ai_ci'`.**\nThe export comes from MySQL 8, and the new server runs MariaDB, which doesn't know this collation. Replace it in the file and import again:\n\n```bash\ngunzip /root/DATABASE_NAME.sql.gz\nsed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' /root/DATABASE_NAME.sql\nmysql DATABASE_NAME < /root/DATABASE_NAME.sql\n```\n\n**On the new server, only the home page opens; the other pages return 404.**\nThe rules in `.htaccess` don't work with nginx. For WordPress and most PHP applications, the nginx configuration needs `try_files $uri $uri/ /index.php?$args;`: see [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n**Can I keep the IP address from my old provider?**\nNo. The BLACKBOX server has its own IPv4 address; that is why the DNS records change. You don't need to change the domain's name servers (NS).\n\n**I ordered a “VPS hosting” plan with a control panel. Does this guide apply?**\nThe stages (inventory, TTL, test, switch) are the same, but the site is created through the installed panel. Ask support which panel your server has and how to import the site: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n"
   }
  },
  {
   "id": "ghiduri.email-din-aplicatii",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/email-din-aplicatii/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/email-din-aplicatii/",
    "en": "https://docs.blackbox.md/en/ghiduri/email-din-aplicatii/"
   },
   "title": {
    "ro": "Trimiterea emailurilor din site și aplicații (SMTP)",
    "ru": "Отправка писем с сайта и из приложений (SMTP)",
    "en": "Sending email from your website and applications (SMTP)"
   },
   "summary": {
    "ro": "Cum configurați site-ul, aplicația sau serverul să trimită emailuri printr-un serviciu SMTP autentificat, ce înregistrări SPF, DKIM și DMARC adăugați și ce cereți suportului pentru un server de email propriu.",
    "ru": "Как настроить отправку писем с сайта, из приложения или с сервера через SMTP-сервис с авторизацией, какие записи SPF, DKIM и DMARC добавить и что запросить у поддержки для собственного почтового сервера.",
    "en": "How to set up your website, application or server to send email through an authenticated SMTP service, which SPF, DKIM and DMARC records to add, and what to ask support for a mail server of your own."
   },
   "markdown": {
    "ro": "Pe un server nou, de regulă nu este configurat un serviciu de trimitere a emailurilor: formularele de contact, resetările de parolă și mesajele sarcinilor cron nu pleacă. Ghidul arată cum le trimiteți, cu autentificare, prin serverul SMTP al furnizorului de email al domeniului sau al unui serviciu de email tranzacțional și ce înregistrări DNS adăugați. Comenzile se rulează pe server, ca `root`, într-o sesiune SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)); adresa IP a serverului este în panoul app.blackbox.md, „Infrastructură” → „Serverele mele”, câmpul „IP”.\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX. Pe un plan „VPS hosting” cu panou de control, întrebați întâi suportul ce panou este instalat: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n## Ce vă trebuie de la furnizorul de email\n\nFolosiți serverul SMTP al furnizorului la care este emailul domeniului dvs. sau un serviciu de email tranzacțional. Din documentația furnizorului notați:\n\n| Ce | Valori uzuale | În acest ghid |\n|---|---|---|\n| Serverul SMTP | numele dat de furnizor | `SMTP_HOST` |\n| Portul și criptarea | 587 cu STARTTLS sau 465 cu TLS | `587` |\n| Utilizatorul și parola | adresa de email și parola ei, o parolă de aplicație sau o cheie API, după cum indică furnizorul | `UTILIZATOR_SMTP`, `PAROLA_SMTP` |\n| Adresa expeditorului | o adresă a domeniului dvs., permisă de furnizor | `ADRESA@DOMENIU` |\n\nÎn multe aplicații, STARTTLS (portul 587) apare ca „TLS”, iar TLS de la conectare (portul 465) apare ca „SSL”.\n\nDe ce nu trimiteți direct de pe adresa IP a serverului: serverele destinatare verifică reputația adresei IP care trimite și înregistrarea ei inversă (PTR), iar o adresă nouă nu are încă reputație. Reverse DNS (PTR) nu se setează din panou: scrieți-ne IP-ul serverului și numele dorit. Prin serviciul SMTP, mesajele pleacă de pe serverele furnizorului, care trec deja aceste verificări.\n\n> **Securitate**\n> Parola SMTP sau cheia API permite oricui o are să trimită emailuri în numele domeniului dvs. Nu o puneți în depozite git publice, în capturi de ecran sau în tichete. Dați fișierelor care o conțin permisiunile `600`, ca să le poată citi doar proprietarul. Dacă furnizorul permite, creați un utilizator sau o cheie separată doar pentru trimitere, în locul parolei căsuței dvs. de email.\n\n## Pasul 1. Verificați conexiunea la serverul SMTP\n\n1. Instalați utilitarul `nc`. Ubuntu și Debian:\n\n   ```bash\n   apt update\n   apt install -y netcat-openbsd\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   dnf install -y nmap-ncat\n   ```\n\n2. Testați portul:\n\n   ```bash\n   nc -vz -w 5 SMTP_HOST 587\n   ```\n\n   Rezultatul bun conține `succeeded` (Ubuntu, Debian) sau `Connected` (AlmaLinux, CentOS Stream). `timed out` sau `TIMEOUT` înseamnă că serverul SMTP nu a răspuns în 5 secunde.\n\n3. Verificați criptarea:\n\n   ```bash\n   openssl s_client -starttls smtp -connect SMTP_HOST:587 -crlf\n   ```\n\n   După certificat trebuie să apară `Verify return code: 0 (ok)`. Scrieți apoi rândurile de mai jos, apăsând Enter după fiecare. Răspunsul la `EHLO` trebuie să conțină un rând cu `AUTH`, iar `QUIT` închide conexiunea.\n\n   ```text\n   EHLO test\n   QUIT\n   ```\n\nPentru portul 465 testați cu:\n\n```bash\nnc -vz -w 5 SMTP_HOST 465\nopenssl s_client -connect SMTP_HOST:465 -crlf\n```\n\nDacă testul dă `timed out` sau `TIMEOUT`:\n\n1. Verificați firewall-ul din sistem. ufw și firewalld lasă implicit să iasă tot traficul; dacă ați restricționat traficul de ieșire, permiteți portul: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n2. Încercați celălalt port (465 în loc de 587 sau invers).\n3. Dacă tot nu merge, scrieți suportului adresa IP a serverului (`IP_SERVER`), portul și numele serverului SMTP: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Pasul 2. Configurați aplicația\n\n### WordPress\n\nWordPress trimite implicit prin funcția `mail()` a PHP, care pe un server nou nu are prin ce trimite. Instalați un plugin SMTP din directorul de plugin-uri WordPress și completați în setările lui:\n\n- serverul: `SMTP_HOST`;\n- portul: 587, criptarea TLS (STARTTLS); sau portul 465, criptarea SSL;\n- autentificarea activată, cu utilizatorul și parola sau cheia API;\n- adresa expeditorului: `ADRESA@DOMENIU`.\n\nTrimiteți apoi emailul de test din plugin. Instalarea WordPress: [WordPress pe LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n### Alte aplicații și framework-uri\n\nCompletați setările SMTP în configurația aplicației sau în fișierul `.env`. Numele variabilelor diferă de la o aplicație la alta: folosiți-le pe cele din documentația ei. Un exemplu:\n\n```ini\nMAIL_HOST=SMTP_HOST\nMAIL_PORT=587\nMAIL_ENCRYPTION=tls\nMAIL_USERNAME=UTILIZATOR_SMTP\nMAIL_PASSWORD=PAROLA_SMTP\nMAIL_FROM_ADDRESS=ADRESA@DOMENIU\n```\n\nLăsați fișierul cu parola în afara depozitului git (adăugați-l în `.gitignore`) și permiteți citirea lui doar utilizatorului sub care rulează aplicația, de exemplu `www-data`:\n\n```bash\nchown www-data:www-data /var/www/APLICATIE/.env\nchmod 600 /var/www/APLICATIE/.env\n```\n\nReporniți aplicația, ca să citească noile setări.\n\nPe AlmaLinux și CentOS Stream, SELinux blochează implicit conexiunile din PHP (inclusiv WordPress) spre serverul SMTP. Permiteți-le:\n\n```bash\nsetsebool -P httpd_can_sendmail 1\n```\n\n## Pasul 3. Trimiterea de pe server cu msmtp (opțional)\n\nSarcinile cron, funcția `mail()` din PHP și programele care apelează `sendmail` au nevoie de un program care predă mesajele mai departe. msmtp le trimite prin serverul SMTP al furnizorului, cu aceleași date. El nu primește emailuri și nu ține o coadă de mesaje.\n\n### Ubuntu și Debian\n\n```bash\napt update\napt install msmtp msmtp-mta\n```\n\n- Pachetul `msmtp-mta` creează comanda `/usr/sbin/sendmail`, pe care o folosesc cron și PHP.\n- La întrebarea „Enable AppArmor support?” lăsați răspunsul implicit, „No”.\n\n> **Atenție**\n> Dacă apt anunță că va șterge pachete (`The following packages will be REMOVED`), de exemplu `postfix` sau `exim4`, răspundeți `n`. Pe server rulează deja un program de email, folosit de un panou de control sau de un server de email propriu: nu-l înlocuiți cu msmtp, ci întrebați suportul.\n\n### AlmaLinux și CentOS Stream\n\n1. Verificați întâi dacă pe server există deja un program de email:\n\n   ```bash\n   ls -l /usr/sbin/sendmail\n   ```\n\n   Rezultatul bun conține „No such file or directory”. Dacă fișierul există, pe server rulează deja un program de email, folosit de un panou de control sau de un server de email propriu: nu instalați msmtp, ci întrebați suportul.\n\n2. Instalați msmtp din depozitul EPEL:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y msmtp nano\n   ```\n\n3. Pachetul `msmtp` creează și comanda `/usr/sbin/sendmail`, pe care o folosesc cron și PHP. Verificați:\n\n   ```bash\n   readlink -e /usr/sbin/sendmail\n   ```\n\n   Rezultatul trebuie să fie `/usr/bin/msmtp`. Dacă comanda nu afișează nimic, creați legătura:\n\n   ```bash\n   ln -s /usr/bin/msmtp /usr/sbin/sendmail\n   ```\n\n### Fișierul de configurare\n\n1. Creați fișierul:\n\n   ```bash\n   nano /etc/msmtprc\n   ```\n\n2. Lipiți conținutul de mai jos, înlocuiți valorile cu majuscule, salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X:\n\n   ```text\n   defaults\n   auth           on\n   tls            on\n   tls_starttls   on\n   tls_trust_file /etc/ssl/certs/ca-certificates.crt\n   syslog         LOG_MAIL\n\n   account        default\n   host           SMTP_HOST\n   port           587\n   from           ADRESA@DOMENIU\n   set_from_header on\n   user           UTILIZATOR_SMTP\n   password       PAROLA_SMTP\n   ```\n\n   | Rândul | Ce face |\n   |---|---|\n   | `tls_trust_file` | fișierul cu autoritățile de certificare de încredere; pe AlmaLinux și CentOS Stream scrieți `/etc/pki/tls/certs/ca-bundle.crt` |\n   | `port 587` și `tls_starttls on` | pentru portul 465 scrieți `port 465` și `tls_starttls off` |\n   | `from` | adresa expeditorului; trebuie să fie permisă de furnizor |\n   | `set_from_header on` | pune adresa din rândul `from` în antetul „From” al fiecărui mesaj; fără el, mesajele cron pleacă de la `root`, iar unii furnizori le resping |\n   | `syslog LOG_MAIL` | scrie în jurnalul sistemului câte un rând pentru fiecare mesaj trimis |\n\n3. Permiteți citirea fișierului doar lui `root`:\n\n   ```bash\n   chmod 600 /etc/msmtprc\n   ```\n\n### Testul\n\n```bash\nprintf 'Subject: Test\\n\\nTest' | msmtp ADRESA_DESTINATAR\n```\n\nDacă comanda nu afișează nimic, mesajul a fost predat furnizorului. Verificați căsuța destinatarului, inclusiv dosarul Spam. Rezultatul trimiterii îl vedeți în jurnal:\n\n```bash\njournalctl -t msmtp -n 20\n```\n\nUn rând reușit se termină cu `exitcode=EX_OK`. La o eroare, msmtp afișează mesajul serverului SMTP: vedeți tabelul „Probleme frecvente” de mai jos.\n\n### PHP\n\n1. Configurați PHP-FPM să trimită prin msmtp, apoi reîncărcați-l. Ubuntu 24.04 (pe alt sistem, înlocuiți `8.3` cu versiunea PHP instalată, de exemplu `8.2` pe Debian 12):\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php/8.3/fpm/conf.d/99-msmtp.ini\n   systemctl reload php8.3-fpm\n   ```\n\n   AlmaLinux și CentOS Stream:\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php.d/99-msmtp.ini\n   systemctl reload php-fpm\n   ```\n\n2. PHP rulează ca `www-data` (Ubuntu, Debian) sau `apache` (AlmaLinux, CentOS Stream) și nu poate citi un fișier `600` al lui `root`. Dați drept de citire grupului acestui utilizator. Ubuntu și Debian:\n\n   ```bash\n   chown root:www-data /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   ```\n\n   AlmaLinux și CentOS Stream, unde SELinux trebuie să permită și trimiterea din PHP:\n\n   ```bash\n   chown root:apache /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   setsebool -P httpd_can_sendmail 1\n   ```\n\nAstfel, orice cod PHP de pe server poate citi datele SMTP: încă un motiv să folosiți un utilizator SMTP separat, doar pentru trimitere.\n\n### Cron\n\nCron trimite rezultatul sarcinilor la adresa din variabila `MAILTO`. Fără ea, trimite la utilizatorul local (de exemplu `root`), o adresă pe care serverul SMTP nu o poate livra.\n\n1. Deschideți crontab-ul:\n\n   ```bash\n   crontab -e\n   ```\n\n2. Adăugați la început rândul de mai jos și salvați:\n\n   ```text\n   MAILTO=ADRESA_DESTINATAR\n   ```\n\n## Pasul 4. Adăugați SPF, DKIM și DMARC\n\nFără aceste înregistrări TXT, mesajele ajung des în Spam sau sunt respinse. Valorile exacte vi le dă furnizorul de email. Ce face fiecare înregistrare: secțiunea „Bune practici pentru trimiterea emailurilor” din [Politica de utilizare acceptabilă: ce nu este permis](#legal.utilizare-acceptabila).\n\n| Înregistrare | „Nume” | „Conținut” |\n|---|---|---|\n| SPF | `@` | `v=spf1 include:SPF_FURNIZOR ~all` |\n| DKIM | `SELECTOR._domainkey` | valoarea `v=DKIM1; …` dată de furnizor |\n| DMARC | `_dmarc` | `v=DMARC1; p=none; rua=mailto:ADRESA@DOMENIU` |\n\n- Un domeniu are o singură înregistrare SPF. Dacă există deja una, adăugați în ea `include:` al furnizorului, nu creați a doua. Adăugați `ip4:IP_SERVER` doar dacă serverul trimite el însuși, fără serviciu SMTP (de exemplu, un server de email propriu).\n- `SELECTOR` este numele dat de furnizor. Unii furnizori dau cheia DKIM ca înregistrare CNAME: dacă valoarea ei conține caracterul `_`, adăugați-o direct în contul furnizorului DNS, nu din panou.\n- Începeți DMARC cu `p=none`. Treceți la `quarantine` sau `reject` după ce rapoartele arată că mesajele dvs. trec verificarea.\n\nÎnregistrările se adaugă la furnizorul DNS al domeniului. Dacă ați conectat Cloudflare sau GoDaddy, le puteți adăuga din pagina „DNS” a panoului (`app.blackbox.md/dns`): „Adaugă înregistrare”, tipul TXT, câmpurile „Nume” și „Conținut”, apoi „Salvează”. Pașii: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari).\n\nDupă câteva minute, verificați pe server sau pe calculatorul dvs. (Linux, macOS):\n\n```bash\ndig +short TXT DOMENIU\ndig +short TXT _dmarc.DOMENIU\ndig +short TXT SELECTOR._domainkey.DOMENIU\n```\n\nFiecare comandă trebuie să afișeze valoarea adăugată, între ghilimele. Pe Windows folosiți:\n\n```powershell\nnslookup -type=TXT DOMENIU\n```\n\nDacă `dig` lipsește pe server, instalați-l. Ubuntu și Debian:\n\n```bash\napt install -y dnsutils\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y bind-utils\n```\n\n## Verificați livrarea\n\n| Unde | Ce căutați |\n|---|---|\n| Jurnalul msmtp: `journalctl -t msmtp` | `exitcode=EX_OK` la fiecare mesaj |\n| Postfix, dacă îl folosiți: `journalctl -u 'postfix*'`; dacă sistemul are rsyslog, și `/var/log/mail.log` (Ubuntu, Debian) sau `/var/log/maillog` (AlmaLinux, CentOS Stream) | `status=sent` |\n| Căsuța destinatarului: mesajul original (sursa, cu antetele complete) | rândul `Authentication-Results`, cu `spf=pass`, `dkim=pass` și `dmarc=pass` |\n\n## Server de email propriu\n\nDacă vreți căsuțe de email pe server sau să primiți emailuri (Postfix și Dovecot ori emailul unui panou de control):\n\n- Un server de email pe VPS are nevoie de porturi (25, 465, 587, 993) care nu sunt deschise implicit în filtrarea din rețea. Filtrarea administrată de BLACKBOX lasă deschise implicit porturile 22, 80 și 443 și ping; alte porturi, la cerere, prin suport ([Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall)).\n- Serverul trimite direct altor servere de email, deci contează reputația adresei IP și înregistrarea PTR. Reverse DNS (PTR) nu se setează din panou: scrieți-ne IP-ul serverului și numele dorit.\n- Pentru căsuțe de email, un furnizor specializat este de obicei mai simplu: nu administrați singur filtrarea spamului, reputația adresei și copiile de rezervă ale mesajelor.\n- Pe un plan „VPS hosting”, întrebați suportul ce panou de control este instalat: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n\n> **Important**\n> Întrebați suportul **înainte** de a instala un server de email. Scrieți adresa IP a serverului, numărul comenzii (`BBX-…`) și porturile de care aveți nevoie.\n\n## Regulile pentru trimiterea emailurilor\n\nCapitolul 2 din „Termeni și condiții” (`blackbox.md/info/terms`) interzice:\n\n- spamul „în orice formă” trimis prin serviciile BLACKBOX, precum și spamul trimis prin alt furnizor pentru a face reclamă unor resurse găzduite la BLACKBOX (punctul 2.2);\n- adăugarea adreselor în liste de distribuție fără double opt-in. Dovezile consimțământului se păstrează cât timp există lista, iar listele cumpărate sau închiriate sunt interzise (punctul 2.3).\n\nTrimiteți newsletterele și campaniile în masă printr-un serviciu specializat de email, nu prin SMTP-ul obișnuit al unei căsuțe. Detalii: [Politica de utilizare acceptabilă: ce nu este permis](#legal.utilizare-acceptabila).\n\nO coadă de emailuri care tot crește sau mesaje pe care nu le-ați trimis pot însemna că serverul sau site-ul a fost spart: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n## Probleme frecvente\n\n| Mesaj sau simptom | Cauza | Ce faceți |\n|---|---|---|\n| `Connection timed out`, `timed out` sau `TIMEOUT` pe portul 587 sau 465 | traficul de ieșire spre serverul SMTP nu trece | verificați regulile ufw/firewalld, încercați celălalt port, apoi scrieți suportului IP-ul serverului, portul și serverul SMTP |\n| `535` sau „authentication failed” | utilizator sau parolă greșită, ori furnizorul cere o parolă de aplicație sau o cheie API | verificați datele; creați la furnizor o parolă de aplicație sau o cheie API |\n| „Relay access denied” sau „Sender address rejected” | furnizorul nu permite adresa expeditorului | trimiteți de pe o adresă permisă de furnizor; la unii furnizori adăugați și verificați întâi domeniul |\n| Mesajele ajung în Spam | lipsesc SPF, DKIM sau DMARC, ori domeniul expeditorului diferă de cel autentificat | adăugați înregistrările de la pasul 4 și trimiteți de pe o adresă a domeniului verificat la furnizor |\n| `sendmail: not found` | lipsește comanda `sendmail` | Ubuntu și Debian: instalați `msmtp-mta`; AlmaLinux și CentOS Stream: creați legătura de la pasul 3 |\n| `cannot set X509 trust file` | `tls_trust_file` indică fișierul altei distribuții | folosiți calea pentru sistemul dvs. din tabelul de la pasul 3 |\n| `account default not found: no configuration file available`, la trimiterea din PHP | utilizatorul PHP nu poate citi `/etc/msmtprc` | aplicați `chown` și `chmod 640` din secțiunea PHP |\n| Pe AlmaLinux sau CentOS Stream, PHP nu trimite, deși testul din consolă reușește | SELinux blochează trimiterea din PHP | rulați comanda `setsebool` din secțiunea PHP |\n\n## Întrebări frecvente\n\n**Pot comanda căsuțe de email de la BLACKBOX?**\nNu din cont: căsuțele de email nu se comandă online. Întrebați suportul ce vă poate oferi: [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere).\n\n**Poate asistentul AI să configureze trimiterea emailurilor?**\nDa, cu unealta `run_server_command` și un token cu permisiunea „Rulează orice comandă ca root pe serverele mele” (`servers:exec`): [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server). Datele SMTP pe care i le dați ajung la furnizorul modelului AI: folosiți un utilizator SMTP separat și schimbați-i parola dacă ați lipit-o într-o conversație ([Securitatea token-urilor și a agenților AI](#ai.securitate)).\n\n**Trebuie să configurez și aplicația, și msmtp?**\nNu neapărat. Dacă aplicația are setări SMTP proprii (pasul 2), acestea sunt suficiente. msmtp vă trebuie pentru cron, pentru funcția `mail()` din PHP și pentru programele care apelează `sendmail`. Cu msmtp configurat pentru PHP, și WordPress trimite fără plugin SMTP.\n\n**Am mutat site-ul de la alt furnizor și formularele nu mai trimit emailuri. De ce?**\nLa vechea găzduire, trimiterea era de obicei configurată de furnizor. Pe serverul BLACKBOX o configurați dvs., cu pașii de mai sus. Despre mutarea emailului: [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site).\n",
    "ru": "На новом сервере сервис отправки почты, как правило, не настроен: письма контактных форм, сброса пароля и задач cron никуда не уходят. В этом руководстве описано, как отправлять их с авторизацией через SMTP-сервер почтового провайдера вашего домена или сервиса транзакционной почты и какие DNS-записи добавить. Команды выполняются на сервере под `root` в SSH-сессии ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)); IP-адрес сервера указан в панели app.blackbox.md: «Инфраструктура» → «Мои серверы», поле «IP».\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX. На тарифе «VPS hosting» с панелью управления сначала уточните в поддержке, какая панель установлена: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n## Что нужно получить у почтового провайдера\n\nИспользуйте SMTP-сервер провайдера, у которого размещена почта вашего домена, или сервис транзакционной почты. В документации провайдера найдите:\n\n| Что | Обычные значения | В этом руководстве |\n|---|---|---|\n| SMTP-сервер | имя, которое указал провайдер | `SMTP_HOST` |\n| Порт и шифрование | 587 со STARTTLS или 465 с TLS | `587` |\n| Логин и пароль | адрес почты и его пароль, пароль приложения или API-ключ — как указывает провайдер | `ПОЛЬЗОВАТЕЛЬ_SMTP`, `ПАРОЛЬ_SMTP` |\n| Адрес отправителя | адрес на вашем домене, разрешённый провайдером | `АДРЕС@ДОМЕН` |\n\nВо многих приложениях STARTTLS (порт 587) называется «TLS», а TLS с момента подключения (порт 465) — «SSL».\n\nПочему не отправлять напрямую с IP-адреса сервера: серверы получателей проверяют репутацию отправляющего IP-адреса и его обратную запись (PTR), а у нового адреса репутации ещё нет. Обратный DNS (PTR) в панели не настраивается: напишите нам IP сервера и нужное имя. Через SMTP-сервис письма уходят с серверов провайдера, которые эти проверки уже проходят.\n\n> **Безопасность**\n> С паролем SMTP или API-ключом любой может отправлять письма от имени вашего домена. Не храните их в публичных git-репозиториях, на скриншотах и в тикетах. Файлам, в которых они записаны, задайте права `600`, чтобы их мог читать только владелец. Если провайдер позволяет, создайте отдельного пользователя или ключ только для отправки, а не используйте пароль своего почтового ящика.\n\n## Шаг 1. Проверьте подключение к SMTP-серверу\n\n1. Установите утилиту `nc`. Ubuntu и Debian:\n\n   ```bash\n   apt update\n   apt install -y netcat-openbsd\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   dnf install -y nmap-ncat\n   ```\n\n2. Проверьте порт:\n\n   ```bash\n   nc -vz -w 5 SMTP_HOST 587\n   ```\n\n   При успехе в выводе есть `succeeded` (Ubuntu, Debian) или `Connected` (AlmaLinux, CentOS Stream). `timed out` или `TIMEOUT` означает, что SMTP-сервер не ответил за 5 секунд.\n\n3. Проверьте шифрование:\n\n   ```bash\n   openssl s_client -starttls smtp -connect SMTP_HOST:587 -crlf\n   ```\n\n   После сертификата должна появиться строка `Verify return code: 0 (ok)`. Затем введите строки ниже, нажимая Enter после каждой. В ответе на `EHLO` должна быть строка с `AUTH`, а `QUIT` закрывает соединение.\n\n   ```text\n   EHLO test\n   QUIT\n   ```\n\nДля порта 465 проверка такая:\n\n```bash\nnc -vz -w 5 SMTP_HOST 465\nopenssl s_client -connect SMTP_HOST:465 -crlf\n```\n\nЕсли проверка завершается `timed out` или `TIMEOUT`:\n\n1. Проверьте файрвол системы. ufw и firewalld по умолчанию пропускают весь исходящий трафик; если вы его ограничили, разрешите нужный порт: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n2. Попробуйте другой порт (465 вместо 587 или наоборот).\n3. Если не помогло, напишите в поддержку: IP-адрес сервера (`IP_СЕРВЕРА`), порт и имя SMTP-сервера. Каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Шаг 2. Настройте приложение\n\n### WordPress\n\nПо умолчанию WordPress отправляет письма функцией PHP `mail()`, но на новом сервере ей не через что их отправить. Установите SMTP-плагин из каталога плагинов WordPress и укажите в его настройках:\n\n- сервер: `SMTP_HOST`;\n- порт 587 и шифрование TLS (STARTTLS) или порт 465 и шифрование SSL;\n- включённую авторизацию с логином и паролем или API-ключом;\n- адрес отправителя: `АДРЕС@ДОМЕН`.\n\nЗатем отправьте тестовое письмо из плагина. Установка WordPress: [WordPress на LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n### Другие приложения и фреймворки\n\nУкажите параметры SMTP в конфигурации приложения или в файле `.env`. Названия переменных у каждого приложения свои — берите их из его документации. Пример:\n\n```ini\nMAIL_HOST=SMTP_HOST\nMAIL_PORT=587\nMAIL_ENCRYPTION=tls\nMAIL_USERNAME=ПОЛЬЗОВАТЕЛЬ_SMTP\nMAIL_PASSWORD=ПАРОЛЬ_SMTP\nMAIL_FROM_ADDRESS=АДРЕС@ДОМЕН\n```\n\nНе добавляйте файл с паролем в git-репозиторий (внесите его в `.gitignore`) и разрешите читать его только пользователю, от имени которого работает приложение, например `www-data`:\n\n```bash\nchown www-data:www-data /var/www/ПРИЛОЖЕНИЕ/.env\nchmod 600 /var/www/ПРИЛОЖЕНИЕ/.env\n```\n\nПерезапустите приложение, чтобы оно прочитало новые настройки.\n\nВ AlmaLinux и CentOS Stream SELinux по умолчанию блокирует подключения из PHP (в том числе из WordPress) к SMTP-серверу. Разрешите их:\n\n```bash\nsetsebool -P httpd_can_sendmail 1\n```\n\n## Шаг 3. Отправка с сервера через msmtp (необязательно)\n\nЗадачам cron, функции PHP `mail()` и программам, которые вызывают `sendmail`, нужна программа, которая передаст письма дальше. msmtp отправляет их через SMTP-сервер провайдера с теми же учётными данными. Он не принимает почту и не держит очередь писем.\n\n### Ubuntu и Debian\n\n```bash\napt update\napt install msmtp msmtp-mta\n```\n\n- Пакет `msmtp-mta` создаёт команду `/usr/sbin/sendmail`, которой пользуются cron и PHP.\n- На вопрос «Enable AppArmor support?» оставьте ответ по умолчанию — «No».\n\n> **Внимание**\n> Если apt сообщает, что удалит пакеты (`The following packages will be REMOVED`), например `postfix` или `exim4`, ответьте `n`. На сервере уже работает почтовая программа — её использует панель управления или собственный почтовый сервер: не заменяйте её на msmtp, а обратитесь в поддержку.\n\n### AlmaLinux и CentOS Stream\n\n1. Сначала проверьте, нет ли на сервере почтовой программы:\n\n   ```bash\n   ls -l /usr/sbin/sendmail\n   ```\n\n   Нормальный результат содержит «No such file or directory». Если файл существует, на сервере уже работает почтовая программа — её использует панель управления или собственный почтовый сервер: не устанавливайте msmtp, а обратитесь в поддержку.\n\n2. Установите msmtp из репозитория EPEL:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y msmtp nano\n   ```\n\n3. Пакет `msmtp` создаёт и команду `/usr/sbin/sendmail`, которой пользуются cron и PHP. Проверьте:\n\n   ```bash\n   readlink -e /usr/sbin/sendmail\n   ```\n\n   Команда должна вывести `/usr/bin/msmtp`. Если она ничего не вывела, создайте ссылку:\n\n   ```bash\n   ln -s /usr/bin/msmtp /usr/sbin/sendmail\n   ```\n\n### Файл настроек\n\n1. Создайте файл:\n\n   ```bash\n   nano /etc/msmtprc\n   ```\n\n2. Вставьте содержимое ниже, замените значения, написанные заглавными буквами, сохраните (Ctrl+O и Enter) и выйдите (Ctrl+X):\n\n   ```text\n   defaults\n   auth           on\n   tls            on\n   tls_starttls   on\n   tls_trust_file /etc/ssl/certs/ca-certificates.crt\n   syslog         LOG_MAIL\n\n   account        default\n   host           SMTP_HOST\n   port           587\n   from           АДРЕС@ДОМЕН\n   set_from_header on\n   user           ПОЛЬЗОВАТЕЛЬ_SMTP\n   password       ПАРОЛЬ_SMTP\n   ```\n\n   | Строка | Что делает |\n   |---|---|\n   | `tls_trust_file` | файл с доверенными центрами сертификации; в AlmaLinux и CentOS Stream укажите `/etc/pki/tls/certs/ca-bundle.crt` |\n   | `port 587` и `tls_starttls on` | для порта 465 укажите `port 465` и `tls_starttls off` |\n   | `from` | адрес отправителя; провайдер должен его разрешать |\n   | `set_from_header on` | подставляет адрес из строки `from` в заголовок «From» каждого письма; без этой строки письма cron уходят от имени `root`, и некоторые провайдеры их отклоняют |\n   | `syslog LOG_MAIL` | записывает в системный журнал по строке о каждом отправленном письме |\n\n3. Разрешите читать файл только пользователю `root`:\n\n   ```bash\n   chmod 600 /etc/msmtprc\n   ```\n\n### Проверка\n\n```bash\nprintf 'Subject: Test\\n\\nTest' | msmtp АДРЕС_ПОЛУЧАТЕЛЯ\n```\n\nЕсли команда ничего не вывела, письмо передано провайдеру. Проверьте ящик получателя, включая папку «Спам». Результат отправки виден в журнале:\n\n```bash\njournalctl -t msmtp -n 20\n```\n\nСтрока об успешной отправке заканчивается на `exitcode=EX_OK`. При ошибке msmtp выводит ответ SMTP-сервера — см. таблицу «Частые проблемы» ниже.\n\n### PHP\n\n1. Настройте PHP-FPM на отправку писем через msmtp и перезагрузите его. Ubuntu 24.04 (в другой системе замените `8.3` на установленную версию PHP, например `8.2` в Debian 12):\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php/8.3/fpm/conf.d/99-msmtp.ini\n   systemctl reload php8.3-fpm\n   ```\n\n   AlmaLinux и CentOS Stream:\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php.d/99-msmtp.ini\n   systemctl reload php-fpm\n   ```\n\n2. PHP работает от пользователя `www-data` (Ubuntu, Debian) или `apache` (AlmaLinux, CentOS Stream) и не может прочитать файл пользователя `root` с правами `600`. Дайте право чтения группе этого пользователя. Ubuntu и Debian:\n\n   ```bash\n   chown root:www-data /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   ```\n\n   AlmaLinux и CentOS Stream, где отправку из PHP должен разрешить ещё и SELinux:\n\n   ```bash\n   chown root:apache /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   setsebool -P httpd_can_sendmail 1\n   ```\n\nПосле этого учётные данные SMTP может прочитать любой PHP-код на сервере — ещё одна причина завести отдельного пользователя SMTP только для отправки.\n\n### Cron\n\nCron отправляет вывод задач на адрес из переменной `MAILTO`. Без неё письмо уходит локальному пользователю (например, `root`), а такой адрес SMTP-сервер доставить не может.\n\n1. Откройте crontab:\n\n   ```bash\n   crontab -e\n   ```\n\n2. Добавьте в начало строку ниже и сохраните:\n\n   ```text\n   MAILTO=АДРЕС_ПОЛУЧАТЕЛЯ\n   ```\n\n## Шаг 4. Добавьте SPF, DKIM и DMARC\n\nБез этих TXT-записей письма часто попадают в спам или отклоняются. Точные значения даёт почтовый провайдер. Зачем нужна каждая запись, объяснено в разделе «Рекомендации по отправке почты» статьи [Политика допустимого использования: что запрещено](#legal.utilizare-acceptabila).\n\n| Запись | «Имя» | «Значение» |\n|---|---|---|\n| SPF | `@` | `v=spf1 include:SPF_ПРОВАЙДЕРА ~all` |\n| DKIM | `СЕЛЕКТОР._domainkey` | значение `v=DKIM1; …` от провайдера |\n| DMARC | `_dmarc` | `v=DMARC1; p=none; rua=mailto:АДРЕС@ДОМЕН` |\n\n- У домена должна быть только одна SPF-запись. Если она уже есть, добавьте в неё `include:` провайдера, а не создавайте вторую. `ip4:IP_СЕРВЕРА` добавляйте, только если сервер сам отправляет письма без SMTP-сервиса (например, собственный почтовый сервер).\n- `СЕЛЕКТОР` — имя, которое указал провайдер. Некоторые провайдеры выдают ключ DKIM в виде CNAME-записи: если её значение содержит символ `_`, добавьте её прямо в аккаунте DNS-провайдера, а не через панель.\n- Начните DMARC с `p=none`. На `quarantine` или `reject` переходите, когда отчёты покажут, что ваши письма проходят проверку.\n\nЗаписи добавляются у DNS-провайдера домена. Если вы подключили Cloudflare или GoDaddy, их можно добавить на странице «DNS» панели (`app.blackbox.md/dns`): «Добавить запись», тип TXT, поля «Имя» и «Значение», затем «Сохранить». Подробно: [Управление DNS-записями из панели](#servicii.dns-inregistrari).\n\nЧерез несколько минут проверьте на сервере или на своём компьютере (Linux, macOS):\n\n```bash\ndig +short TXT ДОМЕН\ndig +short TXT _dmarc.ДОМЕН\ndig +short TXT СЕЛЕКТОР._domainkey.ДОМЕН\n```\n\nКаждая команда должна вывести добавленное значение в кавычках. В Windows используйте:\n\n```powershell\nnslookup -type=TXT ДОМЕН\n```\n\nЕсли на сервере нет `dig`, установите его. Ubuntu и Debian:\n\n```bash\napt install -y dnsutils\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y bind-utils\n```\n\n## Проверьте доставку\n\n| Где | Что искать |\n|---|---|\n| Журнал msmtp: `journalctl -t msmtp` | `exitcode=EX_OK` у каждого письма |\n| Postfix, если вы его используете: `journalctl -u 'postfix*'`; если в системе есть rsyslog — также `/var/log/mail.log` (Ubuntu, Debian) или `/var/log/maillog` (AlmaLinux, CentOS Stream) | `status=sent` |\n| Ящик получателя: исходный текст письма (со всеми заголовками) | строка `Authentication-Results` с `spf=pass`, `dkim=pass` и `dmarc=pass` |\n\n## Собственный почтовый сервер\n\nЕсли вы хотите держать почтовые ящики на сервере или принимать почту (Postfix и Dovecot или почта панели управления):\n\n- Почтовому серверу на VPS нужны порты (25, 465, 587, 993), которые по умолчанию закрыты в сетевой фильтрации. Фильтрация, которой управляет BLACKBOX, по умолчанию пропускает порты 22, 80 и 443 и ping; другие порты — по запросу через поддержку ([Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall)).\n- Сервер отправляет письма напрямую другим почтовым серверам, поэтому важны репутация IP-адреса и запись PTR. Обратный DNS (PTR) в панели не настраивается: напишите нам IP сервера и нужное имя.\n- Для почтовых ящиков обычно проще отдельный почтовый провайдер: вам не придётся самим заниматься фильтрацией спама, репутацией адреса и резервными копиями писем.\n- На тарифе «VPS hosting» уточните в поддержке, какая панель управления установлена: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n\n> **Важно**\n> Обратитесь в поддержку **до** установки почтового сервера. Укажите IP-адрес сервера, номер заказа (`BBX-…`) и нужные порты.\n\n## Правила отправки писем\n\nГлава 2 «Условий использования» (`blackbox.md/ru/info/terms`) запрещает:\n\n- спам «в любой форме» через Услуги BLACKBOX, а также спам через стороннего провайдера, рекламирующий ресурсы, размещённые в BLACKBOX (пункт 2.2);\n- добавление адресов в списки рассылки без double opt-in. Подтверждения согласия хранятся всё время существования списка, а купленные или арендованные списки запрещены (пункт 2.3).\n\nРассылки и массовые кампании отправляйте через специализированный почтовый сервис, а не через обычный SMTP почтового ящика. Подробнее: [Политика допустимого использования: что запрещено](#legal.utilizare-acceptabila).\n\nЕсли почтовая очередь растёт или уходят письма, которых вы не отправляли, сервер или сайт может быть взломан: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n## Частые проблемы\n\n| Сообщение или симптом | Причина | Что делать |\n|---|---|---|\n| `Connection timed out`, `timed out` или `TIMEOUT` на порту 587 или 465 | исходящий трафик к SMTP-серверу не проходит | проверьте правила ufw/firewalld, попробуйте другой порт, затем напишите в поддержку IP сервера, порт и SMTP-сервер |\n| `535` или «authentication failed» | неверный логин или пароль, либо провайдер требует пароль приложения или API-ключ | проверьте данные; создайте у провайдера пароль приложения или API-ключ |\n| «Relay access denied» или «Sender address rejected» | провайдер не разрешает этот адрес отправителя | отправляйте с адреса, разрешённого провайдером; у некоторых провайдеров домен нужно сначала добавить и подтвердить |\n| Письма попадают в спам | нет SPF, DKIM или DMARC, либо домен отправителя не совпадает с подтверждённым | добавьте записи из шага 4 и отправляйте с адреса домена, подтверждённого у провайдера |\n| `sendmail: not found` | нет команды `sendmail` | Ubuntu и Debian: установите `msmtp-mta`; AlmaLinux и CentOS Stream: создайте ссылку из шага 3 |\n| `cannot set X509 trust file` | в `tls_trust_file` указан файл другого дистрибутива | укажите путь для вашей системы из таблицы в шаге 3 |\n| `account default not found: no configuration file available` при отправке из PHP | пользователь PHP не может прочитать `/etc/msmtprc` | выполните `chown` и `chmod 640` из раздела про PHP |\n| В AlmaLinux или CentOS Stream PHP не отправляет письма, хотя проверка из консоли проходит | отправку из PHP блокирует SELinux | выполните команду `setsebool` из раздела про PHP |\n\n## Частые вопросы\n\n**Можно ли заказать почтовые ящики у BLACKBOX?**\nЧерез аккаунт — нет: почтовые ящики онлайн не заказываются. Спросите в поддержке, что вам могут предложить: [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere).\n\n**Может ли AI-ассистент настроить отправку почты?**\nДа, с помощью инструмента `run_server_command` и токена с разрешением «Выполнять любые команды от root на моих серверах» (`servers:exec`): [Выполнение команд на сервере через AI](#ai.comenzi-pe-server). Учётные данные SMTP, которые вы ему передаёте, попадают к провайдеру AI-модели: используйте отдельного пользователя SMTP и смените пароль, если вставили его в переписку ([Безопасность токенов и AI-агентов](#ai.securitate)).\n\n**Нужно ли настраивать и приложение, и msmtp?**\nНе обязательно. Если у приложения есть собственные настройки SMTP (шаг 2), их достаточно. msmtp нужен для cron, функции PHP `mail()` и программ, которые вызывают `sendmail`. Когда msmtp настроен для PHP, WordPress отправляет письма и без SMTP-плагина.\n\n**Я перенёс сайт от другого провайдера, и формы перестали отправлять письма. Почему?**\nНа старом хостинге отправку обычно настраивал провайдер. На сервере BLACKBOX её настраиваете вы — по шагам выше. О переносе почты: [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site).\n",
    "en": "A new server usually has no email sending service set up, so messages from contact forms, password resets and cron jobs don't go out. This guide shows how to send them, with authentication, through the SMTP server of your domain's email provider or of a transactional email service, and which DNS records to add. You run the commands on the server, as `root`, in an SSH session ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). The server's IP address is in the app.blackbox.md panel, under “Infrastructure” → “My Servers”, in the “IP” field.\n\n**Available to:** anyone with `root` access over SSH to a BLACKBOX server. On a “VPS hosting” plan with a control panel, first ask support which panel is installed: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What you need from your email provider\n\nUse the SMTP server of the provider that hosts your domain's email, or a transactional email service. Note down the following from the provider's documentation:\n\n| What | Typical values | In this guide |\n|---|---|---|\n| SMTP server | the name given by the provider | `SMTP_HOST` |\n| Port and encryption | 587 with STARTTLS or 465 with TLS | `587` |\n| Username and password | the email address and its password, an app password or an API key, as the provider specifies | `SMTP_USER`, `SMTP_PASSWORD` |\n| Sender address | an address on your domain that the provider allows | `ADDRESS@DOMAIN` |\n\nIn many applications, STARTTLS (port 587) is labeled “TLS”, and TLS from the start of the connection (port 465) is labeled “SSL”.\n\nWhy not send directly from the server's IP address? Receiving servers check the reputation of the sending IP address and its reverse record (PTR), and a new address has no reputation yet. Reverse DNS (PTR) is not set from the panel: send us the server's IP and the name you want. With an SMTP service, messages leave from the provider's servers, which already pass these checks.\n\n> **Security**\n> Anyone who has your SMTP password or API key can send email on behalf of your domain. Don't put it in public git repositories, in screenshots or in support tickets. Give the files that contain it `600` permissions, so that only the owner can read them. If your provider allows it, create a separate user or key just for sending, instead of using your mailbox password.\n\n## Step 1. Check the connection to the SMTP server\n\n1. Install the `nc` utility. Ubuntu and Debian:\n\n   ```bash\n   apt update\n   apt install -y netcat-openbsd\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   dnf install -y nmap-ncat\n   ```\n\n2. Test the port:\n\n   ```bash\n   nc -vz -w 5 SMTP_HOST 587\n   ```\n\n   A good result contains `succeeded` (Ubuntu, Debian) or `Connected` (AlmaLinux, CentOS Stream). `timed out` or `TIMEOUT` means the SMTP server didn't respond within 5 seconds.\n\n3. Check the encryption:\n\n   ```bash\n   openssl s_client -starttls smtp -connect SMTP_HOST:587 -crlf\n   ```\n\n   After the certificate, you should see `Verify return code: 0 (ok)`. Then type the lines below, pressing Enter after each one. The response to `EHLO` must contain a line with `AUTH`, and `QUIT` closes the connection.\n\n   ```text\n   EHLO test\n   QUIT\n   ```\n\nFor port 465, test with:\n\n```bash\nnc -vz -w 5 SMTP_HOST 465\nopenssl s_client -connect SMTP_HOST:465 -crlf\n```\n\nIf the test returns `timed out` or `TIMEOUT`:\n\n1. Check the operating system's firewall. ufw and firewalld let all outgoing traffic through by default; if you have restricted outgoing traffic, allow the port: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n2. Try the other port (465 instead of 587, or the other way around).\n3. If it still doesn't work, send support the server's IP address (`SERVER_IP`), the port and the SMTP server name: [How to contact BLACKBOX support](#suport.contact).\n\n## Step 2. Configure the application\n\n### WordPress\n\nBy default, WordPress sends email through PHP's `mail()` function, which has nothing to send through on a new server. Install an SMTP plugin from the WordPress plugin directory and fill in its settings:\n\n- server: `SMTP_HOST`;\n- port: 587, encryption TLS (STARTTLS); or port 465, encryption SSL;\n- authentication turned on, with the username and password or the API key;\n- sender address: `ADDRESS@DOMAIN`.\n\nThen send the test email from the plugin. Installing WordPress: [WordPress on LEMP (nginx, MariaDB, PHP)](#ghiduri.wordpress-lemp).\n\n### Other applications and frameworks\n\nEnter the SMTP settings in the application's configuration or in its `.env` file. Variable names differ from one application to another: use the ones from its documentation. An example:\n\n```ini\nMAIL_HOST=SMTP_HOST\nMAIL_PORT=587\nMAIL_ENCRYPTION=tls\nMAIL_USERNAME=SMTP_USER\nMAIL_PASSWORD=SMTP_PASSWORD\nMAIL_FROM_ADDRESS=ADDRESS@DOMAIN\n```\n\nKeep the file with the password out of the git repository (add it to `.gitignore`), and let only the user the application runs as read it, for example `www-data`:\n\n```bash\nchown www-data:www-data /var/www/APP/.env\nchmod 600 /var/www/APP/.env\n```\n\nRestart the application so that it reads the new settings.\n\nOn AlmaLinux and CentOS Stream, SELinux blocks connections from PHP (including WordPress) to the SMTP server by default. Allow them:\n\n```bash\nsetsebool -P httpd_can_sendmail 1\n```\n\n## Step 3. Sending from the server with msmtp (optional)\n\nCron jobs, PHP's `mail()` function and programs that call `sendmail` need a program that passes the messages on. msmtp sends them through your provider's SMTP server, with the same details. It doesn't receive email and doesn't keep a message queue.\n\n### Ubuntu and Debian\n\n```bash\napt update\napt install msmtp msmtp-mta\n```\n\n- The `msmtp-mta` package creates the `/usr/sbin/sendmail` command, which cron and PHP use.\n- When asked “Enable AppArmor support?”, keep the default answer, “No”.\n\n> **Warning**\n> If apt says it will remove packages (`The following packages will be REMOVED`), for example `postfix` or `exim4`, answer `n`. An email program is already running on the server, used by a control panel or by a mail server of your own. Don't replace it with msmtp; ask support instead.\n\n### AlmaLinux and CentOS Stream\n\n1. First, check whether the server already has an email program:\n\n   ```bash\n   ls -l /usr/sbin/sendmail\n   ```\n\n   A good result contains “No such file or directory”. If the file exists, an email program is already running on the server, used by a control panel or by a mail server of your own. Don't install msmtp; ask support instead.\n\n2. Install msmtp from the EPEL repository:\n\n   ```bash\n   dnf install -y epel-release\n   dnf install -y msmtp nano\n   ```\n\n3. The `msmtp` package also creates the `/usr/sbin/sendmail` command, which cron and PHP use. Check:\n\n   ```bash\n   readlink -e /usr/sbin/sendmail\n   ```\n\n   The result must be `/usr/bin/msmtp`. If the command prints nothing, create the link:\n\n   ```bash\n   ln -s /usr/bin/msmtp /usr/sbin/sendmail\n   ```\n\n### The configuration file\n\n1. Create the file:\n\n   ```bash\n   nano /etc/msmtprc\n   ```\n\n2. Paste the content below and replace the values in capitals. Save with Ctrl+O and Enter, then exit with Ctrl+X:\n\n   ```text\n   defaults\n   auth           on\n   tls            on\n   tls_starttls   on\n   tls_trust_file /etc/ssl/certs/ca-certificates.crt\n   syslog         LOG_MAIL\n\n   account        default\n   host           SMTP_HOST\n   port           587\n   from           ADDRESS@DOMAIN\n   set_from_header on\n   user           SMTP_USER\n   password       SMTP_PASSWORD\n   ```\n\n   | Line | What it does |\n   |---|---|\n   | `tls_trust_file` | the file with the trusted certificate authorities; on AlmaLinux and CentOS Stream, write `/etc/pki/tls/certs/ca-bundle.crt` |\n   | `port 587` and `tls_starttls on` | for port 465, write `port 465` and `tls_starttls off` |\n   | `from` | the sender address; the provider must allow it |\n   | `set_from_header on` | puts the address from the `from` line in the “From” header of every message; without it, cron messages go out from `root`, and some providers reject them |\n   | `syslog LOG_MAIL` | writes one line to the system log for each message sent |\n\n3. Allow only `root` to read the file:\n\n   ```bash\n   chmod 600 /etc/msmtprc\n   ```\n\n### Testing\n\n```bash\nprintf 'Subject: Test\\n\\nTest' | msmtp RECIPIENT_ADDRESS\n```\n\nIf the command prints nothing, the message was handed over to the provider. Check the recipient's mailbox, including the Spam folder. You can see the sending result in the log:\n\n```bash\njournalctl -t msmtp -n 20\n```\n\nA successful line ends with `exitcode=EX_OK`. If there is an error, msmtp shows the SMTP server's message: see the “Common problems” table below.\n\n### PHP\n\n1. Set PHP-FPM to send through msmtp, then reload it. Ubuntu 24.04 (on another system, replace `8.3` with the installed PHP version, for example `8.2` on Debian 12):\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php/8.3/fpm/conf.d/99-msmtp.ini\n   systemctl reload php8.3-fpm\n   ```\n\n   AlmaLinux and CentOS Stream:\n\n   ```bash\n   printf 'sendmail_path = \"/usr/bin/msmtp -t\"\\n' > /etc/php.d/99-msmtp.ini\n   systemctl reload php-fpm\n   ```\n\n2. PHP runs as `www-data` (Ubuntu, Debian) or `apache` (AlmaLinux, CentOS Stream) and cannot read a `600` file owned by `root`. Give read permission to this user's group. Ubuntu and Debian:\n\n   ```bash\n   chown root:www-data /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   ```\n\n   AlmaLinux and CentOS Stream, where SELinux must also allow sending from PHP:\n\n   ```bash\n   chown root:apache /etc/msmtprc\n   chmod 640 /etc/msmtprc\n   setsebool -P httpd_can_sendmail 1\n   ```\n\nThis means any PHP code on the server can read the SMTP details: one more reason to use a separate SMTP user, just for sending.\n\n### Cron\n\nCron sends the output of jobs to the address in the `MAILTO` variable. Without it, cron sends to the local user (for example `root`), an address the SMTP server cannot deliver to.\n\n1. Open the crontab:\n\n   ```bash\n   crontab -e\n   ```\n\n2. Add the line below at the top and save:\n\n   ```text\n   MAILTO=RECIPIENT_ADDRESS\n   ```\n\n## Step 4. Add SPF, DKIM and DMARC\n\nWithout these TXT records, messages often land in Spam or are rejected. Your email provider gives you the exact values. For what each record does, see the “Good practices for sending email” section of [Acceptable use policy: what is not allowed](#legal.utilizare-acceptabila).\n\n| Record | “Name” | “Content” |\n|---|---|---|\n| SPF | `@` | `v=spf1 include:PROVIDER_SPF ~all` |\n| DKIM | `SELECTOR._domainkey` | the `v=DKIM1; …` value from the provider |\n| DMARC | `_dmarc` | `v=DMARC1; p=none; rua=mailto:ADDRESS@DOMAIN` |\n\n- A domain has only one SPF record. If one already exists, add your provider's `include:` to it; don't create a second one. Add `ip4:SERVER_IP` only if the server sends email itself, without an SMTP service (for example, a mail server of your own).\n- `SELECTOR` is the name given by the provider. Some providers give the DKIM key as a CNAME record: if its value contains the `_` character, add it directly in your DNS provider account, not from the panel.\n- Start DMARC with `p=none`. Switch to `quarantine` or `reject` once the reports show that your messages pass the check.\n\nYou add the records at your domain's DNS provider. If you have connected Cloudflare or GoDaddy, you can add them from the “DNS” page of the panel (`app.blackbox.md/dns`): “Add record”, type TXT, the “Name” and “Content” fields, then “Save”. The steps: [Managing DNS records from the panel](#servicii.dns-inregistrari).\n\nAfter a few minutes, check on the server or on your computer (Linux, macOS):\n\n```bash\ndig +short TXT DOMAIN\ndig +short TXT _dmarc.DOMAIN\ndig +short TXT SELECTOR._domainkey.DOMAIN\n```\n\nEach command must show the value you added, in quotes. On Windows, use:\n\n```powershell\nnslookup -type=TXT DOMAIN\n```\n\nIf `dig` is missing on the server, install it. Ubuntu and Debian:\n\n```bash\napt install -y dnsutils\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y bind-utils\n```\n\n## Check delivery\n\n| Where | What to look for |\n|---|---|\n| The msmtp log: `journalctl -t msmtp` | `exitcode=EX_OK` for each message |\n| Postfix, if you use it: `journalctl -u 'postfix*'`; if the system has rsyslog, also `/var/log/mail.log` (Ubuntu, Debian) or `/var/log/maillog` (AlmaLinux, CentOS Stream) | `status=sent` |\n| The recipient's mailbox: the original message (the source, with full headers) | the `Authentication-Results` line, with `spf=pass`, `dkim=pass` and `dmarc=pass` |\n\n## A mail server of your own\n\nIf you want mailboxes on the server, or want to receive email (Postfix and Dovecot, or a control panel's email):\n\n- A mail server on a VPS needs ports (25, 465, 587, 993) that are not open by default in the network filtering. The filtering managed by BLACKBOX leaves ports 22, 80 and 443 and ping open by default; other ports are opened on request, through support ([Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall)).\n- The server sends directly to other mail servers, so the reputation of its IP address and the PTR record matter. Reverse DNS (PTR) is not set from the panel: send us the server's IP and the name you want.\n- For mailboxes, a specialized provider is usually simpler: you don't have to manage spam filtering, address reputation and message backups yourself.\n- On a “VPS hosting” plan, ask support which control panel is installed: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n\n> **Important**\n> Ask support **before** you install a mail server. Include the server's IP address, the order number (`BBX-…`) and the ports you need.\n\n## Rules for sending email\n\nChapter 2 of the “Termeni și condiții” (Terms and conditions) (`blackbox.md/info/terms`) prohibits:\n\n- spam “în orice formă” (in any form) sent through BLACKBOX services, as well as spam sent through another provider to advertise resources hosted at BLACKBOX (clause 2.2);\n- adding addresses to mailing lists without double opt-in. Proof of consent is kept for as long as the list exists, and bought or rented lists are prohibited (clause 2.3).\n\nSend newsletters and bulk campaigns through a specialized email service, not through the regular SMTP of a mailbox. Details: [Acceptable use policy: what is not allowed](#legal.utilizare-acceptabila).\n\nAn email queue that keeps growing, or messages you didn't send, may mean that the server or the site has been hacked: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n## Common problems\n\n| Message or symptom | Cause | What to do |\n|---|---|---|\n| `Connection timed out`, `timed out` or `TIMEOUT` on port 587 or 465 | outgoing traffic to the SMTP server doesn't get through | check the ufw/firewalld rules, try the other port, then send support the server's IP, the port and the SMTP server |\n| `535` or “authentication failed” | wrong username or password, or the provider requires an app password or an API key | check the details; create an app password or an API key with the provider |\n| “Relay access denied” or “Sender address rejected” | the provider doesn't allow the sender address | send from an address the provider allows; with some providers, you first need to add and verify the domain |\n| Messages land in Spam | SPF, DKIM or DMARC is missing, or the sender's domain differs from the authenticated one | add the records from step 4 and send from an address on the domain verified with the provider |\n| `sendmail: not found` | the `sendmail` command is missing | Ubuntu and Debian: install `msmtp-mta`; AlmaLinux and CentOS Stream: create the link from step 3 |\n| `cannot set X509 trust file` | `tls_trust_file` points to another distribution's file | use the path for your system from the table in step 3 |\n| `account default not found: no configuration file available`, when sending from PHP | the PHP user can't read `/etc/msmtprc` | apply the `chown` and `chmod 640` from the PHP section |\n| On AlmaLinux or CentOS Stream, PHP doesn't send, although the test from the command line succeeds | SELinux blocks sending from PHP | run the `setsebool` command from the PHP section |\n\n## Frequently asked questions\n\n**Can I order mailboxes from BLACKBOX?**\nNot from your account: mailboxes can't be ordered online. Ask support what they can offer you: [Products and configurations available on request](#comenzi.produse-la-cerere).\n\n**Can the AI assistant set up email sending?**\nYes, with the `run_server_command` tool and a token with the “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) permission (`servers:exec`): [Running commands on the server through AI](#ai.comenzi-pe-server). The SMTP details you give it reach the AI model's provider. Use a separate SMTP user, and change its password if you pasted it into a conversation ([Token and AI agent security](#ai.securitate)).\n\n**Do I need to configure both the application and msmtp?**\nNot necessarily. If the application has its own SMTP settings (step 2), they are enough. You need msmtp for cron, for PHP's `mail()` function and for programs that call `sendmail`. With msmtp set up for PHP, WordPress also sends email without an SMTP plugin.\n\n**I moved my site from another provider and the forms no longer send email. Why?**\nAt your old host, sending was usually set up by the provider. On your BLACKBOX server, you set it up yourself, with the steps above. About moving your email: [Moving a site to a BLACKBOX server](#ghiduri.migrare-site).\n"
   }
  },
  {
   "id": "ghiduri.swap",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/swap/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/swap/",
    "en": "https://docs.blackbox.md/en/ghiduri/swap/"
   },
   "title": {
    "ro": "Adăugarea memoriei swap",
    "ru": "Добавление файла подкачки (swap)",
    "en": "Adding swap space"
   },
   "summary": {
    "ro": "Cum creați un fișier swap pe un server cu memorie puțină, cum îl reglați și când este mai bine să faceți upgrade.",
    "ru": "Как создать файл подкачки на сервере с малым объёмом памяти, как его настроить и когда лучше сделать апгрейд.",
    "en": "How to create a swap file on a server with little memory, how to tune it, and when an upgrade is the better choice."
   },
   "markdown": {
    "ro": "Swap-ul este un spațiu pe disc pe care Linux îl folosește ca memorie de rezervă atunci când RAM-ul se umple. Ghidul arată cum creați un fișier swap, cum îl reglați și cum îl eliminați. Toate comenzile se rulează pe server, într-o sesiune SSH ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Câtă memorie RAM are planul dvs. vedeți în panoul app.blackbox.md: pe cardul serverului din „Serverele mele”, la „Configurație”.\n\n**Disponibil pentru:** titularul serverului, cu acces SSH ca `root`. Comenzile sunt aceleași pe toate sistemele Linux disponibile la comandă: Ubuntu, Debian, AlmaLinux și CentOS Stream. Pe AlmaLinux și CentOS Stream se adaugă un singur pas, marcat în text.\n\n## Când ajută swap-ul\n\nSwap-ul vă ajută dacă:\n\n- serverul are 1–2 GB RAM;\n- memoria se umple doar din când în când, de exemplu la un vârf de trafic sau la o sarcină programată;\n- instalați sau compilați pachete (actualizări de sistem, `composer`, `npm`), care cer multă memorie pentru scurt timp.\n\nFără swap, când memoria se termină, nucleul Linux oprește forțat un proces (OOM killer), de obicei pe cel mai mare: baza de date sau serverul web. Cu swap, serverul încetinește, dar procesele continuă să ruleze, cât timp nu se umple și swap-ul.\n\n| Plan | RAM | Disc | Swap recomandat |\n|---|---|---|---|\n| Basic XS | 1 GB | 20 GB | 1 GB |\n| Standard S | 2 GB | 20 GB | 1 GB |\n| CPU S | 2 GB | 30 GB | 1 GB |\n| Basic S | 2 GB | 50 GB | 2 GB |\n\nPe planurile cu 4 GB RAM sau mai mult, swap-ul de regulă nu este necesar. Un fișier de 1 GB poate rămâne ca rezervă pentru vârfuri rare.\n\n> **Important**\n> Swap-ul nu înlocuiește RAM-ul: discul este de multe ori mai lent decât memoria. Dacă serverul folosește swap-ul tot timpul, are nevoie de un plan cu mai mult RAM. Semnele le găsiți mai jos, în secțiunea „Când aveți nevoie de un upgrade”.\n\n## Verificați memoria și swap-ul existent\n\n```bash\nfree -h\nswapon --show\n```\n\nExemplu pe un server fără swap:\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           1.9Gi       1.2Gi       118Mi        12Mi       640Mi       560Mi\nSwap:             0B          0B          0B\n```\n\n- Dacă rândul `Swap:` arată `0B`, iar `swapon --show` nu afișează nimic, serverul nu are swap. BLACKBOX nu adaugă swap la instalarea serverului, așa că pe un server nou situația este de regulă aceasta.\n- Coloana `available` arată câtă memorie mai pot folosi aplicațiile.\n- La `Mem:`, `total` este puțin mai mic decât RAM-ul planului: o parte este rezervată de sistem.\n\nDacă `swapon --show` afișează deja un fișier sau o partiție, nu creați încă unul. Ca să schimbați mărimea swap-ului existent, vedeți întrebările frecvente de la final.\n\nVerificați și spațiul liber pe disc. În coloana `Avail` trebuie să rămână mult mai mult decât mărimea swap-ului pe care îl creați:\n\n```bash\ndf -h /\n```\n\n## Creați fișierul swap\n\nComenzile creează fișierul `/swapfile` de 2 GB. Pentru 1 GB, scrieți `1G` în loc de `2G`.\n\n1. Rezervați spațiul pe disc:\n\n   ```bash\n   fallocate -l 2G /swapfile\n   ```\n\n2. Lăsați acces la fișier doar pentru `root`:\n\n   ```bash\n   chmod 600 /swapfile\n   ```\n\n3. Pregătiți fișierul ca swap:\n\n   ```bash\n   mkswap /swapfile\n   ```\n\n4. Doar pe AlmaLinux și CentOS Stream, unde SELinux este activ, aplicați eticheta SELinux prevăzută pentru `/swapfile`:\n\n   ```bash\n   restorecon -v /swapfile\n   ```\n\n5. Activați swap-ul:\n\n   ```bash\n   swapon /swapfile\n   ```\n\n6. Verificați cu `swapon --show`. Rezultatul arată astfel, iar în `free -h` rândul `Swap:` nu mai este `0B`:\n\n   ```text\n   NAME      TYPE SIZE USED PRIO\n   /swapfile file   2G   0B   -2\n   ```\n\nSwap-ul rămâne activ până la următoarea repornire. Ca să se activeze singur la fiecare pornire, adăugați-l în `/etc/fstab` (secțiunea următoare).\n\n### Dacă fallocate nu funcționează\n\nDacă `fallocate` afișează `Operation not supported` sau `swapon` refuză fișierul (`it appears to have holes` sau `Invalid argument`), creați fișierul cu `dd`. Durează mai mult, dar `dd` scrie fișierul complet pe disc și funcționează și acolo unde `fallocate` nu merge. `count` este mărimea în MB: `2048` pentru 2 GB, `1024` pentru 1 GB.\n\n```bash\nrm -f /swapfile\ndd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress\n```\n\nApoi continuați cu pașii 2–6 de mai sus.\n\n## Activați swap-ul la fiecare pornire\n\n1. Faceți o copie a fișierului `/etc/fstab`:\n\n   ```bash\n   cp /etc/fstab /etc/fstab.bak\n   ```\n\n2. Verificați că nu există deja o linie pentru `/swapfile`. Comanda nu trebuie să afișeze nimic:\n\n   ```bash\n   grep swapfile /etc/fstab\n   ```\n\n3. Adăugați linia la sfârșitul fișierului:\n\n   ```bash\n   echo '/swapfile none swap sw 0 0' >> /etc/fstab\n   ```\n\n4. Reîncărcați configurația systemd:\n\n   ```bash\n   systemctl daemon-reload\n   ```\n\n5. Verificați linia fără să reporniți: dezactivați swap-ul și activați-l din nou din `/etc/fstab`. Dacă `/swapfile` apare în rezultat, linia este corectă.\n\n   ```bash\n   swapoff /swapfile\n   swapon -a\n   swapon --show\n   ```\n\nDacă ați greșit ceva în `/etc/fstab`, restaurați copia înainte de orice repornire:\n\n```bash\ncp /etc/fstab.bak /etc/fstab\n```\n\n> **Atenție**\n> La pasul 3 scrieți două semne `>>`. Cu un singur `>`, comanda înlocuiește tot conținutul `/etc/fstab`, iar serverul poate să nu mai pornească corect. Clienții nu au consolă web, deci nu ați putea repara fișierul după repornire. Dacă pierdeți accesul, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Reglați swappiness\n\nParametrul `vm.swappiness` arată cât de ușor mută nucleul datele din RAM în swap. Valoarea implicită este de regulă 60. Cu valoarea 10, nucleul păstrează aplicațiile în RAM cât mai mult și mută date în swap mai ales când memoria este aproape plină.\n\n1. Vedeți valoarea actuală:\n\n   ```bash\n   cat /proc/sys/vm/swappiness\n   ```\n\n2. Setați valoarea 10 imediat:\n\n   ```bash\n   sysctl vm.swappiness=10\n   ```\n\n3. Ca setarea să rămână după repornire, scrieți-o într-un fișier nou din `/etc/sysctl.d/`. Aici un singur `>` este corect, pentru că fișierul este nou:\n\n   ```bash\n   echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf\n   ```\n\n4. Verificați fișierul. Rezultatul trebuie să fie `vm.swappiness = 10`:\n\n   ```bash\n   sysctl -p /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## Când aveți nevoie de un upgrade\n\nSwap-ul ajută la vârfuri rare. Dacă memoria lipsește tot timpul, soluția este mai mult RAM. Semnele sunt:\n\n- în `free -h`, `used` la rândul `Swap:` crește și rămâne mare, iar `available` la `Mem:` este aproape de zero;\n- serverul răspunde greu, deși procesorul nu este încărcat;\n- în rezultatul comenzii de mai jos, coloanele `si` și `so` (date citite din swap și scrise în swap, pe secundă) sunt mai mari decât 0 la aproape fiecare măsurare:\n\n  ```bash\n  vmstat 1 5\n  ```\n\n- jurnalul nucleului arată procese oprite din lipsă de memorie (comanda arată mesajele de la ultima pornire):\n\n  ```bash\n  journalctl -k | grep -i \"out of memory\"\n  ```\n\nCe faceți:\n\n1. Aflați ce proces consumă memoria și dacă îl puteți regla: [Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)](#ghiduri.monitorizare-de-baza).\n2. Dacă aplicația are nevoie de mai multă memorie, treceți pe un plan mai mare din aceeași familie, cu butonul „Upgrade” de pe cardul serverului: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n| Plan actual | Următorul plan din familie | RAM | Disc |\n|---|---|---|---|\n| Basic XS | Basic S | 1 → 2 GB | 20 → 50 GB |\n| Basic S | Basic M | 2 → 4 GB | 50 → 100 GB |\n| Standard S | Standard M | 2 → 4 GB | 20 → 40 GB |\n| CPU S | CPU M | 2 → 4 GB | rămâne 30 GB |\n\nPrețurile tuturor planurilor sunt în [Planurile VPS: cum alegeți](#comenzi.planuri-vps). Fișierul swap rămâne pe server după upgrade: îl puteți păstra ca rezervă sau îl puteți elimina.\n\nDacă serverul are serviciul suplimentar Monitoring, graficul „Utilizare RAM (%)” din blocul „Tendințe” al paginii „Monitorizare” arată consumul de memorie în timp. Graficul nu include swap-ul: pe acesta îl verificați pe server cu `free -h`. Detalii: [Pagina „Monitorizare”](#servicii.monitorizare).\n\n## Swap-ul și spațiul pe disc\n\n- Fișierul swap ocupă pe disc toată mărimea lui, chiar dacă nu este folosit: 2 GB de swap înseamnă 2 GB mai puțin pentru date.\n- Pe discurile de 20–30 GB (Basic XS, Standard S și familia CPU) nu depășiți 1 GB. La familiile CPU (30 GB) și High-Frequency Compute (50 GB), discul rămâne același și după upgrade.\n- Excludeți `/swapfile` din copiile de rezervă: conținutul lui nu mai are valoare după repornire.\n- Dacă discul se umple, micșorați sau eliminați swap-ul și urmați [Discul serverului este plin](#faq.disc-plin).\n\n## Eliminați swap-ul\n\n1. Verificați memoria. `available` la `Mem:` trebuie să fie mai mare decât `used` la `Swap:`, altfel datele din swap nu au unde să fie mutate:\n\n   ```bash\n   free -h\n   ```\n\n2. Dezactivați swap-ul. Dacă swap-ul conține multe date, comanda poate dura câteva minute:\n\n   ```bash\n   swapoff /swapfile\n   ```\n\n3. Ștergeți linia din `/etc/fstab`. Comanda păstrează o copie a fișierului în `/etc/fstab.bak`:\n\n   ```bash\n   sed -i.bak '/^\\/swapfile /d' /etc/fstab\n   ```\n\n4. Verificați că linia a dispărut (prima comandă nu trebuie să afișeze nimic) și reîncărcați configurația:\n\n   ```bash\n   grep swapfile /etc/fstab\n   systemctl daemon-reload\n   ```\n\n5. Ștergeți fișierul:\n\n   ```bash\n   rm /swapfile\n   ```\n\n6. Dacă ați setat swappiness, ștergeți și fișierul acestuia. Valoarea implicită revine la următoarea repornire:\n\n   ```bash\n   rm /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## Mesaje de eroare frecvente\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| `fallocate: fallocate failed: Operation not supported` | Sistemul de fișiere nu acceptă `fallocate`. | Creați fișierul cu `dd`. |\n| `swapon: /swapfile: skipping - it appears to have holes.` sau `swapon: /swapfile: swapon failed: Invalid argument` | Fișierul nu este scris complet pe disc sau sistemul de fișiere nu acceptă un fișier creat cu `fallocate`. | Ștergeți-l și creați-l cu `dd`. |\n| `swapon: /swapfile: insecure permissions 0644, 0600 suggested.` | Fișierul poate fi citit și de alți utilizatori. | Rulați `chmod 600 /swapfile`. |\n| `swapon: /swapfile: swapon failed: Device or resource busy` | Swap-ul este deja activ. | Verificați cu `swapon --show`. Nu mai trebuie făcut nimic. |\n| `No space left on device` (la `fallocate` sau `dd`) | Pe disc nu este destul spațiu liber. | Alegeți o mărime mai mică sau eliberați spațiu. |\n| `swapoff: /swapfile: swapoff failed: Cannot allocate memory` | RAM-ul liber nu ajunge pentru datele din swap. | Opriți temporar aplicațiile mari și reîncercați. Altfel, ștergeți linia din `/etc/fstab`, reporniți serverul și apoi ștergeți fișierul. |\n\n## Întrebări frecvente\n\n**Ce mărime de swap să aleg?**\n1 GB pe discurile de 20–30 GB și 2 GB pe celelalte servere cu 1–2 GB RAM. Mai mult swap rareori ajută: dacă serverul are nevoie de mai multă memorie, alegeți un plan cu mai mult RAM.\n\n**Cum schimb mărimea swap-ului?**\nDezactivați swap-ul, ștergeți fișierul și creați-l din nou cu noua mărime (în exemplu, 1 GB). Pe AlmaLinux și CentOS Stream rulați și `restorecon -v /swapfile` înainte de `swapon`. Linia din `/etc/fstab` rămâne aceeași.\n\n```bash\nswapoff /swapfile\nrm /swapfile\nfallocate -l 1G /swapfile\nchmod 600 /swapfile\nmkswap /swapfile\nswapon /swapfile\n```\n\n**Swap-ul încetinește serverul?**\nNu, cât timp este folosit rar. Încetinirea apare când serverul mută date în swap tot timpul. Atunci aveți nevoie de mai mult RAM, nu de mai mult swap.\n",
    "ru": "Swap (подкачка) — это место на диске, которое Linux использует как запасную память, когда заканчивается оперативная память (ОЗУ). В этом руководстве описано, как создать файл подкачки, настроить его и удалить. Все команды выполняются на сервере в SSH-сессии под `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Объём ОЗУ вашего тарифа указан в панели app.blackbox.md: на карточке сервера на странице «Мои серверы», в поле «Конфигурация».\n\n**Доступно:** владельцу сервера с доступом по SSH как `root`. Команды одинаковы для всех Linux-систем, доступных при заказе: Ubuntu, Debian, AlmaLinux и CentOS Stream. В AlmaLinux и CentOS Stream добавляется всего один шаг, он отмечен в тексте.\n\n## Когда swap помогает\n\nФайл подкачки полезен, если:\n\n- у сервера 1–2 GB ОЗУ;\n- память заканчивается лишь время от времени, например при пиках трафика или во время задания по расписанию;\n- вы устанавливаете или собираете пакеты (обновления системы, `composer`, `npm`), которым ненадолго нужно много памяти.\n\nБез swap при нехватке памяти ядро Linux принудительно завершает какой-нибудь процесс (OOM killer), обычно самый крупный: базу данных или веб-сервер. Со swap сервер замедляется, но процессы продолжают работать, пока не заполнится и подкачка.\n\n| Тариф | ОЗУ | Диск | Рекомендуемый swap |\n|---|---|---|---|\n| Basic XS | 1 GB | 20 GB | 1 GB |\n| Standard S | 2 GB | 20 GB | 1 GB |\n| CPU S | 2 GB | 30 GB | 1 GB |\n| Basic S | 2 GB | 50 GB | 2 GB |\n\nНа тарифах с 4 GB ОЗУ и больше swap обычно не нужен. Файл на 1 GB можно оставить как запас на случай редких пиков.\n\n> **Важно**\n> Swap не заменяет оперативную память: диск во много раз медленнее ОЗУ. Если сервер постоянно пользуется подкачкой, ему нужен тариф с большим объёмом ОЗУ. Признаки описаны ниже, в разделе «Когда нужен апгрейд».\n\n## Проверьте память и текущий swap\n\n```bash\nfree -h\nswapon --show\n```\n\nПример вывода на сервере без swap:\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           1.9Gi       1.2Gi       118Mi        12Mi       640Mi       560Mi\nSwap:             0B          0B          0B\n```\n\n- Если в строке `Swap:` стоит `0B`, а `swapon --show` ничего не выводит, подкачки на сервере нет. BLACKBOX не добавляет swap при установке сервера, поэтому на новом сервере обычно так и есть.\n- Столбец `available` показывает, сколько памяти ещё доступно приложениям.\n- Значение `total` в строке `Mem:` немного меньше объёма ОЗУ тарифа: часть памяти резервирует система.\n\nЕсли `swapon --show` уже показывает файл или раздел, не создавайте ещё один. Как изменить размер существующего swap, описано в частых вопросах в конце статьи.\n\nПроверьте и свободное место на диске. В столбце `Avail` должно оставаться заметно больше, чем размер создаваемого swap:\n\n```bash\ndf -h /\n```\n\n## Создайте файл подкачки\n\nКоманды создают файл `/swapfile` размером 2 GB. Для 1 GB укажите `1G` вместо `2G`.\n\n1. Зарезервируйте место на диске:\n\n   ```bash\n   fallocate -l 2G /swapfile\n   ```\n\n2. Оставьте доступ к файлу только для `root`:\n\n   ```bash\n   chmod 600 /swapfile\n   ```\n\n3. Подготовьте файл как область подкачки:\n\n   ```bash\n   mkswap /swapfile\n   ```\n\n4. Только в AlmaLinux и CentOS Stream, где включён SELinux, назначьте файлу метку SELinux, предусмотренную для `/swapfile`:\n\n   ```bash\n   restorecon -v /swapfile\n   ```\n\n5. Включите swap:\n\n   ```bash\n   swapon /swapfile\n   ```\n\n6. Проверьте командой `swapon --show`. Вывод будет таким, а в `free -h` строка `Swap:` перестанет показывать `0B`:\n\n   ```text\n   NAME      TYPE SIZE USED PRIO\n   /swapfile file   2G   0B   -2\n   ```\n\nSwap работает до следующей перезагрузки. Чтобы он включался автоматически при каждом запуске, добавьте его в `/etc/fstab` (следующий раздел).\n\n### Если fallocate не срабатывает\n\nЕсли `fallocate` выдаёт `Operation not supported` или `swapon` не принимает файл (`it appears to have holes` или `Invalid argument`), создайте файл командой `dd`. Это дольше, зато `dd` целиком записывает файл на диск и срабатывает там, где `fallocate` не помогает. `count` — размер в МБ: `2048` для 2 GB, `1024` для 1 GB.\n\n```bash\nrm -f /swapfile\ndd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress\n```\n\nЗатем повторите шаги 2–6 выше.\n\n## Включите swap при каждом запуске\n\n1. Сделайте копию файла `/etc/fstab`:\n\n   ```bash\n   cp /etc/fstab /etc/fstab.bak\n   ```\n\n2. Убедитесь, что строки для `/swapfile` ещё нет. Команда не должна ничего вывести:\n\n   ```bash\n   grep swapfile /etc/fstab\n   ```\n\n3. Добавьте строку в конец файла:\n\n   ```bash\n   echo '/swapfile none swap sw 0 0' >> /etc/fstab\n   ```\n\n4. Перечитайте конфигурацию systemd:\n\n   ```bash\n   systemctl daemon-reload\n   ```\n\n5. Проверьте строку без перезагрузки: отключите swap и снова включите его по `/etc/fstab`. Если в выводе есть `/swapfile`, строка записана правильно.\n\n   ```bash\n   swapoff /swapfile\n   swapon -a\n   swapon --show\n   ```\n\nЕсли в `/etc/fstab` что-то пошло не так, восстановите копию до любой перезагрузки:\n\n```bash\ncp /etc/fstab.bak /etc/fstab\n```\n\n> **Внимание**\n> На шаге 3 ставьте два знака `>>`. С одним `>` команда заменит всё содержимое `/etc/fstab`, и сервер может перестать нормально загружаться. Веб-консоли у клиентов нет, поэтому исправить файл после перезагрузки вы не сможете. Если доступ потерян, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Настройте swappiness\n\nПараметр `vm.swappiness` определяет, насколько охотно ядро переносит данные из ОЗУ в swap. Значение по умолчанию обычно 60. При значении 10 ядро как можно дольше держит приложения в ОЗУ и переносит данные в подкачку в основном тогда, когда память почти заполнена.\n\n1. Посмотрите текущее значение:\n\n   ```bash\n   cat /proc/sys/vm/swappiness\n   ```\n\n2. Установите значение 10 сразу:\n\n   ```bash\n   sysctl vm.swappiness=10\n   ```\n\n3. Чтобы настройка сохранилась после перезагрузки, запишите её в новый файл в `/etc/sysctl.d/`. Здесь один знак `>` уместен: файл новый.\n\n   ```bash\n   echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf\n   ```\n\n4. Проверьте файл. Должно вывестись `vm.swappiness = 10`:\n\n   ```bash\n   sysctl -p /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## Когда нужен апгрейд\n\nSwap выручает при редких пиках. Если памяти не хватает постоянно, решение — больше ОЗУ. Признаки:\n\n- в `free -h` значение `used` в строке `Swap:` растёт и остаётся высоким, а `available` в строке `Mem:` близко к нулю;\n- сервер отвечает медленно, хотя процессор не загружен;\n- в выводе команды ниже столбцы `si` и `so` (данные, прочитанные из swap и записанные в swap, в секунду) больше 0 почти при каждом замере:\n\n  ```bash\n  vmstat 1 5\n  ```\n\n- в журнале ядра есть записи о процессах, завершённых из-за нехватки памяти (команда показывает сообщения с последней загрузки):\n\n  ```bash\n  journalctl -k | grep -i \"out of memory\"\n  ```\n\nЧто делать:\n\n1. Выясните, какой процесс расходует память и можно ли его настроить: [Диагностика нагрузки сервера (CPU, RAM, диск, сеть)](#ghiduri.monitorizare-de-baza).\n2. Если приложению действительно нужно больше памяти, перейдите на больший тариф того же семейства кнопкой «Апгрейд» на карточке сервера: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n| Текущий тариф | Следующий тариф в семействе | ОЗУ | Диск |\n|---|---|---|---|\n| Basic XS | Basic S | 1 → 2 GB | 20 → 50 GB |\n| Basic S | Basic M | 2 → 4 GB | 50 → 100 GB |\n| Standard S | Standard M | 2 → 4 GB | 20 → 40 GB |\n| CPU S | CPU M | 2 → 4 GB | остаётся 30 GB |\n\nЦены всех тарифов — в статье [Тарифы VPS: как выбрать](#comenzi.planuri-vps). После апгрейда файл подкачки остаётся на сервере: его можно оставить как запас или удалить.\n\nЕсли на сервере подключена дополнительная услуга «Мониторинг», график «Использование ОЗУ (%)» в блоке «Динамика» на странице «Мониторинг» показывает расход памяти во времени. Swap на этом графике не учитывается: его проверяйте на сервере командой `free -h`. Подробнее: [Страница «Мониторинг»](#servicii.monitorizare).\n\n## Swap и место на диске\n\n- Файл подкачки занимает на диске весь свой объём, даже если не используется: 2 GB swap — это на 2 GB меньше места для данных.\n- На дисках 20–30 GB (Basic XS, Standard S и семейство CPU) не делайте swap больше 1 GB. В семействах CPU (30 GB) и High-Frequency Compute (50 GB) диск не увеличивается и после апгрейда.\n- Исключите `/swapfile` из резервных копий: после перезагрузки его содержимое уже не нужно.\n- Если диск заполняется, уменьшите или удалите swap и следуйте статье [Диск сервера заполнен](#faq.disc-plin).\n\n## Удалите swap\n\n1. Проверьте память. Значение `available` в строке `Mem:` должно быть больше, чем `used` в строке `Swap:`, иначе данным из подкачки некуда переместиться:\n\n   ```bash\n   free -h\n   ```\n\n2. Отключите swap. Если в подкачке много данных, команда может выполняться несколько минут:\n\n   ```bash\n   swapoff /swapfile\n   ```\n\n3. Удалите строку из `/etc/fstab`. Команда сохранит копию файла в `/etc/fstab.bak`:\n\n   ```bash\n   sed -i.bak '/^\\/swapfile /d' /etc/fstab\n   ```\n\n4. Убедитесь, что строки больше нет (первая команда не должна ничего вывести), и перечитайте конфигурацию:\n\n   ```bash\n   grep swapfile /etc/fstab\n   systemctl daemon-reload\n   ```\n\n5. Удалите файл:\n\n   ```bash\n   rm /swapfile\n   ```\n\n6. Если вы меняли swappiness, удалите и этот файл. Значение по умолчанию вернётся после следующей перезагрузки:\n\n   ```bash\n   rm /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## Частые сообщения об ошибках\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| `fallocate: fallocate failed: Operation not supported` | Файловая система не поддерживает `fallocate`. | Создайте файл командой `dd`. |\n| `swapon: /swapfile: skipping - it appears to have holes.` или `swapon: /swapfile: swapon failed: Invalid argument` | Файл записан на диск не полностью, или файловая система не принимает файл, созданный через `fallocate`. | Удалите файл и создайте его командой `dd`. |\n| `swapon: /swapfile: insecure permissions 0644, 0600 suggested.` | Файл могут читать другие пользователи. | Выполните `chmod 600 /swapfile`. |\n| `swapon: /swapfile: swapon failed: Device or resource busy` | Swap уже включён. | Проверьте командой `swapon --show`. Больше ничего делать не нужно. |\n| `No space left on device` (при `fallocate` или `dd`) | На диске недостаточно свободного места. | Выберите размер поменьше или освободите место. |\n| `swapoff: /swapfile: swapoff failed: Cannot allocate memory` | Свободной ОЗУ не хватает для данных из подкачки. | Временно остановите крупные приложения и повторите. Или удалите строку из `/etc/fstab`, перезагрузите сервер и затем удалите файл. |\n\n## Частые вопросы\n\n**Какой размер swap выбрать?**\n1 GB на дисках 20–30 GB и 2 GB на остальных серверах с 1–2 GB ОЗУ. Больший swap редко помогает: если серверу нужно больше памяти, выберите тариф с большим объёмом ОЗУ.\n\n**Как изменить размер swap?**\nОтключите swap, удалите файл и создайте его заново нужного размера (в примере — 1 GB). В AlmaLinux и CentOS Stream перед `swapon` выполните также `restorecon -v /swapfile`. Строка в `/etc/fstab` остаётся прежней.\n\n```bash\nswapoff /swapfile\nrm /swapfile\nfallocate -l 1G /swapfile\nchmod 600 /swapfile\nmkswap /swapfile\nswapon /swapfile\n```\n\n**Замедляет ли swap сервер?**\nНет, пока он используется изредка. Замедление начинается, когда сервер постоянно переносит данные в подкачку. Тогда нужно больше ОЗУ, а не больше swap.\n",
    "en": "Swap is disk space that Linux uses as backup memory when RAM fills up. This guide shows how to create a swap file, tune it and remove it. You run all the commands on the server, in an SSH session as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). You can see how much RAM your plan has in the app.blackbox.md panel: on the server card in “My Servers”, in the “Spec” field.\n\n**Available to:** the server owner, with SSH access as `root`. The commands are the same on all the Linux systems available to order: Ubuntu, Debian, AlmaLinux and CentOS Stream. AlmaLinux and CentOS Stream need one extra step, marked in the text.\n\n## When swap helps\n\nSwap helps if:\n\n- the server has 1–2 GB of RAM;\n- memory fills up only now and then, for example during a traffic spike or a scheduled job;\n- you install or compile packages (system updates, `composer`, `npm`) that need a lot of memory for a short time.\n\nWithout swap, when memory runs out, the Linux kernel forcibly stops a process (the OOM killer), usually the largest one: the database or the web server. With swap, the server slows down, but processes keep running, as long as the swap does not fill up too.\n\n| Plan | RAM | Disk | Recommended swap |\n|---|---|---|---|\n| Basic XS | 1 GB | 20 GB | 1 GB |\n| Standard S | 2 GB | 20 GB | 1 GB |\n| CPU S | 2 GB | 30 GB | 1 GB |\n| Basic S | 2 GB | 50 GB | 2 GB |\n\nOn plans with 4 GB of RAM or more, swap is usually not needed. A 1 GB file can stay as a reserve for rare spikes.\n\n> **Important**\n> Swap does not replace RAM: the disk is many times slower than memory. If the server uses swap all the time, it needs a plan with more RAM. You'll find the signs below, in the section “When you need an upgrade”.\n\n## Check memory and existing swap\n\n```bash\nfree -h\nswapon --show\n```\n\nExample on a server without swap:\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           1.9Gi       1.2Gi       118Mi        12Mi       640Mi       560Mi\nSwap:             0B          0B          0B\n```\n\n- If the `Swap:` row shows `0B` and `swapon --show` prints nothing, the server has no swap. BLACKBOX does not add swap when it installs the server, so this is usually what you'll see on a new server.\n- The `available` column shows how much more memory applications can use.\n- In the `Mem:` row, `total` is slightly lower than the plan's RAM: the system reserves part of it.\n\nIf `swapon --show` already lists a file or a partition, do not create another one. To change the size of the existing swap, see the frequently asked questions at the end.\n\nAlso check the free disk space. The `Avail` column must show much more than the size of the swap you are creating:\n\n```bash\ndf -h /\n```\n\n## Create the swap file\n\nThese commands create a 2 GB file named `/swapfile`. For 1 GB, write `1G` instead of `2G`.\n\n1. Reserve the disk space:\n\n   ```bash\n   fallocate -l 2G /swapfile\n   ```\n\n2. Allow only `root` to access the file:\n\n   ```bash\n   chmod 600 /swapfile\n   ```\n\n3. Set the file up as swap:\n\n   ```bash\n   mkswap /swapfile\n   ```\n\n4. Only on AlmaLinux and CentOS Stream, where SELinux is active, apply the SELinux label intended for `/swapfile`:\n\n   ```bash\n   restorecon -v /swapfile\n   ```\n\n5. Turn on swap:\n\n   ```bash\n   swapon /swapfile\n   ```\n\n6. Check with `swapon --show`. The output looks like this, and in `free -h` the `Swap:` row no longer shows `0B`:\n\n   ```text\n   NAME      TYPE SIZE USED PRIO\n   /swapfile file   2G   0B   -2\n   ```\n\nSwap stays active until the next reboot. To have it turn on automatically at every boot, add it to `/etc/fstab` (next section).\n\n### If fallocate does not work\n\nIf `fallocate` prints `Operation not supported` or `swapon` rejects the file (`it appears to have holes` or `Invalid argument`), create the file with `dd`. It takes longer, but `dd` writes the whole file to disk and works even where `fallocate` does not. `count` is the size in MB: `2048` for 2 GB, `1024` for 1 GB.\n\n```bash\nrm -f /swapfile\ndd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress\n```\n\nThen continue with steps 2–6 above.\n\n## Turn on swap at every boot\n\n1. Make a copy of the `/etc/fstab` file:\n\n   ```bash\n   cp /etc/fstab /etc/fstab.bak\n   ```\n\n2. Check that there is no line for `/swapfile` yet. The command must print nothing:\n\n   ```bash\n   grep swapfile /etc/fstab\n   ```\n\n3. Add the line at the end of the file:\n\n   ```bash\n   echo '/swapfile none swap sw 0 0' >> /etc/fstab\n   ```\n\n4. Reload the systemd configuration:\n\n   ```bash\n   systemctl daemon-reload\n   ```\n\n5. Test the line without rebooting: turn swap off, then turn it on again from `/etc/fstab`. If `/swapfile` appears in the output, the line is correct.\n\n   ```bash\n   swapoff /swapfile\n   swapon -a\n   swapon --show\n   ```\n\nIf you made a mistake in `/etc/fstab`, restore the copy before any reboot:\n\n```bash\ncp /etc/fstab.bak /etc/fstab\n```\n\n> **Warning**\n> In step 3, type two `>>` signs. With a single `>`, the command replaces the entire contents of `/etc/fstab`, and the server may no longer boot correctly. Customers have no web console, so you would not be able to fix the file after a reboot. If you lose access, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## Tune swappiness\n\nThe `vm.swappiness` parameter controls how readily the kernel moves data from RAM to swap. The default value is usually 60. With a value of 10, the kernel keeps applications in RAM as long as possible and moves data to swap mostly when memory is almost full.\n\n1. See the current value:\n\n   ```bash\n   cat /proc/sys/vm/swappiness\n   ```\n\n2. Set the value to 10 right away:\n\n   ```bash\n   sysctl vm.swappiness=10\n   ```\n\n3. To keep the setting after a reboot, write it to a new file in `/etc/sysctl.d/`. Here a single `>` is correct, because the file is new:\n\n   ```bash\n   echo 'vm.swappiness=10' > /etc/sysctl.d/99-swappiness.conf\n   ```\n\n4. Check the file. The output must be `vm.swappiness = 10`:\n\n   ```bash\n   sysctl -p /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## When you need an upgrade\n\nSwap helps with rare spikes. If memory is short all the time, the solution is more RAM. The signs are:\n\n- in `free -h`, `used` in the `Swap:` row grows and stays high, while `available` in the `Mem:` row is close to zero;\n- the server responds slowly, even though the processor is not busy;\n- in the output of the command below, the `si` and `so` columns (data read from swap and written to swap, per second) are greater than 0 in almost every measurement:\n\n  ```bash\n  vmstat 1 5\n  ```\n\n- the kernel log shows processes stopped because of a lack of memory (the command shows the messages since the last boot):\n\n  ```bash\n  journalctl -k | grep -i \"out of memory\"\n  ```\n\nWhat to do:\n\n1. Find out which process is using the memory and whether you can tune it: [Diagnosing server load (CPU, RAM, disk, network)](#ghiduri.monitorizare-de-baza).\n2. If the application needs more memory, move to a larger plan in the same family with the “Upgrade” button on the server card: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n| Current plan | Next plan in the family | RAM | Disk |\n|---|---|---|---|\n| Basic XS | Basic S | 1 → 2 GB | 20 → 50 GB |\n| Basic S | Basic M | 2 → 4 GB | 50 → 100 GB |\n| Standard S | Standard M | 2 → 4 GB | 20 → 40 GB |\n| CPU S | CPU M | 2 → 4 GB | stays at 30 GB |\n\nThe prices of all plans are in [VPS plans: how to choose](#comenzi.planuri-vps). The swap file stays on the server after the upgrade: you can keep it as a reserve or remove it.\n\nIf the server has the Monitoring add-on service, the “RAM usage (%)” chart in the “Trends” block of the “Monitoring” page shows memory usage over time. The chart does not include swap: check swap on the server with `free -h`. Details: [The “Monitoring” page](#servicii.monitorizare).\n\n## Swap and disk space\n\n- The swap file takes up its full size on the disk, even when it is not in use: 2 GB of swap means 2 GB less for your data.\n- On 20–30 GB disks (Basic XS, Standard S and the CPU family), do not go above 1 GB. In the CPU (30 GB) and High-Frequency Compute (50 GB) families, the disk stays the same even after an upgrade.\n- Exclude `/swapfile` from your backups: its contents are of no use after a reboot.\n- If the disk fills up, shrink or remove the swap and follow [The server's disk is full](#faq.disc-plin).\n\n## Remove swap\n\n1. Check the memory. `available` in the `Mem:` row must be greater than `used` in the `Swap:` row; otherwise the data in swap has nowhere to go:\n\n   ```bash\n   free -h\n   ```\n\n2. Turn off swap. If swap holds a lot of data, the command may take a few minutes:\n\n   ```bash\n   swapoff /swapfile\n   ```\n\n3. Delete the line from `/etc/fstab`. The command keeps a copy of the file in `/etc/fstab.bak`:\n\n   ```bash\n   sed -i.bak '/^\\/swapfile /d' /etc/fstab\n   ```\n\n4. Check that the line is gone (the first command must print nothing) and reload the configuration:\n\n   ```bash\n   grep swapfile /etc/fstab\n   systemctl daemon-reload\n   ```\n\n5. Delete the file:\n\n   ```bash\n   rm /swapfile\n   ```\n\n6. If you set swappiness, delete its file too. The default value comes back at the next reboot:\n\n   ```bash\n   rm /etc/sysctl.d/99-swappiness.conf\n   ```\n\n## Common error messages\n\n| Message | What it means | What to do |\n|---|---|---|\n| `fallocate: fallocate failed: Operation not supported` | The file system does not support `fallocate`. | Create the file with `dd`. |\n| `swapon: /swapfile: skipping - it appears to have holes.` or `swapon: /swapfile: swapon failed: Invalid argument` | The file is not fully written to disk, or the file system does not accept a file created with `fallocate`. | Delete it and create it with `dd`. |\n| `swapon: /swapfile: insecure permissions 0644, 0600 suggested.` | Other users can also read the file. | Run `chmod 600 /swapfile`. |\n| `swapon: /swapfile: swapon failed: Device or resource busy` | Swap is already active. | Check with `swapon --show`. Nothing more needs to be done. |\n| `No space left on device` (with `fallocate` or `dd`) | There is not enough free space on the disk. | Choose a smaller size or free up space. |\n| `swapoff: /swapfile: swapoff failed: Cannot allocate memory` | There is not enough free RAM for the data in swap. | Temporarily stop large applications and try again. Otherwise, delete the line from `/etc/fstab`, reboot the server, and then delete the file. |\n\n## Frequently asked questions\n\n**What swap size should I choose?**\n1 GB on 20–30 GB disks and 2 GB on other servers with 1–2 GB of RAM. More swap rarely helps: if the server needs more memory, choose a plan with more RAM.\n\n**How do I change the swap size?**\nTurn off swap, delete the file and create it again with the new size (1 GB in the example). On AlmaLinux and CentOS Stream, also run `restorecon -v /swapfile` before `swapon`. The line in `/etc/fstab` stays the same.\n\n```bash\nswapoff /swapfile\nrm /swapfile\nfallocate -l 1G /swapfile\nchmod 600 /swapfile\nmkswap /swapfile\nswapon /swapfile\n```\n\n**Does swap slow down the server?**\nNot as long as it is used rarely. The slowdown starts when the server moves data to swap all the time. Then you need more RAM, not more swap.\n"
   }
  },
  {
   "id": "ghiduri.strategie-backup",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/strategie-backup/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/strategie-backup/",
    "en": "https://docs.blackbox.md/en/ghiduri/strategie-backup/"
   },
   "title": {
    "ro": "Strategia de backup pentru serverul dvs.",
    "ru": "Стратегия резервного копирования для вашего сервера",
    "en": "Backup strategy for your server"
   },
   "summary": {
    "ro": "De ce copiile de rezervă sunt responsabilitatea dvs., ce salvați, unde le păstrați, cum le automatizați cu cron, restic sau rsync și cum testați restaurarea.",
    "ru": "Почему за резервные копии отвечаете вы, что сохранять, где хранить копии, как автоматизировать их с помощью cron, restic или rsync и как проверять восстановление.",
    "en": "Why backups are your responsibility, what to back up, where to keep the copies, how to automate them with cron, restic or rsync, and how to test a restore."
   },
   "markdown": {
    "ro": "BLACKBOX nu face copii de rezervă automate ale serverului dvs. Butonul „Backup” de pe cardul serverului, în pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`; din blackbox.md: „Contul meu” → „Panou de administrare” → „Serverele mele”), nu este activ. Ghidul arată ce salvați, unde păstrați copiile, cum le automatizați și cum verificați că le puteți restaura. Toate comenzile se rulează pe server, prin SSH, ca `root`.\n\n**Disponibil pentru:** titularul unui VPS sau al unui server dedicat BLACKBOX, cu acces root prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Comenzile sunt pentru Ubuntu, Debian, AlmaLinux și CentOS Stream.\n\n## Cine răspunde de copiile de rezervă\n\nPe server aveți acces root și controlați tot ce rulează pe el, deci răspundeți și de copiile de rezervă ale datelor: [Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date). Capitolul 9 „Limitarea răspunderii” din [Termenii și condițiile](https://blackbox.md/info/terms#limitarea-raspunderii) prevede că „BLACKBOX nu răspunde pentru daune indirecte, pierdere de profit, pierderi de date sau întreruperi de activitate suferite de Client sau terți”.\n\nÎn panou nu există copii automate și nici snapshot-uri. Dacă apăsați „Backup” pe cardul serverului, apare „Se încarcă…”, apoi mesajul `backup_extra_disabled`: serviciul de backup automat nu este disponibil. Serverul și datele de pe el nu sunt afectate. Vedeți [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\n> **Important**\n> Un server șters cu „Șterge definitiv” sau prin anularea comenzii nu mai poate fi recuperat. Singurele copii ale datelor sunt cele pe care le-ați făcut dvs., în afara serverului.\n\n## Regula 3-2-1\n\n| Regula | Ce înseamnă | Exemplu |\n|---|---|---|\n| 3 copii | datele originale și încă două copii | site-ul și baza de date de pe server, copia restic, copia de pe calculatorul dvs. |\n| 2 suporturi diferite | copiile nu stau pe același disc sau în același sistem de stocare | discul serverului și un serviciu de stocare de obiecte |\n| 1 copie în altă locație (offsite) | cel puțin o copie complet separată de server | stocare la alt furnizor sau un NAS în birou |\n\nO copie într-un alt director al aceluiași server nu este backup: dispare odată cu serverul dacă acesta este șters, compromis sau nu mai pornește.\n\n## Ce salvați\n\n| Ce | Unde se află de obicei | Cum îl salvați |\n|---|---|---|\n| Fișierele site-urilor și ale aplicațiilor, încărcările utilizatorilor | `/var/www`, `/home`, `/srv`, `/opt` | copiați directoarele |\n| Bazele de date MariaDB, MySQL, PostgreSQL | în serviciul de baze de date de pe server | dump (`mysqldump`, `pg_dump`), vedeți pasul 1 |\n| Configurația serverului: nginx, Apache, PHP, SSH, certificatele Let's Encrypt | `/etc` | copiați tot `/etc` |\n| Fișierele `.env` și configurațiile aplicațiilor | în directorul fiecărei aplicații | odată cu directorul aplicației |\n| Docker: volumele, `docker-compose.yml`, `.env` | `/var/lib/docker/volumes` și directorul proiectului | volumele cu fișiere; pentru bazele de date din containere, dump |\n| Sarcinile cron | `/etc/crontab`, `/etc/cron.d`, `/var/spool/cron` | odată cu `/etc` și `/var/spool/cron` |\n| Scripturile și cheile din directorul personal al lui `root` | `/root` | copiați directorul |\n\nNu copiați fișierele bazei de date (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`) cât timp baza rulează: copia poate fi inconsistentă și baza nu mai pornește din ea. La fel pentru volumele Docker ale bazelor de date: faceți dump cu comanda bazei, rulată în container. Exemplu pentru PostgreSQL, ca rând în scriptul de la pasul 1:\n\n```bash\ndocker exec NUME_CONTAINER pg_dump -U NUME_UTILIZATOR -Fc NUME_BD > \"$DIR/NUME_BD-$DATA.dump\"\n```\n\nPentru MariaDB sau MySQL din container, folosiți la fel `mysqldump` (în imaginile MariaDB recente, `mariadb-dump`), cu utilizatorul și parola din `.env`. Vedeți și [Instalarea Docker și Docker Compose](#ghiduri.docker).\n\nNu este nevoie să salvați `/proc`, `/sys`, `/dev`, `/run`, `/tmp`, cache-urile, imaginile Docker (se descarcă sau se construiesc din nou) și pachetele sistemului (se reinstalează). Codul aflat într-un depozit Git extern nu cere o copie separată, dacă verificați că modificările ajung acolo.\n\n## Unde păstrați copiile\n\n| Destinație | Vă protejează când | Instrument |\n|---|---|---|\n| Alt server, la BLACKBOX sau la alt furnizor | serverul principal este șters, compromis sau nu mai pornește | restic prin SFTP sau rsync |\n| Stocare de obiecte compatibilă S3, la alt furnizor | la fel, plus o problemă la furnizorul serverului principal | restic |\n| Calculatorul dvs. sau un NAS din birou | serverul este compromis: o copie descărcată pe calculator nu poate fi ștearsă de pe server | `rsync` sau `scp`, rulat de pe calculator |\n| BLACKBOX Cloud Storage | aveți nevoie de spațiu separat de server, pentru copii | la cerere, vedeți mai jos |\n\nPentru copia offsite din regula 3-2-1, alegeți cel puțin o destinație la alt furnizor sau la dvs. în birou. Pentru un server de backup la BLACKBOX, planurile din familia Basic au discuri mari, de până la 400 GB: [Planurile VPS: cum alegeți](#comenzi.planuri-vps).\n\n**BLACKBOX Cloud Storage** nu se comandă online. Pe pagina `blackbox.md/hosting/cloud-storage` („Găzduire” → „Cloud Storage”), butonul „Comandați stocare” duce la pagina „Contacte”. Volumul, prețul și metodele de acces le primiți în oferta echipei; întrebați ce metode de acces are spațiul, ca să alegeți între restic și rsync. Vedeți [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere).\n\n## Pasul 1: dump-ul zilnic al bazelor de date, din cron\n\nScriptul de mai jos exportă baza de date în `/var/backups/db` în fiecare noapte și șterge de acolo dump-urile mai vechi de 7 zile. Pasul 2 le copiază apoi în afara serverului. Instalarea bazelor de date: [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date).\n\nFișierele se editează cu `nano`. Dacă lipsește (AlmaLinux, CentOS Stream), instalați-l:\n\n```bash\ndnf install -y nano\n```\n\n1. Creați scriptul:\n\n   ```bash\n   nano /usr/local/sbin/db-dump.sh\n   ```\n\n2. Lipiți conținutul de mai jos, înlocuiți `NUME_BD` cu numele bazei, salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X:\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   umask 077\n   cd /\n   DIR=/var/backups/db\n   DATA=$(date +%F)\n   mkdir -p \"$DIR\"\n   mysqldump --single-transaction --routines NUME_BD | gzip > \"$DIR/NUME_BD-$DATA.sql.gz\"\n   find \"$DIR\" -type f -mtime +7 -delete\n   ```\n\n   Pentru PostgreSQL, înlocuiți rândul cu `mysqldump` cu acesta:\n\n   ```bash\n   sudo -u postgres pg_dump -Fc NUME_BD > \"$DIR/NUME_BD-$DATA.dump\"\n   ```\n\n   Pentru mai multe baze, repetați rândul pentru fiecare. Pe MariaDB, comanda se numește și `mariadb-dump`.\n\n3. Faceți scriptul executabil, rulați-l o dată și verificați fișierul creat:\n\n   ```bash\n   chmod 700 /usr/local/sbin/db-dump.sh\n   /usr/local/sbin/db-dump.sh\n   ls -lh /var/backups/db\n   ```\n\n   Dacă apare `Access denied for user 'root'@'localhost'`, utilizatorul `root` al bazei cere parolă. Puneți-o în fișierul `/root/.my.cnf`, cu conținutul de mai jos, apoi restrângeți accesul la fișier:\n\n   ```ini\n   [client]\n   user=root\n   password=PAROLA_BD\n   ```\n\n   ```bash\n   chmod 600 /root/.my.cnf\n   ```\n\n4. Programați scriptul în fiecare noapte la 02:00 (ora serverului). Creați fișierul:\n\n   ```bash\n   nano /etc/cron.d/db-dump\n   ```\n\n   și lipiți rândul:\n\n   ```text\n   0 2 * * * root /usr/local/sbin/db-dump.sh >> /var/log/db-dump.log 2>&1\n   ```\n\nFișierele din `/etc/cron.d` au coloana utilizatorului (`root`), numele lor nu conține puncte, iar ultimul rând se termină cu Enter. Caracterul `%` nu poate fi scris direct în rândul cron; de aceea data se calculează în script. Dacă sarcina nu rulează, verificați că serviciul cron este instalat și pornit.\n\nUbuntu și Debian:\n\n```bash\napt update\napt install -y cron\nsystemctl enable --now cron\n```\n\nAlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y cronie\nsystemctl enable --now crond\n```\n\nDump-urile ocupă spațiu pe disc. Dacă discul este mic, păstrați mai puține zile (de exemplu `-mtime +3`): [Discul serverului este plin](#faq.disc-plin).\n\n## Pasul 2: copia în afara serverului cu restic\n\nrestic criptează datele pe server, înainte de trimitere, păstrează un istoric de copii (snapshot-uri) și la fiecare rulare transferă doar ce s-a schimbat. Exemplul folosește o stocare de obiecte compatibilă S3; varianta cu un alt server, prin SFTP, este în secțiunea despre rsync. Documentația oficială: [restic.readthedocs.io](https://restic.readthedocs.io/).\n\n### Instalarea\n\nUbuntu și Debian:\n\n```bash\napt update\napt install -y restic\n```\n\nAlmaLinux și CentOS Stream (restic vine din depozitul EPEL):\n\n```bash\ndnf install -y epel-release\ndnf install -y restic\n```\n\n### Depozitul și parola\n\n1. La furnizorul de stocare, creați un bucket și o pereche de chei de acces. Notați adresa serviciului (endpoint), numele bucket-ului, ID-ul cheii și cheia secretă.\n2. Generați parola depozitului și afișați-o:\n\n   ```bash\n   mkdir -p /etc/restic\n   chmod 700 /etc/restic\n   openssl rand -base64 32 > /etc/restic/password\n   chmod 600 /etc/restic/password\n   cat /etc/restic/password\n   ```\n\n3. Copiați parola afișată în managerul dvs. de parole.\n4. Creați fișierul cu setări:\n\n   ```bash\n   nano /etc/restic/env\n   ```\n\n   ```ini\n   RESTIC_REPOSITORY=s3:https://ENDPOINT_S3/NUME_BUCKET/NUME_SERVER\n   RESTIC_PASSWORD_FILE=/etc/restic/password\n   AWS_ACCESS_KEY_ID=ID_CHEIE\n   AWS_SECRET_ACCESS_KEY=CHEIE_SECRETA\n   ```\n\n   `NUME_SERVER` este un folder din bucket; dați fiecărui server folderul lui. Dacă furnizorul cere o regiune, adăugați rândul `AWS_DEFAULT_REGION=REGIUNE`.\n\n5. Restrângeți accesul la fișier, încărcați setările în sesiunea curentă și inițializați depozitul (o singură dată):\n\n   ```bash\n   chmod 600 /etc/restic/env\n   set -a\n   . /etc/restic/env\n   set +a\n   restic init\n   ```\n\n   Răspunsul începe cu `created restic repository`.\n\n> **Risc**\n> Fără parola depozitului, copiile nu mai pot fi decriptate de nimeni, nici de BLACKBOX. Păstrați-o și în afara serverului: dacă serverul se pierde, fără ea nu puteți restaura nimic.\n\n### Scriptul de backup\n\n```bash\nnano /usr/local/sbin/restic-backup.sh\n```\n\n```bash\n#!/bin/bash\nset -euo pipefail\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches\nrestic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --keep-tag manual --prune\n```\n\n| Parte | Ce face |\n|---|---|\n| `restic backup /etc /root …` | copiază directoarele din listă. Lăsați doar directoarele care există pe server (un director lipsă dă eroare) și adăugați-le pe ale dvs., de exemplu `/home`, `/srv` sau `/var/lib/docker/volumes/NUME_VOLUM` pentru un volum Docker cu fișiere. |\n| `--exclude-caches` | sare peste directoarele marcate ca cache |\n| `--keep-daily 7 --keep-weekly 4 --keep-monthly 6` | păstrează ultimele 7 copii zilnice, 4 săptămânale și 6 lunare |\n| `--keep-tag manual` | păstrează copiile făcute de mână cu eticheta `manual` |\n| `--prune` | șterge din depozit datele care nu mai aparțin niciunei copii |\n\nFaceți scriptul executabil, rulați-l o dată și vedeți lista de copii:\n\n```bash\nchmod 700 /usr/local/sbin/restic-backup.sh\n/usr/local/sbin/restic-backup.sh\nrestic snapshots\n```\n\n### Rularea zilnică cu un timer systemd\n\n1. Creați serviciul:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=Backup restic\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   Type=oneshot\n   Environment=HOME=/root\n   ExecStart=/usr/local/sbin/restic-backup.sh\n   ```\n\n2. Creați timerul:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.timer\n   ```\n\n   ```ini\n   [Unit]\n   Description=Backup restic zilnic\n\n   [Timer]\n   OnCalendar=*-*-* 03:00:00\n   RandomizedDelaySec=30min\n   Persistent=true\n\n   [Install]\n   WantedBy=timers.target\n   ```\n\n3. Activați timerul și verificați următoarea rulare, în coloana `NEXT`:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now restic-backup.timer\n   systemctl list-timers restic-backup.timer\n   ```\n\n4. Rulați serviciul o dată și citiți jurnalul:\n\n   ```bash\n   systemctl start restic-backup.service\n   journalctl -u restic-backup.service -n 50\n   ```\n\nCopia pornește în fiecare zi între 03:00 și 03:30 (ora serverului), după dump-urile de la 02:00. Cu `Persistent=true`, o rulare ratată cât serverul a fost oprit se face la următoarea pornire.\n\n## Varianta simplă: rsync pe alt server\n\nDacă aveți un al doilea server, `rsync` copiază directoarele pe el prin SSH. rsync trebuie să fie instalat pe ambele servere. Instalarea și opțiunile lui: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n1. Pe serverul principal, creați o cheie SSH folosită doar pentru copii, fără parolă, ca s-o poată folosi cron:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/backup_ed25519 -N \"\"\n   cat /root/.ssh/backup_ed25519.pub\n   ```\n\n2. Adăugați linia afișată în `/root/.ssh/authorized_keys` pe serverul de backup. Dacă și acesta este la BLACKBOX, folosiți „Adaugă cheie SSH” de pe cardul lui: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n3. Creați directorul de destinație și rulați prima copiere de mână. La prima conectare, confirmați cheia serverului de backup cu `yes`:\n\n   ```bash\n   ssh -i /root/.ssh/backup_ed25519 root@IP_BACKUP \"mkdir -p /backups/NUME_SERVER\"\n   rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@IP_BACKUP:/backups/NUME_SERVER/\n   ```\n\n   Cu `-R`, căile se păstrează complet: pe serverul de backup apar `/backups/NUME_SERVER/etc`, `/backups/NUME_SERVER/var/www` și așa mai departe.\n\n4. Programați copierea zilnic la 03:30, în fișierul `/etc/cron.d/backup-rsync`:\n\n   ```text\n   30 3 * * * root rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@IP_BACKUP:/backups/NUME_SERVER/ >> /var/log/backup-rsync.log 2>&1\n   ```\n\nrsync păstrează doar ultima stare: cu `--delete`, un fișier șters sau stricat pe server dispare și din copie la rularea următoare. În plus, fișierele de pe serverul de backup nu sunt criptate. Pentru istoric și criptare, folosiți restic prin SFTP pe același server. Adăugați în `/root/.ssh/config`:\n\n```text\nHost backup\n    HostName IP_BACKUP\n    User root\n    IdentityFile /root/.ssh/backup_ed25519\n```\n\nFișierul `/etc/restic/env` conține atunci doar aceste două rânduri:\n\n```ini\nRESTIC_REPOSITORY=sftp:backup:/backups/NUME_SERVER-restic\nRESTIC_PASSWORD_FILE=/etc/restic/password\n```\n\nRestul pașilor sunt cei din secțiunea despre restic: instalarea, parola, inițializarea, scriptul și timerul.\n\n## Criptarea copiilor din afara serverului\n\n- restic criptează totul cu parola depozitului înainte de trimitere. Furnizorul de stocare vede doar date criptate.\n- SSH, deci și `rsync` și `scp`, criptează datele doar pe drum. Dacă destinația nu vă aparține, criptați fișierele înainte de copiere, de exemplu cu `gpg` și o parolă păstrată într-un fișier (pachetul `gnupg` pe Ubuntu și Debian, `gnupg2` pe AlmaLinux și CentOS Stream):\n\n```bash\nopenssl rand -base64 32 > /root/.backup-pass\nchmod 600 /root/.backup-pass\ngpg --batch --yes --pinentry-mode loopback --passphrase-file /root/.backup-pass --symmetric --cipher-algo AES256 -o FISIER.gpg FISIER\n```\n\nDecriptarea:\n\n```bash\ngpg --batch --pinentry-mode loopback --passphrase-file /root/.backup-pass -o FISIER -d FISIER.gpg\n```\n\nPăstrați și conținutul lui `/root/.backup-pass` în managerul de parole.\n\n> **Securitate**\n> Fișierele `/etc/restic/env`, `/etc/restic/password` și cheia `/root/.ssh/backup_ed25519` dau acces la copii; cheia dă chiar acces root la serverul de backup. Dacă serverul este compromis, atacatorul le poate folosi ca să șteargă copiile. Păstrați și o copie pe care serverul nu o poate șterge, de exemplu descărcată periodic pe calculatorul dvs.\n\n## Testați restaurarea cel puțin o dată pe lună\n\nO copie pe care nu ați restaurat-o niciodată nu este o garanție. O dată pe lună și după orice modificare a scripturilor, restaurați într-un director temporar, nu peste datele în uz.\n\n1. Încărcați setările, verificați lista de copii și integritatea depozitului:\n\n   ```bash\n   set -a\n   . /etc/restic/env\n   set +a\n   restic snapshots\n   restic check\n   ```\n\n   Ultima copie trebuie să fie din ultimele 24 de ore, iar `restic check` trebuie să se termine cu `no errors were found`.\n\n2. Restaurați configurația și dump-urile într-un director temporar:\n\n   ```bash\n   restic restore latest --target /root/restore-test --include /etc --include /var/backups/db\n   ls -lh /root/restore-test/var/backups/db\n   ```\n\n3. Încărcați dump-ul într-o bază de test și verificați tabelele și câteva înregistrări recente (de exemplu ultima comandă sau ultimul articol publicat). Rulați ultima comandă din bloc abia după verificare: ea șterge baza de test. Înlocuiți `AAAA-LL-ZZ` cu data din numele fișierului.\n\n   MariaDB și MySQL:\n\n   ```bash\n   mysql -e \"CREATE DATABASE restore_test\"\n   gunzip < /root/restore-test/var/backups/db/NUME_BD-AAAA-LL-ZZ.sql.gz | mysql restore_test\n   mysql -e \"SHOW TABLES\" restore_test\n   mysql -e \"DROP DATABASE restore_test\"\n   ```\n\n   PostgreSQL:\n\n   ```bash\n   sudo -u postgres createdb restore_test\n   sudo -u postgres pg_restore -d restore_test < /root/restore-test/var/backups/db/NUME_BD-AAAA-LL-ZZ.dump\n   sudo -u postgres psql -d restore_test -c \"\\dt\"\n   sudo -u postgres dropdb restore_test\n   ```\n\n4. Ștergeți directorul temporar:\n\n   ```bash\n   rm -rf /root/restore-test\n   ```\n\nRestaurarea ocupă spațiu pe disc, de aceea restaurați doar ce verificați (`--include`). Testul cel mai sigur este restaurarea completă pe un alt server, cu pornirea aplicației: este și repetiția pentru un incident real. Cu varianta rsync, copiați dump-ul înapoi de pe serverul de backup și încărcați-l la fel.\n\n## Copie suplimentară înainte de operațiile riscante\n\n| Operația | De ce faceți o copie înainte |\n|---|---|\n| „Upgrade” din panou: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade) | serverul repornește pe configurația nouă, iar discul se extinde |\n| „Șterge definitiv”: [Ștergerea definitivă a unui server](#servere.stergere-server) | după perioada de grație de 24 de ore, serverul și datele sunt șterse definitiv |\n| „Anulează comanda” la o comandă cu server: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare) | serverul este șters imediat, la confirmare |\n| Trecerea la o versiune majoră a sistemului: [Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate) | poate opri aplicațiile sau accesul SSH |\n| Reinstalarea sistemului de operare, la cerere, prin suport: [Sistemele de operare disponibile](#comenzi.sisteme-operare) | toate datele de pe server se pierd |\n| Mutarea pe alt server: [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site) | aveți nevoie de o copie completă și recentă |\n| Actualizarea unui CMS, a unei aplicații sau a bazei de date la o versiune nouă | modificările de date nu se pot anula fără copie |\n\nFaceți un dump nou și o copie restic cu eticheta `manual`, pe care `forget` nu o șterge:\n\n```bash\n/usr/local/sbin/db-dump.sh\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches --tag manual\nrestic snapshots --tag manual\n```\n\nCând nu mai aveți nevoie de ea, ștergeți-o cu ID-ul din coloana `ID`:\n\n```bash\nrestic forget ID_COPIE --prune\n```\n\nÎnainte de a șterge un server, salvați în afara lui parola depozitului și setările din `/etc/restic/env`: fără ele nu mai ajungeți la copii. Descărcați și o copie pe calculator, cu `rsync` sau `scp`.\n\n## Întrebări frecvente\n\n**BLACKBOX poate restaura serverul dacă am șters ceva din greșeală?**\nNu. Panoul nu face copii automate și nu are snapshot-uri, iar un server șters nu mai poate fi recuperat. Restaurați din copiile dvs.\n\n**Ce înseamnă mesajul `backup_extra_disabled` de sub butonul „Backup”?**\nÎnseamnă că serviciul de backup automat nu este disponibil. Nu este o defecțiune a serverului, iar datele nu sunt afectate.\n\n**Cum restaurez un singur fișier șters?**\nÎncărcați setările restic, ca la pasul 1 din testul de restaurare. Restaurați fișierul într-un director temporar, apoi copiați-l la loc. Nu restaurați direct cu `--target /`: suprascrieți fișierele în uz. O copie mai veche o alegeți cu ID-ul ei din `restic snapshots`, în locul lui `latest`.\n\n```bash\nrestic restore latest --target /root/restore-test --include /var/www/site/config.php\ncp -a /root/restore-test/var/www/site/config.php /var/www/site/config.php\n```\n\n**Am un plan „VPS hosting” cu panou de control. Ce fac?**\nPanoul de control instalat poate avea propria funcție de backup; întrebați suportul ce oferă: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou). Oricum, copia trebuie să ajungă în afara serverului.\n\n**Am pierdut parola depozitului restic. Ce fac?**\nDacă fișierul `/etc/restic/password` mai există pe server, parola este acolo: salvați-o din nou în managerul de parole. Dacă parola nu mai există nicăieri, copiile din acel depozit nu mai pot fi citite. Creați atunci un depozit nou, cu altă parolă și alt folder în `RESTIC_REPOSITORY`, și faceți imediat o copie completă.\n\n**Pot cere echipei să configureze copiile?**\nDacă preferați să nu le configurați dvs., întrebați suportul despre administrarea serverului la cerere, cu ofertă separată: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n",
    "ru": "BLACKBOX не делает автоматических резервных копий вашего сервера. Кнопка «Резервные копии» на карточке сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`; с blackbox.md: «Личный кабинет» → «Панель управления» → «Мои серверы») не работает. В этом руководстве — что сохранять, где хранить копии, как автоматизировать копирование и как убедиться, что из копии действительно можно восстановиться. Все команды выполняются на сервере по SSH от имени `root`.\n\n**Доступно:** владельцу VPS или выделенного сервера BLACKBOX с доступом root по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Команды подходят для Ubuntu, Debian, AlmaLinux и CentOS Stream.\n\n## Кто отвечает за резервные копии\n\nУ вас есть доступ root к серверу, и всё, что на нём работает, под вашим контролем, поэтому за резервные копии данных отвечаете тоже вы: [Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date). Глава 9 «Ограничение ответственности» [Условий использования](https://blackbox.md/ru/info/terms#limitarea-raspunderii) гласит: «BLACKBOX не несёт ответственности за косвенные убытки, упущенную выгоду, потерю данных или перерывы в деятельности, понесённые Клиентом или третьими лицами».\n\nВ панели нет ни автоматического резервного копирования, ни снимков (snapshot). Если нажать «Резервные копии» на карточке сервера, появится «Загрузка…», а затем сообщение `backup_extra_disabled`: услуга автоматического резервного копирования недоступна. На сервер и данные на нём это никак не влияет. См. [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\n> **Важно**\n> Сервер, удалённый кнопкой «Удалить» или при отмене заказа, восстановить нельзя. Единственные копии данных — те, что вы сделали сами и храните вне сервера.\n\n## Правило 3-2-1\n\n| Правило | Что значит | Пример |\n|---|---|---|\n| 3 копии | исходные данные и ещё две копии | сайт и база данных на сервере, копия в restic, копия на вашем компьютере |\n| 2 разных носителя | копии не лежат на одном диске или в одной системе хранения | диск сервера и объектное хранилище |\n| 1 копия в другом месте (offsite) | хотя бы одна копия полностью отделена от сервера | хранилище у другого провайдера или NAS в офисе |\n\nКопия в другой папке того же сервера — не резервная копия: она пропадёт вместе с сервером, если его удалят, взломают или он перестанет загружаться.\n\n## Что сохранять\n\n| Что | Где обычно находится | Как сохранять |\n|---|---|---|\n| Файлы сайтов и приложений, загрузки пользователей | `/var/www`, `/home`, `/srv`, `/opt` | копировать папки |\n| Базы данных MariaDB, MySQL, PostgreSQL | в СУБД на сервере | дамп (`mysqldump`, `pg_dump`), см. шаг 1 |\n| Настройки сервера: nginx, Apache, PHP, SSH, сертификаты Let's Encrypt | `/etc` | копировать весь `/etc` |\n| Файлы `.env` и настройки приложений | в папке каждого приложения | вместе с папкой приложения |\n| Docker: тома, `docker-compose.yml`, `.env` | `/var/lib/docker/volumes` и папка проекта | тома с файлами; для баз данных в контейнерах — дамп |\n| Задания cron | `/etc/crontab`, `/etc/cron.d`, `/var/spool/cron` | вместе с `/etc` и `/var/spool/cron` |\n| Скрипты и ключи в домашней папке `root` | `/root` | копировать папку |\n\nНе копируйте файлы базы данных (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`), пока база работает: копия может оказаться несогласованной, и база из неё не запустится. То же касается томов Docker с базами данных: делайте дамп командой самой базы, запущенной в контейнере. Пример для PostgreSQL — строка для скрипта из шага 1:\n\n```bash\ndocker exec ИМЯ_КОНТЕЙНЕРА pg_dump -U ИМЯ_ПОЛЬЗОВАТЕЛЯ -Fc ИМЯ_БД > \"$DIR/ИМЯ_БД-$DATE.dump\"\n```\n\nДля MariaDB или MySQL в контейнере используйте так же `mysqldump` (в свежих образах MariaDB — `mariadb-dump`) с пользователем и паролем из `.env`. См. также [Установка Docker и Docker Compose](#ghiduri.docker).\n\nСохранять не нужно `/proc`, `/sys`, `/dev`, `/run`, `/tmp`, кеши, образы Docker (их можно скачать или собрать заново) и системные пакеты (их можно переустановить). Код, который лежит во внешнем Git-репозитории, отдельно копировать не обязательно — если вы следите, чтобы изменения туда действительно попадали.\n\n## Где хранить копии\n\n| Место | От чего защищает | Инструмент |\n|---|---|---|\n| Другой сервер — в BLACKBOX или у другого провайдера | основной сервер удалили, взломали или он не запускается | restic по SFTP или rsync |\n| S3-совместимое объектное хранилище у другого провайдера | то же, а также проблемы у провайдера основного сервера | restic |\n| Ваш компьютер или NAS в офисе | сервер взломан: копию, скачанную на компьютер, с сервера удалить нельзя | `rsync` или `scp`, запущенные с компьютера |\n| BLACKBOX Cloud Storage | нужно отдельное от сервера место для копий | по запросу, см. ниже |\n\nДля копии offsite по правилу 3-2-1 выберите хотя бы одно место у другого провайдера или у себя в офисе. Если сервер для копий будет в BLACKBOX, обратите внимание на тарифы семейства Basic — у них большие диски, до 400 GB: [Тарифы VPS: как выбрать](#comenzi.planuri-vps).\n\n**BLACKBOX Cloud Storage** онлайн не заказывается. На странице `blackbox.md/ru/hosting/cloud-storage` («Хостинг» → «Cloud Storage») кнопка «Заказать хранилище» ведёт на страницу «Контакты». Объём, цену и способы доступа вы получите в предложении от команды; уточните, какие способы доступа есть у хранилища, чтобы выбрать между restic и rsync. См. [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere).\n\n## Шаг 1: ежедневный дамп баз данных через cron\n\nСкрипт ниже каждую ночь выгружает базу данных в `/var/backups/db` и удаляет оттуда дампы старше 7 дней. На шаге 2 они копируются за пределы сервера. Установка баз данных: [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date).\n\nФайлы редактируются в `nano`. Если его нет (AlmaLinux, CentOS Stream), установите:\n\n```bash\ndnf install -y nano\n```\n\n1. Создайте скрипт:\n\n   ```bash\n   nano /usr/local/sbin/db-dump.sh\n   ```\n\n2. Вставьте текст ниже, замените `ИМЯ_БД` на имя своей базы, сохраните (Ctrl+O, затем Enter) и выйдите (Ctrl+X):\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   umask 077\n   cd /\n   DIR=/var/backups/db\n   DATE=$(date +%F)\n   mkdir -p \"$DIR\"\n   mysqldump --single-transaction --routines ИМЯ_БД | gzip > \"$DIR/ИМЯ_БД-$DATE.sql.gz\"\n   find \"$DIR\" -type f -mtime +7 -delete\n   ```\n\n   Для PostgreSQL замените строку с `mysqldump` на эту:\n\n   ```bash\n   sudo -u postgres pg_dump -Fc ИМЯ_БД > \"$DIR/ИМЯ_БД-$DATE.dump\"\n   ```\n\n   Если баз несколько, добавьте такую строку для каждой. В MariaDB у этой команды есть и второе имя — `mariadb-dump`.\n\n3. Сделайте скрипт исполняемым, запустите его один раз и проверьте, что файл появился:\n\n   ```bash\n   chmod 700 /usr/local/sbin/db-dump.sh\n   /usr/local/sbin/db-dump.sh\n   ls -lh /var/backups/db\n   ```\n\n   Если появится `Access denied for user 'root'@'localhost'`, пользователь `root` базы данных входит по паролю. Запишите пароль в файл `/root/.my.cnf` с таким содержимым, а затем ограничьте доступ к файлу:\n\n   ```ini\n   [client]\n   user=root\n   password=ПАРОЛЬ_БД\n   ```\n\n   ```bash\n   chmod 600 /root/.my.cnf\n   ```\n\n4. Настройте запуск каждую ночь в 02:00 (по времени сервера). Создайте файл:\n\n   ```bash\n   nano /etc/cron.d/db-dump\n   ```\n\n   и вставьте строку:\n\n   ```text\n   0 2 * * * root /usr/local/sbin/db-dump.sh >> /var/log/db-dump.log 2>&1\n   ```\n\nВ файлах из `/etc/cron.d` есть столбец с пользователем (`root`), в имени файла не должно быть точек, а последняя строка должна заканчиваться переводом строки. Символ `%` нельзя писать прямо в строке cron — поэтому дата вычисляется в скрипте. Если задание не запускается, проверьте, что служба cron установлена и работает.\n\nUbuntu и Debian:\n\n```bash\napt update\napt install -y cron\nsystemctl enable --now cron\n```\n\nAlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y cronie\nsystemctl enable --now crond\n```\n\nДампы занимают место на диске. Если диск небольшой, храните их меньше дней (например, `-mtime +3`): [Диск сервера заполнен](#faq.disc-plin).\n\n## Шаг 2: копия за пределами сервера с помощью restic\n\nrestic шифрует данные ещё на сервере, до отправки, хранит историю копий (снимков, snapshot) и при каждом запуске передаёт только изменения. В примере используется S3-совместимое объектное хранилище; вариант с другим сервером по SFTP описан в разделе про rsync. Официальная документация: [restic.readthedocs.io](https://restic.readthedocs.io/).\n\n### Установка\n\nUbuntu и Debian:\n\n```bash\napt update\napt install -y restic\n```\n\nAlmaLinux и CentOS Stream (restic устанавливается из репозитория EPEL):\n\n```bash\ndnf install -y epel-release\ndnf install -y restic\n```\n\n### Репозиторий и пароль\n\n1. У провайдера хранилища создайте бакет (bucket) и пару ключей доступа. Запишите адрес сервиса (endpoint), имя бакета, ID ключа и секретный ключ.\n2. Сгенерируйте пароль репозитория и выведите его на экран:\n\n   ```bash\n   mkdir -p /etc/restic\n   chmod 700 /etc/restic\n   openssl rand -base64 32 > /etc/restic/password\n   chmod 600 /etc/restic/password\n   cat /etc/restic/password\n   ```\n\n3. Сохраните показанный пароль в менеджере паролей.\n4. Создайте файл с настройками:\n\n   ```bash\n   nano /etc/restic/env\n   ```\n\n   ```ini\n   RESTIC_REPOSITORY=s3:https://АДРЕС_S3/ИМЯ_БАКЕТА/ИМЯ_СЕРВЕРА\n   RESTIC_PASSWORD_FILE=/etc/restic/password\n   AWS_ACCESS_KEY_ID=ID_КЛЮЧА\n   AWS_SECRET_ACCESS_KEY=СЕКРЕТНЫЙ_КЛЮЧ\n   ```\n\n   `ИМЯ_СЕРВЕРА` — папка внутри бакета; у каждого сервера должна быть своя. Если провайдер требует указать регион, добавьте строку `AWS_DEFAULT_REGION=РЕГИОН`.\n\n5. Ограничьте доступ к файлу, загрузите настройки в текущий сеанс и инициализируйте репозиторий (один раз):\n\n   ```bash\n   chmod 600 /etc/restic/env\n   set -a\n   . /etc/restic/env\n   set +a\n   restic init\n   ```\n\n   Ответ начинается с `created restic repository`.\n\n> **Опасно**\n> Без пароля репозитория копии не сможет расшифровать никто, в том числе BLACKBOX. Храните пароль и вне сервера: если сервер будет потерян, без пароля восстановить ничего не получится.\n\n### Скрипт резервного копирования\n\n```bash\nnano /usr/local/sbin/restic-backup.sh\n```\n\n```bash\n#!/bin/bash\nset -euo pipefail\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches\nrestic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --keep-tag manual --prune\n```\n\n| Часть | Что делает |\n|---|---|\n| `restic backup /etc /root …` | копирует папки из списка. Оставьте только папки, которые есть на сервере (отсутствующая папка вызывает ошибку), и добавьте свои, например `/home`, `/srv` или `/var/lib/docker/volumes/ИМЯ_ТОМА` для тома Docker с файлами. |\n| `--exclude-caches` | пропускает папки, помеченные как кеш |\n| `--keep-daily 7 --keep-weekly 4 --keep-monthly 6` | оставляет последние 7 ежедневных, 4 еженедельные и 6 ежемесячных копий |\n| `--keep-tag manual` | оставляет копии, сделанные вручную с меткой `manual` |\n| `--prune` | удаляет из репозитория данные, которые больше не относятся ни к одной копии |\n\nСделайте скрипт исполняемым, запустите его один раз и посмотрите список копий:\n\n```bash\nchmod 700 /usr/local/sbin/restic-backup.sh\n/usr/local/sbin/restic-backup.sh\nrestic snapshots\n```\n\n### Ежедневный запуск через таймер systemd\n\n1. Создайте службу:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=Restic backup\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   Type=oneshot\n   Environment=HOME=/root\n   ExecStart=/usr/local/sbin/restic-backup.sh\n   ```\n\n2. Создайте таймер:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.timer\n   ```\n\n   ```ini\n   [Unit]\n   Description=Daily restic backup\n\n   [Timer]\n   OnCalendar=*-*-* 03:00:00\n   RandomizedDelaySec=30min\n   Persistent=true\n\n   [Install]\n   WantedBy=timers.target\n   ```\n\n3. Включите таймер и проверьте время следующего запуска в столбце `NEXT`:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now restic-backup.timer\n   systemctl list-timers restic-backup.timer\n   ```\n\n4. Запустите службу один раз и посмотрите журнал:\n\n   ```bash\n   systemctl start restic-backup.service\n   journalctl -u restic-backup.service -n 50\n   ```\n\nКопирование запускается каждый день между 03:00 и 03:30 по времени сервера, после дампов в 02:00. Благодаря `Persistent=true` запуск, пропущенный, пока сервер был остановлен, выполнится при следующем включении.\n\n## Простой вариант: rsync на другой сервер\n\nЕсли у вас есть второй сервер, `rsync` скопирует на него папки по SSH. rsync должен быть установлен на обоих серверах. Установка и параметры: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n1. На основном сервере создайте SSH-ключ только для резервного копирования, без парольной фразы, чтобы его мог использовать cron:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/backup_ed25519 -N \"\"\n   cat /root/.ssh/backup_ed25519.pub\n   ```\n\n2. Добавьте показанную строку в `/root/.ssh/authorized_keys` на сервере для копий. Если он тоже в BLACKBOX, воспользуйтесь кнопкой «Добавить SSH-ключ» на его карточке: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n3. Создайте папку назначения и выполните первое копирование вручную. При первом подключении подтвердите ключ сервера для копий, ответив `yes`:\n\n   ```bash\n   ssh -i /root/.ssh/backup_ed25519 root@IP_СЕРВЕРА_КОПИЙ \"mkdir -p /backups/ИМЯ_СЕРВЕРА\"\n   rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@IP_СЕРВЕРА_КОПИЙ:/backups/ИМЯ_СЕРВЕРА/\n   ```\n\n   С параметром `-R` пути сохраняются полностью: на сервере для копий появятся `/backups/ИМЯ_СЕРВЕРА/etc`, `/backups/ИМЯ_СЕРВЕРА/var/www` и так далее.\n\n4. Настройте ежедневное копирование в 03:30 в файле `/etc/cron.d/backup-rsync`:\n\n   ```text\n   30 3 * * * root rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@IP_СЕРВЕРА_КОПИЙ:/backups/ИМЯ_СЕРВЕРА/ >> /var/log/backup-rsync.log 2>&1\n   ```\n\nrsync хранит только последнее состояние: с `--delete` файл, удалённый или испорченный на сервере, при следующем запуске исчезнет и из копии. Кроме того, файлы на сервере для копий не зашифрованы. Если нужны история и шифрование, используйте restic по SFTP на тот же сервер. Добавьте в `/root/.ssh/config`:\n\n```text\nHost backup\n    HostName IP_СЕРВЕРА_КОПИЙ\n    User root\n    IdentityFile /root/.ssh/backup_ed25519\n```\n\nТогда в файле `/etc/restic/env` будут только эти две строки:\n\n```ini\nRESTIC_REPOSITORY=sftp:backup:/backups/ИМЯ_СЕРВЕРА-restic\nRESTIC_PASSWORD_FILE=/etc/restic/password\n```\n\nОстальные шаги — те же, что в разделе про restic: установка, пароль, инициализация, скрипт и таймер.\n\n## Шифрование копий за пределами сервера\n\n- restic шифрует всё паролем репозитория до отправки. Провайдер хранилища видит только зашифрованные данные.\n- SSH, а значит и `rsync` и `scp`, шифруют данные только при передаче. Если место хранения вам не принадлежит, шифруйте файлы перед копированием, например с помощью `gpg` и пароля, сохранённого в файле (пакет `gnupg` в Ubuntu и Debian, `gnupg2` в AlmaLinux и CentOS Stream):\n\n```bash\nopenssl rand -base64 32 > /root/.backup-pass\nchmod 600 /root/.backup-pass\ngpg --batch --yes --pinentry-mode loopback --passphrase-file /root/.backup-pass --symmetric --cipher-algo AES256 -o ФАЙЛ.gpg ФАЙЛ\n```\n\nРасшифровка:\n\n```bash\ngpg --batch --pinentry-mode loopback --passphrase-file /root/.backup-pass -o ФАЙЛ -d ФАЙЛ.gpg\n```\n\nСодержимое `/root/.backup-pass` тоже сохраните в менеджере паролей.\n\n> **Безопасность**\n> Файлы `/etc/restic/env`, `/etc/restic/password` и ключ `/root/.ssh/backup_ed25519` дают доступ к копиям, а ключ — даже доступ root к серверу для копий. Если сервер взломают, злоумышленник сможет с их помощью удалить копии. Держите и такую копию, которую сервер удалить не может, — например, регулярно скачивайте её на свой компьютер.\n\n## Проверяйте восстановление хотя бы раз в месяц\n\nКопия, из которой вы ни разу не восстанавливались, ничего не гарантирует. Раз в месяц, а также после любых изменений в скриптах восстанавливайте данные во временную папку, а не поверх рабочих.\n\n1. Загрузите настройки, проверьте список копий и целостность репозитория:\n\n   ```bash\n   set -a\n   . /etc/restic/env\n   set +a\n   restic snapshots\n   restic check\n   ```\n\n   Последняя копия должна быть не старше 24 часов, а проверка `restic check` должна завершиться строкой `no errors were found`.\n\n2. Восстановите настройки и дампы во временную папку:\n\n   ```bash\n   restic restore latest --target /root/restore-test --include /etc --include /var/backups/db\n   ls -lh /root/restore-test/var/backups/db\n   ```\n\n3. Загрузите дамп в тестовую базу и проверьте таблицы и несколько свежих записей — например, последний заказ или последнюю опубликованную статью. Последнюю команду блока выполняйте только после проверки: она удаляет тестовую базу. Вместо `ГГГГ-ММ-ДД` подставьте дату из имени файла.\n\n   MariaDB и MySQL:\n\n   ```bash\n   mysql -e \"CREATE DATABASE restore_test\"\n   gunzip < /root/restore-test/var/backups/db/ИМЯ_БД-ГГГГ-ММ-ДД.sql.gz | mysql restore_test\n   mysql -e \"SHOW TABLES\" restore_test\n   mysql -e \"DROP DATABASE restore_test\"\n   ```\n\n   PostgreSQL:\n\n   ```bash\n   sudo -u postgres createdb restore_test\n   sudo -u postgres pg_restore -d restore_test < /root/restore-test/var/backups/db/ИМЯ_БД-ГГГГ-ММ-ДД.dump\n   sudo -u postgres psql -d restore_test -c \"\\dt\"\n   sudo -u postgres dropdb restore_test\n   ```\n\n4. Удалите временную папку:\n\n   ```bash\n   rm -rf /root/restore-test\n   ```\n\nВосстановление занимает место на диске, поэтому восстанавливайте только то, что проверяете (`--include`). Самая надёжная проверка — полное восстановление на другом сервере с запуском приложения: заодно это репетиция на случай реальной аварии. В варианте с rsync скопируйте дамп обратно с сервера для копий и загрузите его так же.\n\n## Дополнительная копия перед рискованными операциями\n\n| Операция | Зачем нужна копия |\n|---|---|\n| «Апгрейд» в панели: [Апгрейд сервера: переход на больший тариф](#servere.upgrade) | сервер перезагружается с новой конфигурацией, диск расширяется |\n| «Удалить»: [Безвозвратное удаление сервера](#servere.stergere-server) | через 24 часа отсрочки сервер и данные удаляются безвозвратно |\n| «Отменить заказ» для заказа с сервером: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare) | сервер удаляется сразу после подтверждения |\n| Переход на новую мажорную версию системы: [Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate) | могут перестать работать приложения или доступ по SSH |\n| Переустановка операционной системы — по запросу через поддержку: [Доступные операционные системы](#comenzi.sisteme-operare) | все данные на сервере теряются |\n| Переезд на другой сервер: [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site) | нужна полная и свежая копия |\n| Обновление CMS, приложения или базы данных до новой версии | изменения в данных без копии не отменить |\n\nСделайте свежий дамп и копию restic с меткой `manual` — её команда `forget` не удаляет:\n\n```bash\n/usr/local/sbin/db-dump.sh\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches --tag manual\nrestic snapshots --tag manual\n```\n\nКогда копия станет не нужна, удалите её по идентификатору из столбца `ID`:\n\n```bash\nrestic forget ID_КОПИИ --prune\n```\n\nПеред удалением сервера сохраните вне его пароль репозитория и настройки из `/etc/restic/env`: без них до копий не добраться. Скачайте также копию на компьютер с помощью `rsync` или `scp`.\n\n## Частые вопросы\n\n**Может ли BLACKBOX восстановить сервер, если я что-то удалил по ошибке?**\nНет. Панель не делает автоматических копий и не создаёт снимков, а удалённый сервер восстановить нельзя. Восстанавливайтесь из своих копий.\n\n**Что значит сообщение `backup_extra_disabled` под кнопкой «Резервные копии»?**\nЭто значит, что услуга автоматического резервного копирования недоступна. О неисправности сервера это не говорит, данные не затронуты.\n\n**Как восстановить один удалённый файл?**\nЗагрузите настройки restic, как в шаге 1 проверки восстановления. Восстановите файл во временную папку, а затем скопируйте его на место. Не восстанавливайте сразу с `--target /`: так вы перезапишете рабочие файлы. Чтобы взять более старую копию, укажите вместо `latest` её ID из `restic snapshots`.\n\n```bash\nrestic restore latest --target /root/restore-test --include /var/www/site/config.php\ncp -a /root/restore-test/var/www/site/config.php /var/www/site/config.php\n```\n\n**У меня тариф «VPS hosting» с панелью управления. Что делать?**\nВ установленной панели управления может быть своя функция резервного копирования — уточните в поддержке, что она умеет: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou). В любом случае копия должна храниться вне сервера.\n\n**Я потерял пароль репозитория restic. Что делать?**\nЕсли файл `/etc/restic/password` ещё есть на сервере, пароль в нём: снова сохраните его в менеджере паролей. Если пароля больше нет нигде, копии из этого репозитория прочитать уже нельзя. Тогда создайте новый репозиторий с новым паролем и другой папкой в `RESTIC_REPOSITORY` и сразу сделайте полную копию.\n\n**Можно ли поручить настройку копий команде?**\nЕсли не хотите настраивать сами, спросите в поддержке об администрировании сервера по запросу — с отдельным предложением: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n",
    "en": "BLACKBOX does not make automatic backups of your server. The “Backups” button on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`; from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel) → “My Servers”), is not active. This guide shows what to back up, where to keep the copies, how to automate them and how to check that you can restore them. Run all the commands on the server, over SSH, as `root`.\n\n**Available to:** the owner of a BLACKBOX VPS or dedicated server, with root access over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). The commands are for Ubuntu, Debian, AlmaLinux and CentOS Stream.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Who is responsible for backups\n\nYou have root access to the server and control everything that runs on it, so you are also responsible for backing up its data: [Responsibility for server data and backups](#legal.responsabilitate-date). Chapter 9, “Limitarea răspunderii” (Limitation of liability), of the [Terms and Conditions](https://blackbox.md/info/terms#limitarea-raspunderii) states that “BLACKBOX nu răspunde pentru daune indirecte, pierdere de profit, pierderi de date sau întreruperi de activitate suferite de Client sau terți” (BLACKBOX is not liable for indirect damages, loss of profit, data loss or business interruptions suffered by the Customer or third parties).\n\nThe panel has no automatic backups and no snapshots. If you click “Backups” on the server card, “Loading…” appears, followed by the message `backup_extra_disabled`: the automatic backup service is not available. The server and the data on it are not affected. See [The “My Servers” page: the server card](#servere.serverele-mele).\n\n> **Important**\n> A server deleted with “Terminate” or by canceling its order cannot be recovered. The only copies of the data are the ones you made yourself, outside the server.\n\n## The 3-2-1 rule\n\n| Rule | What it means | Example |\n|---|---|---|\n| 3 copies | the original data plus two more copies | the site and the database on the server, the restic copy, the copy on your computer |\n| 2 different media | the copies are not on the same disk or in the same storage system | the server's disk and an object storage service |\n| 1 copy in another location (offsite) | at least one copy completely separate from the server | storage at another provider, or a NAS in your office |\n\nA copy in another directory on the same server is not a backup: it disappears along with the server if the server is deleted, compromised or no longer boots.\n\n## What to back up\n\n| What | Where it usually is | How to back it up |\n|---|---|---|\n| Site and application files, user uploads | `/var/www`, `/home`, `/srv`, `/opt` | copy the directories |\n| MariaDB, MySQL, PostgreSQL databases | in the database service on the server | a dump (`mysqldump`, `pg_dump`), see step 1 |\n| Server configuration: nginx, Apache, PHP, SSH, Let's Encrypt certificates | `/etc` | copy all of `/etc` |\n| `.env` files and application configurations | in each application's directory | together with the application's directory |\n| Docker: volumes, `docker-compose.yml`, `.env` | `/var/lib/docker/volumes` and the project directory | the volumes that hold files; for databases in containers, a dump |\n| Cron jobs | `/etc/crontab`, `/etc/cron.d`, `/var/spool/cron` | together with `/etc` and `/var/spool/cron` |\n| Scripts and keys in `root`'s home directory | `/root` | copy the directory |\n\nDon't copy the database files (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`) while the database is running: the copy may be inconsistent, and the database won't start from it. The same goes for Docker volumes that hold databases: make a dump with the database's own command, run inside the container. An example for PostgreSQL, as a line in the script from step 1:\n\n```bash\ndocker exec CONTAINER_NAME pg_dump -U USERNAME -Fc DB_NAME > \"$DIR/DB_NAME-$DATE.dump\"\n```\n\nFor MariaDB or MySQL in a container, use `mysqldump` the same way (in recent MariaDB images, `mariadb-dump`), with the user and password from `.env`. See also [Installing Docker and Docker Compose](#ghiduri.docker).\n\nYou don't need to back up `/proc`, `/sys`, `/dev`, `/run`, `/tmp`, caches, Docker images (they can be downloaded or built again) or system packages (they can be reinstalled). Code kept in an external Git repository doesn't need a separate copy, as long as you check that your changes actually get there.\n\n## Where to keep the copies\n\n| Destination | Protects you when | Tool |\n|---|---|---|\n| Another server, at BLACKBOX or at another provider | the main server is deleted, compromised or no longer boots | restic over SFTP, or rsync |\n| S3-compatible object storage at another provider | the same, plus a problem at the main server's provider | restic |\n| Your computer or a NAS in your office | the server is compromised: a copy downloaded to your computer can't be deleted from the server | `rsync` or `scp`, run from your computer |\n| BLACKBOX Cloud Storage | you need space separate from the server, for backups | on request, see below |\n\nFor the offsite copy in the 3-2-1 rule, choose at least one destination at another provider or in your own office. For a backup server at BLACKBOX, the plans in the Basic family have large disks, up to 400 GB: [VPS plans: how to choose](#comenzi.planuri-vps).\n\n**BLACKBOX Cloud Storage** can't be ordered online. On the `blackbox.md/hosting/cloud-storage` page (“Găzduire” (Hosting) → “Cloud Storage”), the “Comandați stocare” (Order storage) button takes you to the “Contacte” (Contacts) page. You get the size, the price and the access methods in the team's offer; ask which access methods the storage space supports, so you can choose between restic and rsync. See [Products and configurations available on request](#comenzi.produse-la-cerere).\n\n## Step 1: a daily database dump, from cron\n\nThe script below exports the database to `/var/backups/db` every night and deletes dumps older than 7 days from there. Step 2 then copies them off the server. Installing databases: [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date).\n\nYou edit the files with `nano`. If it's missing (AlmaLinux, CentOS Stream), install it:\n\n```bash\ndnf install -y nano\n```\n\n1. Create the script:\n\n   ```bash\n   nano /usr/local/sbin/db-dump.sh\n   ```\n\n2. Paste the content below, replace `DB_NAME` with the name of your database, save with Ctrl+O and Enter, then exit with Ctrl+X:\n\n   ```bash\n   #!/bin/bash\n   set -euo pipefail\n   umask 077\n   cd /\n   DIR=/var/backups/db\n   DATE=$(date +%F)\n   mkdir -p \"$DIR\"\n   mysqldump --single-transaction --routines DB_NAME | gzip > \"$DIR/DB_NAME-$DATE.sql.gz\"\n   find \"$DIR\" -type f -mtime +7 -delete\n   ```\n\n   For PostgreSQL, replace the `mysqldump` line with this one:\n\n   ```bash\n   sudo -u postgres pg_dump -Fc DB_NAME > \"$DIR/DB_NAME-$DATE.dump\"\n   ```\n\n   For several databases, repeat the line for each one. On MariaDB, the command is also called `mariadb-dump`.\n\n3. Make the script executable, run it once and check the file it created:\n\n   ```bash\n   chmod 700 /usr/local/sbin/db-dump.sh\n   /usr/local/sbin/db-dump.sh\n   ls -lh /var/backups/db\n   ```\n\n   If you see `Access denied for user 'root'@'localhost'`, the database's `root` user requires a password. Put it in the `/root/.my.cnf` file, with the content below, then restrict access to the file:\n\n   ```ini\n   [client]\n   user=root\n   password=DB_PASSWORD\n   ```\n\n   ```bash\n   chmod 600 /root/.my.cnf\n   ```\n\n4. Schedule the script for every night at 02:00 (server time). Create the file:\n\n   ```bash\n   nano /etc/cron.d/db-dump\n   ```\n\n   and paste the line:\n\n   ```text\n   0 2 * * * root /usr/local/sbin/db-dump.sh >> /var/log/db-dump.log 2>&1\n   ```\n\nFiles in `/etc/cron.d` have a user column (`root`), their names must not contain dots, and the last line must end with Enter. The `%` character can't be written directly in a cron line; that's why the date is calculated in the script. If the job doesn't run, check that the cron service is installed and running.\n\nUbuntu and Debian:\n\n```bash\napt update\napt install -y cron\nsystemctl enable --now cron\n```\n\nAlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y cronie\nsystemctl enable --now crond\n```\n\nDumps take up disk space. If the disk is small, keep fewer days (for example `-mtime +3`): [The server's disk is full](#faq.disc-plin).\n\n## Step 2: an off-server copy with restic\n\nrestic encrypts the data on the server, before sending it, keeps a history of copies (snapshots), and on each run transfers only what has changed. The example uses S3-compatible object storage; the option with another server, over SFTP, is in the rsync section. Official documentation: [restic.readthedocs.io](https://restic.readthedocs.io/).\n\n### Installation\n\nUbuntu and Debian:\n\n```bash\napt update\napt install -y restic\n```\n\nAlmaLinux and CentOS Stream (restic comes from the EPEL repository):\n\n```bash\ndnf install -y epel-release\ndnf install -y restic\n```\n\n### The repository and the password\n\n1. At your storage provider, create a bucket and a pair of access keys. Note down the service address (endpoint), the bucket name, the key ID and the secret key.\n2. Generate the repository password and display it:\n\n   ```bash\n   mkdir -p /etc/restic\n   chmod 700 /etc/restic\n   openssl rand -base64 32 > /etc/restic/password\n   chmod 600 /etc/restic/password\n   cat /etc/restic/password\n   ```\n\n3. Copy the displayed password into your password manager.\n4. Create the settings file:\n\n   ```bash\n   nano /etc/restic/env\n   ```\n\n   ```ini\n   RESTIC_REPOSITORY=s3:https://S3_ENDPOINT/BUCKET_NAME/SERVER_NAME\n   RESTIC_PASSWORD_FILE=/etc/restic/password\n   AWS_ACCESS_KEY_ID=KEY_ID\n   AWS_SECRET_ACCESS_KEY=SECRET_KEY\n   ```\n\n   `SERVER_NAME` is a folder in the bucket; give each server its own folder. If the provider requires a region, add the line `AWS_DEFAULT_REGION=REGION`.\n\n5. Restrict access to the file, load the settings into the current session and initialize the repository (only once):\n\n   ```bash\n   chmod 600 /etc/restic/env\n   set -a\n   . /etc/restic/env\n   set +a\n   restic init\n   ```\n\n   The response starts with `created restic repository`.\n\n> **Risk**\n> Without the repository password, nobody can decrypt the copies, not even BLACKBOX. Keep the password outside the server too: if the server is lost, you can't restore anything without it.\n\n### The backup script\n\n```bash\nnano /usr/local/sbin/restic-backup.sh\n```\n\n```bash\n#!/bin/bash\nset -euo pipefail\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches\nrestic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --keep-tag manual --prune\n```\n\n| Part | What it does |\n|---|---|\n| `restic backup /etc /root …` | copies the directories in the list. Keep only the directories that exist on the server (a missing directory causes an error) and add your own, for example `/home`, `/srv` or `/var/lib/docker/volumes/VOLUME_NAME` for a Docker volume that holds files. |\n| `--exclude-caches` | skips directories marked as caches |\n| `--keep-daily 7 --keep-weekly 4 --keep-monthly 6` | keeps the last 7 daily, 4 weekly and 6 monthly copies |\n| `--keep-tag manual` | keeps the copies made by hand with the `manual` tag |\n| `--prune` | deletes from the repository the data that no longer belongs to any copy |\n\nMake the script executable, run it once and look at the list of copies:\n\n```bash\nchmod 700 /usr/local/sbin/restic-backup.sh\n/usr/local/sbin/restic-backup.sh\nrestic snapshots\n```\n\n### Running it daily with a systemd timer\n\n1. Create the service:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.service\n   ```\n\n   ```ini\n   [Unit]\n   Description=Restic backup\n   Wants=network-online.target\n   After=network-online.target\n\n   [Service]\n   Type=oneshot\n   Environment=HOME=/root\n   ExecStart=/usr/local/sbin/restic-backup.sh\n   ```\n\n2. Create the timer:\n\n   ```bash\n   nano /etc/systemd/system/restic-backup.timer\n   ```\n\n   ```ini\n   [Unit]\n   Description=Daily restic backup\n\n   [Timer]\n   OnCalendar=*-*-* 03:00:00\n   RandomizedDelaySec=30min\n   Persistent=true\n\n   [Install]\n   WantedBy=timers.target\n   ```\n\n3. Enable the timer and check the next run, in the `NEXT` column:\n\n   ```bash\n   systemctl daemon-reload\n   systemctl enable --now restic-backup.timer\n   systemctl list-timers restic-backup.timer\n   ```\n\n4. Run the service once and read the log:\n\n   ```bash\n   systemctl start restic-backup.service\n   journalctl -u restic-backup.service -n 50\n   ```\n\nThe backup starts every day between 03:00 and 03:30 (server time), after the 02:00 dumps. With `Persistent=true`, a run missed while the server was stopped takes place at the next startup.\n\n## The simple option: rsync to another server\n\nIf you have a second server, `rsync` copies directories to it over SSH. rsync must be installed on both servers. How to install it and its options: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n\n1. On the main server, create an SSH key used only for backups, without a passphrase, so that cron can use it:\n\n   ```bash\n   ssh-keygen -t ed25519 -f /root/.ssh/backup_ed25519 -N \"\"\n   cat /root/.ssh/backup_ed25519.pub\n   ```\n\n2. Add the displayed line to `/root/.ssh/authorized_keys` on the backup server. If that server is also at BLACKBOX, use “Add SSH key” on its card: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n3. Create the destination directory and run the first copy by hand. On the first connection, confirm the backup server's key with `yes`:\n\n   ```bash\n   ssh -i /root/.ssh/backup_ed25519 root@BACKUP_SERVER_IP \"mkdir -p /backups/SERVER_NAME\"\n   rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@BACKUP_SERVER_IP:/backups/SERVER_NAME/\n   ```\n\n   With `-R`, the full paths are kept: on the backup server you get `/backups/SERVER_NAME/etc`, `/backups/SERVER_NAME/var/www` and so on.\n\n4. Schedule the copy daily at 03:30, in the `/etc/cron.d/backup-rsync` file:\n\n   ```text\n   30 3 * * * root rsync -aR --delete -e \"ssh -i /root/.ssh/backup_ed25519\" /etc /var/www /var/backups/db root@BACKUP_SERVER_IP:/backups/SERVER_NAME/ >> /var/log/backup-rsync.log 2>&1\n   ```\n\nrsync keeps only the latest state: with `--delete`, a file deleted or damaged on the server also disappears from the copy at the next run. In addition, the files on the backup server are not encrypted. For history and encryption, use restic over SFTP to the same server. Add to `/root/.ssh/config`:\n\n```text\nHost backup\n    HostName BACKUP_SERVER_IP\n    User root\n    IdentityFile /root/.ssh/backup_ed25519\n```\n\nThe `/etc/restic/env` file then contains only these two lines:\n\n```ini\nRESTIC_REPOSITORY=sftp:backup:/backups/SERVER_NAME-restic\nRESTIC_PASSWORD_FILE=/etc/restic/password\n```\n\nThe other steps are the ones in the restic section: installation, password, initialization, script and timer.\n\n## Encrypting off-server copies\n\n- restic encrypts everything with the repository password before sending it. The storage provider sees only encrypted data.\n- SSH, and therefore `rsync` and `scp`, encrypts data only in transit. If the destination doesn't belong to you, encrypt the files before copying them, for example with `gpg` and a password kept in a file (the `gnupg` package on Ubuntu and Debian, `gnupg2` on AlmaLinux and CentOS Stream):\n\n```bash\nopenssl rand -base64 32 > /root/.backup-pass\nchmod 600 /root/.backup-pass\ngpg --batch --yes --pinentry-mode loopback --passphrase-file /root/.backup-pass --symmetric --cipher-algo AES256 -o FILE.gpg FILE\n```\n\nTo decrypt:\n\n```bash\ngpg --batch --pinentry-mode loopback --passphrase-file /root/.backup-pass -o FILE -d FILE.gpg\n```\n\nKeep the contents of `/root/.backup-pass` in your password manager too.\n\n> **Security**\n> The `/etc/restic/env` and `/etc/restic/password` files and the `/root/.ssh/backup_ed25519` key give access to the copies; the key even gives root access to the backup server. If the server is compromised, an attacker can use them to delete the copies. Also keep a copy that the server can't delete, for example one you regularly download to your computer.\n\n## Test a restore at least once a month\n\nA copy you have never restored from is not a guarantee. Once a month, and after any change to the scripts, restore to a temporary directory, not over the data in use.\n\n1. Load the settings, then check the list of copies and the integrity of the repository:\n\n   ```bash\n   set -a\n   . /etc/restic/env\n   set +a\n   restic snapshots\n   restic check\n   ```\n\n   The latest copy must be from the last 24 hours, and `restic check` must finish with `no errors were found`.\n\n2. Restore the configuration and the dumps to a temporary directory:\n\n   ```bash\n   restic restore latest --target /root/restore-test --include /etc --include /var/backups/db\n   ls -lh /root/restore-test/var/backups/db\n   ```\n\n3. Load the dump into a test database and check the tables and a few recent records (for example the latest order or the latest published article). Run the last command in the block only after you've checked: it deletes the test database. Replace `YYYY-MM-DD` with the date in the file name.\n\n   MariaDB and MySQL:\n\n   ```bash\n   mysql -e \"CREATE DATABASE restore_test\"\n   gunzip < /root/restore-test/var/backups/db/DB_NAME-YYYY-MM-DD.sql.gz | mysql restore_test\n   mysql -e \"SHOW TABLES\" restore_test\n   mysql -e \"DROP DATABASE restore_test\"\n   ```\n\n   PostgreSQL:\n\n   ```bash\n   sudo -u postgres createdb restore_test\n   sudo -u postgres pg_restore -d restore_test < /root/restore-test/var/backups/db/DB_NAME-YYYY-MM-DD.dump\n   sudo -u postgres psql -d restore_test -c \"\\dt\"\n   sudo -u postgres dropdb restore_test\n   ```\n\n4. Delete the temporary directory:\n\n   ```bash\n   rm -rf /root/restore-test\n   ```\n\nA restore takes up disk space, so restore only what you check (`--include`). The safest test is a full restore on another server, with the application started: it is also a rehearsal for a real incident. With the rsync option, copy the dump back from the backup server and load it the same way.\n\n## An extra copy before risky operations\n\n| Operation | Why you make a copy first |\n|---|---|\n| “Upgrade” in the panel: [Server upgrade: moving to a larger plan](#servere.upgrade) | the server restarts on the new configuration, and the disk is expanded |\n| “Terminate”: [Permanently deleting a server](#servere.stergere-server) | after the 24-hour grace period, the server and its data are permanently deleted |\n| “Anulează comanda” (Cancel the order) on an order that includes a server: [Order cancellation and refunds](#plati.anulare-si-rambursare) | the server is deleted immediately, as soon as you confirm |\n| Moving to a new major version of the system: [System updates and automatic security updates](#ghiduri.actualizari-automate) | it can take down your applications or SSH access |\n| Reinstalling the operating system, on request, through support: [Available operating systems](#comenzi.sisteme-operare) | all the data on the server is lost |\n| Moving to another server: [Moving a site to a BLACKBOX server](#ghiduri.migrare-site) | you need a complete, recent copy |\n| Updating a CMS, an application or the database to a new version | changes to the data can't be undone without a copy |\n\nMake a new dump and a restic copy with the `manual` tag, which `forget` doesn't delete:\n\n```bash\n/usr/local/sbin/db-dump.sh\nset -a\n. /etc/restic/env\nset +a\nrestic backup /etc /root /var/www /var/spool/cron /var/backups/db --exclude-caches --tag manual\nrestic snapshots --tag manual\n```\n\nWhen you no longer need it, delete it using the ID from the `ID` column:\n\n```bash\nrestic forget SNAPSHOT_ID --prune\n```\n\nBefore you delete a server, save the repository password and the settings from `/etc/restic/env` outside it: without them, you can no longer reach the copies. Also download a copy to your computer, with `rsync` or `scp`.\n\n## Frequently asked questions\n\n**Can BLACKBOX restore my server if I deleted something by mistake?**\nNo. The panel doesn't make automatic copies and has no snapshots, and a deleted server can't be recovered. Restore from your own copies.\n\n**What does the `backup_extra_disabled` message under the “Backups” button mean?**\nIt means that the automatic backup service is not available. It is not a fault of the server, and the data is not affected.\n\n**How do I restore a single deleted file?**\nLoad the restic settings, as in step 1 of the restore test. Restore the file to a temporary directory, then copy it back into place. Don't restore directly with `--target /`: you would overwrite files in use. To pick an older copy, use its ID from `restic snapshots` instead of `latest`.\n\n```bash\nrestic restore latest --target /root/restore-test --include /var/www/site/config.php\ncp -a /root/restore-test/var/www/site/config.php /var/www/site/config.php\n```\n\n**I have a “VPS hosting” plan with a control panel. What should I do?**\nThe installed control panel may have its own backup feature; ask support what it offers: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou). Either way, the copy must end up outside the server.\n\n**I lost the restic repository password. What should I do?**\nIf the `/etc/restic/password` file still exists on the server, the password is there: save it to your password manager again. If the password no longer exists anywhere, the copies in that repository can no longer be read. In that case, create a new repository, with a different password and a different folder in `RESTIC_REPOSITORY`, and make a full copy right away.\n\n**Can I ask the team to set up the backups?**\nIf you'd rather not set them up yourself, ask support about server administration on request, with a separate offer: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n"
   }
  },
  {
   "id": "ghiduri.monitorizare-de-baza",
   "section": "ghiduri",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/ghiduri/monitorizare-de-baza/",
    "ru": "https://docs.blackbox.md/ru/ghiduri/monitorizare-de-baza/",
    "en": "https://docs.blackbox.md/en/ghiduri/monitorizare-de-baza/"
   },
   "title": {
    "ro": "Diagnosticarea încărcării serverului (CPU, RAM, disc, rețea)",
    "ru": "Диагностика нагрузки сервера (CPU, RAM, диск, сеть)",
    "en": "Diagnosing server load (CPU, RAM, disk, network)"
   },
   "summary": {
    "ro": "Comenzile de bază pentru a afla de ce serverul este lent sau nu răspunde și ce faceți în fiecare caz.",
    "ru": "Базовые команды, чтобы понять, почему сервер тормозит или не отвечает, и что делать в каждом случае.",
    "en": "The basic commands to find out why your server is slow or not responding, and what to do in each case."
   },
   "markdown": {
    "ro": "Când serverul devine lent sau nu mai răspunde, cauza este de cele mai multe ori una dintre patru resurse epuizate: procesorul (CPU), memoria (RAM), discul sau rețeaua. Ghidul arată comenzile care găsesc resursa vinovată și ce faceți în fiecare caz. Comenzile se rulează pe server, prin SSH, ca `root`. Evoluția în timp o vedeți în panoul app.blackbox.md, pe pagina „Monitorizare” (`app.blackbox.md/monitoring`, meniul lateral → „Infrastructură” → „Monitorizare”).\n\n**Disponibil pentru:** oricine are acces root prin SSH la un server BLACKBOX cu Ubuntu, Debian, AlmaLinux sau CentOS Stream. Graficele din panou: titularul serverului, pentru serverele cu serviciul suplimentar Monitoring activ.\n\n## Serverul este lent sau nu răspunde: pașii în ordine\n\n1. Conectați-vă prin SSH ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n   ```bash\n   ssh root@IP_SERVER\n   ```\n\n2. **Dacă vă conectați**, chiar și greu, nu reporniți încă: repornirea șterge urmele problemei. Rulați comenzile din secțiunile de mai jos, începând cu „Privire rapidă”.\n3. **Dacă SSH nu răspunde** (conexiunea expiră sau sesiunea rămâne blocată): în panou deschideți „Serverele mele”, apăsați „Repornește” pe cardul serverului și confirmați „Reporniți {name}?”. Așteptați 30–60 de secunde și conectați-vă din nou. Dacă panoul afișează `power_action_failed`, serverul poate fi oprit: apăsați „Pornește”. Detalii: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n4. **Dacă serverul tot nu răspunde** după câteva minute, scrieți suportului ([Cum contactați suportul BLACKBOX](#suport.contact)). Indicați adresa IP a serverului, numărul comenzii (`BBX-…`) și data și ora la care a început problema. Pentru o urgență în orele de lucru sunați și la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei).\n5. După ce serverul răspunde din nou, aflați cauza: vedeți întrebarea „Serverul a căzut, iar după repornire merge. Cum aflu cauza?” de la final.\n\nDacă SSH răspunde cu `Permission denied`, serverul funcționează, iar problema este la autentificare: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\n> **Notă**\n> Clienții nu au consolă web sau VNC, iar panoul nu are buton de repornire forțată (hard reset). Dacă „Repornește” nu ajută, doar echipa BLACKBOX poate interveni.\n\n## Privire rapidă: procesor, memorie, procese\n\n### uptime: încărcarea medie\n\n```bash\nuptime\nnproc\n```\n\n```text\n 10:42:01 up 12 days,  3:05,  1 user,  load average: 3.85, 2.10, 1.20\n2\n```\n\nCele trei numere de după `load average` sunt încărcarea medie pe ultimul minut, pe ultimele 5 și pe ultimele 15 minute. Comparați-le cu numărul de vCPU al serverului: îl afișează `nproc` și apare pe cardul serverului din „Serverele mele”, în rândul „Configurație” (de exemplu, „2 vCPU · 4 GB · 40 GB”).\n\n| Încărcarea medie | Ce înseamnă |\n|---|---|\n| sub numărul de vCPU | procesorul mai are rezervă |\n| cât numărul de vCPU | serverul lucrează la capacitate maximă |\n| constant peste numărul de vCPU | procesele stau la coadă: serverul este suprasolicitat |\n\nÎn exemplu, 3,85 la 2 vCPU înseamnă suprasolicitare, iar primul număr mult mai mare decât al treilea arată că încărcarea a crescut în ultimele minute. În Linux, încărcarea include și procesele care așteaptă discul: o încărcare mare cu procesorul aproape liber indică discul (coloana `wa` de mai jos).\n\n### top sau htop: ce proces consumă\n\n```bash\ntop\n```\n\n`top` arată sus rândul `%Cpu(s)` (coloanele sunt explicate la `vmstat`) și memoria, iar dedesubt procesele, cele mai active primele. Tastele utile: `P` sortează după CPU, `M` după memorie, `1` afișează fiecare vCPU separat, `q` iese.\n\n`htop` arată aceleași date, colorate și mai ușor de citit. Pe Ubuntu și Debian îl instalați așa:\n\n```bash\napt update\napt install -y htop\n```\n\nPe AlmaLinux și CentOS Stream pachetul vine din depozitul EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y htop\n```\n\nLista proceselor, ordonată după CPU și după memorie, pe care o puteți copia într-un tichet:\n\n```bash\nps aux --sort=-%cpu | head -n 15\nps aux --sort=-%mem | head -n 15\n```\n\n### free -h: memoria\n\n```bash\nfree -h\n```\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           3.8Gi       3.2Gi       118Mi        24Mi       512Mi       356Mi\nSwap:             0B          0B          0B\n```\n\nUitați-vă la coloana `available`, nu la `free`: Linux folosește memoria liberă drept cache (`buff/cache`) și o eliberează când o cer aplicațiile. Memoria este epuizată când `available` scade aproape de zero, iar swap-ul, dacă există, este plin. `Swap: 0B` înseamnă că serverul nu are swap.\n\n### vmstat 1 5: evoluția pe câteva secunde\n\n```bash\nvmstat 1 5\n```\n\nComanda afișează 5 rânduri, la o secundă unul de altul. Primul rând este media de la pornirea serverului, așa că citiți rândurile următoare.\n\n| Coloană | Ce arată | Semn de problemă |\n|---|---|---|\n| `r` | procese care așteaptă procesorul | constant peste numărul de vCPU |\n| `b` | procese blocate, de obicei în așteptarea discului | constant peste 0 |\n| `si`, `so` | memorie citită din swap / scrisă în swap | constant peste 0: memoria RAM nu ajunge |\n| `us`, `sy` | procentul de CPU folosit de aplicații / de sistem | împreună aproape de 100 |\n| `wa` | procentul de CPU care așteaptă discul | valori mari: discul încetinește serverul |\n| `st` | timpul „furat” (steal): cât a așteptat procesorul virtual după serverul fizic | constant mare: vedeți mai jos |\n\nValoarea `st` există doar pe serverele virtuale, iar câteva procente din când în când sunt normale. Dacă `st` rămâne mare minute în șir, deși aplicațiile dvs. nu solicită mult procesorul, scrieți suportului și atașați ieșirea comenzii `vmstat 1 5`.\n\n## Discul: spațiu și viteză\n\n```bash\ndf -h\ndf -i\n```\n\n`df -h` arată spațiul ocupat pe fiecare partiție: urmăriți coloana `Use%` pentru `/`. `df -i` arată inode-urile (numărul de fișiere): la `IUse%` de 100% nu se mai pot crea fișiere, chiar dacă mai este spațiu. Un disc plin oprește bazele de date și site-urile. Cum găsiți ce ocupă spațiul și cum îl eliberați: [Discul serverului este plin](#faq.disc-plin).\n\nÎncărcarea discului o măsurați cu `iostat` din pachetul `sysstat`. Instalați-l pe Ubuntu și Debian:\n\n```bash\napt update\napt install -y sysstat\n```\n\nPe AlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y sysstat\n```\n\nApoi rulați:\n\n```bash\niostat -x 1 3\n```\n\nComanda afișează 3 rapoarte, la o secundă unul de altul; primul este media de la pornire. Pentru discul principal (de obicei `vda` sau `sda`) urmăriți:\n\n| Coloană | Ce arată | Semn de problemă |\n|---|---|---|\n| `r/s`, `w/s` | citiri / scrieri pe secundă | suma stă lângă limita discului |\n| `r_await`, `w_await` | durata medie a unei citiri / scrieri, în milisecunde | zeci sau sute de milisecunde |\n| `%util` | cât din timp discul a fost ocupat | constant aproape de 100 |\n\nProcesul care citește sau scrie cel mai mult îl găsiți cu `pidstat` din același pachet (coloanele `kB_rd/s` și `kB_wr/s`):\n\n```bash\npidstat -d 1 5\n```\n\nPe pagina planurilor, familia Basic este descrisă cu disc de 300 IOPS, iar familiile Standard și CPU cu 3000 IOPS. Dacă `r/s` și `w/s` adunate stau lângă această valoare, viteza discului limitează serverul. Upgrade-ul din panou rămâne în aceeași familie de planuri; pentru alt tip de disc, scrieți-ne.\n\n## Rețeaua și serviciile\n\n### Ce programe ascultă pe porturi\n\n```bash\nss -tulpn\n```\n\nFiecare rând arată un port deschis și programul care îl ascultă, de exemplu `0.0.0.0:80` cu `users:((\"nginx\",…))`. `0.0.0.0` sau `*` înseamnă toate adresele, `127.0.0.1` doar serverul însuși. Dacă site-ul nu răspunde și lipsesc porturile 80 și 443, serverul web nu rulează. Ce porturi sunt accesibile din internet: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n### Traficul și conexiunile\n\n```bash\nsar -n DEV 1 5\nss -s\n```\n\n`sar` (tot din `sysstat`) afișează în fiecare secundă traficul primit și trimis pe fiecare interfață, în coloanele `rxkB/s` și `txkB/s`. `ss -s` numără conexiunile deschise. Adresele cu cele mai multe conexiuni:\n\n```bash\nss -tn state established | awk 'NR>1 {print $4}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -rn | head\n```\n\n### Încercări de ghicire a parolei SSH\n\nPe Ubuntu și Debian:\n\n```bash\njournalctl -u ssh --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nPe AlmaLinux și CentOS Stream:\n\n```bash\njournalctl -u sshd --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nRezultatul este numărul de încercări eșuate din ultima oră. Sute sau mii înseamnă că roboți încearcă parole pe server. Instalați o cheie SSH, apoi dezactivați din panou autentificarea cu parolă, cu butonul „Dezactivează login cu parolă” ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)), și instalați fail2ban ([Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban)). Dacă serverul primește mult trafic de la multe adrese și rețeaua este saturată, scrieți suportului.\n\n### Serviciile căzute și erorile din jurnal\n\n```bash\nsystemctl --failed\njournalctl -p err -b\n```\n\n`systemctl --failed` listează serviciile care au eșuat; `0 loaded units listed.` înseamnă că nu există. `journalctl -p err -b` arată erorile de la ultima pornire (ieșiți cu `q`). Pentru un serviciu din listă vedeți starea, ultimele mesaje, apoi reporniți-l:\n\n```bash\nsystemctl status NUME_SERVICIU\njournalctl -u NUME_SERVICIU -n 50 --no-pager\nsystemctl restart NUME_SERVICIU\n```\n\n## Memoria epuizată (OOM)\n\nCând se termină memoria RAM și swap-ul, nucleul Linux oprește forțat un proces, de regulă pe cel care folosește cea mai multă memorie (OOM killer). De obicei este baza de date sau aplicația: site-ul cade brusc, fără o eroare în aplicație. Verificați:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\ndmesg -T | grep -iE \"out of memory|killed process\"\n```\n\nUn rând de felul acesta confirmă cauza:\n\n```text\nOut of memory: Killed process 1234 (mysqld) total-vm:2457600kB, anon-rss:1503232kB, …\n```\n\nCe faceți:\n\n1. Porniți din nou serviciul oprit, cu `systemctl restart` (secțiunea de mai sus).\n2. Adăugați swap, ca rezervă pentru vârfuri scurte: [Adăugarea memoriei swap](#ghiduri.swap).\n3. Reduceți memoria folosită de aplicație: mai puține procese PHP-FPM (`pm.max_children`), un buffer mai mic pentru MariaDB/MySQL (`innodb_buffer_pool_size`), limite de memorie pentru containerele Docker.\n4. Dacă aplicația are nevoie constant de mai multă memorie, treceți la un plan mai mare: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n## Cauze frecvente\n\n| Ce vedeți | Cauza probabilă | Ce faceți |\n|---|---|---|\n| Un proces ține procesorul la 100% mult timp | proces scăpat de sub control: o buclă, un script blocat, sarcini cron suprapuse | reporniți serviciul sau opriți procesul (comenzile de mai jos) |\n| `available` aproape 0, mesaje „Out of memory” | memoria epuizată | secțiunea „Memoria epuizată (OOM)” |\n| `Use%` 100% pe `/`, eroarea „No space left on device” | disc plin | [Discul serverului este plin](#faq.disc-plin) |\n| `wa` mare, `%util` aproape de 100 | disc suprasolicitat | găsiți procesul cu `pidstat -d`; vedeți limita de IOPS a planului |\n| Sute de încercări SSH eșuate, multe conexiuni de la aceleași adrese | atac de ghicire a parolei sau roboți | chei SSH și [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban) |\n| Încărcarea stă constant peste numărul de vCPU la activitatea obișnuită a aplicației | plan prea mic pentru aplicație | [Upgrade server: trecerea la un plan mai mare](#servere.upgrade) |\n| `st` mare minute în șir | serverul fizic este încărcat | scrieți suportului, cu ieșirea `vmstat 1 5` |\n\nDacă procesul aparține unui serviciu (nginx, php-fpm, mariadb etc.), reporniți serviciul:\n\n```bash\nsystemctl restart NUME_SERVICIU\n```\n\nAltfel, cereți procesului să se oprească (`PID` este numărul din prima coloană a lui `top`):\n\n```bash\nkill PID\n```\n\nDoar dacă după câteva secunde procesul încă rulează, opriți-l forțat:\n\n```bash\nkill -9 PID\n```\n\n> **Atenție**\n> Înainte să opriți un proces, aflați ce este, cu `ps -fp PID` sau `systemctl status PID`. Nu opriți serviciul `ssh` (`sshd` pe AlmaLinux și CentOS Stream): pierdeți accesul. Procesul `alloy` este agentul serviciului Monitoring; fără el graficele din panou se opresc. Un proces necunoscut care ține procesorul ocupat poate fi semn de compromitere: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n## Graficele din panou\n\nComenzile arată ce se întâmplă acum. Ca să vedeți când a început problema, folosiți pagina „Monitorizare” din panou. Pentru serverele cu serviciul Monitoring activ, blocul „Tendințe” arată graficele „Utilizare CPU (%)”, „Utilizare RAM (%)”, „Utilizare disc (%)”, „Rețea (octeți/s)”, „Încărcare medie (1m)” și „Procese”, pe intervale de la „1 h” la „90 zile”. Metricile se păstrează aproximativ 15 zile. Pe aceeași pagină, cardul „Alerte” afișează alertele serverelor dvs. și vă poate trimite email.\n\n- Ce arată pagina: [Pagina „Monitorizare”](#servicii.monitorizare).\n- Alertele și emailurile: [Alerte și notificări pe email](#servicii.alerte).\n- Cum obțineți serviciul: [Serviciul Monitoring: agentul instalat pe server](#servicii.agent-monitorizare).\n\nFără serviciul Monitoring, pagina nu are date despre server; diagnosticați cu comenzile din acest ghid.\n\n## Ce trimiteți suportului\n\nDacă nu găsiți cauza, deschideți un tichet: „Contul meu” → „Ajutor și suport” → „Tichet nou” ([Deschiderea unui tichet de suport](#suport.tichet-nou)). În câmpul „Server (opțional)” scrieți adresa IP a serverului. În „Descrieți problema” precizați când a început problema și ce ați încercat, apoi lipiți ieșirea acestor comenzi:\n\n```bash\nuptime\nfree -h\ndf -h\nvmstat 1 5\nps aux --sort=-%cpu | head -n 15\n```\n\nDescrierea primește cel mult 10 000 de caractere, iar un text mai lung este tăiat fără avertisment. Nu trimiteți parole, chei private sau token-uri API.\n\n## Întrebări frecvente\n\n**Încărcarea medie este 4, iar serverul are 2 vCPU. Este grav?**\nProcesele așteaptă la coadă. Dacă durează puțin (o copie de rezervă, o actualizare), nu este o problemă. Dacă durează și site-ul răspunde greu, căutați procesul cu `top`; dacă este încărcarea obișnuită a aplicației, aveți nevoie de un plan mai mare.\n\n**`free -h` arată aproape 0 în coloana `free`. Serverul rămâne fără memorie?**\nNu neapărat. Contează coloana `available`: memoria din `buff/cache` este eliberată când o cer aplicațiile.\n\n**Serverul a căzut, iar după repornire merge. Cum aflu cauza?**\nVedeți erorile pornirii anterioare și eventualele opriri din lipsă de memorie:\n\n```bash\njournalctl --list-boots\njournalctl -b -1 -p err\njournalctl -k -b -1 | grep -i \"out of memory\"\n```\n\nDacă `journalctl --list-boots` arată o singură pornire, jurnalul nu se păstrează după repornire. Atunci căutați mesajele în `/var/log/syslog` (Ubuntu, Debian) sau `/var/log/messages` (AlmaLinux, CentOS Stream), dacă fișierul există, și în graficele din „Monitorizare”, dacă serverul are serviciul Monitoring. Ca jurnalul să se păstreze de acum înainte, creați-i directorul permanent:\n\n```bash\nmkdir -p /var/log/journal\nsystemctl restart systemd-journald\n```\n\n**Comanda `iostat`, `pidstat`, `sar` sau `htop` nu există.**\nInstalați pachetul `sysstat` (pentru primele trei) sau `htop`, cu comenzile din secțiunile de mai sus.\n\n**Pot vedea încărcarea serverului fără SSH?**\nÎn panou, doar pe pagina „Monitorizare”, pentru serverele cu serviciul Monitoring. Panoul nu arată nici dacă serverul este pornit sau oprit. Comenzile din acest ghid le poate rula pentru dvs. și un asistent AI conectat la cont: [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server).\n",
    "ru": "Когда сервер начинает тормозить или перестаёт отвечать, причина чаще всего в том, что не хватает одного из четырёх ресурсов: процессора (CPU), памяти (RAM), диска или сети. В этом руководстве — команды, которые находят виновника, и что делать в каждом случае. Команды выполняются на сервере по SSH от имени `root`. Как менялась нагрузка со временем, видно в панели app.blackbox.md на странице «Мониторинг» (`app.blackbox.md/monitoring`, боковое меню → «Инфраструктура» → «Мониторинг»).\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX с Ubuntu, Debian, AlmaLinux или CentOS Stream. Графики в панели — владельцу сервера, для серверов с активной дополнительной услугой «Мониторинг».\n\n## Сервер тормозит или не отвечает: что делать по порядку\n\n1. Подключитесь по SSH ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n   ```bash\n   ssh root@IP_СЕРВЕРА\n   ```\n\n2. **Если подключиться удалось**, пусть даже медленно, не перезагружайте сервер сразу: перезагрузка сотрёт следы проблемы. Выполните команды из разделов ниже, начиная с «Быстрый осмотр».\n3. **Если SSH не отвечает** (истекает время ожидания или сессия зависает): в панели откройте «Мои серверы», нажмите «Перезагрузить» на карточке сервера и подтвердите «Перезагрузить {name}?». Подождите 30–60 секунд и подключитесь снова. Если панель показывает `power_action_failed`, сервер, возможно, выключен: нажмите «Запустить». Подробнее: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n4. **Если сервер так и не ответил** через несколько минут, напишите в поддержку ([Как связаться с поддержкой BLACKBOX](#suport.contact)). Укажите IP-адрес сервера, номер заказа (`BBX-…`), дату и время, когда началась проблема. Если вопрос срочный и сейчас рабочее время, также позвоните по номеру +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы).\n5. Когда сервер снова заработает, выясните причину: см. вопрос «Сервер упал, а после перезагрузки работает. Как узнать причину?» в конце статьи.\n\nЕсли SSH отвечает `Permission denied`, сервер работает, а проблема в авторизации: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\n> **Примечание**\n> У клиентов нет веб-консоли и VNC, а в панели нет кнопки принудительной перезагрузки (hard reset). Если «Перезагрузить» не помогает, вмешаться может только команда BLACKBOX.\n\n## Быстрый осмотр: процессор, память, процессы\n\n### uptime: средняя нагрузка\n\n```bash\nuptime\nnproc\n```\n\n```text\n 10:42:01 up 12 days,  3:05,  1 user,  load average: 3.85, 2.10, 1.20\n2\n```\n\nТри числа после `load average` — средняя нагрузка за последнюю минуту, за 5 и за 15 минут. Сравнивайте их с числом vCPU сервера: его выводит `nproc`, а ещё оно указано на карточке сервера в разделе «Мои серверы», в строке «Конфигурация» (например, «2 vCPU · 4 GB · 40 GB»).\n\n| Средняя нагрузка | Что это значит |\n|---|---|\n| меньше числа vCPU | у процессора есть запас |\n| равна числу vCPU | сервер работает на пределе |\n| постоянно больше числа vCPU | процессы стоят в очереди: сервер перегружен |\n\nВ примере 3,85 при 2 vCPU — это перегрузка, а первое число, намного большее третьего, показывает, что нагрузка выросла за последние минуты. В Linux в нагрузку входят и процессы, которые ждут диск: высокая нагрузка при почти свободном процессоре указывает на диск (столбец `wa` ниже).\n\n### top или htop: какой процесс нагружает\n\n```bash\ntop\n```\n\nВверху `top` показывает строку `%Cpu(s)` (её столбцы описаны в разделе про `vmstat`) и память, ниже — процессы, самые активные сверху. Полезные клавиши: `P` — сортировка по CPU, `M` — по памяти, `1` — каждый vCPU отдельно, `q` — выход.\n\n`htop` показывает то же самое, но в цвете и нагляднее. В Ubuntu и Debian установите его так:\n\n```bash\napt update\napt install -y htop\n```\n\nВ AlmaLinux и CentOS Stream пакет берётся из репозитория EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y htop\n```\n\nСписок процессов, отсортированный по CPU и по памяти, который удобно скопировать в тикет:\n\n```bash\nps aux --sort=-%cpu | head -n 15\nps aux --sort=-%mem | head -n 15\n```\n\n### free -h: память\n\n```bash\nfree -h\n```\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           3.8Gi       3.2Gi       118Mi        24Mi       512Mi       356Mi\nSwap:             0B          0B          0B\n```\n\nСмотрите на столбец `available`, а не на `free`: Linux занимает свободную память под кеш (`buff/cache`) и отдаёт её, когда она нужна приложениям. Память закончилась, если `available` близок к нулю, а swap, если он есть, заполнен. `Swap: 0B` означает, что на сервере нет swap.\n\n### vmstat 1 5: картина за несколько секунд\n\n```bash\nvmstat 1 5\n```\n\nКоманда выводит 5 строк с интервалом в секунду. Первая строка — среднее значение с момента загрузки сервера, поэтому смотрите на следующие.\n\n| Столбец | Что показывает | Признак проблемы |\n|---|---|---|\n| `r` | процессы, которые ждут процессор | постоянно больше числа vCPU |\n| `b` | заблокированные процессы, обычно ждут диск | постоянно больше 0 |\n| `si`, `so` | чтение из swap / запись в swap | постоянно больше 0: оперативной памяти не хватает |\n| `us`, `sy` | доля CPU, занятая приложениями / системой | вместе около 100 |\n| `wa` | доля CPU в ожидании диска | высокие значения: узкое место — диск |\n| `st` | «украденное» время (steal): сколько виртуальный процессор ждал физический сервер | постоянно высокое: см. ниже |\n\nЗначение `st` бывает только на виртуальных серверах, и несколько процентов время от времени — это нормально. Если `st` остаётся высоким несколько минут подряд, хотя ваши приложения почти не нагружают процессор, напишите в поддержку и приложите вывод команды `vmstat 1 5`.\n\n## Диск: место и скорость\n\n```bash\ndf -h\ndf -i\n```\n\n`df -h` показывает занятое место на каждом разделе: смотрите столбец `Use%` для `/`. `df -i` показывает иноды (количество файлов): при `IUse%` 100% новые файлы создать нельзя, даже если место ещё есть. Заполненный диск останавливает базы данных и сайты. Как найти, что занимает место, и освободить его: [Диск сервера заполнен](#faq.disc-plin).\n\nНагрузку на диск измеряет `iostat` из пакета `sysstat`. Установите его в Ubuntu и Debian:\n\n```bash\napt update\napt install -y sysstat\n```\n\nВ AlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y sysstat\n```\n\nЗатем выполните:\n\n```bash\niostat -x 1 3\n```\n\nКоманда выводит 3 отчёта с интервалом в секунду; первый — среднее значение с момента загрузки. Для основного диска (обычно `vda` или `sda`) смотрите:\n\n| Столбец | Что показывает | Признак проблемы |\n|---|---|---|\n| `r/s`, `w/s` | операций чтения / записи в секунду | сумма держится около предела диска |\n| `r_await`, `w_await` | среднее время одного чтения / записи в миллисекундах | десятки или сотни миллисекунд |\n| `%util` | какую долю времени диск был занят | постоянно около 100 |\n\nПроцесс, который больше всех читает или пишет, покажет `pidstat` из того же пакета (столбцы `kB_rd/s` и `kB_wr/s`):\n\n```bash\npidstat -d 1 5\n```\n\nНа странице тарифов у семейства Basic указан диск на 300 IOPS, у семейств Стандарт и CPU — на 3000 IOPS. Если `r/s` и `w/s` в сумме держатся около этого значения, сервер упирается в скорость диска. Апгрейд в панели возможен только в пределах того же семейства тарифов; если нужен другой тип диска, напишите нам.\n\n## Сеть и службы\n\n### Какие программы слушают порты\n\n```bash\nss -tulpn\n```\n\nКаждая строка — открытый порт и программа, которая его слушает, например `0.0.0.0:80` с `users:((\"nginx\",…))`. `0.0.0.0` или `*` — все адреса, `127.0.0.1` — только сам сервер. Если сайт не отвечает и портов 80 и 443 в списке нет, веб-сервер не запущен. Какие порты доступны из интернета: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n### Трафик и соединения\n\n```bash\nsar -n DEV 1 5\nss -s\n```\n\n`sar` (тоже из `sysstat`) каждую секунду показывает входящий и исходящий трафик на каждом интерфейсе — столбцы `rxkB/s` и `txkB/s`. `ss -s` подсчитывает открытые соединения. Адреса с наибольшим числом соединений:\n\n```bash\nss -tn state established | awk 'NR>1 {print $4}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -rn | head\n```\n\n### Попытки подбора пароля к SSH\n\nВ Ubuntu и Debian:\n\n```bash\njournalctl -u ssh --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nВ AlmaLinux и CentOS Stream:\n\n```bash\njournalctl -u sshd --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nРезультат — число неудачных попыток входа за последний час. Сотни или тысячи означают, что боты подбирают пароли к серверу. Установите SSH-ключ, затем отключите вход по паролю в панели кнопкой «Отключить вход по паролю» ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)) и установите fail2ban ([Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban)). Если на сервер идёт много трафика с множества адресов и сеть перегружена, напишите в поддержку.\n\n### Упавшие службы и ошибки в журнале\n\n```bash\nsystemctl --failed\njournalctl -p err -b\n```\n\n`systemctl --failed` выводит службы, завершившиеся с ошибкой; `0 loaded units listed.` означает, что таких нет. `journalctl -p err -b` показывает ошибки с момента последней загрузки (выход — `q`). Для службы из списка посмотрите состояние и последние сообщения, затем перезапустите её:\n\n```bash\nsystemctl status ИМЯ_СЛУЖБЫ\njournalctl -u ИМЯ_СЛУЖБЫ -n 50 --no-pager\nsystemctl restart ИМЯ_СЛУЖБЫ\n```\n\n## Нехватка памяти (OOM)\n\nКогда заканчиваются оперативная память и swap, ядро Linux принудительно завершает один из процессов, как правило тот, который занимает больше всего памяти (OOM killer). Обычно это база данных или приложение: сайт внезапно падает без ошибки в самом приложении. Проверьте:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\ndmesg -T | grep -iE \"out of memory|killed process\"\n```\n\nТакая строка подтверждает причину:\n\n```text\nOut of memory: Killed process 1234 (mysqld) total-vm:2457600kB, anon-rss:1503232kB, …\n```\n\nЧто делать:\n\n1. Снова запустите остановленную службу командой `systemctl restart` (см. раздел выше).\n2. Добавьте swap как запас на короткие пики: [Добавление файла подкачки (swap)](#ghiduri.swap).\n3. Уменьшите потребление памяти приложением: меньше процессов PHP-FPM (`pm.max_children`), меньший буфер MariaDB/MySQL (`innodb_buffer_pool_size`), лимиты памяти для Docker-контейнеров.\n4. Если приложению постоянно нужно больше памяти, перейдите на больший тариф: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n## Частые причины\n\n| Что вы видите | Вероятная причина | Что делать |\n|---|---|---|\n| Один процесс долго держит процессор на 100% | процесс вышел из-под контроля: зациклился, завис скрипт, наложились задачи cron | перезапустите службу или завершите процесс (команды ниже) |\n| `available` около 0, сообщения «Out of memory» | закончилась память | раздел «Нехватка памяти (OOM)» |\n| `Use%` 100% для `/`, ошибка «No space left on device» | диск заполнен | [Диск сервера заполнен](#faq.disc-plin) |\n| Высокий `wa`, `%util` около 100 | диск перегружен | найдите процесс через `pidstat -d`; проверьте предел IOPS тарифа |\n| Сотни неудачных попыток входа по SSH, много соединений с одних и тех же адресов | подбор паролей или боты | SSH-ключи и [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban) |\n| Нагрузка постоянно выше числа vCPU при обычной работе приложения | тариф мал для приложения | [Апгрейд сервера: переход на больший тариф](#servere.upgrade) |\n| `st` высокий несколько минут подряд | физический сервер загружен | напишите в поддержку, приложите вывод `vmstat 1 5` |\n\nЕсли процесс относится к службе (nginx, php-fpm, mariadb и т. п.), перезапустите службу:\n\n```bash\nsystemctl restart ИМЯ_СЛУЖБЫ\n```\n\nИначе попросите процесс завершиться (`PID` — число из первого столбца `top`):\n\n```bash\nkill PID\n```\n\nИ только если через несколько секунд процесс всё ещё работает, завершите его принудительно:\n\n```bash\nkill -9 PID\n```\n\n> **Внимание**\n> Прежде чем завершать процесс, выясните, что это за процесс: `ps -fp PID` или `systemctl status PID`. Не останавливайте службу `ssh` (`sshd` в AlmaLinux и CentOS Stream): потеряете доступ. Процесс `alloy` — агент услуги «Мониторинг»; без него графики в панели перестанут обновляться. Неизвестный процесс, который загружает процессор, может быть признаком взлома: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n## Графики в панели\n\nКоманды показывают, что происходит сейчас. Чтобы увидеть, когда началась проблема, откройте страницу «Мониторинг» в панели. Для серверов с активной услугой «Мониторинг» блок «Динамика» показывает графики «Загрузка CPU (%)», «Использование ОЗУ (%)», «Использование диска (%)», «Сеть (байт/с)», «Средняя нагрузка (1м)» и «Процессы» за период от «1 ч» до «90 дней». Метрики хранятся примерно 15 дней. На той же странице блок «Оповещения» показывает оповещения по вашим серверам и может присылать их на email.\n\n- Что показывает страница: [Страница «Мониторинг»](#servicii.monitorizare).\n- Оповещения и письма: [Оповещения и уведомления по email](#servicii.alerte).\n- Как подключить услугу: [Услуга «Мониторинг»: агент на сервере](#servicii.agent-monitorizare).\n\nБез услуги «Мониторинг» данных о сервере на странице нет — диагностируйте командами из этого руководства.\n\n## Что отправить в поддержку\n\nЕсли причину найти не удалось, создайте тикет: «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» ([Создание тикета в поддержку](#suport.tichet-nou)). В поле «Сервер (необязательно)» укажите IP-адрес сервера. В поле «Опишите проблему» напишите, когда началась проблема и что вы уже пробовали, и вставьте вывод этих команд:\n\n```bash\nuptime\nfree -h\ndf -h\nvmstat 1 5\nps aux --sort=-%cpu | head -n 15\n```\n\nПоле вмещает не больше 10 000 символов, более длинный текст обрезается без предупреждения. Не отправляйте пароли, закрытые ключи и API-токены.\n\n## Частые вопросы\n\n**Средняя нагрузка — 4, а у сервера 2 vCPU. Это плохо?**\nПроцессы стоят в очереди. Если это ненадолго (резервное копирование, обновление), ничего страшного. Если нагрузка держится и сайт отвечает медленно, найдите процесс через `top`; если это обычная нагрузка вашего приложения, нужен тариф побольше.\n\n**`free -h` показывает почти 0 в столбце `free`. Память заканчивается?**\nНе обязательно. Важен столбец `available`: память из `buff/cache` освобождается, когда она нужна приложениям.\n\n**Сервер упал, а после перезагрузки работает. Как узнать причину?**\nПосмотрите ошибки предыдущей загрузки и возможные завершения процессов из-за нехватки памяти:\n\n```bash\njournalctl --list-boots\njournalctl -b -1 -p err\njournalctl -k -b -1 | grep -i \"out of memory\"\n```\n\nЕсли `journalctl --list-boots` показывает только одну загрузку, журнал после перезагрузки не сохраняется. Тогда ищите сообщения в `/var/log/syslog` (Ubuntu, Debian) или `/var/log/messages` (AlmaLinux, CentOS Stream), если такой файл есть, и на графиках страницы «Мониторинг», если у сервера есть услуга «Мониторинг». Чтобы журнал сохранялся и дальше, создайте для него постоянный каталог:\n\n```bash\nmkdir -p /var/log/journal\nsystemctl restart systemd-journald\n```\n\n**Нет команды `iostat`, `pidstat`, `sar` или `htop`.**\nУстановите пакет `sysstat` (для первых трёх) или `htop` командами из разделов выше.\n\n**Можно ли посмотреть нагрузку без SSH?**\nВ панели — только на странице «Мониторинг», для серверов с услугой «Мониторинг». Панель не показывает даже, включён сервер или выключен. Команды из этого руководства может выполнить за вас и AI-ассистент, подключённый к аккаунту: [Выполнение команд на сервере через AI](#ai.comenzi-pe-server).\n",
    "en": "When your server becomes slow or stops responding, the cause is usually one of four exhausted resources: the processor (CPU), memory (RAM), the disk or the network. This guide shows the commands that find the resource to blame and what to do in each case. You run the commands on the server, over SSH, as `root`. You can see how the load changes over time on the “Monitoring” page of the app.blackbox.md panel (`app.blackbox.md/monitoring`, sidebar → “Infrastructure” → “Monitoring”).\n\n**Available to:** anyone with root SSH access to a BLACKBOX server running Ubuntu, Debian, AlmaLinux or CentOS Stream. The charts in the panel: the server owner, for servers with the Monitoring add-on service active.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The server is slow or not responding: steps in order\n\n1. Connect over SSH ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)):\n\n   ```bash\n   ssh root@SERVER_IP\n   ```\n\n2. **If you can connect**, even slowly, don't reboot yet: a reboot erases the traces of the problem. Run the commands in the sections below, starting with “Quick look”.\n3. **If SSH doesn't respond** (the connection times out or the session hangs): in the panel, open “My Servers”, click “Reboot” on the server card and confirm “Reboot SERVER_NAME?”. Wait 30–60 seconds and connect again. If the panel shows `power_action_failed`, the server may be off: click “Start”. Details: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n4. **If the server still doesn't respond** after a few minutes, write to support ([How to contact BLACKBOX support](#suport.contact)). Include the server's IP address, the order number (`BBX-…`) and the date and time the problem started. For an urgent issue during business hours, also call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n5. Once the server responds again, find the cause: see the question “The server crashed and works again after a reboot. How do I find the cause?” at the end of this guide.\n\nIf SSH answers with `Permission denied`, the server is working and the problem is with authentication: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\n> **Note**\n> Customers have no web console or VNC, and the panel has no forced reboot (hard reset) button. If “Reboot” doesn't help, only the BLACKBOX team can step in.\n\n## Quick look: CPU, memory, processes\n\n### uptime: the load average\n\n```bash\nuptime\nnproc\n```\n\n```text\n 10:42:01 up 12 days,  3:05,  1 user,  load average: 3.85, 2.10, 1.20\n2\n```\n\nThe three numbers after `load average` are the average load over the last minute, the last 5 minutes and the last 15 minutes. Compare them with the server's number of vCPUs: `nproc` prints it, and it also appears on the server card in “My Servers”, in the “Spec” row (for example, “2 vCPU · 4 GB · 40 GB”).\n\n| Load average | What it means |\n|---|---|\n| below the number of vCPUs | the CPU still has capacity to spare |\n| equal to the number of vCPUs | the server is working at full capacity |\n| constantly above the number of vCPUs | processes are waiting in a queue: the server is overloaded |\n\nIn the example, 3.85 on 2 vCPUs means overload, and a first number much higher than the third shows that the load has risen in the last few minutes. On Linux, the load also counts processes that are waiting for the disk: a high load while the CPU is almost idle points to the disk (the `wa` column below).\n\n### top or htop: which process is using resources\n\n```bash\ntop\n```\n\nAt the top, `top` shows the `%Cpu(s)` line (its columns are explained under `vmstat`) and memory; below that, it lists the processes, most active first. Useful keys: `P` sorts by CPU, `M` by memory, `1` shows each vCPU separately, `q` quits.\n\n`htop` shows the same data, in color and easier to read. On Ubuntu and Debian, install it like this:\n\n```bash\napt update\napt install -y htop\n```\n\nOn AlmaLinux and CentOS Stream, the package comes from the EPEL repository:\n\n```bash\ndnf install -y epel-release\ndnf install -y htop\n```\n\nThe list of processes, sorted by CPU and by memory, which you can copy into a support ticket:\n\n```bash\nps aux --sort=-%cpu | head -n 15\nps aux --sort=-%mem | head -n 15\n```\n\n### free -h: memory\n\n```bash\nfree -h\n```\n\n```text\n               total        used        free      shared  buff/cache   available\nMem:           3.8Gi       3.2Gi       118Mi        24Mi       512Mi       356Mi\nSwap:             0B          0B          0B\n```\n\nLook at the `available` column, not `free`: Linux uses free memory as cache (`buff/cache`) and releases it when applications need it. Memory is exhausted when `available` drops close to zero and swap, if there is any, is full. `Swap: 0B` means the server has no swap.\n\n### vmstat 1 5: how things change over a few seconds\n\n```bash\nvmstat 1 5\n```\n\nThe command prints 5 lines, one second apart. The first line is the average since the server started, so read the lines after it.\n\n| Column | What it shows | Sign of a problem |\n|---|---|---|\n| `r` | processes waiting for the CPU | constantly above the number of vCPUs |\n| `b` | blocked processes, usually waiting for the disk | constantly above 0 |\n| `si`, `so` | memory read from swap / written to swap | constantly above 0: there isn't enough RAM |\n| `us`, `sy` | the percentage of CPU used by applications / by the system | close to 100 together |\n| `wa` | the percentage of CPU time spent waiting for the disk | high values: the disk is slowing the server down |\n| `st` | “stolen” time (steal): how long the virtual CPU waited for the physical server | constantly high: see below |\n\nThe `st` value exists only on virtual servers, and a few percent now and then is normal. If `st` stays high for minutes on end even though your applications aren't putting much load on the CPU, write to support and attach the output of `vmstat 1 5`.\n\n## The disk: space and speed\n\n```bash\ndf -h\ndf -i\n```\n\n`df -h` shows the space used on each partition: watch the `Use%` column for `/`. `df -i` shows inodes (the number of files): when `IUse%` reaches 100%, no new files can be created, even if there is space left. A full disk stops databases and websites. How to find what is taking up space and how to free it: [The server's disk is full](#faq.disc-plin).\n\nYou measure the disk load with `iostat`, from the `sysstat` package. Install it on Ubuntu and Debian:\n\n```bash\napt update\napt install -y sysstat\n```\n\nOn AlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y sysstat\n```\n\nThen run:\n\n```bash\niostat -x 1 3\n```\n\nThe command prints 3 reports, one second apart; the first is the average since boot. For the main disk (usually `vda` or `sda`), watch:\n\n| Column | What it shows | Sign of a problem |\n|---|---|---|\n| `r/s`, `w/s` | reads / writes per second | the sum stays close to the disk's limit |\n| `r_await`, `w_await` | the average time of one read / write, in milliseconds | tens or hundreds of milliseconds |\n| `%util` | how much of the time the disk was busy | constantly close to 100 |\n\nTo find the process that reads or writes the most, use `pidstat` from the same package (the `kB_rd/s` and `kB_wr/s` columns):\n\n```bash\npidstat -d 1 5\n```\n\nOn the plans page, the Basic family is described with a 300 IOPS disk, and the Standard and CPU families with 3000 IOPS. If `r/s` and `w/s` added together stay close to this value, the disk's speed is limiting the server. An upgrade from the panel stays within the same plan family; for a different disk type, write to us.\n\n## The network and services\n\n### Which programs are listening on ports\n\n```bash\nss -tulpn\n```\n\nEach line shows an open port and the program listening on it, for example `0.0.0.0:80` with `users:((\"nginx\",…))`. `0.0.0.0` or `*` means all addresses, and `127.0.0.1` means only the server itself. If the website doesn't respond and ports 80 and 443 are missing, the web server isn't running. Which ports can be reached from the internet: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n### Traffic and connections\n\n```bash\nsar -n DEV 1 5\nss -s\n```\n\n`sar` (also from `sysstat`) shows, every second, the traffic received and sent on each interface, in the `rxkB/s` and `txkB/s` columns. `ss -s` counts the open connections. The addresses with the most connections:\n\n```bash\nss -tn state established | awk 'NR>1 {print $4}' | sed 's/:[0-9]*$//' | sort | uniq -c | sort -rn | head\n```\n\n### SSH password-guessing attempts\n\nOn Ubuntu and Debian:\n\n```bash\njournalctl -u ssh --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nOn AlmaLinux and CentOS Stream:\n\n```bash\njournalctl -u sshd --since \"1 hour ago\" | grep -ciE \"failed password|invalid user\"\n```\n\nThe result is the number of failed login attempts in the last hour. Hundreds or thousands mean that bots are trying passwords on your server. Install an SSH key, then disable password login from the panel with the “Disable password login” button ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)), and install fail2ban ([Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban)). If the server is receiving a lot of traffic from many addresses and the network is saturated, write to support.\n\n### Failed services and errors in the log\n\n```bash\nsystemctl --failed\njournalctl -p err -b\n```\n\n`systemctl --failed` lists the services that have failed; `0 loaded units listed.` means there are none. `journalctl -p err -b` shows the errors since the last boot (exit with `q`). For a service in the list, check its status and latest messages, then restart it:\n\n```bash\nsystemctl status SERVICE_NAME\njournalctl -u SERVICE_NAME -n 50 --no-pager\nsystemctl restart SERVICE_NAME\n```\n\n## Running out of memory (OOM)\n\nWhen the RAM and the swap run out, the Linux kernel forcibly stops a process, usually the one using the most memory (the OOM killer). This is usually the database or the application: the website goes down suddenly, with no error in the application. Check:\n\n```bash\njournalctl -k | grep -i \"out of memory\"\ndmesg -T | grep -iE \"out of memory|killed process\"\n```\n\nA line like this one confirms the cause:\n\n```text\nOut of memory: Killed process 1234 (mysqld) total-vm:2457600kB, anon-rss:1503232kB, …\n```\n\nWhat to do:\n\n1. Start the stopped service again with `systemctl restart` (see the section above).\n2. Add swap as a reserve for short spikes: [Adding swap space](#ghiduri.swap).\n3. Reduce the memory the application uses: fewer PHP-FPM processes (`pm.max_children`), a smaller buffer for MariaDB/MySQL (`innodb_buffer_pool_size`), memory limits for Docker containers.\n4. If the application constantly needs more memory, move to a larger plan: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n## Common causes\n\n| What you see | Likely cause | What to do |\n|---|---|---|\n| One process keeps the CPU at 100% for a long time | a runaway process: a loop, a stuck script, overlapping cron jobs | restart the service or stop the process (commands below) |\n| `available` close to 0, “Out of memory” messages | memory exhausted | the “Running out of memory (OOM)” section |\n| `Use%` at 100% on `/`, the error “No space left on device” | full disk | [The server's disk is full](#faq.disc-plin) |\n| High `wa`, `%util` close to 100 | overloaded disk | find the process with `pidstat -d`; check the plan's IOPS limit |\n| Hundreds of failed SSH attempts, many connections from the same addresses | a password-guessing attack or bots | SSH keys and [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban) |\n| The load stays above the number of vCPUs during the application's normal activity | the plan is too small for the application | [Server upgrade: moving to a larger plan](#servere.upgrade) |\n| `st` high for minutes on end | the physical server is busy | write to support, with the output of `vmstat 1 5` |\n\nIf the process belongs to a service (nginx, php-fpm, mariadb, etc.), restart the service:\n\n```bash\nsystemctl restart SERVICE_NAME\n```\n\nOtherwise, ask the process to stop (`PID` is the number in the first column of `top`):\n\n```bash\nkill PID\n```\n\nOnly if the process is still running after a few seconds, force it to stop:\n\n```bash\nkill -9 PID\n```\n\n> **Warning**\n> Before you stop a process, find out what it is with `ps -fp PID` or `systemctl status PID`. Don't stop the `ssh` service (`sshd` on AlmaLinux and CentOS Stream): you would lose access. The `alloy` process is the agent of the Monitoring service; without it, the charts in the panel stop. An unknown process that keeps the CPU busy may be a sign that the server has been compromised: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n## The charts in the panel\n\nThe commands show what is happening right now. To see when the problem started, use the “Monitoring” page in the panel. For servers with the Monitoring service active, the “Trends” block shows the “CPU usage (%)”, “RAM usage (%)”, “Disk usage (%)”, “Network (bytes/s)”, “Load average (1m)” and “Processes” charts, over ranges from “1 h” to “90 days”. Metrics are kept for about 15 days. On the same page, the “Alerts” card shows the alerts for your servers and can send you emails.\n\n- What the page shows: [The “Monitoring” page](#servicii.monitorizare).\n- Alerts and emails: [Alerts and email notifications](#servicii.alerte).\n- How to get the service: [The Monitoring service: the agent installed on the server](#servicii.agent-monitorizare).\n\nWithout the Monitoring service, the page has no data about the server; diagnose it with the commands in this guide.\n\n## What to send to support\n\nIf you can't find the cause, open a support ticket: “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket) ([Opening a support ticket](#suport.tichet-nou)). In the “Server (opțional)” (Server (optional)) field, enter the server's IP address. In “Descrieți problema” (Describe the problem), say when the problem started and what you have tried, then paste the output of these commands:\n\n```bash\nuptime\nfree -h\ndf -h\nvmstat 1 5\nps aux --sort=-%cpu | head -n 15\n```\n\nThe description accepts at most 10,000 characters, and longer text is cut off without warning. Don't send passwords, private keys or API tokens.\n\n## Frequently asked questions\n\n**The load average is 4 and the server has 2 vCPUs. Is that serious?**\nProcesses are waiting in a queue. If it lasts only a short time (a backup, an update), it's not a problem. If it goes on and the website responds slowly, look for the process with `top`; if it's your application's normal load, you need a larger plan.\n\n**`free -h` shows almost 0 in the `free` column. Is the server running out of memory?**\nNot necessarily. What matters is the `available` column: the memory in `buff/cache` is released when applications need it.\n\n**The server crashed and works again after a reboot. How do I find the cause?**\nLook at the errors from the previous boot and at any processes stopped for lack of memory:\n\n```bash\njournalctl --list-boots\njournalctl -b -1 -p err\njournalctl -k -b -1 | grep -i \"out of memory\"\n```\n\nIf `journalctl --list-boots` shows only one boot, the log is not kept across reboots. In that case, look for the messages in `/var/log/syslog` (Ubuntu, Debian) or `/var/log/messages` (AlmaLinux, CentOS Stream), if the file exists, and in the “Monitoring” charts, if the server has the Monitoring service. To keep the log from now on, create its permanent directory:\n\n```bash\nmkdir -p /var/log/journal\nsystemctl restart systemd-journald\n```\n\n**The `iostat`, `pidstat`, `sar` or `htop` command doesn't exist.**\nInstall the `sysstat` package (for the first three) or `htop`, with the commands in the sections above.\n\n**Can I see the server's load without SSH?**\nIn the panel, only on the “Monitoring” page, for servers with the Monitoring service. The panel doesn't even show whether the server is on or off. An AI assistant connected to your account can also run the commands in this guide for you: [Running commands on the server through AI](#ai.comenzi-pe-server).\n"
   }
  },
  {
   "id": "suport.contact",
   "section": "suport",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/suport/contact/",
    "ru": "https://docs.blackbox.md/ru/suport/contact/",
    "en": "https://docs.blackbox.md/en/suport/contact/"
   },
   "title": {
    "ro": "Cum contactați suportul BLACKBOX",
    "ru": "Как связаться с поддержкой BLACKBOX",
    "en": "How to contact BLACKBOX support"
   },
   "summary": {
    "ro": "Canalele de contact, programul, timpul de răspuns publicat și ce să includeți în cerere.",
    "ru": "Каналы связи, часы работы, опубликованное время ответа и что указать в обращении.",
    "en": "The contact channels, working hours, the published response time and what to include in your request."
   },
   "markdown": {
    "ro": "Pagina „Contacte” (`blackbox.md/info/contacts`, meniul „Informații” → „Contacte”) adună toate canalele prin care puteți contacta echipa BLACKBOX. Telefonul, emailul și adresa apar și în subsolul fiecărei pagini blackbox.md. Tichetele de suport se deschid din cont: „Contul meu” → „Ajutor și suport” (`blackbox.md/account/tickets`).\n\n**Disponibil pentru:** oricine. Tichetele: doar clienții autentificați pe blackbox.md.\n\n## Canalele de contact\n\n| Canal | Date de contact | Program și răspuns |\n|---|---|---|\n| Tichete de suport | „Contul meu” → „Ajutor și suport” → „Tichet nou” | Doar după autentificare. Când echipa răspunde, primiți un email. |\n| Email | support@blackbox.md | Răspundem „în maxim 4 ore în zilele lucrătoare”. |\n| Telefon | +373 78 003948 | Luni–vineri, 09:00–18:00 (ora Moldovei). |\n| WhatsApp | +373 78 003948 (același număr) | Luni–vineri, 09:00–18:00 (ora Moldovei). |\n| Telegram | @gurevion (linkul este pe pagina „Contacte”) | Fără program publicat. |\n| Adresă | Chișinău, Vadul lui Vodă 78/2 | Luni–vineri, 09:00–18:00 (ora Moldovei). |\n\nSingura adresă de email a suportului este support@blackbox.md. Ne puteți scrie în română sau în rusă.\n\n## Ce canal alegeți\n\n| Situația | Canal |\n|---|---|\n| Întrebare tehnică despre server, despre panoul app.blackbox.md sau despre o comandă | Tichet: [Deschiderea unui tichet de suport](#suport.tichet-nou) |\n| Plăți, rambursări, facturi, date de facturare | Email la support@blackbox.md, de pe adresa contului. Rambursări: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare) |\n| Cereri privind datele personale (acces, ștergere, portabilitate) | Email de pe adresa contului: [Drepturile dvs. privind datele personale](#legal.drepturile-dvs) |\n| Nu puteți intra în cont sau ați pierdut dispozitivul pentru 2FA | Email de pe adresa contului sau telefon. Tichetele cer autentificare. |\n| Serverul sau site-ul nu funcționează, este urgent și suntem în programul de lucru | Telefon sau WhatsApp, apoi un tichet cu detaliile |\n| Serverul a fost spart sau este atacat | [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis) |\n| Administrare, DevOps sau migrare realizate de echipa noastră | [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale) |\n\n## Program și timp de răspuns\n\n- **Telefon și WhatsApp:** luni–vineri, 09:00–18:00 (ora Moldovei).\n- **Email:** termenul publicat este „în maxim 4 ore în zilele lucrătoare”.\n- **Suport 24/7:** doar pentru clienții cu contract SLA (pe pagina „Contacte”: „24/7 pentru clienții cu SLA”). Dacă vă interesează un astfel de contract, scrieți-ne.\n- **Tichete:** nu există un termen de răspuns publicat. Când echipa răspunde, primiți un email cu subiectul „[Ticket #N] …”, iar răspunsul dvs. îl scrieți pe pagina tichetului. Detalii: [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete).\n\n## Ce să includeți în cerere\n\nCa să vă putem ajuta fără întrebări suplimentare, includeți:\n\n1. Adresa de email a contului blackbox.md. Dacă ne scrieți pe email, trimiteți mesajul chiar de pe această adresă.\n2. Numărul comenzii `BBX-…`: coloana „ID” din „Contul meu” → „Comenzi” sau subiectul emailurilor despre comandă.\n3. IP-ul sau numele serverului, din panou, pagina „Serverele mele”.\n4. Textul exact al mesajului de eroare, copiat, nu rescris din memorie.\n5. Când a început problema (data și ora).\n6. Ce ați încercat deja.\n\nExemplu:\n\n```text\nSubiect: Serverul nu răspunde prin SSH — BBX-2026-000123\nContul: EMAIL_CONT\nServerul: IP_SERVER\nEroarea: ssh: connect to host IP_SERVER port 22: Connection timed out\nDe când: 9 octombrie 2026, ora 14:20\nAm încercat: repornirea din panou („Repornește”)\n```\n\n> **Securitate**\n> Nu trimiteți niciodată, pe niciun canal, parole (a contului sau root), chei SSH private sau token-uri API (`bbx_pat_…`). Dacă ați trimis din greșeală una dintre ele, schimbați-o imediat (vedeți „Întrebări frecvente” mai jos).\n\n## Recuperarea contului și eliminarea 2FA\n\nÎnainte de a restabili accesul la cont sau de a elimina autentificarea în doi pași (2FA) din panou, echipa vă verifică identitatea.\n\n1. Scrieți la support@blackbox.md de pe adresa de email a contului blackbox.md. Dacă nu vă puteți autentifica, nu puteți deschide un tichet.\n2. Spuneți ce s-a întâmplat: ați uitat parola contului sau ați pierdut dispozitivul pentru 2FA.\n3. Echipa vă spune ce informații sunt necesare pentru verificare.\n\nPașii detaliați: [Ați uitat parola contului](#cont.parola-uitata) și [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut). Pentru parola root sau cheia SSH a serverului: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\n## Propuneți un articol nou\n\nDacă nu găsiți un subiect în centrul de ajutor, trimiteți un email la support@blackbox.md cu subiectul „Cerere KB:” urmat de tema dorită. Dacă subiectul este de interes general, publicăm un articol.\n\n## Datele companiei pentru facturi\n\nRechizitele BLACKBOX (denumire, IDNO, adresă juridică, bancă, SWIFT, IBAN) sunt pe pagina „Contacte”, în blocul „Date pentru factură”: apăsați pe titlu ca să deschideți blocul. Toate datele: [Date legale și rechizitele BLACKBOX](#legal.date-legale). Plata prin bancă: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n## Întrebări frecvente\n\n**Cum aflu de lucrări planificate sau de incidente?**\nConform Termenilor și condițiilor, lucrările de mentenanță programată sunt anunțate, în măsura posibilităților, cu cel puțin 24 de ore înainte, prin email sau prin panoul de administrare. Despre incidentele neprevăzute vă informăm prin canalele de suport.\n\n**Pot răspunde la emailul primit despre un tichet?**\nNu. Un răspuns trimis prin email nu ajunge în tichet. Scrieți pe pagina tichetului, în „Ajutor și suport”.\n\n**Pot trimite capturi de ecran sau fișiere?**\nTichetele nu acceptă atașamente. Lipiți jurnalele ca text în tichet, iar capturile de ecran trimiteți-le la support@blackbox.md, cu numărul tichetului în subiect.\n\n**Am trimis din greșeală o parolă, o cheie sau un token. Ce fac?**\nÎnlocuiți imediat ce ați trimis: parola root ([Resetarea parolei root](#acces.resetare-parola-root)), parola contului ([Schimbarea parolei contului](#cont.schimbare-parola)), cheia SSH ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)) sau token-ul API, pe care îl revocați și creați unul nou ([Token-uri API: creare, copiere și revocare](#ai.token-uri-api)).\n\n**Mă puteți ajuta în weekend sau noaptea?**\nSuportul 24/7 este doar pentru clienții cu contract SLA. Ceilalți clienți ne pot scrie oricând, pe email sau prin tichet. Termenul publicat, „în maxim 4 ore în zilele lucrătoare”, este valabil pentru email.\n",
    "ru": "Страница «Контакты» (`blackbox.md/ru/info/contacts`, меню «Информация» → «Контакты») собирает все способы связаться с командой BLACKBOX. Телефон, email и адрес также указаны внизу каждой страницы blackbox.md. Тикеты в поддержку создаются в аккаунте: «Личный кабинет» → «Помощь и поддержка» (`blackbox.md/ru/account/tickets`).\n\n**Доступно:** всем. Тикеты — только клиентам, вошедшим в аккаунт на blackbox.md.\n\n## Способы связи\n\n| Канал | Контакт | Часы работы и ответ |\n|---|---|---|\n| Тикеты поддержки | «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» | Только после входа в аккаунт. Когда команда ответит, придёт письмо. |\n| Email | support@blackbox.md | Отвечаем «в течение 4 часов в рабочие дни». |\n| Телефон | +373 78 003948 | Пн–пт, 09:00–18:00 по времени Молдовы. |\n| WhatsApp | +373 78 003948 (тот же номер) | Пн–пт, 09:00–18:00 по времени Молдовы. |\n| Telegram | @gurevion (ссылка на странице «Контакты») | Часы работы не указаны. |\n| Адрес | Chișinău, Vadul lui Vodă 78/2 | Пн–пт, 09:00–18:00 по времени Молдовы. |\n\nЕдинственный адрес электронной почты поддержки — support@blackbox.md. Писать можно на румынском или русском языке.\n\n## Какой канал выбрать\n\n| Ситуация | Канал |\n|---|---|\n| Технический вопрос о сервере, панели app.blackbox.md или заказе | Тикет: [Создание тикета в поддержку](#suport.tichet-nou) |\n| Оплата, возвраты, счета, реквизиты | Письмо на support@blackbox.md с адреса аккаунта. О возвратах: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare) |\n| Запросы о персональных данных (доступ, удаление, переносимость) | Письмо с адреса аккаунта: [Ваши права в отношении персональных данных](#legal.drepturile-dvs) |\n| Не получается войти в аккаунт или потеряно устройство для 2FA | Письмо с адреса аккаунта или звонок. Для тикета нужно войти в аккаунт. |\n| Сервер или сайт не работает, это срочно, и сейчас рабочее время | Телефон или WhatsApp, затем тикет с подробностями |\n| Сервер взломан или атакован | [Сервер взломан или атакован: что делать](#faq.server-compromis) |\n| Администрирование, DevOps или миграция силами нашей команды | [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale) |\n\n## Часы работы и время ответа\n\n- **Телефон и WhatsApp:** пн–пт, 09:00–18:00 по времени Молдовы.\n- **Email:** опубликованный срок — «в течение 4 часов в рабочие дни».\n- **Поддержка 24/7:** только для клиентов с договором SLA (на странице «Контакты»: «24/7 для клиентов с SLA»). Если вас интересует такой договор, напишите нам.\n- **Тикеты:** опубликованного срока ответа нет. Когда команда ответит, вы получите письмо с темой «[Ticket #N] …», а ответить нужно на странице тикета. Подробнее: [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete).\n\n## Что указать в обращении\n\nЧтобы мы могли помочь без уточняющих вопросов, укажите:\n\n1. Адрес email вашего аккаунта blackbox.md. Если пишете нам по email, отправляйте письмо именно с этого адреса.\n2. Номер заказа `BBX-…`: столбец «ID» в разделе «Личный кабинет» → «Заказы» или тема писем о заказе.\n3. IP-адрес или название сервера — в панели, на странице «Мои серверы».\n4. Точный текст сообщения об ошибке: скопированный, а не пересказанный по памяти.\n5. Когда началась проблема (дата и время).\n6. Что вы уже попробовали сделать.\n\nПример:\n\n```text\nТема: Сервер не отвечает по SSH — BBX-2026-000123\nАккаунт: EMAIL_АККАУНТА\nСервер: IP_СЕРВЕРА\nОшибка: ssh: connect to host IP_СЕРВЕРА port 22: Connection timed out\nС какого момента: 9 октября 2026, 14:20\nЧто пробовали: перезагрузка из панели («Перезагрузить»)\n```\n\n> **Безопасность**\n> Никогда и ни по какому каналу не отправляйте пароли (от аккаунта или root), закрытые SSH-ключи и API-токены (`bbx_pat_…`). Если такие данные уже отправлены по ошибке, сразу замените их (см. «Частые вопросы» ниже).\n\n## Восстановление доступа к аккаунту и отключение 2FA\n\nПрежде чем восстановить доступ к аккаунту или отключить двухфакторную аутентификацию (2FA) в панели, команда проверяет вашу личность.\n\n1. Напишите на support@blackbox.md с адреса email вашего аккаунта blackbox.md. Если вы не можете войти в аккаунт, создать тикет не получится.\n2. Опишите ситуацию: вы забыли пароль от аккаунта или потеряли устройство для 2FA.\n3. Команда сообщит, какие данные нужны для проверки.\n\nПодробные шаги: [Забыли пароль от аккаунта](#cont.parola-uitata) и [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut). Если речь о пароле root или SSH-ключе сервера: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\n## Предложить новую статью\n\nЕсли вы не нашли нужную тему в центре помощи, отправьте письмо на support@blackbox.md с темой «Запрос KB:» и укажите, о чём нужна статья. Если тема представляет общий интерес, мы опубликуем статью.\n\n## Реквизиты компании для счетов\n\nРеквизиты BLACKBOX (наименование, IDNO, юридический адрес, банк, SWIFT, IBAN) указаны на странице «Контакты», в блоке «Реквизиты для счёта»: нажмите на заголовок, чтобы развернуть блок. Все данные: [Юридические данные и реквизиты BLACKBOX](#legal.date-legale). Оплата через банк: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n## Частые вопросы\n\n**Как узнать о плановых работах или сбоях?**\nСогласно Условиям использования, о плановых работах по техническому обслуживанию сообщается, по мере возможности, не менее чем за 24 часа по email или через панель администрирования. О непредвиденных сбоях мы сообщаем через каналы поддержки.\n\n**Можно ли ответить на письмо о тикете?**\nНет. Ответ, отправленный по почте, в тикет не попадёт. Пишите на странице тикета в разделе «Помощь и поддержка».\n\n**Можно ли отправить скриншоты или файлы?**\nК тикетам нельзя прикладывать файлы. Логи вставьте в тикет текстом, а скриншоты отправьте на support@blackbox.md, указав номер тикета в теме письма.\n\n**Пароль, ключ или токен отправлен по ошибке. Что делать?**\nСразу замените то, что отправили: пароль root ([Сброс пароля root](#acces.resetare-parola-root)), пароль аккаунта ([Смена пароля аккаунта](#cont.schimbare-parola)), SSH-ключ ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)) или API-токен: отзовите его и создайте новый ([API-токены: создание, копирование и отзыв](#ai.token-uri-api)).\n\n**Можно ли получить помощь в выходные или ночью?**\nПоддержка 24/7 доступна только клиентам с договором SLA. Остальные клиенты могут написать нам в любое время — по email или через тикет. Опубликованный срок «в течение 4 часов в рабочие дни» относится к email.\n",
    "en": "The “Contacte” (Contacts) page (`blackbox.md/info/contacts`, menu “Informații” (Information) → “Contacte”) brings together all the channels you can use to contact the BLACKBOX team. The phone number, email address and street address also appear in the footer of every blackbox.md page. Support tickets are opened from your account: “Contul meu” (My account) → “Ajutor și suport” (Help and support) (`blackbox.md/account/tickets`).\n\n**Available to:** anyone. Support tickets: only customers signed in on blackbox.md.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Contact channels\n\n| Channel | Contact details | Hours and response |\n|---|---|---|\n| Support tickets | “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket) | Only after you sign in. When the team replies, you receive an email. |\n| Email | support@blackbox.md | We reply “în maxim 4 ore în zilele lucrătoare” (within a maximum of 4 hours on business days). |\n| Phone | +373 78 003948 | Monday–Friday, 09:00–18:00 (Moldova time). |\n| WhatsApp | +373 78 003948 (the same number) | Monday–Friday, 09:00–18:00 (Moldova time). |\n| Telegram | @gurevion (the link is on the “Contacte” (Contacts) page) | No published hours. |\n| Address | Chișinău, Vadul lui Vodă 78/2 | Monday–Friday, 09:00–18:00 (Moldova time). |\n\nThe only support email address is support@blackbox.md. You can write to us in Romanian or Russian.\n\n## Which channel to choose\n\n| Your situation | Channel |\n|---|---|\n| A technical question about a server, the app.blackbox.md panel or an order | A support ticket: [Opening a support ticket](#suport.tichet-nou) |\n| Payments, refunds, invoices, billing details | An email to support@blackbox.md, sent from your account's email address. Refunds: [Order cancellation and refunds](#plati.anulare-si-rambursare) |\n| Personal data requests (access, deletion, portability) | An email from your account's email address: [Your rights regarding personal data](#legal.drepturile-dvs) |\n| You cannot sign in to your account, or you lost your 2FA device | An email from your account's email address, or a phone call. Tickets require you to be signed in. |\n| Your server or website is down, it is urgent, and it is during working hours | Phone or WhatsApp, then a ticket with the details |\n| Your server has been hacked or is under attack | [Your server was hacked or is under attack: what to do](#faq.server-compromis) |\n| Administration, DevOps or migration carried out by our team | [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale) |\n\n## Hours and response time\n\n- **Phone and WhatsApp:** Monday–Friday, 09:00–18:00 (Moldova time).\n- **Email:** the published response time is “în maxim 4 ore în zilele lucrătoare” (within a maximum of 4 hours on business days).\n- **24/7 support:** only for customers with an SLA contract (on the “Contacte” (Contacts) page: “24/7 pentru clienții cu SLA” (24/7 for customers with an SLA)). If you are interested in such a contract, write to us.\n- **Tickets:** there is no published response time. When the team replies, you receive an email with the subject “[Ticket #N] …”, and you write your reply on the ticket page. Details: [Replies, statuses and closing tickets](#suport.statusuri-tichete).\n\n## What to include in your request\n\nSo that we can help you without follow-up questions, include:\n\n1. The email address of your blackbox.md account. If you write to us by email, send the message from this address.\n2. The order number `BBX-…`: the “ID” column in “Contul meu” (My account) → “Comenzi” (Orders), or the subject of the emails about the order.\n3. The IP address or name of the server, from the panel, on the “My Servers” page.\n4. The exact text of the error message, copied, not retyped from memory.\n5. When the problem started (date and time).\n6. What you have already tried.\n\nExample:\n\n```text\nSubject: Server not responding over SSH — BBX-2026-000123\nAccount: ACCOUNT_EMAIL\nServer: SERVER_IP\nError: ssh: connect to host SERVER_IP port 22: Connection timed out\nSince: October 9, 2026, 14:20\nAlready tried: rebooting from the panel (“Reboot”)\n```\n\n> **Security**\n> Never send passwords (for your account or root), private SSH keys or API tokens (`bbx_pat_…`) through any channel. If you sent one of them by mistake, change it right away (see “Frequently asked questions” below).\n\n## Account recovery and removing 2FA\n\nBefore restoring access to your account or removing two-factor authentication (2FA) from the panel, the team verifies your identity.\n\n1. Write to support@blackbox.md from the email address of your blackbox.md account. If you cannot sign in, you cannot open a ticket.\n2. Say what happened: you forgot your account password, or you lost your 2FA device.\n3. The team tells you what information is needed for the verification.\n\nDetailed steps: [Forgot your account password](#cont.parola-uitata) and [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut). For your server's root password or SSH key: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\n## Suggest a new article\n\nIf you can't find a topic in the help center, send an email to support@blackbox.md with the subject “Cerere KB:” (KB request:) followed by the topic you want. If the topic is of general interest, we publish an article.\n\n## Company details for invoices\n\nThe BLACKBOX company details (name, IDNO, legal address, bank, SWIFT, IBAN) are on the “Contacte” (Contacts) page, in the “Date pentru factură” (Invoice details) block: click the heading to expand the block. All the details: [Legal details and BLACKBOX company details](#legal.date-legale). Paying through the bank: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n## Frequently asked questions\n\n**How do I find out about planned maintenance or incidents?**\nUnder the Terms and Conditions, scheduled maintenance is announced, where possible, at least 24 hours in advance, by email or through the administration panel. We inform you about unexpected incidents through the support channels.\n\n**Can I reply to the email I receive about a ticket?**\nNo. A reply sent by email does not reach the ticket. Write on the ticket page, in “Ajutor și suport” (Help and support).\n\n**Can I send screenshots or files?**\nTickets do not accept attachments. Paste logs into the ticket as text, and send screenshots to support@blackbox.md with the ticket number in the subject.\n\n**I sent a password, a key or a token by mistake. What do I do?**\nReplace what you sent right away: the root password ([Resetting the root password](#acces.resetare-parola-root)), your account password ([Changing your account password](#cont.schimbare-parola)), the SSH key ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)) or the API token, which you revoke and replace with a new one ([API tokens: creating, copying and revoking](#ai.token-uri-api)).\n\n**Can you help me on weekends or at night?**\n24/7 support is only for customers with an SLA contract. Other customers can write to us at any time, by email or through a ticket. The published response time, “în maxim 4 ore în zilele lucrătoare” (within a maximum of 4 hours on business days), applies to email.\n"
   }
  },
  {
   "id": "suport.tichet-nou",
   "section": "suport",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/suport/tichet-nou/",
    "ru": "https://docs.blackbox.md/ru/suport/tichet-nou/",
    "en": "https://docs.blackbox.md/en/suport/tichet-nou/"
   },
   "title": {
    "ro": "Deschiderea unui tichet de suport",
    "ru": "Создание тикета в поддержку",
    "en": "Opening a support ticket"
   },
   "summary": {
    "ro": "Unde deschideți un tichet pe blackbox.md, ce câmpuri completați, limitele și cum scrieți o cerere clară.",
    "ru": "Где создать тикет на blackbox.md, какие поля заполнить, лимиты и как написать понятное обращение.",
    "en": "Where to open a ticket on blackbox.md, which fields to fill in, the limits and how to write a clear request."
   },
   "markdown": {
    "ro": "Pagina „Tichete de suport” (`blackbox.md/account/tickets`, „Contul meu” → „Ajutor și suport”) este locul în care scrieți echipei BLACKBOX și urmăriți conversația. Aici deschideți un tichet nou și vedeți lista tichetelor dvs.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Nu este nevoie de un server activ: puteți întreba și despre o comandă, o factură sau o plată.\n\n## Unde găsiți tichetele\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus. Pe telefon apare doar pictograma contului, cu inițialele dvs.\n2. În meniul contului apăsați „Ajutor și suport”. Elementul este în partea de jos a meniului, deasupra butonului „Deconectare”. Pe un ecran îngust (telefon, tabletă), deschideți mai întâi meniul cu butonul „Meniu cont”.\n3. Se deschide pagina „Tichete de suport”.\n\nDacă deschideți linkul `blackbox.md/account/tickets` fără să fiți autentificat, se deschide mai întâi pagina de autentificare, iar după autentificare reveniți pe această pagină.\n\n> **Notă**\n> Tichetele există doar pe blackbox.md. Panoul app.blackbox.md nu are o secțiune de tichete pentru clienți și nici un link către ele.\n\n## Cum deschideți un tichet\n\n1. Pe pagina „Tichete de suport”, apăsați „Tichet nou” (sus, în dreapta). Deasupra listei apare formularul.\n2. În „Subiect”, scrieți pe scurt problema (3–200 de caractere).\n3. În „Server (opțional)”, scrieți numele serverului din panou sau adresa lui IP, dacă problema privește un server. Câmpul afișează indicația „Numele sau IP-ul serverului afectat, dacă e cazul.”\n4. În „Descrieți problema”, explicați situația (până la 10 000 de caractere). Ce să includeți aflați din secțiunea „Cum scrieți un tichet clar” de mai jos.\n5. Apăsați „Trimite tichetul”. Cât timp tichetul se trimite, butonul afișează „Se trimite…”.\n6. Formularul se închide, iar tichetul apare în listă cu numărul său (de exemplu `#42`) și statusul „Deschis”.\n\nButonul „Trimite tichetul” rămâne inactiv până când subiectul are cel puțin 3 caractere și descrierea nu este goală. Butonul „Anulează” închide formularul și șterge tot ce ați scris.\n\nNu primiți email de confirmare la deschiderea tichetului. Confirmarea este rândul nou din listă. Primiți un email doar când echipa vă răspunde: vedeți [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete).\n\n## Câmpurile formularului\n\n| Câmp | Obligatoriu | Limită | Ce trebuie știut |\n|---|---|---|---|\n| „Subiect” | da | 3–200 de caractere | Spațiile de la început și de la sfârșit nu se numără. |\n| „Server (opțional)” | nu | — | Text liber, fără listă de servere din care să alegeți. Textul se adaugă la începutul mesajului, pe un rând separat: `Server: …`. |\n| „Descrieți problema” | da | până la 10 000 de caractere | Text simplu; rândurile noi se păstrează. Un text lipit mai lung este tăiat la 10 000 de caractere, fără avertisment. |\n\nCe nu există în formular:\n\n- **atașamente:** lipiți jurnalele (log-urile) și mesajele de eroare direct în descriere, ca text. Includeți doar rândurile relevante;\n- **categorii, departamente sau prioritate:** scrieți în subiect și în text cât de urgentă este problema;\n- **editarea sau ștergerea unui mesaj:** după trimitere, textul nu mai poate fi modificat. Completările le scrieți ca răspuns în același tichet.\n\n> **Sfat**\n> Pentru capturi de ecran sau fișiere, trimiteți un email la support@blackbox.md și scrieți numărul tichetului (de exemplu `#42`) în subiectul emailului.\n\n## Limita de tichete noi\n\nPuteți deschide cel mult **5 tichete noi într-o oră** pentru un cont. La a șasea încercare apare mesajul „Prea multe tichete create recent. Încercați mai târziu.” Încercările refuzate se numără și ele, deci așteptați o oră fără să mai încercați. Pentru informații noi despre aceeași problemă, răspundeți în tichetul deja deschis; răspunsurile au o limită separată, descrisă în [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete).\n\n## Lista tichetelor\n\n| Coloană | Ce arată |\n|---|---|\n| „#” | Numărul tichetului, de exemplu `#42`. Folosiți-l când scrieți despre tichet pe alt canal. |\n| „Subiect” | Subiectul introdus de dvs. |\n| „Statut” | Statusul curent. Un tichet nou are statusul „Deschis”. |\n| „Actualizat” | Data ultimului mesaj din tichet (fără oră). |\n\n- Tichetele sunt ordonate după ultimul mesaj: cel cu activitatea cea mai recentă este primul.\n- Pagina arată doar **ultimele 20 de tichete**, fără alte pagini. Tichetele care nu încap în listă nu se văd pe pagină, dar sunt incluse în fișierul descris în [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date). Un tichet mai vechi la care echipa a răspuns se deschide și din butonul „Vezi conversația” din emailul de notificare.\n- Apăsați un rând ca să deschideți conversația. Primul mesaj este descrierea dvs., marcată „Dvs.”.\n- Dacă nu ați deschis încă niciun tichet, pagina afișează „Nu aveți tichete încă.”\n\n## Mesaje și erori\n\n| Ce vedeți | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Prea multe tichete create recent. Încercați mai târziu.” | În ultima oră ați atins limita de 5 tichete noi. | Așteptați o oră fără alte încercări sau scrieți în tichetul existent. |\n| „Nu am putut trimite tichetul. Încercați din nou.” | O eroare temporară. | Copiați textul, apoi încercați din nou peste câteva minute. Dacă eroarea persistă, scrieți la support@blackbox.md. |\n| Un mesaj în engleză, de exemplu „Unauthorized” sau „Invalid token” | Sesiunea pe blackbox.md a expirat. | Copiați textul, reîncărcați pagina, autentificați-vă și trimiteți din nou. |\n| Un text tehnic în engleză despre limita de 10000 de caractere | Descrierea împreună cu „Server (opțional)” depășește 10 000 de caractere. | Scurtați descrierea. |\n| „Eroare la încărcare.” | Lista nu s-a putut încărca. | Reîncărcați pagina. |\n| „Tichetele sunt temporar indisponibile” | Sistemul de tichete nu funcționează momentan; butonul „Tichet nou” lipsește. | Scrieți la support@blackbox.md sau folosiți alt canal din [Cum contactați suportul BLACKBOX](#suport.contact). |\n\n## Cum scrieți un tichet clar\n\nUn tichet complet primește un răspuns util din prima, fără întrebări suplimentare. Includeți:\n\n- **Ce:** ce nu funcționează și ce așteptați să se întâmple.\n- **Unde:** numele sau IP-ul serverului, domeniul, numărul comenzii (`BBX-YYYY-NNNNNN`, din „Contul meu” → „Comenzi”) sau al facturii.\n- **Când:** data și ora la care a apărut problema (ora Moldovei) și dacă se repetă.\n- **Eroarea exactă:** copiați textul mesajului sau ieșirea comenzii, nu le repovestiți.\n- **Ce ați încercat:** pașii făcuți și rezultatul fiecăruia.\n- **Ce s-a schimbat recent:** actualizări, setări noi, reguli de firewall.\n\nScrieți un subiect concret, nu „Ajutor”, și deschideți câte un tichet pentru fiecare problemă. Exemplu de tichet completat:\n\n```text\nSubiect: SSH: Connection timed out din 9 octombrie\nServer (opțional): web-prod, 203.0.113.10\nDescrieți problema:\nDe azi, 9 octombrie, în jur de 14:30 (ora Moldovei), nu mă pot conecta prin SSH.\nComanda de conectare: ssh root@203.0.113.10\nEroarea: ssh: connect to host 203.0.113.10 port 22: Connection timed out\nSite-ul de pe server se deschide normal.\nAm încercat: am repornit serverul din panou la 14:45, eroarea a rămas.\nUltima modificare: ieri am activat ufw pe server.\nNumărul comenzii: BBX-2026-000123\n```\n\n> **Atenție**\n> Nu scrieți niciodată în tichet parole (root, cont, panou), token-uri API (`bbx_pat_…`), chei SSH private sau date de card. Mesajele nu pot fi șterse. Dacă ați trimis din greșeală un secret, schimbați-l imediat: vedeți [Resetarea parolei root](#acces.resetare-parola-root), [Schimbarea parolei contului](#cont.schimbare-parola) sau [Token-uri API: creare, copiere și revocare](#ai.token-uri-api). Cheia SSH publică (fișierul `.pub`) nu este secretă și o puteți include.\n\n## Întrebări frecvente\n\n**Pot deschide un tichet din panoul app.blackbox.md?**\nNu. Tichetele se deschid doar pe blackbox.md, în „Contul meu” → „Ajutor și suport”.\n\n**Primesc un email după ce deschid tichetul?**\nNu. Primiți un email doar când echipa răspunde. Răspundeți întotdeauna pe pagina tichetului, nu prin răspuns la email; detalii în [Emailurile pe care le primiți de la BLACKBOX](#suport.emailuri-blackbox).\n\n**Colegii mei văd tichetele mele?**\nNu. Fiecare cont blackbox.md vede doar tichetele deschise din el.\n\n**Cât de repede primesc răspuns?**\nPentru tichete nu este publicat un termen de răspuns. Dacă problema este urgentă, sunați la +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei). Celelalte canale sunt în [Cum contactați suportul BLACKBOX](#suport.contact).\n",
    "ru": "Страница «Тикеты поддержки» (`blackbox.md/ru/account/tickets`, «Мой аккаунт» → «Помощь и поддержка») — место, где вы пишете команде BLACKBOX и следите за перепиской. Здесь вы создаёте новый тикет и видите список своих тикетов.\n\n**Доступно:** любому клиенту после входа на blackbox.md. Активный сервер не нужен: можно спросить и о заказе, счёте или оплате.\n\n## Где найти тикеты\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню. На телефоне видна только иконка аккаунта с вашими инициалами.\n2. В меню аккаунта нажмите «Помощь и поддержка». Этот пункт находится внизу меню, над кнопкой «Выйти». На узком экране (телефон, планшет) сначала откройте меню кнопкой «Меню аккаунта».\n3. Откроется страница «Тикеты поддержки».\n\nЕсли открыть ссылку `blackbox.md/ru/account/tickets` без входа, сначала появится страница входа, а после входа вы вернётесь сюда.\n\n> **Примечание**\n> Тикеты есть только на blackbox.md. В панели app.blackbox.md нет раздела тикетов для клиентов и нет ссылки на них.\n\n## Как создать тикет\n\n1. На странице «Тикеты поддержки» нажмите «Новый тикет» (вверху справа). Над списком появится форма.\n2. В поле «Тема» кратко опишите проблему (от 3 до 200 символов).\n3. В поле «Сервер (необязательно)» укажите название сервера из панели или его IP-адрес, если проблема связана с сервером. Подсказка в поле: «Название или IP затронутого сервера, если применимо.»\n4. В поле «Опишите проблему» изложите ситуацию (до 10 000 символов). Что именно указать — см. раздел «Как написать понятный тикет» ниже.\n5. Нажмите «Отправить тикет». Пока тикет отправляется, на кнопке написано «Отправка…».\n6. Форма закроется, а тикет появится в списке со своим номером (например, `#42`) и статусом «Открыт».\n\nКнопка «Отправить тикет» неактивна, пока в теме меньше 3 символов или описание пустое. Кнопка «Отмена» закрывает форму и стирает всё, что вы ввели.\n\nПисьма-подтверждения после создания тикета не будет: подтверждение — это новая строка в списке. Письмо приходит, только когда команда вам отвечает: см. [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete).\n\n## Поля формы\n\n| Поле | Обязательно | Лимит | Что важно знать |\n|---|---|---|---|\n| «Тема» | да | 3–200 символов | Пробелы в начале и в конце не считаются. |\n| «Сервер (необязательно)» | нет | — | Свободный текст, выбрать сервер из списка нельзя. Текст добавляется в начало сообщения отдельной строкой: `Server: …`. |\n| «Опишите проблему» | да | до 10 000 символов | Обычный текст; переносы строк сохраняются. Более длинный вставленный текст обрезается до 10 000 символов без предупреждения. |\n\nЧего в форме нет:\n\n- **вложений:** логи и сообщения об ошибках вставляйте прямо в описание, текстом. Оставляйте только нужные строки;\n- **категорий, отделов и приоритета:** насколько срочна проблема, напишите в теме и в тексте;\n- **редактирования и удаления сообщений:** после отправки текст изменить нельзя. Дополнения пишите ответом в том же тикете.\n\n> **Совет**\n> Скриншоты и файлы отправьте письмом на support@blackbox.md и укажите номер тикета (например, `#42`) в теме письма.\n\n## Лимит на новые тикеты\n\nС одного аккаунта можно создать не более **5 новых тикетов за час**. При шестой попытке появится сообщение «Слишком много тикетов создано недавно. Попробуйте позже.» Отклонённые попытки тоже засчитываются, поэтому подождите час и не пробуйте раньше. Новые сведения о той же проблеме пишите ответом в уже открытом тикете; у ответов свой лимит, он описан в статье [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete).\n\n## Список тикетов\n\n| Столбец | Что показывает |\n|---|---|\n| «#» | Номер тикета, например `#42`. Называйте его, если пишете о тикете по другому каналу. |\n| «Тема» | Тема, которую вы указали. |\n| «Статус» | Текущий статус. У нового тикета — «Открыт». |\n| «Обновлён» | Дата последнего сообщения в тикете (без времени). |\n\n- Тикеты отсортированы по последнему сообщению: сверху тот, где была самая свежая активность.\n- На странице видны только **20 последних тикетов**, других страниц нет. Тикеты, которые не поместились в список, на странице не видны, но входят в файл из статьи [Скачивание ваших данных («Мои данные»)](#cont.export-date). Старый тикет, на который ответила команда, также открывается кнопкой «Vezi conversația» в письме-уведомлении (письмо приходит на румынском).\n- Нажмите на строку, чтобы открыть переписку. Первое сообщение — ваше описание с подписью «Вы».\n- Если вы ещё не создавали тикетов, на странице написано «У вас пока нет тикетов.»\n\n## Сообщения и ошибки\n\n| Что вы видите | Что это значит | Что делать |\n|---|---|---|\n| «Слишком много тикетов создано недавно. Попробуйте позже.» | За последний час вы исчерпали лимит в 5 новых тикетов. | Подождите час, не повторяя попыток, или напишите в уже открытый тикет. |\n| «Не удалось отправить тикет. Попробуйте снова.» | Временная ошибка. | Скопируйте текст и повторите через несколько минут. Если ошибка не исчезает, напишите на support@blackbox.md. |\n| Сообщение на английском, например «Unauthorized» или «Invalid token» | Истекла сессия на blackbox.md. | Скопируйте текст, обновите страницу, войдите снова и отправьте тикет ещё раз. |\n| Технический текст на английском о лимите в 10000 символов | Описание вместе с полем «Сервер (необязательно)» длиннее 10 000 символов. | Сократите описание. |\n| «Ошибка загрузки.» | Список не загрузился. | Обновите страницу. |\n| «Тикеты временно недоступны» | Система тикетов сейчас не работает; кнопки «Новый тикет» нет. | Напишите на support@blackbox.md или выберите другой канал из статьи [Как связаться с поддержкой BLACKBOX](#suport.contact). |\n\n## Как написать понятный тикет\n\nЕсли в тикете есть все подробности, на него можно сразу ответить по существу, без уточняющих вопросов. Укажите:\n\n- **Что:** что не работает и как должно быть.\n- **Где:** название или IP сервера, домен, номер заказа (`BBX-YYYY-NNNNNN`, см. «Мой аккаунт» → «Заказы») или номер счёта.\n- **Когда:** дату и время, когда появилась проблема (по времени Молдовы), и повторяется ли она.\n- **Точный текст ошибки:** скопируйте сообщение или вывод команды, а не пересказывайте их.\n- **Что уже пробовали:** какие шаги и с каким результатом.\n- **Что недавно менялось:** обновления, новые настройки, правила файрвола.\n\nУказывайте конкретную тему, а не «Помогите», и создавайте отдельный тикет на каждую проблему. Пример заполненного тикета:\n\n```text\nТема: SSH: Connection timed out с 9 октября\nСервер (необязательно): web-prod, 203.0.113.10\nОпишите проблему:\nСегодня, 9 октября, примерно с 14:30 (по времени Молдовы) не можем подключиться по SSH.\nКоманда подключения: ssh root@203.0.113.10\nОшибка: ssh: connect to host 203.0.113.10 port 22: Connection timed out\nСайт на сервере открывается нормально.\nПробовали: в 14:45 перезагрузили сервер из панели, ошибка осталась.\nПоследнее изменение: вчера включили ufw на сервере.\nНомер заказа: BBX-2026-000123\n```\n\n> **Внимание**\n> Никогда не пишите в тикете пароли (root, аккаунта, панели), API-токены (`bbx_pat_…`), закрытые SSH-ключи и данные карт. Сообщения нельзя удалить. Если вы по ошибке отправили секрет, сразу смените его: см. [Сброс пароля root](#acces.resetare-parola-root), [Смена пароля аккаунта](#cont.schimbare-parola) или [API-токены: создание, копирование и отзыв](#ai.token-uri-api). Открытый SSH-ключ (файл `.pub`) не секретен, его можно вставить в текст.\n\n## Частые вопросы\n\n**Можно ли создать тикет в панели app.blackbox.md?**\nНет. Тикеты создаются только на blackbox.md: «Мой аккаунт» → «Помощь и поддержка».\n\n**Придёт ли письмо после создания тикета?**\nНет. Письмо приходит, только когда команда отвечает. Отвечайте всегда на странице тикета, а не ответом на письмо; подробнее в статье [Письма, которые вы получаете от BLACKBOX](#suport.emailuri-blackbox).\n\n**Видят ли мои тикеты коллеги?**\nНет. Каждый аккаунт blackbox.md видит только тикеты, созданные из него.\n\n**Как быстро придёт ответ?**\nСрок ответа на тикеты не публикуется. Если проблема срочная, позвоните по номеру +373 78 003948 с понедельника по пятницу, с 09:00 до 18:00 (по времени Молдовы). Остальные каналы — в статье [Как связаться с поддержкой BLACKBOX](#suport.contact).\n",
    "en": "The “Tichete de suport” (Support tickets) page (`blackbox.md/account/tickets`, “Contul meu” (My account) → “Ajutor și suport” (Help and support)) is where you write to the BLACKBOX team and follow the conversation. Here you open a new ticket and see the list of your tickets.\n\n**Available to:** any customer signed in to blackbox.md. You don't need an active server: you can also ask about an order, an invoice or a payment.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Where to find your tickets\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar. On a phone, only the account icon with your initials is shown.\n2. In the account menu, click “Ajutor și suport” (Help and support). The item is at the bottom of the menu, above the “Deconectare” (Sign out) button. On a narrow screen (phone, tablet), first open the menu with the “Meniu cont” (Account menu) button.\n3. The “Tichete de suport” (Support tickets) page opens.\n\nIf you open the link `blackbox.md/account/tickets` without being signed in, the sign-in page opens first, and after you sign in you return to this page.\n\n> **Note**\n> Tickets exist only on blackbox.md. The app.blackbox.md panel has no ticket section for customers and no link to one.\n\n## How to open a ticket\n\n1. On the “Tichete de suport” (Support tickets) page, click “Tichet nou” (New ticket) in the top-right corner. The form appears above the list.\n2. In “Subiect” (Subject), briefly describe the problem (3–200 characters).\n3. In “Server (opțional)” (Server (optional)), enter the server's name from the panel or its IP address, if the problem concerns a server. The field shows the hint “Numele sau IP-ul serverului afectat, dacă e cazul.” (Name or IP of the affected server, if applicable.)\n4. In “Descrieți problema” (Describe the problem), explain the situation (up to 10,000 characters). For what to include, see the “How to write a clear ticket” section below.\n5. Click “Trimite tichetul” (Send ticket). While the ticket is being sent, the button shows “Se trimite…” (Sending…).\n6. The form closes, and the ticket appears in the list with its number (for example, `#42`) and the status “Deschis” (Open).\n\nThe “Trimite tichetul” button stays inactive until the subject has at least 3 characters and the description is not empty. The “Anulează” (Cancel) button closes the form and deletes everything you have written.\n\nYou do not get a confirmation email when you open a ticket. The confirmation is the new row in the list. You get an email only when the team replies to you: see [Replies, statuses and closing tickets](#suport.statusuri-tichete).\n\n## Form fields\n\n| Field | Required | Limit | What to know |\n|---|---|---|---|\n| “Subiect” (Subject) | yes | 3–200 characters | Spaces at the beginning and at the end are not counted. |\n| “Server (opțional)” (Server (optional)) | no | — | Free text; there is no list of servers to choose from. The text is added at the beginning of the message, on a separate line: `Server: …`. |\n| “Descrieți problema” (Describe the problem) | yes | up to 10,000 characters | Plain text; line breaks are kept. Longer pasted text is cut off at 10,000 characters, without a warning. |\n\nWhat the form does not have:\n\n- **attachments:** paste logs and error messages directly into the description, as text. Include only the relevant lines;\n- **categories, departments or priority:** say how urgent the problem is in the subject and in the text;\n- **editing or deleting a message:** once sent, the text cannot be changed. Write any additions as a reply in the same ticket.\n\n> **Tip**\n> For screenshots or files, send an email to support@blackbox.md and put the ticket number (for example, `#42`) in the email's subject.\n\n## Limit on new tickets\n\nYou can open at most **5 new tickets per hour** per account. On the sixth attempt, the message “Prea multe tichete create recent. Încercați mai târziu.” (Too many tickets created recently. Please try again later.) appears. Refused attempts count too, so wait an hour without trying again. For new information about the same problem, reply in the ticket that is already open; replies have a separate limit, described in [Replies, statuses and closing tickets](#suport.statusuri-tichete).\n\n## The ticket list\n\n| Column | What it shows |\n|---|---|\n| “#” | The ticket number, for example `#42`. Use it when you write about the ticket through another channel. |\n| “Subiect” (Subject) | The subject you entered. |\n| “Statut” (Status) | The current status. A new ticket has the status “Deschis” (Open). |\n| “Actualizat” (Updated) | The date of the last message in the ticket (without the time). |\n\n- Tickets are sorted by their last message: the one with the most recent activity comes first.\n- The page shows only **the 20 most recent tickets**, with no further pages. Tickets that do not fit in the list are not visible on the page, but they are included in the file described in [Downloading your data (“Datele mele”)](#cont.export-date). If the team has replied to an older ticket, you can also open it with the “Vezi conversația” (View the conversation) button in the notification email.\n- Click a row to open the conversation. The first message is your description, marked “Dvs.” (You).\n- If you have not opened any tickets yet, the page shows “Nu aveți tichete încă.” (You have no tickets yet.)\n\n## Messages and errors\n\n| What you see | What it means | What to do |\n|---|---|---|\n| “Prea multe tichete create recent. Încercați mai târziu.” (Too many tickets created recently. Please try again later.) | You have reached the limit of 5 new tickets in the last hour. | Wait an hour without trying again, or write in your existing ticket. |\n| “Nu am putut trimite tichetul. Încercați din nou.” (We could not send the ticket. Please try again.) | A temporary error. | Copy your text, then try again in a few minutes. If the error persists, write to support@blackbox.md. |\n| A message in English, for example “Unauthorized” or “Invalid token” | Your session on blackbox.md has expired. | Copy your text, reload the page, sign in and send it again. |\n| A technical message in English about the 10,000-character limit | The description together with “Server (opțional)” (Server (optional)) is longer than 10,000 characters. | Shorten the description. |\n| “Eroare la încărcare.” (Loading error.) | The list could not be loaded. | Reload the page. |\n| “Tichetele sunt temporar indisponibile” (Tickets are temporarily unavailable) | The ticket system is not working at the moment; the “Tichet nou” (New ticket) button is missing. | Write to support@blackbox.md or use another channel from [How to contact BLACKBOX support](#suport.contact). |\n\n## How to write a clear ticket\n\nA complete ticket gets a useful answer the first time, without follow-up questions. Include:\n\n- **What:** what isn't working and what you expect to happen.\n- **Where:** the server's name or IP, the domain, the order number (`BBX-YYYY-NNNNNN`, from “Contul meu” (My account) → “Comenzi” (Orders)) or the invoice number.\n- **When:** the date and time the problem appeared (Moldova time) and whether it happens again.\n- **The exact error:** copy the text of the message or the command output instead of describing it in your own words.\n- **What you have tried:** the steps you took and the result of each one.\n- **What changed recently:** updates, new settings, firewall rules.\n\nWrite a specific subject, not just “Help”, and open a separate ticket for each problem. Here is an example of a completed ticket (the field names are the ones on the form):\n\n```text\nSubiect: SSH: Connection timed out since October 9\nServer (opțional): web-prod, 203.0.113.10\nDescrieți problema:\nSince today, October 9, at around 14:30 (Moldova time), I can't connect over SSH.\nConnection command: ssh root@203.0.113.10\nError: ssh: connect to host 203.0.113.10 port 22: Connection timed out\nThe website on the server opens normally.\nWhat I tried: I rebooted the server from the panel at 14:45; the error did not go away.\nLast change: yesterday I enabled ufw on the server.\nOrder number: BBX-2026-000123\n```\n\n> **Warning**\n> Never put passwords (root, account, panel), API tokens (`bbx_pat_…`), private SSH keys or card details in a ticket. Messages cannot be deleted. If you sent a secret by mistake, change it immediately: see [Resetting the root password](#acces.resetare-parola-root), [Changing your account password](#cont.schimbare-parola) or [API tokens: creating, copying and revoking](#ai.token-uri-api). Your public SSH key (the `.pub` file) is not secret, and you can include it.\n\n## Frequently asked questions\n\n**Can I open a ticket from the app.blackbox.md panel?**\nNo. Tickets can be opened only on blackbox.md, in “Contul meu” (My account) → “Ajutor și suport” (Help and support).\n\n**Do I get an email after I open a ticket?**\nNo. You get an email only when the team replies. Always reply on the ticket page, not by replying to the email; details in [Emails you receive from BLACKBOX](#suport.emailuri-blackbox).\n\n**Can my colleagues see my tickets?**\nNo. Each blackbox.md account sees only the tickets opened from it.\n\n**How quickly will I get a reply?**\nNo response time is published for tickets. If the problem is urgent, call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time). The other channels are in [How to contact BLACKBOX support](#suport.contact).\n"
   }
  },
  {
   "id": "suport.statusuri-tichete",
   "section": "suport",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/suport/statusuri-tichete/",
    "ru": "https://docs.blackbox.md/ru/suport/statusuri-tichete/",
    "en": "https://docs.blackbox.md/en/suport/statusuri-tichete/"
   },
   "title": {
    "ro": "Răspunsuri, statusuri și închiderea tichetelor",
    "ru": "Ответы, статусы и закрытие тикетов",
    "en": "Replies, statuses and closing tickets"
   },
   "summary": {
    "ro": "Cum urmăriți conversația, ce înseamnă statusurile, cum închideți un tichet și de ce nu răspundeți la emailul de notificare.",
    "ru": "Как следить за перепиской, что означают статусы, как закрыть тикет и почему не стоит отвечать на письмо-уведомление.",
    "en": "How to follow the conversation, what the statuses mean, how to close a ticket and why you should not reply to the notification email."
   },
   "markdown": {
    "ro": "Pagina unui tichet (`blackbox.md/account/tickets/…`, „Contul meu” → „Ajutor și suport” → rândul tichetului) arată conversația cu echipa de suport și statusul tichetului. Tot aici răspundeți și închideți tichetul când nu mai aveți nevoie de el.\n\n**Disponibil pentru:** orice client autentificat pe blackbox.md. Fiecare cont vede doar tichetele deschise din el. Tichetele nu sunt disponibile în panoul app.blackbox.md.\n\n## Cum urmăriți conversația\n\n1. Autentificați-vă pe blackbox.md și apăsați „Cont client” în bara de sus (pe telefon, cercul cu inițialele dvs.).\n2. În meniul contului, apăsați „Ajutor și suport” (pe telefon, deschideți mai întâi „Meniu cont”). Se deschide pagina „Tichete de suport”, cu coloanele „#”, „Subiect”, „Statut” și „Actualizat” (data ultimului mesaj). Primele în listă sunt tichetele cu cele mai recente mesaje.\n3. Apăsați rândul tichetului. Se deschide pagina tichetului.\n\nPe pagina tichetului vedeți:\n\n| Element | Ce arată |\n|---|---|\n| Calea „Contul meu / Tichete / #N” | Unde vă aflați. Linkul „Tichete” vă întoarce la listă. |\n| „#N” și eticheta de status | Numărul tichetului și statusul curent (vedeți tabelul de mai jos). |\n| Titlul | Subiectul tichetului. |\n| Conversația | Toate mesajele, de la cel mai vechi la cel mai nou, fiecare cu data și ora. Mesajele dvs. sunt semnate „Dvs.”, iar cele ale echipei, „Echipa de suport”. |\n| Câmpul „Scrieți un răspuns…” | Locul pentru răspunsul dvs. Sub el sunt butoanele „Trimite” și „Închide tichetul”. La un tichet închis, în locul lor apare un mesaj (vedeți „Cum închideți un tichet”). |\n\n## Cum răspundeți\n\n1. Deschideți pagina tichetului.\n2. Scrieți mesajul în câmpul „Scrieți un răspuns…”. Mesajul poate avea cel mult 10 000 de caractere.\n3. Apăsați „Trimite”. Cât timp mesajul se trimite, butonul afișează „Se trimite…”.\n4. Mesajul apare la sfârșitul conversației, semnat „Dvs.”, iar câmpul se golește. Statusul devine „Așteaptă echipa”.\n\nButonul „Trimite” este inactiv cât timp câmpul este gol. Puteți trimite doar text: nu puteți atașa fișiere, așa că lipiți direct în mesaj fragmentele de log sau textul erorilor.\n\n## Statusurile tichetului\n\n| Status | Ce înseamnă | Cine îl schimbă | Ce faceți |\n|---|---|---|---|\n| „Deschis” | Tichet nou, echipa nu a răspuns încă. | Se setează automat când deschideți tichetul. | Așteptați răspunsul. Între timp puteți adăuga detalii. |\n| „Așteaptă răspunsul dvs.” | Echipa a răspuns și așteaptă informații sau o confirmare de la dvs. | Automat, la fiecare răspuns al echipei. | Citiți răspunsul și răspundeți pe pagina tichetului. |\n| „Așteaptă echipa” | Ultimul mesaj este al dvs. | Automat, la fiecare răspuns al dvs. | Așteptați răspunsul echipei. |\n| „Rezolvat” | Echipa consideră problema rezolvată. | Echipa de suport. | Dacă problema persistă, răspundeți. Dacă este rezolvată, puteți închide tichetul. |\n| „Închis” | Conversația s-a încheiat; nu mai puteți scrie în tichet. | Dvs., cu „Închide tichetul”, sau echipa de suport. | Pentru o problemă nouă sau care a reapărut, deschideți un tichet nou. |\n\nEticheta „Deschis” este albastră, cele două „Așteaptă…” sunt galbene, „Rezolvat” este verde, iar „Închis”, gri. Un răspuns al dvs. la un tichet „Rezolvat” îl redeschide: statusul devine „Așteaptă echipa”. Un tichet „Închis” poate fi redeschis doar de echipa de suport. Tichetele nu se închid automat, nici cele „Rezolvat”: le închideți dvs. sau echipa.\n\n## Cum închideți un tichet\n\nPuteți închide un tichet în orice status, în afară de „Închis”.\n\n1. Pe pagina tichetului, apăsați „Închide tichetul”.\n2. Se deschide dialogul „Închideți tichetul?”, cu textul „Închideți acest tichet? Îl puteți redeschide oricând răspunzând la el.”\n3. Apăsați „Închide tichetul” pentru a confirma sau „Anulează” pentru a renunța. Cât timp tichetul se închide, butonul „Închide tichetul” de pe pagină afișează „Se închide…”.\n4. Statusul devine „Închis”. În locul câmpului de răspuns apare mesajul „Acest tichet este închis. Pentru a relua discuția, deschideți un tichet nou.”\n\nLa închidere nu se trimite niciun email. Dacă vreți să lăsați o ultimă explicație, trimiteți-o ca răspuns înainte de a închide tichetul.\n\n> **Atenție**\n> Contrar textului din dialog, un tichet închis nu poate fi redeschis printr-un răspuns: câmpul de răspuns dispare. Dacă problema reapare, deschideți un tichet nou și menționați în el numărul celui vechi, de exemplu „Continuare la #42”. Vedeți [Deschiderea unui tichet de suport](#suport.tichet-nou).\n\n## Notificările pe email\n\nPrimiți un email doar când echipa răspunde la tichet.\n\n| Eveniment | Email pentru dvs. |\n|---|---|\n| Deschideți un tichet | Nu |\n| Răspundeți la tichet | Nu |\n| Echipa răspunde | Da |\n| Echipa marchează tichetul „Rezolvat” sau îl închide | Nu |\n| Închideți tichetul | Nu |\n\nEmailul vine de la „BlackBox” pe adresa contului blackbox.md. Subiectul este „[Ticket #N]” urmat de subiectul tichetului, de exemplu „[Ticket #42] Nu mă pot conecta prin SSH”. Emailul conține fraza „Ați primit un răspuns nou la tichetul dumneavoastră de suport.”, numărul și subiectul tichetului, textul complet al răspunsului și butonul „Vezi conversația”, care deschide pagina tichetului. Dacă nu sunteți autentificat, se deschide mai întâi pagina de autentificare, apoi tichetul.\n\nEmailul este întotdeauna în limba română, iar butonul deschide versiunea în română a site-ului. Pentru interfața în rusă, apăsați „RU” în antetul site-ului: același tichet se deschide în rusă.\n\nDacă emailul nu a sosit (verificați și dosarul Spam), răspunsul echipei este oricum pe pagina tichetului.\n\n> **Important**\n> Nu răspundeți la emailul de notificare. Mesajul trimis prin email nu ajunge în tichet. Scrieți întotdeauna pe pagina tichetului: cu butonul „Vezi conversația” din email sau din „Contul meu” → „Ajutor și suport”.\n\n## Limite și mesaje de eroare\n\nPuteți trimite cel mult 20 de răspunsuri pe oră, în total pentru toate tichetele contului. Se numără și încercările respinse, așa că, după ce ați atins limita, nu reîncercați: așteptați o oră. Pentru tichetele noi, limita este de 5 pe oră (vedeți [Deschiderea unui tichet de suport](#suport.tichet-nou)).\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Rate limit exceeded — try again later” | Ați atins limita de 20 de răspunsuri pe oră. Mesajul apare în engleză. | Așteptați o oră. Pentru urgențe, sunați la suport. |\n| `ticket_closed` | Tichetul a fost închis înainte ca răspunsul să fie trimis: de dvs., din altă filă, sau de echipă. | Copiați textul din câmp, reîncărcați pagina și deschideți un tichet nou cu numărul celui vechi. |\n| `already_closed` | Tichetul era deja închis. | Reîncărcați pagina. Nu trebuie să mai faceți nimic. |\n| „Nu am putut trimite mesajul. Încercați din nou.” | Răspunsul nu a fost trimis. | Încercați din nou. Dacă eroarea persistă, contactați suportul. |\n| „Nu am putut închide tichetul.” | Tichetul nu a fost închis. | Reîncărcați pagina și încercați din nou. |\n| „Tichetul nu a fost găsit.” | Tichetul nu există sau a fost deschis din alt cont. | Verificați că sunteți autentificat cu contul din care ați deschis tichetul. |\n| „Eroare la încărcare.” | Pagina nu s-a putut încărca. | Reîncărcați pagina peste câteva momente. |\n\n## Cât timp se păstrează tichetele\n\n- Tichetele închise se șterg definitiv, cu toate mesajele, la 2 ani (730 de zile) după închidere.\n- Dacă vă ștergeți contul, subiectele tichetelor și textul mesajelor dvs. sunt șterse. Vedeți [Ștergerea contului](#cont.stergere-cont).\n- Pentru o copie a conversațiilor, descărcați fișierul cu „Descarcă datele mele” din cardul „Datele mele”: el conține toate tichetele, cu mesaje. Vedeți [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date).\n\n## Întrebări frecvente\n\n**Am închis tichetul din greșeală. Îl pot redeschide?**\nNu din cont: un tichet închis poate fi redeschis doar de echipa de suport. Deschideți un tichet nou și menționați numărul celui închis.\n\n**Echipa a marcat tichetul „Rezolvat”, dar problema persistă.**\nRăspundeți pe pagina tichetului. Tichetul se redeschide singur, cu statusul „Așteaptă echipa”.\n\n**Nu am primit niciun email după ce am deschis tichetul. Este normal?**\nDa. Emailul vine doar când echipa răspunde. Statusul curent îl vedeți oricând în „Ajutor și suport”.\n\n**Un coleg are propriul cont. Poate vedea tichetele mele?**\nNu. Fiecare cont blackbox.md vede doar tichetele deschise din el. Colegul poate deschide un tichet din contul său și menționa în el numărul tichetului dvs.\n\n**În cât timp răspunde echipa?**\nPentru tichete nu este publicat un termen de răspuns. Pentru urgențe, sunați la +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei). Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n",
    "ru": "На странице тикета (`blackbox.md/ru/account/tickets/…`, «Личный кабинет» → «Помощь и поддержка» → строка тикета) видны переписка со службой поддержки и текущий статус. Здесь же можно ответить и закрыть тикет, когда он больше не нужен.\n\n**Доступно:** любому клиенту, вошедшему на blackbox.md. Каждый аккаунт видит только тикеты, созданные из него. В панели app.blackbox.md тикетов нет.\n\n## Как следить за перепиской\n\n1. Войдите на blackbox.md и нажмите «Личный кабинет» в верхнем меню (на телефоне — кружок с вашими инициалами).\n2. В меню аккаунта выберите «Помощь и поддержка» (на телефоне сначала откройте «Меню аккаунта»). Откроется страница «Тикеты поддержки» со столбцами «#», «Тема», «Статус» и «Обновлён» (дата последнего сообщения). Вверху списка — тикеты с самыми свежими сообщениями.\n3. Нажмите на строку тикета. Откроется его страница.\n\nЧто есть на странице тикета:\n\n| Элемент | Что показывает |\n|---|---|\n| Цепочка «Мой аккаунт / Тикеты / #N» | Где вы находитесь. Ссылка «Тикеты» возвращает к списку. |\n| «#N» и метка статуса | Номер тикета и его текущий статус (см. таблицу ниже). |\n| Заголовок | Тема тикета. |\n| Переписка | Все сообщения, от первого к последнему, у каждого — дата и время. Ваши сообщения подписаны «Вы», ответы поддержки — «Служба поддержки». |\n| Поле «Напишите ответ…» | Место для вашего ответа. Под ним — кнопки «Отправить» и «Закрыть тикет». В закрытом тикете вместо них показывается сообщение (см. «Как закрыть тикет»). |\n\n## Как ответить\n\n1. Откройте страницу тикета.\n2. Напишите сообщение в поле «Напишите ответ…». Максимум — 10 000 символов.\n3. Нажмите «Отправить». Пока сообщение отправляется, на кнопке написано «Отправка…».\n4. Сообщение появится в конце переписки с подписью «Вы», поле очистится, а статус сменится на «Ждёт команду».\n\nПока поле пустое, кнопка «Отправить» неактивна. Отправить можно только текст: прикрепить файл нельзя, поэтому фрагменты логов и тексты ошибок вставляйте прямо в сообщение.\n\n## Статусы тикета\n\n| Статус | Что означает | Кто меняет | Что делать |\n|---|---|---|---|\n| «Открыт» | Новый тикет, поддержка ещё не ответила. | Ставится автоматически при создании тикета. | Ждите ответа. Тем временем можно дописать подробности. |\n| «Ждёт вашего ответа» | Поддержка ответила и ждёт от вас информации или подтверждения. | Автоматически, при каждом ответе поддержки. | Прочитайте ответ и ответьте на странице тикета. |\n| «Ждёт команду» | Последнее сообщение — ваше. | Автоматически, при каждом вашем ответе. | Ждите ответа поддержки. |\n| «Решён» | Поддержка считает проблему решённой. | Служба поддержки. | Если проблема осталась, ответьте. Если всё в порядке, тикет можно закрыть. |\n| «Закрыт» | Обсуждение завершено, писать в тикет больше нельзя. | Вы (кнопкой «Закрыть тикет») или служба поддержки. | По новой или повторившейся проблеме создайте новый тикет. |\n\nМетка «Открыт» синяя, обе метки «Ждёт…» жёлтые, «Решён» — зелёная, «Закрыт» — серая. Ваш ответ в тикете со статусом «Решён» снова открывает его: статус меняется на «Ждёт команду». Закрытый тикет может открыть заново только служба поддержки. Автоматически тикеты не закрываются, даже со статусом «Решён»: закрыть их можете вы или поддержка.\n\n## Как закрыть тикет\n\nЗакрыть можно тикет с любым статусом, кроме «Закрыт».\n\n1. На странице тикета нажмите «Закрыть тикет».\n2. Откроется окно «Закрыть тикет?» с текстом «Закрыть этот тикет? Вы сможете снова открыть его, ответив на него.»\n3. Нажмите «Закрыть тикет», чтобы подтвердить, или «Отмена», чтобы передумать. Пока тикет закрывается, на кнопке «Закрыть тикет» на странице написано «Закрытие…».\n4. Статус сменится на «Закрыт». Вместо поля ответа появится сообщение «Этот тикет закрыт. Чтобы возобновить обсуждение, создайте новый тикет.»\n\nПри закрытии тикета никаких писем не отправляется. Если хотите что-то сказать напоследок, сначала отправьте ответ, а потом закройте тикет.\n\n> **Внимание**\n> Вопреки тексту в окне подтверждения, закрытый тикет нельзя снова открыть ответом: поле для ответа исчезает. Если проблема повторилась, создайте новый тикет и укажите в нём номер старого, например «Продолжение #42». См. [Создание тикета в поддержку](#suport.tichet-nou).\n\n## Уведомления по email\n\nПисьмо приходит только тогда, когда поддержка отвечает в тикете.\n\n| Событие | Письмо вам |\n|---|---|\n| Вы создали тикет | Нет |\n| Вы ответили в тикете | Нет |\n| Поддержка ответила | Да |\n| Поддержка отметила тикет как «Решён» или закрыла его | Нет |\n| Вы закрыли тикет | Нет |\n\nПисьмо приходит от «BlackBox» на email вашего аккаунта blackbox.md. Его тема — «[Ticket #N]» и тема тикета, например «[Ticket #42] Не удаётся подключиться по SSH». В письме — фраза «Ați primit un răspuns nou la tichetul dumneavoastră de suport.» («Вы получили новый ответ в своём тикете поддержки»), номер и тема тикета, полный текст ответа и кнопка «Vezi conversația» («Посмотреть переписку»), которая открывает страницу тикета. Если вы не вошли в аккаунт, сначала откроется страница входа, а после входа — тикет.\n\nПисьмо всегда приходит на румынском, а кнопка открывает румынскую версию сайта. Чтобы перейти на русский интерфейс, нажмите «RU» в шапке сайта: тот же тикет откроется на русском.\n\nЕсли письмо не пришло (проверьте и папку «Спам»), ответ поддержки всё равно есть на странице тикета.\n\n> **Важно**\n> Не отвечайте на письмо-уведомление: ответ, отправленный по email, в тикет не попадает. Пишите только на странице тикета — по кнопке «Vezi conversația» из письма или через «Личный кабинет» → «Помощь и поддержка».\n\n## Лимиты и сообщения об ошибках\n\nМожно отправить не больше 20 ответов в час — суммарно по всем тикетам аккаунта. Отклонённые попытки тоже засчитываются, поэтому, достигнув лимита, не повторяйте отправку, а подождите час. Новых тикетов можно создать не больше 5 в час (см. [Создание тикета в поддержку](#suport.tichet-nou)).\n\n| Сообщение | Что означает | Что делать |\n|---|---|---|\n| «Rate limit exceeded — try again later» | Вы достигли лимита — 20 ответов в час. Сообщение показывается на английском. | Подождите час. В срочном случае позвоните в поддержку. |\n| `ticket_closed` | Тикет закрыли раньше, чем ушёл ваш ответ: вы сами в другой вкладке или поддержка. | Скопируйте текст из поля, обновите страницу и создайте новый тикет с номером старого. |\n| `already_closed` | Тикет уже был закрыт. | Обновите страницу. Больше ничего делать не нужно. |\n| «Не удалось отправить сообщение. Попробуйте снова.» | Ответ не отправлен. | Попробуйте ещё раз. Если ошибка повторяется, обратитесь в поддержку. |\n| «Не удалось закрыть тикет.» | Тикет не закрыт. | Обновите страницу и попробуйте снова. |\n| «Тикет не найден.» | Такого тикета нет, или он создан из другого аккаунта. | Проверьте, что вы вошли в тот аккаунт, из которого создавали тикет. |\n| «Ошибка загрузки.» | Страница не загрузилась. | Обновите страницу через несколько секунд. |\n\n## Сколько хранятся тикеты\n\n- Закрытые тикеты вместе со всеми сообщениями безвозвратно удаляются через 2 года (730 дней) после закрытия.\n- При удалении аккаунта темы тикетов и тексты ваших сообщений стираются. См. [Удаление аккаунта](#cont.stergere-cont).\n- Чтобы сохранить копию переписки, скачайте файл кнопкой «Скачать мои данные» в карточке «Мои данные»: в нём есть все тикеты с сообщениями. См. [Скачивание ваших данных («Мои данные»)](#cont.export-date).\n\n## Частые вопросы\n\n**Тикет закрыт по ошибке. Можно открыть его снова?**\nИз аккаунта — нет: закрытый тикет может открыть заново только служба поддержки. Создайте новый тикет и укажите номер закрытого.\n\n**Поддержка отметила тикет как «Решён», но проблема осталась.**\nОтветьте на странице тикета. Тикет снова откроется со статусом «Ждёт команду».\n\n**После создания тикета не пришло письмо. Это нормально?**\nДа. Письмо приходит только вместе с ответом поддержки. Текущий статус всегда виден в разделе «Помощь и поддержка».\n\n**У коллеги свой аккаунт. Он увидит мои тикеты?**\nНет. Каждый аккаунт blackbox.md видит только свои тикеты. Коллега может создать тикет из своего аккаунта и указать в нём номер вашего.\n\n**Как быстро отвечает поддержка?**\nСрок ответа на тикеты не публикуется. В срочных случаях звоните по номеру +373 78 003948, пн–пт, 09:00–18:00 (по времени Молдовы). Все каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n",
    "en": "The page of a support ticket (`blackbox.md/account/tickets/…`, “Contul meu” (My account) → “Ajutor și suport” (Help and support) → the ticket's row) shows your conversation with the support team and the ticket's status. This is also where you reply, and where you close the ticket when you no longer need it.\n\n**Available to:** any customer signed in to blackbox.md. Each account sees only the tickets opened from it. Tickets are not available in the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to follow the conversation\n\n1. Sign in to blackbox.md and click “Cont client” (Customer account) in the top bar (on a phone, the circle with your initials).\n2. In the account menu, click “Ajutor și suport” (Help and support). On a phone, open “Meniu cont” (Account menu) first. The “Tichete de suport” (Support tickets) page opens, with the columns “#”, “Subiect” (Subject), “Statut” (Status) and “Actualizat” (Updated), which shows the date of the last message. The tickets with the most recent messages are at the top of the list.\n3. Click the ticket's row. The ticket page opens.\n\nOn the ticket page you see:\n\n| Element | What it shows |\n|---|---|\n| The path “Contul meu / Tichete / #N” (My account / Tickets / #N) | Where you are. The “Tichete” (Tickets) link takes you back to the list. |\n| “#N” and the status label | The ticket number and its current status (see the table below). |\n| The title | The ticket subject. |\n| The conversation | All messages, from oldest to newest, each with its date and time. Your messages are signed “Dvs.” (You), and the team's messages “Echipa de suport” (Support team). |\n| The “Scrieți un răspuns…” (Write a reply…) field | Where you type your reply. Below it are the “Trimite” (Send) and “Închide tichetul” (Close ticket) buttons. On a closed ticket, a message appears in their place (see “How to close a ticket” below). |\n\n## How to reply\n\n1. Open the ticket page.\n2. Type your message in the “Scrieți un răspuns…” (Write a reply…) field. A message can be at most 10,000 characters long.\n3. Click “Trimite” (Send). While the message is being sent, the button shows “Se trimite…” (Sending…).\n4. The message appears at the end of the conversation, signed “Dvs.” (You), and the field is cleared. The status changes to “Așteaptă echipa” (Awaiting the team).\n\nThe “Trimite” button is inactive while the field is empty. You can send text only: you cannot attach files, so paste log excerpts or error text directly into the message.\n\n## Ticket statuses\n\n| Status | What it means | Who changes it | What to do |\n|---|---|---|---|\n| “Deschis” (Open) | A new ticket; the team has not replied yet. | Set automatically when you open the ticket. | Wait for the reply. In the meantime, you can add details. |\n| “Așteaptă răspunsul dvs.” (Awaiting your reply) | The team has replied and is waiting for information or a confirmation from you. | Automatically, each time the team replies. | Read the reply and answer it on the ticket page. |\n| “Așteaptă echipa” (Awaiting the team) | The last message is yours. | Automatically, each time you reply. | Wait for the team's reply. |\n| “Rezolvat” (Resolved) | The team considers the problem resolved. | The support team. | If the problem persists, reply. If it is resolved, you can close the ticket. |\n| “Închis” (Closed) | The conversation has ended; you can no longer write in the ticket. | You, with “Închide tichetul” (Close ticket), or the support team. | For a new problem, or one that has come back, open a new ticket. |\n\nThe “Deschis” label is blue, the two “Așteaptă…” labels are yellow, “Rezolvat” is green and “Închis” is gray. If you reply to a ticket marked “Rezolvat”, it reopens: the status becomes “Așteaptă echipa”. Only the support team can reopen a ticket marked “Închis”. Tickets do not close automatically, not even “Rezolvat” ones: either you or the team closes them.\n\n## How to close a ticket\n\nYou can close a ticket in any status except “Închis” (Closed).\n\n1. On the ticket page, click “Închide tichetul” (Close ticket).\n2. The “Închideți tichetul?” (Close the ticket?) dialog opens, with the text “Închideți acest tichet? Îl puteți redeschide oricând răspunzând la el.” (Close this ticket? You can reopen it at any time by replying to it.)\n3. Click “Închide tichetul” to confirm, or “Anulează” (Cancel) to change your mind. While the ticket is being closed, the “Închide tichetul” button on the page shows “Se închide…” (Closing…).\n4. The status changes to “Închis”. In place of the reply field, you see the message “Acest tichet este închis. Pentru a relua discuția, deschideți un tichet nou.” (This ticket is closed. To resume the discussion, open a new ticket.)\n\nNo email is sent when a ticket is closed. If you want to leave a final explanation, send it as a reply before you close the ticket.\n\n> **Warning**\n> Despite what the dialog says, a closed ticket cannot be reopened by replying to it: the reply field disappears. If the problem comes back, open a new ticket and mention the old ticket's number in it, for example “Follow-up to #42”. See [Opening a support ticket](#suport.tichet-nou).\n\n## Email notifications\n\nYou receive an email only when the team replies to your ticket.\n\n| Event | Email to you |\n|---|---|\n| You open a ticket | No |\n| You reply to the ticket | No |\n| The team replies | Yes |\n| The team marks the ticket “Rezolvat” (Resolved) or closes it | No |\n| You close the ticket | No |\n\nThe email comes from “BlackBox” and is sent to the email address of your blackbox.md account. The subject is “[Ticket #N]” followed by the ticket subject, for example “[Ticket #42] I can't connect via SSH”. The email contains the sentence “Ați primit un răspuns nou la tichetul dumneavoastră de suport.” (You have received a new reply to your support ticket.), the ticket number and subject, the full text of the reply, and the “Vezi conversația” (View the conversation) button, which opens the ticket page. If you are not signed in, the sign-in page opens first, then the ticket.\n\nThe email is always in Romanian, and the button opens the Romanian version of the website. For the Russian interface, click “RU” in the site header: the same ticket opens in Russian.\n\nIf the email has not arrived (check your Spam folder too), the team's reply is still on the ticket page.\n\n> **Important**\n> Do not reply to the notification email. A message sent by email does not reach the ticket. Always write on the ticket page: use the “Vezi conversația” button in the email, or go to “Contul meu” (My account) → “Ajutor și suport” (Help and support).\n\n## Limits and error messages\n\nYou can send at most 20 replies per hour, in total across all the tickets in your account. Rejected attempts also count, so once you reach the limit, do not keep retrying: wait an hour. For new tickets, the limit is 5 per hour (see [Opening a support ticket](#suport.tichet-nou)).\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Rate limit exceeded — try again later” | You have reached the limit of 20 replies per hour. The message appears in English. | Wait an hour. For urgent matters, call support. |\n| `ticket_closed` | The ticket was closed before your reply was sent: by you, from another tab, or by the team. | Copy the text from the field, reload the page and open a new ticket that mentions the old ticket's number. |\n| `already_closed` | The ticket was already closed. | Reload the page. You do not need to do anything else. |\n| “Nu am putut trimite mesajul. Încercați din nou.” (We could not send the message. Please try again.) | Your reply was not sent. | Try again. If the error persists, contact support. |\n| “Nu am putut închide tichetul.” (We could not close the ticket.) | The ticket was not closed. | Reload the page and try again. |\n| “Tichetul nu a fost găsit.” (Ticket not found.) | The ticket does not exist, or it was opened from another account. | Check that you are signed in with the account you opened the ticket from. |\n| “Eroare la încărcare.” (Loading error.) | The page could not be loaded. | Reload the page in a few moments. |\n\n## How long tickets are kept\n\n- Closed tickets are permanently deleted, with all their messages, 2 years (730 days) after they are closed.\n- If you delete your account, your ticket subjects and the text of your messages are erased. See [Deleting your account](#cont.stergere-cont).\n- To keep a copy of your conversations, download the file with “Descarcă datele mele” (Download my data) in the “Datele mele” (My data) card: it contains all your tickets, with their messages. See [Downloading your data (“Datele mele”)](#cont.export-date).\n\n## Frequently asked questions\n\n**I closed a ticket by mistake. Can I reopen it?**\nNot from your account: only the support team can reopen a closed ticket. Open a new ticket and mention the number of the closed one.\n\n**The team marked my ticket “Rezolvat” (Resolved), but the problem persists.**\nReply on the ticket page. The ticket reopens automatically with the status “Așteaptă echipa” (Awaiting the team).\n\n**I didn't get any email after opening a ticket. Is that normal?**\nYes. An email arrives only when the team replies. You can see the current status at any time in “Ajutor și suport” (Help and support).\n\n**A colleague has their own account. Can they see my tickets?**\nNo. Each blackbox.md account sees only the tickets opened from it. Your colleague can open a ticket from their own account and mention your ticket's number in it.\n\n**How quickly does the team reply?**\nNo response time is published for tickets. For urgent matters, call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time). All channels: [How to contact BLACKBOX support](#suport.contact).\n"
   }
  },
  {
   "id": "suport.emailuri-blackbox",
   "section": "suport",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/suport/emailuri-blackbox/",
    "ru": "https://docs.blackbox.md/ru/suport/emailuri-blackbox/",
    "en": "https://docs.blackbox.md/en/suport/emailuri-blackbox/"
   },
   "title": {
    "ro": "Emailurile pe care le primiți de la BLACKBOX",
    "ru": "Письма, которые вы получаете от BLACKBOX",
    "en": "Emails you receive from BLACKBOX"
   },
   "summary": {
    "ro": "Lista emailurilor automate: când le primiți, în ce limbă sunt și ce faceți dacă un email nu ajunge.",
    "ru": "Список автоматических писем: когда они приходят, на каком языке и что делать, если письмо не пришло.",
    "en": "The list of automatic emails: when you receive them, what language they are in and what to do if an email doesn't arrive."
   },
   "markdown": {
    "ro": "BLACKBOX vă trimite emailuri automate la pașii importanți: comandă, plată, server, sold, cont, tichete și alerte de monitorizare. Toate pleacă la adresa de email a contului blackbox.md, pe care o vedeți pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”). Mai jos găsiți lista completă, limba fiecărui email și ce faceți dacă un email nu ajunge.\n\n**Disponibil pentru:** titularul contului blackbox.md. Emailurile ajung doar la adresa contului; o altă adresă nu se poate indica.\n\n## Expeditorul și subiectul\n\n- Expeditorul afișat este „BlackBox”.\n- Subiectul este fix, exact ca în tabelele de mai jos: de cele mai multe ori în română, uneori în engleză, indiferent de limba contului.\n- Textul emailului este în română sau în rusă, după limba contului. Excepțiile sunt indicate în tabele.\n- Linkurile din emailuri duc doar la blackbox.md și app.blackbox.md.\n\n## Lista emailurilor automate\n\nÎn subiecte, „…” ține locul părții care se schimbă: numărul comenzii, al facturii sau al tichetului, numele serverului sau al alertei.\n\n### Comenzi și servere\n\n| Subiect | Când îl primiți | Limba textului |\n|---|---|---|\n| „Am primit solicitarea dumneavoastră — BBX-…” | Imediat după plasarea comenzii, pe site sau prin asistentul AI, înainte de plată. Conține numărul comenzii, serviciul și totalul. | română sau rusă |\n| „Plată confirmată — BBX-…” | După ce comanda a fost achitată, cu cardul sau din sold. Are atașată factura PDF `factura-BBX-….pdf`. | română sau rusă |\n| „Serverul dvs. este gata — BBX-…” | Când serverul comandat a fost creat. Conține adresa IP și datele de conectare. Pentru serverele dedicate, echipa vă contactează direct. | română sau rusă |\n| „Serverul dvs. a fost actualizat — BBX-…” | După un upgrade finalizat („Upgrade server” în panoul app.blackbox.md). Conține configurația nouă, suma debitată și prețul lunar nou. | română sau rusă |\n| „Comandă anulată — BBX-…” | După anularea comenzii, de dvs. („Anulează comanda”) sau de echipă. Dacă ați primit o rambursare, arată suma returnată în sold; dacă serverul a fost șters, o spune. | română sau rusă |\n| „Server termination scheduled — …” | Imediat după ce programați ștergerea serverului („Șterge definitiv” → „Programează ștergerea”). Conține momentul după care serverul va fi șters. | engleză; rusă dacă limba contului este rusa |\n| „Server deleted — …” | După perioada de grație de 24 de ore, când serverul a fost șters. | engleză; rusă dacă limba contului este rusa |\n\nÎn ultimele două subiecte, „…” este numele original al serverului (nu numele privat dat cu „Redenumește”) sau adresa lui IP.\n\n### Plăți și sold\n\n| Subiect | Când îl primiți | Limba textului |\n|---|---|---|\n| „Alimentare cont confirmată — BLACKBOX” | După ce alimentarea soldului cu cardul a fost confirmată. Arată suma și soldul curent. | română sau rusă |\n| „Factură plătită automat din cont — …” | Când plata automată din sold („Reîncărcare automată” activată în „Sold”) a achitat o factură. „…” este numărul facturii. | română sau rusă |\n\n### Cont\n\n| Subiect | Când îl primiți | Limba textului |\n|---|---|---|\n| „Confirmați adresa de email — BlackBox” | După ce apăsați „Trimite emailul de verificare” în „Profilul meu”. Linkul este valabil 24 de ore și se folosește o singură dată. | română sau rusă |\n| „Ștergerea contului a fost programată — BlackBox” | Imediat după ce cereți ștergerea contului („Șterge contul meu”). | română sau rusă |\n| „Contul dvs. a fost șters — BlackBox” | După perioada de grație de 7 zile, când contul a fost anonimizat. Sosește la adresa pe care o avea contul. | română sau rusă |\n| „You've been invited to BlackBox” | Când echipa BLACKBOX v-a deschis un cont. Butonul „Reset my password” duce la `blackbox.md/set-password`, unde vă alegeți parola. Linkul funcționează 7 zile și o singură dată, deși textul emailului indică 15 minute. | engleză |\n\n### Suport și monitorizare\n\n| Subiect | Când îl primiți | Limba textului |\n|---|---|---|\n| „[Ticket #N] …” | Când echipa de suport răspunde la tichetul dvs. N este numărul tichetului, „…” este subiectul lui. Emailul conține răspunsul și butonul „Vezi conversația”. | doar română |\n| „[BlackBox] Alertă — …” | Când apare o alertă de monitorizare pe un server al dvs. și emailurile de alertă sunt activate. „…” este numele alertei. Pentru aceeași alertă primiți cel mult un email la 6 ore. | doar română |\n\nDacă folosiți linkurile de resetare a parolei sau a 2FA de pe pagina de autentificare a panoului, primiți emailuri în engleză: „Reset your BlackBox password” și „Reset your BlackBox 2FA”. Ele privesc doar autentificarea în panou.\n\n## În ce limbă sunt emailurile\n\n- **Subiectul** nu se traduce: este cel din tabele, indiferent de limba contului.\n- **Textul** este în limba contului. Limba contului devine rusa dacă v-ați înregistrat sau v-ați autentificat cu email și parolă cel puțin o dată pe versiunea rusă a site-ului (`blackbox.md/ru`) sau dacă ați deschis panoul prima dată de pe versiunea rusă. În celelalte cazuri, textul vine în română.\n- Autentificarea ulterioară de pe versiunea română nu schimbă limba înapoi. Ca să primiți din nou emailurile în română, scrieți suportului.\n- **Excepții:** răspunsurile la tichete și alertele vin doar în română.\n\n> **Ecran în limba engleză**\n> Unele emailuri vin în engleză: cele despre ștergerea serverului (pentru conturile în limba română), invitația și resetările din panou. Subiectele și butoanele lor sunt citate în engleză, exact cum apar în email.\n\nDetalii: [Limba site-ului, a panoului și a emailurilor](#cont.limba).\n\n## Când nu primiți niciun email\n\nPentru aceste evenimente BLACKBOX nu trimite email. Rezultatul îl vedeți în cont sau în panou:\n\n- crearea contului (emailul de verificare îl cereți dvs. din „Profilul meu”);\n- autentificarea pe blackbox.md sau în panou;\n- schimbarea parolei contului;\n- crearea sau revocarea unui token API;\n- deschiderea unui tichet, închiderea lui sau schimbarea statusului de către echipă;\n- emiterea unei facturi de către echipă, inclusiv factura lunară: o vedeți doar în „Facturi”;\n- achitarea unei facturi altfel decât prin plata automată din sold, de exemplu prin transfer bancar;\n- o plată cu cardul eșuată sau anulată;\n- o eroare la crearea serverului: comanda rămâne „În lucru”, fără rândul „Server: …”, iar emailul „Serverul dvs. este gata — BBX-…” nu vine;\n- acțiunile din panou: repornirea, oprirea, pornirea, resetarea parolei root, cheile SSH;\n- anularea ștergerii unui server sau a contului;\n- rezolvarea unei alerte.\n\nDacă ați plătit un plan VPS și, după câteva minute, comanda este tot „În lucru” fără rândul „Server: …”, iar emailul „Serverul dvs. este gata” nu a venit, chiar lipsa emailului este semnalul. Scrieți-ne cu numărul `BBX-…` sau anulați comanda cu „Anulează comanda”: cât timp serverul nu a fost creat, suma achitată revine integral în sold. Detalii: [Serverul nu apare după plată](#faq.serverul-nu-este-gata) și [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\nVerificați periodic pagina „Facturi”, ca să nu ratați o factură de plătit: [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n\n## Nu ați primit un email\n\n1. Așteptați câteva minute. Emailul despre plată pleacă abia după confirmarea plății, iar cel despre server, după crearea serverului.\n2. Căutați în dosarele Spam și Promoții, după expeditorul „BlackBox”, după subiect sau după numărul comenzii `BBX-…`.\n3. Dacă emailul este în Spam, marcați-l ca mesaj legitim („Nu este spam”) și adăugați expeditorul „BlackBox” în agenda de contacte. Așa, emailurile următoare ajung în Inbox.\n4. Deschideți „Contul meu” → „Profil” și verificați că adresa de email este corectă și are insigna „Verificat”. Dacă vedeți „Neverificat”, apăsați „Trimite emailul de verificare”: dacă acest email ajunge, înseamnă că mesajele noastre ajung la adresa dvs. Adresa nu se poate modifica din cont; dacă este greșită, scrieți-ne.\n5. Scrieți suportului la support@blackbox.md sau printr-un tichet din „Contul meu” → „Ajutor și suport”. Indicați numărul comenzii `BBX-…` (sau al facturii) și subiectul emailului care lipsește.\n\nAceeași informație o găsiți și fără email:\n\n| Email | Unde vedeți aceeași informație |\n|---|---|\n| „Am primit solicitarea dumneavoastră” | „Comenzi”: comanda cu statusul „Nou” |\n| „Plată confirmată” | „Comenzi” (statusul „În lucru”) și „Facturi” (factura `BBX-…`, statusul „Achitată”). Un PDF pierdut îl cereți la support@blackbox.md |\n| „Serverul dvs. este gata” | panoul app.blackbox.md → „Serverele mele”: adresa IP și „Afișează datele de acces” |\n| „Comandă anulată”, „Alimentare cont confirmată”, „Factură plătită automat din cont” | „Comenzi”, „Facturi” și „Sold” → „Istoricul operațiunilor” |\n| „[Ticket #N] …” | „Contul meu” → „Ajutor și suport” → tichetul |\n| „[BlackBox] Alertă — …” | panoul → „Monitorizare” → cardul „Alerte” |\n\n## Nu răspundeți la emailurile automate\n\n> **Important**\n> Emailurile de la „BlackBox” sunt trimise automat. Nu răspundeți la ele: răspunsul nu se adaugă la tichet. La un tichet răspundeți din „Contul meu” → „Ajutor și suport”; butonul „Vezi conversația” din email deschide direct tichetul, în versiunea română a site-ului. Pentru orice altă întrebare, scrieți la support@blackbox.md.\n\nCum ne scrieți: [Cum contactați suportul BLACKBOX](#suport.contact) și [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete).\n\n## Cum recunoașteți un email BLACKBOX autentic\n\n- Expeditorul este „BlackBox”, iar subiectul este unul dintre cele din acest articol.\n- Linkurile duc doar la blackbox.md și app.blackbox.md. Înainte să apăsați, verificați adresa reală a linkului (țineți cursorul deasupra lui).\n- Emailurile automate nu conțin linkuri de plată. O plată cu cardul o porniți doar din blackbox.md, cu butonul „Achitați … MDL”; datele cardului le introduceți doar pe pagina Paynet deschisă de acest buton.\n- Dacă un email vă pare suspect, nu apăsați linkurile. Tastați singur `blackbox.md` în browser, verificați contul și trimiteți-ne emailul la support@blackbox.md.\n\n> **Securitate**\n> Introduceți parola contului doar pe blackbox.md și app.blackbox.md. Nu trimiteți nimănui prin email parola, datele cardului, cheia SSH privată sau un token API (`bbx_pat_…`), chiar dacă mesajul pare să vină de la BLACKBOX. Emailul „Serverul dvs. este gata” poate conține parola root: după prima conectare schimbați-o ([Resetarea parolei root](#acces.resetare-parola-root)) și ștergeți emailul.\n\n## Întrebări frecvente\n\n**Subiectul este în română, iar textul în rusă. Este normal?**\nDa. Subiectele sunt fixe, iar textul urmează limba contului. Răspunsurile la tichete și alertele vin oricum în română.\n\n**Pot primi emailurile pe altă adresă sau pe mai multe adrese?**\nNu. Toate emailurile, inclusiv cele despre comenzi, pleacă la adresa contului. Adresa nu se modifică din cont; pentru schimbare, scrieți suportului. Fiecare cont blackbox.md primește doar propriile emailuri.\n\n**Pot dezactiva unele emailuri?**\nDoar emailurile de alertă: în panou, „Monitorizare” → cardul „Alerte” → „Preferințe de notificare”, debifați „Trimiteți-mi email când apare o alertă nouă” și apăsați „Salvează”. Celelalte emailuri se trimit întotdeauna.\n\n**Suma din email diferă de cea din cont.**\nÎn emailuri, sumele sunt afișate în MDL întregi, fără bani: o alimentare de 75,50 MDL apare ca 75 MDL. Suma exactă o vedeți în „Sold” și în „Facturi”.\n\n**Am primit „Server termination scheduled” sau „Ștergerea contului a fost programată”, dar nu am cerut asta.**\nAnulați imediat. Pentru server: în panou, „Serverele mele” → „Șterge definitiv” → „Anulează ștergerea”, înainte de momentul din email (este indicat în UTC). Pentru cont: pe pagina „Profilul meu”, butonul „Anulează ștergerea”. Apoi schimbați parola ([Schimbarea parolei contului](#cont.schimbare-parola)) și scrieți-ne.\n\n**Nu primesc emailurile de alertă.**\nÎn blocul „Preferințe de notificare”, verificați caseta „Trimiteți-mi email când apare o alertă nouă” și valoarea „Severitate minimă”. Pentru aceeași alertă vine cel mult un email la 6 ore, iar la rezolvare nu vine niciunul. Detalii: [Alerte și notificări pe email](#servicii.alerte).\n\n**Am cerut de mai multe ori emailul de verificare și nu vine.**\nSe trimit cel mult 3 emailuri de verificare pe oră; cererile în plus sunt ignorate fără mesaj de eroare. Așteptați o oră și cereți din nou: [Verificarea adresei de email](#cont.verificare-email).\n",
    "ru": "BLACKBOX автоматически присылает письма на ключевых этапах: заказ, оплата, сервер, баланс, аккаунт, тикеты и оповещения мониторинга. Все они приходят на email аккаунта blackbox.md — его можно посмотреть на странице «Мой профиль» (`blackbox.md/ru/account`, «Личный кабинет» → «Профиль»). Ниже — полный список писем, язык каждого из них и что делать, если письмо не пришло.\n\n**Доступно:** владельцу аккаунта blackbox.md. Письма приходят только на адрес аккаунта, указать другой адрес нельзя.\n\n## Отправитель и тема письма\n\n- Отправитель отображается как «BlackBox».\n- Тема письма не меняется и всегда такая, как в таблицах ниже: чаще всего на румынском, иногда на английском — независимо от языка аккаунта.\n- Текст письма — на румынском или русском, в зависимости от языка аккаунта. Исключения указаны в таблицах.\n- Ссылки в письмах ведут только на blackbox.md и app.blackbox.md.\n\n## Список автоматических писем\n\nВ темах «…» обозначает меняющуюся часть: номер заказа, счёта или тикета, имя сервера или оповещения.\n\n### Заказы и серверы\n\n| Тема письма | Когда приходит | Язык текста |\n|---|---|---|\n| «Am primit solicitarea dumneavoastră — BBX-…» | Сразу после оформления заказа — на сайте или через AI-ассистента, ещё до оплаты. В письме номер заказа, услуга и сумма. | румынский или русский |\n| «Plată confirmată — BBX-…» | После оплаты заказа картой или с баланса. Во вложении PDF-счёт `factura-BBX-….pdf`. | румынский или русский |\n| «Serverul dvs. este gata — BBX-…» | Когда заказанный сервер создан. В письме IP-адрес и данные для подключения. По выделенным серверам команда связывается с вами напрямую. | румынский или русский |\n| «Serverul dvs. a fost actualizat — BBX-…» | После завершённого апгрейда (окно «Апгрейд сервера» в панели app.blackbox.md). В письме новая конфигурация, списанная сумма и новый месячный тариф. | румынский или русский |\n| «Comandă anulată — BBX-…» | После отмены заказа — вами («Отменить заказ») или командой. Если был возврат, в письме указана сумма, возвращённая на баланс; если сервер удалён, это тоже сказано. | румынский или русский |\n| «Server termination scheduled — …» | Сразу после того, как вы запланировали удаление сервера («Удалить» → «Запланировать удаление»). В письме указан момент, после которого сервер будет удалён. | английский; русский, если язык аккаунта — русский |\n| «Server deleted — …» | По истечении 24-часовой отсрочки, когда сервер удалён. | английский; русский, если язык аккаунта — русский |\n\nВ двух последних темах «…» — исходное название сервера (не личное название, заданное кнопкой «Переименовать») или его IP-адрес.\n\n### Оплата и баланс\n\n| Тема письма | Когда приходит | Язык текста |\n|---|---|---|\n| «Alimentare cont confirmată — BLACKBOX» | Когда пополнение баланса картой подтверждено. В письме сумма и текущий баланс. | румынский или русский |\n| «Factură plătită automat din cont — …» | Когда автоплатёж с баланса (включён переключатель «Автоматическое пополнение» на странице «Баланс») оплатил счёт. «…» — номер счёта. | румынский или русский |\n\n### Аккаунт\n\n| Тема письма | Когда приходит | Язык текста |\n|---|---|---|\n| «Confirmați adresa de email — BlackBox» | После нажатия «Отправить письмо для подтверждения» на странице «Мой профиль». Ссылка действует 24 часа и срабатывает один раз. | румынский или русский |\n| «Ștergerea contului a fost programată — BlackBox» | Сразу после запроса на удаление аккаунта («Удалить мой аккаунт»). | румынский или русский |\n| «Contul dvs. a fost șters — BlackBox» | По истечении 7-дневной отсрочки, когда аккаунт анонимизирован. Приходит на адрес, который был у аккаунта. | румынский или русский |\n| «You've been invited to BlackBox» | Когда команда BLACKBOX открыла для вас аккаунт. Кнопка «Reset my password» ведёт на `blackbox.md/set-password`, где вы задаёте пароль. Ссылка действует 7 дней и срабатывает один раз, хотя в тексте письма указано 15 минут. | английский |\n\n### Поддержка и мониторинг\n\n| Тема письма | Когда приходит | Язык текста |\n|---|---|---|\n| «[Ticket #N] …» | Когда служба поддержки ответила на ваш тикет. N — номер тикета, «…» — его тема. В письме текст ответа и кнопка «Vezi conversația». | только румынский |\n| «[BlackBox] Alertă — …» | Когда на вашем сервере сработало оповещение мониторинга и письма об оповещениях включены. «…» — название оповещения. По одному и тому же оповещению — не больше одного письма за 6 часов. | только румынский |\n\nЕсли вы воспользуетесь ссылками для сброса пароля или 2FA на странице входа в панель, придут письма на английском: «Reset your BlackBox password» и «Reset your BlackBox 2FA». Они касаются только входа в панель.\n\n## На каком языке приходят письма\n\n- **Тема** не переводится: она такая, как в таблицах, при любом языке аккаунта.\n- **Текст** — на языке аккаунта. Язык аккаунта становится русским, если вы хотя бы раз зарегистрировались или вошли по email и паролю на русской версии сайта (`blackbox.md/ru`) либо впервые открыли панель именно с русской версии. В остальных случаях текст приходит на румынском.\n- Последующий вход с румынской версии не возвращает румынский язык. Чтобы снова получать письма на румынском, напишите в поддержку.\n- **Исключения:** ответы на тикеты и оповещения приходят только на румынском.\n\n> **Экран на английском**\n> Некоторые письма приходят на английском: об удалении сервера (для аккаунтов на румынском), приглашение и письма для сброса из панели. Их темы и кнопки приведены в статье на английском — так, как они выглядят в письме.\n\nПодробнее: [Язык сайта, панели и писем](#cont.limba).\n\n## В каких случаях писем нет\n\nВ этих случаях BLACKBOX письмо не отправляет. Результат виден в личном кабинете или в панели:\n\n- создание аккаунта (письмо для подтверждения email вы запрашиваете сами на странице «Мой профиль»);\n- вход на blackbox.md или в панель;\n- смена пароля аккаунта;\n- создание или отзыв API-токена;\n- создание тикета, его закрытие или смена статуса командой;\n- выставление счёта командой, в том числе ежемесячного: он появляется только в разделе «Счета»;\n- оплата счёта не через автоплатёж с баланса, например банковским переводом;\n- неудачная или отменённая оплата картой;\n- ошибка при создании сервера: заказ остаётся «В работе» без строки «Сервер: …», а письмо «Serverul dvs. este gata — BBX-…» не приходит;\n- действия в панели: перезагрузка, остановка, запуск, сброс пароля root, SSH-ключи;\n- отмена удаления сервера или аккаунта;\n- устранение оповещения.\n\nЕсли вы оплатили тариф VPS, а через несколько минут заказ всё ещё «В работе» без строки «Сервер: …» и письма «Serverul dvs. este gata» нет, само отсутствие письма и есть сигнал. Напишите нам, указав номер `BBX-…`, или отмените заказ кнопкой «Отменить заказ»: пока сервер не создан, оплаченная сумма полностью возвращается на баланс. Подробнее: [Сервер не появился после оплаты](#faq.serverul-nu-este-gata) и [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\nРегулярно заглядывайте в раздел «Счета», чтобы не пропустить счёт к оплате: [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n\n## Письмо не пришло\n\n1. Подождите несколько минут. Письмо об оплате приходит только после подтверждения оплаты, а письмо о сервере — после создания сервера.\n2. Проверьте папки «Спам» и «Промоакции»: ищите по отправителю «BlackBox», по теме письма или по номеру заказа `BBX-…`.\n3. Если письмо попало в спам, отметьте его как «Не спам» и добавьте отправителя «BlackBox» в контакты. Тогда следующие письма будут приходить во «Входящие».\n4. Откройте «Личный кабинет» → «Профиль» и проверьте, что email указан верно и рядом стоит отметка «Подтверждён». Если видите «Не подтверждён», нажмите «Отправить письмо для подтверждения»: если оно придёт, значит, наши письма до вашего адреса доходят. Изменить адрес в личном кабинете нельзя; если он указан с ошибкой, напишите нам.\n5. Напишите в поддержку на support@blackbox.md или создайте тикет в разделе «Личный кабинет» → «Помощь и поддержка». Укажите номер заказа `BBX-…` (или счёта) и тему письма, которое не пришло.\n\nТе же сведения есть и без письма:\n\n| Письмо | Где посмотреть то же самое |\n|---|---|\n| «Am primit solicitarea dumneavoastră» | «Заказы»: заказ в статусе «Новый» |\n| «Plată confirmată» | «Заказы» (статус «В работе») и «Счета» (счёт `BBX-…` в статусе «Оплачен»). Потерянный PDF запросите на support@blackbox.md |\n| «Serverul dvs. este gata» | панель app.blackbox.md → «Мои серверы»: IP-адрес и «Показать учётные данные» |\n| «Comandă anulată», «Alimentare cont confirmată», «Factură plătită automat din cont» | «Заказы», «Счета» и «Баланс» → «История операций» |\n| «[Ticket #N] …» | «Личный кабинет» → «Помощь и поддержка» → нужный тикет |\n| «[BlackBox] Alertă — …» | панель → «Мониторинг» → карточка «Оповещения» |\n\n## Не отвечайте на автоматические письма\n\n> **Важно**\n> Письма от «BlackBox» отправляются автоматически. Не отвечайте на них: ответ не попадёт в тикет. На тикет отвечайте в разделе «Личный кабинет» → «Помощь и поддержка»; кнопка «Vezi conversația» в письме сразу открывает тикет — на румынской версии сайта. С любыми другими вопросами пишите на support@blackbox.md.\n\nКак с нами связаться: [Как связаться с поддержкой BLACKBOX](#suport.contact) и [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete).\n\n## Как отличить настоящее письмо BLACKBOX\n\n- Отправитель — «BlackBox», а тема совпадает с одной из тем, приведённых в этой статье.\n- Ссылки ведут только на blackbox.md и app.blackbox.md. Прежде чем нажать, проверьте настоящий адрес ссылки (наведите на неё курсор).\n- В автоматических письмах нет ссылок на оплату. Оплату картой вы запускаете только на blackbox.md кнопкой «Оплатить … MDL», а данные карты вводите только на странице Paynet, которую открывает эта кнопка.\n- Если письмо кажется подозрительным, не переходите по ссылкам. Сами наберите `blackbox.md` в браузере, проверьте аккаунт и перешлите письмо нам на support@blackbox.md.\n\n> **Безопасность**\n> Вводите пароль от аккаунта только на blackbox.md и app.blackbox.md. Никому не отправляйте по email пароль, данные карты, приватный SSH-ключ или API-токен (`bbx_pat_…`), даже если письмо выглядит как письмо от BLACKBOX. В письме «Serverul dvs. este gata» может быть пароль root: после первого подключения смените его ([Сброс пароля root](#acces.resetare-parola-root)) и удалите письмо.\n\n## Частые вопросы\n\n**Тема письма на румынском, а текст на русском. Это нормально?**\nДа. Темы фиксированные, а текст следует языку аккаунта. Ответы на тикеты и оповещения в любом случае приходят на румынском.\n\n**Можно получать письма на другой адрес или на несколько адресов?**\nНет. Все письма, включая письма о заказах, приходят на адрес аккаунта. Изменить его в личном кабинете нельзя — для этого напишите в поддержку. Каждый аккаунт blackbox.md получает только свои письма.\n\n**Можно отключить часть писем?**\nТолько письма об оповещениях: в панели «Мониторинг» → карточка «Оповещения» → «Настройки уведомлений» снимите флажок «Присылать письмо при новом оповещении» и нажмите «Сохранить». Остальные письма приходят всегда.\n\n**Сумма в письме отличается от суммы в личном кабинете.**\nВ письмах суммы указаны в целых MDL, без дробной части: пополнение на 75,50 MDL будет показано как 75 MDL. Точная сумма — в разделах «Баланс» и «Счета».\n\n**Пришло письмо «Server termination scheduled» или «Ștergerea contului a fost programată», но я этого не запрашивал.**\nСразу отмените удаление. Для сервера: в панели «Мои серверы» → «Удалить» → «Отменить удаление», до момента, указанного в письме (время указано по UTC). Для аккаунта: на странице «Мой профиль» кнопка «Отменить удаление». Затем смените пароль ([Смена пароля аккаунта](#cont.schimbare-parola)) и напишите нам.\n\n**Не приходят письма об оповещениях.**\nВ блоке «Настройки уведомлений» проверьте флажок «Присылать письмо при новом оповещении» и значение «Минимальная важность». По одному и тому же оповещению приходит не больше одного письма за 6 часов, а при его устранении письма нет. Подробнее: [Оповещения и уведомления по email](#servicii.alerte).\n\n**Я несколько раз запросил письмо для подтверждения, но оно не приходит.**\nОтправляется не больше 3 писем для подтверждения в час; лишние запросы игнорируются без сообщения об ошибке. Подождите час и запросите снова: [Подтверждение адреса email](#cont.verificare-email).\n",
    "en": "BLACKBOX sends you automatic emails at the key steps: order, payment, server, balance, account, support tickets and monitoring alerts. They all go to the email address of your blackbox.md account, which you can see on the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)). Below you'll find the full list, the language of each email and what to do if an email doesn't arrive.\n\n**Available to:** the holder of a blackbox.md account. Emails go only to the account's address; you cannot specify a different address.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Sender and subject\n\n- The sender name shown is “BlackBox”.\n- The subject is fixed, exactly as in the tables below: usually in Romanian, sometimes in English, whatever your account language.\n- The email text is in Romanian or Russian, depending on your account language. The exceptions are shown in the tables.\n- Links in the emails lead only to blackbox.md and app.blackbox.md.\n\n## List of automatic emails\n\nIn the subjects, “…” stands for the part that changes: the order, invoice or ticket number, or the server or alert name.\n\n### Orders and servers\n\n| Subject | When you receive it | Language of the text |\n|---|---|---|\n| “Am primit solicitarea dumneavoastră — BBX-…” (We have received your request — BBX-…) | Right after you place the order, on the website or through the AI assistant, before payment. It contains the order number, the service and the total. | Romanian or Russian |\n| “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) | After the order has been paid, by card or from your balance. The PDF invoice `factura-BBX-….pdf` is attached. | Romanian or Russian |\n| “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) | When the server you ordered has been created. It contains the IP address and the connection details. For dedicated servers, the team contacts you directly. | Romanian or Russian |\n| “Serverul dvs. a fost actualizat — BBX-…” (Your server has been updated — BBX-…) | After an upgrade is completed (“Upgrade server” in the app.blackbox.md panel). It contains the new configuration, the amount charged and the new monthly price. | Romanian or Russian |\n| “Comandă anulată — BBX-…” (Order canceled — BBX-…) | After the order is canceled, by you (“Anulează comanda” (Cancel the order)) or by the team. If you received a refund, it shows the amount returned to your balance; if the server was deleted, it says so. | Romanian or Russian |\n| “Server termination scheduled — …” | Right after you schedule the server's deletion (“Terminate” → “Schedule termination”). It contains the time after which the server will be deleted. | English; Russian if your account language is Russian |\n| “Server deleted — …” | After the 24-hour grace period, when the server has been deleted. | English; Russian if your account language is Russian |\n\nIn the last two subjects, “…” is the server's original name (not the private name you set with “Rename”) or its IP address.\n\n### Payments and balance\n\n| Subject | When you receive it | Language of the text |\n|---|---|---|\n| “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX) | After a balance top-up by card has been confirmed. It shows the amount and your current balance. | Romanian or Russian |\n| “Factură plătită automat din cont — …” (Invoice paid automatically from your account — …) | When automatic payment from your balance (“Reîncărcare automată” (Automatic top-up) turned on in “Sold” (Balance)) has paid an invoice. “…” is the invoice number. | Romanian or Russian |\n\n### Account\n\n| Subject | When you receive it | Language of the text |\n|---|---|---|\n| “Confirmați adresa de email — BlackBox” (Confirm your email address — BlackBox) | After you click “Trimite emailul de verificare” (Send verification email) on “Profilul meu” (My profile). The link is valid for 24 hours and can be used only once. | Romanian or Russian |\n| “Ștergerea contului a fost programată — BlackBox” (Account deletion has been scheduled — BlackBox) | Right after you request the deletion of your account (“Șterge contul meu” (Delete my account)). | Romanian or Russian |\n| “Contul dvs. a fost șters — BlackBox” (Your account has been deleted — BlackBox) | After the 7-day grace period, when the account has been anonymized. It arrives at the address the account had. | Romanian or Russian |\n| “You've been invited to BlackBox” | When the BLACKBOX team has opened an account for you. The “Reset my password” button leads to `blackbox.md/set-password`, where you choose your password. The link works for 7 days and only once, even though the email text says 15 minutes. | English |\n\n### Support and monitoring\n\n| Subject | When you receive it | Language of the text |\n|---|---|---|\n| “[Ticket #N] …” | When the support team replies to your support ticket. N is the ticket number, and “…” is its subject. The email contains the reply and the “Vezi conversația” (View the conversation) button. | Romanian only |\n| “[BlackBox] Alertă — …” ([BlackBox] Alert — …) | When a monitoring alert appears on one of your servers and alert emails are turned on. “…” is the alert name. For the same alert, you receive at most one email every 6 hours. | Romanian only |\n\nIf you use the password or 2FA reset links on the panel's sign-in page, you receive emails in English: “Reset your BlackBox password” and “Reset your BlackBox 2FA”. They concern only signing in to the panel.\n\n## Email language\n\n- **The subject** is not translated: it is the one in the tables, whatever your account language.\n- **The text** is in your account language. Your account language becomes Russian if you have signed up or signed in with email and password at least once on the Russian version of the website (`blackbox.md/ru`), or if you first opened the panel from the Russian version. In all other cases, the text arrives in Romanian.\n- Signing in later on the Romanian version does not switch the language back. To receive emails in Romanian again, write to support.\n- **Exceptions:** support ticket replies and alerts arrive only in Romanian.\n\nDetails: [Language of the website, the panel and emails](#cont.limba).\n\n## When no email is sent\n\nBLACKBOX does not send an email for these events. You see the result in your account or in the panel:\n\n- creating your account (you request the verification email yourself on “Profilul meu” (My profile));\n- signing in to blackbox.md or to the panel;\n- changing your account password;\n- creating or revoking an API token;\n- opening a support ticket, closing it, or the team changing its status;\n- an invoice issued by the team, including the monthly invoice: you see it only in “Facturi” (Invoices);\n- paying an invoice other than through automatic payment from your balance, for example by bank transfer;\n- a failed or canceled card payment;\n- an error while creating the server: the order stays “În lucru” (In progress), without the “Server: …” line, and the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email does not arrive;\n- actions in the panel: reboot, stop, start, root password reset, SSH keys;\n- canceling the deletion of a server or of your account;\n- an alert being resolved.\n\nIf you paid for a VPS plan and, after a few minutes, the order is still “În lucru” without the “Server: …” line, and the “Serverul dvs. este gata” email has not arrived, the missing email is itself the signal. Write to us with the `BBX-…` number, or cancel the order with “Anulează comanda” (Cancel the order): as long as the server has not been created, the amount you paid goes back to your balance in full. Details: [The server does not appear after payment](#faq.serverul-nu-este-gata) and [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\nCheck the “Facturi” page regularly so you don't miss an invoice you need to pay: [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n\n## You didn't receive an email\n\n1. Wait a few minutes. The payment email is sent only after the payment is confirmed, and the server email only after the server is created.\n2. Search your Spam and Promotions folders by the sender “BlackBox”, by the subject or by the order number `BBX-…`.\n3. If the email is in Spam, mark it as a legitimate message (“Not spam”) and add the sender “BlackBox” to your contacts. That way, the next emails reach your Inbox.\n4. Open “Contul meu” (My account) → “Profil” (Profile) and check that the email address is correct and has the “Verificat” (Verified) badge. If you see “Neverificat” (Not verified), click “Trimite emailul de verificare” (Send verification email): if this email arrives, our messages are reaching your address. You cannot change the address in your account; if it is wrong, write to us.\n5. Write to support at support@blackbox.md or through a support ticket in “Contul meu” → “Ajutor și suport” (Help and support). Include the order number `BBX-…` (or the invoice number) and the subject of the missing email.\n\nYou can find the same information without the email:\n\n| Email | Where you see the same information |\n|---|---|\n| “Am primit solicitarea dumneavoastră” (We have received your request) | “Comenzi” (Orders): the order with the “Nou” (New) status |\n| “Plată confirmată” (Payment confirmed) | “Comenzi” (the “În lucru” (In progress) status) and “Facturi” (Invoices) (invoice `BBX-…`, the “Achitată” (Paid) status). If you lost the PDF, request it at support@blackbox.md |\n| “Serverul dvs. este gata” (Your server is ready) | the app.blackbox.md panel → “My Servers”: the IP address and “Reveal credentials” |\n| “Comandă anulată” (Order canceled), “Alimentare cont confirmată” (Account top-up confirmed), “Factură plătită automat din cont” (Invoice paid automatically from your account) | “Comenzi”, “Facturi” and “Sold” (Balance) → “Istoricul operațiunilor” (Transaction history) |\n| “[Ticket #N] …” | “Contul meu” → “Ajutor și suport” → the ticket |\n| “[BlackBox] Alertă — …” ([BlackBox] Alert — …) | the panel → “Monitoring” → the “Alerts” card |\n\n## Don't reply to automatic emails\n\n> **Important**\n> Emails from “BlackBox” are sent automatically. Don't reply to them: your reply is not added to the ticket. Reply to a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support); the “Vezi conversația” (View the conversation) button in the email opens the ticket directly, on the Romanian version of the website. For any other question, write to support@blackbox.md.\n\nHow to write to us: [How to contact BLACKBOX support](#suport.contact) and [Replies, statuses and closing tickets](#suport.statusuri-tichete).\n\n## How to recognize a genuine BLACKBOX email\n\n- The sender is “BlackBox”, and the subject is one of those in this article.\n- Links lead only to blackbox.md and app.blackbox.md. Before you click, check the link's real address (hover your cursor over it).\n- Automatic emails don't contain payment links. You start a card payment only on blackbox.md, with the “Achitați … MDL” (Pay … MDL) button; you enter your card details only on the Paynet page that this button opens.\n- If an email looks suspicious, don't click its links. Type `blackbox.md` into your browser yourself, check your account and forward the email to us at support@blackbox.md.\n\n> **Security**\n> Enter your account password only on blackbox.md and app.blackbox.md. Never send anyone your password, card details, private SSH key or an API token (`bbx_pat_…`) by email, even if the message seems to come from BLACKBOX. The “Serverul dvs. este gata” (Your server is ready) email may contain the root password: after you first connect, change it ([Resetting the root password](#acces.resetare-parola-root)) and delete the email.\n\n## Frequently asked questions\n\n**The subject is in Romanian, but the text is in Russian. Is that normal?**\nYes. Subjects are fixed, and the text follows your account language. Support ticket replies and alerts arrive in Romanian in any case.\n\n**Can I receive emails at a different address or at several addresses?**\nNo. All emails, including those about orders, go to your account's address. You cannot change the address in your account; to change it, write to support. Each blackbox.md account receives only its own emails.\n\n**Can I turn off some emails?**\nOnly alert emails: in the panel, go to “Monitoring” → the “Alerts” card → “Notification preferences”, uncheck “Email me when a new alert fires” and click “Save”. All other emails are always sent.\n\n**The amount in the email is different from the one in my account.**\nIn emails, amounts are shown in whole MDL, without the decimal part: a top-up of 75.50 MDL appears as 75 MDL. You see the exact amount in “Sold” (Balance) and in “Facturi” (Invoices).\n\n**I received “Server termination scheduled” or “Ștergerea contului a fost programată” (Account deletion has been scheduled), but I didn't request it.**\nCancel it immediately. For a server: in the panel, “My Servers” → “Terminate” → “Cancel termination”, before the time given in the email (it is shown in UTC). For your account: on the “Profilul meu” (My profile) page, the “Anulează ștergerea” (Cancel deletion) button. Then change your password ([Changing your account password](#cont.schimbare-parola)) and write to us.\n\n**I don't receive alert emails.**\nIn the “Notification preferences” block, check the “Email me when a new alert fires” checkbox and the “Minimum severity” value. For the same alert, you receive at most one email every 6 hours, and none when it is resolved. Details: [Alerts and email notifications](#servicii.alerte).\n\n**I requested the verification email several times, and it doesn't arrive.**\nAt most 3 verification emails are sent per hour; extra requests are ignored without an error message. Wait an hour and request it again: [Verifying your email address](#cont.verificare-email).\n"
   }
  },
  {
   "id": "suport.servicii-profesionale",
   "section": "suport",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/suport/servicii-profesionale/",
    "ru": "https://docs.blackbox.md/ru/suport/servicii-profesionale/",
    "en": "https://docs.blackbox.md/en/suport/servicii-profesionale/"
   },
   "title": {
    "ro": "Servicii profesionale la cerere: administrare, DevOps, migrare",
    "ru": "Профессиональные услуги: администрирование, DevOps, миграция",
    "en": "Professional services on request: administration, DevOps, migration"
   },
   "summary": {
    "ro": "Ce lucrări preia echipa BLACKBOX la cerere (administrare, DevOps, migrare, consultanță) și cum cereți o ofertă.",
    "ru": "Какие работы команда BLACKBOX берёт на себя по запросу (администрирование, DevOps, миграция, консультации) и как запросить предложение.",
    "en": "What work the BLACKBOX team takes on at your request (administration, DevOps, migration, consulting) and how to request a quote."
   },
   "markdown": {
    "ro": "Pe lângă suportul tehnic inclus, echipa BLACKBOX poate prelua la cerere administrarea serverului, lucrări DevOps, migrarea proiectelor de la alt furnizor și consultanță de arhitectură și securitate. Serviciile sunt descrise pe blackbox.md, în meniul „Soluții” din antetul site-ului, dar nu se comandă online: cereți o ofertă, iar volumul lucrărilor, prețul și condițiile vi le comunică echipa.\n\n**Disponibil pentru:** oricine (cererea prin email sau telefon). Tichetele: doar clienții autentificați pe blackbox.md.\n\n## Suportul inclus și serviciile profesionale\n\nServerele BLACKBOX vin cu acces root, deci le administrați dvs.: actualizările, securitatea, aplicațiile și copiile de rezervă ([Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date)). Suportul tehnic răspunde la întrebări și vă ghidează spre soluție cu instrucțiuni clare. Dacă vreți ca echipa să facă ea lucrarea, este un serviciu profesional, cu ofertă separată.\n\n| | Suport tehnic | Servicii profesionale |\n|---|---|---|\n| Cine face modificările pe server | dvs., după instrucțiunile echipei | echipa, după acordul dvs. |\n| Preț | inclus | în oferta echipei |\n| Cum cereți | tichet, email, telefon | cerere de ofertă prin tichet, email sau telefon |\n\n> **Important**\n> Paginile serviciilor afișează sume, termene și timpi de răspuns orientativi. Pentru dvs. se aplică doar volumul, prețul, condițiile și timpii de răspuns din oferta primită de la echipă.\n\n## Administrarea serverului\n\nPagina „Administrare server profesională” (`/solutions/managed`, „Soluții” → „Administrare”) descrie ce preia echipa:\n\n- **configurarea inițială:** instalarea programelor cerute de proiect, transferul datelor și al site-urilor de pe alte servere, optimizarea, configurarea securității, a monitorizării și a copiilor de rezervă;\n- **monitorizarea:** verificarea continuă a serverului și a proiectelor (spațiul pe disc, încărcarea, procesele, răspunsul serviciilor);\n- **întreținerea regulată:** analiza datelor de monitorizare, verificarea copiilor de rezervă, analiza incidentelor, a log-urilor și a erorilor, actualizările software.\n\nPachetul, prețul, timpul de administrare inclus și timpii de răspuns se stabilesc în ofertă. Volumul se stabilește după nevoile dvs., de la un singur VPS până la mai multe servere. Pentru lucrări peste cele convenite, echipa vă contactează înainte și le face doar cu acordul dvs. Puteți cere și o singură intervenție, fără contract lunar (de exemplu un audit de securitate sau configurarea unui serviciu), facturată pe baza ofertei. Butonul de cerere: „Cere ofertă personalizată”.\n\n## DevOps as a Service\n\nPagina „DevOps as a Service” (`/solutions/devops`, „Soluții” → „Suport DevOps”) descrie lucrările pe care echipa le face pentru aplicațiile dvs.:\n\n| Domeniu | Ce face echipa |\n|---|---|\n| CI/CD | pipeline-uri GitLab CI, GitHub Actions, Jenkins sau Drone: build, testare și deploy automat |\n| Infrastructură ca cod | infrastructura descrisă în Terraform sau Ansible, versionată în Git |\n| Containere | Docker, Kubernetes și Helm, inclusiv mutarea treptată în containere a aplicațiilor existente |\n| Monitorizare | metrici, panouri și alerte pentru aplicațiile dvs. (de exemplu Prometheus și Grafana) |\n| Performanță și securitate | auditul serverului web, al bazei de date și al cache-ului, hardening, scanarea vulnerabilităților |\n\n| Model de colaborare | Cum funcționează |\n|---|---|\n| Retainer lunar | un număr de ore pe lună, pe un buget fix |\n| Proiect cu rezultat definit | o lucrare precisă (de exemplu CI/CD pentru o aplicație), la preț fix |\n| DevOps on demand | plătiți doar intervențiile punctuale |\n\nPagina nu publică prețuri: butonul „Vezi prețuri orientative” duce la pagina de administrare. Modelul potrivit și prețul vi le propune echipa în ofertă. Butonul de cerere: „Cere o evaluare gratuită”.\n\n## Migrarea de la alt furnizor\n\nPagina „Migrare gratuită de la alți furnizori” (`/solutions/migration`, „Soluții” → „Migrarea proiectelor”) descrie mutarea la BLACKBOX, de către echipă, a site-urilor, aplicațiilor, bazelor de date și a emailului. Pagina prezintă ca gratuită migrarea unui singur VPS, cont de hosting sau panou de control către un serviciu BLACKBOX nou. Proiectele complexe (multe servere, o infrastructură personalizată, ferestre de întrerupere foarte scurte) primesc o ofertă individuală. Pentru migrarea dvs. contează condițiile din ofertă.\n\nCum decurge migrarea:\n\n1. **Evaluarea.** Descrieți ce aveți acum; echipa analizează proiectul și vă trimite oferta.\n2. **Pregătirea DNS.** TTL-ul înregistrărilor DNS se reduce din timp, ca schimbarea de la final să se propage repede.\n3. **Copierea.** Echipa copiază sistemul, fișierele și bazele de date pe serverul BLACKBOX cât timp serverul vechi funcționează, apoi sincronizează modificările făcute între timp.\n4. **Testarea.** Pe serverul nou se verifică site-ul, formularele, emailul și bazele de date.\n5. **Comutarea.** După confirmarea dvs., înregistrările DNS se îndreaptă către serverul nou.\n6. **Copia veche.** Infrastructura veche se arhivează doar după ce confirmați că totul funcționează.\n\nButonul de cerere: „Cere o evaluare gratuită”.\n\n> **Sfat**\n> Nu închideți contul la vechiul furnizor până nu confirmați că totul funcționează pe serverul BLACKBOX. Dacă preferați să mutați site-ul singur, urmați ghidul [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site).\n\n## Consultanță de arhitectură și securitate\n\nLa cerere, echipa ține sesiuni de consultanță despre arhitectura aplicației, designul infrastructurii sau auditul de securitate, inclusiv despre conformitatea cu GDPR sau ISO 27001 (certificarea propriu-zisă o face un auditor independent). Prețul și durata sunt în ofertă.\n\n## Cum cereți o ofertă\n\n| Serviciu | Meniu | Buton |\n|---|---|---|\n| Administrare | „Soluții” → „Administrare” | „Cere ofertă personalizată” |\n| DevOps | „Soluții” → „Suport DevOps” | „Cere o evaluare gratuită” |\n| Migrare | „Soluții” → „Migrarea proiectelor” | „Cere o evaluare gratuită” |\n| Consultanță | — | scrieți-ne direct |\n\n1. Pe pagina serviciului apăsați butonul din tabel. Butonul „Contactați-ne” din partea de jos a paginii duce în același loc.\n2. Se deschide pagina „Contacte” (`/info/contacts`), cu telefonul, WhatsApp și adresa de email. Alegeți canalul:\n   - **tichet:** „Contul meu” → „Ajutor și suport” → „Tichet nou” (trebuie să fiți autentificat);\n   - **email:** support@blackbox.md;\n   - **telefon sau WhatsApp:** +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n3. Dacă alegeți tichetul, completați „Subiect”, de exemplu „Cerere ofertă: administrare server”. Dacă cererea privește un server pe care îl aveți deja, scrieți-i numele sau IP-ul în „Server (opțional)”.\n4. În „Descrieți problema” scrieți datele din tabelul de mai jos și apăsați „Trimite tichetul”. Pe email sau la telefon comunicați aceleași date.\n5. Echipa vă răspunde cu întrebări sau cu oferta. La un tichet, răspunsul apare pe pagina tichetului și vă vine și pe email.\n\n| Ce indicați | Exemple |\n|---|---|\n| Serviciul | administrare, DevOps, migrare, consultanță |\n| Serverele | numărul comenzii (`BBX-…`) sau IP-ul serverelor BLACKBOX; pentru migrare, furnizorul actual și ce mutați (VPS, cont de hosting, panou de control) |\n| Ce rulează pe ele | sistemul de operare, serverul web, bazele de date și dimensiunea lor, emailul, panoul de control |\n| Ce vreți să obțineți | administrare lunară, un pipeline CI/CD, o mutare fără întrerupere, un audit |\n| Termene și restricții | data până la care trebuie gata, intervalele în care se poate face comutarea |\n| Datele pentru factură | denumirea companiei, IDNO și adresa; pentru persoană fizică, numele complet |\n\n> **Atenție**\n> Nu scrieți în cerere parole, chei SSH private sau token-uri API. Modul în care oferiți echipei acces la servere îl stabiliți împreună cu ea.\n\nToate canalele și programul: [Cum contactați suportul BLACKBOX](#suport.contact). Produsele care se cer tot prin echipă (Windows VPS, Cloud Storage și altele): [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere).\n\n## Întrebări frecvente\n\n**Cât costă un serviciu profesional?**\nPrețul este în ofertă și depinde de volumul lucrărilor. Sumele de pe paginile serviciilor sunt orientative.\n\n**Pot cere migrarea înainte să am un server BLACKBOX?**\nDa. Descrieți proiectul; puteți cere și o recomandare de plan. Pagina leagă migrarea gratuită de un serviciu BLACKBOX nou; condițiile exacte sunt în ofertă.\n\n**Administrați și servere care nu sunt găzduite la BLACKBOX?**\nServiciile sunt gândite pentru serverele găzduite la BLACKBOX. Pentru alte servere, condițiile se discută individual.\n\n**Este același lucru cu serviciile suplimentare ale serverului?**\nNu. Serviciile suplimentare, cum este „Monitoring 24/7”, se adaugă la comanda unui server și se plătesc lunar împreună cu el: vedeți [Servicii suplimentare pentru server](#servicii.servicii-suplimentare). Serviciile profesionale sunt lucrări făcute de echipă pe baza unei oferte.\n\n**Echipa face modificări pe server fără să mă întrebe?**\nNu. În cadrul serviciilor profesionale, echipa lucrează pe server doar cu acordul dvs., iar lucrările peste cele convenite le face doar după confirmarea dvs.\n",
    "ru": "Помимо включённой технической поддержки, команда BLACKBOX по запросу может взять на себя администрирование сервера, DevOps-задачи, перенос проектов от другого провайдера и консультации по архитектуре и безопасности. Эти услуги описаны на blackbox.md в меню «Решения» в шапке сайта, но онлайн не заказываются: вы запрашиваете предложение, а объём работ, цену и условия называет команда.\n\n**Доступно:** всем (запрос по email или телефону). Тикеты — только клиентам, вошедшим в аккаунт на blackbox.md.\n\n## Что входит в поддержку, а что — отдельная услуга\n\nСерверы BLACKBOX предоставляются с root-доступом, поэтому администрируете их вы: обновления, безопасность, приложения и резервные копии ([Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date)). Техническая поддержка отвечает на вопросы и даёт понятные инструкции, как решить задачу. Если вы хотите, чтобы работу выполнила сама команда, это профессиональная услуга с отдельным предложением.\n\n| | Техническая поддержка | Профессиональные услуги |\n|---|---|---|\n| Кто вносит изменения на сервере | вы, по инструкциям команды | команда, с вашего согласия |\n| Цена | включена | в предложении команды |\n| Как запросить | тикет, email, телефон | запрос предложения: тикет, email или телефон |\n\n> **Важно**\n> На страницах услуг указаны ориентировочные суммы, сроки и время отклика. Для вас действуют только объём, цена, условия и время отклика из предложения, которое пришлёт команда.\n\n## Администрирование сервера\n\nСтраница «Профессиональное администрирование сервера» (`/ru/solutions/managed`, «Решения» → «Администрирование») описывает, что команда берёт на себя:\n\n- **первоначальная настройка:** установка нужного проекту ПО, перенос данных и сайтов с других серверов, оптимизация, настройка безопасности, мониторинга и резервного копирования;\n- **мониторинг:** постоянная проверка сервера и проектов (свободное место на диске, нагрузка, процессы, отклик сервисов);\n- **регулярное обслуживание:** анализ данных мониторинга, проверка резервных копий, разбор инцидентов, логов и ошибок, обновление ПО.\n\nПакет, цена, включённое время администрирования и время отклика фиксируются в предложении. Объём согласуется под ваши задачи — от одного VPS до нескольких серверов. Если требуются работы сверх согласованных, команда заранее связывается с вами и выполняет их только с вашего согласия. Можно заказать и разовую работу без ежемесячного договора (например, аудит безопасности или настройку одного сервиса) — она оплачивается по предложению. Кнопка запроса: «Запросить индивидуальное предложение».\n\n## DevOps as a Service\n\nСтраница «DevOps as a Service» (`/ru/solutions/devops`, «Решения» → «DevOps-поддержка») описывает, что команда делает для ваших приложений:\n\n| Направление | Что делает команда |\n|---|---|\n| CI/CD | конвейеры GitLab CI, GitHub Actions, Jenkins или Drone: автоматическая сборка, тестирование и деплой |\n| Инфраструктура как код | описание инфраструктуры в Terraform или Ansible с хранением в Git |\n| Контейнеры | Docker, Kubernetes и Helm, включая поэтапный перевод существующих приложений в контейнеры |\n| Мониторинг | метрики, дашборды и оповещения для ваших приложений (например, Prometheus и Grafana) |\n| Производительность и безопасность | аудит веб-сервера, базы данных и кэша, усиление защиты, сканирование уязвимостей |\n\n| Модель сотрудничества | Как это работает |\n|---|---|\n| Ежемесячный абонемент (retainer) | определённое число часов в месяц в рамках фиксированного бюджета |\n| Проект с заданным результатом | конкретная работа (например, CI/CD для приложения) по фиксированной цене |\n| DevOps по запросу | вы оплачиваете только точечные работы |\n\nЦены на странице не опубликованы: кнопка «Ориентировочные цены» ведёт на страницу администрирования. Подходящую модель и цену команда укажет в предложении. Кнопка запроса: «Запросить бесплатную оценку».\n\n## Миграция от другого провайдера\n\nСтраница «Бесплатная миграция от других провайдеров» (`/ru/solutions/migration`, «Решения» → «Миграция проектов») описывает перенос сайтов, приложений, баз данных и почты в BLACKBOX силами команды. Согласно странице, бесплатно переносится один VPS, хостинг-аккаунт или панель управления в новую услугу BLACKBOX. Для сложных проектов (много серверов, нестандартная инфраструктура, очень короткие окна простоя) готовится индивидуальное предложение. Для вашей миграции действуют условия из предложения.\n\nКак проходит миграция:\n\n1. **Оценка.** Вы описываете текущую инфраструктуру, команда анализирует проект и присылает предложение.\n2. **Подготовка DNS.** TTL DNS-записей заранее снижают, чтобы при переключении новые записи быстро разошлись по сети.\n3. **Копирование.** Команда копирует систему, файлы и базы данных на сервер BLACKBOX, пока старый сервер продолжает работать, а затем синхронизирует изменения, внесённые за это время.\n4. **Тестирование.** На новом сервере проверяются сайт, формы, почта и базы данных.\n5. **Переключение.** После вашего подтверждения DNS-записи направляются на новый сервер.\n6. **Старая копия.** Старую инфраструктуру архивируют только после того, как вы подтвердите, что всё работает.\n\nКнопка запроса: «Запросить бесплатную оценку».\n\n> **Совет**\n> Не закрывайте аккаунт у прежнего провайдера, пока не убедитесь, что на сервере BLACKBOX всё работает. Если хотите перенести сайт самостоятельно, воспользуйтесь руководством [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site).\n\n## Консультации по архитектуре и безопасности\n\nПо запросу команда проводит консультации по архитектуре приложения, проектированию инфраструктуры или аудиту безопасности, в том числе по соответствию GDPR или ISO 27001 (саму сертификацию проводит независимый аудитор). Цена и продолжительность указываются в предложении.\n\n## Как запросить предложение\n\n| Услуга | Меню | Кнопка |\n|---|---|---|\n| Администрирование | «Решения» → «Администрирование» | «Запросить индивидуальное предложение» |\n| DevOps | «Решения» → «DevOps-поддержка» | «Запросить бесплатную оценку» |\n| Миграция | «Решения» → «Миграция проектов» | «Запросить бесплатную оценку» |\n| Консультации | — | напишите нам напрямую |\n\n1. На странице услуги нажмите кнопку из таблицы. Кнопка «Свяжитесь с нами» внизу страницы ведёт туда же.\n2. Откроется страница «Контакты» (`/ru/info/contacts`) с телефоном, WhatsApp и адресом email. Выберите канал связи:\n   - **тикет:** «Личный кабинет» → «Помощь и поддержка» → «Новый тикет» (нужно войти в аккаунт);\n   - **email:** support@blackbox.md;\n   - **телефон или WhatsApp:** +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы.\n3. Если вы выбрали тикет, заполните поле «Тема», например «Запрос предложения: администрирование сервера». Если запрос касается уже имеющегося у вас сервера, укажите его название или IP в поле «Сервер (необязательно)».\n4. В поле «Опишите проблему» укажите данные из таблицы ниже и нажмите «Отправить тикет». По email или по телефону сообщите те же данные.\n5. Команда ответит уточняющими вопросами или пришлёт предложение. Если вы писали в тикет, ответ появится на странице тикета и продублируется на email.\n\n| Что указать | Примеры |\n|---|---|\n| Услуга | администрирование, DevOps, миграция, консультация |\n| Серверы | номер заказа (`BBX-…`) или IP серверов BLACKBOX; для миграции — текущий провайдер и что переносится (VPS, хостинг-аккаунт, панель управления) |\n| Что на них работает | операционная система, веб-сервер, базы данных и их объём, почта, панель управления |\n| Чего вы хотите добиться | ежемесячное администрирование, CI/CD-конвейер, переезд без простоя, аудит |\n| Сроки и ограничения | к какой дате нужен результат, в какие часы можно переключаться |\n| Данные для счёта | название компании, IDNO и адрес; для физлица — полное имя |\n\n> **Внимание**\n> Не указывайте в запросе пароли, приватные SSH-ключи и API-токены. Как предоставить команде доступ к серверам, вы договоритесь с ней отдельно.\n\nВсе каналы связи и часы работы: [Как связаться с поддержкой BLACKBOX](#suport.contact). Продукты, которые тоже запрашиваются через команду (Windows VPS, Cloud Storage и другие): [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere).\n\n## Частые вопросы\n\n**Сколько стоит профессиональная услуга?**\nЦена указывается в предложении и зависит от объёма работ. Суммы на страницах услуг ориентировочные.\n\n**Можно ли запросить миграцию, если сервера BLACKBOX у меня ещё нет?**\nДа. Опишите проект; можно заодно попросить подобрать тариф. Согласно странице, бесплатная миграция связана с новой услугой BLACKBOX; точные условия — в предложении.\n\n**Вы администрируете серверы, размещённые не у BLACKBOX?**\nУслуги рассчитаны на серверы, размещённые у BLACKBOX. Для других серверов условия обсуждаются индивидуально.\n\n**Это то же самое, что дополнительные услуги для сервера?**\nНет. Дополнительные услуги, например «Мониторинг 24/7», подключаются к заказу сервера и оплачиваются ежемесячно вместе с ним: см. [Дополнительные услуги для сервера](#servicii.servicii-suplimentare). Профессиональные услуги — это работы команды по согласованному предложению.\n\n**Может ли команда что-то изменить на сервере без моего ведома?**\nНет. В рамках профессиональных услуг команда работает на сервере только с вашего согласия, а работы сверх согласованных выполняет только после вашего подтверждения.\n",
    "en": "In addition to the included technical support, the BLACKBOX team can take on, at your request, server administration, DevOps work, migrating your projects from another provider, and architecture and security consulting. These services are described on blackbox.md, in the “Soluții” (Solutions) menu in the website header, but they can't be ordered online: you request a quote, and the team tells you the scope of work, the price and the terms.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** anyone (requests by email or phone). Support tickets: only customers signed in on blackbox.md.\n\n## Included support and professional services\n\nBLACKBOX servers come with root access, so you administer them yourself: updates, security, applications and backups ([Responsibility for server data and backups](#legal.responsabilitate-date)). Technical support answers your questions and guides you to a solution with clear instructions. If you want the team to do the work itself, that is a professional service, with a separate quote.\n\n| | Technical support | Professional services |\n|---|---|---|\n| Who makes the changes on the server | you, following the team's instructions | the team, with your consent |\n| Price | included | in the team's quote |\n| How to request it | support ticket, email, phone | quote request by support ticket, email or phone |\n\n> **Important**\n> The service pages show indicative amounts, deadlines and response times. What applies to you is only the scope, price, terms and response times in the quote you receive from the team.\n\n## Server administration\n\nThe “Administrare server profesională” (Professional server administration) page (`/solutions/managed`, “Soluții” (Solutions) → “Administrare” (Administration)) describes what the team takes on:\n\n- **initial setup:** installing the software your project needs, transferring data and websites from other servers, optimization, and setting up security, monitoring and backups;\n- **monitoring:** continuous checks of the server and your projects (disk space, load, processes, service response);\n- **regular maintenance:** reviewing monitoring data, checking backups, analyzing incidents, logs and errors, software updates.\n\nThe package, the price, the administration time included and the response times are set in the quote. The scope is set to fit your needs, from a single VPS to several servers. For work beyond what was agreed, the team contacts you first and does it only with your consent. You can also request a one-off job without a monthly contract (for example a security audit or setting up a service), invoiced based on the quote. Request button: “Cere ofertă personalizată” (Request a custom quote).\n\n## DevOps as a Service\n\nThe “DevOps as a Service” page (`/solutions/devops`, “Soluții” (Solutions) → “Suport DevOps” (DevOps support)) describes the work the team does for your applications:\n\n| Area | What the team does |\n|---|---|\n| CI/CD | GitLab CI, GitHub Actions, Jenkins or Drone pipelines: automated build, testing and deployment |\n| Infrastructure as code | infrastructure described in Terraform or Ansible, versioned in Git |\n| Containers | Docker, Kubernetes and Helm, including gradually moving existing applications into containers |\n| Monitoring | metrics, dashboards and alerts for your applications (for example Prometheus and Grafana) |\n| Performance and security | audit of the web server, the database and the cache, hardening, vulnerability scanning |\n\n| Collaboration model | How it works |\n|---|---|\n| Monthly retainer | a set number of hours per month, on a fixed budget |\n| Project with a defined result | a specific piece of work (for example CI/CD for one application), at a fixed price |\n| DevOps on demand | you pay only for one-off interventions |\n\nThe page does not publish prices: the “Vezi prețuri orientative” (See indicative prices) button takes you to the administration page. The team proposes the right model and the price in its quote. Request button: “Cere o evaluare gratuită” (Request a free assessment).\n\n## Migrating from another provider\n\nThe “Migrare gratuită de la alți furnizori” (Free migration from other providers) page (`/solutions/migration`, “Soluții” (Solutions) → “Migrarea proiectelor” (Project migration)) describes how the team moves your websites, applications, databases and email to BLACKBOX. The page presents the migration of a single VPS, hosting account or control panel to a new BLACKBOX service as free. Complex projects (many servers, custom infrastructure, very short downtime windows) get an individual quote. For your migration, the terms in your quote are what apply.\n\nHow the migration works:\n\n1. **Assessment.** You describe what you have now; the team analyzes the project and sends you a quote.\n2. **DNS preparation.** The TTL of the DNS records is lowered in advance, so that the final switch propagates quickly.\n3. **Copying.** The team copies the system, files and databases to the BLACKBOX server while the old server keeps running, then syncs the changes made in the meantime.\n4. **Testing.** The website, forms, email and databases are checked on the new server.\n5. **Switchover.** After you confirm, the DNS records are pointed to the new server.\n6. **The old copy.** The old infrastructure is archived only after you confirm that everything works.\n\nRequest button: “Cere o evaluare gratuită” (Request a free assessment).\n\n> **Tip**\n> Don't close your account with your old provider until you have confirmed that everything works on the BLACKBOX server. If you prefer to move the website yourself, follow the guide [Moving a site to a BLACKBOX server](#ghiduri.migrare-site).\n\n## Architecture and security consulting\n\nOn request, the team holds consulting sessions on application architecture, infrastructure design or security audits, including compliance with GDPR or ISO 27001 (the certification itself is done by an independent auditor). The price and duration are in the quote.\n\n## How to request a quote\n\n| Service | Menu | Button |\n|---|---|---|\n| Administration | “Soluții” (Solutions) → “Administrare” (Administration) | “Cere ofertă personalizată” (Request a custom quote) |\n| DevOps | “Soluții” → “Suport DevOps” (DevOps support) | “Cere o evaluare gratuită” (Request a free assessment) |\n| Migration | “Soluții” → “Migrarea proiectelor” (Project migration) | “Cere o evaluare gratuită” |\n| Consulting | — | write to us directly |\n\n1. On the service page, click the button listed in the table. The “Contactați-ne” (Contact us) button at the bottom of the page takes you to the same place.\n2. The “Contacte” (Contacts) page (`/info/contacts`) opens, with the phone number, WhatsApp and the email address. Choose a channel:\n   - **support ticket:** “Contul meu” (My account) → “Ajutor și suport” (Help and support) → “Tichet nou” (New ticket) (you must be signed in);\n   - **email:** support@blackbox.md;\n   - **phone or WhatsApp:** +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n3. If you choose a support ticket, fill in “Subiect” (Subject), for example “Quote request: server administration”. If your request is about a server you already have, enter its name or IP address in “Server (opțional)” (Server (optional)).\n4. In “Descrieți problema” (Describe the problem), enter the details from the table below, then click “Trimite tichetul” (Send ticket). By email or phone, give the same details.\n5. The team replies with questions or with the quote. For a support ticket, the reply appears on the ticket page and is also sent to you by email.\n\n| What to include | Examples |\n|---|---|\n| The service | administration, DevOps, migration, consulting |\n| The servers | the order number (`BBX-…`) or the IP addresses of your BLACKBOX servers; for a migration, your current provider and what you are moving (VPS, hosting account, control panel) |\n| What runs on them | the operating system, the web server, the databases and their size, email, the control panel |\n| What you want to achieve | monthly administration, a CI/CD pipeline, a move without downtime, an audit |\n| Deadlines and constraints | the date by which the work must be ready, the time windows when the switchover can be done |\n| Details for the invoice | company name, IDNO and address; for an individual, full name |\n\n> **Warning**\n> Don't put passwords, private SSH keys or API tokens in your request. You agree with the team on how to give it access to your servers.\n\nAll channels and hours: [How to contact BLACKBOX support](#suport.contact). Products you also request through the team (Windows VPS, Cloud Storage and others): [Products and configurations available on request](#comenzi.produse-la-cerere).\n\n## Frequently asked questions\n\n**How much does a professional service cost?**\nThe price is in the quote and depends on the scope of the work. The amounts on the service pages are indicative.\n\n**Can I request a migration before I have a BLACKBOX server?**\nYes. Describe your project; you can also ask for a plan recommendation. The page ties the free migration to a new BLACKBOX service; the exact terms are in the quote.\n\n**Do you also manage servers that are not hosted at BLACKBOX?**\nThe services are designed for servers hosted at BLACKBOX. For other servers, the terms are discussed individually.\n\n**Is this the same as the server's add-on services?**\nNo. Add-on services, such as “Monitoring 24/7”, are added to a server's order and paid monthly together with it: see [Add-on services for your server](#servicii.servicii-suplimentare). Professional services are work done by the team based on a quote.\n\n**Does the team make changes on my server without asking me?**\nNo. Under professional services, the team works on your server only with your consent, and does any work beyond what was agreed only after you confirm.\n"
   }
  },
  {
   "id": "faq.nu-ma-pot-conecta-ssh",
   "section": "faq",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/nu-ma-pot-conecta-ssh/",
    "ru": "https://docs.blackbox.md/ru/faq/nu-ma-pot-conecta-ssh/",
    "en": "https://docs.blackbox.md/en/faq/nu-ma-pot-conecta-ssh/"
   },
   "title": {
    "ro": "Nu mă pot conecta prin SSH",
    "ru": "Не удаётся подключиться по SSH",
    "en": "I can't connect over SSH"
   },
   "summary": {
    "ro": "Diagnosticare după mesajul de eroare: timeout, connection refused, permission denied, amprenta serverului schimbată.",
    "ru": "Диагностика по тексту ошибки: timeout, connection refused, permission denied, изменённый ключ хоста.",
    "en": "Diagnose the problem by the error message: timeout, connection refused, permission denied, a changed server fingerprint."
   },
   "markdown": {
    "ro": "Ce faceți când comanda `ssh root@IP_SERVER` sau PuTTY nu se conectează la server. Căutați în tabelul de mai jos mesajul pe care îl vedeți: el arată dacă problema este la rețea, la serviciul SSH sau la autentificare. Ce se poate rezolva din panou rezolvați pe cardul serverului, în pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”; din blackbox.md: „Contul meu” → „Panou de administrare”).\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul. Pe cardurile marcate „Administrat” butoanele panoului lipsesc: scrieți suportului.\n\n> **Notă**\n> Clienții nu au consolă web sau VNC. „Pornește”, „Oprește” și „Repornește” funcționează și fără SSH. În schimb, „Resetează parola”, „Adaugă cheie SSH”, „Activează login cu parolă” și „Dezactivează login cu parolă” se conectează la server prin SSH, pe portul 22, cu „Cheie de administrare (blackbox.md)”. Ele vă ajută când parola sau cheia dvs. nu este acceptată, dar nu și când SSH-ul serverului nu răspunde deloc.\n\n## Ce verificați mai întâi\n\n- **Adresa IP.** Copiați-o de pe cardul serverului, câmpul „IP” (butonul de lângă adresă afișează „Copiat”). Nu vă conectați după domeniu: este posibil să nu indice încă spre server.\n- **Utilizatorul** este `root`.\n- **Portul** este 22, dacă nu l-ați schimbat dvs.\n- **Modul de autentificare** îl arată insigna de lângă numele serverului: „Parolă + cheie” sau „Doar cheie”. Pe un server „Doar cheie” parola nu funcționează prin SSH.\n- **Serverul este nou?** Emailul „Serverul dvs. este gata — BBX-…” poate sosi cu aproximativ un minut înainte ca SSH să răspundă. Așteptați un minut și reîncercați.\n\n## Mesajul de eroare, cauza și soluția\n\n| Mesaj | Cauză probabilă | Ce faceți |\n|---|---|---|\n| `Connection timed out` (macOS: `Operation timed out`; PuTTY: `Network error: Connection timed out`) | serverul este oprit, IP-ul este greșit, serverul tocmai a fost creat, rețeaua dvs. blochează portul 22 sau firewall-ul din sistem aruncă conexiunea | secțiunea „Connection timed out” |\n| `Connection refused` (PuTTY: `Network error: Connection refused`) | SSH nu rulează sau încă pornește, l-ați mutat pe alt port, ori firewall-ul din sistem sau fail2ban respinge conexiunea | secțiunea „Connection refused” |\n| `No route to host` | firewall-ul din sistem (de exemplu `firewalld`) respinge conexiunea sau există o problemă de rețea | secțiunea „Connection timed out”, pasul 5; verificați și portul (secțiunea „Verificări din calculatorul dvs.”) |\n| `Could not resolve hostname` | adresa este scrisă greșit sau domeniul nu indică spre server | conectați-vă cu adresa IP de pe card |\n| `Permission denied (publickey)` (PuTTY: `No supported authentication methods available (server sent: publickey)` sau `Server refused our key`) | server „Doar cheie”, iar cheia dvs. nu este instalată sau calculatorul oferă altă cheie; alt utilizator decât `root` | secțiunea „Permission denied (publickey)” |\n| `Permission denied, please try again.`, la final `Permission denied (publickey,password).` (PuTTY: `Access denied`) | parolă greșită sau schimbată cu `passwd` | secțiunea „Permission denied” la parolă |\n| `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!` și `Host key verification failed.` | calculatorul dvs. are salvată altă amprentă pentru această adresă IP | secțiunea „REMOTE HOST IDENTIFICATION HAS CHANGED” |\n| `Too many authentication failures` | calculatorul oferă prea multe chei înainte de cea corectă | secțiunea „Too many authentication failures” |\n| `WARNING: UNPROTECTED PRIVATE KEY FILE!` | fișierul cheii private are permisiuni prea largi (macOS, Linux) | secțiunea „Permission denied (publickey)”, la final |\n\n## „Connection timed out”: serverul nu răspunde\n\nConexiunea nu ajunge la server sau nu primește niciun răspuns. Verificați în ordine:\n\n1. **IP-ul.** Comparați adresa din comandă cu câmpul „IP” de pe card.\n2. **Serverul tocmai a fost creat.** Așteptați un minut și reîncercați.\n3. **Serverul este oprit.** Panoul nu arată dacă serverul este pornit sau oprit: eticheta „active” de pe card înseamnă doar că serverul este activ în contul dvs. Dacă l-ați oprit sau nu sunteți sigur, apăsați „Pornește” pe card și confirmați „Porniți NUME_SERVER?” cu „OK”. Așteptați câteva minute și reîncercați. Mesajul `power_action_failed` după „Pornește” înseamnă de obicei că serverul era deja pornit. Detalii: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n4. **Rețeaua dvs. blochează portul 22.** Unele rețele de birou, hoteluri și Wi-Fi publice nu permit SSH. Încercați din altă rețea, de exemplu de pe internetul mobil. Dacă de acolo merge, adresați-vă administratorului rețelei inițiale sau vedeți secțiunea despre fail2ban.\n5. **Firewall-ul din sistem aruncă conexiunea.** De exemplu, ați activat `ufw` sau `firewalld` fără să permiteți portul 22. Atunci nici butoanele panoului care folosesc SSH nu funcționează. Apăsați „Repornește”: ajută doar dacă regula nu a fost salvată permanent. Altfel: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\nFiltrarea din rețea administrată de BLACKBOX lasă să treacă SSH pe portul 22, deci nu blochează o conectare obișnuită: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## „Connection refused”: serverul răspunde, dar SSH nu acceptă conexiunea\n\nServerul este pornit și accesibil din rețea, dar pe portul 22 nu ascultă nimic sau conexiunea este respinsă.\n\n| Cauză | Ce faceți |\n|---|---|\n| Serverul tocmai a pornit și SSH încă se încarcă | așteptați un minut și reîncercați |\n| Ați mutat SSH pe alt port | filtrarea din rețea lasă să treacă implicit doar porturile 22, 80 și 443, iar panoul se conectează tot pe portul 22. Dacă suportul v-a deschis noul port, conectați-vă cu `-p` și noul port (comanda de mai jos); altfel scrieți suportului |\n| Serviciul SSH este oprit (de exemplu, cu `systemctl stop`) | apăsați „Repornește”: la pornirea sistemului, SSH se lansează automat, dacă nu l-ați dezactivat |\n| Configurația SSH este stricată și serviciul nu pornește | „Repornește” nu ajută; scrieți suportului |\n| Firewall-ul din sistem sau fail2ban respinge conexiunea | vedeți pasul 5 de la „Connection timed out” și secțiunea despre fail2ban |\n\n```bash\nssh -p PORT root@IP_SERVER\n```\n\n## „Permission denied (publickey)”: cheia nu este acceptată\n\nServerul răspunde, dar acceptă doar chei, iar cheia oferită de calculatorul dvs. nu este printre cele instalate.\n\n1. Conectați-vă ca `root`. Datele de acces de la BLACKBOX sunt pentru `root`, nu pentru alți utilizatori.\n2. Indicați explicit cheia privată, adică fișierul fără `.pub`. Dacă fișierul cheii are alt nume (de exemplu `id_rsa`), folosiți acel nume în comenzile de mai jos.\n\n   ```bash\n   ssh -i ~/.ssh/id_ed25519 root@IP_SERVER\n   ```\n\n   În PowerShell:\n\n   ```powershell\n   ssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@IP_SERVER\n   ```\n\n   În PuTTY, fișierul `.ppk` îl alegeți la „Connection” → „SSH” → „Auth” → „Credentials”: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n3. Verificați dacă cheia este pe server. Pe card apăsați „Adaugă cheie SSH”: sus apare lista „Chei instalate”, cu începutul amprentei fiecărei chei (de exemplu `SHA256:Ab12Cd34Ef56G…`). Afișați amprenta cheii dvs. și comparați începutul:\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n   În PowerShell:\n\n   ```powershell\n   ssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n   ```\n\n4. Dacă cheia lipsește, alegeți „Lipește o cheie nouă”, lipiți conținutul fișierului `.pub` și apăsați „Adaugă cheia”. Apare mesajul „Cheie adăugată.”. Dacă ați salvat cheia în „Contul meu” → „Chei SSH”, alegeți „Folosește o cheie salvată”. Cu PuTTYgen, copiați textul din câmpul „Public key for pasting into OpenSSH authorized_keys file”: o singură linie care începe cu `ssh-ed25519` sau `ssh-rsa`. Detalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server).\n5. Conectați-vă din nou.\n\nDacă ați pierdut cheia privată sau vreți să intrați temporar cu parola („Activează login cu parolă” și apoi „Resetează parola”): [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n\nDacă SSH afișează `WARNING: UNPROTECTED PRIVATE KEY FILE!` și ignoră cheia, fișierul cheii are permisiuni prea largi. Pe macOS și Linux:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\n## „Permission denied” la parolă\n\nMesajul `Permission denied, please try again.` apare după fiecare parolă greșită. După trei încercări, SSH închide conexiunea cu `Permission denied (publickey,password).`.\n\n1. Pe card apăsați „Afișează datele de acces” și confirmați „Afișați datele de acces salvate pentru NUME_SERVER? Accesul este înregistrat.”. Apare caseta cu „Utilizator” și „Parolă”.\n2. Copiați parola și lipiți-o când SSH o cere (în PowerShell și în PuTTY, cu clic dreapta). Parola nu apare pe ecran în timp ce o introduceți.\n3. Dacă nici așa nu merge, probabil ați schimbat parola cu `passwd`: panoul arată parola pe care a salvat-o el, la creare sau la ultima resetare. Apăsați „Resetează parola” și confirmați „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.”. Parola nouă apare în aceeași casetă. Puteți reseta parola de cel mult 3 ori în 5 minute: [Resetarea parolei root](#acces.resetare-parola-root).\n\nUn server „Doar cheie” nu acceptă parole prin SSH, nici după resetare: SSH nici nu vă cere parola și răspunde cu `Permission denied (publickey)`. Folosiți cheia sau apăsați „Activează login cu parolă”: [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\nDacă ați instalat fail2ban, mai multe parole greșite la rând vă pot bloca adresa IP: vedeți secțiunea despre fail2ban.\n\n## „REMOTE HOST IDENTIFICATION HAS CHANGED”\n\nLa o conectare anterioară, calculatorul dvs. a salvat altă amprentă pentru această adresă IP: de exemplu, adresa a aparținut înainte altui server la care v-ați conectat sau sistemul a fost reinstalat. SSH refuză conectarea până ștergeți amprenta veche (comanda funcționează și în PowerShell):\n\n```bash\nssh-keygen -R IP_SERVER\n```\n\nConectați-vă din nou și confirmați noua amprentă cu `yes`. În PuTTY, la fereastra „PuTTY Security Alert” apăsați „Accept”.\n\n> **Atenție**\n> Dacă nu ați primit un server nou pe o adresă IP folosită înainte și sistemul nu a fost reinstalat, nu continuați conectarea și scrieți suportului. O amprentă schimbată fără motiv poate însemna că cineva interceptează conexiunea.\n\n## „Too many authentication failures”\n\nAgentul SSH de pe calculatorul dvs. are mai multe chei încărcate și le oferă pe rând. Serverul închide conexiunea după un număr limitat de încercări, înainte să ajungă la cheia corectă. Indicați o singură cheie:\n\n```bash\nssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@IP_SERVER\n```\n\nPe un server „Parolă + cheie”, ca să intrați direct cu parola, fără să se încerce cheile:\n\n```bash\nssh -o PubkeyAuthentication=no root@IP_SERVER\n```\n\n## Adresa dvs. IP a fost blocată de fail2ban\n\nSecțiunea vă privește dacă ați instalat fail2ban pe server. După prea multe autentificări greșite, fail2ban blochează adresa IP de la care au venit: din rețeaua dvs. conexiunea este refuzată sau expiră, dar din altă rețea merge.\n\n1. Din rețeaua blocată, deschideți `https://ip.blackbox.md` și notați adresa afișată: aceasta este adresa blocată ([Instrumentul „Adresa ta IP”](#domenii.adresa-ip)).\n2. Conectați-vă la server din altă rețea, de exemplu de pe internetul mobil.\n3. Verificați adresele blocate pentru SSH, în rândul „Banned IP list”:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n4. Deblocați adresa dvs.:\n\n   ```bash\n   fail2ban-client set sshd unbanip IP_DVS\n   ```\n\n5. Ca să nu se repete, adăugați adresa la `ignoreip`: [Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban).\n\nDacă nu aveți altă rețea, așteptați să expire blocarea. Durata ei este valoarea `bantime` din configurația fail2ban.\n\n## Verificări din calculatorul dvs.\n\n### Răspunde portul 22?\n\nWindows (PowerShell):\n\n```powershell\nTest-NetConnection IP_SERVER -Port 22\n```\n\n`TcpTestSucceeded : True` înseamnă că portul răspunde și problema este la autentificare. `False` înseamnă că SSH nu răspunde: vedeți secțiunile „Connection timed out” și „Connection refused”.\n\nmacOS și Linux:\n\n```bash\nnc -vz IP_SERVER 22\n```\n\nUn rând cu `succeeded` sau `Connected` înseamnă că portul răspunde. `Connection refused` sau `timed out` înseamnă că nu răspunde. Dacă comanda rămâne mult timp fără rezultat, portul nu răspunde: opriți-o cu Ctrl + C.\n\n### Ce arată `ssh -v`\n\nModul detaliat afișează fiecare pas al conectării:\n\n```bash\nssh -v root@IP_SERVER\n```\n\n| Rândul din rezultat | Ce înseamnă |\n|---|---|\n| `Connecting to IP_SERVER [IP_SERVER] port 22.`, urmat de așteptare sau de `timed out` | conexiunea nu ajunge la server: rețea, server oprit sau firewall |\n| `Connection established.` | rețeaua și portul 22 funcționează |\n| `Authentications that can continue: publickey` | serverul acceptă doar chei („Doar cheie”) |\n| `Authentications that can continue: publickey,password` | serverul acceptă și parola |\n| `Offering public key: …` | cheia oferită de calculatorul dvs.; dacă nu este cea instalată pe server, folosiți `-i` |\n| `Server accepts key: …` | serverul a acceptat cheia |\n| `Authentication succeeded` | autentificarea a reușit |\n\nÎn PuTTY, detaliile conectării sunt în „Event Log”: clic dreapta pe bara de titlu a ferestrei → „Event Log”.\n\n## Dacă tot nu reușiți\n\n- Ați pierdut parola sau cheia ori v-ați blocat cu firewall-ul: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces).\n- Scrieți la support@blackbox.md de pe adresa de email a contului sau deschideți un tichet din „Contul meu” → „Ajutor și suport”. În orele de lucru puteți suna la +373 78 003948 (telefon sau WhatsApp), luni–vineri, 09:00–18:00 (ora Moldovei). Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\nIncludeți în mesaj:\n\n1. adresa IP a serverului și numărul comenzii `BBX-…` (câmpurile „IP” și „Comandă” de pe card);\n2. adresa dvs. IP publică, de pe `ip.blackbox.md`;\n3. mesajul de eroare exact și ora la care a apărut;\n4. rezultatul complet al comenzii `ssh -v root@IP_SERVER`;\n5. ce ați schimbat ultima dată pe server (firewall, configurația SSH, chei).\n\n> **Securitate**\n> Rezultatul `ssh -v` nu conține parola și nici cheia privată, așa că îl puteți trimite. Nu trimiteți niciodată parola root, cheia privată sau token-uri API.\n\n## Întrebări frecvente\n\n**Ieri mă conectam, azi nu. De unde încep?**\nVerificați portul cu `Test-NetConnection` sau `nc`. Dacă portul nu răspunde din nicio rețea și nu ați schimbat nimic pe server, apăsați „Repornește”. Dacă nici după câteva minute nu vă conectați, scrieți suportului.\n\n**„Repornește” nu ajută, iar serverul nu răspunde deloc.**\n„Repornește” trimite o repornire obișnuită (soft), iar panoul nu are buton de resetare forțată. Dacă serverul tot nu răspunde după câteva minute, scrieți suportului.\n\n**Pe Windows primesc mesajul că `ssh` nu este recunoscut.**\nAdăugați componenta OpenSSH Client din setările Windows, la funcțiile opționale, sau folosiți PuTTY: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**Când schimb firewall-ul sau configurația SSH, cum evit să mă blochez?**\nPăstrați deschisă o a doua sesiune SSH până verificați că o conexiune nouă reușește. Nu setați `PermitRootLogin no` și nu ștergeți „Cheie de administrare (blackbox.md)”: altfel panoul nu vă mai poate ajuta.\n",
    "ru": "Что делать, если команда `ssh root@IP_СЕРВЕРА` или PuTTY не подключается к серверу. Найдите в таблице ниже сообщение, которое вы видите: по нему понятно, где проблема — в сети, в службе SSH или в аутентификации. Всё, что можно исправить из панели, делается на карточке сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»; с blackbox.md: «Личный кабинет» → «Панель управления»).\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер. На карточках с пометкой «Обслуживается» кнопок панели нет — напишите в поддержку.\n\n> **Примечание**\n> У клиентов нет ни веб-консоли, ни VNC. Кнопки «Запустить», «Остановить» и «Перезагрузить» работают и без SSH. А вот «Сбросить пароль», «Добавить SSH-ключ», «Включить вход по паролю» и «Отключить вход по паролю» подключаются к серверу по SSH через порт 22 с ключом «Ключ управления (blackbox.md)». Они выручат, если не принимается ваш пароль или ключ, но бесполезны, если SSH на сервере не отвечает совсем.\n\n## Что проверить в первую очередь\n\n- **IP-адрес.** Скопируйте его из карточки сервера, поле «IP» (кнопка рядом с адресом показывает «Скопировано»). Не подключайтесь по домену: он может ещё не указывать на сервер.\n- **Пользователь** — `root`.\n- **Порт** — 22, если вы сами его не меняли.\n- **Способ входа** показывает значок рядом с именем сервера: «Пароль + ключ» или «Только ключ». На сервере «Только ключ» пароль по SSH не работает.\n- **Сервер только что создан?** Письмо с темой «Serverul dvs. este gata — BBX-…» может прийти примерно за минуту до того, как SSH начнёт отвечать. Подождите минуту и повторите попытку.\n\n## Сообщение об ошибке, причина и решение\n\n| Сообщение | Вероятная причина | Что делать |\n|---|---|---|\n| `Connection timed out` (в macOS — `Operation timed out`; в PuTTY — `Network error: Connection timed out`) | сервер остановлен, указан не тот IP, сервер только что создан, ваша сеть блокирует порт 22 или файрвол системы отбрасывает подключение | раздел «Connection timed out» |\n| `Connection refused` (в PuTTY — `Network error: Connection refused`) | SSH не запущен или ещё запускается, вы перенесли его на другой порт, либо подключение отклоняет файрвол системы или fail2ban | раздел «Connection refused» |\n| `No route to host` | подключение отклоняет файрвол системы (например, `firewalld`) или есть проблема с сетью | шаг 5 в разделе «Connection timed out»; проверьте и порт (раздел «Проверки со своего компьютера») |\n| `Could not resolve hostname` | адрес написан с ошибкой или домен не указывает на сервер | подключайтесь по IP-адресу из карточки |\n| `Permission denied (publickey)` (в PuTTY — `No supported authentication methods available (server sent: publickey)` или `Server refused our key`) | сервер «Только ключ», а ваш ключ не установлен или компьютер предлагает другой ключ; пользователь — не `root` | раздел «Permission denied (publickey)» |\n| `Permission denied, please try again.`, в конце `Permission denied (publickey,password).` (в PuTTY — `Access denied`) | неверный пароль или пароль сменён командой `passwd` | раздел «Permission denied» при вводе пароля |\n| `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!` и `Host key verification failed.` | на вашем компьютере сохранён другой отпечаток для этого IP-адреса | раздел «REMOTE HOST IDENTIFICATION HAS CHANGED» |\n| `Too many authentication failures` | компьютер предлагает слишком много ключей, прежде чем дойти до нужного | раздел «Too many authentication failures» |\n| `WARNING: UNPROTECTED PRIVATE KEY FILE!` | у файла приватного ключа слишком широкие права доступа (macOS, Linux) | конец раздела «Permission denied (publickey)» |\n\n## «Connection timed out»: сервер не отвечает\n\nПодключение не доходит до сервера или остаётся без ответа. Проверьте по порядку:\n\n1. **IP-адрес.** Сравните адрес в команде с полем «IP» на карточке.\n2. **Сервер только что создан.** Подождите минуту и повторите попытку.\n3. **Сервер остановлен.** Панель не показывает, включён сервер или выключен: метка «active» на карточке означает лишь, что сервер активен в вашем аккаунте. Если вы его останавливали или не уверены, нажмите «Запустить» на карточке и подтвердите «Запустить ИМЯ_СЕРВЕРА?» кнопкой «OK». Подождите несколько минут и повторите попытку. Ошибка `power_action_failed` после «Запустить» обычно означает, что сервер уже был включён. Подробнее: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n4. **Ваша сеть блокирует порт 22.** Некоторые офисные сети, отели и публичный Wi-Fi не пропускают SSH. Попробуйте подключиться из другой сети, например через мобильный интернет. Если оттуда получается, обратитесь к администратору исходной сети или посмотрите раздел про fail2ban.\n5. **Файрвол системы отбрасывает подключение.** Например, вы включили `ufw` или `firewalld`, не разрешив порт 22. Тогда не работают и кнопки панели, которым нужен SSH. Нажмите «Перезагрузить»: это поможет, только если правило не было сохранено насовсем. Иначе: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\nСетевая фильтрация, которой управляет BLACKBOX, пропускает SSH на порт 22, поэтому обычному подключению она не мешает: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## «Connection refused»: сервер отвечает, но SSH не принимает подключение\n\nСервер включён и доступен по сети, но на порту 22 никто не слушает или подключение отклоняется.\n\n| Причина | Что делать |\n|---|---|\n| Сервер только что запустился, и SSH ещё загружается | подождите минуту и повторите попытку |\n| Вы перенесли SSH на другой порт | сетевая фильтрация по умолчанию пропускает только порты 22, 80 и 443, а панель по-прежнему подключается к порту 22. Если поддержка открыла вам новый порт, подключитесь с параметром `-p` и новым портом (команда ниже); иначе напишите в поддержку |\n| Служба SSH остановлена (например, командой `systemctl stop`) | нажмите «Перезагрузить»: при загрузке системы SSH запускается автоматически, если вы не отключили его автозапуск |\n| Настройки SSH испорчены, и служба не запускается | «Перезагрузить» не поможет — напишите в поддержку |\n| Подключение отклоняет файрвол системы или fail2ban | см. шаг 5 в разделе «Connection timed out» и раздел про fail2ban |\n\n```bash\nssh -p ПОРТ root@IP_СЕРВЕРА\n```\n\n## «Permission denied (publickey)»: ключ не принят\n\nСервер отвечает, но пускает только по ключу, а ключа, который предлагает ваш компьютер, среди установленных нет.\n\n1. Подключайтесь как `root`. Данные для доступа от BLACKBOX выданы для `root`, а не для других пользователей.\n2. Явно укажите приватный ключ — файл без `.pub`. Если файл ключа называется иначе (например, `id_rsa`), подставьте это имя в команды ниже.\n\n   ```bash\n   ssh -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРА\n   ```\n\n   В PowerShell:\n\n   ```powershell\n   ssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@IP_СЕРВЕРА\n   ```\n\n   В PuTTY файл `.ppk` выбирается в разделе «Connection» → «SSH» → «Auth» → «Credentials»: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n3. Проверьте, есть ли ключ на сервере. На карточке нажмите «Добавить SSH-ключ»: вверху появится список «Установленные ключи» с началом отпечатка каждого ключа (например, `SHA256:Ab12Cd34Ef56G…`). Выведите отпечаток своего ключа и сравните начало:\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n   В PowerShell:\n\n   ```powershell\n   ssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n   ```\n\n4. Если ключа нет, выберите «Вставить новый ключ», вставьте содержимое файла `.pub` и нажмите «Добавить ключ». Появится сообщение «Ключ добавлен.». Если ключ сохранён в разделе «Личный кабинет» → «SSH-ключи», выберите «Использовать сохранённый ключ». Если ключ создан в PuTTYgen, скопируйте текст из поля «Public key for pasting into OpenSSH authorized_keys file» — это одна строка, которая начинается с `ssh-ed25519` или `ssh-rsa`. Подробнее: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server).\n5. Подключитесь снова.\n\nЕсли приватный ключ потерян или вы хотите временно войти по паролю («Включить вход по паролю», затем «Сбросить пароль»): [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n\nЕсли SSH пишет `WARNING: UNPROTECTED PRIVATE KEY FILE!` и не использует ключ, у файла ключа слишком широкие права доступа. В macOS и Linux:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\n## «Permission denied» при вводе пароля\n\nСообщение `Permission denied, please try again.` появляется после каждого неверного пароля. После трёх попыток SSH закрывает подключение с сообщением `Permission denied (publickey,password).`.\n\n1. На карточке нажмите «Показать учётные данные» и подтвердите «Показать сохранённые учётные данные для ИМЯ_СЕРВЕРА? Доступ фиксируется в журнале.». Появится блок с полями «Пользователь» и «Пароль».\n2. Скопируйте пароль и вставьте его, когда SSH попросит (в PowerShell и PuTTY — правой кнопкой мыши). При вводе пароль на экране не отображается.\n3. Если пароль всё равно не подходит, скорее всего, вы меняли его командой `passwd`: панель показывает пароль, который сохранила сама — при создании сервера или при последнем сбросе. Нажмите «Сбросить пароль» и подтвердите «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.». Новый пароль появится в том же блоке. Сбрасывать пароль можно не больше 3 раз за 5 минут: [Сброс пароля root](#acces.resetare-parola-root).\n\nСервер «Только ключ» не принимает пароли по SSH, даже после сброса: SSH даже не спрашивает пароль и сразу отвечает `Permission denied (publickey)`. Подключайтесь по ключу или нажмите «Включить вход по паролю»: [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\nЕсли вы установили fail2ban, несколько неверных паролей подряд могут привести к блокировке вашего IP-адреса — см. раздел про fail2ban.\n\n## «REMOTE HOST IDENTIFICATION HAS CHANGED»\n\nПри одном из прошлых подключений ваш компьютер сохранил для этого IP-адреса другой отпечаток: например, раньше этот адрес принадлежал другому серверу, к которому вы подключались, или на сервере переустановили систему. Пока старый отпечаток не удалён, SSH отказывается подключаться. Удалите его (команда работает и в PowerShell):\n\n```bash\nssh-keygen -R IP_СЕРВЕРА\n```\n\nПодключитесь снова и подтвердите новый отпечаток словом `yes`. В PuTTY в окне «PuTTY Security Alert» нажмите «Accept».\n\n> **Внимание**\n> Если вы не получали новый сервер на ранее использованный IP-адрес и систему на сервере не переустанавливали, не продолжайте подключение и напишите в поддержку. Отпечаток, сменившийся без причины, может означать, что соединение кто-то перехватывает.\n\n## «Too many authentication failures»\n\nВ SSH-агенте на вашем компьютере загружено несколько ключей, и он предлагает их по очереди. Сервер разрывает соединение после ограниченного числа попыток, так и не дойдя до нужного ключа. Укажите один ключ:\n\n```bash\nssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@IP_СЕРВЕРА\n```\n\nЧтобы на сервере «Пароль + ключ» сразу войти по паролю, не перебирая ключи:\n\n```bash\nssh -o PubkeyAuthentication=no root@IP_СЕРВЕРА\n```\n\n## Ваш IP-адрес заблокирован fail2ban\n\nЭтот раздел касается вас, если вы установили на сервер fail2ban. После слишком большого числа неудачных попыток входа fail2ban блокирует IP-адрес, с которого они шли: из вашей сети подключение отклоняется или зависает, а из другой сети — работает.\n\n1. Из заблокированной сети откройте `https://ip.blackbox.md/ru` и запишите показанный адрес — это и есть заблокированный адрес ([Инструмент «Ваш публичный IP-адрес»](#domenii.adresa-ip)).\n2. Подключитесь к серверу из другой сети, например через мобильный интернет.\n3. Посмотрите заблокированные для SSH адреса в строке «Banned IP list»:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n4. Разблокируйте свой адрес:\n\n   ```bash\n   fail2ban-client set sshd unbanip ВАШ_IP\n   ```\n\n5. Чтобы это не повторилось, добавьте адрес в `ignoreip`: [Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban).\n\nЕсли другой сети нет, дождитесь окончания блокировки. Её длительность — значение `bantime` в настройках fail2ban.\n\n## Проверки со своего компьютера\n\n### Отвечает ли порт 22?\n\nWindows (PowerShell):\n\n```powershell\nTest-NetConnection IP_СЕРВЕРА -Port 22\n```\n\n`TcpTestSucceeded : True` значит, что порт отвечает и проблема в аутентификации. `False` значит, что SSH не отвечает: см. разделы «Connection timed out» и «Connection refused».\n\nmacOS и Linux:\n\n```bash\nnc -vz IP_СЕРВЕРА 22\n```\n\nСтрока со словом `succeeded` или `Connected` значит, что порт отвечает. `Connection refused` или `timed out` — что не отвечает. Если команда долго ничего не выводит, порт не отвечает: прервите её сочетанием Ctrl + C.\n\n### Что показывает `ssh -v`\n\nВ подробном режиме SSH выводит каждый шаг подключения:\n\n```bash\nssh -v root@IP_СЕРВЕРА\n```\n\n| Строка в выводе | Что она значит |\n|---|---|\n| `Connecting to IP_СЕРВЕРА [IP_СЕРВЕРА] port 22.`, затем ожидание или `timed out` | подключение не доходит до сервера: сеть, остановленный сервер или файрвол |\n| `Connection established.` | сеть и порт 22 в порядке |\n| `Authentications that can continue: publickey` | сервер пускает только по ключу («Только ключ») |\n| `Authentications that can continue: publickey,password` | сервер принимает и пароль |\n| `Offering public key: …` | ключ, который предлагает ваш компьютер; если на сервере установлен другой, укажите нужный через `-i` |\n| `Server accepts key: …` | сервер принял ключ |\n| `Authentication succeeded` | вход выполнен |\n\nВ PuTTY подробности подключения есть в журнале «Event Log»: щёлкните правой кнопкой мыши по заголовку окна → «Event Log».\n\n## Если подключиться так и не удалось\n\n- Потеряли пароль или ключ либо заблокировали себя файрволом: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces).\n- Напишите на support@blackbox.md с адреса, указанного в аккаунте, или создайте тикет в разделе «Личный кабинет» → «Помощь и поддержка». В рабочее время можно позвонить по номеру +373 78 003948 (телефон или WhatsApp), пн–пт, 09:00–18:00 по времени Молдовы. Все каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\nУкажите в сообщении:\n\n1. IP-адрес сервера и номер заказа `BBX-…` (поля «IP» и «Заказ» на карточке);\n2. ваш публичный IP-адрес с `ip.blackbox.md`;\n3. точный текст ошибки и время, когда она появилась;\n4. полный вывод команды `ssh -v root@IP_СЕРВЕРА`;\n5. что вы меняли на сервере в последний раз (файрвол, настройки SSH, ключи).\n\n> **Безопасность**\n> В выводе `ssh -v` нет ни пароля, ни приватного ключа, поэтому его можно отправить. Никогда не отправляйте пароль root, приватный ключ или API-токены.\n\n## Частые вопросы\n\n**Вчера подключение работало, а сегодня нет. С чего начать?**\nПроверьте порт через `Test-NetConnection` или `nc`. Если порт не отвечает ни из одной сети, а на сервере вы ничего не меняли, нажмите «Перезагрузить». Если и через несколько минут подключиться не удаётся, напишите в поддержку.\n\n**«Перезагрузить» не помогает, сервер не отвечает совсем.**\n«Перезагрузить» выполняет обычную (мягкую) перезагрузку, а кнопки принудительного сброса в панели нет. Если и через несколько минут сервер не отвечает, напишите в поддержку.\n\n**Windows сообщает, что `ssh` не распознан как команда.**\nДобавьте компонент OpenSSH Client в параметрах Windows, в разделе дополнительных компонентов, или используйте PuTTY: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**Как не заблокировать себя, меняя файрвол или настройки SSH?**\nДержите открытым второй сеанс SSH, пока не убедитесь, что новое подключение проходит. Не задавайте `PermitRootLogin no` и не удаляйте «Ключ управления (blackbox.md)»: иначе панель больше не сможет вам помочь.\n",
    "en": "What to do when the `ssh root@SERVER_IP` command or PuTTY can't connect to your server. Find the message you see in the table below: it tells you whether the problem is with the network, the SSH service or authentication. Whatever can be fixed from the panel, you fix on the server card, on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”; from blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel)).\n\n**Available to:** the holder of the blackbox.md account that ordered the server. Cards marked “Managed” don't have the panel buttons: write to support.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> Customers have no web or VNC console. “Start”, “Stop” and “Reboot” work even without SSH. However, “Reset password”, “Add SSH key”, “Enable password login” and “Disable password login” connect to the server over SSH, on port 22, with the “Management key (blackbox.md)”. They help when your password or key isn't accepted, but not when the server's SSH doesn't respond at all.\n\n## What to check first\n\n- **The IP address.** Copy it from the server card, the “IP” field (the button next to the address shows “Copied”). Don't connect using the domain name: it may not point to the server yet.\n- **The user** is `root`.\n- **The port** is 22, unless you changed it yourself.\n- **The login method** is shown by the badge next to the server name: “Password + key” or “Key-only”. On a “Key-only” server, the password doesn't work over SSH.\n- **Is the server new?** The “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email may arrive about a minute before SSH responds. Wait a minute and try again.\n\n## The error message, its cause and the fix\n\n| Message | Likely cause | What to do |\n|---|---|---|\n| `Connection timed out` (macOS: `Operation timed out`; PuTTY: `Network error: Connection timed out`) | the server is stopped, the IP is wrong, the server was just created, your network blocks port 22, or the server's own firewall drops the connection | the “Connection timed out” section |\n| `Connection refused` (PuTTY: `Network error: Connection refused`) | SSH isn't running or is still starting, you moved it to another port, or the server's own firewall or fail2ban rejects the connection | the “Connection refused” section |\n| `No route to host` | the server's own firewall (for example `firewalld`) rejects the connection, or there is a network problem | step 5 of the “Connection timed out” section; also check the port (the “Checks from your computer” section) |\n| `Could not resolve hostname` | the address is misspelled, or the domain doesn't point to the server | connect using the IP address from the card |\n| `Permission denied (publickey)` (PuTTY: `No supported authentication methods available (server sent: publickey)` or `Server refused our key`) | a “Key-only” server, and your key isn't installed or your computer offers a different key; a user other than `root` | the “Permission denied (publickey)” section |\n| `Permission denied, please try again.`, and at the end `Permission denied (publickey,password).` (PuTTY: `Access denied`) | a wrong password, or a password changed with `passwd` | the section on “Permission denied” with a password |\n| `WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!` and `Host key verification failed.` | your computer has a different fingerprint saved for this IP address | the “REMOTE HOST IDENTIFICATION HAS CHANGED” section |\n| `Too many authentication failures` | your computer offers too many keys before the right one | the “Too many authentication failures” section |\n| `WARNING: UNPROTECTED PRIVATE KEY FILE!` | the private key file has permissions that are too broad (macOS, Linux) | the end of the “Permission denied (publickey)” section |\n\n## “Connection timed out”: the server doesn't respond\n\nThe connection doesn't reach the server or gets no response. Check, in this order:\n\n1. **The IP.** Compare the address in the command with the “IP” field on the card.\n2. **The server was just created.** Wait a minute and try again.\n3. **The server is stopped.** The panel doesn't show whether the server is on or off: the “active” label on the card only means that the server is active in your account. If you stopped it or aren't sure, click “Start” on the card and confirm “Start SERVER_NAME?” with “OK”. Wait a few minutes and try again. The `power_action_failed` message after “Start” usually means that the server was already running. Details: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n4. **Your network blocks port 22.** Some office networks, hotels and public Wi-Fi networks don't allow SSH. Try from another network, for example over mobile internet. If it works from there, contact the administrator of the original network or see the section about fail2ban.\n5. **The server's own firewall drops the connection.** For example, you enabled `ufw` or `firewalld` without allowing port 22. In that case, the panel buttons that use SSH don't work either. Click “Reboot”: it helps only if the rule wasn't saved permanently. Otherwise: [Lost access to your server (password or key)](#acces.recuperare-acces).\n\nThe network filtering managed by BLACKBOX lets SSH through on port 22, so it doesn't block a normal connection: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## “Connection refused”: the server responds, but SSH doesn't accept the connection\n\nThe server is on and reachable over the network, but nothing is listening on port 22, or the connection is rejected.\n\n| Cause | What to do |\n|---|---|\n| The server just started, and SSH is still loading | wait a minute and try again |\n| You moved SSH to another port | by default, the network filtering lets through only ports 22, 80 and 443, and the panel still connects on port 22. If support opened the new port for you, connect with `-p` and the new port (the command below); otherwise, write to support |\n| The SSH service is stopped (for example, with `systemctl stop`) | click “Reboot”: SSH starts automatically when the system boots, unless you disabled it |\n| The SSH configuration is broken, and the service doesn't start | “Reboot” doesn't help; write to support |\n| The server's own firewall or fail2ban rejects the connection | see step 5 of “Connection timed out” and the section about fail2ban |\n\n```bash\nssh -p PORT root@SERVER_IP\n```\n\n## “Permission denied (publickey)”: the key isn't accepted\n\nThe server responds, but it accepts only keys, and the key your computer offers isn't among the installed ones.\n\n1. Connect as `root`. The access details from BLACKBOX are for `root`, not for other users.\n2. Specify the private key explicitly, that is, the file without `.pub`. If your key file has a different name (for example `id_rsa`), use that name in the commands below.\n\n   ```bash\n   ssh -i ~/.ssh/id_ed25519 root@SERVER_IP\n   ```\n\n   In PowerShell:\n\n   ```powershell\n   ssh -i $env:USERPROFILE\\.ssh\\id_ed25519 root@SERVER_IP\n   ```\n\n   In PuTTY, you choose the `.ppk` file under “Connection” → “SSH” → “Auth” → “Credentials”: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n3. Check whether the key is on the server. On the card, click “Add SSH key”: the “Installed keys” list appears at the top, with the beginning of each key's fingerprint (for example `SHA256:Ab12Cd34Ef56G…`). Display your key's fingerprint and compare the beginning:\n\n   ```bash\n   ssh-keygen -lf ~/.ssh/id_ed25519.pub\n   ```\n\n   In PowerShell:\n\n   ```powershell\n   ssh-keygen -lf $env:USERPROFILE\\.ssh\\id_ed25519.pub\n   ```\n\n4. If the key is missing, choose “Paste a new key”, paste the content of the `.pub` file and click “Add key”. The message “Key added.” appears. If you saved the key in “Contul meu” (My account) → “Chei SSH” (SSH keys), choose “Use a saved key”. With PuTTYgen, copy the text from the “Public key for pasting into OpenSSH authorized_keys file” field: a single line that starts with `ssh-ed25519` or `ssh-rsa`. Details: [Adding and removing SSH keys on the server](#acces.chei-ssh-server).\n5. Connect again.\n\nIf you lost your private key or want to log in temporarily with the password (“Enable password login”, then “Reset password”): [Lost access to your server (password or key)](#acces.recuperare-acces).\n\nIf SSH shows `WARNING: UNPROTECTED PRIVATE KEY FILE!` and ignores the key, the key file's permissions are too broad. On macOS and Linux:\n\n```bash\nchmod 600 ~/.ssh/id_ed25519\n```\n\n## “Permission denied” with a password\n\nThe message `Permission denied, please try again.` appears after each wrong password. After three attempts, SSH closes the connection with `Permission denied (publickey,password).`\n\n1. On the card, click “Reveal credentials” and confirm “Reveal stored credentials for SERVER_NAME? This access is logged.” A box with “Username” and “Password” appears.\n2. Copy the password and paste it when SSH asks for it (in PowerShell and PuTTY, with a right-click). The password doesn't appear on the screen while you type it.\n3. If it still doesn't work, you probably changed the password with `passwd`: the panel shows the password it saved itself, when the server was created or at the last reset. Click “Reset password” and confirm “Reset the password for SERVER_NAME? The current password stops working immediately.” The new password appears in the same box. You can reset the password at most 3 times in 5 minutes: [Resetting the root password](#acces.resetare-parola-root).\n\nA “Key-only” server doesn't accept passwords over SSH, not even after a reset: SSH doesn't even ask for the password and responds with `Permission denied (publickey)`. Use your key or click “Enable password login”: [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\nIf you installed fail2ban, several wrong passwords in a row can get your IP address blocked: see the section about fail2ban.\n\n## “REMOTE HOST IDENTIFICATION HAS CHANGED”\n\nDuring an earlier connection, your computer saved a different fingerprint for this IP address: for example, the address previously belonged to another server you connected to, or the system was reinstalled. SSH refuses to connect until you delete the old fingerprint (the command also works in PowerShell):\n\n```bash\nssh-keygen -R SERVER_IP\n```\n\nConnect again and confirm the new fingerprint with `yes`. In PuTTY, in the “PuTTY Security Alert” window, click “Accept”.\n\n> **Warning**\n> If you didn't receive a new server on a previously used IP address and the system wasn't reinstalled, don't continue connecting, and write to support. A fingerprint that changed for no reason may mean that someone is intercepting the connection.\n\n## “Too many authentication failures”\n\nThe SSH agent on your computer has several keys loaded and offers them one by one. The server closes the connection after a limited number of attempts, before it gets to the right key. Specify a single key:\n\n```bash\nssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 root@SERVER_IP\n```\n\nOn a “Password + key” server, to log in directly with the password without trying the keys:\n\n```bash\nssh -o PubkeyAuthentication=no root@SERVER_IP\n```\n\n## Your IP address was blocked by fail2ban\n\nThis section applies to you if you installed fail2ban on the server. After too many failed logins, fail2ban blocks the IP address they came from: from your network, the connection is refused or times out, but from another network it works.\n\n1. From the blocked network, open `https://ip.blackbox.md` and note the address shown: this is the blocked address ([The “Adresa ta IP” (Your IP address) tool](#domenii.adresa-ip)).\n2. Connect to the server from another network, for example over mobile internet.\n3. Check the addresses blocked for SSH, in the “Banned IP list” line:\n\n   ```bash\n   fail2ban-client status sshd\n   ```\n\n4. Unblock your address:\n\n   ```bash\n   fail2ban-client set sshd unbanip YOUR_IP\n   ```\n\n5. To keep this from happening again, add the address to `ignoreip`: [Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban).\n\nIf you don't have another network, wait for the block to expire. Its duration is the `bantime` value in the fail2ban configuration.\n\n## Checks from your computer\n\n### Does port 22 respond?\n\nWindows (PowerShell):\n\n```powershell\nTest-NetConnection SERVER_IP -Port 22\n```\n\n`TcpTestSucceeded : True` means that the port responds and the problem is with authentication. `False` means that SSH doesn't respond: see the “Connection timed out” and “Connection refused” sections.\n\nmacOS and Linux:\n\n```bash\nnc -vz SERVER_IP 22\n```\n\nA line with `succeeded` or `Connected` means that the port responds. `Connection refused` or `timed out` means that it doesn't. If the command runs for a long time without a result, the port doesn't respond: stop it with Ctrl + C.\n\n### What `ssh -v` shows\n\nVerbose mode shows each step of the connection:\n\n```bash\nssh -v root@SERVER_IP\n```\n\n| Line in the output | What it means |\n|---|---|\n| `Connecting to SERVER_IP [SERVER_IP] port 22.`, followed by waiting or by `timed out` | the connection doesn't reach the server: the network, a stopped server or a firewall |\n| `Connection established.` | the network and port 22 work |\n| `Authentications that can continue: publickey` | the server accepts only keys (“Key-only”) |\n| `Authentications that can continue: publickey,password` | the server also accepts the password |\n| `Offering public key: …` | the key your computer offers; if it isn't the one installed on the server, use `-i` |\n| `Server accepts key: …` | the server accepted the key |\n| `Authentication succeeded` | authentication succeeded |\n\nIn PuTTY, the connection details are in the “Event Log”: right-click the window's title bar → “Event Log”.\n\n## If you still can't connect\n\n- You lost your password or key, or locked yourself out with the firewall: [Lost access to your server (password or key)](#acces.recuperare-acces).\n- Write to support@blackbox.md from your account's email address, or open a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). During business hours, you can call +373 78 003948 (phone or WhatsApp), Monday–Friday, 09:00–18:00 (Moldova time). All channels: [How to contact BLACKBOX support](#suport.contact).\n\nInclude in your message:\n\n1. the server's IP address and the `BBX-…` order number (the “IP” and “Order” fields on the card);\n2. your public IP address, from `ip.blackbox.md`;\n3. the exact error message and the time it appeared;\n4. the full output of the `ssh -v root@SERVER_IP` command;\n5. what you last changed on the server (firewall, SSH configuration, keys).\n\n> **Security**\n> The `ssh -v` output contains neither your password nor your private key, so you can send it. Never send the root password, a private key or API tokens.\n\n## Frequently asked questions\n\n**I could connect yesterday, but not today. Where do I start?**\nCheck the port with `Test-NetConnection` or `nc`. If the port doesn't respond from any network and you haven't changed anything on the server, click “Reboot”. If you still can't connect after a few minutes, write to support.\n\n**“Reboot” doesn't help, and the server doesn't respond at all.**\n“Reboot” sends a normal (soft) reboot, and the panel has no forced-reset button. If the server still doesn't respond after a few minutes, write to support.\n\n**On Windows, I get a message that `ssh` is not recognized.**\nAdd the OpenSSH Client component in Windows Settings, under optional features, or use PuTTY: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh).\n\n**How do I avoid locking myself out when I change the firewall or the SSH configuration?**\nKeep a second SSH session open until you've checked that a new connection succeeds. Don't set `PermitRootLogin no`, and don't delete “Management key (blackbox.md)”: otherwise, the panel can no longer help you.\n"
   }
  },
  {
   "id": "faq.site-ul-nu-se-deschide",
   "section": "faq",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/site-ul-nu-se-deschide/",
    "ru": "https://docs.blackbox.md/ru/faq/site-ul-nu-se-deschide/",
    "en": "https://docs.blackbox.md/en/faq/site-ul-nu-se-deschide/"
   },
   "title": {
    "ro": "Site-ul nu se deschide",
    "ru": "Сайт не открывается",
    "en": "The site does not open"
   },
   "summary": {
    "ro": "Lista de verificare pentru un site care nu răspunde: DNS, server web, porturi, firewall, certificat și Cloudflare.",
    "ru": "Чек-лист для неработающего сайта: DNS, веб-сервер, порты, файрвол, сертификат и Cloudflare.",
    "en": "A checklist for a site that does not respond: DNS, web server, ports, firewall, certificate and Cloudflare."
   },
   "markdown": {
    "ro": "Când site-ul de pe serverul dvs. BLACKBOX nu se deschide, parcurgeți verificările de mai jos în ordine: fiecare exclude o cauză. Comenzile din pașii 1, 2 și 9 și cele trei teste cu curl de la final se rulează pe calculatorul dvs.; celelalte, pe server, prin SSH ca `root`. Adresa serverului este în câmpul „IP” al cardului din pagina „Serverele mele” a panoului app.blackbox.md (`app.blackbox.md/my-servers`, bara laterală → „Infrastructură” → „Serverele mele”). Panoul nu are setări pentru serverul web, firewall sau certificate.\n\n**Disponibil pentru:** oricine are acces root prin SSH la un server BLACKBOX. Alte porturi în filtrarea din rețea: la cerere, prin suport.\n\nÎn comenzi, înlocuiți `DOMENIU` cu domeniul dvs. și `IP_SERVER` cu adresa serverului.\n\n## Pe scurt: după mesajul din browser\n\n| Ce vedeți | Cauza probabilă | Pasul |\n|---|---|---|\n| `DNS_PROBE_FINISHED_NXDOMAIN` | domeniul nu are înregistrare DNS | 1 |\n| `ERR_CONNECTION_TIMED_OUT` | DNS greșit, server oprit, firewall sau port închis în rețea | 1, 2, 4, 5 |\n| `ERR_CONNECTION_REFUSED` | serverul web nu rulează sau nu are HTTPS | 3, 7 |\n| Pagina „Welcome to nginx!” sau pagina de test Apache | serverul web nu are configurație pentru acest domeniu | 3 |\n| `502 Bad Gateway` | serverul web nu ajunge la aplicație | 6 |\n| `NET::ERR_CERT_COMMON_NAME_INVALID`, `NET::ERR_CERT_DATE_INVALID` | certificat pentru alt nume sau expirat | 7 |\n| `ERR_TOO_MANY_REDIRECTS`, pagina Cloudflare 521, 522, 525 sau 526 | setările Cloudflare sau serverul din spatele lui | 8 |\n\n## Pasul 1. DNS: domeniul indică serverul\n\nPe Linux sau macOS:\n\n```bash\ndig +short DOMENIU\ndig +short www.DOMENIU\ndig +short DOMENIU AAAA\n```\n\nPe Windows:\n\n```powershell\nnslookup DOMENIU\n```\n\nPrimele două comenzi trebuie să afișeze `IP_SERVER` (dacă `www` este un CNAME, întâi apare numele spre care indică, de exemplu `DOMENIU.`). A treia nu trebuie să afișeze nimic; adrese Cloudflare apar doar când proxy-ul Cloudflare este activ. O înregistrare AAAA rămasă de la vechea găzduire trimite o parte din vizitatori la alt server: ștergeți-o.\n\n| Rezultat | Ce faceți |\n|---|---|\n| nimic | creați înregistrarea A: [Cum îndreptați domeniul către server](#domenii.indreptare-domeniu) |\n| altă adresă IP | înlocuiți înregistrarea veche cu `IP_SERVER` |\n| adrese Cloudflare (proxy-ul Cloudflare este activ) | este normal; verificați serverul cu testul 3 cu curl și vedeți pasul 8 |\n\n## Pasul 2. Serverul rulează\n\n```bash\nssh root@IP_SERVER\n```\n\nDacă vă conectați, serverul este pornit și accesibil din rețea. Dacă nu: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh). Panoul nu arată dacă serverul este pornit; dacă l-ați oprit cu „Oprește”, porniți-l cu „Pornește” de pe cardul lui ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)).\n\n## Pasul 3. Serverul web rulează și ascultă pe 80 și 443\n\n1. Verificați serviciul. Pentru Apache scrieți `apache2` (Ubuntu, Debian) sau `httpd` (AlmaLinux, CentOS Stream) în loc de `nginx`. Rândul `Active:` trebuie să arate `active (running)`.\n\n   ```bash\n   systemctl status nginx\n   ```\n\n2. Dacă arată `inactive (dead)` sau `failed`, testați configurația („syntax is ok”, „test is successful”; altfel apar fișierul și rândul cu eroarea), apoi porniți serviciul și activați-l la pornirea serverului:\n\n   ```bash\n   nginx -t\n   systemctl enable --now nginx\n   ```\n\n   La Apache, testul afișează „Syntax OK”:\n\n   ```bash\n   # Ubuntu și Debian\n   apache2ctl configtest\n   # AlmaLinux și CentOS Stream\n   apachectl configtest\n   ```\n\n3. Verificați cine ascultă pe porturile 80 și 443:\n\n   ```bash\n   ss -tlnp | grep -E ':80|:443'\n   ```\n\n| Rezultat | Ce înseamnă |\n|---|---|\n| `0.0.0.0:80` și `0.0.0.0:443` (sau `[::]:80`, `*:443`) cu `users:((\"nginx\",…))` (la Apache, `apache2` sau `httpd`) | serverul web ascultă corect |\n| nimic | niciun server web nu ascultă (pe un server nou nu este instalat): [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt) |\n| doar `:80` | HTTPS nu este configurat: pasul 7 |\n| alt program pe 80 sau 443 | un al doilea server web sau un container ocupă portul; păstrați unul singur |\n\nDacă pe IP se deschide site-ul, dar pe domeniu apare pagina implicită, `server_name` (nginx) sau `ServerName`/`ServerAlias` (Apache) nu conțin `DOMENIU` și `www.DOMENIU`. Un disc plin provoacă și el erori: [Discul serverului este plin](#faq.disc-plin).\n\n## Pasul 4. Firewall-ul din sistem permite 80 și 443\n\nBLACKBOX nu activează firewall-ul din sistem pe un server nou. Dacă l-ați activat dvs., verificați-l.\n\n### Ubuntu și Debian\n\n```bash\nufw status\n```\n\n`Status: inactive` înseamnă că ufw nu blochează nimic. Dacă este `active`, în listă trebuie să apară 80 și 443 (de exemplu `80,443/tcp ALLOW Anywhere`, `Nginx Full` sau `Apache Full`). Altfel:\n\n```bash\nufw allow 80,443/tcp\n```\n\n### AlmaLinux și CentOS Stream\n\n```bash\nfirewall-cmd --list-all\n```\n\n„FirewallD is not running” înseamnă că firewalld nu blochează nimic. Dacă rulează, în rândul `services:` trebuie să apară `http` și `https`. Altfel:\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Atenție**\n> Clienții nu au consolă web sau VNC: serverul se administrează doar prin SSH. Nu ștergeți regula pentru portul 22 și păstrați o a doua sesiune SSH deschisă cât modificați firewall-ul. Detalii: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall).\n\n## Pasul 5. Portul este deschis în filtrarea din rețea\n\nTraficul spre server trece și prin filtrarea din rețea administrată de BLACKBOX. Pe un server nou, ea lasă să treacă SSH (22), HTTP (80), HTTPS (443) și ping; panoul nu are setări de firewall. O aplicație pe alt port, de exemplu 3000, 8000 sau 8080, nu este accesibilă din internet, chiar dacă portul este permis în `ufw` sau `firewalld`: cererea se termină cu timeout. Aveți două variante:\n\n- recomandat: puneți nginx în față, pe 80 și 443: [Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy](#ghiduri.reverse-proxy-aplicatii);\n- cereți suportului să deschidă portul: indicați adresa IP a serverului, numărul comenzii (`BBX-…`), portul, protocolul (TCP sau UDP) și la ce vă trebuie.\n\n## Pasul 6. Aplicația ascultă pe adresa potrivită\n\nVerificați adresa pe care ascultă aplicația (aici, portul 3000) și dacă răspunde pe server:\n\n```bash\nss -tlnp | grep ':3000'\ncurl -I http://127.0.0.1:3000\n```\n\n- `127.0.0.1:3000`: aplicația primește doar conexiuni de pe server. Corect în spatele nginx (`proxy_pass http://127.0.0.1:3000`), dar direct din exterior nu este accesibilă.\n- `0.0.0.0:3000` sau `*:3000`: aplicația primește conexiuni din exterior, dacă portul este deschis și în rețea (pasul 5).\n- Niciun rând: aplicația nu rulează sau folosește alt port; vedeți jurnalele ei.\n\nDacă aplicația răspunde pe `127.0.0.1`, dar site-ul dă `502 Bad Gateway`, verificați adresa și portul din `proxy_pass`. Pe AlmaLinux și CentOS Stream, „(13: Permission denied)” în `/var/log/nginx/error.log` înseamnă că SELinux blochează legătura:\n\n```bash\nsetsebool -P httpd_can_network_connect 1\n```\n\nUn container publicat cu `-p 127.0.0.1:8080:80` ascultă, la fel, doar local: [Instalarea Docker și Docker Compose](#ghiduri.docker).\n\n## Pasul 7. Certificatul HTTPS este valid\n\n```bash\ncertbot certificates\n```\n\nLa certificatul site-ului, `Domains:` trebuie să conțină `DOMENIU` (și `www.DOMENIU`, dacă îl folosiți), iar `Expiry Date:` trebuie să se termine cu `(VALID: … days)`, nu cu `(INVALID: EXPIRED)`. „No certificates found.” înseamnă că pe server nu s-a emis niciun certificat. Dacă a expirat, testați reînnoirea, reînnoiți-l și reîncărcați serverul web (la Apache, `apache2` sau `httpd` în loc de `nginx`):\n\n```bash\ncertbot renew --dry-run\ncertbot renew\nsystemctl reload nginx\n```\n\nTestul 2 cu curl arată ce certificat primește de fapt vizitatorul. Dacă apare tot cel vechi, serverul web nu a fost reîncărcat sau configurația pentru 443 indică alte fișiere. Erorile certbot: [Server web cu HTTPS: nginx sau Apache și Let's Encrypt](#ghiduri.server-web-lets-encrypt). Certificat comercial: [Certificate SSL: gratuite (Let's Encrypt) și comerciale](#domenii.certificate-ssl).\n\n## Pasul 8. Erorile Cloudflare\n\nDacă domeniul trece prin proxy-ul Cloudflare (caseta „Proxy” bifată la înregistrare în pagina „DNS” a panoului sau proxy-ul activat direct în contul Cloudflare), Cloudflare se conectează la serverul dvs. și afișează propria pagină de eroare când nu reușește.\n\n| Eroarea | Ce înseamnă | Ce faceți |\n|---|---|---|\n| 521 Web server is down | serverul refuză conexiunea | pasul 3 |\n| 522 Connection timed out | serverul nu răspunde | verificați IP-ul din înregistrarea DNS, apoi pașii 2, 4, 5 |\n| 525 SSL handshake failed | serverul nu oferă corect HTTPS pe 443 | pasul 7 |\n| 526 Invalid SSL certificate | în modul „Full (strict)”, certificatul serverului a expirat sau este pentru alt nume | pasul 7 |\n| `ERR_TOO_MANY_REDIRECTS` | modul „Flexible”: Cloudflare cere pagina prin HTTP, iar serverul redirecționează spre HTTPS | alegeți „Full (strict)” |\n\nModul SSL se alege în contul Cloudflare, la „SSL/TLS”; pagina „DNS” a panoului nu îl schimbă. Alegeți „Full (strict)” după ce serverul are un certificat valid ([documentația Cloudflare despre modurile SSL](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/)). Ca să verificați serverul fără Cloudflare, rulați testul 3 cu curl sau debifați temporar „Proxy”.\n\n## Pasul 9. Cache-ul browserului și HSTS\n\n- Deschideți site-ul într-o fereastră privată, în alt browser sau de pe altă rețea (de exemplu cu datele mobile) și comparați cu testele cu curl de mai jos.\n- După o schimbare de DNS, pe Windows goliți cache-ul DNS:\n\n  ```powershell\n  ipconfig /flushdns\n  ```\n\n- HSTS: un site care a trimis antetul `Strict-Transport-Security` se deschide doar prin HTTPS, iar browserul nu vă lasă să treceți peste o eroare de certificat. Soluția este un certificat valid (pasul 7).\n\n## Trei teste cu curl\n\nRulați-le pe calculatorul dvs. În Windows PowerShell scrieți `curl.exe` în loc de `curl`.\n\n1. Serverul web răspunde pe IP, fără DNS:\n\n   ```bash\n   curl -I http://IP_SERVER\n   ```\n\n   Orice răspuns HTTP (`200`, `301`, `403`, `404`): serverul, rețeaua și portul 80 sunt în regulă. Eroare imediată (`Connection refused`, `Couldn't connect to server`): nimic nu ascultă pe 80 (pasul 3). Timeout după o așteptare lungă: pachetele sunt oprite (pașii 2, 4, 5).\n\n2. Ce primește un vizitator:\n\n   ```bash\n   curl -vk https://DOMENIU\n   ```\n\n   `-k` continuă chiar dacă certificatul nu este valid. `Connected to DOMENIU (…) port 443` arată adresa la care a ajuns cererea. `subject:` și `expire date:` arată numele din certificat și data expirării (curl pe Windows poate să nu le afișeze). Rândul `< HTTP…` arată codul de răspuns.\n\n3. Serverul dvs., ocolind DNS-ul și Cloudflare (`--resolve` trimite cererea direct la `IP_SERVER`, cu numele domeniului):\n\n   ```bash\n   curl -I --resolve DOMENIU:443:IP_SERVER https://DOMENIU\n   ```\n\n> **Sfat**\n> Dacă testul 3 reușește, dar testul 2 nu, serverul este în regulă: problema este în DNS (pasul 1) sau în Cloudflare (pasul 8). Dacă testul 3 dă o eroare de certificat, reparați certificatul (pasul 7).\n\n## Jurnalele\n\n| Program | Jurnalul de erori |\n|---|---|\n| nginx | `/var/log/nginx/error.log` |\n| Apache pe Ubuntu și Debian | `/var/log/apache2/error.log` |\n| Apache pe AlmaLinux și CentOS Stream | `/var/log/httpd/error_log` |\n| certbot | `/var/log/letsencrypt/letsencrypt.log` |\n\nUltimele rânduri ale jurnalului serverului web și ale serviciului:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\njournalctl -u nginx -n 50 --no-pager\n```\n\nJurnalele aplicației: pentru un serviciu systemd, prima comandă; pentru un container, a doua; pentru Docker Compose, a treia, din directorul proiectului.\n\n```bash\njournalctl -u NUME_SERVICIU -n 100 --no-pager\ndocker logs --tail 100 NUME_CONTAINER\ndocker compose logs --tail 100\n```\n\n## Când scrieți suportului\n\nDacă toate verificările trec și site-ul tot nu se deschide din exterior, scrieți-ne: [Deschiderea unui tichet de suport](#suport.tichet-nou). Includeți domeniul, adresa IP a serverului, numărul comenzii (`BBX-…`), rezultatul celor trei teste cu curl și ce ați verificat deja.\n\n## Întrebări frecvente\n\n**Site-ul a funcționat, apoi s-a oprit fără să schimb nimic.**\nCauzele frecvente sunt un certificat expirat (pasul 7), un disc plin ([Discul serverului este plin](#faq.disc-plin)) și o aplicație oprită (pașii 3 și 6). Dacă problema a apărut după o repornire, probabil serviciul nu era activat la pornire: activați-l pentru serverul web și pentru aplicație, ca la pasul 3.\n\n**Site-ul merge pe telefon, dar nu pe calculatorul meu.**\nCauza este pe calculator sau în rețeaua dvs.: cache-ul DNS sau al browserului, ori o intrare veche pentru domeniu în fișierul `hosts` (`C:\\Windows\\System32\\drivers\\etc\\hosts` pe Windows, `/etc/hosts` pe Linux și macOS). Vedeți pasul 9.\n\n**Am un plan „VPS hosting” cu panou de control.**\nDacă pe server rulează un panou de control, site-urile, serverul web și certificatele se administrează din el; nu instalați alt server web peste el. Testele cu `dig` și `curl` rămân valabile. Ce panou este instalat și cum intrați în el aflați de la suport: [Planurile „VPS hosting” cu panou de control](#comenzi.vps-cu-panou).\n",
    "ru": "Если сайт на вашем сервере BLACKBOX не открывается, пройдите проверки ниже по порядку: каждая исключает одну из причин. Команды из шагов 1, 2 и 9 и три теста curl в конце статьи выполняются на вашем компьютере, остальные — на сервере, по SSH под `root`. Адрес сервера указан в поле «IP» карточки сервера на странице «Мои серверы» панели app.blackbox.md (`app.blackbox.md/my-servers`, боковая панель → «Инфраструктура» → «Мои серверы»). Настроек веб-сервера, файрвола и сертификатов в панели нет.\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX. Другие порты в сетевой фильтрации — по запросу через поддержку.\n\nВ командах замените `ДОМЕН` на ваш домен, а `IP_СЕРВЕРА` — на адрес сервера.\n\n## Коротко: что показывает браузер\n\n| Что вы видите | Вероятная причина | Шаг |\n|---|---|---|\n| `DNS_PROBE_FINISHED_NXDOMAIN` | у домена нет DNS-записи | 1 |\n| `ERR_CONNECTION_TIMED_OUT` | неверный DNS, сервер остановлен, файрвол или порт закрыт в сети | 1, 2, 4, 5 |\n| `ERR_CONNECTION_REFUSED` | веб-сервер не запущен или не настроен HTTPS | 3, 7 |\n| Страница «Welcome to nginx!» или тестовая страница Apache | в веб-сервере нет конфигурации для этого домена | 3 |\n| `502 Bad Gateway` | веб-сервер не может подключиться к приложению | 6 |\n| `NET::ERR_CERT_COMMON_NAME_INVALID`, `NET::ERR_CERT_DATE_INVALID` | сертификат выпущен на другое имя или истёк | 7 |\n| `ERR_TOO_MANY_REDIRECTS`, страница Cloudflare с ошибкой 521, 522, 525 или 526 | настройки Cloudflare или сервер за ним | 8 |\n\n## Шаг 1. DNS: домен указывает на сервер\n\nВ Linux или macOS:\n\n```bash\ndig +short ДОМЕН\ndig +short www.ДОМЕН\ndig +short ДОМЕН AAAA\n```\n\nВ Windows:\n\n```powershell\nnslookup ДОМЕН\n```\n\nПервые две команды должны вывести `IP_СЕРВЕРА` (если `www` — запись CNAME, сначала появится имя, на которое она указывает, например `ДОМЕН.`). Третья не должна ничего выводить; адреса Cloudflare появятся, только если включён прокси Cloudflare. AAAA-запись, оставшаяся от старого хостинга, уводит часть посетителей на другой сервер — удалите её.\n\n| Результат | Что делать |\n|---|---|\n| пусто | создайте A-запись: [Как направить домен на сервер](#domenii.indreptare-domeniu) |\n| другой IP-адрес | замените старую запись на `IP_СЕРВЕРА` |\n| адреса Cloudflare (включён прокси Cloudflare) | это нормально; проверьте сервер третьим тестом curl (см. также шаг 8) |\n\n## Шаг 2. Сервер работает\n\n```bash\nssh root@IP_СЕРВЕРА\n```\n\nЕсли подключение прошло, сервер запущен и доступен из сети. Если нет — см. [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh). Панель не показывает, запущен ли сервер; если вы остановили его кнопкой «Остановить», запустите его кнопкой «Запустить» на карточке ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)).\n\n## Шаг 3. Веб-сервер запущен и слушает порты 80 и 443\n\n1. Проверьте службу. Для Apache вместо `nginx` укажите `apache2` (Ubuntu, Debian) или `httpd` (AlmaLinux, CentOS Stream). В строке `Active:` должно быть `active (running)`.\n\n   ```bash\n   systemctl status nginx\n   ```\n\n2. Если там `inactive (dead)` или `failed`, проверьте конфигурацию (должно быть «syntax is ok» и «test is successful», иначе команда покажет файл и строку с ошибкой), затем запустите службу и включите её автозапуск:\n\n   ```bash\n   nginx -t\n   systemctl enable --now nginx\n   ```\n\n   Для Apache проверка выводит «Syntax OK»:\n\n   ```bash\n   # Ubuntu и Debian\n   apache2ctl configtest\n   # AlmaLinux и CentOS Stream\n   apachectl configtest\n   ```\n\n3. Проверьте, кто слушает порты 80 и 443:\n\n   ```bash\n   ss -tlnp | grep -E ':80|:443'\n   ```\n\n| Результат | Что это значит |\n|---|---|\n| `0.0.0.0:80` и `0.0.0.0:443` (или `[::]:80`, `*:443`) с `users:((\"nginx\",…))` (у Apache — `apache2` или `httpd`) | веб-сервер слушает как надо |\n| пусто | веб-сервер не слушает порты (на новом сервере он не установлен): [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt) |\n| только `:80` | HTTPS не настроен: шаг 7 |\n| порт 80 или 443 занят другой программой | второй веб-сервер или контейнер; оставьте только один |\n\nЕсли по IP сайт открывается, а по домену — страница по умолчанию, значит, в `server_name` (nginx) или `ServerName`/`ServerAlias` (Apache) нет `ДОМЕН` и `www.ДОМЕН`. Ошибки вызывает и заполненный диск: [Диск сервера заполнен](#faq.disc-plin).\n\n## Шаг 4. Файрвол на сервере пропускает порты 80 и 443\n\nНа новых серверах BLACKBOX не включает файрвол операционной системы. Если вы включили его сами, проверьте правила.\n\n### Ubuntu и Debian\n\n```bash\nufw status\n```\n\n`Status: inactive` означает, что ufw ничего не блокирует. Если статус `active`, в списке должны быть 80 и 443 (например, `80,443/tcp ALLOW Anywhere`, `Nginx Full` или `Apache Full`). Если их нет:\n\n```bash\nufw allow 80,443/tcp\n```\n\n### AlmaLinux и CentOS Stream\n\n```bash\nfirewall-cmd --list-all\n```\n\n«FirewallD is not running» означает, что firewalld ничего не блокирует. Если он работает, в строке `services:` должны быть `http` и `https`. Если их нет:\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Внимание**\n> Веб- и VNC-консоли для клиентов нет: сервером управляют только по SSH. Не удаляйте правило для порта 22 и держите открытой вторую SSH-сессию, пока меняете файрвол. Подробнее: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall).\n\n## Шаг 5. Порт открыт в сетевой фильтрации\n\nТрафик к серверу проходит ещё и через сетевую фильтрацию, которой управляет BLACKBOX. На новом сервере она пропускает SSH (22), HTTP (80), HTTPS (443) и ping; настроек файрвола в панели нет. Приложение на другом порту, например 3000, 8000 или 8080, недоступно из интернета, даже если порт разрешён в `ufw` или `firewalld`: запрос завершается по таймауту. Есть два варианта:\n\n- рекомендуемый: поставьте перед приложением nginx на портах 80 и 443 — [Приложения Node.js, Python и другие сервисы: nginx как обратный прокси](#ghiduri.reverse-proxy-aplicatii);\n- попросите поддержку открыть порт: укажите IP-адрес сервера, номер заказа (`BBX-…`), порт, протокол (TCP или UDP) и для чего он нужен.\n\n## Шаг 6. Приложение слушает правильный адрес\n\nПроверьте, на каком адресе слушает приложение (здесь — порт 3000) и отвечает ли оно на самом сервере:\n\n```bash\nss -tlnp | grep ':3000'\ncurl -I http://127.0.0.1:3000\n```\n\n- `127.0.0.1:3000` — приложение принимает подключения только с самого сервера. Для работы за nginx это правильно (`proxy_pass http://127.0.0.1:3000`), но напрямую извне оно недоступно.\n- `0.0.0.0:3000` или `*:3000` — приложение принимает подключения извне, если порт открыт и в сетевой фильтрации (шаг 5).\n- Пусто — приложение не запущено или работает на другом порту; смотрите его журналы.\n\nЕсли на `127.0.0.1` приложение отвечает, а сайт выдаёт `502 Bad Gateway`, проверьте адрес и порт в `proxy_pass`. В AlmaLinux и CentOS Stream строка «(13: Permission denied)» в `/var/log/nginx/error.log` означает, что подключение блокирует SELinux:\n\n```bash\nsetsebool -P httpd_can_network_connect 1\n```\n\nКонтейнер, опубликованный как `-p 127.0.0.1:8080:80`, тоже слушает только локально: [Установка Docker и Docker Compose](#ghiduri.docker).\n\n## Шаг 7. Сертификат HTTPS действителен\n\n```bash\ncertbot certificates\n```\n\nУ сертификата сайта в `Domains:` должен быть `ДОМЕН` (и `www.ДОМЕН`, если вы его используете), а строка `Expiry Date:` должна заканчиваться на `(VALID: … days)`, а не на `(INVALID: EXPIRED)`. «No certificates found.» означает, что на сервере не выпущено ни одного сертификата. Если сертификат истёк, проверьте продление, продлите его и перезагрузите конфигурацию веб-сервера (для Apache вместо `nginx` укажите `apache2` или `httpd`):\n\n```bash\ncertbot renew --dry-run\ncertbot renew\nsystemctl reload nginx\n```\n\nКакой сертификат на самом деле получает посетитель, покажет второй тест curl. Если там по-прежнему старый, веб-сервер не перечитал конфигурацию или в настройках для порта 443 указаны другие файлы. Ошибки certbot: [Веб-сервер с HTTPS: nginx или Apache и Let's Encrypt](#ghiduri.server-web-lets-encrypt). Коммерческий сертификат: [SSL-сертификаты: бесплатные (Let's Encrypt) и коммерческие](#domenii.certificate-ssl).\n\n## Шаг 8. Ошибки Cloudflare\n\nЕсли домен проходит через прокси Cloudflare (на странице «DNS» панели у записи отмечен флажок «Прокси» или прокси включён прямо в аккаунте Cloudflare), Cloudflare сам подключается к вашему серверу и при неудаче показывает свою страницу ошибки.\n\n| Ошибка | Что это значит | Что делать |\n|---|---|---|\n| 521 Web server is down | сервер отклоняет подключение | шаг 3 |\n| 522 Connection timed out | сервер не отвечает | проверьте IP в DNS-записи, затем шаги 2, 4, 5 |\n| 525 SSL handshake failed | сервер неправильно отдаёт HTTPS на порту 443 | шаг 7 |\n| 526 Invalid SSL certificate | в режиме «Full (strict)» сертификат сервера истёк или выпущен на другое имя | шаг 7 |\n| `ERR_TOO_MANY_REDIRECTS` | режим «Flexible»: Cloudflare запрашивает страницу по HTTP, а сервер перенаправляет на HTTPS | выберите «Full (strict)» |\n\nРежим SSL выбирается в аккаунте Cloudflare, в разделе «SSL/TLS»; страница «DNS» панели его не меняет. Включайте «Full (strict)», когда на сервере уже есть действительный сертификат ([документация Cloudflare о режимах SSL](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/)). Чтобы проверить сервер без Cloudflare, выполните третий тест curl или временно снимите флажок «Прокси».\n\n## Шаг 9. Кэш браузера и HSTS\n\n- Откройте сайт в приватном окне, в другом браузере или из другой сети (например, через мобильный интернет) и сравните с тестами curl ниже.\n- После изменения DNS очистите DNS-кэш компьютера. В Windows:\n\n  ```powershell\n  ipconfig /flushdns\n  ```\n\n- HSTS: если сайт уже отправлял заголовок `Strict-Transport-Security`, браузер открывает его только по HTTPS и не даёт пропустить ошибку сертификата. Решение — действительный сертификат (шаг 7).\n\n## Три теста с curl\n\nВыполняйте их на своём компьютере. В Windows PowerShell вместо `curl` пишите `curl.exe`.\n\n1. Веб-сервер отвечает по IP, без DNS:\n\n   ```bash\n   curl -I http://IP_СЕРВЕРА\n   ```\n\n   Любой HTTP-ответ (`200`, `301`, `403`, `404`) — сервер, сеть и порт 80 в порядке. Мгновенная ошибка (`Connection refused`, `Couldn't connect to server`) — порт 80 никто не слушает (шаг 3). Таймаут после долгого ожидания — пакеты отбрасываются (шаги 2, 4, 5).\n\n2. Что получает посетитель:\n\n   ```bash\n   curl -vk https://ДОМЕН\n   ```\n\n   `-k` продолжает работу, даже если сертификат недействителен. Строка `Connected to ДОМЕН (…) port 443` показывает, на какой адрес ушёл запрос. Строки `subject:` и `expire date:` — имя в сертификате и дата окончания его действия (curl в Windows может их не выводить). Строка `< HTTP…` — код ответа.\n\n3. Ваш сервер в обход DNS и Cloudflare (`--resolve` отправляет запрос прямо на `IP_СЕРВЕРА` с именем домена):\n\n   ```bash\n   curl -I --resolve ДОМЕН:443:IP_СЕРВЕРА https://ДОМЕН\n   ```\n\n> **Совет**\n> Если третий тест проходит, а второй нет, с сервером всё в порядке: проблема в DNS (шаг 1) или в Cloudflare (шаг 8). Если третий тест выдаёт ошибку сертификата, исправьте сертификат (шаг 7).\n\n## Журналы\n\n| Программа | Журнал ошибок |\n|---|---|\n| nginx | `/var/log/nginx/error.log` |\n| Apache в Ubuntu и Debian | `/var/log/apache2/error.log` |\n| Apache в AlmaLinux и CentOS Stream | `/var/log/httpd/error_log` |\n| certbot | `/var/log/letsencrypt/letsencrypt.log` |\n\nПоследние строки журнала веб-сервера и журнала службы:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\njournalctl -u nginx -n 50 --no-pager\n```\n\nЖурналы приложения: для службы systemd — первая команда, для контейнера — вторая, для Docker Compose — третья, из каталога проекта.\n\n```bash\njournalctl -u ИМЯ_СЕРВИСА -n 100 --no-pager\ndocker logs --tail 100 ИМЯ_КОНТЕЙНЕРА\ndocker compose logs --tail 100\n```\n\n## Когда писать в поддержку\n\nЕсли все проверки пройдены, а сайт по-прежнему не открывается извне, напишите нам: [Создание тикета в поддержку](#suport.tichet-nou). Укажите домен, IP-адрес сервера, номер заказа (`BBX-…`), результаты трёх тестов curl и то, что вы уже проверили.\n\n## Частые вопросы\n\n**Сайт работал, а потом перестал, хотя я ничего не менял.**\nЧаще всего это истёкший сертификат (шаг 7), заполненный диск ([Диск сервера заполнен](#faq.disc-plin)) или остановившееся приложение (шаги 3 и 6). Если сайт пропал после перезагрузки, скорее всего, у службы не был включён автозапуск: включите его для веб-сервера и для приложения, как в шаге 3.\n\n**С телефона сайт открывается, а с компьютера — нет.**\nПричина на компьютере или в вашей сети: DNS-кэш, кэш браузера или старая запись для домена в файле `hosts` (`C:\\Windows\\System32\\drivers\\etc\\hosts` в Windows, `/etc/hosts` в Linux и macOS). См. шаг 9.\n\n**У меня тариф «VPS hosting» с панелью управления.**\nЕсли на сервере работает панель управления, сайтами, веб-сервером и сертификатами управляйте через неё; не ставьте поверх неё другой веб-сервер. Тесты с `dig` и `curl` работают и здесь. Какая панель установлена и как в неё войти, уточните в поддержке: [Тарифы «VPS hosting» с панелью управления](#comenzi.vps-cu-panou).\n",
    "en": "When the site on your BLACKBOX server does not open, go through the checks below in order: each one rules out one cause. You run the commands in steps 1, 2 and 9 and the three curl tests at the end on your own computer; you run all the others on the server, over SSH, as `root`. The server's address is in the “IP” field of its card on the “My Servers” page of the app.blackbox.md panel (`app.blackbox.md/my-servers`, sidebar → “Infrastructure” → “My Servers”). The panel has no settings for the web server, the firewall or certificates.\n\n**Available to:** anyone with root SSH access to a BLACKBOX server. Other ports in the network filtering: on request, through support.\n\nIn the commands, replace `DOMAIN` with your domain and `SERVER_IP` with the server's address.\n\n## In short: what your browser shows\n\n| What you see | Likely cause | Step |\n|---|---|---|\n| `DNS_PROBE_FINISHED_NXDOMAIN` | the domain has no DNS record | 1 |\n| `ERR_CONNECTION_TIMED_OUT` | wrong DNS, server stopped, firewall, or port closed in the network | 1, 2, 4, 5 |\n| `ERR_CONNECTION_REFUSED` | the web server is not running or has no HTTPS | 3, 7 |\n| The “Welcome to nginx!” page or the Apache test page | the web server has no configuration for this domain | 3 |\n| `502 Bad Gateway` | the web server cannot reach the application | 6 |\n| `NET::ERR_CERT_COMMON_NAME_INVALID`, `NET::ERR_CERT_DATE_INVALID` | the certificate is for a different name, or has expired | 7 |\n| `ERR_TOO_MANY_REDIRECTS`, a Cloudflare 521, 522, 525 or 526 page | the Cloudflare settings or the server behind Cloudflare | 8 |\n\n## Step 1. DNS: the domain points to the server\n\nOn Linux or macOS:\n\n```bash\ndig +short DOMAIN\ndig +short www.DOMAIN\ndig +short DOMAIN AAAA\n```\n\nOn Windows:\n\n```powershell\nnslookup DOMAIN\n```\n\nThe first two commands must show `SERVER_IP` (if `www` is a CNAME, the name it points to appears first, for example `DOMAIN.`). The third must show nothing; Cloudflare addresses appear only when the Cloudflare proxy is on. An AAAA record left over from your old hosting sends some of your visitors to a different server: delete it.\n\n| Result | What to do |\n|---|---|\n| nothing | create the A record: [How to point your domain to the server](#domenii.indreptare-domeniu) |\n| a different IP address | replace the old record with `SERVER_IP` |\n| Cloudflare addresses (the Cloudflare proxy is on) | this is normal; check the server with curl test 3 and see step 8 |\n\n## Step 2. The server is running\n\n```bash\nssh root@SERVER_IP\n```\n\nIf you can connect, the server is on and reachable from the network. If you can't: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh). The panel does not show whether the server is running; if you stopped it with “Stop”, start it with “Start” on its card ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)).\n\n## Step 3. The web server is running and listening on 80 and 443\n\n1. Check the service. For Apache, type `apache2` (Ubuntu, Debian) or `httpd` (AlmaLinux, CentOS Stream) instead of `nginx`. The `Active:` line must show `active (running)`.\n\n   ```bash\n   systemctl status nginx\n   ```\n\n2. If it shows `inactive (dead)` or `failed`, test the configuration (you should see “syntax is ok” and “test is successful”; otherwise the output shows the file and the line with the error), then start the service and enable it to start when the server boots:\n\n   ```bash\n   nginx -t\n   systemctl enable --now nginx\n   ```\n\n   For Apache, the test shows “Syntax OK”:\n\n   ```bash\n   # Ubuntu and Debian\n   apache2ctl configtest\n   # AlmaLinux and CentOS Stream\n   apachectl configtest\n   ```\n\n3. Check what is listening on ports 80 and 443:\n\n   ```bash\n   ss -tlnp | grep -E ':80|:443'\n   ```\n\n| Result | What it means |\n|---|---|\n| `0.0.0.0:80` and `0.0.0.0:443` (or `[::]:80`, `*:443`) with `users:((\"nginx\",…))` (for Apache, `apache2` or `httpd`) | the web server is listening correctly |\n| nothing | no web server is listening (a new server does not have one installed): [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt) |\n| only `:80` | HTTPS is not set up: step 7 |\n| another program on 80 or 443 | a second web server or a container is using the port; keep only one |\n\nIf the site opens on the IP address but the domain shows the default page, `server_name` (nginx) or `ServerName`/`ServerAlias` (Apache) does not include `DOMAIN` and `www.DOMAIN`. A full disk also causes errors: [The server's disk is full](#faq.disc-plin).\n\n## Step 4. The system firewall allows 80 and 443\n\nBLACKBOX does not turn on the system firewall on a new server. If you turned it on yourself, check it.\n\n### Ubuntu and Debian\n\n```bash\nufw status\n```\n\n`Status: inactive` means that ufw is not blocking anything. If the status is `active`, the list must include 80 and 443 (for example `80,443/tcp ALLOW Anywhere`, `Nginx Full` or `Apache Full`). If it doesn't:\n\n```bash\nufw allow 80,443/tcp\n```\n\n### AlmaLinux and CentOS Stream\n\n```bash\nfirewall-cmd --list-all\n```\n\n“FirewallD is not running” means that firewalld is not blocking anything. If it is running, the `services:` line must include `http` and `https`. If it doesn't:\n\n```bash\nfirewall-cmd --permanent --add-service=http --add-service=https\nfirewall-cmd --reload\n```\n\n> **Warning**\n> Customers have no web or VNC console: the server is managed only over SSH. Do not delete the rule for port 22, and keep a second SSH session open while you change the firewall. Details: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall).\n\n## Step 5. The port is open in the network filtering\n\nTraffic to the server also passes through network filtering managed by BLACKBOX. On a new server, it lets through SSH (22), HTTP (80), HTTPS (443) and ping; the panel has no firewall settings. An application on another port, for example 3000, 8000 or 8080, is not reachable from the internet, even if the port is allowed in `ufw` or `firewalld`: the request ends in a timeout. You have two options:\n\n- recommended: put nginx in front of the application, on 80 and 443: [Node.js, Python and other services: nginx as a reverse proxy](#ghiduri.reverse-proxy-aplicatii);\n- ask support to open the port: give the server's IP address, the order number (`BBX-…`), the port, the protocol (TCP or UDP) and what you need it for.\n\n## Step 6. The application is listening on the right address\n\nCheck which address the application listens on (here, port 3000) and whether it responds on the server:\n\n```bash\nss -tlnp | grep ':3000'\ncurl -I http://127.0.0.1:3000\n```\n\n- `127.0.0.1:3000`: the application accepts connections only from the server itself. This is correct behind nginx (`proxy_pass http://127.0.0.1:3000`), but the application is not reachable directly from outside.\n- `0.0.0.0:3000` or `*:3000`: the application accepts connections from outside, provided the port is also open in the network (step 5).\n- No line: the application is not running or uses a different port; check its logs.\n\nIf the application responds on `127.0.0.1` but the site shows `502 Bad Gateway`, check the address and port in `proxy_pass`. On AlmaLinux and CentOS Stream, “(13: Permission denied)” in `/var/log/nginx/error.log` means that SELinux is blocking the connection:\n\n```bash\nsetsebool -P httpd_can_network_connect 1\n```\n\nA container published with `-p 127.0.0.1:8080:80` likewise listens only locally: [Installing Docker and Docker Compose](#ghiduri.docker).\n\n## Step 7. The HTTPS certificate is valid\n\n```bash\ncertbot certificates\n```\n\nFor the site's certificate, `Domains:` must include `DOMAIN` (and `www.DOMAIN`, if you use it), and `Expiry Date:` must end with `(VALID: … days)`, not `(INVALID: EXPIRED)`. “No certificates found.” means that no certificate has been issued on the server. If the certificate has expired, test the renewal, renew it and reload the web server (for Apache, `apache2` or `httpd` instead of `nginx`):\n\n```bash\ncertbot renew --dry-run\ncertbot renew\nsystemctl reload nginx\n```\n\nCurl test 2 shows which certificate a visitor actually receives. If you still see the old one, the web server was not reloaded or the configuration for port 443 points to other files. For certbot errors, see [Web server with HTTPS: nginx or Apache and Let's Encrypt](#ghiduri.server-web-lets-encrypt). For a commercial certificate, see [SSL certificates: free (Let's Encrypt) and commercial](#domenii.certificate-ssl).\n\n## Step 8. Cloudflare errors\n\nIf the domain goes through the Cloudflare proxy (the “Proxied” checkbox is checked on the record on the panel's “DNS” page, or the proxy is turned on directly in your Cloudflare account), Cloudflare connects to your server and shows its own error page when it cannot.\n\n| Error | What it means | What to do |\n|---|---|---|\n| 521 Web server is down | the server refuses the connection | step 3 |\n| 522 Connection timed out | the server does not respond | check the IP address in the DNS record, then steps 2, 4, 5 |\n| 525 SSL handshake failed | the server does not serve HTTPS correctly on 443 | step 7 |\n| 526 Invalid SSL certificate | in “Full (strict)” mode, the server's certificate has expired or is for a different name | step 7 |\n| `ERR_TOO_MANY_REDIRECTS` | “Flexible” mode: Cloudflare requests the page over HTTP, and the server redirects to HTTPS | choose “Full (strict)” |\n\nYou choose the SSL mode in your Cloudflare account, under “SSL/TLS”; the panel's “DNS” page does not change it. Choose “Full (strict)” once the server has a valid certificate ([Cloudflare documentation on SSL modes](https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/)). To check the server without Cloudflare, run curl test 3 or temporarily uncheck “Proxied”.\n\n## Step 9. Browser cache and HSTS\n\n- Open the site in a private window, in another browser or from another network (for example, over mobile data), and compare the result with the curl tests below.\n- After a DNS change, clear the DNS cache on Windows:\n\n  ```powershell\n  ipconfig /flushdns\n  ```\n\n- HSTS: a site that has sent the `Strict-Transport-Security` header opens only over HTTPS, and the browser does not let you click past a certificate error. The fix is a valid certificate (step 7).\n\n## Three curl tests\n\nRun them on your own computer. In Windows PowerShell, type `curl.exe` instead of `curl`.\n\n1. The web server responds on the IP address, without DNS:\n\n   ```bash\n   curl -I http://SERVER_IP\n   ```\n\n   Any HTTP response (`200`, `301`, `403`, `404`): the server, the network and port 80 are fine. An immediate error (`Connection refused`, `Couldn't connect to server`): nothing is listening on port 80 (step 3). A timeout after a long wait: the packets are being dropped (steps 2, 4, 5).\n\n2. What a visitor gets:\n\n   ```bash\n   curl -vk https://DOMAIN\n   ```\n\n   `-k` continues even if the certificate is not valid. `Connected to DOMAIN (…) port 443` shows the address the request reached. `subject:` and `expire date:` show the name in the certificate and its expiry date (curl on Windows may not show them). The `< HTTP…` line shows the response code.\n\n3. Your server, bypassing DNS and Cloudflare (`--resolve` sends the request straight to `SERVER_IP`, with the domain name):\n\n   ```bash\n   curl -I --resolve DOMAIN:443:SERVER_IP https://DOMAIN\n   ```\n\n> **Tip**\n> If test 3 succeeds but test 2 does not, the server is fine: the problem is in DNS (step 1) or in Cloudflare (step 8). If test 3 gives a certificate error, fix the certificate (step 7).\n\n## Logs\n\n| Program | Error log |\n|---|---|\n| nginx | `/var/log/nginx/error.log` |\n| Apache on Ubuntu and Debian | `/var/log/apache2/error.log` |\n| Apache on AlmaLinux and CentOS Stream | `/var/log/httpd/error_log` |\n| certbot | `/var/log/letsencrypt/letsencrypt.log` |\n\nThe last lines of the web server's log and of the service's log:\n\n```bash\ntail -n 50 /var/log/nginx/error.log\njournalctl -u nginx -n 50 --no-pager\n```\n\nApplication logs: for a systemd service, use the first command; for a container, the second; for Docker Compose, the third, run from the project directory.\n\n```bash\njournalctl -u SERVICE_NAME -n 100 --no-pager\ndocker logs --tail 100 CONTAINER_NAME\ndocker compose logs --tail 100\n```\n\n## When to write to support\n\nIf all the checks pass and the site still does not open from outside, write to us: [Opening a support ticket](#suport.tichet-nou). Include the domain, the server's IP address, the order number (`BBX-…`), the results of the three curl tests and what you have already checked.\n\n## Frequently asked questions\n\n**The site was working, then it stopped, and I didn't change anything.**\nCommon causes are an expired certificate (step 7), a full disk ([The server's disk is full](#faq.disc-plin)) and a stopped application (steps 3 and 6). If the problem started after a reboot, the service was probably not enabled at startup: enable it for the web server and for the application, as in step 3.\n\n**The site works on my phone, but not on my computer.**\nThe cause is on your computer or in your network: the DNS or browser cache, or an old entry for the domain in the `hosts` file (`C:\\Windows\\System32\\drivers\\etc\\hosts` on Windows, `/etc/hosts` on Linux and macOS). See step 9.\n\n**I have a “VPS hosting” plan with a control panel.**\nIf a control panel runs on the server, you manage the sites, the web server and the certificates from it; do not install another web server on top of it. The `dig` and `curl` tests still apply. Ask support which panel is installed and how to log in to it: [“VPS hosting” plans with a control panel](#comenzi.vps-cu-panou).\n"
   }
  },
  {
   "id": "faq.serverul-nu-este-gata",
   "section": "faq",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/serverul-nu-este-gata/",
    "ru": "https://docs.blackbox.md/ru/faq/serverul-nu-este-gata/",
    "en": "https://docs.blackbox.md/en/faq/serverul-nu-este-gata/"
   },
   "title": {
    "ro": "Serverul nu apare după plată",
    "ru": "Сервер не появился после оплаты",
    "en": "The server does not appear after payment"
   },
   "summary": {
    "ro": "Ce verificați dacă ați plătit, dar serverul nu este încă disponibil sau nu l-ați găsit în panou.",
    "ru": "Что проверить, если вы оплатили, но сервер ещё недоступен или вы не нашли его в панели.",
    "en": "What to check if you have paid but the server is not available yet or you can't find it in the panel."
   },
   "markdown": {
    "ro": "Ați plătit o comandă pe blackbox.md, dar nu ați primit emailul despre server sau nu găsiți serverul în panoul app.blackbox.md? Verificați pe rând statusul comenzii („Contul meu” → „Comenzi”, `blackbox.md/account/orders`), emailul „Serverul dvs. este gata” și pagina „Serverele mele” din panou (`app.blackbox.md/my-servers`).\n\n**Disponibil pentru:** titularul contului blackbox.md care a plasat comanda.\n\n## 1. Verificați statusul comenzii\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Comenzi”. Se deschide pagina „Comenzile mele”. Dacă era deja deschisă, reîncărcați-o (F5).\n2. Găsiți comanda după număr, în coloana „ID” (de exemplu `BBX-2026-000123`).\n3. Citiți coloana „Status” și verificați dacă sub descrierea comenzii apare linia „Server: IP_SERVER”.\n\n| Ce vedeți | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nou” | Plata nu a fost confirmată, deci serverul nu se creează. | Vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita). |\n| „În lucru”, fără linia „Server: …” | Plata este confirmată, iar serverul este încă în pregătire. | Vedeți la pasul 2 cât durează pregătirea. |\n| „În lucru”, cu linia „Server: IP_SERVER” | Serverul există și are adresă IP. | Căutați emailul (pasul 3) și deschideți „Serverele mele” (pasul 4). |\n| „Anulat” | Comanda a fost anulată sau serverul ei a fost șters. | Serverul nu va apărea. Dacă nu ați anulat dvs. comanda, scrieți-ne. |\n\nComanda rămâne „În lucru” și după ce serverul funcționează: statusul „Finalizat” îl setează doar echipa BLACKBOX. Toate statusurile: [Pagina „Comenzi”: statusuri și acțiuni](#comenzi.comenzile-mele).\n\n## 2. Cât durează pregătirea\n\n| Ce ați comandat | Cum se pregătește serverul |\n|---|---|\n| Un plan VPS (`/servers/plans`) | Automat, de regulă în câteva minute după confirmarea plății. |\n| Un plan „VPS hosting” | Tot automat; echipa vă poate contacta pentru detalii. |\n| Un server dedicat | Manual, de echipă. Vă contactăm noi pentru detalii și predarea serverului. Vedeți [Servere dedicate](#comenzi.servere-dedicate). |\n| Un produs la cerere (de exemplu Windows VPS) | Manual, după ce stabiliți detaliile cu suportul. Vedeți [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere). |\n\nCând serverul este gata, vedeți trei semne: emailul „Serverul dvs. este gata — BBX-…”, linia „Server: IP_SERVER” în „Comenzi” și cardul serverului în „Serverele mele”.\n\n## 3. Căutați emailul „Serverul dvs. este gata”\n\n- Emailul vine pe adresa de email a contului blackbox.md. Subiectul este mereu în română, „Serverul dvs. este gata — BBX-…”, iar textul este în limba contului.\n- Căutați și în dosarele Spam și Promoții, de exemplu după numărul comenzii `BBX-…`.\n- Emailul poate sosi cu aproximativ un minut înainte ca serverul să răspundă la SSH. Dacă prima conectare eșuează, așteptați un minut și reîncercați. Detalii: [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh).\n\nNu aveți emailul, dar linia „Server: …” există? Serverul este creat. Adresa IP o vedeți în „Comenzi”, iar datele de acces root, în panou, cu „Afișează datele de acces”: [Afișarea datelor de acces root](#acces.afisare-date-acces).\n\n## 4. Găsiți serverul în panou\n\nCel mai rapid, din „Comenzi”:\n\n1. Pe rândul comenzii cu linia „Server: …”, apăsați pictograma cu săgeată. Când țineți cursorul pe ea, apare textul „Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” Pe telefon, deschideți meniul cu trei puncte (⋮) și alegeți „Gestionează în app.blackbox.md”.\n2. Panoul se deschide într-o filă nouă și vă autentifică automat.\n3. Se afișează „Serverele mele”, cu cardul acestui server evidențiat. Pe card, rândul „Comandă” arată numărul `BBX-…`.\n\nDin meniul contului: apăsați „Panou de administrare” în meniul lateral sau „Deschide panoul” în cardul „Serviciile tale” din „Profil”, apoi „Serverele mele” în meniul din stânga al panoului. Detalii: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n> **Notă**\n> Deschis din meniul contului, panoul pornește de la „Prezentare generală”, unde poate scrie „Niciun server găsit. Contactați un administrator pentru a obține acces.” Este normal: serverele comandate pe blackbox.md se găsesc la „Serverele mele”.\n\nDacă serverul tot nu apare:\n\n- **Reîncărcați pagina.** Lista „Serverele mele” nu se actualizează singură. Dacă ați deschis-o înainte ca serverul să fie gata, apăsați F5.\n- **Verificați contul.** Panoul arată doar serverele contului blackbox.md care a plasat comanda. În colțul din dreapta sus al panoului vedeți adresa de email cu care sunteți autentificat. Dacă ați intrat direct pe app.blackbox.md cu alt cont (de exemplu cu alt cont Google) sau aveți două conturi pe blackbox.md, deschideți panoul din contul în care comanda apare în „Comenzi”.\n\n| Mesaj în „Serverele mele” | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Încă nu aveți servere. Comandați unul din magazin și va apărea aici imediat ce este gata.” | Serverul nu este creat încă, sunteți în panoul altui cont sau serverul a fost șters. | Verificați statusul comenzii (pasul 1) și contul cu care sunteți autentificat. |\n| „Niciun server nu este asociat contului dvs. încă.” | Contul din panou nu corespunde niciunui cont blackbox.md. | Deschideți panoul din contul blackbox.md, nu prin autentificare directă. |\n| „Nu s-au putut încărca serverele.” sau alt text într-o casetă roșie, de exemplu „Unauthorized” | Lista nu a putut fi citită. Cel mai des, sesiunea din panou a expirat. | Reîncărcați pagina. Dacă ajungeți la pagina de autentificare, deschideți din nou panoul din „Contul meu”. Dacă eroarea persistă, scrieți-ne. |\n\nAlte situații: [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n## Un serviciu suplimentar arată „Contactați suportul”\n\nSub descrierea comenzii pot apărea etichete pentru serviciile suplimentare, de exemplu „Monitoring 24/7: Contactați suportul”. Această stare înseamnă că serviciul nu a putut fi activat automat. Ea nu blochează serverul: acesta se creează și se folosește ca de obicei. Scrieți-ne cu numărul `BBX-…` ca să rezolvăm serviciul. Vedeți [Servicii suplimentare pentru server](#servicii.servicii-suplimentare).\n\n## Când scrieți suportului\n\nScrieți-ne dacă, după un timp rezonabil, comanda este tot „În lucru” fără linia „Server: …” sau dacă linia există, dar serverul lipsește din „Serverele mele” în contul corect.\n\nDacă crearea serverului a eșuat, nu primiți niciun email despre eroare: chiar lipsa emailului „Serverul dvs. este gata” și a liniei „Server: …” este semnalul. Scrieți-ne cu numărul `BBX-…` sau anulați comanda cu „Anulează comanda”: cât timp serverul nu a fost creat, suma achitată revine integral în sold.\n\n1. Alegeți un canal: un tichet din „Contul meu” → „Ajutor și suport”, emailul support@blackbox.md sau telefonul și WhatsApp +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei).\n2. Indicați numărul comenzii `BBX-…`, cum ați plătit (cu cardul sau din sold) și când, precum și ce vedeți: statusul comenzii și mesajul din panou.\n\n> **Important**\n> Nu trimiteți în mesaj datele cardului sau parole. Pentru a găsi plata ajung numărul comenzii, suma și ora plății.\n\nDetalii: [Deschiderea unui tichet de suport](#suport.tichet-nou) și [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Am primit „Plată confirmată”, dar nu și „Serverul dvs. este gata”. Ce înseamnă?**\nPlata este confirmată, iar serverul se pregătește. Verificați linia „Server: …” în „Comenzi”: dacă a apărut, serverul este creat, iar emailul este probabil în Spam.\n\n**Serverul funcționează, dar comanda este tot „În lucru”. Este o greșeală?**\nNu. Comanda unui server activ rămâne „În lucru”; statusul „Finalizat” îl setează doar echipa.\n\n**Pot anula comanda dacă serverul întârzie?**\nDacă pe rândul comenzii apare „Anulează comanda”, da: înainte de confirmare, dialogul arată suma care se returnează în soldul BLACKBOX. Dacă serverul a fost deja creat, anularea îl șterge definitiv, cu toate datele. Cât timp serverul se creează, butonul lipsește; reveniți peste câteva minute. Vedeți [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**De ce panoul se deschide pe pagina de autentificare, nu la „Serverele mele”?**\nCel mai des, adresa de email a contului nu este verificată. Vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n",
    "ru": "Вы оплатили заказ на blackbox.md, но письмо о сервере не пришло или вы не находите сервер в панели app.blackbox.md? Проверьте по порядку статус заказа («Личный кабинет» → «Заказы», `blackbox.md/ru/account/orders`), письмо «Serverul dvs. este gata» и раздел «Мои серверы» в панели (`app.blackbox.md/my-servers`).\n\n**Доступно:** владельцу аккаунта blackbox.md, оформившему заказ.\n\n## 1. Проверьте статус заказа\n\n1. На blackbox.md откройте «Личный кабинет» → «Заказы». Откроется страница «Мои заказы». Если она уже была открыта, обновите её (F5).\n2. Найдите заказ по номеру в столбце «ID» (например, `BBX-2026-000123`).\n3. Посмотрите столбец «Статус» и проверьте, есть ли под описанием заказа строка «Сервер: IP_СЕРВЕРА».\n\n| Что вы видите | Что это значит | Что делать |\n|---|---|---|\n| «Новый» | Оплата не подтверждена, поэтому сервер не создаётся. | См. [Оплата не прошла или статус не обновился](#faq.plata-nereusita). |\n| «В работе», строки «Сервер: …» нет | Оплата подтверждена, сервер ещё готовится. | Сроки подготовки — в шаге 2. |\n| «В работе», есть строка «Сервер: IP_СЕРВЕРА» | Сервер создан и получил IP-адрес. | Найдите письмо (шаг 3) и откройте «Мои серверы» (шаг 4). |\n| «Отменён» | Заказ отменён или его сервер удалён. | Сервер не появится. Если вы не отменяли заказ, напишите нам. |\n\nЗаказ остаётся «В работе» и после того, как сервер заработал: статус «Завершён» ставит только команда BLACKBOX. Все статусы: [Страница «Заказы»: статусы и действия](#comenzi.comenzile-mele).\n\n## 2. Сколько длится подготовка\n\n| Что вы заказали | Как готовится сервер |\n|---|---|\n| Тариф VPS (`/ru/servers/plans`) | Автоматически, обычно в течение нескольких минут после подтверждения оплаты. |\n| Тариф «VPS hosting» | Тоже автоматически; команда может связаться с вами, чтобы уточнить детали. |\n| Выделенный сервер | Вручную, силами команды. Мы сами свяжемся с вами, чтобы обсудить детали и передачу сервера. См. [Выделенные серверы](#comenzi.servere-dedicate). |\n| Продукт по запросу (например, Windows VPS) | Вручную, после того как вы согласуете детали с поддержкой. См. [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere). |\n\nКогда сервер готов, вы увидите три признака: письмо «Serverul dvs. este gata — BBX-…», строку «Сервер: IP_СЕРВЕРА» в разделе «Заказы» и карточку сервера в разделе «Мои серверы».\n\n## 3. Найдите письмо «Serverul dvs. este gata»\n\n- Письмо приходит на email аккаунта blackbox.md. Тема всегда на румынском — «Serverul dvs. este gata — BBX-…», а текст письма — на языке аккаунта.\n- Загляните также в папки «Спам» и «Промоакции» — удобно искать по номеру заказа `BBX-…`.\n- Письмо может прийти примерно за минуту до того, как сервер начнёт отвечать по SSH. Если первое подключение не удалось, подождите минуту и повторите попытку. Подробнее: [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh).\n\nПисьма нет, но строка «Сервер: …» есть? Значит, сервер создан. IP-адрес указан в разделе «Заказы», а учётные данные root можно посмотреть в панели кнопкой «Показать учётные данные»: [Просмотр учётных данных root](#acces.afisare-date-acces).\n\n## 4. Найдите сервер в панели\n\nБыстрее всего — из раздела «Заказы»:\n\n1. В строке заказа, где есть «Сервер: …», нажмите значок со стрелкой. При наведении на него курсора появляется подсказка «Сервер активен. Управлять им или отключить его можно в app.blackbox.md.» На телефоне откройте меню с тремя точками (⋮) и выберите «Управление в app.blackbox.md».\n2. Панель откроется в новой вкладке, и вход выполнится автоматически.\n3. Вы попадёте в раздел «Мои серверы», где карточка этого сервера будет выделена. В строке «Заказ» на карточке указан номер `BBX-…`.\n\nИз меню личного кабинета: нажмите «Панель управления» в боковом меню или «Открыть панель» в карточке «Ваши услуги» на странице «Профиль», а затем выберите «Мои серверы» в левом меню панели. Подробнее: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n> **Примечание**\n> Если открыть панель из меню личного кабинета, она начинается со страницы «Обзор», где может быть написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» Это нормально: серверы, заказанные на blackbox.md, находятся в разделе «Мои серверы».\n\nЕсли сервер всё равно не виден:\n\n- **Обновите страницу.** Список «Мои серверы» сам не обновляется. Если вы открыли его до того, как сервер был готов, нажмите F5.\n- **Проверьте аккаунт.** Панель показывает только серверы того аккаунта blackbox.md, с которого оформлен заказ. В правом верхнем углу панели виден email, под которым вы вошли. Если вы зашли на app.blackbox.md напрямую под другим аккаунтом (например, через другой аккаунт Google) или у вас два аккаунта на blackbox.md, откройте панель из того аккаунта, в разделе «Заказы» которого есть этот заказ.\n\n| Сообщение в разделе «Мои серверы» | Что это значит | Что делать |\n|---|---|---|\n| «У вас пока нет серверов. Закажите сервер в магазине — он появится здесь, когда будет готов.» | Сервер ещё не создан, вы в панели другого аккаунта или сервер удалён. | Проверьте статус заказа (шаг 1) и аккаунт, под которым вошли. |\n| «К вашему аккаунту пока не привязан ни один сервер.» | Учётная запись панели не связана ни с одним аккаунтом blackbox.md. | Откройте панель из аккаунта blackbox.md, а не через прямой вход. |\n| «Не удалось загрузить серверы.» или другой текст в красной рамке, например «Unauthorized» | Список получить не удалось. Чаще всего истекла сессия в панели. | Обновите страницу. Если откроется страница входа, снова откройте панель из личного кабинета. Если ошибка повторяется, напишите нам. |\n\nДругие случаи: [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n## Дополнительная услуга со статусом «Свяжитесь со службой поддержки»\n\nПод описанием заказа могут быть метки дополнительных услуг, например «Мониторинг 24/7: Свяжитесь со службой поддержки». Такой статус значит, что услугу не удалось подключить автоматически. Сервер он не блокирует: сервер создаётся, и им можно пользоваться как обычно. Напишите нам, указав номер `BBX-…`, и мы разберёмся с услугой. См. [Дополнительные услуги для сервера](#servicii.servicii-suplimentare).\n\n## Когда писать в поддержку\n\nНапишите нам, если и через разумное время заказ остаётся «В работе» без строки «Сервер: …» или если строка есть, но в разделе «Мои серверы» нужного аккаунта сервера нет.\n\nЕсли создать сервер не удалось, отдельного письма об ошибке не будет: сигналом служит само отсутствие письма «Serverul dvs. este gata» и строки «Сервер: …». Напишите нам, указав номер `BBX-…`, или отмените заказ кнопкой «Отменить заказ»: пока сервер не создан, оплаченная сумма полностью возвращается на баланс.\n\n1. Выберите канал: тикет в разделе «Личный кабинет» → «Помощь и поддержка», письмо на support@blackbox.md или телефон и WhatsApp +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы).\n2. Укажите номер заказа `BBX-…`, способ оплаты (картой или с баланса) и время платежа, а также что вы видите: статус заказа и сообщение в панели.\n\n> **Важно**\n> Не отправляйте в сообщении данные карты и пароли. Чтобы найти платёж, достаточно номера заказа, суммы и времени оплаты.\n\nПодробнее: [Создание тикета в поддержку](#suport.tichet-nou) и [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Пришло письмо «Plată confirmată», а «Serverul dvs. este gata» — нет. Что это значит?**\nОплата подтверждена, сервер готовится. Проверьте строку «Сервер: …» в разделе «Заказы»: если она появилась, сервер создан, а письмо, скорее всего, попало в «Спам».\n\n**Сервер работает, а заказ всё ещё «В работе». Это ошибка?**\nНет. Заказ активного сервера остаётся «В работе»; статус «Завершён» ставит только команда.\n\n**Можно ли отменить заказ, если сервер задерживается?**\nЕсли в строке заказа есть «Отменить заказ», то да: перед подтверждением окно покажет сумму, которая вернётся на баланс BLACKBOX. Если сервер уже создан, отмена безвозвратно удалит его вместе со всеми данными. Пока сервер создаётся, кнопки нет — загляните через несколько минут. См. [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Почему панель открывается на странице входа, а не в разделе «Мои серверы»?**\nЧаще всего email аккаунта не подтверждён. См. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n",
    "en": "Have you paid for an order on blackbox.md but not received the email about your server, or can't you find the server in the app.blackbox.md panel? Check these one by one: the order status (“Contul meu” (My account) → “Comenzi” (Orders), `blackbox.md/account/orders`), the “Serverul dvs. este gata” (Your server is ready) email and the “My Servers” page in the panel (`app.blackbox.md/my-servers`).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the blackbox.md account holder who placed the order.\n\n## 1. Check the order status\n\n1. On blackbox.md, open “Contul meu” (My account) → “Comenzi” (Orders). The “Comenzile mele” (My orders) page opens. If it was already open, reload it (F5).\n2. Find the order by its number in the “ID” column (for example `BBX-2026-000123`).\n3. Read the “Status” column and check whether the line “Server: SERVER_IP” appears below the order description.\n\n| What you see | What it means | What to do |\n|---|---|---|\n| “Nou” (New) | The payment has not been confirmed, so the server is not being created. | See [The payment failed or the status did not update](#faq.plata-nereusita). |\n| “În lucru” (In progress), without the “Server: …” line | The payment is confirmed, and the server is still being prepared. | See step 2 for how long preparation takes. |\n| “În lucru” (In progress), with the “Server: SERVER_IP” line | The server exists and has an IP address. | Look for the email (step 3) and open “My Servers” (step 4). |\n| “Anulat” (Canceled) | The order was canceled, or its server was deleted. | The server will not appear. If you did not cancel the order yourself, write to us. |\n\nThe order stays “În lucru” even after the server is running: only the BLACKBOX team sets the “Finalizat” (Completed) status. All statuses: [The “Comenzi” (Orders) page: statuses and actions](#comenzi.comenzile-mele).\n\n## 2. How long preparation takes\n\n| What you ordered | How the server is prepared |\n|---|---|\n| A VPS plan (`/servers/plans`) | Automatically, usually within a few minutes after the payment is confirmed. |\n| A “VPS hosting” plan | Also automatically; our team may contact you for details. |\n| A dedicated server | Manually, by our team. We contact you about the details and the handover of the server. See [Dedicated servers](#comenzi.servere-dedicate). |\n| A product available on request (for example Windows VPS) | Manually, after you agree on the details with support. See [Products and configurations available on request](#comenzi.produse-la-cerere). |\n\nWhen the server is ready, you see three signs: the “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email, the “Server: SERVER_IP” line in “Comenzi” (Orders) and the server's card in “My Servers”.\n\n## 3. Look for the “Serverul dvs. este gata” (Your server is ready) email\n\n- The email goes to your blackbox.md account's email address. The subject is always in Romanian, “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…), and the text is in your account's language.\n- Also check your Spam and Promotions folders, for example by searching for the order number `BBX-…`.\n- The email may arrive about a minute before the server starts responding over SSH. If your first connection fails, wait a minute and try again. Details: [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh).\n\nNo email, but the “Server: …” line is there? The server has been created. You can see the IP address in “Comenzi” (Orders), and the root credentials in the panel, with “Reveal credentials”: [Showing root credentials](#acces.afisare-date-acces).\n\n## 4. Find the server in the panel\n\nThe fastest way is from “Comenzi” (Orders):\n\n1. On the row of the order with the “Server: …” line, click the arrow icon. When you hold the pointer over it, the text “Serverul este activ. Îl poți administra sau dezactiva în app.blackbox.md.” (The server is active. You can manage or deactivate it in app.blackbox.md.) appears. On a phone, open the three-dot menu (⋮) and choose “Gestionează în app.blackbox.md” (Manage in app.blackbox.md).\n2. The panel opens in a new tab and signs you in automatically.\n3. “My Servers” opens, with this server's card highlighted. On the card, the “Order” row shows the `BBX-…` number.\n\nFrom the account menu: click “Panou de administrare” (Admin panel) in the side menu, or “Deschide panoul” (Open the panel) on the “Serviciile tale” (Your services) card in “Profil” (Profile), then click “My Servers” in the panel's left menu. Details: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n> **Note**\n> When you open it from the account menu, the panel starts on “Overview”, which may say “No servers found. Contact an administrator to get access.” This is normal: servers ordered on blackbox.md are under “My Servers”.\n\nIf the server still doesn't appear:\n\n- **Reload the page.** The “My Servers” list doesn't update by itself. If you opened it before the server was ready, press F5.\n- **Check the account.** The panel shows only the servers of the blackbox.md account that placed the order. In the top right corner of the panel, you can see the email address you are signed in with. If you went directly to app.blackbox.md with another account (for example, another Google account) or you have two accounts on blackbox.md, open the panel from the account whose “Comenzi” (Orders) page shows the order.\n\n| Message in “My Servers” | What it means | What to do |\n|---|---|---|\n| “You don't have any servers yet. Order one from the shop and it will appear here once it's ready.” | The server has not been created yet, you are in another account's panel, or the server was deleted. | Check the order status (step 1) and the account you are signed in with. |\n| “No servers are linked to your account yet.” | The panel account does not match any blackbox.md account. | Open the panel from your blackbox.md account, not by signing in directly. |\n| “Failed to load servers.” or other text in a red box, for example “Unauthorized” | The list could not be loaded. Most often, your panel session has expired. | Reload the page. If you land on the sign-in page, open the panel again from “Contul meu” (My account). If the error persists, write to us. |\n\nOther cases: [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n## An add-on service shows “Contactați suportul” (Contact support)\n\nLabels for add-on services may appear below the order description, for example “Monitoring 24/7: Contactați suportul” (Monitoring 24/7: Contact support). This state means that the service could not be activated automatically. It does not block the server: the server is created and you use it as usual. Write to us with the `BBX-…` number so we can sort out the service. See [Add-on services for your server](#servicii.servicii-suplimentare).\n\n## When to write to support\n\nWrite to us if, after a reasonable time, the order is still “În lucru” (In progress) without the “Server: …” line, or if the line is there but the server is missing from “My Servers” in the correct account.\n\nIf creating the server failed, you don't receive any email about the error: the missing “Serverul dvs. este gata” (Your server is ready) email and the missing “Server: …” line are the signal. Write to us with the `BBX-…` number, or cancel the order with “Anulează comanda” (Cancel the order): as long as the server has not been created, the amount you paid goes back to your balance in full.\n\n1. Choose a channel: a support ticket in “Contul meu” (My account) → “Ajutor și suport” (Help and support), an email to support@blackbox.md, or phone and WhatsApp at +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n2. Include the order number `BBX-…`, how you paid (by card or from your balance) and when, and what you see: the order status and the message in the panel.\n\n> **Important**\n> Don't send card details or passwords in your message. To find your payment, we only need the order number, the amount and the time of payment.\n\nDetails: [Opening a support ticket](#suport.tichet-nou) and [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**I received “Plată confirmată” (Payment confirmed), but not “Serverul dvs. este gata” (Your server is ready). What does this mean?**\nThe payment is confirmed, and the server is being prepared. Check the “Server: …” line in “Comenzi” (Orders): if it has appeared, the server has been created and the email is probably in Spam.\n\n**The server is running, but the order is still “În lucru” (In progress). Is this a mistake?**\nNo. The order for an active server stays “În lucru”; only the team sets the “Finalizat” (Completed) status.\n\n**Can I cancel the order if the server is taking too long?**\nIf “Anulează comanda” (Cancel the order) appears on the order's row, yes: before you confirm, the dialog shows the amount that will be returned to your BLACKBOX balance. If the server has already been created, canceling deletes it permanently, with all its data. While the server is being created, the button is missing; come back in a few minutes. See [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**Why does the panel open on the sign-in page instead of “My Servers”?**\nMost often, your account's email address is not verified. See [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n"
   }
  },
  {
   "id": "faq.plata-nereusita",
   "section": "faq",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/plata-nereusita/",
    "ru": "https://docs.blackbox.md/ru/faq/plata-nereusita/",
    "en": "https://docs.blackbox.md/en/faq/plata-nereusita/"
   },
   "title": {
    "ro": "Plata a eșuat sau statusul nu s-a actualizat",
    "ru": "Оплата не прошла или статус не обновился",
    "en": "The payment failed or the status did not update"
   },
   "summary": {
    "ro": "Ce înseamnă mesajele de pe pagina de plată și de pe cea de confirmare, ce faceți dacă banii au fost retrași, dar comanda este tot „Nou”, și cum recuperați o plată dublă.",
    "ru": "Что означают сообщения на страницах оплаты и подтверждения, что делать, если деньги списаны, а заказ всё ещё «Новый», и как вернуть двойной платёж.",
    "en": "What the messages on the payment and confirmation pages mean, what to do if the money was taken but the order is still “Nou” (New), and how to get a double payment back."
   },
   "markdown": {
    "ro": "Folosiți acest articol când plata cu cardul pentru o comandă sau pentru alimentarea soldului nu a reușit ori când statusul nu s-a schimbat după plată. Mesajele apar pe pagina de plată „Achitare” (`blackbox.md/checkout/order/…`, „Contul meu” → „Comenzi” → „Achită comanda”), pe pagina „Alimentează soldul” (`blackbox.md/checkout/topup`) și pe pagina de confirmare (`blackbox.md/checkout/return`), unde vă întoarce Paynet.\n\n**Disponibil pentru:** titularul contului blackbox.md care achită o comandă sau alimentează soldul.\n\n## Verificați mai întâi dacă plata a trecut\n\n1. Deschideți „Contul meu” → „Comenzi”. Statusul „În lucru” înseamnă că plata a fost primită. „Nou” înseamnă că plata nu a fost încă confirmată.\n2. Căutați emailul „Plată confirmată — BBX-…”, inclusiv în dosarul Spam. La o alimentare, emailul este „Alimentare cont confirmată — BLACKBOX”.\n3. La o alimentare, deschideți și „Contul meu” → „Sold”: în „Istoricul operațiunilor” trebuie să apară rândul „Alimentare cont BLACKBOX”.\n\n> **Important**\n> Nu plătiți a doua oară până nu ați verificat statusul și emailul. O plată repetată nu se returnează automat.\n\n## Mesajele de pe pagina de confirmare\n\nDupă Paynet ajungeți pe pagina de confirmare (fila „Confirmare plată — BLACKBOX”). Ea verifică plata o dată pe secundă, timp de aproximativ 10 secunde. Pagina se afișează întotdeauna în limba română.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Verificăm plata…” și „Vă rugăm așteptați…” | Pagina așteaptă răspunsul de la Paynet. | Așteptați câteva secunde. |\n| „Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.”, cu butonul „Reîncercați” | Confirmarea întârzie. Plata poate fi totuși reușită. | Nu plătiți din nou. Așteptați câteva minute, apoi apăsați „Reîncercați” (pagina verifică din nou). Urmăriți emailul și statusul din „Comenzi”. |\n| „Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” | Pagina nu a reușit să afle rezultatul, de exemplu din cauza conexiunii sau pentru că ați reîncărcat-o de mai multe ori într-un minut. | Apăsați „← Comenzile mele” și verificați statusul. Înainte de o nouă verificare, așteptați un minut sau două. |\n| „Plata nu a fost finalizată” și „Plata a fost anulată. Puteți încerca din nou.” | Ați renunțat la plată pe pagina Paynet. Nu s-a debitat nimic, iar comanda rămâne „Nou”. | Apăsați „← Înapoi la cont” (duce la „Comenzile mele”), apoi din nou „Achită comanda”. |\n| „Plata nu a fost finalizată” și „A apărut o eroare la procesarea plății. Puteți încerca din nou.” | Plata nu a trecut, de exemplu pentru că banca a refuzat cardul. | Apăsați „Reîncercați plata” sau folosiți alt card. Vedeți secțiunea „Cardul a fost refuzat”. |\n| „Plata a fost efectuată!” | Plata a reușit, iar comanda a trecut în „În lucru”. | Dacă serverul nu apare, vedeți [Serverul nu apare după plată](#faq.serverul-nu-este-gata). |\n\n## Mesajele de pe pagina de plată\n\nPagina „Achitare” se deschide automat după plasarea comenzii, din „Comenzi” → „Achită comanda” sau cu butonul „Reîncercați plata” de pe pagina de confirmare.\n\n| Mesaj | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Plățile online sunt momentan indisponibile” | Plata cu cardul este oprită temporar. În această stare nu apare nici butonul „Achitați din sold”. | Încercați mai târziu sau cereți suportului o plată manuală, de exemplu prin transfer bancar: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar). |\n| „Trebuie să acceptați termenii pentru a continua.” | Acordul dvs. cu termenii nu a fost transmis. Butoanele de plată devin active doar după ce bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”. | Reîncărcați pagina, bifați caseta și apăsați din nou butonul de plată. |\n| „Sold insuficient.” | La „Achitați din sold”, soldul nu mai acoperă toată suma. Plata parțială din sold nu există. | Alimentați soldul ([Alimentarea soldului](#plati.alimentare-sold)) sau achitați cu cardul, cu butonul „Achitați … MDL”. |\n| „Deja achitat.” | La „Achitați din sold”: comanda tocmai a fost achitată pe altă cale, de exemplu cu cardul, într-o altă filă. | Verificați statusul în „Comenzi”. Nu plătiți din nou. |\n| „Nu am putut confirma destinația plății. Contactați suportul.” | Adresa de plată primită nu este o pagină Paynet, așa că, pentru siguranța dvs., site-ul nu vă trimite acolo. | Nu plătiți pe alte pagini. Scrieți suportului și indicați numărul comenzii. |\n| „Eroare la inițierea plății. Vă rugăm încercați din nou.” | Plata nu a putut fi pornită: linkul de plată nu a fost creat sau comanda nu mai poate fi achitată (de exemplu, a fost deja achitată într-o altă filă). | Verificați mai întâi statusul în „Comenzi”. Dacă este tot „Nou”, reîncărcați pagina și încercați din nou. Dacă eroarea persistă, scrieți-ne. |\n| „Eroare la încărcarea detaliilor plății.” | De regulă, comanda este deja achitată sau anulată. Se pot achita doar comenzile „Nou”. | Verificați statusul în „Comenzi”. |\n\n## Cardul a fost refuzat\n\nDacă Paynet nu acceptă cardul sau reveniți cu mesajul „A apărut o eroare la procesarea plății.”:\n\n1. Întrebați banca emitentă dacă plățile pe internet sunt activate pentru card, dacă trebuie finalizată confirmarea 3-D Secure (cod prin SMS sau aprobare în aplicația băncii) și dacă nu ați atins o limită zilnică sau pe tranzacție.\n2. Deschideți din nou „Comenzi” → „Achită comanda” și repetați plata sau folosiți alt card Visa ori Mastercard.\n3. Dacă plătiți pentru o companie, puteți achita și prin transfer bancar: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n## Banii au fost retrași, dar comanda este tot „Nou”\n\n1. Nu plătiți din nou.\n2. Dacă sunteți încă pe pagina de confirmare, așteptați câteva minute și apăsați „Reîncercați”.\n3. Verificați emailul „Plată confirmată — BBX-…” și statusul din „Comenzi”. Dacă statusul a devenit „În lucru”, plata a ajuns.\n4. Dacă statusul rămâne „Nou”, scrieți-ne printr-un tichet („Contul meu” → „Ajutor și suport”), la support@blackbox.md sau sunați la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei). Indicați numărul comenzii `BBX-…`, suma, data și ora plății. Detalii: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n> **Securitate**\n> Nu trimiteți niciodată numărul complet al cardului, data expirării, codul CVV sau codurile primite prin SMS: nici în tichete, nici prin email, nici la telefon. BLACKBOX nu are nevoie de ele.\n\n## Ați plătit de două ori\n\nDacă aceeași comandă a fost achitată de două ori (cu cardul și din sold sau cu două carduri), comanda se procesează o singură dată, iar a doua plată nu se returnează automat. La fel se întâmplă dacă ați achitat o comandă care între timp a fost anulată.\n\n1. Scrieți suportului numărul comenzii, sumele, data și ora fiecărei plăți.\n2. Dacă doriți banii înapoi pe card, spuneți acest lucru în același mesaj.\n3. Suportul verifică plățile și returnează suma plătită în plus. Rambursarea pe card se face pe același card, prin procesatorul de plăți Paynet, de regulă în 5–10 zile lucrătoare de la aprobarea cererii. Termenul depinde de banca emitentă.\n\nVedeți și [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n## Probleme la alimentarea soldului\n\nDupă o alimentare, pagina de confirmare arată aceleași mesaje ca la plata unei comenzi. Diferențele:\n\n- **Reușită:** „Sold alimentat!”, cu linkul „← Sold”.\n- **Plată anulată pe Paynet:** „Plata a fost anulată. Puteți încerca din nou.” Nu apare un buton de reîncercare, iar „← Înapoi la cont” duce la „Comenzi”, nu la „Sold”. Pentru o nouă încercare deschideți „Contul meu” → „Sold” → „Alimentează soldul”.\n- **Eroare la plată:** „A apărut o eroare la procesarea plății.”, cu butoanele „Reîncercați alimentarea” și „← Sold”.\n- **„Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.”** (pe pagina „Alimentează soldul”): ați făcut deja 5 încercări de alimentare în ultima oră. Așteptați și nu apăsați butonul din nou între timp, pentru că se numără și încercările respinse. Vedeți [Alimentarea soldului](#plati.alimentare-sold).\n- **Bani retrași, sold neschimbat:** verificați „Istoricul operațiunilor” și emailul „Alimentare cont confirmată — BLACKBOX”. Dacă alimentarea lipsește, scrieți-ne cu data, ora și suma plății.\n\n## Întrebări frecvente\n\n**Am închis pagina înainte de confirmare. Plata s-a pierdut?**\nÎnchiderea paginii nu anulează o plată reușită. Verificați statusul în „Comenzi” și emailul „Plată confirmată — BBX-…”. Dacă banii au fost retrași, dar comanda rămâne „Nou”, scrieți-ne.\n\n**De ce nu văd butonul „Achită comanda”?**\nButonul apare doar la comenzile cu statusul „Nou”: pe calculator este pictograma cu cardul din coloana „Acțiuni” (numele apare când țineți mouse-ul deasupra), iar pe telefon se află în meniul de acțiuni al comenzii. „În lucru” înseamnă că ați achitat deja, iar o comandă „Anulat” nu se mai poate achita, așa că plasați una nouă.\n\n**Cât timp este valabil linkul de plată?**\n60 de minute din momentul în care apăsați „Achitați … MDL”. Dacă nu ați plătit în acest timp, comanda rămâne „Nou”: deschideți „Comenzi” → „Achită comanda” și apăsați din nou „Achitați … MDL”. Primiți un link nou, valabil tot 60 de minute.\n\n**Pot încerca imediat cu alt card?**\nDa, dacă pagina de confirmare arată „Plata nu a fost finalizată”. Dacă arată „Verificăm plata…”, așteptați mai întâi rezultatul, ca să nu plătiți de două ori.\n\n**Pot achita din sold dacă plata cu cardul nu merge?**\nDa, dacă soldul acoperă toată suma: pe pagina de plată apare butonul „Achitați din sold (Disponibil în sold: … MDL)”. Când pagina arată „Plățile online sunt momentan indisponibile”, nici acest buton nu apare. Vedeți [Plata unei comenzi din sold](#plati.plata-din-sold).\n",
    "ru": "Эта статья поможет, если оплата картой за заказ или пополнение баланса не прошла либо статус после оплаты не изменился. Сообщения появляются на странице «Оплата» (`blackbox.md/ru/checkout/order/…`, «Личный кабинет» → «Заказы» → «Оплатить заказ»), на странице «Пополнить баланс» (`blackbox.md/ru/checkout/topup`) и на странице подтверждения (`blackbox.md/checkout/return`), куда вас возвращает Paynet.\n\n**Доступно:** владельцу аккаунта blackbox.md, который оплачивает заказ или пополняет баланс.\n\n## Сначала проверьте, прошёл ли платёж\n\n1. Откройте «Личный кабинет» → «Заказы». Статус «В работе» означает, что оплата получена. «Новый» — оплата ещё не подтверждена.\n2. Найдите письмо «Plată confirmată — BBX-…» (тема всегда на румынском), в том числе в папке «Спам». При пополнении баланса письмо называется «Alimentare cont confirmată — BLACKBOX».\n3. При пополнении откройте также «Личный кабинет» → «Баланс»: в разделе «История операций» должна появиться строка «Alimentare cont BLACKBOX».\n\n> **Важно**\n> Не платите повторно, пока не проверили статус и почту. Повторный платёж автоматически не возвращается.\n\n## Сообщения на странице подтверждения\n\nПосле Paynet вы попадаете на страницу подтверждения (вкладка «Confirmare plată — BLACKBOX»). Она проверяет платёж раз в секунду в течение примерно 10 секунд. Эта страница всегда открывается на румынском языке, поэтому в таблице приведены сообщения в том виде, в каком вы их увидите, и их перевод.\n\n| Сообщение на странице | Перевод | Что это значит | Что делать |\n|---|---|---|---|\n| «Verificăm plata…» и «Vă rugăm așteptați…» | «Проверяем платёж…», «Пожалуйста, подождите…» | Страница ждёт ответа от Paynet. | Подождите несколько секунд. |\n| «Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.», кнопка «Reîncercați» | «Проверяем платёж. Вы получите подтверждение по email сразу после его завершения. Вы можете повторить попытку через несколько минут.», кнопка «Повторить» | Подтверждение задерживается. Платёж при этом мог пройти. | Не платите повторно. Подождите несколько минут и нажмите «Reîncercați» — страница проверит платёж ещё раз. Следите за почтой и статусом в разделе «Заказы». |\n| «Nu s-a putut verifica statusul plății. Verificați comenzile dvs.» | «Не удалось проверить статус платежа. Проверьте свои заказы.» | Странице не удалось получить результат — например, из-за проблем со связью или потому, что вы обновили её несколько раз за минуту. | Нажмите «← Comenzile mele» («← Мои заказы») и проверьте статус. Прежде чем проверять ещё раз, подождите минуту-другую. |\n| «Plata nu a fost finalizată» и «Plata a fost anulată. Puteți încerca din nou.» | «Платёж не был завершён», «Платёж был отменён. Вы можете попробовать снова.» | Вы отказались от оплаты на странице Paynet. Деньги не списаны, заказ остаётся в статусе «Новый». | Нажмите «← Înapoi la cont» («← Назад в личный кабинет»). Откроется список заказов, тоже на румынском: снова нажмите «Achită comanda» («Оплатить заказ»). |\n| «Plata nu a fost finalizată» и «A apărut o eroare la procesarea plății. Puteți încerca din nou.» | «Платёж не был завершён», «Произошла ошибка при обработке платежа. Вы можете попробовать снова.» | Платёж не прошёл — например, банк отклонил карту. | Нажмите «Reîncercați plata» («Повторить оплату») или воспользуйтесь другой картой. См. раздел «Банк отклонил карту». |\n| «Plata a fost efectuată!» | «Платёж выполнен!» | Оплата прошла, заказ перешёл в статус «В работе». | Если сервер не появился, см. [Сервер не появился после оплаты](#faq.serverul-nu-este-gata). |\n\n## Сообщения на странице оплаты\n\nСтраница оплаты открывается сама сразу после оформления заказа или по кнопке «Reîncercați plata» на странице подтверждения — в этих случаях на румынском. Из раздела «Заказы» → «Оплатить заказ» она открывается на русском. Поэтому в таблице указаны оба варианта текста.\n\n| Сообщение | Что это значит | Что делать |\n|---|---|---|\n| «Онлайн-оплата временно недоступна» («Plățile online sunt momentan indisponibile») | Оплата картой временно отключена. В этом состоянии нет и кнопки «Оплатить с баланса». | Попробуйте позже или попросите поддержку принять оплату вручную, например банковским переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar). |\n| «Необходимо принять условия, чтобы продолжить.» («Trebuie să acceptați termenii pentru a continua.») | Ваше согласие с условиями не было передано. Кнопки оплаты становятся активными, только когда отмечен флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности». | Обновите страницу, отметьте флажок и снова нажмите кнопку оплаты. |\n| «Недостаточно средств на балансе.» («Sold insuficient.») | При нажатии «Оплатить с баланса» оказалось, что баланса уже не хватает на всю сумму. Частичной оплаты с баланса нет. | Пополните баланс ([Пополнение баланса](#plati.alimentare-sold)) или оплатите картой кнопкой «Оплатить … MDL». |\n| «Уже оплачено.» («Deja achitat.») | При нажатии «Оплатить с баланса»: заказ только что оплачен другим способом — например, картой в другой вкладке. | Проверьте статус в разделе «Заказы». Не платите повторно. |\n| «Не удалось подтвердить назначение платежа. Свяжитесь со службой поддержки.» («Nu am putut confirma destinația plății. Contactați suportul.») | Полученный адрес для оплаты не принадлежит Paynet, поэтому ради вашей безопасности сайт туда не переходит. | Не платите на других страницах. Напишите в поддержку и укажите номер заказа. |\n| «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» («Eroare la inițierea plății. Vă rugăm încercați din nou.») | Оплату не удалось начать: ссылка на оплату не создана или заказ уже нельзя оплатить (например, он уже оплачен в другой вкладке). | Сначала проверьте статус в разделе «Заказы». Если он всё ещё «Новый», обновите страницу и попробуйте снова. Если ошибка не исчезает, напишите нам. |\n| «Ошибка при загрузке деталей платежа.» («Eroare la încărcarea detaliilor plății.») | Обычно это значит, что заказ уже оплачен или отменён. Оплатить можно только заказ со статусом «Новый». | Проверьте статус в разделе «Заказы». |\n\n## Банк отклонил карту\n\nЕсли Paynet не принимает карту или вы вернулись с сообщением «A apărut o eroare la procesarea plății.»:\n\n1. Уточните в банке, который выпустил карту, разрешены ли по ней платежи в интернете, нужно ли пройти подтверждение 3-D Secure (код из SMS или подтверждение в приложении банка) и не исчерпан ли дневной лимит или лимит на одну операцию.\n2. Снова откройте «Заказы» → «Оплатить заказ» и повторите платёж или воспользуйтесь другой картой Visa либо Mastercard.\n3. Если вы платите за компанию, можно оплатить и банковским переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n## Деньги списаны, а заказ всё ещё «Новый»\n\n1. Не платите повторно.\n2. Если вы ещё на странице подтверждения, подождите несколько минут и нажмите «Reîncercați» («Повторить»).\n3. Проверьте письмо «Plată confirmată — BBX-…» и статус в разделе «Заказы». Если статус сменился на «В работе», оплата дошла.\n4. Если статус остаётся «Новый», напишите нам через тикет («Личный кабинет» → «Помощь и поддержка»), на support@blackbox.md или позвоните по номеру +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы). Укажите номер заказа `BBX-…`, сумму, дату и время платежа. Подробнее: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n> **Безопасность**\n> Никогда не присылайте полный номер карты, срок её действия, код CVV или коды из SMS — ни в тикетах, ни по email, ни по телефону. BLACKBOX они не нужны.\n\n## Вы заплатили дважды\n\nЕсли один и тот же заказ оплачен дважды (картой и с баланса или двумя картами), заказ выполняется один раз, а второй платёж автоматически не возвращается. То же самое — если вы оплатили заказ, который тем временем был отменён.\n\n1. Напишите в поддержку номер заказа, суммы, дату и время каждого платежа.\n2. Если хотите получить деньги обратно на карту, укажите это в том же сообщении.\n3. Поддержка проверит платежи и вернёт лишнюю сумму. Возврат на карту поступает на ту же карту через платёжного процессора Paynet, обычно в течение 5–10 рабочих дней после одобрения заявки. Срок зависит от банка-эмитента.\n\nСм. также [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n## Проблемы с пополнением баланса\n\nПосле пополнения страница подтверждения показывает те же сообщения, что и при оплате заказа. Отличия:\n\n- **Успешно:** «Sold alimentat!» («Баланс пополнен!») со ссылкой «← Sold» («← Баланс»).\n- **Оплата отменена на Paynet:** «Plata a fost anulată. Puteți încerca din nou.» Кнопки повтора нет, а ссылка «← Înapoi la cont» ведёт в раздел «Заказы», а не в раздел «Баланс». Чтобы попробовать снова, откройте «Личный кабинет» → «Баланс» → «Пополнить баланс».\n- **Ошибка платежа:** «A apărut o eroare la procesarea plății.» с кнопками «Reîncercați alimentarea» («Повторить пополнение») и «← Sold» («← Баланс»).\n- **«Слишком много попыток. Пожалуйста, повторите через несколько минут.»** (на странице «Пополнить баланс»): за последний час вы уже сделали 5 попыток пополнения. Подождите и не нажимайте кнопку повторно: отклонённые попытки тоже засчитываются. См. [Пополнение баланса](#plati.alimentare-sold).\n- **Деньги списаны, а баланс не изменился:** проверьте раздел «История операций» и письмо «Alimentare cont confirmată — BLACKBOX». Если пополнения нет, напишите нам: дата, время и сумма платежа.\n\n## Частые вопросы\n\n**Я закрыл страницу до подтверждения. Платёж пропал?**\nЕсли платёж прошёл, закрытие страницы его не отменяет. Проверьте статус в разделе «Заказы» и письмо «Plată confirmată — BBX-…». Если деньги списаны, а заказ остаётся в статусе «Новый», напишите нам.\n\n**Почему нет кнопки «Оплатить заказ»?**\nКнопка есть только у заказов со статусом «Новый»: на компьютере это значок карты в столбце «Действия» (название появляется при наведении курсора), а на телефоне — пункт в меню действий заказа. «В работе» означает, что заказ уже оплачен, а заказ со статусом «Отменён» оплатить нельзя — оформите новый.\n\n**Сколько действует ссылка на оплату?**\n60 минут с момента нажатия «Оплатить … MDL». Если вы не оплатили за это время, заказ остаётся в статусе «Новый»: откройте «Заказы» → «Оплатить заказ» и снова нажмите «Оплатить … MDL». Вы получите новую ссылку, тоже на 60 минут.\n\n**Можно сразу попробовать другую карту?**\nДа, если страница подтверждения показывает «Plata nu a fost finalizată». Если на ней «Verificăm plata…», сначала дождитесь результата, чтобы не заплатить дважды.\n\n**Можно ли оплатить с баланса, если картой не получается?**\nДа, если баланса хватает на всю сумму: на странице оплаты есть кнопка «Оплатить с баланса (Доступно на балансе: … MDL)». Когда страница показывает «Онлайн-оплата временно недоступна», этой кнопки тоже нет. См. [Оплата заказа с баланса](#plati.plata-din-sold).\n",
    "en": "Use this article when a card payment for an order or for a balance top-up did not go through, or when the status did not change after you paid. The messages appear on the “Achitare” (Payment) page (`blackbox.md/checkout/order/…`, “Contul meu” (My account) → “Comenzi” (Orders) → “Achită comanda” (Pay for the order)), on the “Alimentează soldul” (Top up balance) page (`blackbox.md/checkout/topup`) and on the confirmation page (`blackbox.md/checkout/return`), where Paynet brings you back.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** the holder of the blackbox.md account who is paying for an order or topping up the balance.\n\n## First, check whether the payment went through\n\n1. Open “Contul meu” (My account) → “Comenzi” (Orders). The “În lucru” (In progress) status means the payment was received. “Nou” (New) means the payment has not been confirmed yet.\n2. Look for the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…), including in your Spam folder. For a top-up, the email is “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX).\n3. For a top-up, also open “Contul meu” → “Sold” (Balance): the row “Alimentare cont BLACKBOX” (BLACKBOX account top-up) must appear under “Istoricul operațiunilor” (Transaction history).\n\n> **Important**\n> Don't pay a second time until you have checked the status and your email. A repeated payment is not refunded automatically.\n\n## Messages on the confirmation page\n\nAfter Paynet, you land on the confirmation page (browser tab “Confirmare plată — BLACKBOX” (Payment confirmation — BLACKBOX)). It checks the payment once per second, for about 10 seconds. This page is always shown in Romanian.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Verificăm plata…” (Checking your payment…) and “Vă rugăm așteptați…” (Please wait…) | The page is waiting for a response from Paynet. | Wait a few seconds. |\n| “Verificăm plata. Veți primi confirmare pe email de îndată ce este confirmată. Puteți reîncerca peste câteva minute.” (We are checking your payment. You will receive a confirmation by email as soon as it is confirmed. You can try again in a few minutes.), with the “Reîncercați” (Retry) button | The confirmation is delayed. The payment may still have gone through. | Don't pay again. Wait a few minutes, then click “Reîncercați” (the page checks again). Keep an eye on your email and on the status in “Comenzi” (Orders). |\n| “Nu s-a putut verifica statusul plății. Verificați comenzile dvs.” (The payment status could not be checked. Check your orders.) | The page could not get the result, for example because of a connection problem or because you reloaded it several times within a minute. | Click “← Comenzile mele” (← My orders) and check the status. Wait a minute or two before you check again. |\n| “Plata nu a fost finalizată” (The payment was not completed) and “Plata a fost anulată. Puteți încerca din nou.” (The payment was canceled. You can try again.) | You canceled the payment on the Paynet page. Nothing was charged, and the order stays “Nou” (New). | Click “← Înapoi la cont” (← Back to account), which takes you to “Comenzile mele”, then click “Achită comanda” (Pay for the order) again. |\n| “Plata nu a fost finalizată” and “A apărut o eroare la procesarea plății. Puteți încerca din nou.” (An error occurred while processing the payment. You can try again.) | The payment did not go through, for example because the bank declined the card. | Click “Reîncercați plata” (Retry payment) or use another card. See the section “Your card was declined”. |\n| “Plata a fost efectuată!” (Payment completed!) | The payment went through, and the order moved to “În lucru” (In progress). | If the server does not appear, see [The server does not appear after payment](#faq.serverul-nu-este-gata). |\n\n## Messages on the payment page\n\nThe “Achitare” (Payment) page opens automatically after you place an order, from “Comenzi” (Orders) → “Achită comanda” (Pay for the order), or with the “Reîncercați plata” (Retry payment) button on the confirmation page.\n\n| Message | What it means | What to do |\n|---|---|---|\n| “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable) | Card payment is temporarily turned off. In this state, the “Achitați din sold” (Pay from balance) button does not appear either. | Try again later, or ask support for a manual payment, for example by bank transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar). |\n| “Trebuie să acceptați termenii pentru a continua.” (You must accept the terms to continue.) | Your agreement to the terms was not sent. The payment buttons become active only after you tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy). | Reload the page, tick the box and click the payment button again. |\n| “Sold insuficient.” (Insufficient balance.) | When you use “Achitați din sold”, your balance no longer covers the full amount. There is no partial payment from your balance. | Top up your balance ([Topping up your balance](#plati.alimentare-sold)) or pay by card with the “Achitați … MDL” (Pay … MDL) button. |\n| “Deja achitat.” (Already paid.) | With “Achitați din sold”: the order has just been paid another way, for example by card in another tab. | Check the status in “Comenzi”. Don't pay again. |\n| “Nu am putut confirma destinația plății. Contactați suportul.” (We could not confirm the payment destination. Contact support.) | The payment address the website received is not a Paynet page, so, for your safety, the website does not send you there. | Don't pay on any other page. Write to support and include the order number. |\n| “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) | The payment could not be started: the payment link was not created, or the order can no longer be paid (for example, it has already been paid in another tab). | First check the status in “Comenzi”. If it is still “Nou” (New), reload the page and try again. If the error persists, write to us. |\n| “Eroare la încărcarea detaliilor plății.” (Error loading the payment details.) | Usually, the order has already been paid or canceled. Only “Nou” orders can be paid. | Check the status in “Comenzi”. |\n\n## Your card was declined\n\nIf Paynet does not accept your card, or you come back with the message “A apărut o eroare la procesarea plății.” (An error occurred while processing the payment.):\n\n1. Ask the bank that issued your card whether online payments are enabled for the card, whether you need to complete the 3-D Secure confirmation (a code by SMS or an approval in your bank's app), and whether you have reached a daily or per-transaction limit.\n2. Open “Comenzi” (Orders) → “Achită comanda” (Pay for the order) again and repeat the payment, or use another Visa or Mastercard card.\n3. If you are paying for a company, you can also pay by bank transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n## The money was taken, but the order is still “Nou” (New)\n\n1. Don't pay again.\n2. If you are still on the confirmation page, wait a few minutes and click “Reîncercați” (Retry).\n3. Check for the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) and the status in “Comenzi” (Orders). If the status has changed to “În lucru” (In progress), the payment has arrived.\n4. If the status stays “Nou”, write to us through a support ticket (“Contul meu” (My account) → “Ajutor și suport” (Help and support)), at support@blackbox.md, or call +373 78 003948 (Monday–Friday, 09:00–18:00 (Moldova time)). Include the order number `BBX-…`, the amount, and the date and time of the payment. Details: [How to contact BLACKBOX support](#suport.contact).\n\n> **Security**\n> Never send your full card number, the expiration date, the CVV code or codes you receive by SMS, whether in support tickets, by email or over the phone. BLACKBOX does not need them.\n\n## You paid twice\n\nIf the same order was paid twice (by card and from your balance, or with two cards), the order is processed only once, and the second payment is not refunded automatically. The same happens if you paid for an order that was canceled in the meantime.\n\n1. Write to support with the order number, the amounts, and the date and time of each payment.\n2. If you want the money back to your card, say so in the same message.\n3. Support checks the payments and refunds the extra amount. A card refund goes to the same card, through the payment processor Paynet, usually within 5–10 business days after the request is approved. The timing depends on the bank that issued the card.\n\nSee also [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n## Problems topping up your balance\n\nAfter a top-up, the confirmation page shows the same messages as for an order payment. The differences:\n\n- **Success:** “Sold alimentat!” (Balance topped up!), with the “← Sold” (← Balance) link.\n- **Payment canceled on Paynet:** “Plata a fost anulată. Puteți încerca din nou.” (The payment was canceled. You can try again.) There is no retry button, and “← Înapoi la cont” (← Back to account) takes you to “Comenzi” (Orders), not to “Sold” (Balance). To try again, open “Contul meu” (My account) → “Sold” → “Alimentează soldul” (Top up balance).\n- **Payment error:** “A apărut o eroare la procesarea plății.” (An error occurred while processing the payment.), with the “Reîncercați alimentarea” (Retry top-up) and “← Sold” buttons.\n- **“Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.”** (Too many attempts. Please try again in a few minutes.), on the “Alimentează soldul” page: you have already made 5 top-up attempts in the last hour. Wait, and don't click the button again in the meantime, because rejected attempts also count. See [Topping up your balance](#plati.alimentare-sold).\n- **Money taken, balance unchanged:** check “Istoricul operațiunilor” (Transaction history) and the email “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX). If the top-up is missing, write to us with the date, time and amount of the payment.\n\n## Frequently asked questions\n\n**I closed the page before the confirmation. Is my payment lost?**\nClosing the page does not cancel a successful payment. Check the status in “Comenzi” (Orders) and look for the email “Plată confirmată — BBX-…” (Payment confirmed — BBX-…). If the money was taken but the order stays “Nou” (New), write to us.\n\n**Why don't I see the “Achită comanda” (Pay for the order) button?**\nThe button appears only for orders with the “Nou” status: on a computer, it is the card icon in the “Acțiuni” (Actions) column (its name appears when you hover the mouse over it); on a phone, it is in the order's actions menu. “În lucru” (In progress) means you have already paid, and an “Anulat” (Canceled) order can no longer be paid, so place a new one.\n\n**How long is the payment link valid?**\n60 minutes from the moment you click “Achitați … MDL” (Pay … MDL). If you have not paid within that time, the order stays “Nou”: open “Comenzi” → “Achită comanda” and click “Achitați … MDL” again. You get a new link, also valid for 60 minutes.\n\n**Can I try another card right away?**\nYes, if the confirmation page shows “Plata nu a fost finalizată” (The payment was not completed). If it shows “Verificăm plata…” (Checking your payment…), first wait for the result, so that you don't pay twice.\n\n**Can I pay from my balance if card payment doesn't work?**\nYes, if your balance covers the full amount: the payment page shows the button “Achitați din sold (Disponibil în sold: … MDL)” (Pay from balance (Available balance: … MDL)). When the page shows “Plățile online sunt momentan indisponibile” (Online payments are currently unavailable), this button does not appear either. See [Paying for an order from your balance](#plati.plata-din-sold).\n"
   }
  },
  {
   "id": "faq.nu-pot-intra",
   "section": "faq",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/nu-pot-intra/",
    "ru": "https://docs.blackbox.md/ru/faq/nu-pot-intra/",
    "en": "https://docs.blackbox.md/en/faq/nu-pot-intra/"
   },
   "title": {
    "ro": "Nu pot intra în cont sau în panou",
    "ru": "Не получается войти в аккаунт или панель",
    "en": "I can't sign in to my account or the panel"
   },
   "summary": {
    "ro": "Soluții pentru problemele de autentificare pe blackbox.md și app.blackbox.md, inclusiv 2FA și intrarea din cont.",
    "ru": "Решения проблем со входом на blackbox.md и app.blackbox.md, включая 2FA и вход из аккаунта.",
    "en": "Solutions for sign-in problems on blackbox.md and app.blackbox.md, including 2FA and entering the panel from your account."
   },
   "markdown": {
    "ro": "Căutați mai jos mesajul sau situația pe care o vedeți și urmați soluția. Articolul acoperă pagina „Autentificare” de pe blackbox.md (`blackbox.md/login`, linkul „Cont client” din antetul site-ului) și intrarea în panoul app.blackbox.md: din „Contul meu” → „Panou de administrare” sau direct pe `app.blackbox.md/login`.\n\n**Disponibil pentru:** orice client cu un cont pe blackbox.md.\n\n## Contul de pe blackbox.md și contul din panou\n\n- Contul de pe blackbox.md (cu email și parolă sau cu Google ori GitLab) este contul principal.\n- Contul din panou se creează automat prima dată când apăsați „Deschide panoul”, dacă adresa de email este verificată. Numele de utilizator este adresa dvs. de email, scrisă cu litere mici, iar parola este o copie a parolei de pe blackbox.md.\n- Cele două au sesiuni separate, fiecare de 8 ore. Ieșirea dintr-unul nu vă scoate din celălalt.\n\n> **Sfat**\n> Cea mai sigură cale spre panou trece prin blackbox.md: „Contul meu” → „Panou de administrare” sau butonul „Deschide panoul” din cardul „Serviciile tale”. Nu cere parola panoului și funcționează și pentru conturile create cu Google sau GitLab.\n\n## Probleme pe blackbox.md\n\n| Ce vedeți | Cauza | Ce faceți |\n|---|---|---|\n| „Email sau parolă incorectă.” | Adresa sau parola nu se potrivesc. Același mesaj apare dacă contul a fost creat cu Google sau GitLab (nu are parolă) sau dacă a fost șters. | Verificați adresa, tasta Caps Lock și limba tastaturii. Pentru un cont creat cu Google sau GitLab, apăsați butonul respectiv. Dacă ați uitat parola: [Ați uitat parola contului](#cont.parola-uitata). |\n| „Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” | Ați depășit 5 încercări în 5 minute pentru aceeași adresă de email (sau 20 de pe aceeași adresă IP). | Așteptați aproximativ 5 minute. Încercările făcute între timp nu prelungesc blocarea. |\n| O eroare după butonul „Google” sau „GitLab”, de exemplu „Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” sau „Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” | Adresa contului nu este verificată sau autentificarea nu a fost finalizată în 10 minute, în același browser. | Fiecare mesaj și soluția lui: [Autentificarea cu Google sau GitLab](#cont.google-gitlab). |\n| După intrarea cu Google sau GitLab se deschide un cont gol. | Contul Google sau GitLab are altă adresă de email, așa că s-a creat un cont nou. | Apăsați „Deconectare” și intrați cu adresa contului inițial. |\n| Sunteți trimis din nou la pagina „Autentificare”. | Sesiunea pe blackbox.md durează 8 ore de la autentificare. | Autentificați-vă din nou. După autentificare reveniți pe aceeași pagină. |\n\n## Probleme la deschiderea panoului din blackbox.md\n\n| Ce vedeți | Cauza | Ce faceți |\n|---|---|---|\n| După „Deschide panoul” nu se deschide nimic. | Panoul nu a putut fi deschis direct (de exemplu, adresa de email nu este verificată), iar browserul a blocat fila nouă cu pagina de autentificare. | Permiteți ferestrele pop-up pentru blackbox.md și apăsați din nou. Dacă apare pagina de autentificare a panoului, urmați rândul următor. |\n| Se deschide pagina de autentificare a panoului (câmpurile „Nume utilizator” și „Parolă” sau, în engleză, „Username” și „Password”), nu mesajul „Vă autentificăm…”. | Adresa de email nu este verificată, ați apăsat „Deschide panoul” de peste 10 ori în ultima oră sau sesiunea pe blackbox.md a expirat. | Verificați adresa de email (pașii de mai jos). Dacă este verificată, așteptați: limita de 10 deschideri pe oră se eliberează treptat, în cel mult o oră. Dacă sesiunea a expirat, reîncărcați pagina contului, autentificați-vă și apăsați din nou. |\n| „Nu am putut finaliza autentificarea. Încercați din nou.” | Linkul de intrare funcționează o singură dată, timp de 60 de secunde. A expirat sau a fost deja folosit, de exemplu la reîncărcarea filei. | Închideți fila și apăsați din nou „Deschide panoul” pe blackbox.md. |\n| „Autentificare eșuată: cod lipsă.” | Pagina de intrare a fost deschisă dintr-un marcaj sau dintr-un link incomplet. | Deschideți din nou panoul din blackbox.md. |\n| Ați intrat, dar „Prezentare generală” afișează „Niciun server găsit. Contactați un administrator pentru a obține acces.” | Nu este o problemă de autentificare: serverele comandate pe blackbox.md sunt în „Serverele mele”. | Vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele). |\n\n### Cum verificați adresa de email\n\n1. Pe blackbox.md, apăsați „Cont client” în antet. Se deschide pagina „Profilul meu”.\n2. În cardul „Securitatea contului”, la „Verificarea emailului”, uitați-vă la insignă: „Verificat” sau „Neverificat”.\n3. Dacă scrie „Neverificat”, apăsați „Trimite emailul de verificare”. Apare mesajul „Email trimis. Verifică căsuța poștală.”\n4. În emailul „Confirmați adresa de email — BlackBox”, apăsați „Confirmă adresa de email”. Linkul este valabil 24 de ore.\n5. Reveniți în „Profilul meu” și apăsați din nou „Deschide panoul”.\n\nDacă emailul nu sosește, verificați dosarul Spam. Puteți cere cel mult 3 emailuri de verificare pe oră. Detalii: [Verificarea adresei de email](#cont.verificare-email).\n\n## „Nume de utilizator sau parolă incorecte.” pe app.blackbox.md\n\nPe pagina de autentificare a panoului, acest mesaj apare la orice eșec, inclusiv la blocarea temporară. Dacă pagina este în engleză, mesajul este „Invalid username or password.”, iar câmpurile se numesc „Username” și „Password”. Verificați pe rând:\n\n- În „Nume utilizator” ați introdus adresa de email a contului blackbox.md, cu litere mici, de exemplu `ion@companie.md`.\n- În „Parolă” ați introdus parola contului blackbox.md. Dacă ați schimbat-o recent pe blackbox.md, parola nouă funcționează în panou abia după următoarea apăsare a butonului „Deschide panoul”.\n- Ați deschis panoul din blackbox.md cel puțin o dată. Până atunci contul din panou nu există.\n- Contul nu a fost creat doar cu Google sau GitLab. Un astfel de cont nu are parolă pentru panou: intrați din blackbox.md.\n- Nu sunteți blocat temporar. Panoul acceptă 5 încercări în 5 minute pentru același nume de utilizator și 20 de pe aceeași adresă IP.\n\n> **Atenție**\n> Fiecare încercare făcută în timpul blocării o prelungește. Așteptați 5 minute fără să mai încercați sau intrați din blackbox.md cu „Deschide panoul”, pe care această blocare nu îl afectează.\n\nDetalii: [Autentificarea directă pe app.blackbox.md](#servere.autentificare-directa).\n\n## Codul 2FA nu este acceptat\n\nPasul „Autentificare în doi pași” apare doar dacă ați activat 2FA în panou. Dacă vedeți „Invalid 2FA code” sau „Cod invalid. Încercați din nou.”:\n\n1. Verificați ceasul telefonului. Codurile din aplicația de autentificare depind de ora exactă: activați data și ora automate în setările telefonului.\n2. Introduceți codul afișat acum în aplicație. Un cod folosit deja nu este acceptat a doua oară: dacă tocmai l-ați introdus, așteptați următorul.\n3. Dacă nu aveți telefonul la îndemână, apăsați „Folosiți un cod de recuperare” și introduceți unul dintre codurile de 8 caractere primite la activarea 2FA. Fiecare cod funcționează o singură dată.\n4. Apăsați „Verifică”.\n\nPasul trebuie finalizat în 5 minute, cu cel mult 5 încercări. După aceea apare „Too many 2FA attempts” sau „No 2FA session pending”: deschideți din nou panoul din blackbox.md și reluați.\n\nDacă ați pierdut telefonul și nu mai aveți coduri de recuperare, citiți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut) sau scrieți suportului.\n\n## Panoul cere din nou autentificarea sau parola nu mai merge\n\n- **Sesiunea a expirat.** Sesiunea din panou durează 8 ore de la intrare. Se încheie mai devreme după „Deconectare”, după „Setări” → „Sesiuni” → „Deconectare de peste tot” sau după schimbarea parolei în panou. Deschideți din nou panoul din blackbox.md: fiecare intrare pornește o sesiune nouă de 8 ore.\n- **Ați schimbat parola în panou și nu mai funcționează.** La fiecare „Deschide panoul”, parola panoului este înlocuită cu parola contului blackbox.md. Pentru autentificarea directă folosiți parola de pe blackbox.md și schimbați parola doar acolo: [Schimbarea parolei contului](#cont.schimbare-parola).\n- **Ați încercat linkul „Ați uitat parola?” din panou.** Linkul privește doar parola panoului, nu pe cea de pe blackbox.md, iar parola panoului este oricum înlocuită la următoarea deschidere din blackbox.md. Pentru parola uitată a contului, citiți [Ați uitat parola contului](#cont.parola-uitata).\n\n## Contul a fost șters\n\n- În cele 7 zile de la cererea de ștergere, contul funcționează normal: vă puteți autentifica și puteți apăsa „Anulează ștergerea” în „Profilul meu”.\n- După ștergere, în cont nu se mai poate intra: pagina afișează „Email sau parolă incorectă.”, iar contul din panou este eliminat. Contul nu poate fi restabilit.\n- Vă puteți înregistra din nou cu aceeași adresă de email sau cu Google ori GitLab. Primiți un cont nou, gol: comenzile, facturile și soldul vechi nu apar în el. Vedeți [Crearea contului pe blackbox.md](#cont.creare-cont) și [Ștergerea contului](#cont.stergere-cont).\n\n## Întrebări frecvente\n\n**Am verificat totul și tot nu pot intra. Ce fac?**\nScrieți la support@blackbox.md de pe adresa de email a contului sau sunați la +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei). Tichetele din „Ajutor și suport” cer autentificare. Toate canalele: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Nu pot intra în panou. Pot totuși plăti sau vedea facturile?**\nDa. Comenzile, plățile, soldul și facturile sunt pe blackbox.md și nu depind de panou.\n\n**De ce panoul îmi cere codul 2FA la fiecare intrare?**\nAșa funcționează 2FA după activare. La intrarea din blackbox.md, bifați „Rețineți acest dispozitiv 30 de zile”: în același browser codul nu se mai cere timp de până la 30 de zile. La autentificarea directă codul se cere de fiecare dată.\n",
    "ru": "Найдите ниже сообщение или ситуацию, с которой вы столкнулись, и выполните указанные действия. Статья охватывает страницу «Вход» на blackbox.md (`blackbox.md/ru/login`, ссылка «Личный кабинет» в шапке сайта) и вход в панель app.blackbox.md: из «Мой аккаунт» → «Панель управления» или напрямую на `app.blackbox.md/login`.\n\n**Доступно:** любому клиенту с аккаунтом на blackbox.md.\n\n## Аккаунт на blackbox.md и учётная запись в панели\n\n- Аккаунт на blackbox.md (с email и паролем или через Google либо GitLab) — основной.\n- Учётная запись в панели создаётся автоматически, когда вы впервые нажимаете «Открыть панель» (email к этому времени должен быть подтверждён). Имя пользователя — ваш email строчными буквами, пароль — копия пароля от blackbox.md.\n- Сессии у них раздельные, каждая на 8 часов. Выход из одного не завершает сессию в другом.\n\n> **Совет**\n> Надёжнее всего входить в панель через blackbox.md: «Мой аккаунт» → «Панель управления» или кнопка «Открыть панель» в карточке «Ваши услуги». Пароль панели при этом не нужен, и способ работает даже для аккаунтов, созданных через Google или GitLab.\n\n## Проблемы на blackbox.md\n\n| Что вы видите | Причина | Что делать |\n|---|---|---|\n| «Неверный email или пароль.» | Email или пароль не подходят. То же сообщение появляется, если аккаунт создан через Google или GitLab (пароля у него нет) или удалён. | Проверьте адрес, Caps Lock и раскладку клавиатуры. Если аккаунт создан через Google или GitLab, нажмите соответствующую кнопку. Если забыли пароль: [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| «Слишком много попыток входа. Пожалуйста, повторите через несколько минут.» | Больше 5 попыток за 5 минут для одного email (или 20 с одного IP-адреса). | Подождите около 5 минут. Попытки в это время блокировку не продлевают. |\n| Ошибка после кнопки «Google» или «GitLab». Эта страница выводится на румынском, например «Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.» или «Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.» | Email аккаунта не подтверждён (первое сообщение) или вход не был завершён за 10 минут в том же браузере (второе). | Все сообщения с переводом и решениями: [Вход через Google или GitLab](#cont.google-gitlab). |\n| После входа через Google или GitLab открывается пустой аккаунт. | У аккаунта Google или GitLab другой email, поэтому создался новый аккаунт. | Нажмите «Выйти» и войдите с адресом прежнего аккаунта. |\n| Сайт снова открывает страницу входа (она может открыться на румынском: «Autentificare»). | Сессия на blackbox.md длится 8 часов с момента входа. | Войдите снова — после входа вы вернётесь на ту же страницу. |\n\n## Проблемы при открытии панели из blackbox.md\n\n| Что вы видите | Причина | Что делать |\n|---|---|---|\n| После нажатия «Открыть панель» ничего не открывается. | Панель не удалось открыть напрямую (например, email не подтверждён), а браузер заблокировал новую вкладку со страницей входа. | Разрешите всплывающие окна для blackbox.md и нажмите кнопку ещё раз. Если откроется страница входа в панель, см. следующую строку. |\n| Открывается страница входа в панель (поля «Имя пользователя» и «Пароль» или, на английском, «Username» и «Password»), а не сообщение «Выполняется вход…». | Email не подтверждён, вы нажимали «Открыть панель» больше 10 раз за последний час или истекла сессия на blackbox.md. | Подтвердите email (шаги ниже). Если он уже подтверждён, подождите: лимит в 10 открытий в час снимается постепенно, самое позднее через час. Если истекла сессия, обновите страницу аккаунта, войдите и снова нажмите кнопку. |\n| «Не удалось завершить вход. Попробуйте ещё раз.» | Ссылка для входа срабатывает один раз и действует 60 секунд. Она истекла или уже использована — например, вы обновили вкладку. | Закройте вкладку и снова нажмите «Открыть панель» на blackbox.md. |\n| «Ошибка аутентификации: отсутствует код.» | Страница входа открыта из закладки или по неполной ссылке. | Снова откройте панель из blackbox.md. |\n| Вход выполнен, но на странице «Обзор» написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» | Это не проблема входа: серверы, заказанные на blackbox.md, находятся в разделе «Мои серверы». | См. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele). |\n\n### Как подтвердить email\n\n1. На blackbox.md нажмите «Личный кабинет» в шапке сайта. Откроется страница «Мой профиль».\n2. В карточке «Безопасность аккаунта», в блоке «Подтверждение email», посмотрите на отметку: «Подтверждён» или «Не подтверждён».\n3. Если написано «Не подтверждён», нажмите «Отправить письмо для подтверждения». Появится сообщение «Письмо отправлено. Проверьте почту.»\n4. В письме «Confirmați adresa de email — BlackBox» нажмите «Подтвердить email» (в письме на румынском — «Confirmă adresa de email»). Ссылка действует 24 часа.\n5. Вернитесь на страницу «Мой профиль» и снова нажмите «Открыть панель».\n\nЕсли письмо не пришло, проверьте папку «Спам». Запросить письмо можно не больше 3 раз в час. Подробнее: [Подтверждение адреса email](#cont.verificare-email).\n\n## «Неверное имя пользователя или пароль.» на app.blackbox.md\n\nНа странице входа в панель это сообщение появляется при любой неудаче, в том числе при временной блокировке. Если страница на английском, сообщение выглядит так: «Invalid username or password.», а поля называются «Username» и «Password». Проверьте по порядку:\n\n- В поле «Имя пользователя» введён email аккаунта blackbox.md строчными буквами, например `ion@companie.md`.\n- В поле «Пароль» введён пароль от аккаунта blackbox.md. Если вы недавно сменили его на blackbox.md, новый пароль заработает в панели только после следующего нажатия «Открыть панель».\n- Вы хотя бы раз открывали панель из blackbox.md. До этого учётной записи в панели нет.\n- Аккаунт создан не только через Google или GitLab. У такого аккаунта нет пароля для панели: входите из blackbox.md.\n- Вход временно не заблокирован. Панель принимает 5 попыток за 5 минут для одного имени пользователя и 20 — с одного IP-адреса.\n\n> **Внимание**\n> Каждая попытка во время блокировки продлевает её. Подождите 5 минут, ничего не вводя, или войдите из blackbox.md кнопкой «Открыть панель» — на неё эта блокировка не действует.\n\nПодробнее: [Прямой вход на app.blackbox.md](#servere.autentificare-directa).\n\n## Код 2FA не принимается\n\nШаг «Двухфакторная аутентификация» появляется, только если вы включили 2FA в панели. Если вы видите «Invalid 2FA code» или «Неверный код. Попробуйте ещё раз.»:\n\n1. Проверьте часы телефона. Коды в приложении-аутентификаторе зависят от точного времени: включите автоматическую настройку даты и времени в настройках телефона.\n2. Введите код, который приложение показывает сейчас. Уже использованный код повторно не принимается: если вы только что его вводили, дождитесь следующего.\n3. Если телефона нет под рукой, нажмите «Использовать код восстановления» и введите один из 8-символьных кодов, полученных при включении 2FA. Каждый код срабатывает только один раз.\n4. Нажмите «Проверить».\n\nШаг нужно завершить за 5 минут, сделав не более 5 попыток. Иначе появится «Too many 2FA attempts» или «No 2FA session pending»: снова откройте панель из blackbox.md и повторите вход.\n\nЕсли телефон потерян, а кодов восстановления нет, прочитайте статью [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut) или напишите в поддержку.\n\n## Панель снова просит войти или пароль не подходит\n\n- **Истекла сессия.** Сессия в панели длится 8 часов с момента входа. Раньше она завершается после «Выйти», после «Настройки» → «Сессии» → «Выйти везде» или после смены пароля в панели. Снова откройте панель из blackbox.md: каждый вход начинает новую сессию на 8 часов.\n- **Пароль, сменённый в панели, перестал работать.** При каждом нажатии «Открыть панель» пароль панели заменяется паролем от аккаунта blackbox.md. Для прямого входа используйте пароль от blackbox.md и меняйте пароль только там: [Смена пароля аккаунта](#cont.schimbare-parola).\n- **Вы пробовали ссылку «Забыли пароль?» в панели.** Она относится только к паролю панели, а не к паролю от blackbox.md, и пароль панели всё равно заменяется при следующем входе из blackbox.md. Если забыт пароль от аккаунта, прочитайте статью [Забыли пароль от аккаунта](#cont.parola-uitata).\n\n## Аккаунт удалён\n\n- В течение 7 дней после запроса на удаление аккаунт работает как обычно: вы можете войти и нажать «Отменить удаление» на странице «Мой профиль».\n- После удаления войти в аккаунт нельзя: страница входа покажет «Неверный email или пароль.», а учётная запись в панели удаляется. Восстановить аккаунт невозможно.\n- Можно зарегистрироваться заново с тем же email или через Google либо GitLab. Вы получите новый, пустой аккаунт: прежние заказы, счета и баланс в нём не появятся. См. [Создание аккаунта на blackbox.md](#cont.creare-cont) и [Удаление аккаунта](#cont.stergere-cont).\n\n## Частые вопросы\n\n**Я всё проверил, но войти по-прежнему не получается. Что делать?**\nНапишите на support@blackbox.md с адреса, на который зарегистрирован аккаунт, или позвоните по номеру +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы. Тикеты в разделе «Помощь и поддержка» доступны только после входа. Все каналы связи: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**В панель войти не получается. Могу ли я оплатить счёт или посмотреть счета?**\nДа. Заказы, оплата, баланс и счета находятся на blackbox.md и от панели не зависят.\n\n**Почему панель просит код 2FA при каждом входе?**\nТак работает 2FA после включения. При входе из blackbox.md отметьте «Запомнить это устройство на 30 дней»: в этом браузере код не будет запрашиваться до 30 дней. При прямом входе код запрашивается каждый раз.\n",
    "en": "Find the message or situation you see below and follow the solution. This article covers the “Autentificare” (Sign in) page on blackbox.md (`blackbox.md/login`, the “Cont client” (Customer account) link in the site's header) and signing in to the app.blackbox.md panel: from “Contul meu” (My account) → “Panou de administrare” (Admin panel) or directly at `app.blackbox.md/login`.\n\n**Available to:** any customer with an account on blackbox.md.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Your blackbox.md account and your panel account\n\n- Your blackbox.md account (with an email address and password, or with Google or GitLab) is your main account.\n- Your panel account is created automatically the first time you click “Deschide panoul” (Open the panel), if your email address is verified. Your username is your email address, written in lowercase letters, and your password is a copy of your blackbox.md password.\n- The two have separate sessions, 8 hours each. Signing out of one does not sign you out of the other.\n\n> **Tip**\n> The most reliable way into the panel goes through blackbox.md: “Contul meu” (My account) → “Panou de administrare” (Admin panel), or the “Deschide panoul” button on the “Serviciile tale” (Your services) card. It does not ask for the panel password, and it also works for accounts created with Google or GitLab.\n\n## Problems on blackbox.md\n\n| What you see | Cause | What to do |\n|---|---|---|\n| “Email sau parolă incorectă.” (Incorrect email or password.) | The email address or password does not match. The same message appears if the account was created with Google or GitLab (it has no password) or if it has been deleted. | Check the address, the Caps Lock key and your keyboard language. For an account created with Google or GitLab, click the matching button. If you forgot your password: [Forgot your account password](#cont.parola-uitata). |\n| “Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” (Too many sign-in attempts. Please try again in a few minutes.) | You went over 5 attempts in 5 minutes for the same email address (or 20 from the same IP address). | Wait about 5 minutes. Attempts made in the meantime do not extend the block. |\n| An error after the “Google” or “GitLab” button, for example “Există deja un cont cu acest email, dar adresa nu a fost verificată. Autentificați-vă normal și confirmați emailul.” (An account with this email already exists, but the address has not been verified. Sign in the usual way and confirm your email.) or “Sesiunea de autentificare a expirat. Vă rugăm să reîncercați.” (The sign-in session has expired. Please try again.) | The account's email address is not verified, or the sign-in was not completed within 10 minutes in the same browser. | Each message and its solution: [Signing in with Google or GitLab](#cont.google-gitlab). |\n| After you sign in with Google or GitLab, an empty account opens. | Your Google or GitLab account has a different email address, so a new account was created. | Click “Deconectare” (Sign out) and sign in with the address of your original account. |\n| You are sent back to the “Autentificare” (Sign in) page. | Your session on blackbox.md lasts 8 hours from sign-in. | Sign in again. After you sign in, you return to the same page. |\n\n## Problems opening the panel from blackbox.md\n\n| What you see | Cause | What to do |\n|---|---|---|\n| After you click “Deschide panoul” (Open the panel), nothing opens. | The panel could not be opened directly (for example, your email address is not verified), and your browser blocked the new tab with the sign-in page. | Allow pop-up windows for blackbox.md and click again. If the panel's sign-in page appears, follow the next row. |\n| The panel's sign-in page opens (the “Username” and “Password” fields, or “Nume utilizator” and “Parolă” if the page is in Romanian) instead of the “Signing you in…” message. | Your email address is not verified, you clicked “Deschide panoul” more than 10 times in the last hour, or your session on blackbox.md has expired. | Verify your email address (steps below). If it is already verified, wait: the limit of 10 openings per hour frees up gradually, within one hour at most. If your session has expired, reload your account page, sign in and click again. |\n| “We couldn't finish signing you in. Please try again.” | The entry link works only once, for 60 seconds. It has expired or has already been used, for example when you reloaded the tab. | Close the tab and click “Deschide panoul” on blackbox.md again. |\n| “Authentication failed: missing code.” | The entry page was opened from a bookmark or from an incomplete link. | Open the panel again from blackbox.md. |\n| You are signed in, but “Overview” shows “No servers found. Contact an administrator to get access.” | This is not a sign-in problem: the servers you ordered on blackbox.md are in “My Servers”. | See [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele). |\n\n### How to verify your email address\n\n1. On blackbox.md, click “Cont client” (Customer account) in the header. The “Profilul meu” (My profile) page opens.\n2. On the “Securitatea contului” (Account security) card, under “Verificarea emailului” (Email verification), look at the badge: “Verificat” (Verified) or “Neverificat” (Not verified).\n3. If it says “Neverificat”, click “Trimite emailul de verificare” (Send verification email). The message “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.) appears.\n4. In the email “Confirmați adresa de email — BlackBox” (Confirm your email address — BlackBox), click “Confirmă adresa de email” (Confirm email address). The link is valid for 24 hours.\n5. Go back to “Profilul meu” and click “Deschide panoul” again.\n\nIf the email does not arrive, check your Spam folder. You can request at most 3 verification emails per hour. Details: [Verifying your email address](#cont.verificare-email).\n\n## “Invalid username or password.” on app.blackbox.md\n\nOn the panel's sign-in page, this message appears for any failure, including a temporary lockout. If the page is in Romanian, the message is “Nume de utilizator sau parolă incorecte.” and the fields are called “Nume utilizator” and “Parolă”. Check each point in turn:\n\n- In “Username”, you entered the email address of your blackbox.md account, in lowercase letters, for example `ion@companie.md`.\n- In “Password”, you entered your blackbox.md account password. If you recently changed it on blackbox.md, the new password works in the panel only after the next time you click “Deschide panoul” (Open the panel).\n- You have opened the panel from blackbox.md at least once. Until then, your panel account does not exist.\n- Your account was not created only with Google or GitLab. Such an account has no panel password: enter from blackbox.md.\n- You are not temporarily locked out. The panel accepts 5 attempts in 5 minutes for the same username, and 20 from the same IP address.\n\n> **Warning**\n> Every attempt you make during the lockout extends it. Wait 5 minutes without trying again, or enter from blackbox.md with “Deschide panoul”, which this lockout does not affect.\n\nDetails: [Signing in directly to app.blackbox.md](#servere.autentificare-directa).\n\n## The 2FA code is not accepted\n\nThe “Two-Factor Authentication” step appears only if you have turned on 2FA in the panel. If you see “Invalid 2FA code” or “Invalid code. Please try again.”:\n\n1. Check your phone's clock. The codes in your authenticator app depend on the exact time: turn on automatic date and time in your phone's settings.\n2. Enter the code the app shows right now. A code that has already been used is not accepted a second time: if you have just entered it, wait for the next one.\n3. If your phone is not at hand, click “Use recovery code instead” and enter one of the 8-character codes you received when you turned on 2FA. Each code works only once.\n4. Click “Verify”.\n\nYou must complete this step within 5 minutes, with no more than 5 attempts. After that, “Too many 2FA attempts” or “No 2FA session pending” appears: open the panel again from blackbox.md and start over.\n\nIf you have lost your phone and no longer have any recovery codes, read [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut) or write to support.\n\n## The panel asks you to sign in again, or your password no longer works\n\n- **Your session has expired.** A panel session lasts 8 hours from when you enter. It ends earlier after “Logout”, after “Settings” → “Sessions” → “Sign Out Everywhere”, or after you change your password in the panel. Open the panel again from blackbox.md: each entry starts a new 8-hour session.\n- **You changed your password in the panel and it no longer works.** Each time you click “Deschide panoul” (Open the panel), the panel password is replaced with your blackbox.md account password. For direct sign-in, use your blackbox.md password, and change your password only there: [Changing your account password](#cont.schimbare-parola).\n- **You tried the “Forgot password?” link in the panel.** This link applies only to the panel password, not to your blackbox.md password, and the panel password is replaced anyway the next time you open the panel from blackbox.md. If you forgot your account password, read [Forgot your account password](#cont.parola-uitata).\n\n## Your account has been deleted\n\n- For 7 days after you request deletion, your account works normally: you can sign in and click “Anulează ștergerea” (Cancel deletion) on “Profilul meu” (My profile).\n- After deletion, you can no longer sign in to the account: the page shows “Email sau parolă incorectă.” (Incorrect email or password.), and your panel account is removed. The account cannot be restored.\n- You can register again with the same email address or with Google or GitLab. You get a new, empty account: your old orders, invoices and balance do not appear in it. See [Creating an account on blackbox.md](#cont.creare-cont) and [Deleting your account](#cont.stergere-cont).\n\n## Frequently asked questions\n\n**I checked everything and still can't sign in. What should I do?**\nWrite to support@blackbox.md from your account's email address, or call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time). Support tickets in “Ajutor și suport” (Help and support) require you to be signed in. All channels: [How to contact BLACKBOX support](#suport.contact).\n\n**I can't sign in to the panel. Can I still pay or see my invoices?**\nYes. Orders, payments, your balance and invoices are on blackbox.md and do not depend on the panel.\n\n**Why does the panel ask for the 2FA code every time I sign in?**\nThis is how 2FA works once it is turned on. When you enter from blackbox.md, check “Remember this device for 30 days”: in the same browser, the code is not requested for up to 30 days. With direct sign-in, the code is requested every time.\n"
   }
  },
  {
   "id": "faq.panoul-nu-arata-serverele",
   "section": "faq",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/panoul-nu-arata-serverele/",
    "ru": "https://docs.blackbox.md/ru/faq/panoul-nu-arata-serverele/",
    "en": "https://docs.blackbox.md/en/faq/panoul-nu-arata-serverele/"
   },
   "title": {
    "ro": "Panoul afișează „Niciun server găsit”",
    "ru": "Панель показывает «Серверы не найдены»",
    "en": "The panel shows “No servers found”"
   },
   "summary": {
    "ro": "De ce prima pagină a panoului este goală, unde sunt serverele dvs. și ce faceți dacă și „Serverele mele” este goală.",
    "ru": "Почему первая страница панели пустая, где ваши серверы и что делать, если пуста и страница «Мои серверы».",
    "en": "Why the panel's first page is empty, where your servers are, and what to do if “My Servers” is empty too."
   },
   "markdown": {
    "ro": "La intrarea în panoul app.blackbox.md se deschide pagina „Prezentare generală” (`app.blackbox.md/`, titlul „Rapoarte de audit al serverelor”), care poate afișa „Niciun server găsit. Contactați un administrator pentru a obține acces.” Pentru serverele comandate pe blackbox.md acest mesaj este normal: ele se află în „Serverele mele” (`app.blackbox.md/my-servers`, meniul din stânga „Infrastructură” → „Serverele mele”). Mai jos găsiți ce faceți dacă și această pagină este goală.\n\n**Disponibil pentru:** orice client care intră în panou din contul blackbox.md.\n\n## Ce mesaj vedeți și ce înseamnă\n\n| Mesaj | Pagina | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| „Niciun server găsit. Contactați un administrator pentru a obține acces.” | „Prezentare generală” | Pagina arată doar serverele companiilor administrate de BLACKBOX la care vi s-a dat acces. Serverele comandate de dvs. nu apar aici. | Deschideți „Serverele mele”. Nu trebuie să cereți acces. |\n| „Încă nu aveți servere. Comandați unul din magazin și va apărea aici imediat ce este gata.” | „Serverele mele” | Contul cu care ați intrat în panou nu are niciun server activ. | Verificați cele trei cauze de mai jos. |\n| „Niciun server nu este asociat contului dvs. încă.” | „Serverele mele” | Contul cu care ați intrat în panou nu este legat de un cont blackbox.md. | Intrați în panou cu „Deschide panoul” din contul blackbox.md. |\n| „Nu s-au putut încărca serverele.” sau alt text într-o casetă roșie, de exemplu „Unauthorized” | „Serverele mele” | Lista nu a putut fi citită. De obicei, sesiunea din panou a expirat. | Reîncărcați pagina (vedeți mai jos). |\n| „Nu s-au putut încărca datele serverelor. Încercați mai târziu.” | „Prezentare generală” | Datele paginii nu au putut fi citite. | Reîncărcați pagina sau deschideți direct „Serverele mele”. |\n\n## „Prezentare generală” arată „Niciun server găsit”\n\n„Prezentare generală” este pagina rapoartelor de audit pentru serverele pe care BLACKBOX le administrează pentru companii. Dacă aveți doar servere comandate pe blackbox.md, pagina arată insignele „0 servere”, „0 accesibile”, „0 inaccesibile”, „0 cu disc critic”, „0 neauditate” și textul „Niciun server găsit…”. Nu este o eroare, iar contul dvs. este în regulă.\n\n1. În bara laterală, la „Infrastructură”, apăsați „Serverele mele”. Pe telefon, deschideți întâi meniul cu butonul din stânga sus.\n2. Se deschide pagina „Serverele mele”, cu subtitlul „Servere alocate contului dvs.” și câte un card pentru fiecare server activ. Detalii: [Pagina „Serverele mele”: cardul serverului](#servere.serverele-mele).\n\nPanoul se deschide pe „Prezentare generală” de fiecare dată când apăsați „Deschide panoul” sau „Panou de administrare” pe blackbox.md, precum și după autentificarea directă pe `app.blackbox.md/login`.\n\n> **Sfat**\n> Ca să ajungeți direct la server, pe blackbox.md deschideți „Contul meu” → „Comenzi” și apăsați pe rândul comenzii pictograma cu săgeată („Gestionează în app.blackbox.md”; pe telefon, în meniul ⋮). Panoul se deschide pe „Serverele mele”, cu cardul serverului evidențiat.\n\n## „Serverele mele” arată „Încă nu aveți servere…”\n\nVerificați, în ordine, cele trei cauze posibile.\n\n### 1. Serverul nu este încă creat\n\n1. Pe blackbox.md, deschideți „Contul meu” → „Comenzi”.\n2. Găsiți comanda după număr (`BBX-…`) și citiți coloana „Status”:\n\n| Status | Ce înseamnă | Ce faceți |\n|---|---|---|\n| „Nou” | Comanda nu este achitată sau plata nu a fost încă confirmată. | Achitați-o cu „Achită comanda”. Dacă ați plătit deja, vedeți [Plata a eșuat sau statusul nu s-a actualizat](#faq.plata-nereusita). |\n| „În lucru”, fără rândul „Server: …” | Comanda este achitată, iar serverul se pregătește. | Așteptați: planurile VPS se activează de regulă în câteva minute după confirmarea plății. Serverele dedicate și produsele la cerere sunt pregătite manual de echipă, care vă contactează. |\n| „În lucru”, cu rândul „Server: …” și adresa IP | Serverul există. | Reîncărcați „Serverele mele” și verificați contul (cauza 2). |\n| „Anulat” | Comanda a fost anulată sau serverul ei a fost șters. | Vedeți cauza 3. |\n\nDetalii: [Serverul nu apare după plată](#faq.serverul-nu-este-gata).\n\n### 2. Ați intrat în panou cu alt cont\n\nFiecare cont blackbox.md are propriul cont în panou, în care vedeți doar serverele comandate din acel cont. Numele de utilizator din panou este adresa de email a contului blackbox.md. Îl vedeți în dreapta sus și în „Setări” → „Profil” → „Nume utilizator”. Dacă diferă de adresa contului din care ați plasat comanda:\n\n1. În panou, apăsați numele de utilizator din dreapta sus, apoi „Deconectare”.\n2. Pe blackbox.md, apăsați „Deconectare” în meniul contului și autentificați-vă cu contul din care ați plasat comanda.\n3. Apăsați „Panou de administrare” în meniul contului sau „Deschide panoul” în cardul „Serviciile tale” din pagina „Profil”.\n4. În panou, apăsați „Serverele mele”.\n\n### 3. Serverul a fost șters\n\nCardul dispare din „Serverele mele” după ce ștergerea definitivă s-a executat sau după ce comanda serverului a fost anulată. Comanda are atunci statusul „Anulat”. Cât timp ștergerea este doar programată (perioada de grație de 24 de ore), cardul rămâne pe pagină și puteți anula ștergerea. Vedeți [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n> **Ireversibil**\n> Un server șters nu mai poate fi recuperat, nici datele de pe el. Pentru un server nou, plasați o comandă nouă.\n\n## „Niciun server nu este asociat contului dvs. încă.”\n\nContul cu care ați intrat în panou nu corespunde niciunui cont blackbox.md. Se întâmplă de obicei când v-ați autentificat direct pe `app.blackbox.md/login` cu alt nume de utilizator decât adresa de email a contului blackbox.md.\n\n1. În panou, apăsați numele de utilizator din dreapta sus, apoi „Deconectare”.\n2. Pe blackbox.md, autentificați-vă cu contul din care ați plasat comanda.\n3. Apăsați „Deschide panoul” sau „Panou de administrare”. Panoul vă autentifică automat cu contul potrivit.\n4. Deschideți „Serverele mele”.\n\nDacă mesajul rămâne, scrieți-ne de pe adresa de email a contului. Detalii despre intrare: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n\n## „Nu s-au putut încărca serverele.”\n\n1. Reîncărcați pagina (tasta F5 sau butonul de reîncărcare al browserului).\n2. Dacă apare pagina de autentificare a panoului, sesiunea a expirat (o sesiune în panou durează 8 ore). Intrați din nou din blackbox.md cu „Deschide panoul”.\n3. Dacă eroarea persistă, scrieți-ne. Indicați adresa de email a contului, textul exact al mesajului și ora la care a apărut.\n\n## Serverele companiei administrate de BLACKBOX\n\nDacă BLACKBOX administrează servere pentru compania dvs., ele apar în panou doar după ce BLACKBOX acordă acces contului dvs. blackbox.md.\n\n1. Scrieți-ne de pe adresa de email a contului blackbox.md și indicați compania și serverele de care aveți nevoie. Canalele sunt în [Cum contactați suportul BLACKBOX](#suport.contact).\n2. După ce accesul este acordat, intrați în panou cu „Deschide panoul” din contul blackbox.md.\n3. Serverele companiei apar în „Serverele mele”, cu insigna „Administrat” și nota „Acest server este administrat de echipa noastră. Pentru orice modificare, contactați suportul.”, iar rapoartele lor de audit apar pe „Prezentare generală”.\n\nCardurile cu insigna „Administrat” nu au butoane de administrare: puteți doar să vedeți serverul și să-i dați un nume privat. Dacă BLACKBOX v-a acordat și drepturi de administrare, cardul nu are această insignă și arată o parte din butoane, dar niciodată „Upgrade” și „Șterge definitiv”. Detalii: [Pagina „Prezentare generală” (Overview)](#servere.prezentare-generala).\n\n## Întrebări frecvente\n\n**Trebuie să cer acces unui administrator, cum scrie pe „Prezentare generală”?**\nNu, pentru serverele comandate pe blackbox.md nu este nevoie: ele apar singure în „Serverele mele”. Accesul se cere doar pentru serverele companiei administrate de BLACKBOX.\n\n**Comanda are rândul „Server: …”, dar cardul lipsește din „Serverele mele”. Ce fac?**\nLista nu se actualizează singură, deci reîncărcați pagina. Verificați apoi că ați intrat în panou din contul care a plasat comanda. Dacă serverul tot nu apare, scrieți-ne cu numărul comenzii `BBX-…`.\n\n**Pot deschide panoul direct pe „Serverele mele”?**\nDa: în „Contul meu” → „Comenzi”, apăsați „Gestionează în app.blackbox.md” pe rândul comenzii. „Deschide panoul” și „Panou de administrare” duc întotdeauna la „Prezentare generală”.\n\n**Cum îi dau unui coleg acces la serverele mele?**\nPanoul nu are o funcție de invitare a colegilor sau de utilizatori suplimentari. Pentru acces comun, scrieți-ne.\n",
    "ru": "При входе в панель app.blackbox.md открывается страница «Обзор» (`app.blackbox.md/`, заголовок «Отчёты аудита серверов»), и на ней может быть написано «Серверы не найдены. Обратитесь к администратору для получения доступа.» Для серверов, заказанных на blackbox.md, это нормально: они находятся в разделе «Мои серверы» (`app.blackbox.md/my-servers`, левое меню «Инфраструктура» → «Мои серверы»). Ниже — что делать, если пуст и этот раздел.\n\n**Доступно:** любому клиенту, который входит в панель из аккаунта blackbox.md.\n\n## Какое сообщение вы видите и что оно значит\n\n| Сообщение | Страница | Что значит | Что делать |\n|---|---|---|---|\n| «Серверы не найдены. Обратитесь к администратору для получения доступа.» | «Обзор» | Здесь показываются только серверы компаний, которые обслуживает BLACKBOX и к которым вам открыли доступ. Заказанные вами серверы сюда не попадают. | Откройте «Мои серверы». Запрашивать доступ не нужно. |\n| «У вас пока нет серверов. Закажите сервер в магазине — он появится здесь, когда будет готов.» | «Мои серверы» | У учётной записи, под которой вы вошли в панель, нет ни одного активного сервера. | Проверьте три причины, описанные ниже. |\n| «К вашему аккаунту пока не привязан ни один сервер.» | «Мои серверы» | Учётная запись, под которой вы вошли в панель, не связана с аккаунтом blackbox.md. | Войдите в панель кнопкой «Открыть панель» из аккаунта blackbox.md. |\n| «Не удалось загрузить серверы.» или другой текст в красной рамке, например «Unauthorized» | «Мои серверы» | Список получить не удалось. Чаще всего истекла сессия в панели. | Обновите страницу (см. ниже). |\n| «Не удалось загрузить данные серверов. Попробуйте позже.» | «Обзор» | Данные страницы получить не удалось. | Обновите страницу или сразу откройте «Мои серверы». |\n\n## На странице «Обзор» написано «Серверы не найдены»\n\n«Обзор» — это страница отчётов аудита для серверов, которые BLACKBOX обслуживает для компаний. Если у вас только серверы, заказанные на blackbox.md, на ней будут значки «Серверов: 0», «Доступно: 0», «Недоступно: 0», «Критичный диск: 0», «Без аудита: 0» и текст «Серверы не найдены…». Это не ошибка, с вашим аккаунтом всё в порядке.\n\n1. В боковом меню, в разделе «Инфраструктура», нажмите «Мои серверы». На телефоне сначала откройте меню кнопкой в левом верхнем углу.\n2. Откроется страница «Мои серверы» с подзаголовком «Серверы, выделенные вашему аккаунту.» и карточкой для каждого активного сервера. Подробнее: [Страница «Мои серверы»: карточка сервера](#servere.serverele-mele).\n\nПанель открывает «Обзор» каждый раз, когда вы нажимаете «Открыть панель» или «Панель управления» на blackbox.md, а также после прямого входа на `app.blackbox.md/login`.\n\n> **Совет**\n> Чтобы сразу попасть к серверу, откройте на blackbox.md «Личный кабинет» → «Заказы» и нажмите в строке заказа значок со стрелкой («Управление в app.blackbox.md»; на телефоне — в меню ⋮). Панель откроется на странице «Мои серверы» с выделенной карточкой сервера.\n\n## В разделе «Мои серверы» написано «У вас пока нет серверов…»\n\nПроверьте по порядку три возможные причины.\n\n### 1. Сервер ещё не создан\n\n1. На blackbox.md откройте «Личный кабинет» → «Заказы».\n2. Найдите заказ по номеру (`BBX-…`) и посмотрите на столбец «Статус»:\n\n| Статус | Что значит | Что делать |\n|---|---|---|\n| «Новый» | Заказ не оплачен, или оплата ещё не подтверждена. | Оплатите его кнопкой «Оплатить заказ». Если вы уже заплатили, см. [Оплата не прошла или статус не обновился](#faq.plata-nereusita). |\n| «В работе», строки «Сервер: …» нет | Заказ оплачен, сервер готовится. | Подождите: VPS обычно активируется в течение нескольких минут после подтверждения оплаты. Выделенные серверы и продукты по запросу команда готовит вручную и сама связывается с вами. |\n| «В работе», есть строка «Сервер: …» с IP-адресом | Сервер создан. | Обновите страницу «Мои серверы» и проверьте, под каким аккаунтом вы вошли (причина 2). |\n| «Отменён» | Заказ отменён, или его сервер удалён. | См. причину 3. |\n\nПодробнее: [Сервер не появился после оплаты](#faq.serverul-nu-este-gata).\n\n### 2. Вы вошли в панель под другим аккаунтом\n\nУ каждого аккаунта blackbox.md своя учётная запись в панели, и в ней видны только серверы, заказанные из этого аккаунта. Имя пользователя в панели — это email аккаунта blackbox.md. Его видно в правом верхнем углу и в разделе «Настройки» → «Профиль» → «Имя пользователя». Если он отличается от адреса аккаунта, с которого оформлен заказ:\n\n1. В панели нажмите на имя пользователя в правом верхнем углу, затем «Выйти».\n2. На blackbox.md нажмите «Выйти» в меню аккаунта и войдите в тот аккаунт, с которого оформлен заказ.\n3. Нажмите «Панель управления» в меню аккаунта или «Открыть панель» в карточке «Ваши услуги» на странице «Профиль».\n4. В панели нажмите «Мои серверы».\n\n### 3. Сервер удалён\n\nКарточка пропадает из раздела «Мои серверы», когда удаление сервера выполнено или когда его заказ отменён. Заказ при этом получает статус «Отменён». Пока удаление только запланировано (период отсрочки — 24 часа), карточка остаётся на странице, и удаление можно отменить. См. [Безвозвратное удаление сервера](#servere.stergere-server).\n\n> **Необратимо**\n> Удалённый сервер и данные на нём восстановить нельзя. Чтобы получить новый сервер, оформите новый заказ.\n\n## «К вашему аккаунту пока не привязан ни один сервер.»\n\nУчётная запись, под которой вы вошли в панель, не соответствует ни одному аккаунту blackbox.md. Обычно так бывает, если вы вошли напрямую на `app.blackbox.md/login` с именем пользователя, которое отличается от email вашего аккаунта blackbox.md.\n\n1. В панели нажмите на имя пользователя в правом верхнем углу, затем «Выйти».\n2. Войдите на blackbox.md в тот аккаунт, с которого оформлен заказ.\n3. Нажмите «Открыть панель» или «Панель управления». Панель сама выполнит вход под нужной учётной записью.\n4. Откройте «Мои серверы».\n\nЕсли сообщение не исчезло, напишите нам с адреса email вашего аккаунта. Подробнее о входе: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n\n## «Не удалось загрузить серверы.»\n\n1. Обновите страницу (клавиша F5 или кнопка обновления в браузере).\n2. Если открылась страница входа в панель, значит, сессия истекла (сессия в панели длится 8 часов). Снова войдите из blackbox.md кнопкой «Открыть панель».\n3. Если ошибка повторяется, напишите нам. Укажите email аккаунта, точный текст сообщения и время, когда оно появилось.\n\n## Серверы компании, которые обслуживает BLACKBOX\n\nЕсли BLACKBOX обслуживает серверы вашей компании, в панели они появятся только после того, как BLACKBOX откроет к ним доступ вашему аккаунту blackbox.md.\n\n1. Напишите нам с адреса email аккаунта blackbox.md и укажите компанию и нужные серверы. Способы связи — в статье [Как связаться с поддержкой BLACKBOX](#suport.contact).\n2. Когда доступ откроют, войдите в панель кнопкой «Открыть панель» из аккаунта blackbox.md.\n3. Серверы компании появятся в разделе «Мои серверы» со значком «Обслуживается» и примечанием «Этим сервером занимается наша команда. Чтобы запросить изменения, обратитесь в поддержку.», а их отчёты аудита — на странице «Обзор».\n\nНа карточках со значком «Обслуживается» нет кнопок управления: такой сервер можно только просматривать и дать ему личное название. Если BLACKBOX дал вам и права на управление, значка на карточке нет и доступна часть кнопок, но «Апгрейд» и «Удалить» не появляются никогда. Подробнее: [Страница «Обзор» (Overview)](#servere.prezentare-generala).\n\n## Частые вопросы\n\n**Нужно ли просить доступ у администратора, как написано на странице «Обзор»?**\nДля серверов, заказанных на blackbox.md, — нет: они сами появляются в разделе «Мои серверы». Доступ запрашивают только к серверам компании, которые обслуживает BLACKBOX.\n\n**У заказа есть строка «Сервер: …», но в разделе «Мои серверы» карточки нет. Что делать?**\nСписок сам не обновляется, поэтому обновите страницу. Затем проверьте, что вы вошли в панель из того аккаунта, с которого оформлен заказ. Если сервер так и не появился, напишите нам и укажите номер заказа `BBX-…`.\n\n**Можно ли открыть панель сразу на странице «Мои серверы»?**\nДа: в разделе «Личный кабинет» → «Заказы» нажмите «Управление в app.blackbox.md» в строке заказа. «Открыть панель» и «Панель управления» всегда ведут на «Обзор».\n\n**Как дать коллеге доступ к моим серверам?**\nВ панели нельзя пригласить коллегу или добавить других пользователей. Если нужен общий доступ, напишите нам.\n",
    "en": "When you enter the app.blackbox.md panel, the “Overview” page opens (`app.blackbox.md/`, with the heading “Server Audit Reports”), and it may show “No servers found. Contact an administrator to get access.” For servers ordered on blackbox.md, this message is normal: they are in “My Servers” (`app.blackbox.md/my-servers`, left menu “Infrastructure” → “My Servers”). Below you will find what to do if that page is empty too.\n\n**Available to:** any customer who enters the panel from their blackbox.md account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Which message you see and what it means\n\n| Message | Page | What it means | What to do |\n|---|---|---|---|\n| “No servers found. Contact an administrator to get access.” | “Overview” | This page shows only the servers of companies managed by BLACKBOX that you have been given access to. Servers you ordered don't appear here. | Open “My Servers”. You don't need to ask for access. |\n| “You don't have any servers yet. Order one from the shop and it will appear here once it's ready.” | “My Servers” | The account you used to enter the panel has no active servers. | Check the three causes below. |\n| “No servers are linked to your account yet.” | “My Servers” | The account you used to enter the panel is not linked to a blackbox.md account. | Enter the panel with “Deschide panoul” (Open the panel) from your blackbox.md account. |\n| “Failed to load servers.” or other text in a red box, for example “Unauthorized” | “My Servers” | The list could not be loaded. Usually, your panel session has expired. | Reload the page (see below). |\n| “Failed to load server data. Please try again later.” | “Overview” | The page's data could not be loaded. | Reload the page or open “My Servers” directly. |\n\n## “Overview” shows “No servers found”\n\n“Overview” is the audit reports page for the servers that BLACKBOX manages for companies. If you only have servers ordered on blackbox.md, the page shows the badges “0 Servers”, “0 Reachable”, “0 Unreachable”, “0 Critical Disk”, “0 Not Audited” and the text “No servers found…”. This is not an error, and your account is fine.\n\n1. In the sidebar, under “Infrastructure”, click “My Servers”. On a phone, first open the menu with the button in the top-left corner.\n2. The “My Servers” page opens, with the subtitle “Servers provisioned to your account.” and one card for each active server. Details: [The “My Servers” page: the server card](#servere.serverele-mele).\n\nThe panel opens on “Overview” every time you click “Deschide panoul” (Open the panel) or “Panou de administrare” (Admin panel) on blackbox.md, and also after you sign in directly at `app.blackbox.md/login`.\n\n> **Tip**\n> To go straight to your server, open “Contul meu” (My account) → “Comenzi” (Orders) on blackbox.md and, on the order's row, click the arrow icon (“Gestionează în app.blackbox.md” (Manage in app.blackbox.md); on a phone, it is in the ⋮ menu). The panel opens on “My Servers”, with the server's card highlighted.\n\n## “My Servers” shows “You don't have any servers yet…”\n\nCheck the three possible causes, in order.\n\n### 1. The server has not been created yet\n\n1. On blackbox.md, open “Contul meu” (My account) → “Comenzi” (Orders).\n2. Find the order by its number (`BBX-…`) and check the “Status” column:\n\n| Status | What it means | What to do |\n|---|---|---|\n| “Nou” (New) | The order has not been paid, or the payment has not been confirmed yet. | Pay for it with “Achită comanda” (Pay for the order). If you have already paid, see [The payment failed or the status did not update](#faq.plata-nereusita). |\n| “În lucru” (In progress), without the “Server: …” line | The order is paid, and the server is being prepared. | Wait: VPS plans are usually activated within a few minutes after the payment is confirmed. Dedicated servers and products on request are prepared manually by the team, who will contact you. |\n| “În lucru”, with the “Server: …” line and the IP address | The server exists. | Reload “My Servers” and check which account you are using (cause 2). |\n| “Anulat” (Canceled) | The order was canceled, or its server was deleted. | See cause 3. |\n\nDetails: [The server does not appear after payment](#faq.serverul-nu-este-gata).\n\n### 2. You entered the panel with a different account\n\nEach blackbox.md account has its own panel account, where you see only the servers ordered from that account. Your panel username is the email address of your blackbox.md account. You can see it in the top-right corner and in “Settings” → “Profile” → “Username”. If it differs from the address of the account you placed the order from:\n\n1. In the panel, click your username in the top-right corner, then “Logout”.\n2. On blackbox.md, click “Deconectare” (Sign out) in the account menu, then sign in with the account you placed the order from.\n3. Click “Panou de administrare” (Admin panel) in the account menu, or “Deschide panoul” (Open the panel) on the “Serviciile tale” (Your services) card on the “Profil” (Profile) page.\n4. In the panel, click “My Servers”.\n\n### 3. The server was deleted\n\nThe card disappears from “My Servers” once the permanent deletion has been carried out or once the server's order has been canceled. The order then has the “Anulat” status. While the deletion is only scheduled (the 24-hour grace period), the card stays on the page, and you can cancel the deletion. See [Permanently deleting a server](#servere.stergere-server).\n\n> **Irreversible**\n> A deleted server cannot be recovered, and neither can the data on it. For a new server, place a new order.\n\n## “No servers are linked to your account yet.”\n\nThe account you used to enter the panel does not match any blackbox.md account. This usually happens when you signed in directly at `app.blackbox.md/login` with a username other than the email address of your blackbox.md account.\n\n1. In the panel, click your username in the top-right corner, then “Logout”.\n2. On blackbox.md, sign in with the account you placed the order from.\n3. Click “Deschide panoul” (Open the panel) or “Panou de administrare” (Admin panel). The panel signs you in automatically with the right account.\n4. Open “My Servers”.\n\nIf the message is still there, write to us from your account's email address. More about entering the panel: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n\n## “Failed to load servers.”\n\n1. Reload the page (the F5 key or your browser's reload button).\n2. If the panel's sign-in page appears, your session has expired (a panel session lasts 8 hours). Enter again from blackbox.md with “Deschide panoul” (Open the panel).\n3. If the error persists, write to us. Include your account's email address, the exact text of the message and the time it appeared.\n\n## Company servers managed by BLACKBOX\n\nIf BLACKBOX manages servers for your company, they appear in the panel only after BLACKBOX grants access to your blackbox.md account.\n\n1. Write to us from the email address of your blackbox.md account, and name the company and the servers you need. The contact channels are in [How to contact BLACKBOX support](#suport.contact).\n2. Once access is granted, enter the panel with “Deschide panoul” (Open the panel) from your blackbox.md account.\n3. The company's servers appear in “My Servers”, with the “Managed” badge and the note “This server is looked after by our team. To request a change, please contact support.”, and their audit reports appear on “Overview”.\n\nCards with the “Managed” badge have no management buttons: you can only view the server and give it a private name. If BLACKBOX has also given you management rights, the card does not have this badge and shows some of the buttons, but never “Upgrade” or “Terminate”. Details: [The “Overview” page](#servere.prezentare-generala).\n\n## Frequently asked questions\n\n**Do I need to ask an administrator for access, as “Overview” says?**\nNo, not for servers ordered on blackbox.md: they appear in “My Servers” on their own. You ask for access only for the servers of a company managed by BLACKBOX.\n\n**The order has the “Server: …” line, but the card is missing from “My Servers”. What do I do?**\nThe list does not refresh by itself, so reload the page. Then check that you entered the panel from the account that placed the order. If the server still does not appear, write to us and include the order number `BBX-…`.\n\n**Can I open the panel directly on “My Servers”?**\nYes: in “Contul meu” (My account) → “Comenzi” (Orders), click “Gestionează în app.blackbox.md” (Manage in app.blackbox.md) on the order's row. “Deschide panoul” (Open the panel) and “Panou de administrare” (Admin panel) always take you to “Overview”.\n\n**How do I give a colleague access to my servers?**\nThe panel has no feature for inviting colleagues or adding extra users. For shared access, write to us.\n"
   }
  },
  {
   "id": "faq.disc-plin",
   "section": "faq",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/disc-plin/",
    "ru": "https://docs.blackbox.md/ru/faq/disc-plin/",
    "en": "https://docs.blackbox.md/en/faq/disc-plin/"
   },
   "title": {
    "ro": "Discul serverului este plin",
    "ru": "Диск сервера заполнен",
    "en": "The server's disk is full"
   },
   "summary": {
    "ro": "Semnele unui disc plin, pașii rapizi pentru a elibera spațiu și cum preveniți problema.",
    "ru": "Признаки заполненного диска, быстрые шаги для освобождения места и как предотвратить проблему.",
    "en": "The signs of a full disk, quick steps to free up space, and how to prevent the problem."
   },
   "markdown": {
    "ro": "Când discul serverului se umple, bazele de date se opresc, site-urile dau erori și nu se mai pot salva fișiere. Comenzile se rulează pe server, prin SSH, ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Dacă serverul are serviciul „Monitoring 24/7”, evoluția ocupării discului o vedeți și în panoul app.blackbox.md, pe pagina „Monitorizare” (`app.blackbox.md/monitoring`, meniul lateral → „Infrastructură” → „Monitorizare”).\n\n**Disponibil pentru:** oricine are acces `root` prin SSH la un server BLACKBOX. Graficele din „Monitorizare”: serverele cu serviciul „Monitoring 24/7” activ. Upgrade-ul din panou: titularul serverului.\n\n## Semnele unui disc plin\n\n| Semn | Unde îl vedeți |\n|---|---|\n| Eroarea `No space left on device` | în terminal, la salvarea unui fișier, la `apt` sau `dnf`, `scp` sau `rsync`, în jurnalele aplicațiilor |\n| `cannot create temp file for here-document` când apăsați Tab | în terminalul SSH |\n| Baza de date se oprește, nu mai răspunde sau nu mai pornește | `systemctl --failed` arată serviciul bazei de date (de exemplu `mariadb`, `mysql` sau `postgresql`); în jurnalul ei apare `No space left on device` sau `Disk full` |\n| Site-ul răspunde cu eroarea 500 sau 502, autentificarea pe site nu se mai păstrează | în browser și în jurnalele serverului web și ale PHP |\n| Coloana „Disc” din tabelul „Serverele dvs.” are bara roșie (de la 90%), iar graficul „Utilizare disc (%)” urcă spre 100% | pagina „Monitorizare”, doar pentru serverele cu serviciul „Monitoring 24/7” ([Pagina „Monitorizare”](#servicii.monitorizare)). Se măsoară doar partiția `/` |\n| O alertă despre disc în cardul „Alerte” sau pe email | doar dacă serverul are reguli de monitorizare configurate ([Alerte și notificări pe email](#servicii.alerte)) |\n\n## Pasul 1. Verificați spațiul și inode-urile\n\n```bash\ndf -h\ndf -i\n```\n\n- `df -h`: coloana `Use%` la 100% (sau aproape) pentru `/` ori pentru altă partiție înseamnă că discul este plin. Continuați cu pașii 2–5.\n- `df -i`: coloana `IUse%` la 100% înseamnă că nu se mai pot crea fișiere, chiar dacă mai este spațiu. Treceți la secțiunea „Inode-urile sunt epuizate” de mai jos.\n\n## Pasul 2. Eliberați rapid spațiu fără risc\n\nJurnalul de sistem: prima comandă arată cât ocupă, a doua șterge arhivele lui până rămân cel mult 200 MB.\n\n```bash\njournalctl --disk-usage\njournalctl --vacuum-size=200M\n```\n\nCache-ul pachetelor descărcate:\n\n### Ubuntu și Debian\n\n```bash\napt clean\napt autoremove --purge\n```\n\nA doua comandă șterge kernelurile vechi și pachetele de care nu mai depinde nimic. Citiți lista înainte să confirmați.\n\n### AlmaLinux și CentOS Stream\n\n```bash\ndnf clean all\n```\n\n## Pasul 3. Găsiți ce ocupă spațiul\n\nListați folderele de pe partiția `/` în ordinea mărimii (cele mai mari sunt la sfârșit; ultimul rând este totalul partiției), apoi repetați comanda pentru cel mai mare folder, de exemplu `/var`:\n\n```bash\ndu -xh --max-depth=1 / 2>/dev/null | sort -h\ndu -xh --max-depth=1 /var 2>/dev/null | sort -h\n```\n\nFișierele de peste 500 MB:\n\n```bash\nfind / -xdev -type f -size +500M -exec ls -lh {} + 2>/dev/null\n```\n\nMai comod este programul `ncdu` (navigați cu săgețile, ieșiți cu `q`). Instalați-l după pasul 2, când discul are din nou puțin spațiu liber. Pe Ubuntu și Debian:\n\n```bash\napt update\napt install -y ncdu\n```\n\nPe AlmaLinux și CentOS Stream, pachetul vine din depozitul EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y ncdu\n```\n\nApoi porniți-l:\n\n```bash\nncdu -x /\n```\n\n| Folder | Ce conține de obicei | Ce faceți |\n|---|---|---|\n| `/var/log` | jurnalele sistemului și ale aplicațiilor | „Jurnale mari” de mai jos |\n| `/var/lib/docker` | imagini, containere, jurnalele containerelor, volume | „Docker” de mai jos |\n| `/root`, `/home`, `/var/www`, `/var/backups`, `/tmp` | exporturi de baze de date (`.sql`, `.sql.gz`), arhive (`.zip`, `.tar.gz`), copii uitate | „Copii și arhive uitate” de mai jos |\n| `/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql` | fișierele bazelor de date | nimic de mână; vedeți întrebările frecvente |\n| `/swapfile` | memoria swap | [Adăugarea memoriei swap](#ghiduri.swap) |\n\n> **Atenție**\n> Nu ștergeți de mână fișierele bazelor de date (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`) și nici folderele sistemului (`/boot`, `/etc`, `/usr`, `/var/lib/dpkg`, `/var/lib/rpm`). Datele din `/var/lib/docker` le curățați doar cu comenzile `docker`; singura excepție este golirea jurnalelor containerelor, descrisă mai jos. Ce ștergeți fără copie de rezervă nu se mai poate recupera.\n\n## Pasul 4. Eliberați spațiul\n\n### Jurnale mari\n\nNu ștergeți cu `rm` un jurnal în care un program încă scrie: spațiul nu revine până nu reporniți programul. Goliți-l (înlocuiți `CALE_FISIER` cu calea găsită la pasul 3):\n\n```bash\ntruncate -s 0 CALE_FISIER\n```\n\nArhivele comprimate ale jurnalelor rotite, mai vechi de 7 zile:\n\n```bash\nfind /var/log -type f -name \"*.gz\" -mtime +7 -delete\n```\n\n### Docker\n\nVedeți cât ocupă imaginile, containerele și volumele, apoi ștergeți imaginile pe care nu le folosește niciun container și cache-ul de build. Ultimele două comenzi cer confirmare înainte să șteargă.\n\n```bash\ndocker system df\ndocker image prune -a\ndocker builder prune\n```\n\nJurnalele containerelor nu au limită de mărime dacă nu ați setat-o. Afișați cele mai mari 5 jurnale, apoi goliți-l pe cel ales (înlocuiți `CALE_FISIER` cu calea lui din listă):\n\n```bash\ndu -h /var/lib/docker/containers/*/*-json.log | sort -h | tail -n 5\ntruncate -s 0 CALE_FISIER\n```\n\nApoi limitați-le: [Instalarea Docker și Docker Compose](#ghiduri.docker), secțiunea „Limitați jurnalele containerelor”.\n\n> **Risc**\n> Nu rulați `docker volume prune` și nu adăugați `--volumes` la `docker system prune`. Volumele unui proiect oprit cu `docker compose down` sunt considerate nefolosite, iar datele lor (de exemplu baza de date) se pierd definitiv.\n\n### Copii și arhive uitate\n\nExporturile de baze de date, arhivele site-urilor și copiile făcute „pentru orice eventualitate” rămân des pe server. Copiați-le pe calculatorul dvs. sau pe alt server ([Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)), verificați copia, apoi ștergeți-le de pe server:\n\n```bash\nrm CALE_FISIER\n```\n\n### Fișiere șterse, dar încă deschise\n\nDacă după ștergere `df -h` arată aceeași ocupare, un program ține fișierele încă deschise. Le listează `lsof +L1`: coloana `COMMAND` arată programul, iar `SIZE/OFF` mărimea. Reporniți serviciul din care face parte programul (înlocuiți `NUME_SERVICIU`, de exemplu cu `nginx`):\n\n```bash\nlsof +L1\nsystemctl restart NUME_SERVICIU\n```\n\nDacă `lsof` lipsește, instalați-l. Pe Ubuntu și Debian:\n\n```bash\napt install -y lsof\n```\n\nPe AlmaLinux și CentOS Stream:\n\n```bash\ndnf install -y lsof\n```\n\n## Pasul 5. Reporniți serviciile și verificați\n\n```bash\ndf -h /\nsystemctl --failed\n```\n\n`df -h /` trebuie să arate spațiu liber. `systemctl --failed` arată serviciile căzute, de exemplu `mariadb`, `mysql`, `postgresql`, `nginx` sau `php8.3-fpm`. Reporniți fiecare serviciu din listă (înlocuiți `NUME_SERVICIU` cu numele lui), apoi deschideți site-ul:\n\n```bash\nsystemctl restart NUME_SERVICIU\n```\n\nLăsați o rezervă de spațiu: pe pagina „Monitorizare”, bara din coloana „Disc” devine galbenă de la 80%.\n\n## Inode-urile sunt epuizate\n\n`df -i` arată `IUse%` 100%, deși `df -h` mai are spațiu: pe disc sunt prea multe fișiere mici. Cauzele obișnuite sunt sesiunile PHP, cache-ul aplicației, coada de email și fișierele temporare. Găsiți folderele cu cele mai multe fișiere (numărul din stânga):\n\n```bash\ndu --inodes -x --max-depth=3 / 2>/dev/null | sort -n | tail -n 20\n```\n\nDacă folderul găsit conține sesiuni sau fișiere temporare, ștergeți-le pe cele vechi, de exemplu pe cele mai vechi de 7 zile (înlocuiți `CALE_FOLDER` cu calea folderului). Nu folosiți comanda în folderele cu datele site-ului (de exemplu fișierele încărcate de utilizatori) sau ale bazei de date.\n\n```bash\nfind CALE_FOLDER -type f -mtime +7 -delete\n```\n\n- Sesiunile PHP sunt în `/var/lib/php/sessions` (Ubuntu, Debian) sau `/var/lib/php/session` (AlmaLinux, CentOS Stream).\n- Cache-ul aplicației: folosiți comanda ei de golire a cache-ului, dacă are una.\n- Coada de email: dacă folosiți Postfix, comanda de mai jos arată pe ultimul rând câte mesaje așteaptă. Mii de mesaje pe care nu le-ați trimis indică un site compromis: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n  ```bash\n  postqueue -p | tail -n 1\n  ```\n\n## Cum preveniți problema\n\n- **Rotirea jurnalelor.** `logrotate` rotește deja jurnalele din `/var/log` ale sistemului și ale pachetelor instalate din depozit. Pentru jurnalele aplicației dvs. din alt folder, creați fișierul `/etc/logrotate.d/APLICATIE` cu conținutul de mai jos:\n\n  ```text\n  /var/www/APLICATIE/logs/*.log {\n      weekly\n      rotate 4\n      compress\n      missingok\n      notifempty\n      copytruncate\n  }\n  ```\n\n  Apoi verificați-l (comanda doar simulează rotirea, fără să schimbe ceva):\n\n  ```bash\n  logrotate -d /etc/logrotate.d/APLICATIE\n  ```\n\n- **Limita jurnalului de sistem.** Păstrați jurnalul la cel mult 200 MB:\n\n  ```bash\n  mkdir -p /etc/systemd/journald.conf.d\n  printf '[Journal]\\nSystemMaxUse=200M\\n' > /etc/systemd/journald.conf.d/size.conf\n  systemctl restart systemd-journald\n  ```\n\n- **Docker.** Setați limita jurnalelor containerelor în `/etc/docker/daemon.json` și verificați periodic `docker system df`: [Instalarea Docker și Docker Compose](#ghiduri.docker).\n- **Copiile de rezervă în afara serverului.** BLACKBOX nu face copii automate ale serverului, iar butonul „Backup” de pe cardul serverului nu este activ. Trimiteți copiile pe alt server și nu păstrați exporturi vechi pe același disc: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n- **Urmărirea discului.** Cu serviciul „Monitoring 24/7” vedeți coloana „Disc” și graficul „Utilizare disc (%)” ([Servicii suplimentare pentru server](#servicii.servicii-suplimentare)). Fără el, verificați periodic `df -h`.\n\n### Un disc mai mare\n\nButonul „Upgrade” de pe cardul serverului trece serverul pe un plan mai mare din aceeași familie. Plata se ia din sold, iar serverul repornește o dată: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n| Familie | Discul la upgrade |\n|---|---|\n| Basic | crește: 20 → 50 → 100 → 200 → 400 GB |\n| Standard | crește: 20 → 40 → 80 → 160 GB |\n| High-Frequency | crește: 100 → 200 → 400 GB |\n| CPU | rămâne 30 GB |\n| High-Frequency Compute | rămâne 50 GB |\n\n- Pe CPU și High-Frequency Compute, upgrade-ul nu adaugă spațiu. Comandați un server nou dintr-o familie cu disc mai mare ([Planurile VPS: cum alegeți](#comenzi.planuri-vps)), mutați datele, apoi ștergeți serverul vechi.\n- Eliberați puțin spațiu înainte de upgrade, ca serviciile să pornească normal după repornire și ca sistemul de fișiere să se poată extinde. La final verificați `df -h /`; dacă arată tot mărimea veche, scrieți-ne.\n- Pentru planurile „VPS hosting” și serverele dedicate, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Întrebări frecvente\n\n**Am șters fișiere mari, dar `df -h` arată la fel. De ce?**\nUn program ține fișierele încă deschise. Găsiți-l cu `lsof +L1` și reporniți serviciul lui (pasul 4).\n\n**`df -h` arată spațiu liber, dar tot apare `No space left on device`. De ce?**\nVerificați `df -i`: inode-urile pot fi epuizate. Uitați-vă și la celelalte rânduri din `df -h`: poate fi plină altă partiție, de exemplu `/boot` sau `/tmp`.\n\n**`/var/lib/mysql` ocupă mult, cu multe fișiere `binlog.000…`. Le pot șterge?**\nNu cu `rm`. Sunt jurnalele binare MySQL, pe care MySQL 8 le activează implicit și le păstrează 30 de zile. Dacă nu folosiți replicare, ștergeți-le pe cele vechi din MySQL:\n\n```bash\nmysql -e \"PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY;\"\n```\n\n**Ajută o repornire a serverului?**\nEliberează doar spațiul ținut de fișierele șterse, încă deschise. Restul rămâne ocupat, iar cu discul plin baza de date poate să nu pornească. Eliberați întâi spațiu, apoi reporniți dacă este nevoie: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n\n**Nu mă pot conecta prin SSH. Ce fac?**\nPanoul nu are consolă web. Urmați [Nu mă pot conecta prin SSH](#faq.nu-ma-pot-conecta-ssh); dacă nu reușiți, scrieți-ne cu adresa IP a serverului.\n\n**Pot cere asistentului AI să găsească ce ocupă discul?**\nDa, dacă token-ul API al asistentului are permisiunea „Rulează orice comandă ca root pe serverele mele”. Citiți fiecare comandă înainte să o aprobați, mai ales pe cele care șterg: [Rularea comenzilor pe server prin AI](#ai.comenzi-pe-server).\n\n**Poate echipa BLACKBOX să curețe discul în locul meu?**\nServerul îl administrați dvs., iar suportul vă ghidează. Dacă vreți ca echipa să facă lucrarea, cereți o ofertă separată pentru administrare: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n",
    "ru": "Когда диск сервера заполняется, базы данных останавливаются, сайты выдают ошибки, а файлы перестают сохраняться. Команды выполняются на сервере по SSH от имени `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). Если у сервера подключена услуга «Мониторинг 24/7», динамику заполнения диска можно посмотреть и в панели app.blackbox.md на странице «Мониторинг» (`app.blackbox.md/monitoring`, боковое меню → «Инфраструктура» → «Мониторинг»).\n\n**Доступно:** всем, у кого есть root-доступ по SSH к серверу BLACKBOX. Графики на странице «Мониторинг» — для серверов с активной услугой «Мониторинг 24/7». Апгрейд из панели — владельцу сервера.\n\n## Признаки заполненного диска\n\n| Признак | Где его видно |\n|---|---|\n| Ошибка `No space left on device` | в терминале, при сохранении файла, в `apt` или `dnf`, `scp` или `rsync`, в логах приложений |\n| `cannot create temp file for here-document` при нажатии Tab | в терминале SSH |\n| База данных останавливается, не отвечает или не запускается | `systemctl --failed` показывает службу базы данных (например, `mariadb`, `mysql` или `postgresql`); в её логе — `No space left on device` или `Disk full` |\n| Сайт отвечает ошибкой 500 или 502, вход на сайте не сохраняется | в браузере, в логах веб-сервера и PHP |\n| В таблице «Ваши серверы» полоса в столбце «Диск» красная (от 90%), а график «Использование диска (%)» приближается к 100% | страница «Мониторинг», только для серверов с услугой «Мониторинг 24/7» ([Страница «Мониторинг»](#servicii.monitorizare)). Учитывается только раздел `/` |\n| Оповещение о диске в карточке «Оповещения» или по email | только если для сервера настроены правила мониторинга ([Оповещения и уведомления по email](#servicii.alerte)) |\n\n## Шаг 1. Проверьте место и иноды\n\n```bash\ndf -h\ndf -i\n```\n\n- `df -h`: если в столбце `Use%` для `/` или другого раздела 100% (или почти), диск заполнен. Переходите к шагам 2–5.\n- `df -i`: если в столбце `IUse%` 100%, новые файлы создать нельзя, даже когда место ещё есть. Перейдите к разделу «Закончились иноды» ниже.\n\n## Шаг 2. Быстро освободите место без риска\n\nСистемный журнал: первая команда показывает, сколько он занимает, вторая удаляет его архивы, пока не останется не больше 200 МБ.\n\n```bash\njournalctl --disk-usage\njournalctl --vacuum-size=200M\n```\n\nКеш скачанных пакетов:\n\n### Ubuntu и Debian\n\n```bash\napt clean\napt autoremove --purge\n```\n\nВторая команда удаляет старые ядра и пакеты, которые больше ничему не нужны. Прочитайте список, прежде чем подтверждать.\n\n### AlmaLinux и CentOS Stream\n\n```bash\ndnf clean all\n```\n\n## Шаг 3. Найдите, что занимает место\n\nВыведите папки раздела `/` по размеру (самые большие — в конце, последняя строка — итог по разделу), затем повторите команду для самой большой папки, например `/var`:\n\n```bash\ndu -xh --max-depth=1 / 2>/dev/null | sort -h\ndu -xh --max-depth=1 /var 2>/dev/null | sort -h\n```\n\nФайлы больше 500 МБ:\n\n```bash\nfind / -xdev -type f -size +500M -exec ls -lh {} + 2>/dev/null\n```\n\nУдобнее программа `ncdu` (перемещение стрелками, выход — `q`). Установите её после шага 2, когда на диске снова появится немного места. В Ubuntu и Debian:\n\n```bash\napt update\napt install -y ncdu\n```\n\nВ AlmaLinux и CentOS Stream пакет берётся из репозитория EPEL:\n\n```bash\ndnf install -y epel-release\ndnf install -y ncdu\n```\n\nЗатем запустите её:\n\n```bash\nncdu -x /\n```\n\n| Папка | Что там обычно | Что делать |\n|---|---|---|\n| `/var/log` | логи системы и приложений | «Большие логи» ниже |\n| `/var/lib/docker` | образы, контейнеры, логи контейнеров, тома | «Docker» ниже |\n| `/root`, `/home`, `/var/www`, `/var/backups`, `/tmp` | выгрузки баз данных (`.sql`, `.sql.gz`), архивы (`.zip`, `.tar.gz`), забытые копии | «Забытые копии и архивы» ниже |\n| `/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql` | файлы баз данных | ничего не удаляйте вручную; см. частые вопросы |\n| `/swapfile` | файл подкачки | [Добавление файла подкачки (swap)](#ghiduri.swap) |\n\n> **Внимание**\n> Не удаляйте вручную файлы баз данных (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`) и системные папки (`/boot`, `/etc`, `/usr`, `/var/lib/dpkg`, `/var/lib/rpm`). Данные в `/var/lib/docker` чистите только командами `docker`; единственное исключение — очистка логов контейнеров, описанная ниже. Удалённое без резервной копии восстановить нельзя.\n\n## Шаг 4. Освободите место\n\n### Большие логи\n\nНе удаляйте через `rm` лог, в который программа ещё пишет: место не освободится, пока программа не перезапустится. Очистите его (вместо `ПУТЬ_К_ФАЙЛУ` укажите путь, найденный на шаге 3):\n\n```bash\ntruncate -s 0 ПУТЬ_К_ФАЙЛУ\n```\n\nСжатые архивы ротированных логов старше 7 дней:\n\n```bash\nfind /var/log -type f -name \"*.gz\" -mtime +7 -delete\n```\n\n### Docker\n\nПосмотрите, сколько занимают образы, контейнеры и тома, затем удалите образы, которые не использует ни один контейнер, и кеш сборки. Последние две команды перед удалением просят подтверждения.\n\n```bash\ndocker system df\ndocker image prune -a\ndocker builder prune\n```\n\nЛоги контейнеров не ограничены по размеру, если вы не задали лимит. Выведите 5 самых больших логов и очистите нужный (вместо `ПУТЬ_К_ФАЙЛУ` укажите его путь из списка):\n\n```bash\ndu -h /var/lib/docker/containers/*/*-json.log | sort -h | tail -n 5\ntruncate -s 0 ПУТЬ_К_ФАЙЛУ\n```\n\nЗатем ограничьте их: [Установка Docker и Docker Compose](#ghiduri.docker), раздел «Ограничьте логи контейнеров».\n\n> **Опасно**\n> Не запускайте `docker volume prune` и не добавляйте `--volumes` к `docker system prune`. Тома проекта, остановленного командой `docker compose down`, считаются неиспользуемыми, и их данные (например, база данных) будут потеряны безвозвратно.\n\n### Забытые копии и архивы\n\nВыгрузки баз данных, архивы сайтов и копии, сделанные «на всякий случай», часто так и остаются на сервере. Скопируйте их на свой компьютер или на другой сервер ([Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)), проверьте копию и удалите файлы с сервера:\n\n```bash\nrm ПУТЬ_К_ФАЙЛУ\n```\n\n### Удалённые, но ещё открытые файлы\n\nЕсли после удаления `df -h` показывает ту же заполненность, какая-то программа всё ещё держит файлы открытыми. Их покажет `lsof +L1`: в столбце `COMMAND` — программа, в `SIZE/OFF` — размер. Перезапустите службу, к которой относится программа (вместо `ИМЯ_СЛУЖБЫ` укажите её имя, например `nginx`):\n\n```bash\nlsof +L1\nsystemctl restart ИМЯ_СЛУЖБЫ\n```\n\nЕсли `lsof` не установлен, установите его. В Ubuntu и Debian:\n\n```bash\napt install -y lsof\n```\n\nВ AlmaLinux и CentOS Stream:\n\n```bash\ndnf install -y lsof\n```\n\n## Шаг 5. Перезапустите службы и проверьте результат\n\n```bash\ndf -h /\nsystemctl --failed\n```\n\nКоманда `df -h /` должна показать свободное место. `systemctl --failed` покажет упавшие службы, например `mariadb`, `mysql`, `postgresql`, `nginx` или `php8.3-fpm`. Перезапустите каждую службу из списка (вместо `ИМЯ_СЛУЖБЫ` укажите её имя) и откройте сайт:\n\n```bash\nsystemctl restart ИМЯ_СЛУЖБЫ\n```\n\nОставляйте запас места: на странице «Мониторинг» полоса в столбце «Диск» становится жёлтой с 80%.\n\n## Закончились иноды\n\n`df -i` показывает `IUse%` 100%, хотя по `df -h` место есть: на диске слишком много мелких файлов. Обычные причины — сессии PHP, кеш приложения, почтовая очередь и временные файлы. Найдите папки, где больше всего файлов (число слева):\n\n```bash\ndu --inodes -x --max-depth=3 / 2>/dev/null | sort -n | tail -n 20\n```\n\nЕсли в найденной папке лежат сессии или временные файлы, удалите старые, например старше 7 дней (вместо `ПУТЬ_К_ПАПКЕ` укажите путь к папке). Не применяйте эту команду к папкам с данными сайта (например, с файлами, загруженными пользователями) или базы данных.\n\n```bash\nfind ПУТЬ_К_ПАПКЕ -type f -mtime +7 -delete\n```\n\n- Сессии PHP хранятся в `/var/lib/php/sessions` (Ubuntu, Debian) или `/var/lib/php/session` (AlmaLinux, CentOS Stream).\n- Кеш приложения очищайте его собственной командой, если она есть.\n- Почтовая очередь: если вы используете Postfix, команда ниже покажет в последней строке, сколько писем ждёт отправки. Тысячи писем, которые вы не отправляли, — признак взломанного сайта: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n  ```bash\n  postqueue -p | tail -n 1\n  ```\n\n## Как предотвратить проблему\n\n- **Ротация логов.** `logrotate` уже ротирует логи системы и пакетов из репозитория в `/var/log`. Для логов вашего приложения в другой папке создайте файл `/etc/logrotate.d/ПРИЛОЖЕНИЕ` с таким содержимым:\n\n  ```text\n  /var/www/ПРИЛОЖЕНИЕ/logs/*.log {\n      weekly\n      rotate 4\n      compress\n      missingok\n      notifempty\n      copytruncate\n  }\n  ```\n\n  Затем проверьте его (команда только имитирует ротацию и ничего не меняет):\n\n  ```bash\n  logrotate -d /etc/logrotate.d/ПРИЛОЖЕНИЕ\n  ```\n\n- **Лимит системного журнала.** Ограничьте размер журнала 200 МБ:\n\n  ```bash\n  mkdir -p /etc/systemd/journald.conf.d\n  printf '[Journal]\\nSystemMaxUse=200M\\n' > /etc/systemd/journald.conf.d/size.conf\n  systemctl restart systemd-journald\n  ```\n\n- **Docker.** Задайте лимит логов контейнеров в `/etc/docker/daemon.json` и время от времени проверяйте `docker system df`: [Установка Docker и Docker Compose](#ghiduri.docker).\n- **Резервные копии — вне сервера.** BLACKBOX не делает автоматических резервных копий сервера, а кнопка «Резервные копии» на карточке сервера не работает. Отправляйте копии на другой сервер и не храните старые выгрузки на том же диске: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n- **Контроль диска.** С услугой «Мониторинг 24/7» вы видите столбец «Диск» и график «Использование диска (%)» ([Дополнительные услуги для сервера](#servicii.servicii-suplimentare)). Без неё регулярно проверяйте `df -h`.\n\n### Диск побольше\n\nКнопка «Апгрейд» на карточке сервера переводит сервер на больший тариф того же семейства. Оплата списывается с баланса, сервер один раз перезагружается: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n| Семейство | Диск при апгрейде |\n|---|---|\n| Basic | растёт: 20 → 50 → 100 → 200 → 400 GB |\n| Стандарт | растёт: 20 → 40 → 80 → 160 GB |\n| High-Frequency | растёт: 100 → 200 → 400 GB |\n| CPU | остаётся 30 GB |\n| High-Frequency Compute | остаётся 50 GB |\n\n- На CPU и High-Frequency Compute апгрейд места не добавляет. Закажите новый сервер из семейства с бо́льшим диском ([Тарифы VPS: как выбрать](#comenzi.planuri-vps)), перенесите данные и удалите старый сервер.\n- Перед апгрейдом освободите хотя бы немного места, чтобы службы нормально запустились после перезагрузки, а файловая система смогла расшириться. После апгрейда проверьте `df -h /`; если размер прежний, напишите нам.\n- По тарифам «VPS hosting» и выделенным серверам напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Частые вопросы\n\n**Я удалил большие файлы, но `df -h` показывает то же самое. Почему?**\nКакая-то программа всё ещё держит эти файлы открытыми. Найдите её командой `lsof +L1` и перезапустите соответствующую службу (шаг 4).\n\n**`df -h` показывает свободное место, но ошибка `No space left on device` не уходит. Почему?**\nПроверьте `df -i`: могли закончиться иноды. Посмотрите и на остальные строки `df -h`: может быть заполнен другой раздел, например `/boot` или `/tmp`.\n\n**`/var/lib/mysql` занимает много места, там много файлов `binlog.000…`. Их можно удалить?**\nНе через `rm`. Это бинарные логи MySQL: MySQL 8 включает их по умолчанию и хранит 30 дней. Если вы не используете репликацию, удалите старые средствами самого MySQL:\n\n```bash\nmysql -e \"PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY;\"\n```\n\n**Поможет ли перезагрузка сервера?**\nОна освободит только место, занятое удалёнными, но ещё открытыми файлами. Остальное останется занятым, а при заполненном диске база данных может не запуститься. Сначала освободите место, затем при необходимости перезагрузите сервер: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n\n**Не удаётся подключиться по SSH. Что делать?**\nВеб-консоли в панели нет. Следуйте статье [Не удаётся подключиться по SSH](#faq.nu-ma-pot-conecta-ssh); если не получится, напишите нам и укажите IP-адрес сервера.\n\n**Можно попросить AI-ассистента найти, что занимает диск?**\nДа, если у API-токена ассистента есть разрешение «Выполнять любые команды от root на моих серверах». Читайте каждую команду, прежде чем одобрить её, особенно команды удаления: [Выполнение команд на сервере через AI](#ai.comenzi-pe-server).\n\n**Может ли команда BLACKBOX почистить диск за меня?**\nСервер администрируете вы, а поддержка подскажет, что делать. Если хотите, чтобы работу выполнила сама команда, запросите отдельное предложение на администрирование сервера: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n",
    "en": "When the server's disk fills up, databases stop, websites return errors and files can no longer be saved. You run the commands on the server, over SSH, as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)). If the server has the “Monitoring 24/7” service, you can also see how disk usage changes over time in the app.blackbox.md panel, on the “Monitoring” page (`app.blackbox.md/monitoring`, sidebar → “Infrastructure” → “Monitoring”).\n\n**Available to:** anyone with `root` access over SSH to a BLACKBOX server. The charts on the “Monitoring” page: servers with the “Monitoring 24/7” service active. Upgrades from the panel: the server's owner.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Signs of a full disk\n\n| Sign | Where you see it |\n|---|---|\n| The error `No space left on device` | in the terminal, when you save a file, during `apt` or `dnf`, `scp` or `rsync`, in application logs |\n| `cannot create temp file for here-document` when you press Tab | in the SSH terminal |\n| The database stops, stops responding or won't start | `systemctl --failed` shows the database service (for example `mariadb`, `mysql` or `postgresql`); its log shows `No space left on device` or `Disk full` |\n| The website returns a 500 or 502 error, and signing in to the site no longer sticks | in the browser and in the web server and PHP logs |\n| In the “Your servers” table, the bar in the “Disk” column is red (from 90%), and the “Disk usage (%)” chart climbs toward 100% | the “Monitoring” page, only for servers with the “Monitoring 24/7” service ([The “Monitoring” page](#servicii.monitorizare)). Only the `/` partition is measured |\n| A disk alert in the “Alerts” card or by email | only if the server has monitoring rules set up ([Alerts and email notifications](#servicii.alerte)) |\n\n## Step 1. Check space and inodes\n\n```bash\ndf -h\ndf -i\n```\n\n- `df -h`: if the `Use%` column shows 100% (or close to it) for `/` or for another partition, the disk is full. Continue with steps 2–5.\n- `df -i`: if the `IUse%` column shows 100%, no new files can be created, even if there is still free space. Go to the “Out of inodes” section below.\n\n## Step 2. Free up space quickly, with no risk\n\nThe system journal: the first command shows how much space it takes up, and the second deletes its archived files until no more than 200 MB remain.\n\n```bash\njournalctl --disk-usage\njournalctl --vacuum-size=200M\n```\n\nThe cache of downloaded packages:\n\n### Ubuntu and Debian\n\n```bash\napt clean\napt autoremove --purge\n```\n\nThe second command removes old kernels and packages that nothing depends on anymore. Read the list before you confirm.\n\n### AlmaLinux and CentOS Stream\n\n```bash\ndnf clean all\n```\n\n## Step 3. Find what is taking up space\n\nList the folders on the `/` partition by size (the largest are at the end; the last line is the total for the partition), then repeat the command for the largest folder, for example `/var`:\n\n```bash\ndu -xh --max-depth=1 / 2>/dev/null | sort -h\ndu -xh --max-depth=1 /var 2>/dev/null | sort -h\n```\n\nFiles larger than 500 MB:\n\n```bash\nfind / -xdev -type f -size +500M -exec ls -lh {} + 2>/dev/null\n```\n\nThe `ncdu` program is easier to use (move around with the arrow keys, quit with `q`). Install it after step 2, once the disk has a little free space again. On Ubuntu and Debian:\n\n```bash\napt update\napt install -y ncdu\n```\n\nOn AlmaLinux and CentOS Stream, the package comes from the EPEL repository:\n\n```bash\ndnf install -y epel-release\ndnf install -y ncdu\n```\n\nThen start it:\n\n```bash\nncdu -x /\n```\n\n| Folder | What it usually contains | What to do |\n|---|---|---|\n| `/var/log` | system and application logs | “Large logs” below |\n| `/var/lib/docker` | images, containers, container logs, volumes | “Docker” below |\n| `/root`, `/home`, `/var/www`, `/var/backups`, `/tmp` | database exports (`.sql`, `.sql.gz`), archives (`.zip`, `.tar.gz`), forgotten copies | “Forgotten copies and archives” below |\n| `/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql` | database files | nothing by hand; see the frequently asked questions |\n| `/swapfile` | swap memory | [Adding swap space](#ghiduri.swap) |\n\n> **Warning**\n> Do not delete database files (`/var/lib/mysql`, `/var/lib/postgresql`, `/var/lib/pgsql`) or system folders (`/boot`, `/etc`, `/usr`, `/var/lib/dpkg`, `/var/lib/rpm`) by hand. Clean up the data in `/var/lib/docker` only with `docker` commands; the only exception is emptying container logs, described below. Anything you delete without a backup cannot be recovered.\n\n## Step 4. Free up space\n\n### Large logs\n\nDo not delete a log with `rm` while a program is still writing to it: the space does not come back until you restart the program. Empty it instead (replace `FILE_PATH` with the path you found in step 3):\n\n```bash\ntruncate -s 0 FILE_PATH\n```\n\nCompressed archives of rotated logs that are older than 7 days:\n\n```bash\nfind /var/log -type f -name \"*.gz\" -mtime +7 -delete\n```\n\n### Docker\n\nSee how much space images, containers and volumes take up, then delete the images that no container uses and the build cache. The last two commands ask for confirmation before they delete anything.\n\n```bash\ndocker system df\ndocker image prune -a\ndocker builder prune\n```\n\nContainer logs have no size limit unless you have set one. Show the 5 largest logs, then empty the one you choose (replace `FILE_PATH` with its path from the list):\n\n```bash\ndu -h /var/lib/docker/containers/*/*-json.log | sort -h | tail -n 5\ntruncate -s 0 FILE_PATH\n```\n\nThen limit them: [Installing Docker and Docker Compose](#ghiduri.docker), section “Limit container logs”.\n\n> **Risk**\n> Do not run `docker volume prune`, and do not add `--volumes` to `docker system prune`. The volumes of a project stopped with `docker compose down` count as unused, and their data (for example, the database) is lost for good.\n\n### Forgotten copies and archives\n\nDatabase exports, website archives and copies made “just in case” often stay on the server. Copy them to your computer or to another server ([Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)), check the copy, then delete them from the server:\n\n```bash\nrm FILE_PATH\n```\n\n### Deleted files that are still open\n\nIf `df -h` shows the same usage after you delete files, a program is still holding them open. `lsof +L1` lists them: the `COMMAND` column shows the program, and `SIZE/OFF` shows the size. Restart the service the program belongs to (replace `SERVICE_NAME`, for example with `nginx`):\n\n```bash\nlsof +L1\nsystemctl restart SERVICE_NAME\n```\n\nIf `lsof` is missing, install it. On Ubuntu and Debian:\n\n```bash\napt install -y lsof\n```\n\nOn AlmaLinux and CentOS Stream:\n\n```bash\ndnf install -y lsof\n```\n\n## Step 5. Restart services and check\n\n```bash\ndf -h /\nsystemctl --failed\n```\n\n`df -h /` must show free space. `systemctl --failed` shows the services that have failed, for example `mariadb`, `mysql`, `postgresql`, `nginx` or `php8.3-fpm`. Restart each service in the list (replace `SERVICE_NAME` with its name), then open the website:\n\n```bash\nsystemctl restart SERVICE_NAME\n```\n\nKeep some space in reserve: on the “Monitoring” page, the bar in the “Disk” column turns yellow from 80%.\n\n## Out of inodes\n\n`df -i` shows `IUse%` at 100%, even though `df -h` still shows free space: there are too many small files on the disk. The usual causes are PHP sessions, application cache, the email queue and temporary files. Find the folders with the most files (the number on the left):\n\n```bash\ndu --inodes -x --max-depth=3 / 2>/dev/null | sort -n | tail -n 20\n```\n\nIf the folder you found contains sessions or temporary files, delete the old ones, for example those older than 7 days (replace `FOLDER_PATH` with the folder's path). Do not use this command in folders that hold website data (for example, files uploaded by users) or database data.\n\n```bash\nfind FOLDER_PATH -type f -mtime +7 -delete\n```\n\n- PHP sessions are in `/var/lib/php/sessions` (Ubuntu, Debian) or `/var/lib/php/session` (AlmaLinux, CentOS Stream).\n- Application cache: use the application's own cache-clearing command, if it has one.\n- Email queue: if you use Postfix, the command below shows on its last line how many messages are waiting. Thousands of messages that you did not send are a sign of a compromised website: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n  ```bash\n  postqueue -p | tail -n 1\n  ```\n\n## How to prevent the problem\n\n- **Log rotation.** `logrotate` already rotates the logs in `/var/log` from the system and from packages installed from the repository. For your application's logs in another folder, create the file `/etc/logrotate.d/APP_NAME` with the content below:\n\n  ```text\n  /var/www/APP_NAME/logs/*.log {\n      weekly\n      rotate 4\n      compress\n      missingok\n      notifempty\n      copytruncate\n  }\n  ```\n\n  Then check it (the command only simulates the rotation, without changing anything):\n\n  ```bash\n  logrotate -d /etc/logrotate.d/APP_NAME\n  ```\n\n- **System journal limit.** Keep the journal to 200 MB at most:\n\n  ```bash\n  mkdir -p /etc/systemd/journald.conf.d\n  printf '[Journal]\\nSystemMaxUse=200M\\n' > /etc/systemd/journald.conf.d/size.conf\n  systemctl restart systemd-journald\n  ```\n\n- **Docker.** Set the container log limit in `/etc/docker/daemon.json` and check `docker system df` from time to time: [Installing Docker and Docker Compose](#ghiduri.docker).\n- **Backups off the server.** BLACKBOX does not make automatic backups of your server, and the “Backups” button on the server card is not active. Send your backups to another server and do not keep old exports on the same disk: [Backup strategy for your server](#ghiduri.strategie-backup).\n- **Keeping an eye on the disk.** With the “Monitoring 24/7” service, you see the “Disk” column and the “Disk usage (%)” chart ([Add-on services for your server](#servicii.servicii-suplimentare)). Without it, check `df -h` regularly.\n\n### A larger disk\n\nThe “Upgrade” button on the server card moves the server to a larger plan in the same family. The amount is taken from your balance, and the server reboots once: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n| Family | Disk when you upgrade |\n|---|---|\n| Basic | grows: 20 → 50 → 100 → 200 → 400 GB |\n| Standard | grows: 20 → 40 → 80 → 160 GB |\n| High-Frequency | grows: 100 → 200 → 400 GB |\n| CPU | stays at 30 GB |\n| High-Frequency Compute | stays at 50 GB |\n\n- On CPU and High-Frequency Compute, an upgrade adds no disk space. Order a new server from a family with a larger disk ([VPS plans: how to choose](#comenzi.planuri-vps)), move your data, then delete the old server.\n- Free up a little space before the upgrade, so that services start normally after the reboot and the file system can be extended. When it's done, check `df -h /`; if it still shows the old size, write to us.\n- For “VPS hosting” plans and dedicated servers, write to us: [How to contact BLACKBOX support](#suport.contact).\n\n## Frequently asked questions\n\n**I deleted large files, but `df -h` shows the same usage. Why?**\nA program is still holding the files open. Find it with `lsof +L1` and restart its service (step 4).\n\n**`df -h` shows free space, but I still get `No space left on device`. Why?**\nCheck `df -i`: the inodes may have run out. Also look at the other lines in `df -h`: another partition may be full, for example `/boot` or `/tmp`.\n\n**`/var/lib/mysql` takes up a lot of space, with many `binlog.000…` files. Can I delete them?**\nNot with `rm`. They are MySQL binary logs, which MySQL 8 turns on by default and keeps for 30 days. If you don't use replication, delete the old ones from within MySQL:\n\n```bash\nmysql -e \"PURGE BINARY LOGS BEFORE NOW() - INTERVAL 3 DAY;\"\n```\n\n**Will rebooting the server help?**\nIt frees only the space held by deleted files that are still open. Everything else stays in use, and with a full disk the database may not start. Free up space first, then reboot if needed: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n\n**I can't connect over SSH. What should I do?**\nThe panel has no web console. Follow [I can't connect over SSH](#faq.nu-ma-pot-conecta-ssh); if that doesn't work, write to us with the server's IP address.\n\n**Can I ask the AI assistant to find what is filling the disk?**\nYes, if the assistant's API token has the “Rulează orice comandă ca root pe serverele mele” (Run any command as root on my servers) permission. Read each command before you approve it, especially the ones that delete files: [Running commands on the server through AI](#ai.comenzi-pe-server).\n\n**Can the BLACKBOX team clean up the disk for me?**\nYou manage the server yourself, and support guides you. If you want the team to do the work, ask for a separate quote for server administration: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n"
   }
  },
  {
   "id": "faq.server-compromis",
   "section": "faq",
   "app": "both",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/server-compromis/",
    "ru": "https://docs.blackbox.md/ru/faq/server-compromis/",
    "en": "https://docs.blackbox.md/en/faq/server-compromis/"
   },
   "title": {
    "ro": "Serverul a fost spart sau este atacat: ce faceți",
    "ru": "Сервер взломан или атакован: что делать",
    "en": "Your server was hacked or is under attack: what to do"
   },
   "summary": {
    "ro": "Semnele unei compromiteri, pașii imediați în cont și în panou, verificările pe server, reconstruirea curată și ce faceți la un atac din exterior.",
    "ru": "Признаки взлома, первые шаги в аккаунте и панели, проверки на сервере, чистое восстановление и действия при внешней атаке.",
    "en": "The signs of a compromise, the first steps in your account and in the panel, checks on the server, a clean rebuild, and what to do about an attack from outside."
   },
   "markdown": {
    "ro": "Dacă bănuiți că cineva a intrat pe serverul dvs. sau că serverul este atacat din exterior, urmați pașii de mai jos în ordine: securizați contul blackbox.md, securizați accesul la server din panoul app.blackbox.md (pagina „Serverele mele”, `app.blackbox.md/my-servers`, meniul „Infrastructură” → „Serverele mele”), verificați serverul și refaceți-l de la zero. Comenzile se rulează pe server prin SSH, ca `root` ([Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh)).\n\n**Disponibil pentru:** titularul contului blackbox.md care a comandat serverul. Comenzile de verificare: oricine are acces `root` prin SSH la server. Pe cardurile marcate „Administrat” butoanele panoului nu apar; pentru aceste servere scrieți-ne direct.\n\n## Semnele unui server spart\n\n| Semn | Cum verificați |\n|---|---|\n| Procese necunoscute țin procesorul ocupat, de exemplu programe de minare de criptomonede | `ps aux` (pasul 3) |\n| Trafic de ieșire inexplicabil, conexiuni spre adrese necunoscute | `ss -tunap` (pasul 3) |\n| Coada de emailuri crește, deși nu trimiteți campanii | `mailq`, dacă rulează un server de email |\n| Utilizatori de sistem sau sarcini cron pe care nu le-ați creat | pasul 3 |\n| În „Chei instalate” apare o cheie pe care nu ați adăugat-o | cardul serverului (pasul 2) |\n| Fișiere ale site-ului modificate, redirecționări străine, fișiere PHP noi | `find` (pasul 3) |\n| Autentificări reușite din adrese IP necunoscute | `last` (pasul 3) |\n| BLACKBOX v-a transmis o sesizare de abuz | emailul de la suport |\n\nÎnainte să căutați chei străine, identificați cele două chei puse de BLACKBOX pe serverele noi: „Cheie de administrare (blackbox.md)” și cheia agentului AI, cu comentariul `blackbox-agent-…`. Ele nu sunt semne de intruziune: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). Atenție: comentariul unei chei îl alege cine o adaugă, deci un atacator își poate numi cheia la fel. Dacă vedeți mai multe rânduri `blackbox-agent-…` sau aveți dubii, ștergeți-le (pasul 2): panoul nu depinde de cheia agentului.\n\n## Ce faceți întâi\n\n**Dacă serverul atacă alte sisteme sau trimite spam chiar acum** (sesizare de la BLACKBOX, coadă de emailuri în creștere, trafic de ieșire mare):\n\n1. În „Serverele mele”, pe cardul serverului, apăsați „Oprește” și confirmați „Opriți NUME_SERVER?”.\n2. Scrieți imediat suportului (secțiunea „Ce trimiteți suportului” de mai jos).\n\nCât timp serverul este oprit, facturarea continuă, iar „Resetează parola”, lista „Chei instalate” și ștergerea cheilor nu funcționează: au nevoie de serverul pornit. Porniți-l din nou cu „Pornește” abia când sunteți gata să faceți pașii de mai jos; la pornire pot reporni și programele atacatorului ([Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire)).\n\n**Altfel**, nu opriți serverul: faceți întâi pașii 1 și 2, cât serverul este pornit și răspunde prin SSH.\n\n## Pasul 1. Securizați contul blackbox.md\n\n1. Schimbați parola contului: „Contul meu” → „Profil” → secțiunea „Securitatea contului” → „Parolă” → „Schimbă parola”. Completați „Parola curentă” și „Parolă nouă”, apoi apăsați „Salvează parola”. Apare „Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” și sunteți deconectat. Se încheie toate sesiunile de pe blackbox.md și se opresc toate token-urile API create înainte de schimbare ([Schimbarea parolei contului](#cont.schimbare-parola)).\n2. Autentificați-vă cu parola nouă și deschideți „Token-uri API”. Dacă în coloana „Ultima utilizare” apare o dată recentă, dar nu ați folosit dvs. token-ul, acesta a ajuns la altcineva. Apăsați „Revocă” la fiecare token vechi (lista nu arată că schimbarea parolei le-a oprit) și confirmați „Revocați acest token? Orice client AI care îl folosește va pierde accesul imediat.” Creați token-uri noi doar pentru clienții AI pe care îi folosiți ([Token-uri API: creare, copiere și revocare](#ai.token-uri-api)).\n3. În „Chei SSH”, ștergeți cu „Șterge” cheile pe care nu le recunoașteți. Ștergerea de aici nu scoate cheia de pe servere (pasul 2).\n4. În „Comenzi” și „Sold”, verificați că nu există comenzi sau plăți pe care nu le-ați făcut.\n5. Deschideți panoul cu „Deschide panoul” (sau „Panou de administrare” din meniul contului). În panou mergeți la „Setări” → „Sesiuni”, apăsați „Deconectare de peste tot” și confirmați „Deconectați toate sesiunile acestui cont, inclusiv aceasta? Va trebui să vă autentificați din nou.” Se încheie toate sesiunile din panou, iar dispozitivele reținute pentru 2FA sunt uitate. Apoi deschideți din nou panoul din cont ([Setările panoului: profil, parolă și sesiuni](#cont.setari-panou)).\n\n### Contul creat cu Google sau GitLab\n\nContul nu are parolă pe blackbox.md, iar secțiunea „Parolă” nu apare. Schimbați parola contului Google sau GitLab, activați acolo autentificarea în doi pași și închideți sesiunile active. Token-urile API nu se opresc automat: revocați-le unul câte unul cu „Revocă”. Ceilalți pași rămân la fel ([Autentificarea cu Google sau GitLab](#cont.google-gitlab)).\n\n## Pasul 2. Securizați accesul la server din panou\n\nLucrați pe cardul serverului din „Serverele mele”. Dacă și contul ar fi putut fi folosit de altcineva, repetați pașii pentru fiecare server.\n\n1. Apăsați „Resetează parola” și confirmați „Resetați parola pentru NUME_SERVER? Parola curentă încetează să funcționeze imediat.” Noua parolă root apare pe card, în rândurile „Utilizator” și „Parolă”; păstrați-o într-un manager de parole. Dacă apare `reset_failed`, parola nu s-a schimbat: de regulă panoul nu s-a putut conecta la server. Vedeți [Resetarea parolei root](#acces.resetare-parola-root) și scrieți-ne.\n2. Apăsați „Adaugă cheie SSH” și verificați fiecare rând din „Chei instalate”. Lăsați „Cheie de administrare (blackbox.md)” (nu are buton „Șterge”) și cheile dvs. Pentru orice altă cheie pe care nu o recunoașteți, notați amprenta și comentariul, apoi apăsați „Șterge” și confirmați „Ștergeți cheia SHA256:… de pe acest server?”. Apare „Cheie ștearsă.”\n3. Ștergeți la fel și cheia agentului AI (`blackbox-agent-…`) dacă nu folosiți acces SSH prin AI sau dacă token-urile API ar fi putut ajunge la altcineva: un asistent AI cu permisiunea „Vizualizează parolele/accesul serverelor” poate primi această cheie. Dacă folosiți în continuare acces SSH prin AI, după ștergere cereți o cheie nouă cu `regenerate=true`; fără acest parametru revine cheia veche ([Acces SSH și chei SSH prin asistentul AI](#ai.acces-ssh-prin-ai)).\n4. Dacă nu aveți încă o cheie a dvs. pe server, adăugați-o din același loc („Folosește o cheie salvată” sau „Lipește o cheie nouă” → „Adaugă cheia”). Conectați-vă cu ea într-o fereastră nouă de terminal și lăsați sesiunea deschisă ([Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server)).\n5. După ce cheia dvs. funcționează, apăsați „Dezactivează login cu parolă” și confirmați. Cardul arată „Doar cheie” ([Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh)).\n\n> **Important**\n> Nu ștergeți din `authorized_keys` cheia de administrare (în panou: „Cheie de administrare (blackbox.md)”) și nu setați `PermitRootLogin no`: oricare dintre ele blochează resetarea parolei și gestionarea cheilor din panou. Clienții nu au consolă web sau VNC. Înainte să schimbați setările SSH sau firewall-ul, păstrați deschisă o a doua sesiune SSH; dacă pierdeți accesul, scrieți suportului.\n\n## Pasul 3. Verificați serverul\n\nComenzile de mai jos doar citesc informații. Copiați rezultatele pe calculatorul dvs. și notați ce găsiți: procese, adrese IP, date, căi de fișiere. Nu ștergeți fișiere și nu opriți procese la întâmplare: atacatorii lasă de regulă mai multe căi de revenire, iar ce ștergeți nu mai poate fi analizat.\n\n### Ubuntu și Debian\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u ssh --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron/crontabs\n```\n\n### AlmaLinux și CentOS Stream\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u sshd --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron\n```\n\n`who` arată cine este conectat acum, `last` autentificările reușite, iar `lastb` încercările eșuate (multe încercări eșuate sunt normale). În jurnal, liniile `Accepted` sunt autentificări reușite, cu metoda (`password` sau `publickey`) și adresa IP; la `publickey`, la sfârșitul liniei apare și amprenta cheii folosite (`SHA256:…`), pe care o puteți compara cu lista „Chei instalate”. Dacă `last` lipsește, folosiți doar `journalctl`. Ultima comandă arată ce utilizatori au sarcini cron: fiecare fișier poartă numele unui utilizator.\n\n### Procese și conexiuni\n\n```bash\nps aux --sort=-%cpu | head -n 15\nls -l /proc/PID/exe\nss -tunap\nls -la /tmp /var/tmp /dev/shm\n```\n\nÎnlocuiți `PID` cu numărul din coloana a doua a unui proces suspect: linkul `exe` arată programul real. O cale în `/tmp` sau `/dev/shm` ori mențiunea `(deleted)` sunt semne rele. În `ss`, căutați conexiunile `ESTAB` spre adrese și porturi necunoscute și numele programului din `users:((…))`.\n\n### Sarcini programate, servicii, utilizatori și chei\n\n```bash\ncrontab -l\ncat /etc/crontab\nls -la /etc/cron.*\nsystemctl list-timers --all\nsystemctl list-units --type=service --state=running\nawk -F: '$3 == 0 || $3 >= 1000 {print $1, $3, $6, $7}' /etc/passwd\ngetent group sudo wheel\ncat /root/.ssh/authorized_keys\nls -la /home/*/.ssh/authorized_keys\n```\n\nDoar `root` trebuie să aibă UID 0. Conturile cu UID de la 1000 în sus sunt conturi obișnuite de utilizator (`nobody`, cu UID 65534, este normal): verificați că le cunoașteți pe toate, la fel ca membrii grupurilor `sudo` și `wheel`. În cron și în servicii, liniile care descarcă și rulează scripturi (`curl`, `wget`) sunt suspecte.\n\n### Fișierele site-ului\n\n```bash\nfind /var/www -type f -mtime -7 -printf '%TY-%Tm-%Td %TH:%TM %p\\n' | sort | tail -n 50\nfind /var/www -path \"*uploads*\" -name \"*.php\"\n```\n\nÎnlocuiți `/var/www` cu directorul site-ului dacă este altul; pentru o perioadă mai lungă, măriți `7` (zile). Fișierele PHP din directoarele de încărcări (de exemplu `wp-content/uploads` la WordPress) sunt foarte suspecte: verificați-le pe fiecare.\n\n## Pasul 4. Refaceți serverul de la zero\n\n> **Risc**\n> Un server compromis nu mai poate fi considerat sigur, chiar dacă ați șters tot ce ați găsit: pot rămâne chei, utilizatori, sarcini programate sau programe modificate pe care nu le-ați observat. Calea sigură este un server instalat de la zero.\n\nPanoul nu are buton de reinstalare a sistemului de operare. Pașii:\n\n1. Comandați un server nou ([Plasarea unei comenzi pas cu pas](#comenzi.plasare-comanda)). La pasul „Cheie SSH pentru server” atașați cheia dvs. și lăsați bifată caseta „Dezactivează autentificarea prin parolă (doar cheie SSH)”: serverul va accepta prin SSH doar autentificarea cu cheie ([Cheia SSH la comandă și serverele „doar cu cheie”](#comenzi.cheie-ssh-la-comanda)).\n2. Securizați-l și instalați pachetele din sursele oficiale ale distribuției ([Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou)).\n3. Instalați aplicația din sursa oficială: CMS-ul, modulele și temele de la producător, codul dvs. din depozitul git. Nu copiați programe, scripturi, sarcini cron sau configurații de pe serverul vechi.\n4. Restaurați doar datele (baze de date, fișiere încărcate, conținut) dintr-un backup făcut înainte de compromitere. BLACKBOX nu face copii automate ale serverului; dacă nu aveți un backup mai vechi, copiați datele de pe serverul vechi și verificați-le înainte ([Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup), [Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site)).\n5. Schimbați toate secretele aplicației: parolele bazelor de date, cheile API, datele SMTP, cheile secrete din configurație, parolele administratorilor site-ului. Înlocuiți și cheile private păstrate pe serverul vechi (de exemplu pentru deploy).\n6. Îndreptați domeniul spre noul server ([Cum îndreptați domeniul către server](#domenii.indreptare-domeniu)). Dacă ați conectat Cloudflare sau GoDaddy, o puteți face din pagina „DNS” a panoului ([Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari)).\n7. Copiați ce mai aveți nevoie de pe serverul vechi, inclusiv jurnalele, apoi ștergeți-l cu „Șterge definitiv”. Ștergerea se execută după o perioadă de grație de 24 de ore și nu returnează bani pentru perioada începută; până atunci serverul se facturează. Comparația cu anularea comenzii: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\nDacă nu vreți un server nou, întrebați suportul dacă sistemul de operare poate fi reinstalat pe același server. La reinstalare se pierd toate datele de pe server, așa că salvați-le înainte; apoi urmați pașii 2–5 din lista de mai sus.\n\n## Pasul 5. Închideți calea de intrare\n\nÎnainte să puneți serverul nou în funcțiune, eliminați cauza, altfel atacul se repetă:\n\n- **CMS, module și teme neactualizate.** Actualizați-le, ștergeți-le pe cele nefolosite și activați actualizările automate de securitate ([Actualizări de sistem și actualizări automate de securitate](#ghiduri.actualizari-automate)).\n- **Parole slabe sau refolosite.** Folosiți parole unice, generate de un manager de parole, pentru root, administrarea site-ului și bazele de date; pentru SSH folosiți chei.\n- **Servicii accesibile din internet.** Legați bazele de date de `127.0.0.1` și restricționați panourile de administrare (de exemplu phpMyAdmin). Filtrul de rețea administrat de BLACKBOX nu înlocuiește aceste măsuri ([Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall)).\n- **Panoul.** Activați autentificarea în doi pași în panou ([Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa)).\n- **Accesul BLACKBOX.** Pentru root folosiți `PermitRootLogin prohibit-password`, nu `PermitRootLogin no`, și nu ștergeți „Cheie de administrare (blackbox.md)”.\n\nApoi parcurgeți toată lista: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n\n## Responsabilitatea dvs.\n\n- Conform [Termenilor și condițiilor](https://blackbox.md/info/terms#raspunderea-clientilor), capitolul 3, răspundeți integral pentru activitatea proprie și a tuturor celor cărora le dați acces la servicii. Tot dvs. răspundeți de protejarea parolelor, a cheilor SSH și a token-urilor API. BLACKBOX nu răspunde pentru folosirea conturilor dvs. de către terți, dacă nu există o breșă demonstrată a sistemelor BLACKBOX.\n- Capitolul 2 al Termenilor interzice, printre altele, spamul și participarea, „voluntar sau prin neglijență gravă”, la atacuri DoS și DDoS ([Politica de utilizare acceptabilă: ce nu este permis](#legal.utilizare-acceptabila)).\n- La o încălcare detectată, de exemplu printr-o sesizare externă, BLACKBOX poate suspenda sau înceta serviciile, integral sau parțial, cu sau fără notificare prealabilă, în funcție de gravitate. Răspundeți repede suportului și spuneți ce ați făcut.\n- Dacă pe server erau date personale ale utilizatorilor dvs. (de exemplu, clienții unui magazin online), dvs. sunteți operatorul acestor date și răspundeți de respectarea legii (Termeni, capitolul 8). Evaluați dacă trebuie să notificați Centrul Național pentru Protecția Datelor cu Caracter Personal și persoanele afectate (art. 33–34 din Legea nr. 195/2024). BLACKBOX, ca persoană împuternicită de operator, vă oferă asistență rezonabilă, în măsura în care este posibil tehnic la nivelul infrastructurii de găzduire: [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n## Atac din exterior: serverul nu este spart\n\nDacă la pasul 3 nu ați găsit autentificări reușite străine, procese sau chei necunoscute, serverul este probabil doar ținta unui atac din exterior.\n\n### Încercări de ghicire a parolei SSH\n\nMii de linii `Failed password` sau `Invalid user` în jurnal și o listă lungă la `lastb` sunt obișnuite pentru orice server cu adresă IP publică: roboți scanează permanent internetul. Protejați-vă cu fail2ban ([Protecție împotriva încercărilor de ghicire a parolei cu fail2ban](#ghiduri.fail2ban)) și cu autentificarea doar cu cheie („Dezactivează login cu parolă”, pasul 2).\n\n### Trafic HTTP excesiv spre site\n\n1. Treceți domeniul prin proxy-ul Cloudflare (norul portocaliu). Dacă ați conectat Cloudflare în panou, bifați „Proxy” la înregistrările A, AAAA și CNAME ale site-ului, în pagina „DNS” ([Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari)); altfel, activați proxy-ul direct în contul Cloudflare. Traficul web trece apoi prin Cloudflare, care poate filtra cererile.\n2. Limitați numărul de cereri pe adresă IP în nginx. Creați fișierul `/etc/nginx/conf.d/ratelimit.conf`:\n\n   ```nginx\n   limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;\n   limit_req_status 429;\n   ```\n\n   Adăugați în blocul `server { }` al site-ului:\n\n   ```nginx\n   limit_req zone=perip burst=20 nodelay;\n   ```\n\n   Verificați configurația și reîncărcați nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   Fiecare adresă IP poate face 10 cereri pe secundă, cu o rezervă de 20; cererile în plus primesc eroarea 429. Ajustați valorile după site. În spatele Cloudflare, nginx vede adresele Cloudflare: configurați întâi adresele reale ale vizitatorilor ([documentația Cloudflare](https://developers.cloudflare.com/support/troubleshooting/restoring-visitor-ips/restoring-original-visitor-ips/)).\n3. Dacă atacul continuă sau vine direct pe adresa IP a serverului, scrieți suportului.\n\n## Ce trimiteți suportului\n\nScrieți la support@blackbox.md, deschideți un tichet din „Contul meu” → „Ajutor și suport” ([Deschiderea unui tichet de suport](#suport.tichet-nou)) sau, pentru urgențe, sunați la +373 78 003948 (luni–vineri, 09:00–18:00, ora Moldovei). Includeți:\n\n- adresa IP a serverului;\n- numărul comenzii (`BBX-…`);\n- când ați observat problema (data, ora și fusul orar);\n- ce ați făcut deja (server oprit, parolă resetată, chei șterse, server nou comandat);\n- ce ați găsit la pasul 3, ca text: procese, adrese IP, rânduri din jurnale, amprentele cheilor șterse.\n\n> **Securitate**\n> Nu trimiteți niciodată parole, chei private sau token-uri API, nici suportului BLACKBOX. Amprenta unei chei și cheia publică se pot trimite fără risc.\n\n## Întrebări frecvente\n\n**Pot curăța serverul fără să-l reinstalez?**\nPuteți încerca, dar nu veți ști sigur că ați găsit tot. Pentru un server cu un site sau cu date importante, recomandăm un server nou (pasul 4).\n\n**Poate BLACKBOX să curețe serverul în locul meu?**\nBLACKBOX nu accesează și nu citește conținutul aplicației dvs., cu excepția suportului tehnic la cererea dvs. explicită sau a cazurilor în care legea ne obligă ([Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa)). Pentru ajutor la curățare sau la mutarea pe un server nou, întrebați suportul: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n\n**Am primit o sesizare de abuz, dar nu găsesc nimic pe server. Ce fac?**\nRăspundeți-ne oricum cât mai repede: spuneți ce ați verificat la pasul 3 și ce ați găsit. Uneori sursa este o aplicație de pe server, de exemplu un formular de contact folosit pentru spam.\n\n**Pot primi altă adresă IP?**\nAdresa IP nu se schimbă din panou. Un server nou comandat primește propria adresă IP; pentru alte variante, scrieți-ne.\n",
    "ru": "Если вы подозреваете, что кто-то проник на ваш сервер или что сервер атакуют извне, выполните шаги ниже по порядку: защитите аккаунт blackbox.md, защитите доступ к серверу в панели app.blackbox.md (страница «Мои серверы», `app.blackbox.md/my-servers`, меню «Инфраструктура» → «Мои серверы»), проверьте сервер и разверните всё заново на чистом сервере. Команды выполняются на сервере по SSH от имени `root` ([Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh)).\n\n**Доступно:** владельцу аккаунта blackbox.md, который заказал сервер. Команды проверки — всем, у кого есть доступ `root` по SSH к серверу. На карточках с пометкой «Обслуживается» кнопок панели нет — по таким серверам пишите нам напрямую.\n\n## Признаки взлома\n\n| Признак | Как проверить |\n|---|---|\n| Неизвестные процессы загружают процессор, например майнеры криптовалют | `ps aux` (шаг 3) |\n| Необъяснимый исходящий трафик, соединения с неизвестными адресами | `ss -tunap` (шаг 3) |\n| Очередь писем растёт, хотя вы не делаете рассылок | `mailq`, если работает почтовый сервер |\n| Системные пользователи или задания cron, которых вы не создавали | шаг 3 |\n| В разделе «Установленные ключи» есть ключ, который вы не добавляли | карточка сервера (шаг 2) |\n| Изменённые файлы сайта, чужие перенаправления, новые PHP-файлы | `find` (шаг 3) |\n| Успешные входы с незнакомых IP-адресов | `last` (шаг 3) |\n| BLACKBOX переслал вам жалобу на злоупотребление | письмо от поддержки |\n\nПрежде чем искать чужие ключи, найдите два ключа, которые BLACKBOX добавляет на новые серверы: «Ключ управления (blackbox.md)» и ключ AI-агента с комментарием `blackbox-agent-…`. Это не признаки взлома: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). Но учтите: комментарий к ключу задаёт тот, кто его добавляет, поэтому злоумышленник может подписать свой ключ так же. Если строк `blackbox-agent-…` несколько или вы сомневаетесь, удалите их (шаг 2): панель от ключа агента не зависит.\n\n## Что сделать в первую очередь\n\n**Если сервер прямо сейчас атакует другие системы или рассылает спам** (жалоба от BLACKBOX, растущая очередь писем, большой исходящий трафик):\n\n1. На странице «Мои серверы» в карточке сервера нажмите «Остановить» и подтвердите «Остановить ИМЯ_СЕРВЕРА?».\n2. Сразу напишите в поддержку (раздел «Что отправить в поддержку» ниже).\n\nОстановленный сервер по-прежнему оплачивается, а «Сбросить пароль», список «Установленные ключи» и удаление ключей не работают: для них сервер должен быть запущен. Запускайте его снова кнопкой «Запустить» только тогда, когда будете готовы выполнить шаги ниже: при запуске могут снова заработать и программы злоумышленника ([Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire)).\n\n**В остальных случаях** сервер не останавливайте: сначала выполните шаги 1 и 2, пока сервер работает и отвечает по SSH.\n\n## Шаг 1. Защитите аккаунт blackbox.md\n\n1. Смените пароль аккаунта: «Личный кабинет» → «Профиль» → раздел «Безопасность аккаунта» → «Пароль» → «Изменить пароль». Заполните «Текущий пароль» и «Новый пароль» и нажмите «Сохранить пароль». Появится «Пароль изменён. Пожалуйста, войдите снова.», и вы автоматически выйдете из аккаунта. Все сессии на blackbox.md завершатся, а все API-токены, созданные до смены пароля, перестанут работать ([Смена пароля аккаунта](#cont.schimbare-parola)).\n2. Войдите с новым паролем и откройте «API-токены». Если в столбце «Последнее использование» стоит недавняя дата, а вы этим токеном не пользовались, он попал в чужие руки. Нажмите «Отозвать» у каждого старого токена (список не показывает, что смена пароля их уже отключила) и подтвердите «Отозвать этот токен? Любой AI-клиент, использующий его, потеряет доступ немедленно.» Новые токены создавайте только для AI-клиентов, которыми пользуетесь ([API-токены: создание, копирование и отзыв](#ai.token-uri-api)).\n3. В разделе «SSH-ключи» удалите кнопкой «Удалить» ключи, которые вы не узнаёте. Удаление здесь не убирает ключ с серверов (шаг 2).\n4. В разделах «Заказы» и «Баланс» убедитесь, что нет заказов или платежей, которых вы не делали.\n5. Откройте панель кнопкой «Открыть панель» (или пунктом «Панель управления» в меню аккаунта). В панели перейдите в «Настройки» → «Сессии», нажмите «Выйти везде» и подтвердите «Завершить все сессии этого аккаунта, включая текущую? Потребуется войти снова.» Все сессии в панели завершатся, а запомненные для 2FA устройства будут забыты. Затем снова откройте панель из аккаунта ([Настройки панели: профиль, пароль и сессии](#cont.setari-panou)).\n\n### Аккаунт создан через Google или GitLab\n\nУ такого аккаунта нет пароля на blackbox.md, поэтому раздела «Пароль» в профиле нет. Смените пароль аккаунта Google или GitLab, включите там двухфакторную аутентификацию и завершите активные сессии. API-токены автоматически не отключаются: отзовите их по одному кнопкой «Отозвать». Остальные шаги те же ([Вход через Google или GitLab](#cont.google-gitlab)).\n\n## Шаг 2. Защитите доступ к серверу в панели\n\nРаботайте в карточке сервера на странице «Мои серверы». Если аккаунтом тоже мог воспользоваться кто-то другой, повторите шаги для каждого сервера.\n\n1. Нажмите «Сбросить пароль» и подтвердите «Сбросить пароль для ИМЯ_СЕРВЕРА? Текущий пароль перестанет работать немедленно.» Новый пароль root появится в карточке, в строках «Пользователь» и «Пароль»; сохраните его в менеджере паролей. Если появилось `reset_failed`, пароль не изменился: обычно это значит, что панель не смогла подключиться к серверу. См. [Сброс пароля root](#acces.resetare-parola-root) и напишите нам.\n2. Нажмите «Добавить SSH-ключ» и проверьте каждую строку в разделе «Установленные ключи». Оставьте «Ключ управления (blackbox.md)» (у него нет кнопки «Удалить») и свои ключи. Для любого другого ключа, который вы не узнаёте, запишите отпечаток и комментарий, затем нажмите «Удалить» и подтвердите «Удалить ключ SHA256:… с этого сервера?». Появится «Ключ удалён.»\n3. Так же удалите ключ AI-агента (`blackbox-agent-…`), если вы не пользуетесь SSH-доступом через AI или если API-токены могли попасть в чужие руки: AI-ассистент с разрешением «Просматривать пароли/доступы к серверам» может получить этот ключ. Если SSH-доступ через AI вам нужен и дальше, после удаления запросите новый ключ с `regenerate=true`; без этого параметра вернётся старый ключ ([SSH-доступ и SSH-ключи через AI-ассистента](#ai.acces-ssh-prin-ai)).\n4. Если вашего ключа на сервере ещё нет, добавьте его там же («Использовать сохранённый ключ» или «Вставить новый ключ» → «Добавить ключ»). Подключитесь с этим ключом в новом окне терминала и не закрывайте эту сессию ([Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server)).\n5. Убедившись, что ваш ключ работает, нажмите «Отключить вход по паролю» и подтвердите. В карточке появится «Только ключ» ([Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh)).\n\n> **Важно**\n> Не удаляйте из `authorized_keys` ключ управления (в панели — «Ключ управления (blackbox.md)») и не ставьте `PermitRootLogin no`: и то и другое блокирует сброс пароля и управление ключами из панели. Веб-консоли и VNC у клиентов нет. Прежде чем менять настройки SSH или файрвола, держите открытой вторую SSH-сессию; если доступ потерян, напишите в поддержку.\n\n## Шаг 3. Проверьте сервер\n\nКоманды ниже только читают информацию. Сохраните их вывод на своём компьютере и запишите, что нашли: процессы, IP-адреса, даты, пути к файлам. Не удаляйте файлы и не завершайте процессы наугад: злоумышленники обычно оставляют несколько путей возврата, а удалённое уже нельзя проанализировать.\n\n### Ubuntu и Debian\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u ssh --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron/crontabs\n```\n\n### AlmaLinux и CentOS Stream\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u sshd --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron\n```\n\n`who` показывает, кто подключён сейчас, `last` — успешные входы, `lastb` — неудачные попытки (много неудачных попыток — это нормально). В журнале строки `Accepted` — успешные входы с указанием способа (`password` или `publickey`) и IP-адреса; для `publickey` в конце строки указан и отпечаток ключа (`SHA256:…`) — сравните его со списком «Установленные ключи». Если команды `last` нет, пользуйтесь только `journalctl`. Последняя команда показывает, у каких пользователей есть задания cron: каждый файл назван по имени пользователя.\n\n### Процессы и соединения\n\n```bash\nps aux --sort=-%cpu | head -n 15\nls -l /proc/PID/exe\nss -tunap\nls -la /tmp /var/tmp /dev/shm\n```\n\nЗамените `PID` числом из второго столбца подозрительного процесса: ссылка `exe` показывает настоящую программу. Путь в `/tmp` или `/dev/shm` либо пометка `(deleted)` — плохие признаки. В выводе `ss` ищите соединения `ESTAB` с незнакомыми адресами и портами и имя программы в `users:((…))`.\n\n### Задания по расписанию, службы, пользователи и ключи\n\n```bash\ncrontab -l\ncat /etc/crontab\nls -la /etc/cron.*\nsystemctl list-timers --all\nsystemctl list-units --type=service --state=running\nawk -F: '$3 == 0 || $3 >= 1000 {print $1, $3, $6, $7}' /etc/passwd\ngetent group sudo wheel\ncat /root/.ssh/authorized_keys\nls -la /home/*/.ssh/authorized_keys\n```\n\nUID 0 должен быть только у `root`. Учётные записи с UID от 1000 и выше — это обычные пользователи (`nobody` с UID 65534 — это нормально): убедитесь, что вы знаете их все, как и участников групп `sudo` и `wheel`. Подозрительны строки в cron и службах, которые скачивают и запускают скрипты (`curl`, `wget`).\n\n### Файлы сайта\n\n```bash\nfind /var/www -type f -mtime -7 -printf '%TY-%Tm-%Td %TH:%TM %p\\n' | sort | tail -n 50\nfind /var/www -path \"*uploads*\" -name \"*.php\"\n```\n\nЕсли сайт лежит в другом каталоге, замените `/var/www`; чтобы охватить больший период, увеличьте `7` (дней). PHP-файлы в каталогах загрузок (например, `wp-content/uploads` в WordPress) очень подозрительны: проверьте каждый.\n\n## Шаг 4. Разверните чистый сервер\n\n> **Опасно**\n> Взломанному серверу больше нельзя доверять, даже если вы удалили всё, что нашли: могли остаться незамеченные ключи, пользователи, задания по расписанию или изменённые программы. Надёжный путь — сервер, установленный с нуля.\n\nКнопки переустановки операционной системы в панели нет. Порядок действий:\n\n1. Закажите новый сервер ([Оформление заказа по шагам](#comenzi.plasare-comanda)). На шаге «SSH-ключ для сервера» прикрепите свой ключ и оставьте отмеченным флажок «Отключить вход по паролю (только SSH-ключ)»: сервер будет принимать вход по SSH только по ключу ([SSH-ключ при заказе и серверы «только по ключу»](#comenzi.cheie-ssh-la-comanda)).\n2. Защитите его и установите пакеты из официальных источников дистрибутива ([Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou)).\n3. Установите приложение из официального источника: CMS, модули и темы — от производителя, свой код — из git-репозитория. Не копируйте со старого сервера программы, скрипты, задания cron и конфигурации.\n4. Восстановите только данные (базы данных, загруженные файлы, контент) из резервной копии, сделанной до взлома. BLACKBOX не делает автоматических копий сервера; если более ранней копии нет, скопируйте данные со старого сервера и предварительно проверьте их ([Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup), [Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site)).\n5. Смените все секреты приложения: пароли баз данных, API-ключи, учётные данные SMTP, секретные ключи в конфигурации, пароли администраторов сайта. Замените и приватные ключи, хранившиеся на старом сервере (например, для деплоя).\n6. Направьте домен на новый сервер ([Как направить домен на сервер](#domenii.indreptare-domeniu)). Если вы подключили Cloudflare или GoDaddy, это можно сделать на странице «DNS» в панели ([Управление DNS-записями из панели](#servicii.dns-inregistrari)).\n7. Скопируйте со старого сервера всё, что ещё нужно, включая журналы, и удалите его красной кнопкой «Удалить» в карточке. Удаление выполняется после 24-часовой отсрочки, деньги за начатый период не возвращаются; до удаления сервер оплачивается. Сравнение с отменой заказа: [Безвозвратное удаление сервера](#servere.stergere-server).\n\nЕсли новый сервер вам не нужен, спросите в поддержке, можно ли переустановить операционную систему на этом же сервере. При переустановке все данные на сервере будут потеряны, поэтому сохраните их заранее; затем выполните шаги 2–5 из списка выше.\n\n## Шаг 5. Закройте путь проникновения\n\nПрежде чем запускать новый сервер в работу, устраните причину, иначе атака повторится:\n\n- **Устаревшие CMS, модули и темы.** Обновите их, удалите неиспользуемые и включите автоматические обновления безопасности ([Обновления системы и автоматические обновления безопасности](#ghiduri.actualizari-automate)).\n- **Слабые или повторно используемые пароли.** Используйте уникальные пароли из менеджера паролей для root, администрирования сайта и баз данных; для SSH используйте ключи.\n- **Службы, доступные из интернета.** Привяжите базы данных к `127.0.0.1` и ограничьте доступ к панелям администрирования (например, phpMyAdmin). Сетевой фильтр, которым управляет BLACKBOX, этих мер не заменяет ([Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall)).\n- **Панель.** Включите двухфакторную аутентификацию в панели ([Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa)).\n- **Доступ BLACKBOX.** Для root используйте `PermitRootLogin prohibit-password`, а не `PermitRootLogin no`, и не удаляйте «Ключ управления (blackbox.md)».\n\nЗатем пройдите весь список: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n\n## Ваша ответственность\n\n- По [Условиям использования](https://blackbox.md/ru/info/terms#raspunderea-clientilor), раздел 3, вы несёте полную ответственность за собственную деятельность и за деятельность всех, кому даёте доступ к услугам. За защиту паролей, SSH-ключей и API-токенов тоже отвечаете вы. BLACKBOX не несёт ответственности за использование ваших учётных записей третьими лицами, если не доказано нарушение безопасности систем BLACKBOX.\n- Раздел 2 Условий запрещает, в частности, спам и участие, «добровольное или по грубой неосторожности», в DoS- и DDoS-атаках ([Политика допустимого использования: что запрещено](#legal.utilizare-acceptabila)).\n- При обнаружении нарушения, например по внешней жалобе, BLACKBOX может приостановить или прекратить предоставление услуг полностью или частично, с предварительным уведомлением или без него, в зависимости от серьёзности ситуации. Отвечайте поддержке быстро и сообщайте, что уже сделали.\n- Если на сервере были персональные данные ваших пользователей (например, покупателей интернет-магазина), оператором этих данных являетесь вы, и вы же отвечаете за соблюдение закона о защите данных (Условия, раздел 8). Оцените, нужно ли уведомить Национальный центр по защите персональных данных и затронутых людей (ст. 33–34 Закона № 195/2024). BLACKBOX как лицо, уполномоченное оператором, оказывает разумное содействие в той мере, в какой это технически возможно на уровне инфраструктуры хостинга: [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n## Внешняя атака: сервер не взломан\n\nЕсли на шаге 3 вы не нашли чужих успешных входов, неизвестных процессов или ключей, скорее всего, сервер просто атакуют извне.\n\n### Подбор пароля SSH\n\nТысячи строк `Failed password` или `Invalid user` в журнале и длинный список в `lastb` — обычное дело для любого сервера с публичным IP-адресом: роботы постоянно сканируют интернет. Защититесь с помощью fail2ban ([Защита от подбора паролей с помощью fail2ban](#ghiduri.fail2ban)) и входа только по ключу («Отключить вход по паролю», шаг 2).\n\n### Слишком много HTTP-запросов к сайту\n\n1. Пропустите домен через прокси Cloudflare (оранжевое облако). Если Cloudflare подключён в панели, отметьте «Прокси» у записей A, AAAA и CNAME сайта на странице «DNS» ([Управление DNS-записями из панели](#servicii.dns-inregistrari)); иначе включите прокси прямо в аккаунте Cloudflare. Веб-трафик пойдёт через Cloudflare, который может фильтровать запросы.\n2. Ограничьте число запросов с одного IP-адреса в nginx. Создайте файл `/etc/nginx/conf.d/ratelimit.conf`:\n\n   ```nginx\n   limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;\n   limit_req_status 429;\n   ```\n\n   Добавьте в блок `server { }` сайта:\n\n   ```nginx\n   limit_req zone=perip burst=20 nodelay;\n   ```\n\n   Проверьте конфигурацию и перезагрузите nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   С каждого IP-адреса можно отправлять 10 запросов в секунду с запасом 20; лишние запросы получают ошибку 429. Подберите значения под свой сайт. За Cloudflare nginx видит адреса Cloudflare: сначала настройте получение реальных адресов посетителей ([документация Cloudflare](https://developers.cloudflare.com/support/troubleshooting/restoring-visitor-ips/restoring-original-visitor-ips/)).\n3. Если атака продолжается или идёт напрямую на IP-адрес сервера, напишите в поддержку.\n\n## Что отправить в поддержку\n\nНапишите на support@blackbox.md, создайте тикет («Личный кабинет» → «Помощь и поддержка», [Создание тикета в поддержку](#suport.tichet-nou)) или в срочных случаях позвоните по номеру +373 78 003948 (пн–пт, 09:00–18:00 по времени Молдовы). Укажите:\n\n- IP-адрес сервера;\n- номер заказа (`BBX-…`);\n- когда вы заметили проблему (дата, время и часовой пояс);\n- что уже сделали (сервер остановлен, пароль сброшен, ключи удалены, заказан новый сервер);\n- что нашли на шаге 3, текстом: процессы, IP-адреса, строки из журналов, отпечатки удалённых ключей.\n\n> **Безопасность**\n> Никогда не отправляйте пароли, приватные ключи и API-токены — даже в поддержку BLACKBOX. Отпечаток ключа и публичный ключ можно отправлять без риска.\n\n## Частые вопросы\n\n**Можно ли очистить сервер без переустановки?**\nПопробовать можно, но вы не будете уверены, что нашли всё. Для сервера с сайтом или важными данными мы рекомендуем новый сервер (шаг 4).\n\n**Может ли BLACKBOX очистить сервер за меня?**\nBLACKBOX не обращается к содержимому вашего приложения и не читает его, кроме технической поддержки по вашему прямому запросу и случаев, когда этого требует закон ([Соглашение об обработке данных (DPA) для компаний](#legal.dpa)). За помощью с очисткой или переносом на новый сервер обратитесь в поддержку: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n\n**Мне пришла жалоба на злоупотребление, но на сервере я ничего не нашёл. Что делать?**\nВсё равно ответьте нам как можно скорее: расскажите, что проверили на шаге 3 и что нашли. Иногда источник — приложение на сервере, например контактная форма, через которую рассылают спам.\n\n**Можно ли получить другой IP-адрес?**\nВ панели IP-адрес не меняется. Новый заказанный сервер получает собственный IP-адрес; о других вариантах спросите нас.\n",
    "en": "If you suspect that someone has broken into your server or that the server is being attacked from outside, follow the steps below in order: secure your blackbox.md account, secure access to the server from the app.blackbox.md panel (the “My Servers” page, `app.blackbox.md/my-servers`, menu “Infrastructure” → “My Servers”), check the server and rebuild it from scratch. Run the commands on the server over SSH, as `root` ([Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh)).\n\n**Available to:** the holder of the blackbox.md account who ordered the server. The check commands: anyone with `root` SSH access to the server. On cards marked “Managed”, the panel buttons do not appear; for these servers, write to us directly.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Signs of a hacked server\n\n| Sign | How to check |\n|---|---|\n| Unknown processes keep the CPU busy, for example cryptocurrency miners | `ps aux` (step 3) |\n| Unexplained outgoing traffic, connections to unknown addresses | `ss -tunap` (step 3) |\n| The email queue keeps growing even though you are not sending campaigns | `mailq`, if a mail server is running |\n| System users or cron jobs that you did not create | step 3 |\n| “Installed keys” shows a key that you did not add | the server card (step 2) |\n| Changed site files, unfamiliar redirects, new PHP files | `find` (step 3) |\n| Successful logins from unknown IP addresses | `last` (step 3) |\n| BLACKBOX has forwarded an abuse report to you | the email from support |\n\nBefore you look for unfamiliar keys, identify the two keys that BLACKBOX puts on new servers: “Management key (blackbox.md)” and the AI agent's key, with the comment `blackbox-agent-…`. They are not signs of an intrusion: [BLACKBOX keys on your server](#acces.cheile-blackbox). Be careful: whoever adds a key chooses its comment, so an attacker can give their key the same name. If you see more than one `blackbox-agent-…` line, or if you are in doubt, remove them (step 2): the panel does not depend on the agent's key.\n\n## What to do first\n\n**If the server is attacking other systems or sending spam right now** (a report from BLACKBOX, a growing email queue, heavy outgoing traffic):\n\n1. In “My Servers”, on the server card, click “Stop” and confirm “Stop SERVER_NAME?”.\n2. Write to support immediately (see “What to send to support” below).\n\nWhile the server is stopped, billing continues, and “Reset password”, the “Installed keys” list and key removal do not work: they need the server to be running. Start it again with “Start” only when you are ready to do the steps below; when the server starts, the attacker's programs may start again too ([Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire)).\n\n**Otherwise**, do not stop the server: first do steps 1 and 2, while the server is running and responds over SSH.\n\n## Step 1. Secure your blackbox.md account\n\n1. Change your account password: “Contul meu” (My account) → “Profil” (Profile) → the “Securitatea contului” (Account security) section → “Parolă” (Password) → “Schimbă parola” (Change password). Fill in “Parola curentă” (Current password) and “Parolă nouă” (New password), then click “Salvează parola” (Save password). The message “Parola a fost schimbată. Vă rugăm autentificați-vă din nou.” (Your password has been changed. Please sign in again.) appears, and you are signed out. All sessions on blackbox.md end, and all API tokens created before the change stop working ([Changing your account password](#cont.schimbare-parola)).\n2. Sign in with your new password and open “Token-uri API” (API tokens). If the “Ultima utilizare” (Last used) column shows a recent date but you did not use the token yourself, the token has reached someone else. Click “Revocă” (Revoke) next to each old token (the list does not show that the password change has stopped them) and confirm “Revocați acest token? Orice client AI care îl folosește va pierde accesul imediat.” (Revoke this token? Any AI client that uses it will lose access immediately.) Create new tokens only for the AI clients you actually use ([API tokens: creating, copying and revoking](#ai.token-uri-api)).\n3. In “Chei SSH” (SSH keys), delete the keys you don't recognize with “Șterge” (Delete). Deleting a key here does not remove it from your servers (step 2).\n4. In “Comenzi” (Orders) and “Sold” (Balance), check that there are no orders or payments that you did not make.\n5. Open the panel with “Deschide panoul” (Open the panel) (or “Panou de administrare” (Admin panel) in the account menu). In the panel, go to “Settings” → “Sessions”, click “Sign Out Everywhere” and confirm “Sign out of every session for this account, including this one? You will need to sign in again.” All panel sessions end, and the devices remembered for 2FA are forgotten. Then open the panel again from your account ([Panel settings: profile, password, and sessions](#cont.setari-panou)).\n\n### Accounts created with Google or GitLab\n\nThe account has no password on blackbox.md, and the “Parolă” (Password) section does not appear. Change the password of your Google or GitLab account, turn on two-factor authentication there and end the active sessions. API tokens do not stop automatically: revoke them one by one with “Revocă” (Revoke). The other steps stay the same ([Signing in with Google or GitLab](#cont.google-gitlab)).\n\n## Step 2. Secure access to the server from the panel\n\nWork on the server card in “My Servers”. If someone else could also have used your account, repeat these steps for every server.\n\n1. Click “Reset password” and confirm “Reset the password for SERVER_NAME? The current password stops working immediately.” The new root password appears on the card, in the “Username” and “Password” rows; keep it in a password manager. If `reset_failed` appears, the password has not changed: usually the panel could not connect to the server. See [Resetting the root password](#acces.resetare-parola-root) and write to us.\n2. Click “Add SSH key” and check every row in “Installed keys”. Keep “Management key (blackbox.md)” (it has no “Remove” button) and your own keys. For any other key you don't recognize, write down its fingerprint and comment, then click “Remove” and confirm “Remove key SHA256:… from this server?”. “Key removed.” appears.\n3. Remove the AI agent's key (`blackbox-agent-…`) the same way if you don't use SSH access through AI, or if your API tokens could have reached someone else: an AI assistant with the “Vizualizează parolele/accesul serverelor” (View server passwords/access) permission can receive this key. If you still use SSH access through AI, request a new key with `regenerate=true` after the removal; without this parameter, you get the old key back ([SSH access and SSH keys through the AI assistant](#ai.acces-ssh-prin-ai)).\n4. If you don't have a key of your own on the server yet, add it from the same place (“Use a saved key” or “Paste a new key” → “Add key”). Connect with it in a new terminal window and leave that session open ([Adding and removing SSH keys on the server](#acces.chei-ssh-server)).\n5. Once your key works, click “Disable password login” and confirm. The card shows “Key-only” ([Enabling and disabling SSH password login](#acces.autentificare-parola-ssh)).\n\n> **Important**\n> Do not delete the management key from `authorized_keys` (in the panel: “Management key (blackbox.md)”), and do not set `PermitRootLogin no`: either one blocks password resets and key management from the panel. Customers have no web or VNC console. Before you change SSH settings or the firewall, keep a second SSH session open; if you lose access, write to support.\n\n## Step 3. Check the server\n\nThe commands below only read information. Copy their output to your computer and write down what you find: processes, IP addresses, dates, file paths. Do not delete files or stop processes at random: attackers usually leave several ways back in, and whatever you delete can no longer be analyzed.\n\n### Ubuntu and Debian\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u ssh --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron/crontabs\n```\n\n### AlmaLinux and CentOS Stream\n\n```bash\nwho\nlast -n 30\nlastb -n 30\njournalctl -u sshd --since \"7 days ago\" | grep -E \"Accepted|Failed password|Invalid user\"\nls -la /var/spool/cron\n```\n\n`who` shows who is connected right now, `last` shows successful logins, and `lastb` shows failed attempts (many failed attempts are normal). In the log, `Accepted` lines are successful logins, with the method (`password` or `publickey`) and the IP address; for `publickey`, the end of the line also shows the fingerprint of the key that was used (`SHA256:…`), which you can compare with the “Installed keys” list. If `last` is missing, use only `journalctl`. The last command shows which users have cron jobs: each file is named after a user.\n\n### Processes and connections\n\n```bash\nps aux --sort=-%cpu | head -n 15\nls -l /proc/PID/exe\nss -tunap\nls -la /tmp /var/tmp /dev/shm\n```\n\nReplace `PID` with the number in the second column of a suspicious process: the `exe` link shows the real program. A path in `/tmp` or `/dev/shm`, or the note `(deleted)`, is a bad sign. In the `ss` output, look for `ESTAB` connections to unknown addresses and ports, and check the program name in `users:((…))`.\n\n### Scheduled tasks, services, users and keys\n\n```bash\ncrontab -l\ncat /etc/crontab\nls -la /etc/cron.*\nsystemctl list-timers --all\nsystemctl list-units --type=service --state=running\nawk -F: '$3 == 0 || $3 >= 1000 {print $1, $3, $6, $7}' /etc/passwd\ngetent group sudo wheel\ncat /root/.ssh/authorized_keys\nls -la /home/*/.ssh/authorized_keys\n```\n\nOnly `root` should have UID 0. Accounts with a UID of 1000 or higher are regular user accounts (`nobody`, with UID 65534, is normal): check that you know all of them, and the members of the `sudo` and `wheel` groups too. In cron and in services, lines that download and run scripts (`curl`, `wget`) are suspicious.\n\n### Site files\n\n```bash\nfind /var/www -type f -mtime -7 -printf '%TY-%Tm-%Td %TH:%TM %p\\n' | sort | tail -n 50\nfind /var/www -path \"*uploads*\" -name \"*.php\"\n```\n\nReplace `/var/www` with your site's directory if it is different; to cover a longer period, increase `7` (days). PHP files in upload directories (for example `wp-content/uploads` in WordPress) are highly suspicious: check each one.\n\n## Step 4. Rebuild the server from scratch\n\n> **Risk**\n> A compromised server can no longer be considered safe, even if you deleted everything you found: keys, users, scheduled tasks or modified programs that you did not notice may still be there. The safe path is a server installed from scratch.\n\nThe panel has no button for reinstalling the operating system. The steps:\n\n1. Order a new server ([Placing an order step by step](#comenzi.plasare-comanda)). In the “Cheie SSH pentru server” (SSH key for the server) step, attach your key and leave the “Dezactivează autentificarea prin parolă (doar cheie SSH)” (Disable password authentication (SSH key only)) box checked: the server will then accept only key authentication over SSH ([The SSH key at order time and “key-only” servers](#comenzi.cheie-ssh-la-comanda)).\n2. Secure it and install packages from the distribution's official sources ([Securing a new server: checklist](#ghiduri.securizare-server-nou)).\n3. Install the application from its official source: the CMS, modules and themes from the vendor, your own code from your git repository. Do not copy programs, scripts, cron jobs or configurations from the old server.\n4. Restore only the data (databases, uploaded files, content) from a backup made before the compromise. BLACKBOX does not make automatic copies of the server; if you have no older backup, copy the data from the old server and check it first ([Backup strategy for your server](#ghiduri.strategie-backup), [Moving a site to a BLACKBOX server](#ghiduri.migrare-site)).\n5. Change all of the application's secrets: database passwords, API keys, SMTP credentials, secret keys in the configuration, site administrator passwords. Also replace any private keys kept on the old server (for example, for deployment).\n6. Point the domain to the new server ([How to point your domain to the server](#domenii.indreptare-domeniu)). If you have connected Cloudflare or GoDaddy, you can do this from the panel's “DNS” page ([Managing DNS records from the panel](#servicii.dns-inregistrari)).\n7. Copy whatever you still need from the old server, including the logs, then delete it with “Terminate”. The deletion runs after a 24-hour grace period and does not refund the period that has already started; until then, the server is billed. How this compares with canceling the order: [Permanently deleting a server](#servere.stergere-server).\n\nIf you don't want a new server, ask support whether the operating system can be reinstalled on the same server. Reinstalling erases all data on the server, so save it first; then follow steps 2–5 of the list above.\n\n## Step 5. Close the way in\n\nBefore you put the new server into service, remove the cause, or the attack will happen again:\n\n- **Outdated CMS, modules and themes.** Update them, delete the ones you don't use and turn on automatic security updates ([System updates and automatic security updates](#ghiduri.actualizari-automate)).\n- **Weak or reused passwords.** Use unique passwords generated by a password manager for root, site administration and databases; use keys for SSH.\n- **Services reachable from the internet.** Bind databases to `127.0.0.1` and restrict access to admin panels (for example, phpMyAdmin). The network filter managed by BLACKBOX does not replace these measures ([Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall)).\n- **The panel.** Turn on two-factor authentication in the panel ([Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa)).\n- **BLACKBOX access.** For root, use `PermitRootLogin prohibit-password`, not `PermitRootLogin no`, and do not delete “Management key (blackbox.md)”.\n\nThen go through the whole list: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n\n## Your responsibility\n\n- Under chapter 3 of the [Terms and Conditions](https://blackbox.md/info/terms#raspunderea-clientilor), you are fully responsible for your own activity and for the activity of everyone you give access to the services. You are also responsible for protecting passwords, SSH keys and API tokens. BLACKBOX is not liable for third parties' use of your accounts unless there is a proven breach of BLACKBOX's systems.\n- Chapter 2 of the Terms prohibits, among other things, spam and taking part, “voluntar sau prin neglijență gravă” (voluntarily or through gross negligence), in DoS and DDoS attacks ([Acceptable use policy: what is not allowed](#legal.utilizare-acceptabila)).\n- When a violation is detected, for example through a report from outside, BLACKBOX may suspend or terminate the services, fully or partly, with or without prior notice, depending on how serious it is. Reply to support quickly and tell them what you have done.\n- If the server held personal data of your users (for example, the customers of an online store), you are the controller of that data and responsible for complying with the law (Terms, chapter 8). Assess whether you need to notify the National Center for Personal Data Protection and the people affected (Articles 33–34 of Law No. 195/2024). BLACKBOX, as the processor acting on behalf of the controller, gives you reasonable assistance to the extent technically possible at the level of the hosting infrastructure: [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n## Attack from outside: the server is not hacked\n\nIf in step 3 you found no unfamiliar successful logins and no unknown processes or keys, the server is probably just the target of an attack from outside.\n\n### SSH password-guessing attempts\n\nThousands of `Failed password` or `Invalid user` lines in the log and a long `lastb` list are normal for any server with a public IP address: bots scan the internet constantly. Protect the server with fail2ban ([Protection against password-guessing attempts with fail2ban](#ghiduri.fail2ban)) and with key-only login (“Disable password login”, step 2).\n\n### Excessive HTTP traffic to the site\n\n1. Put the domain behind the Cloudflare proxy (the orange cloud). If you have connected Cloudflare in the panel, check “Proxied” on the site's A, AAAA and CNAME records on the “DNS” page ([Managing DNS records from the panel](#servicii.dns-inregistrari)); otherwise, turn on the proxy directly in your Cloudflare account. Web traffic then goes through Cloudflare, which can filter requests.\n2. Limit the number of requests per IP address in nginx. Create the file `/etc/nginx/conf.d/ratelimit.conf`:\n\n   ```nginx\n   limit_req_zone $binary_remote_addr zone=perip:10m rate=10r/s;\n   limit_req_status 429;\n   ```\n\n   Add this to the site's `server { }` block:\n\n   ```nginx\n   limit_req zone=perip burst=20 nodelay;\n   ```\n\n   Check the configuration and reload nginx:\n\n   ```bash\n   nginx -t\n   systemctl reload nginx\n   ```\n\n   Each IP address can make 10 requests per second, with a burst allowance of 20; extra requests get error 429. Adjust the values to your site. Behind Cloudflare, nginx sees Cloudflare's addresses: first set up nginx to see your visitors' real addresses ([Cloudflare documentation](https://developers.cloudflare.com/support/troubleshooting/restoring-visitor-ips/restoring-original-visitor-ips/)).\n3. If the attack continues or comes directly to the server's IP address, write to support.\n\n## What to send to support\n\nWrite to support@blackbox.md, open a ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support) ([Opening a support ticket](#suport.tichet-nou)) or, for emergencies, call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time). Include:\n\n- the server's IP address;\n- the order number (`BBX-…`);\n- when you noticed the problem (date, time and time zone);\n- what you have already done (server stopped, password reset, keys removed, new server ordered);\n- what you found in step 3, as text: processes, IP addresses, log lines, fingerprints of the keys you removed.\n\n> **Security**\n> Never send passwords, private keys or API tokens to anyone, not even to BLACKBOX support. A key's fingerprint and the public key are safe to send.\n\n## Frequently asked questions\n\n**Can I clean up the server without reinstalling it?**\nYou can try, but you won't know for sure that you found everything. For a server with a site or important data, we recommend a new server (step 4).\n\n**Can BLACKBOX clean up the server for me?**\nBLACKBOX does not access or read the content of your application, except for technical support at your explicit request or where the law requires us to ([Data Processing Agreement (DPA) for companies](#legal.dpa)). For help with the cleanup or with moving to a new server, ask support: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n\n**I received an abuse report, but I can't find anything on the server. What do I do?**\nReply to us anyway, as soon as possible: tell us what you checked in step 3 and what you found. Sometimes the source is an application on the server, for example a contact form that is being used to send spam.\n\n**Can I get a different IP address?**\nThe IP address cannot be changed from the panel. A newly ordered server gets its own IP address; for other options, write to us.\n"
   }
  },
  {
   "id": "faq.erori-panou",
   "section": "faq",
   "app": "app.blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/erori-panou/",
    "ru": "https://docs.blackbox.md/ru/faq/erori-panou/",
    "en": "https://docs.blackbox.md/en/faq/erori-panou/"
   },
   "title": {
    "ro": "Mesaje de eroare din panou și ce înseamnă",
    "ru": "Сообщения об ошибках в панели и что они значат",
    "en": "Panel error messages and what they mean"
   },
   "summary": {
    "ro": "Tabel de referință cu codurile tehnice și mesajele în engleză din panou, explicate și cu soluția pentru fiecare.",
    "ru": "Справочная таблица технических кодов и англоязычных сообщений панели с объяснением и решением.",
    "en": "A reference table of the panel's technical codes and English-only messages, with what each one means and how to fix it."
   },
   "markdown": {
    "ro": "Unele erori din panoul app.blackbox.md nu sunt traduse: apar ca un cod tehnic (de exemplu `reset_failed`) sau ca o frază în engleză (de exemplu „Rate limit exceeded — …”). Tabelele de mai jos le traduc și spun ce faceți. Cele mai multe apar pe cardul serverului din pagina „Serverele mele” (`app.blackbox.md/my-servers`, meniul lateral → „Serverele mele”) sau în ferestrele deschise de pe card.\n\n**Disponibil pentru:** orice client autentificat în panoul app.blackbox.md.\n\nCăutați mesajul pe această pagină cu Ctrl+F (Cmd+F pe Mac). Pentru mesajele pe care panoul le afișează traduse, tabelele dau între paranteze și codul tehnic, ca să-l puteți indica suportului.\n\n## Parola root și datele de acces\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| `reset_failed` | după „Resetează parola” | Panoul nu a putut schimba parola, de regulă pentru că nu s-a putut conecta la server prin SSH: serverul este oprit, încă pornește sau nu acceptă cheia de administrare. Parola veche rămâne valabilă. | Dacă ați oprit serverul, apăsați „Pornește”, așteptați un minut și reîncercați. Dacă eroarea se repetă, vedeți [Resetarea parolei root](#acces.resetare-parola-root). |\n| `reset_persist_failed`, `reset_partial_failure_check_redis` | după „Resetează parola” | Resetarea nu s-a încheiat corect. | Scrieți imediat suportului (vedeți nota de mai jos). |\n| „No credentials stored for this server” | după „Afișează datele de acces” | Panoul nu are date de acces salvate pentru acest server. | Scrieți-ne. |\n| „Failed to decrypt credentials — encryption key may have changed” | după „Afișează datele de acces” | Datele de acces salvate nu pot fi citite. | Scrieți-ne. |\n\n> **Important**\n> La `reset_persist_failed` sau `reset_partial_failure_check_redis` scrieți imediat suportului, la support@blackbox.md sau printr-un tichet din „Contul meu” → „Ajutor și suport”. Indicați numărul comenzii (câmpul „Comandă” de pe card), adresa IP și codul afișat, fără parole. Între timp vă puteți conecta cu o cheie SSH instalată pe server, dacă aveți una.\n\n## Repornire, oprire și pornire\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| `power_action_failed` | după „Repornește”, „Oprește” sau „Pornește” | Comanda nu a fost executată. Adesea serverul era deja în starea cerută, de exemplu ați apăsat „Pornește” pe un server care rulează: panoul nu arată dacă serverul este pornit sau oprit. | Verificați dacă serverul răspunde (prin SSH sau site). Dacă nu, așteptați un minut și reîncercați; dacă eroarea se repetă, scrieți-ne. |\n| `no_instance_id` | după „Oprește” sau „Pornește” | Acest server nu poate fi oprit sau pornit din panou, doar repornit. Apare la unele servere administrate de echipa BLACKBOX. | Folosiți „Repornește”. Pentru oprire sau pornire, scrieți-ne. |\n| `invalid_action` | după „Repornește”, „Oprește” sau „Pornește” | Comanda trimisă nu a fost recunoscută. | Reîncărcați pagina (F5) și reîncercați. Dacă se repetă, scrieți-ne. |\n\nDetalii: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n\n## Cheile SSH și autentificarea cu parolă\n\nPrimele trei rânduri apar ca un cod în engleză; celelalte mesaje apar traduse.\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| `invalid_public_key` | după „Adaugă cheia”, cu „Lipește o cheie nouă” | Textul lipit nu este o cheie publică acceptată: are mai multe rânduri, este o cheie privată, are un tip neacceptat sau este o cheie RSA mai scurtă de 2048 de biți. Cheia nu a fost adăugată. | Lipiți o singură linie din fișierul `.pub`, de exemplu `id_ed25519.pub`. Vedeți [Generarea unei chei SSH (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). |\n| `not_found` | după „Adaugă cheia”, cu „Folosește o cheie salvată” | Cheia aleasă nu mai există printre cheile salvate în contul blackbox.md. | Reîncărcați pagina și alegeți altă cheie sau folosiți „Lipește o cheie nouă”. |\n| `ssh_key_push_failed`, `ssh_key_list_failed` | după „Adaugă cheia” sau în lista „Chei instalate” | Panoul nu s-a putut conecta la server prin SSH: serverul este oprit, încă pornește sau nu acceptă cheia de administrare. Pe server nu s-a schimbat nimic. | Dacă ați oprit serverul, apăsați „Pornește”, așteptați un minut și reîncercați. Dacă se repetă, citiți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox) și scrieți-ne. |\n| „Nu a fost găsită nicio cheie instalată — adăugați o cheie înainte de a dezactiva parola.” (`no_customer_key_installed`) | după „Dezactivează login cu parolă” | Pe server nu există nicio cheie în afară de „Cheie de administrare (blackbox.md)”. Autentificarea cu parolă a rămas activă. | Adăugați cheia dvs. cu „Adaugă cheie SSH”, verificați că vă conectați cu ea, apoi reîncercați. |\n| „Aceasta este ultima cheie pe un server doar-cu-cheie — ștergerea ei v-ar bloca accesul.” (`last_key_on_key_only_server`) | după „Șterge”, în lista „Chei instalate” | Serverul acceptă doar chei („Doar cheie”), iar fără această cheie nu v-ați mai putea conecta. Cheia nu a fost ștearsă. | Adăugați întâi altă cheie sau apăsați „Activează login cu parolă”, apoi ștergeți cheia. |\n| „Aceasta este cheia proprie de administrare blackbox.md și nu poate fi ștearsă.” (`management_key_protected`) | după „Șterge” | Cheia de administrare este folosită de butoanele panoului și este protejată. | Nimic: cheia rămâne pe server. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox). |\n| „Nu am putut verifica cheia noastră de administrare — această acțiune nu este disponibilă acum.” (`management_key_unknown`) | după „Dezactivează login cu parolă”, „Activează login cu parolă” sau „Șterge” | Panoul nu poate confirma cheia de administrare a serverului și refuză modificarea, ca să nu vă blocheze accesul. Nu s-a schimbat nimic. | Scrieți-ne, cu numărul comenzii și adresa IP. |\n| „Această cheie este administrată de BlackBox și nu poate fi ștearsă.” (`key_managed`) | după „Șterge”, pe un server al companiei administrat de echipa BLACKBOX | Cheia a fost instalată de echipa BLACKBOX. Pe astfel de servere puteți șterge doar cheile adăugate de dvs. sau salvate în contul dvs. | Dacă cheia trebuie ștearsă, scrieți-ne. |\n| „O altă modificare a cheilor este deja în curs pentru acest server — încercați din nou în câteva momente.” (`operation_in_progress`) | după „Șterge” | Pe același server rulează deja o modificare a cheilor sau a autentificării cu parolă, de exemplu dintr-o altă filă. | Așteptați un minut și reîncercați. |\n| „Nu s-a putut schimba autentificarea prin parolă.” | după „Dezactivează login cu parolă” sau „Activează login cu parolă” | Modificarea nu s-a făcut: o altă modificare era în curs, limita a fost depășită sau serverul nu a răspuns. Setarea anterioară a rămas. | Așteptați un minut și reîncercați. Dacă se repetă, scrieți-ne. |\n\nDetalii: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server) și [Activarea și dezactivarea autentificării SSH cu parolă](#acces.autentificare-parola-ssh).\n\n## Upgrade server\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| „Upgrade-ul nu este disponibil momentan (…).” | fereastra „Upgrade server” | Între paranteze apare un cod tehnic în engleză. | Vedeți explicația de sub tabel. |\n| „Nu este disponibilă nicio configurație mai mare pentru acest server momentan.” | fereastra „Upgrade server” | Serverul este deja pe cel mai mare plan din familia lui. Din panou, upgrade-ul se face doar în aceeași familie. | Pentru un plan din altă familie, scrieți-ne. |\n| „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.” (`not_upgradeable_plan`) | fereastra „Upgrade server” | Planul serverului, de exemplu un plan „VPS hosting”, nu poate fi mărit din panou. | Scrieți-ne. |\n| „Soldul contului dvs. nu este suficient pentru acest upgrade.” (`insufficient_balance`) | fereastra „Upgrade server”, cu linkul „Alimentați soldul →” | Upgrade-ul se plătește doar din sold, iar soldul nu acoperă suma de la „Facturat acum (prorata)”. Nu s-a retras nimic. | Alimentați soldul ([Alimentarea soldului](#plati.alimentare-sold)), apoi deschideți din nou fereastra. |\n| „Un upgrade este deja în curs pentru acest server.” (`job_active`) | după „Upgrade server” | Un upgrade pornit mai devreme încă rulează. | Nu porniți altul. Așteptați emailul de confirmare sau verificați „Configurație” pe card peste câteva minute. |\n| „Upgrade eșuat”, „Upgrade anulat” | pe cardul serverului | Upgrade-ul nu s-a făcut. Dacă s-a retras o sumă din sold, ea se returnează automat. | Puteți reîncerca. Dacă se repetă, scrieți-ne. |\n| „Upgrade blocat — contactați suportul” | pe cardul serverului | Upgrade-ul nu a mai avansat de peste 15 minute. | Scrieți-ne, cu numărul comenzii. |\n\n**Codul dintre paranteze.** În „Upgrade-ul nu este disponibil momentan (…).” codul arată motivul tehnic; nu trebuie să-l interpretați. Același cod poate apărea și singur, în aceeași fereastră, deasupra butoanelor, după ce apăsați „Upgrade server”. De regulă înseamnă una dintre situațiile:\n\n- serverul nu este acum într-o stare care permite upgrade-ul, de exemplu tocmai pornește, repornește sau are altă operație în curs: așteptați câteva minute și deschideți din nou fereastra;\n- nu există un plan mai mare care să poată fi oferit sau datele serverului nu au putut fi citite: scrieți-ne;\n- serviciul de infrastructură este temporar indisponibil: reîncercați mai târziu.\n\nDacă mesajul rămâne, trimiteți-ne textul exact. Detalii: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade).\n\n## Ștergerea definitivă\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| „Nu corespunde. Tastați exact \"…\" pentru a confirma.” (`confirm_mismatch`) | după „Programează ștergerea”, în fereastra „Ștergere definitivă server” | Textul introdus nu coincide cu numele cerut. Se acceptă numele original al serverului, nu numele dat de dvs. cu „Redenumește”. | Copiați exact numele din rândul „Tastați … pentru a confirma” și lipiți-l în câmp. |\n| „O ștergere este deja programată pentru acest server.” | după „Programează ștergerea” | Ștergerea a fost deja programată, de exemplu dintr-o altă filă. | Redeschideți fereastra: vedeți data execuției și butonul „Anulează ștergerea”. |\n\nDetalii: [Ștergerea definitivă a unui server](#servere.stergere-server).\n\n## Backup, monitorizare și alerte\n\n| Mesaj sau cod | Unde apare | Ce înseamnă | Ce faceți |\n|---|---|---|---|\n| `backup_extra_disabled` | după butonul „Backup” de pe cardul serverului | Serviciul de backup automat nu este disponibil. Serverul și datele lui nu sunt afectate. | Faceți-vă singur copii de rezervă (vedeți nota de mai jos). |\n| `panel_monitoring_disabled` | pagina „Monitorizare” | Pagina „Monitorizare” este temporar indisponibilă. Serverele nu sunt afectate. | Reveniți mai târziu. Dacă mesajul rămâne, scrieți-ne. |\n| `rate_limited` | pagina „Monitorizare” | Datele paginii au fost cerute de prea multe ori într-un minut, prin „Reîmprospătează” sau prin schimbarea serverului ori a intervalului la „Tendințe”. | Așteptați un minut, apoi apăsați o singură dată „Reîmprospătează”. |\n| `alerts_ingest_disabled` | după „Salvează” la „Preferințe de notificare”, pe cardul „Alerte” | Alertele sunt temporar indisponibile, iar preferințele nu au fost salvate. | Reveniți mai târziu și salvați din nou. |\n\n> **Notă**\n> În prezent BLACKBOX nu face backup automat al serverului dvs. Păstrați copii proprii în afara serverului: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## Mesajele „Rate limit exceeded — …”\n\nUn mesaj de forma „Rate limit exceeded — … limited to N requests per M seconds” (sau „… per M minutes”) înseamnă că ați repetat aceeași acțiune de prea multe ori într-un timp scurt: N este numărul de cereri permise, iar M este durata intervalului. De exemplu:\n\n- „Rate limit exceeded — power actions are limited to 6 requests per 60 seconds”: cel mult 6 comenzi „Repornește”, „Oprește” sau „Pornește” pe minut, pentru toate serverele împreună;\n- „Rate limit exceeded — resize is limited to 3 requests per 600 seconds”: cel mult 3 cereri de upgrade în 10 minute.\n\nCe faceți:\n\n1. Nu mai apăsați butonul: încercările făcute în timpul blocării se numără și ele și prelungesc așteptarea.\n2. Așteptați tot intervalul din mesaj (600 de secunde înseamnă 10 minute).\n3. Încercați o singură dată.\n\nToate limitele: [Mesajul „Prea multe încercări” și limitele de utilizare](#faq.prea-multe-cereri).\n\n## Pagini care nu sunt pentru clienți\n\nDacă deschideți un link salvat sau tastați o adresă din panou, puteți ajunge pe o pagină destinată echipei BLACKBOX. Nu este o problemă a contului dvs.\n\n| Ce vedeți | Ce faceți |\n|---|---|\n| „403 — Access denied”, cu textul „You don't have permission to access this page.” și butonul „Go to dashboard” | Apăsați „Go to dashboard”, apoi „Serverele mele” în meniul lateral. |\n| O pagină „… — în curând”, cu butonul „Înapoi la prezentare generală” | Apăsați butonul, apoi „Serverele mele” în meniul lateral. |\n| Panoul vă duce la „Prezentare generală” fără niciun mesaj | Deschideți „Serverele mele” din meniul lateral. |\n\n> **Ecran în limba engleză**\n> Pagina „403 — Access denied” există numai în engleză. Rândul „If you believe this is an error, contact a Superadmin.” se adresează echipei BLACKBOX; pentru dvs. pagina înseamnă doar că adresa nu este destinată clienților.\n\nDacă „Prezentare generală” afișează „Niciun server găsit. Contactați un administrator pentru a obține acces.”, este normal: serverele dvs. sunt în „Serverele mele”. Vedeți [Panoul afișează „Niciun server găsit”](#faq.panoul-nu-arata-serverele).\n\n## „Unauthorized” sau „Nu s-au putut încărca…” după o pauză lungă\n\nDacă panoul a stat deschis mult timp, la următoarea acțiune poate apărea mesajul „Unauthorized” sau un mesaj care începe cu „Nu s-au putut încărca…” (de exemplu „Nu s-au putut încărca datele serverelor. Încercați mai târziu.” pe pagina „Prezentare generală”). De regulă sesiunea a expirat: o sesiune în panou durează 8 ore de la autentificare.\n\n1. Reîncărcați pagina (F5).\n2. Dacă apare pagina de autentificare a panoului, intrați din nou din blackbox.md: „Contul meu” → „Deschide panoul”. Vedeți [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n3. Deschideți „Serverele mele” și repetați acțiunea.\n\nDacă mesajul apare imediat după o autentificare nouă, nu este vorba de sesiune: trimiteți-ne textul exact.\n\nMesajul „Not found”, după un buton de pe card, înseamnă că serverul nu mai este disponibil în contul dvs., de exemplu ștergerea lui s-a executat între timp. Reîncărcați pagina.\n\n## Întrebări frecvente\n\n**De ce unele mesaje sunt în engleză, deși panoul este în română?**\nUnele erori sunt transmise direct de sistem, fără traducere, iar limba aleasă în panou nu le schimbă. Folosiți tabelele de mai sus.\n\n**S-a schimbat ceva pe server după eroare?**\nLa `reset_failed`, `invalid_public_key`, `ssh_key_push_failed` și la mesajele „Rate limit exceeded — …” nu s-a schimbat nimic. La `reset_persist_failed` și `reset_partial_failure_check_redis` scrieți imediat suportului.\n\n**Ce trimit suportului?**\nTextul exact al mesajului sau o captură de ecran, butonul apăsat, ora aproximativă, numărul comenzii `BBX-…` din câmpul „Comandă” și adresa IP. Nu trimiteți parole sau chei private. Copiați mesajul înainte să reîncărcați pagina, pentru că apoi dispare. Contacte: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Asistentul AI primește aceleași mesaje?**\nErorile uneltelor MCP sunt explicate separat, în [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n",
    "ru": "Некоторые ошибки в панели app.blackbox.md не переведены: они выводятся как технический код (например, `reset_failed`) или как фраза на английском (например, «Rate limit exceeded — …»). Таблицы ниже переводят их и объясняют, что делать. Большинство таких сообщений появляется в карточке сервера на странице «Мои серверы» (`app.blackbox.md/my-servers`, боковое меню → «Мои серверы») или в окнах, которые открываются из карточки.\n\n**Доступно:** любому клиенту, вошедшему в панель app.blackbox.md.\n\nНайти сообщение на этой странице можно через Ctrl+F (Cmd+F на Mac). Для сообщений, которые панель показывает в переводе, в таблицах в скобках указан и технический код — его можно назвать поддержке.\n\n## Пароль root и учётные данные\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| `reset_failed` | после «Сбросить пароль» | Панель не смогла сменить пароль — обычно потому, что не удалось подключиться к серверу по SSH: сервер остановлен, ещё загружается или не принимает ключ управления. Старый пароль продолжает действовать. | Если вы остановили сервер, нажмите «Запустить», подождите минуту и повторите. Если ошибка повторяется, см. [Сброс пароля root](#acces.resetare-parola-root). |\n| `reset_persist_failed`, `reset_partial_failure_check_redis` | после «Сбросить пароль» | Сброс завершился некорректно. | Сразу напишите в поддержку (см. примечание ниже). |\n| «No credentials stored for this server» | после «Показать учётные данные» | В панели нет сохранённых учётных данных для этого сервера. | Напишите нам. |\n| «Failed to decrypt credentials — encryption key may have changed» | после «Показать учётные данные» | Сохранённые учётные данные невозможно прочитать. | Напишите нам. |\n\n> **Важно**\n> При `reset_persist_failed` или `reset_partial_failure_check_redis` сразу напишите в поддержку — на support@blackbox.md или через тикет в «Личный кабинет» → «Помощь и поддержка». Укажите номер заказа (поле «Заказ» в карточке), IP-адрес и показанный код, без паролей. Пока ждёте ответа, можно подключаться SSH-ключом, установленным на сервере, если он у вас есть.\n\n## Перезагрузка, остановка и запуск\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| `power_action_failed` | после «Перезагрузить», «Остановить» или «Запустить» | Команда не выполнена. Часто сервер уже был в нужном состоянии, например вы нажали «Запустить» на работающем сервере: панель не показывает, включён сервер или выключен. | Проверьте, отвечает ли сервер (по SSH или через сайт). Если нет, подождите минуту и повторите; если ошибка повторяется, напишите нам. |\n| `no_instance_id` | после «Остановить» или «Запустить» | Этот сервер нельзя остановить или запустить из панели, только перезагрузить. Так бывает с некоторыми серверами, которые обслуживает команда BLACKBOX. | Используйте «Перезагрузить». Для остановки или запуска напишите нам. |\n| `invalid_action` | после «Перезагрузить», «Остановить» или «Запустить» | Отправленная команда не распознана. | Обновите страницу (F5) и повторите. Если ошибка повторяется, напишите нам. |\n\nПодробнее: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n\n## SSH-ключи и вход по паролю\n\nПервые три строки выводятся как код на английском, остальные сообщения — в переводе.\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| `invalid_public_key` | после «Добавить ключ» в режиме «Вставить новый ключ» | Вставленный текст не является допустимым открытым ключом: в нём несколько строк, это закрытый ключ, неподдерживаемый тип или ключ RSA короче 2048 бит. Ключ не добавлен. | Вставьте одну строку из файла `.pub`, например `id_ed25519.pub`. См. [Создание SSH-ключа (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). |\n| `not_found` | после «Добавить ключ» в режиме «Использовать сохранённый ключ» | Выбранного ключа больше нет среди сохранённых в аккаунте blackbox.md. | Обновите страницу и выберите другой ключ или используйте «Вставить новый ключ». |\n| `ssh_key_push_failed`, `ssh_key_list_failed` | после «Добавить ключ» или в списке «Установленные ключи» | Панель не смогла подключиться к серверу по SSH: сервер остановлен, ещё загружается или не принимает ключ управления. На сервере ничего не изменилось. | Если вы остановили сервер, нажмите «Запустить», подождите минуту и повторите. Если ошибка повторяется, прочитайте [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox) и напишите нам. |\n| «Установленный ключ не найден — сначала добавьте ключ, прежде чем отключать пароль.» (`no_customer_key_installed`) | после «Отключить вход по паролю» | На сервере нет ни одного ключа, кроме «Ключ управления (blackbox.md)». Вход по паролю остался включённым. | Добавьте свой ключ через «Добавить SSH-ключ», проверьте, что входите с ним, и повторите. |\n| «Это последний ключ на сервере только с ключом — его удаление заблокирует доступ.» (`last_key_on_key_only_server`) | после «Удалить» в списке «Установленные ключи» | Сервер принимает только ключи («Только ключ»), и без этого ключа вы не сможете подключиться. Ключ не удалён. | Сначала добавьте другой ключ или нажмите «Включить вход по паролю», затем удалите ключ. |\n| «Это собственный ключ управления blackbox.md, его нельзя удалить.» (`management_key_protected`) | после «Удалить» | Ключ управления нужен для работы кнопок панели и защищён. | Ничего делать не нужно: ключ остаётся на сервере. См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox). |\n| «Не удалось проверить наш ключ управления — это действие сейчас недоступно.» (`management_key_unknown`) | после «Отключить вход по паролю», «Включить вход по паролю» или «Удалить» | Панель не может подтвердить ключ управления сервера и отказывается от изменения, чтобы не заблокировать вам доступ. Ничего не изменилось. | Напишите нам, указав номер заказа и IP-адрес. |\n| «Этот ключ управляется BlackBox и не может быть удалён.» (`key_managed`) | после «Удалить» на сервере компании, который обслуживает команда BLACKBOX | Ключ установлен командой BLACKBOX. На таких серверах можно удалять только ключи, добавленные вами или сохранённые в вашем аккаунте. | Если ключ нужно удалить, напишите нам. |\n| «Для этого сервера уже выполняется другое изменение ключей — повторите попытку через момент.» (`operation_in_progress`) | после «Удалить» | На этом сервере уже идёт другое изменение ключей или входа по паролю, например из другой вкладки. | Подождите минуту и повторите. |\n| «Не удалось изменить вход по паролю.» | после «Отключить вход по паролю» или «Включить вход по паролю» | Изменение не выполнено: шло другое изменение, превышен лимит или сервер не ответил. Прежняя настройка сохранилась. | Подождите минуту и повторите. Если ошибка повторяется, напишите нам. |\n\nПодробнее: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server) и [Включение и отключение входа по паролю по SSH](#acces.autentificare-parola-ssh).\n\n## Апгрейд сервера\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| «Апгрейд сейчас недоступен (…).» | окно «Апгрейд сервера» | В скобках указан технический код на английском. | См. пояснение под таблицей. |\n| «Сейчас для этого сервера нет доступной более крупной конфигурации.» | окно «Апгрейд сервера» | Сервер уже на самом большом тарифе своего семейства. Из панели апгрейд возможен только в пределах семейства. | Для тарифа из другого семейства напишите нам. |\n| «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.» (`not_upgradeable_plan`) | окно «Апгрейд сервера» | Тариф сервера, например «VPS hosting», нельзя увеличить из панели. | Напишите нам. |\n| «На балансе недостаточно средств для этого апгрейда.» (`insufficient_balance`) | окно «Апгрейд сервера», со ссылкой «Пополнить баланс →» | Апгрейд оплачивается только с баланса, а баланса не хватает на сумму «Списано сейчас (пропорционально)». Ничего не списано. | Пополните баланс ([Пополнение баланса](#plati.alimentare-sold)) и откройте окно снова. |\n| «Апгрейд для этого сервера уже выполняется.» (`job_active`) | после «Обновить сервер» | Запущенный ранее апгрейд ещё выполняется. | Не запускайте новый. Дождитесь письма о завершении или через несколько минут проверьте «Конфигурация» в карточке. |\n| «Апгрейд не удался», «Апгрейд отменён» | в карточке сервера | Апгрейд не выполнен. Если с баланса была списана сумма, она возвращается автоматически. | Можно повторить. Если ошибка повторяется, напишите нам. |\n| «Апгрейд завис — обратитесь в поддержку» | в карточке сервера | Апгрейд не продвигается больше 15 минут. | Напишите нам, указав номер заказа. |\n\n**Код в скобках.** В сообщении «Апгрейд сейчас недоступен (…).» код обозначает техническую причину — расшифровывать его не нужно. Тот же код может появиться и отдельно, в том же окне над кнопками, после нажатия «Обновить сервер». Обычно он означает одно из следующего:\n\n- сервер сейчас не в том состоянии, в котором возможен апгрейд, например он загружается, перезагружается или на нём идёт другая операция: подождите несколько минут и откройте окно снова;\n- нет большего тарифа, который можно предложить, или не удалось прочитать данные сервера: напишите нам;\n- инфраструктурный сервис временно недоступен: повторите позже.\n\nЕсли сообщение не исчезает, пришлите нам точный текст. Подробнее: [Апгрейд сервера: переход на больший тариф](#servere.upgrade).\n\n## Безвозвратное удаление\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| «Не совпадает. Введите точно \"…\" для подтверждения.» (`confirm_mismatch`) | после «Запланировать удаление» в окне «Удаление сервера» | Введённый текст не совпадает с требуемым названием. Принимается исходное название сервера, а не название, которое вы задали через «Переименовать». | Скопируйте название точно из строки «Введите … для подтверждения» и вставьте его в поле. |\n| «Удаление для этого сервера уже запланировано.» | после «Запланировать удаление» | Удаление уже запланировано, например из другой вкладки. | Откройте окно заново: там видны дата выполнения и кнопка «Отменить удаление». |\n\nПодробнее: [Безвозвратное удаление сервера](#servere.stergere-server).\n\n## Резервные копии, мониторинг и оповещения\n\n| Сообщение или код | Где появляется | Что означает | Что делать |\n|---|---|---|---|\n| `backup_extra_disabled` | после кнопки «Резервные копии» в карточке сервера | Услуга автоматического резервного копирования недоступна. Сервер и его данные не затронуты. | Делайте резервные копии самостоятельно (см. примечание ниже). |\n| `panel_monitoring_disabled` | страница «Мониторинг» | Страница «Мониторинг» временно недоступна. Серверы не затронуты. | Зайдите позже. Если сообщение не исчезает, напишите нам. |\n| `rate_limited` | страница «Мониторинг» | Данные страницы запрашивались слишком часто в течение минуты — кнопкой «Обновить» или сменой сервера либо периода в блоке «Динамика». | Подождите минуту и нажмите «Обновить» один раз. |\n| `alerts_ingest_disabled` | после «Сохранить» в блоке «Настройки уведомлений» карточки «Оповещения» | Оповещения временно недоступны, настройки не сохранены. | Зайдите позже и сохраните снова. |\n\n> **Примечание**\n> Сейчас BLACKBOX не делает автоматических резервных копий вашего сервера. Храните собственные копии вне сервера: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## Сообщения «Rate limit exceeded — …»\n\nСообщение вида «Rate limit exceeded — … limited to N requests per M seconds» (или «… per M minutes») означает, что вы повторили одно и то же действие слишком много раз за короткое время: N — допустимое число запросов, M — длина интервала. Например:\n\n- «Rate limit exceeded — power actions are limited to 6 requests per 60 seconds»: не более 6 команд «Перезагрузить», «Остановить» или «Запустить» в минуту для всех серверов вместе;\n- «Rate limit exceeded — resize is limited to 3 requests per 600 seconds»: не более 3 запросов на апгрейд за 10 минут.\n\nЧто делать:\n\n1. Больше не нажимайте кнопку: попытки во время блокировки тоже засчитываются и продлевают ожидание.\n2. Подождите весь интервал из сообщения (600 секунд — это 10 минут).\n3. Попробуйте один раз.\n\nВсе лимиты: [Сообщение «Слишком много попыток» и лимиты использования](#faq.prea-multe-cereri).\n\n## Страницы, не предназначенные для клиентов\n\nОткрыв сохранённую ссылку или набрав адрес панели вручную, можно попасть на страницу для команды BLACKBOX. Это не проблема вашего аккаунта.\n\n| Что вы видите | Что делать |\n|---|---|\n| «403 — Access denied» с текстом «You don't have permission to access this page.» и кнопкой «Go to dashboard» | Нажмите «Go to dashboard», затем «Мои серверы» в боковом меню. |\n| Страница «… — скоро» с кнопкой «Вернуться к обзору» | Нажмите кнопку, затем «Мои серверы» в боковом меню. |\n| Панель без сообщения переводит вас на «Обзор» | Откройте «Мои серверы» в боковом меню. |\n\n> **Экран на английском**\n> Страница «403 — Access denied» есть только на английском. Строка «If you believe this is an error, contact a Superadmin.» адресована команде BLACKBOX; для вас страница означает лишь то, что этот адрес не предназначен для клиентов.\n\nЕсли на странице «Обзор» написано «Серверы не найдены. Обратитесь к администратору для получения доступа.», это нормально: ваши серверы находятся в разделе «Мои серверы». См. [Панель показывает «Серверы не найдены»](#faq.panoul-nu-arata-serverele).\n\n## «Unauthorized» или «Не удалось загрузить…» после долгого перерыва\n\nЕсли панель долго оставалась открытой, при следующем действии может появиться сообщение «Unauthorized» или сообщение, которое начинается с «Не удалось загрузить…» (например, «Не удалось загрузить данные серверов. Попробуйте позже.» на странице «Обзор»). Обычно это значит, что сессия истекла: сессия в панели действует 8 часов с момента входа.\n\n1. Обновите страницу (F5).\n2. Если открылась страница входа в панель, войдите заново с blackbox.md: «Личный кабинет» → «Открыть панель». См. [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n3. Откройте «Мои серверы» и повторите действие.\n\nЕсли сообщение появляется сразу после нового входа, дело не в сессии: пришлите нам точный текст.\n\nСообщение «Not found» после нажатия кнопки в карточке означает, что сервер больше не доступен в вашем аккаунте — например, его удаление уже выполнено. Обновите страницу.\n\n## Частые вопросы\n\n**Почему некоторые сообщения на английском, хотя панель на русском?**\nНекоторые ошибки передаются системой напрямую, без перевода, и выбранный язык панели на них не влияет. Пользуйтесь таблицами выше.\n\n**Изменилось ли что-то на сервере после ошибки?**\nПри `reset_failed`, `invalid_public_key`, `ssh_key_push_failed` и сообщениях «Rate limit exceeded — …» ничего не изменилось. При `reset_persist_failed` и `reset_partial_failure_check_redis` сразу напишите в поддержку.\n\n**Что отправить в поддержку?**\nТочный текст сообщения или скриншот, нажатую кнопку, примерное время, номер заказа `BBX-…` из поля «Заказ» и IP-адрес. Не присылайте пароли и закрытые ключи. Скопируйте сообщение до обновления страницы — после него оно исчезает. Контакты: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**Получает ли AI-ассистент те же сообщения?**\nОшибки инструментов MCP описаны отдельно: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n",
    "en": "Some errors in the app.blackbox.md panel are never translated: they appear as a technical code (for example `reset_failed`) or as a fixed English phrase (for example “Rate limit exceeded — …”). The tables below explain what they mean and what to do. Most of them appear on the server card on the “My Servers” page (`app.blackbox.md/my-servers`, sidebar → “My Servers”) or in the windows you open from the card.\n\n**Available to:** any customer signed in to the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\nTo find a message on this page, press Ctrl+F (Cmd+F on a Mac). For messages that the panel shows as a full sentence in your language, the tables also give the technical code in parentheses, so you can quote it to support.\n\n## Root password and credentials\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| `reset_failed` | after “Reset password” | The panel could not change the password, usually because it could not connect to the server over SSH: the server is stopped, is still starting up, or does not accept the management key. The old password still works. | If you stopped the server, click “Start”, wait a minute and try again. If the error comes back, see [Resetting the root password](#acces.resetare-parola-root). |\n| `reset_persist_failed`, `reset_partial_failure_check_redis` | after “Reset password” | The reset did not finish correctly. | Write to support immediately (see the note below). |\n| “No credentials stored for this server” | after “Reveal credentials” | The panel has no saved credentials for this server. | Write to us. |\n| “Failed to decrypt credentials — encryption key may have changed” | after “Reveal credentials” | The saved credentials cannot be read. | Write to us. |\n\n> **Important**\n> If you get `reset_persist_failed` or `reset_partial_failure_check_redis`, write to support immediately, at support@blackbox.md or through a support ticket from “Contul meu” (My account) → “Ajutor și suport” (Help and support). Include the order number (the “Order” field on the card), the IP address and the code shown, but no passwords. In the meantime, you can connect with an SSH key installed on the server, if you have one.\n\n## Reboot, stop and start\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| `power_action_failed` | after “Reboot”, “Stop” or “Start” | The command was not carried out. Often the server was already in the requested state, for example you clicked “Start” on a server that is running: the panel does not show whether the server is on or off. | Check whether the server responds (over SSH or through your website). If it doesn't, wait a minute and try again; if the error comes back, write to us. |\n| `no_instance_id` | after “Stop” or “Start” | This server cannot be stopped or started from the panel, only rebooted. This happens with some servers managed by the BLACKBOX team. | Use “Reboot”. To stop or start the server, write to us. |\n| `invalid_action` | after “Reboot”, “Stop” or “Start” | The command that was sent was not recognized. | Reload the page (F5) and try again. If it happens again, write to us. |\n\nDetails: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n\n## SSH keys and password login\n\nThe first three rows appear as a code in English; the other messages appear as full sentences in the panel's language.\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| `invalid_public_key` | after “Add key”, with “Paste a new key” | The pasted text is not an accepted public key: it has more than one line, it is a private key, its type is not supported, or it is an RSA key shorter than 2048 bits. The key was not added. | Paste a single line from the `.pub` file, for example `id_ed25519.pub`. See [Generating an SSH key (Windows, macOS, Linux)](#ghiduri.generare-chei-ssh). |\n| `not_found` | after “Add key”, with “Use a saved key” | The key you chose is no longer among the keys saved in your blackbox.md account. | Reload the page and choose another key, or use “Paste a new key”. |\n| `ssh_key_push_failed`, `ssh_key_list_failed` | after “Add key” or in the “Installed keys” list | The panel could not connect to the server over SSH: the server is stopped, is still starting up, or does not accept the management key. Nothing changed on the server. | If you stopped the server, click “Start”, wait a minute and try again. If it happens again, read [BLACKBOX keys on your server](#acces.cheile-blackbox) and write to us. |\n| “No installed key found — add a key before disabling password login.” (`no_customer_key_installed`) | after “Disable password login” | The server has no key other than “Management key (blackbox.md)”. Password login stayed enabled. | Add your own key with “Add SSH key”, check that you can connect with it, then try again. |\n| “This is the last key on a key-only server — removing it would lock you out.” (`last_key_on_key_only_server`) | after “Remove”, in the “Installed keys” list | The server accepts only keys (“Key-only”), and without this key you could no longer connect. The key was not removed. | First add another key or click “Enable password login”, then remove the key. |\n| “This is blackbox.md's own management key and can't be removed.” (`management_key_protected`) | after “Remove” | The management key is used by the panel's buttons and is protected. | Nothing: the key stays on the server. See [BLACKBOX keys on your server](#acces.cheile-blackbox). |\n| “We couldn't verify our management key — this action is unavailable right now.” (`management_key_unknown`) | after “Disable password login”, “Enable password login” or “Remove” | The panel cannot confirm the server's management key, so it refuses the change to avoid locking you out. Nothing changed. | Write to us, with the order number and the IP address. |\n| “This key is managed by BlackBox and can't be removed.” (`key_managed`) | after “Remove”, on a company server managed by the BLACKBOX team | The key was installed by the BLACKBOX team. On these servers you can remove only the keys you added yourself or that are saved in your account. | If the key needs to be removed, write to us. |\n| “Another key change is already running for this server — try again in a moment.” (`operation_in_progress`) | after “Remove” | A change to the keys or to password login is already running on the same server, for example from another tab. | Wait a minute and try again. |\n| “Failed to change password login.” | after “Disable password login” or “Enable password login” | The change was not made: another change was in progress, the limit was exceeded, or the server did not respond. The previous setting stayed in place. | Wait a minute and try again. If it happens again, write to us. |\n\nDetails: [Adding and removing SSH keys on the server](#acces.chei-ssh-server) and [Enabling and disabling SSH password login](#acces.autentificare-parola-ssh).\n\n## Server upgrade\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| “Upgrade isn't available right now (…).” | the “Upgrade server” window | The parentheses contain a technical code in English. | See the explanation below the table. |\n| “No larger configuration is available for this server right now.” | the “Upgrade server” window | The server is already on the largest plan in its family. From the panel, you can upgrade only within the same family. | For a plan from another family, write to us. |\n| “This server's plan can't be upgraded this way — contact support.” (`not_upgradeable_plan`) | the “Upgrade server” window | The server's plan, for example a “VPS hosting” plan, cannot be increased from the panel. | Write to us. |\n| “Your wallet balance isn't enough to cover this upgrade.” (`insufficient_balance`) | the “Upgrade server” window, with the “Top up your balance →” link | The upgrade is paid only from your balance, and your balance does not cover the amount next to “Charged now (prorated)”. Nothing was charged. | Top up your balance ([Topping up your balance](#plati.alimentare-sold)), then open the window again. |\n| “An upgrade is already in progress for this server.” (`job_active`) | after “Upgrade server” | An upgrade started earlier is still running. | Don't start another one. Wait for the confirmation email, or check “Spec” on the card in a few minutes. |\n| “Upgrade failed”, “Upgrade reverted” | on the server card | The upgrade was not carried out. If an amount was taken from your balance, it is returned automatically. | You can try again. If it happens again, write to us. |\n| “Upgrade stalled — contact support” | on the server card | The upgrade has not moved forward for more than 15 minutes. | Write to us, with the order number. |\n\n**The code in parentheses.** In “Upgrade isn't available right now (…).”, the code shows the technical reason; you don't need to interpret it. The same code may also appear on its own, in the same window, above the buttons, after you click “Upgrade server”. It usually means one of the following:\n\n- the server is not currently in a state that allows an upgrade, for example it is just starting, rebooting or has another operation in progress: wait a few minutes and open the window again;\n- there is no larger plan that can be offered, or the server's data could not be read: write to us;\n- the infrastructure service is temporarily unavailable: try again later.\n\nIf the message doesn't go away, send us its exact text. Details: [Server upgrade: moving to a larger plan](#servere.upgrade).\n\n## Permanent deletion\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| “That doesn't match. Type \"…\" exactly to confirm.” (`confirm_mismatch`) | after “Schedule termination”, in the “Terminate server” window | The text you entered does not match the required name. The window accepts the server's original name, not the name you gave it with “Rename”. | Copy the name exactly from the “Type … to confirm” line and paste it into the field. |\n| “A termination is already scheduled for this server.” | after “Schedule termination” | The deletion has already been scheduled, for example from another tab. | Open the window again: you'll see the date it will run and the “Cancel termination” button. |\n\nDetails: [Permanently deleting a server](#servere.stergere-server).\n\n## Backups, monitoring and alerts\n\n| Message or code | Where it appears | What it means | What to do |\n|---|---|---|---|\n| `backup_extra_disabled` | after the “Backups” button on the server card | The automatic backup service is not available. The server and its data are not affected. | Make your own backups (see the note below). |\n| `panel_monitoring_disabled` | the “Monitoring” page | The “Monitoring” page is temporarily unavailable. Your servers are not affected. | Come back later. If the message doesn't go away, write to us. |\n| `rate_limited` | the “Monitoring” page | The page's data was requested too many times within one minute, through “Refresh” or by changing the server or the time range under “Trends”. | Wait a minute, then click “Refresh” once. |\n| `alerts_ingest_disabled` | after “Save” under “Notification preferences”, on the “Alerts” card | Alerts are temporarily unavailable, and your preferences were not saved. | Come back later and save again. |\n\n> **Note**\n> BLACKBOX does not currently make automatic backups of your server. Keep your own copies outside the server: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## “Rate limit exceeded — …” messages\n\nA message of the form “Rate limit exceeded — … limited to N requests per M seconds” (or “… per M minutes”) means you repeated the same action too many times in a short time: N is the number of requests allowed, and M is the length of the time window. For example:\n\n- “Rate limit exceeded — power actions are limited to 6 requests per 60 seconds”: at most 6 “Reboot”, “Stop” or “Start” commands per minute, for all your servers combined;\n- “Rate limit exceeded — resize is limited to 3 requests per 600 seconds”: at most 3 upgrade requests in 10 minutes.\n\nWhat to do:\n\n1. Stop clicking the button: attempts made while you are blocked also count and make the wait longer.\n2. Wait for the whole time window given in the message (600 seconds is 10 minutes).\n3. Try once.\n\nAll limits: [The “Too many attempts” message and usage limits](#faq.prea-multe-cereri).\n\n## Pages that are not for customers\n\nIf you open a saved link or type a panel address yourself, you may land on a page meant for the BLACKBOX team. This is not a problem with your account.\n\n| What you see | What to do |\n|---|---|\n| “403 — Access denied”, with the text “You don't have permission to access this page.” and the “Go to dashboard” button | Click “Go to dashboard”, then “My Servers” in the sidebar. |\n| A “… is coming soon” page, with the “Back to Overview” button | Click the button, then “My Servers” in the sidebar. |\n| The panel takes you to “Overview” without any message | Open “My Servers” from the sidebar. |\n\nThe line “If you believe this is an error, contact a Superadmin.” on the “403 — Access denied” page is addressed to the BLACKBOX team; for you, the page only means that the address is not meant for customers.\n\nIf “Overview” shows “No servers found. Contact an administrator to get access.”, this is normal: your servers are under “My Servers”. See [The panel shows “No servers found”](#faq.panoul-nu-arata-serverele).\n\n## “Unauthorized” or “Failed to load…” after a long break\n\nIf the panel has stayed open for a long time, your next action may show the message “Unauthorized” or a message that begins with “Failed to load…” (for example “Failed to load server data. Please try again later.” on the “Overview” page). Usually this means your session has expired: a panel session lasts 8 hours from sign-in.\n\n1. Reload the page (F5).\n2. If the panel's sign-in page appears, sign in again from blackbox.md: “Contul meu” (My account) → “Deschide panoul” (Open the panel). See [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n3. Open “My Servers” and repeat the action.\n\nIf the message appears right after a fresh sign-in, the session is not the cause: send us the exact text.\n\nThe message “Not found”, after you click a button on the card, means the server is no longer available in your account, for example because its deletion has been carried out in the meantime. Reload the page.\n\n## Frequently asked questions\n\n**Why do some messages stay in English or appear as codes, whatever language the panel is set to?**\nSome errors are passed on directly by the system, without translation, and the language you choose in the panel does not change them. Use the tables above.\n\n**Did anything change on the server after the error?**\nWith `reset_failed`, `invalid_public_key`, `ssh_key_push_failed` and the “Rate limit exceeded — …” messages, nothing changed. With `reset_persist_failed` and `reset_partial_failure_check_redis`, write to support immediately.\n\n**What should I send to support?**\nThe exact text of the message or a screenshot, the button you clicked, the approximate time, the order number `BBX-…` from the “Order” field, and the IP address. Don't send passwords or private keys. Copy the message before you reload the page, because it disappears afterward. Contacts: [How to contact BLACKBOX support](#suport.contact).\n\n**Does the AI assistant get the same messages?**\nErrors from the MCP tools are explained separately, in [MCP limits and error codes](#ai.limite-si-erori).\n"
   }
  },
  {
   "id": "faq.prea-multe-cereri",
   "section": "faq",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/prea-multe-cereri/",
    "ru": "https://docs.blackbox.md/ru/faq/prea-multe-cereri/",
    "en": "https://docs.blackbox.md/en/faq/prea-multe-cereri/"
   },
   "title": {
    "ro": "Mesajul „Prea multe încercări” și limitele de utilizare",
    "ru": "Сообщение «Слишком много попыток» и лимиты использования",
    "en": "The “Too many attempts” message and usage limits"
   },
   "summary": {
    "ro": "Toate limitele de frecvență pentru cont, comenzi, plăți, tichete, panou și AI, cu mesajul afișat la depășire.",
    "ru": "Все ограничения частоты для аккаунта, заказов, оплаты, тикетов, панели и AI и сообщения, которые появляются при превышении.",
    "en": "All the rate limits for your account, orders, payments, support tickets, the panel and AI, with the message shown when you go over each one."
   },
   "markdown": {
    "ro": "BLACKBOX limitează cât de des puteți repeta anumite acțiuni pe blackbox.md („Contul meu”, `blackbox.md/account`) și în panoul app.blackbox.md („Serverele mele”, „DNS”, „Monitorizare”, „Setări”). Când depășiți o limită, acțiunea este refuzată și apare un mesaj precum „Prea multe încercări…”, „Too many requests” sau „Rate limit exceeded — …”. Mai jos găsiți toate limitele, mesajul afișat pentru fiecare și ce trebuie să faceți.\n\n**Disponibil pentru:** orice client BLACKBOX. Limitele se aplică automat și nu se pot modifica din cont.\n\n## De ce există limite și cum se numără\n\n- Limitele protejează contul de ghicirea parolei și de roboți, iar serverele de acțiuni repetate din greșeală, de exemplu de un script sau de un asistent AI care repetă aceeași acțiune în buclă.\n- Intervalul este glisant: se numără încercările din intervalul indicat în tabel, socotit înapoi de la momentul actual. Nu există o oră fixă de resetare. Fiecare încercare iese din calcul după ce trece intervalul de la momentul ei.\n- Unele limite sunt pe cont, altele pe adresa IP. O limită pe adresa IP o împart toți cei care ies pe internet prin aceeași adresă, de exemplu colegii dintr-un birou sau utilizatorii aceluiași VPN.\n- La majoritatea acțiunilor, încercările făcute în timpul blocării se numără și ele, deci prelungesc blocarea: autentificarea directă în panou, butoanele din panou (inclusiv „DNS”, „Monitorizare” și schimbarea parolei în „Setări”), tichetele, cheile SSH, token-urile API, alimentarea soldului, plata din sold, anularea comenzilor și asistentul AI.\n- Încercările din timpul blocării nu se numără la: înregistrare, autentificarea pe blackbox.md (inclusiv cu Google sau GitLab), schimbarea parolei contului, emailul de verificare, „Deschide panoul”, plasarea comenzilor, descărcarea datelor și cererea de ștergere a contului.\n- Butoanele din panou și asistentul AI (MCP) au limite separate: folosirea unuia nu consumă limitele celuilalt.\n\n> **Atenție**\n> Nu reîncercați în buclă și nu apăsați butonul de mai multe ori. Așteptați intervalul întreg din tabel, socotit de la ultima încercare, apoi încercați o singură dată.\n\n## Cum recunoașteți o limită\n\n- **Mesaj în română:** „Prea multe încercări…”, „Prea multe modificări…”, „Prea multe cereri…” sau „Prea multe tichete create recent…”.\n- **Mesaj în engleză, transmis direct de server:** „Too many requests”, „Too many 2FA attempts”, „Too many attempts. Try again later.” sau „Rate limit exceeded — …”. De regulă, acesta din urmă indică și limita, de exemplu „… limited to 6 requests per 60 seconds” (6 cereri în 60 de secunde). Asistentul AI primește codul `rate_limited`.\n- **Fără mesaj despre limită.** Câteva ecrane nu spun că ați atins limita:\n  - autentificarea directă pe app.blackbox.md afișează „Nume de utilizator sau parolă incorecte.” chiar și cu parola corectă;\n  - „Trimite emailul de verificare” afișează „Email trimis. Verifică căsuța poștală.”, dar emailul nu mai este trimis;\n  - „Deschide panoul” deschide pagina de autentificare a panoului în loc să vă autentifice;\n  - alte ecrane arată o eroare generală, indicată în coloana „Ce vedeți la depășire” din tabelele de mai jos.\n\n## Ce faceți când apare mesajul\n\n1. Opriți-vă: nu mai apăsați butonul și nu reîncărcați pagina în buclă.\n2. Găsiți acțiunea în tabelele de mai jos și așteptați intervalul ei, socotit de la ultima încercare.\n3. Reîncărcați pagina și încercați o singură dată.\n4. Dacă limita este pe adresa IP și blocarea continuă, poate că altcineva din aceeași rețea face aceeași acțiune. Așteptați încă un interval.\n5. Dacă mesajul apare și după ce ați așteptat fără să repetați acțiunea, scrieți-ne: [Cum contactați suportul BLACKBOX](#suport.contact). Precizați acțiunea, ora și mesajul exact.\n\n## Contul și autentificarea\n\n| Acțiune | Limită | Ce vedeți la depășire |\n|---|---|---|\n| Înregistrare („Creare cont”) | 5 în 10 minute de pe aceeași adresă IP | „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” |\n| Autentificare pe blackbox.md („Autentificare”) | 5 în 5 minute pentru aceeași adresă de email; 20 în 5 minute de pe aceeași adresă IP | „Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” |\n| Autentificare cu Google sau GitLab | 30 pe oră de pe aceeași adresă IP | o pagină cu textul `{\"detail\":\"Too many requests\"}` |\n| Schimbarea parolei („Profilul meu” → „Schimbă parola” → „Salvează parola”) | 5 pe oră pe cont; 20 pe oră de pe aceeași adresă IP | „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” |\n| Emailul de verificare („Trimite emailul de verificare”) | 3 pe oră pe cont; 20 pe oră de pe aceeași adresă IP | „Email trimis. Verifică căsuța poștală.”, dar emailul nu se trimite |\n| „Deschide panoul” și celelalte linkuri spre panou din „Contul meu” | 10 pe oră pe cont; 30 pe oră de pe aceeași adresă IP | se deschide pagina de autentificare a panoului |\n| Descărcarea datelor („Descarcă datele mele”) | 3 în 24 de ore pe cont; 10 în 24 de ore de pe aceeași adresă IP | „Eroare la descărcare. Încercați din nou.” |\n| Cererea de ștergere a contului („Șterge contul meu”) | 5 pe oră pe cont; 20 pe oră de pe aceeași adresă IP | „Prea multe încercări. Încercați mai târziu.” |\n| Autentificarea directă pe app.blackbox.md | 5 în 5 minute pentru același nume de utilizator; 20 în 5 minute de pe aceeași adresă IP | „Nume de utilizator sau parolă incorecte.” (pe ecranul în engleză: „Invalid username or password.”) |\n| Codul 2FA în panou | 5 încercări la fiecare autentificare; pasul expiră după 5 minute | „Too many 2FA attempts”; reluați autentificarea de la început |\n| Schimbarea parolei în panou („Setări” → „Schimbă parola”) | 5 în 15 minute pe cont; 20 în 15 minute de pe aceeași adresă IP | „Too many attempts. Try again later.” |\n\n## Comenzi și plăți\n\n| Acțiune | Limită | Ce vedeți la depășire |\n|---|---|---|\n| Plasarea unei comenzi | 10 pe oră de pe aceeași adresă IP; 30 pe oră pe cont | cardul „Eroare la plasarea comenzii”, cu textul „Eroare la plasarea comenzii. Vă rugăm încercați din nou.” |\n| Alimentarea soldului (pagina „Alimentează soldul”) | 5 pe oră pe cont | „Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” |\n| Plata din sold („Achitați din sold”) | 10 pe minut pe cont | „Eroare la inițierea plății. Vă rugăm încercați din nou.” |\n| Anularea comenzii („Anulează comanda”) | 10 pe minut pe cont; în plus, 3 în 5 minute pentru comenzile la care serverul a fost deja creat sau crearea lui a eșuat | „Too many requests” |\n\n## Tichete de suport\n\nPagina „Tichete de suport” („Contul meu” → „Ajutor și suport”):\n\n| Acțiune | Limită | Ce vedeți la depășire |\n|---|---|---|\n| Tichet nou („Tichet nou” → „Trimite tichetul”) | 5 pe oră pe cont | „Prea multe tichete create recent. Încercați mai târziu.” |\n| Răspuns într-un tichet („Trimite”) | 20 pe oră pe cont | „Rate limit exceeded — try again later” |\n\n## Chei SSH și token-uri API\n\nPaginile „Chei SSH” și „Token-uri API” din „Contul meu”:\n\n| Acțiune | Limită | Ce vedeți la depășire |\n|---|---|---|\n| Adăugarea unei chei („Adaugă cheia”) | 10 pe oră pe cont | „Nu am putut adăuga cheia.” |\n| Ștergerea unei chei („Șterge”) | 20 pe oră pe cont | niciun mesaj; cheia rămâne în listă |\n| Crearea unui token („Creează token”) | 10 pe oră pe cont | „Too many requests” |\n\n## Panoul app.blackbox.md\n\nLimitele butoanelor de pe cardul serverului din „Serverele mele” sunt pe cont: se adună pentru toate serverele dvs.\n\n| Acțiune | Limită | Ce vedeți la depășire |\n|---|---|---|\n| Redenumire (creionul „Redenumește”) | 30 în 5 minute | „Prea multe modificări. Încercați din nou peste câteva minute.” |\n| „Afișează datele de acces” | 20 pe minut | „Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds” |\n| „Resetează parola” | 3 în 5 minute | „Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” |\n| „Repornește”, „Oprește”, „Pornește” | 6 pe minut, pentru toate serverele împreună | „Rate limit exceeded — power actions are limited to 6 requests per 60 seconds” |\n| „Adaugă cheie SSH” → „Adaugă cheia” | 10 în 5 minute | „Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes” |\n| „Șterge” la o cheie din „Chei instalate” | 10 în 5 minute | „Nu s-a putut șterge cheia.” |\n| Încărcarea listei „Chei instalate” | 30 pe minut | „Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds” |\n| „Dezactivează login cu parolă” / „Activează login cu parolă” | 5 în 5 minute | „Nu s-a putut schimba autentificarea prin parolă.” |\n| „Upgrade” → „Upgrade server” | 3 în 10 minute | „Rate limit exceeded — resize is limited to 3 requests per 600 seconds” |\n| „DNS”: conectarea unui furnizor („Conectează”) | 5 în 10 minute | „Prea multe cereri. Încercați din nou în curând.” |\n| „DNS”: adăugarea, editarea și ștergerea înregistrărilor, „Verifică”, „Deconectează” | 60 pe minut | același mesaj |\n| „DNS”: încărcarea conexiunilor, zonelor și înregistrărilor | 120 pe minut | același mesaj |\n| „Monitorizare”: încărcarea listei de servere și a graficelor | 30, respectiv 60 pe minut | `rate_limited` |\n\nMesajul „Furnizorul limitează numărul de cereri. Încercați din nou în curând.” de pe pagina „DNS” vine de la Cloudflare sau GoDaddy, nu de la BLACKBOX. Așteptați câteva minute și reîncercați.\n\n> **Sfat**\n> „Repornește”, „Oprește” și „Pornește” nu afișează un mesaj de reușită: butonul redevine activ imediat ce comanda este acceptată. Nu apăsați din nou; verificați după un minut, de exemplu prin SSH. Detalii: [Repornirea, oprirea și pornirea serverului](#servere.pornire-oprire-repornire).\n\n## Asistentul AI (MCP)\n\n- Un cont poate face cel mult 120 de apeluri de unelte pe minut, pentru toate token-urile și toți clienții AI împreună.\n- În plus, multe unelte au și o limită proprie, de exemplu 6 acțiuni de pornire, oprire sau repornire pe minut (`power_server`) sau 3 cereri de upgrade în 10 minute (`resize_server`).\n- La depășire, unealta răspunde cu `rate_limited`. Cereți asistentului să se oprească și să reia după un minut.\n- Tabelul complet al uneltelor: [Limite și coduri de eroare MCP](#ai.limite-si-erori).\n\n## Întrebări frecvente\n\n**Pot cere mărirea unei limite?**\nLimitele sunt aceleași pentru toți clienții și nu se pot schimba din cont. Dacă munca obișnuită vă blochează des, scrieți-ne și descrieți ce faceți: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Limita a apărut după o singură încercare. De ce?**\nLimita pe adresa IP o împărțiți cu ceilalți din aceeași rețea, iar limita pe cont, cu toate filele și dispozitivele în care sunteți autentificat. Așteptați intervalul din tabel și încercați din nou.\n\n**În panou apare „Nume de utilizator sau parolă incorecte.”, deși parola este corectă.**\nProbabil ați depășit 5 încercări în 5 minute. Așteptați 5 minute fără să mai încercați sau intrați din blackbox.md cu „Deschide panoul”. Alte cauze: [Nu pot intra în cont sau în panou](#faq.nu-pot-intra).\n\n**Am cerut de mai multe ori emailul de verificare și nu l-am primit.**\nDupă 3 cereri într-o oră, mesajul „Email trimis. Verifică căsuța poștală.” apare în continuare, dar emailul nu mai pleacă. Verificați dosarul Spam, așteptați o oră și cereți o singură dată. Detalii: [Verificarea adresei de email](#cont.verificare-email).\n\n**Asistentul AI îmi consumă limitele din panou?**\nNu. Butoanele din panou și asistentul AI au limite separate. Limitele asistentului se aplică tuturor token-urilor contului împreună.\n\n**Ce înseamnă celelalte erori din panou?**\nVedeți [Mesaje de eroare din panou și ce înseamnă](#faq.erori-panou).\n",
    "ru": "BLACKBOX ограничивает, как часто можно повторять некоторые действия на blackbox.md («Личный кабинет», `blackbox.md/ru/account`) и в панели app.blackbox.md («Мои серверы», «DNS», «Мониторинг», «Настройки»). При превышении лимита действие отклоняется и появляется сообщение вроде «Слишком много попыток…», «Too many requests» или «Rate limit exceeded — …». Ниже собраны все лимиты, сообщения, которые вы увидите при их превышении, и что делать.\n\n**Доступно:** любому клиенту BLACKBOX. Лимиты действуют автоматически, изменить их в аккаунте нельзя.\n\n## Зачем нужны лимиты и как они считаются\n\n- Лимиты защищают аккаунт от подбора пароля и ботов, а серверы — от случайно повторённых действий, например скрипта или AI-ассистента, который выполняет одно и то же действие в цикле.\n- Интервал скользящий: учитываются попытки за указанный в таблице интервал, отсчитанный назад от текущего момента. Фиксированного времени сброса нет. Каждая попытка перестаёт учитываться, когда с её момента проходит весь интервал.\n- Одни лимиты считаются на аккаунт, другие — на IP-адрес. Лимит на IP-адрес общий для всех, кто выходит в интернет через этот адрес, например для коллег в одном офисе или пользователей одного VPN.\n- Для большинства действий попытки во время блокировки тоже учитываются и поэтому продлевают её: прямой вход в панель, кнопки панели (в том числе «DNS», «Мониторинг» и смена пароля в «Настройках»), тикеты, SSH-ключи, API-токены, пополнение баланса, оплата с баланса, отмена заказов и AI-ассистент.\n- Попытки во время блокировки не учитываются при регистрации, входе на blackbox.md (в том числе через Google или GitLab), смене пароля аккаунта, отправке письма для подтверждения, нажатии «Открыть панель», оформлении заказов, скачивании данных и запросе на удаление аккаунта.\n- У кнопок панели и у AI-ассистента (MCP) раздельные лимиты: работа одного не расходует лимиты другого.\n\n> **Внимание**\n> Не повторяйте попытки в цикле и не нажимайте кнопку несколько раз. Подождите весь интервал из таблицы, считая от последней попытки, затем попробуйте один раз.\n\n## Как распознать лимит\n\n- **Сообщение на русском:** «Слишком много попыток…», «Слишком много изменений…», «Слишком много запросов…» или «Слишком много тикетов создано недавно…».\n- **Сообщение на английском, которое передаёт сервер:** «Too many requests», «Too many 2FA attempts», «Too many attempts. Try again later.» или «Rate limit exceeded — …». В последнем обычно указан и сам лимит, например «… limited to 6 requests per 60 seconds» (6 запросов за 60 секунд). AI-ассистент получает код `rate_limited`.\n- **Сообщения о лимите нет.** Некоторые экраны не сообщают, что лимит исчерпан:\n  - при прямом входе на app.blackbox.md появляется «Неверное имя пользователя или пароль.», даже если пароль верный;\n  - кнопка «Отправить письмо для подтверждения» показывает «Письмо отправлено. Проверьте почту.», но письмо больше не отправляется;\n  - кнопка «Открыть панель» открывает страницу входа в панель вместо автоматического входа;\n  - другие экраны показывают общую ошибку — она указана в столбце «Что вы увидите» в таблицах ниже.\n\n## Что делать, если появилось сообщение\n\n1. Остановитесь: не нажимайте кнопку снова и не обновляйте страницу раз за разом.\n2. Найдите действие в таблицах ниже и подождите его интервал, считая от последней попытки.\n3. Обновите страницу и попробуйте один раз.\n4. Если лимит считается на IP-адрес и блокировка не снимается, возможно, то же действие выполняет кто-то другой из вашей сети. Подождите ещё один интервал.\n5. Если сообщение появляется и после ожидания без повторных попыток, напишите нам: [Как связаться с поддержкой BLACKBOX](#suport.contact). Укажите действие, время и точный текст сообщения.\n\n## Аккаунт и вход\n\n| Действие | Лимит | Что вы увидите |\n|---|---|---|\n| Регистрация («Создать аккаунт») | 5 за 10 минут с одного IP-адреса | «Слишком много попыток. Пожалуйста, повторите через несколько минут.» |\n| Вход на blackbox.md («Вход») | 5 за 5 минут для одного email; 20 за 5 минут с одного IP-адреса | «Слишком много попыток входа. Пожалуйста, повторите через несколько минут.» |\n| Вход через Google или GitLab | 30 в час с одного IP-адреса | страница с текстом `{\"detail\":\"Too many requests\"}` |\n| Смена пароля («Мой профиль» → «Изменить пароль» → «Сохранить пароль») | 5 в час на аккаунт; 20 в час с одного IP-адреса | «Слишком много попыток. Пожалуйста, повторите через несколько минут.» |\n| Письмо для подтверждения («Отправить письмо для подтверждения») | 3 в час на аккаунт; 20 в час с одного IP-адреса | «Письмо отправлено. Проверьте почту.», но письмо не отправляется |\n| «Открыть панель» и другие ссылки на панель в личном кабинете | 10 в час на аккаунт; 30 в час с одного IP-адреса | открывается страница входа в панель |\n| Скачивание данных («Скачать мои данные») | 3 за 24 часа на аккаунт; 10 за 24 часа с одного IP-адреса | «Ошибка при скачивании. Попробуйте снова.» |\n| Запрос на удаление аккаунта («Удалить мой аккаунт») | 5 в час на аккаунт; 20 в час с одного IP-адреса | «Слишком много попыток. Попробуйте позже.» |\n| Прямой вход на app.blackbox.md | 5 за 5 минут для одного имени пользователя; 20 за 5 минут с одного IP-адреса | «Неверное имя пользователя или пароль.» (на английском экране — «Invalid username or password.») |\n| Код 2FA в панели | 5 попыток на каждый вход; шаг истекает через 5 минут | «Too many 2FA attempts»; начните вход заново |\n| Смена пароля в панели («Настройки» → «Смена пароля» → «Сменить пароль») | 5 за 15 минут на аккаунт; 20 за 15 минут с одного IP-адреса | «Too many attempts. Try again later.» |\n\n## Заказы и оплата\n\n| Действие | Лимит | Что вы увидите |\n|---|---|---|\n| Оформление заказа | 10 в час с одного IP-адреса; 30 в час на аккаунт | карточка «Ошибка при оформлении заказа» с текстом «Ошибка при оформлении заказа. Пожалуйста, попробуйте снова.» |\n| Пополнение баланса (страница «Пополнить баланс») | 5 в час на аккаунт | «Слишком много попыток. Пожалуйста, повторите через несколько минут.» |\n| Оплата с баланса («Оплатить с баланса») | 10 в минуту на аккаунт | «Ошибка при инициализации платежа. Пожалуйста, попробуйте снова.» |\n| Отмена заказа («Отменить заказ») | 10 в минуту на аккаунт; дополнительно 3 за 5 минут для заказов, по которым сервер уже создан или его создание не удалось | «Too many requests» |\n\n## Тикеты поддержки\n\nСтраница «Тикеты поддержки» («Личный кабинет» → «Помощь и поддержка»):\n\n| Действие | Лимит | Что вы увидите |\n|---|---|---|\n| Новый тикет («Новый тикет» → «Отправить тикет») | 5 в час на аккаунт | «Слишком много тикетов создано недавно. Попробуйте позже.» |\n| Ответ в тикете («Отправить») | 20 в час на аккаунт | «Rate limit exceeded — try again later» |\n\n## SSH-ключи и API-токены\n\nСтраницы «SSH-ключи» и «API-токены» в личном кабинете:\n\n| Действие | Лимит | Что вы увидите |\n|---|---|---|\n| Добавление ключа («Добавить ключ») | 10 в час на аккаунт | «Не удалось добавить ключ.» |\n| Удаление ключа («Удалить») | 20 в час на аккаунт | сообщения нет; ключ остаётся в списке |\n| Создание токена («Создать токен») | 10 в час на аккаунт | «Too many requests» |\n\n## Панель app.blackbox.md\n\nЛимиты кнопок на карточке сервера в разделе «Мои серверы» считаются на аккаунт: они общие для всех ваших серверов.\n\n| Действие | Лимит | Что вы увидите |\n|---|---|---|\n| Переименование (карандаш «Переименовать») | 30 за 5 минут | «Слишком много изменений. Попробуйте снова через несколько минут.» |\n| «Показать учётные данные» | 20 в минуту | «Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds» |\n| «Сбросить пароль» | 3 за 5 минут | «Rate limit exceeded — password reset is limited to 3 requests per 5 minutes» |\n| «Перезагрузить», «Остановить», «Запустить» | 6 в минуту, для всех серверов вместе | «Rate limit exceeded — power actions are limited to 6 requests per 60 seconds» |\n| «Добавить SSH-ключ» → «Добавить ключ» | 10 за 5 минут | «Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes» |\n| «Удалить» у ключа в списке «Установленные ключи» | 10 за 5 минут | «Не удалось удалить ключ.» |\n| Загрузка списка «Установленные ключи» | 30 в минуту | «Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds» |\n| «Отключить вход по паролю» / «Включить вход по паролю» | 5 за 5 минут | «Не удалось изменить вход по паролю.» |\n| «Апгрейд» → «Обновить сервер» | 3 за 10 минут | «Rate limit exceeded — resize is limited to 3 requests per 600 seconds» |\n| «DNS»: подключение провайдера («Подключить») | 5 за 10 минут | «Слишком много запросов. Повторите попытку позже.» |\n| «DNS»: добавление, изменение и удаление записей, «Проверить», «Отключить» | 60 в минуту | то же сообщение |\n| «DNS»: загрузка подключений, зон и записей | 120 в минуту | то же сообщение |\n| «Мониторинг»: загрузка списка серверов и графиков | 30 и 60 в минуту соответственно | `rate_limited` |\n\nСообщение «Провайдер ограничивает количество запросов. Повторите попытку позже.» на странице «DNS» приходит от Cloudflare или GoDaddy, а не от BLACKBOX. Подождите несколько минут и повторите.\n\n> **Совет**\n> Кнопки «Перезагрузить», «Остановить» и «Запустить» не показывают сообщение об успехе: кнопка снова становится активной, как только команда принята. Не нажимайте повторно — проверьте через минуту, например по SSH. Подробнее: [Перезагрузка, остановка и запуск сервера](#servere.pornire-oprire-repornire).\n\n## AI-ассистент (MCP)\n\n- Аккаунт может выполнять не более 120 вызовов инструментов в минуту — для всех токенов и всех AI-клиентов вместе.\n- Кроме того, у многих инструментов есть собственный лимит, например 6 действий запуска, остановки или перезагрузки в минуту (`power_server`) или 3 запроса на апгрейд за 10 минут (`resize_server`).\n- При превышении инструмент отвечает `rate_limited`. Попросите ассистента остановиться и продолжить через минуту.\n- Полная таблица по инструментам: [Лимиты и коды ошибок MCP](#ai.limite-si-erori).\n\n## Частые вопросы\n\n**Можно ли увеличить лимит?**\nЛимиты одинаковы для всех клиентов, и изменить их в аккаунте нельзя. Если лимиты часто мешают обычной работе, напишите нам и опишите, что вы делаете: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**Лимит сработал после первой же попытки. Почему?**\nЛимит на IP-адрес общий для всех в вашей сети, а лимит на аккаунт — для всех вкладок и устройств, где вы вошли. Подождите интервал из таблицы и попробуйте снова.\n\n**Панель пишет «Неверное имя пользователя или пароль.», хотя пароль верный.**\nСкорее всего, вы превысили 5 попыток за 5 минут. Подождите 5 минут, ничего не вводя, или войдите из blackbox.md кнопкой «Открыть панель». Другие причины: [Не получается войти в аккаунт или панель](#faq.nu-pot-intra).\n\n**Письмо для подтверждения запрошено несколько раз, но так и не пришло.**\nПосле 3 запросов за час сообщение «Письмо отправлено. Проверьте почту.» продолжает появляться, но письмо больше не уходит. Проверьте папку «Спам», подождите час и запросите письмо один раз. Подробнее: [Подтверждение адреса email](#cont.verificare-email).\n\n**Расходует ли AI-ассистент лимиты панели?**\nНет. У кнопок панели и у AI-ассистента раздельные лимиты. Лимиты ассистента действуют для всех токенов аккаунта вместе.\n\n**Что значат другие ошибки в панели?**\nСм. [Сообщения об ошибках в панели и что они значат](#faq.erori-panou).\n",
    "en": "BLACKBOX limits how often you can repeat certain actions on blackbox.md (“Contul meu” (My account), `blackbox.md/account`) and in the app.blackbox.md panel (“My Servers”, “DNS”, “Monitoring”, “Settings”). When you go over a limit, the action is refused and a message appears, such as “Prea multe încercări…” (Too many attempts…), “Too many requests” or “Rate limit exceeded — …”. Below you will find all the limits, the message shown for each one and what to do.\n\n**Available to:** any BLACKBOX customer. The limits apply automatically and can't be changed from your account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Why limits exist and how they are counted\n\n- Limits protect your account from password guessing and bots, and protect the servers from actions repeated by mistake, for example by a script or by an AI assistant that repeats the same action in a loop.\n- The window is sliding: the count covers the attempts made within the interval shown in the table, counted back from the current moment. There is no fixed reset time. Each attempt drops out of the count once the full interval has passed since it was made.\n- Some limits are per account, others per IP address. A per-IP limit is shared by everyone who connects to the internet through the same address, for example colleagues in the same office or users of the same VPN.\n- For most actions, attempts made while you are blocked also count, so they extend the block: direct sign-in to the panel, the panel buttons (including “DNS”, “Monitoring” and the password change in “Settings”), support tickets, SSH keys, API tokens, balance top-ups, payment from your balance, order cancellations and the AI assistant.\n- Attempts made while you are blocked don't count for: sign-up, sign-in on blackbox.md (including with Google or GitLab), changing your account password, the verification email, “Deschide panoul” (Open the panel), placing orders, downloading your data and the account deletion request.\n- The panel buttons and the AI assistant (MCP) have separate limits: using one doesn't use up the limits of the other.\n\n> **Warning**\n> Don't retry in a loop and don't click a button several times. Wait for the full interval in the table, counted from your last attempt, then try just once.\n\n## How to recognize a limit\n\n- **A message in the language of the website or the panel:** on blackbox.md, which is in Romanian, “Prea multe încercări…” (Too many attempts…) or “Prea multe tichete create recent…” (Too many tickets created recently…); in the panel, “Too many changes…” or “Too many requests…”.\n- **A message in English, passed on directly by the server:** “Too many requests”, “Too many 2FA attempts”, “Too many attempts. Try again later.” or “Rate limit exceeded — …”. The last one usually also states the limit, for example “… limited to 6 requests per 60 seconds”. The AI assistant receives the `rate_limited` code.\n- **No message about the limit.** A few screens don't tell you that you have reached the limit:\n  - direct sign-in on app.blackbox.md shows “Invalid username or password.” even when the password is correct;\n  - “Trimite emailul de verificare” (Send verification email) shows “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.), but the email is no longer sent;\n  - “Deschide panoul” (Open the panel) opens the panel's sign-in page instead of signing you in;\n  - other screens show a general error, given in the “What you see over the limit” column of the tables below.\n\n## What to do when the message appears\n\n1. Stop: don't click the button again and don't keep reloading the page.\n2. Find the action in the tables below and wait for its interval, counted from your last attempt.\n3. Reload the page and try just once.\n4. If the limit is per IP address and the block continues, someone else on the same network may be doing the same action. Wait one more interval.\n5. If the message still appears after you have waited without repeating the action, write to us: [How to contact BLACKBOX support](#suport.contact). Include the action, the time and the exact message.\n\n## Account and sign-in\n\n| Action | Limit | What you see over the limit |\n|---|---|---|\n| Sign-up (“Creare cont” (Create account)) | 5 in 10 minutes from the same IP address | “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) |\n| Sign-in on blackbox.md (“Autentificare” (Sign in)) | 5 in 5 minutes for the same email address; 20 in 5 minutes from the same IP address | “Prea multe încercări de autentificare. Vă rugăm încercați din nou peste câteva minute.” (Too many sign-in attempts. Please try again in a few minutes.) |\n| Sign-in with Google or GitLab | 30 per hour from the same IP address | a page with the text `{\"detail\":\"Too many requests\"}` |\n| Changing your password (“Profilul meu” (My profile) → “Schimbă parola” (Change password) → “Salvează parola” (Save password)) | 5 per hour per account; 20 per hour from the same IP address | “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” |\n| The verification email (“Trimite emailul de verificare” (Send verification email)) | 3 per hour per account; 20 per hour from the same IP address | “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.), but the email isn't sent |\n| “Deschide panoul” (Open the panel) and the other links to the panel in “Contul meu” (My account) | 10 per hour per account; 30 per hour from the same IP address | the panel's sign-in page opens |\n| Downloading your data (“Descarcă datele mele” (Download my data)) | 3 in 24 hours per account; 10 in 24 hours from the same IP address | “Eroare la descărcare. Încercați din nou.” (Download error. Please try again.) |\n| Account deletion request (“Șterge contul meu” (Delete my account)) | 5 per hour per account; 20 per hour from the same IP address | “Prea multe încercări. Încercați mai târziu.” (Too many attempts. Try again later.) |\n| Direct sign-in on app.blackbox.md | 5 in 5 minutes for the same username; 20 in 5 minutes from the same IP address | “Invalid username or password.” |\n| The 2FA code in the panel | 5 attempts per sign-in; the step expires after 5 minutes | “Too many 2FA attempts”; start signing in again from the beginning |\n| Changing your password in the panel (“Settings” → “Change Password”) | 5 in 15 minutes per account; 20 in 15 minutes from the same IP address | “Too many attempts. Try again later.” |\n\n## Orders and payments\n\n| Action | Limit | What you see over the limit |\n|---|---|---|\n| Placing an order | 10 per hour from the same IP address; 30 per hour per account | the “Eroare la plasarea comenzii” (Error placing the order) card, with the text “Eroare la plasarea comenzii. Vă rugăm încercați din nou.” (Error placing the order. Please try again.) |\n| Topping up your balance (the “Alimentează soldul” (Top up balance) page) | 5 per hour per account | “Prea multe încercări. Vă rugăm încercați din nou peste câteva minute.” (Too many attempts. Please try again in a few minutes.) |\n| Paying from your balance (“Achitați din sold” (Pay from balance)) | 10 per minute per account | “Eroare la inițierea plății. Vă rugăm încercați din nou.” (Error starting the payment. Please try again.) |\n| Canceling an order (“Anulează comanda” (Cancel the order)) | 10 per minute per account; in addition, 3 in 5 minutes for orders whose server has already been created or failed to be created | “Too many requests” |\n\n## Support tickets\n\nThe “Tichete de suport” (Support tickets) page (“Contul meu” (My account) → “Ajutor și suport” (Help and support)):\n\n| Action | Limit | What you see over the limit |\n|---|---|---|\n| New ticket (“Tichet nou” (New ticket) → “Trimite tichetul” (Send ticket)) | 5 per hour per account | “Prea multe tichete create recent. Încercați mai târziu.” (Too many tickets created recently. Please try again later.) |\n| Replying in a ticket (“Trimite” (Send)) | 20 per hour per account | “Rate limit exceeded — try again later” |\n\n## SSH keys and API tokens\n\nThe “Chei SSH” (SSH keys) and “Token-uri API” (API tokens) pages in “Contul meu” (My account):\n\n| Action | Limit | What you see over the limit |\n|---|---|---|\n| Adding a key (“Adaugă cheia” (Add key)) | 10 per hour per account | “Nu am putut adăuga cheia.” (We couldn't add the key.) |\n| Deleting a key (“Șterge” (Delete)) | 20 per hour per account | no message; the key stays in the list |\n| Creating a token (“Creează token” (Create token)) | 10 per hour per account | “Too many requests” |\n\n## The app.blackbox.md panel\n\nThe limits for the buttons on the server card in “My Servers” are per account: they add up across all your servers.\n\n| Action | Limit | What you see over the limit |\n|---|---|---|\n| Renaming (the “Rename” pencil) | 30 in 5 minutes | “Too many changes. Please try again in a few minutes.” |\n| “Reveal credentials” | 20 per minute | “Rate limit exceeded — credentials view is limited to 20 requests per 60 seconds” |\n| “Reset password” | 3 in 5 minutes | “Rate limit exceeded — password reset is limited to 3 requests per 5 minutes” |\n| “Reboot”, “Stop”, “Start” | 6 per minute, for all servers combined | “Rate limit exceeded — power actions are limited to 6 requests per 60 seconds” |\n| “Add SSH key” → “Add key” | 10 in 5 minutes | “Rate limit exceeded — adding a key is limited to 10 requests per 5 minutes” |\n| “Remove” on a key in “Installed keys” | 10 in 5 minutes | “Failed to remove the key.” |\n| Loading the “Installed keys” list | 30 per minute | “Rate limit exceeded — listing keys is limited to 30 requests per 60 seconds” |\n| “Disable password login” / “Enable password login” | 5 in 5 minutes | “Failed to change password login.” |\n| “Upgrade” → “Upgrade server” | 3 in 10 minutes | “Rate limit exceeded — resize is limited to 3 requests per 600 seconds” |\n| “DNS”: connecting a provider (“Connect”) | 5 in 10 minutes | “Too many requests. Try again shortly.” |\n| “DNS”: adding, editing and deleting records, “Verify”, “Disconnect” | 60 per minute | the same message |\n| “DNS”: loading connections, zones and records | 120 per minute | the same message |\n| “Monitoring”: loading the server list and the charts | 30 and 60 per minute, respectively | `rate_limited` |\n\nThe message “The provider is rate-limiting requests. Try again shortly.” on the “DNS” page comes from Cloudflare or GoDaddy, not from BLACKBOX. Wait a few minutes and try again.\n\n> **Tip**\n> “Reboot”, “Stop” and “Start” don't show a success message: the button becomes active again as soon as the command is accepted. Don't click again; check after a minute, for example over SSH. Details: [Rebooting, stopping and starting a server](#servere.pornire-oprire-repornire).\n\n## The AI assistant (MCP)\n\n- An account can make at most 120 tool calls per minute, for all its tokens and all AI clients combined.\n- In addition, many tools have a limit of their own, for example 6 start, stop or reboot actions per minute (`power_server`) or 3 upgrade requests in 10 minutes (`resize_server`).\n- Over the limit, the tool responds with `rate_limited`. Ask the assistant to stop and resume after a minute.\n- The full table of tools: [MCP limits and error codes](#ai.limite-si-erori).\n\n## Frequently asked questions\n\n**Can I ask for a limit to be raised?**\nThe limits are the same for all customers and can't be changed from your account. If they often block your normal work, write to us and describe what you are doing: [How to contact BLACKBOX support](#suport.contact).\n\n**The limit kicked in after a single attempt. Why?**\nYou share the per-IP limit with everyone else on the same network, and the per-account limit with all the tabs and devices where you are signed in. Wait for the interval in the table and try again.\n\n**The panel shows “Invalid username or password.” even though my password is correct.**\nYou have probably gone over 5 attempts in 5 minutes. Wait 5 minutes without trying again, or sign in from blackbox.md with “Deschide panoul” (Open the panel). Other causes: [I can't sign in to my account or the panel](#faq.nu-pot-intra).\n\n**I requested the verification email several times and didn't receive it.**\nAfter 3 requests in an hour, the message “Email trimis. Verifică căsuța poștală.” (Email sent. Check your inbox.) still appears, but the email is no longer sent. Check your Spam folder, wait an hour and request it just once. Details: [Verifying your email address](#cont.verificare-email).\n\n**Does the AI assistant use up my panel limits?**\nNo. The panel buttons and the AI assistant have separate limits. The assistant's limits apply to all of the account's tokens combined.\n\n**What do the other panel errors mean?**\nSee [Panel error messages and what they mean](#faq.erori-panou).\n"
   }
  },
  {
   "id": "faq.limitari-cunoscute",
   "section": "faq",
   "app": "general",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/faq/limitari-cunoscute/",
    "ru": "https://docs.blackbox.md/ru/faq/limitari-cunoscute/",
    "en": "https://docs.blackbox.md/en/faq/limitari-cunoscute/"
   },
   "title": {
    "ro": "Ce nu este disponibil și alternative",
    "ru": "Что недоступно и какие есть альтернативы",
    "en": "What isn't available and the alternatives"
   },
   "summary": {
    "ro": "O listă onestă a funcțiilor care nu există în cont sau în panou și ce puteți face în schimb.",
    "ru": "Честный список функций, которых нет в аккаунте или панели, и что можно сделать вместо них.",
    "en": "An honest list of the features your account and the panel don't have, and what you can do instead."
   },
   "markdown": {
    "ro": "Unele pagini de prezentare de pe blackbox.md descriu servicii pe care nu le puteți comanda sau configura singur din cont. Lista de mai jos arată ce **nu** oferă astăzi contul blackbox.md („Contul meu”) și panoul app.blackbox.md și ce puteți face în schimb. Tot ce este marcat „la cerere” se rezolvă prin suport: vedeți [Cum contactați suportul BLACKBOX](#suport.contact).\n\n**Disponibil pentru:** toți clienții. Lista se referă la contul blackbox.md și la panoul app.blackbox.md.\n\n## Serverul și panoul\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Consolă web sau VNC | Administrați serverul prin SSH: [Conectarea la server prin SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Dacă ați pierdut accesul SSH și butoanele din panou nu ajută, scrieți-ne: [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces). |\n| Backup automat, snapshot-uri, restaurare din panou | Faceți-vă singur copiile și păstrați-le în afara serverului: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup). Butonul „Backup” de pe cardul serverului nu funcționează: când îl apăsați, afișează doar eroarea `backup_extra_disabled`. |\n| Reinstalarea sistemului de operare | Panoul nu are un astfel de buton. Scrieți-ne (datele de pe server se pierd) sau comandați un server nou cu sistemul dorit și ștergeți-l pe cel vechi. |\n| Trecerea la un plan mai mic sau în altă familie de planuri | Butonul „Upgrade” oferă doar planuri mai mari din aceeași familie: [Upgrade server: trecerea la un plan mai mare](#servere.upgrade). Altfel, comandați planul dorit, mutați datele ([Mutarea unui site pe serverul BLACKBOX](#ghiduri.migrare-site)) și ștergeți serverul vechi, sau scrieți-ne. Planurile „VPS hosting” și serverele dedicate nu se pot actualiza din panou: dacă vedeți mesajul „Planul acestui server nu poate fi actualizat în acest mod — contactați suportul.”, scrieți-ne. |\n| Transferul unui server către alt cont | Nu există transfer din cont sau din panou. Scrieți-ne de pe adresa de email a contului care deține serverul. Mesajul „Aveți servere active. Închideți-le sau transferați-le mai întâi.”, afișat la ștergerea contului, nu înseamnă că există un buton de transfer. |\n| Reverse DNS (PTR) | Nu se setează din panou. Scrieți-ne IP-ul serverului și numele dorit. |\n| IPv6 | Cardul serverului afișează o singură adresă, în câmpul „IP”; nu există câmp pentru IPv6. Dacă aveți nevoie de IPv6, întrebați suportul. |\n| Setări de firewall în panou | Folosiți firewall-ul sistemului (ufw sau firewalld). Pentru porturi închise în filtrul de rețea administrat de BLACKBOX, scrieți-ne: [Firewall: filtrarea din rețea și ufw/firewalld pe server](#ghiduri.firewall). Înainte de a activa firewall-ul, permiteți SSH și păstrați deschisă o a doua sesiune SSH. |\n| Rețea privată între servere | Panoul nu oferă rețele private între servere. Dacă aplicația de pe un server folosește o bază de date de pe alt server, porniți de pe serverul cu aplicația un tunel SSH (portul 22) spre serverul bazei de date: [Baze de date: MariaDB/MySQL și PostgreSQL](#ghiduri.baze-de-date). Sau cereți suportului să deschidă portul bazei de date și permiteți-l în firewall-ul sistemului doar de la IP-ul serverului cu aplicația. |\n\n> **Important**\n> Nu există backup automat al serverului. Înainte de un upgrade, de o reinstalare sau de ștergerea serverului, copiați fișierele și bazele de date pe alt calculator sau server.\n\n## Comanda\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Alegerea centrului de date | Comanda nu are o opțiune de locație. Dacă locul în care sunt găzduite datele contează pentru dvs., scrieți-ne înainte de a comanda. |\n| Windows Server comandat online | Pasul „Sistem de operare” conține doar sisteme Linux: [Sistemele de operare disponibile](#comenzi.sisteme-operare). Windows este la cerere: pagina `blackbox.md/servers/windows-vps`, butonul „Cere un Windows VPS”. Vedeți [Produse și configurații disponibile la cerere](#comenzi.produse-la-cerere). |\n| Servicii suplimentare bifate la comandă | La comandă nu se pot alege. Serviciul „Monitoring 24/7” îl obțineți prin suport sau cerând unui asistent AI să plaseze o comandă nouă cu acest serviciu: [Comenzi, plăți, anulări și upgrade prin AI](#ai.comenzi-si-plati-prin-ai). Celelalte servicii: [Servicii suplimentare pentru server](#servicii.servicii-suplimentare). |\n\n## Plăți și facturi\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Plata unei facturi cu cardul | În „Facturi”, la facturile „Trimisă” și „Restantă” apare textul „Plata online — în curând”: plata cu cardul a facturilor nu este disponibilă. Alimentați soldul cu cardul și porniți plata automată din sold (comutatorul „Reîncărcare automată” din pagina „Sold”): [Plata automată a facturilor din sold](#plati.plata-automata). Sau plătiți prin transfer bancar: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar). |\n| Descărcarea facturii în PDF | Nu există buton de descărcare. PDF-ul facturii unei comenzi plătite vine atașat la emailul „Plată confirmată — BBX-…”. Pentru alte facturi, cereți PDF-ul suportului: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi). |\n| Factură pentru alimentarea soldului | Pentru o alimentare nu se emite factură. Primiți emailul „Alimentare cont confirmată — BLACKBOX”, iar suma apare pe pagina „Sold”, în „Istoricul operațiunilor”. Factura `BBX-…` apare în „Facturi” când achitați din sold o comandă: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi). Dacă vă trebuie un document pentru alimentare, scrieți-ne. |\n\n## Contul și accesul\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Resetarea parolei contului blackbox.md prin email | Pe blackbox.md nu există această funcție. Intrați cu Google sau GitLab, folosind aceeași adresă de email, sau scrieți-ne de pe adresa contului: [Ați uitat parola contului](#cont.parola-uitata). |\n| Dezactivarea 2FA din panou | Pagina „Securitate” a panoului nu are buton de dezactivare. Scrieți-ne de pe adresa contului: echipa vă verifică identitatea și elimină 2FA. Vedeți [Ați pierdut dispozitivul pentru 2FA](#cont.dispozitiv-2fa-pierdut). |\n| Colegi, sub-utilizatori, roluri | Nu puteți invita colegi și nu puteți partaja servere din cont sau din panou: fiecare persoană folosește propriul cont blackbox.md. Ca un coleg să se poată conecta la server, adăugați cheia lui SSH pe server: [Adăugarea și ștergerea cheilor SSH pe server](#acces.chei-ssh-server). Accesul comun la serverele unei companii: la cerere, prin suport. |\n\n## Domenii și instrumente\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Înregistrarea sau transferul online al unui domeniu | Nu există căutare, listă de prețuri sau formular. Butonul „Inițiază transfer (login)” deschide doar pagina de autentificare. Scrieți-ne: [Înregistrarea și transferul domeniilor](#domenii.inregistrare-transfer). |\n| Decodorul CSR online | Pagina „Decoder CSR” (`blackbox.md/domains/csr-decode`, în meniu „CSR Decodor”) nu decodează CSR-uri. Folosiți openssl: [Verificarea unui CSR sau certificat cu openssl](#domenii.verificare-csr). |\n\nCa să vedeți conținutul unui CSR, rulați comanda de mai jos (înlocuiți `DOMENIU.csr` cu numele fișierului dvs.):\n\n```bash\nopenssl req -in DOMENIU.csr -noout -text\n```\n\n## Suportul\n\n| Ce lipsește | Ce puteți face |\n|---|---|\n| Răspuns la tichet prin email | Răspunsul trimis la emailul de notificare „[Ticket #N] …” nu ajunge în tichet. Deschideți tichetul (butonul „Vezi conversația” din email sau „Contul meu” → „Ajutor și suport”) și răspundeți acolo: [Răspunsuri, statusuri și închiderea tichetelor](#suport.statusuri-tichete). |\n| Fișiere atașate în tichete | Tichetele acceptă doar text. Lipiți jurnalele ca text; capturile de ecran și fișierele trimiteți-le la support@blackbox.md, menționând numărul tichetului (#N). Vedeți [Deschiderea unui tichet de suport](#suport.tichet-nou). |\n\n## Întrebări frecvente\n\n**Pe site am găsit o funcție care nu apare nici în cont, nici în această listă. Ce fac?**\nScrieți-ne înainte de a comanda și descrieți ce vă trebuie. Vă confirmăm ce se poate livra și în ce condiții. Nu vă bazați pe o funcție pe care nu o vedeți în cont sau în panou.\n\n**Emailul „Serverul dvs. este gata — BBX-…” pomenește o consolă VNC. Unde o găsesc?**\nNicăieri: clienții nu au consolă web sau VNC. Conectați-vă prin SSH. Dacă nu mai puteți intra, folosiți butoanele din panou descrise în [Ați pierdut accesul la server (parolă sau cheie)](#acces.recuperare-acces) sau scrieți-ne.\n\n**Pot face un snapshot înainte de upgrade sau de ștergere?**\nNu. Copiați fișierele și faceți un dump al bazelor de date pe alt calculator sau server: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup). Upgrade-ul păstrează adresa IP și datele, dar copia vă protejează dacă ceva nu merge cum trebuie.\n\n**Cum îi dau unui coleg acces la server fără parola contului meu?**\nAdăugați cheia lui publică SSH pe server: în cardul serverului, „Adaugă cheie SSH” → „Lipește o cheie nouă”. Nu împărțiți parola contului blackbox.md: cu ea se plasează comenzi și se fac plăți. Când colegul nu mai are nevoie de acces, ștergeți cheia din lista „Chei instalate”.\n",
    "ru": "Некоторые страницы blackbox.md описывают услуги, которые нельзя самостоятельно заказать или настроить в аккаунте. Ниже собрано то, чего сегодня **нет** в аккаунте blackbox.md («Личный кабинет») и в панели app.blackbox.md, и что можно сделать вместо этого. Всё, что делается «по запросу», решается через поддержку: см. [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n**Доступно:** всем клиентам. Список относится к аккаунту blackbox.md и панели app.blackbox.md.\n\n## Сервер и панель\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Веб-консоль или VNC | Управляйте сервером по SSH: [Подключение к серверу по SSH (Windows, macOS, Linux)](#acces.conectare-ssh). Если доступ по SSH потерян, а кнопки панели не помогают, напишите нам: [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces). |\n| Автоматические резервные копии, снимки (snapshots), восстановление из панели | Делайте резервные копии сами и храните их вне сервера: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup). Кнопка «Резервные копии» в карточке сервера не работает: при нажатии она показывает только ошибку `backup_extra_disabled`. |\n| Переустановка ОС | Такой кнопки в панели нет. Напишите нам (данные на сервере будут потеряны) или закажите новый сервер с нужной ОС и удалите старый. |\n| Переход на меньший тариф или в другое семейство тарифов | Кнопка «Апгрейд» предлагает только более крупные тарифы из того же семейства: [Апгрейд сервера: переход на больший тариф](#servere.upgrade). В остальных случаях закажите нужный тариф, перенесите данные ([Перенос сайта на сервер BLACKBOX](#ghiduri.migrare-site)) и удалите старый сервер — или напишите нам. Тарифы «VPS hosting» и выделенные серверы через панель не апгрейдятся: если вы видите сообщение «Тариф этого сервера нельзя обновить таким способом — обратитесь в поддержку.», напишите нам. |\n| Передача сервера в другой аккаунт | Ни в аккаунте, ни в панели такой функции нет. Напишите нам с адреса аккаунта, которому принадлежит сервер. Сообщение «У вас есть активные серверы. Сначала завершите или передайте их.» при удалении аккаунта не означает, что где-то есть кнопка передачи. |\n| Обратный DNS (PTR) | В панели не настраивается. Напишите нам IP сервера и нужное имя. |\n| IPv6 | В карточке сервера один адрес в поле «IP», отдельного поля для IPv6 нет. Если вам нужен IPv6, спросите поддержку. |\n| Настройки файрвола в панели | Используйте файрвол системы (ufw или firewalld). Если нужен порт, закрытый в сетевом фильтре BLACKBOX, напишите нам: [Файрвол: сетевая фильтрация и ufw/firewalld на сервере](#ghiduri.firewall). Прежде чем включать файрвол, разрешите SSH и держите открытой вторую SSH-сессию. |\n| Частная сеть между серверами | Частных сетей между серверами в панели нет. Если приложение на одном сервере работает с базой данных на другом, запустите с сервера приложения SSH-туннель (порт 22) к серверу базы данных: [Базы данных: MariaDB/MySQL и PostgreSQL](#ghiduri.baze-de-date). Или попросите поддержку открыть порт базы данных и разрешите его в файрволе системы только с IP сервера приложения. |\n\n> **Важно**\n> Автоматического резервного копирования сервера нет. Перед апгрейдом, переустановкой или удалением сервера скопируйте файлы и базы данных на другой компьютер или сервер.\n\n## Заказ\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Выбор дата-центра | При заказе нельзя выбрать, где будет размещён сервер. Если вам важно, где размещаются данные, напишите нам до заказа. |\n| Заказ Windows Server онлайн | На шаге «Операционная система» есть только Linux: [Доступные операционные системы](#comenzi.sisteme-operare). Windows — по запросу: страница `blackbox.md/ru/servers/windows-vps`, кнопка «Запросить Windows VPS». См. [Продукты и конфигурации по запросу](#comenzi.produse-la-cerere). |\n| Дополнительные услуги при оформлении заказа | При заказе их выбрать нельзя. Услугу «Мониторинг 24/7» можно получить через поддержку или попросить AI-ассистента оформить новый заказ с этой услугой: [Заказы, оплата, отмена и апгрейд через AI](#ai.comenzi-si-plati-prin-ai). Остальные услуги: [Дополнительные услуги для сервера](#servicii.servicii-suplimentare). |\n\n## Оплата и счета\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Оплата счёта картой | В разделе «Счета» у счетов со статусом «Отправлен» и «Просрочен» стоит надпись «Онлайн-оплата — скоро»: оплатить счёт картой нельзя. Пополните баланс картой и включите автоплатёж с баланса (переключатель «Автоматическое пополнение» на странице «Баланс»): [Автоматическая оплата счетов с баланса](#plati.plata-automata). Или оплатите банковским переводом: [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar). |\n| Скачивание счёта в PDF | Кнопки скачивания нет. PDF-счёт оплаченного заказа приходит вложением к письму «Plată confirmată — BBX-…» (тема письма всегда на румынском). Другие счета в PDF запросите в поддержке: [Страница «Счета»: статусы, номера и PDF](#plati.facturi). |\n| Счёт на пополнение баланса | На пополнение баланса счёт не выставляется. Приходит письмо «Alimentare cont confirmată — BLACKBOX» (тема на румынском), а сумма появляется на странице «Баланс» в разделе «История операций». Счёт `BBX-…` появляется в разделе «Счета», когда вы оплачиваете заказ с баланса: [Страница «Счета»: статусы, номера и PDF](#plati.facturi). Если вам нужен документ на пополнение, напишите нам. |\n\n## Аккаунт и доступ\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Сброс пароля от аккаунта blackbox.md по email | На blackbox.md такой функции нет. Войдите через Google или GitLab с тем же адресом email или напишите нам с адреса аккаунта: [Забыли пароль от аккаунта](#cont.parola-uitata). |\n| Отключение 2FA в панели | На странице «Безопасность» в панели кнопки отключения нет. Напишите нам с адреса аккаунта: поддержка проверит вашу личность и отключит 2FA. См. [Потеряно устройство для 2FA](#cont.dispozitiv-2fa-pierdut). |\n| Коллеги, дополнительные пользователи, роли | Приглашать коллег и делиться серверами из аккаунта или панели нельзя: у каждого человека свой аккаунт blackbox.md. Чтобы коллега мог подключаться к серверу, добавьте на сервер его SSH-ключ: [Добавление и удаление SSH-ключей на сервере](#acces.chei-ssh-server). Общий доступ к серверам компании — по запросу через поддержку. |\n\n## Домены и инструменты\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Регистрация или перенос домена онлайн | Нет ни поиска, ни прайс-листа, ни формы. Кнопка «Начать перенос (вход)» открывает только страницу входа. Напишите нам: [Регистрация и перенос доменов](#domenii.inregistrare-transfer). |\n| Онлайн-декодер CSR | Страница «Декодер CSR» (`blackbox.md/ru/domains/csr-decode`) не декодирует CSR. Используйте openssl: [Проверка CSR или сертификата с помощью openssl](#domenii.verificare-csr). |\n\nЧтобы посмотреть содержимое CSR, выполните команду ниже (замените `ДОМЕН.csr` на имя вашего файла):\n\n```bash\nopenssl req -in ДОМЕН.csr -noout -text\n```\n\n## Поддержка\n\n| Чего нет | Что можно сделать |\n|---|---|\n| Ответ на тикет по email | Ответ на письмо-уведомление «[Ticket #N] …» в тикет не попадает. Откройте тикет (кнопка «Vezi conversația» в письме — оно приходит на румынском — или «Личный кабинет» → «Помощь и поддержка») и ответьте там: [Ответы, статусы и закрытие тикетов](#suport.statusuri-tichete). |\n| Вложения в тикетах | Тикеты принимают только текст. Логи вставьте текстом, а скриншоты и файлы отправьте на support@blackbox.md, указав номер тикета (#N). См. [Создание тикета в поддержку](#suport.tichet-nou). |\n\n## Частые вопросы\n\n**На сайте описана функция, которой нет ни в аккаунте, ни в этом списке. Что делать?**\nНапишите нам до заказа и опишите задачу. Мы подтвердим, что можем предоставить и на каких условиях. Не рассчитывайте на функцию, которую вы не видите в аккаунте или панели.\n\n**В письме «Serverul dvs. este gata — BBX-…» упоминается VNC-консоль. Где её найти?**\nНигде: веб-консоли и VNC у клиентов нет. Подключайтесь по SSH. Если войти не получается, воспользуйтесь кнопками панели из статьи [Потерян доступ к серверу (пароль или ключ)](#acces.recuperare-acces) или напишите нам.\n\n**Можно ли сделать снимок перед апгрейдом или удалением?**\nНет. Скопируйте файлы и сделайте дамп баз данных на другой компьютер или сервер: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup). Апгрейд сохраняет IP-адрес и данные, но копия пригодится, если что-то пойдёт не так.\n\n**Как дать коллеге доступ к серверу, не сообщая пароль от аккаунта?**\nДобавьте на сервер его публичный SSH-ключ: в карточке сервера «Добавить SSH-ключ» → «Вставить новый ключ». Не передавайте пароль от blackbox.md: с ним можно оформлять заказы и платить. Когда доступ коллеге больше не нужен, удалите ключ из списка «Установленные ключи».\n",
    "en": "Some product pages on blackbox.md describe services that you can't order or set up yourself from your account. The list below shows what your blackbox.md account (“Contul meu” (My account)) and the app.blackbox.md panel do **not** offer today, and what you can do instead. Everything marked “on request” is handled through support: see [How to contact BLACKBOX support](#suport.contact).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n**Available to:** all customers. The list covers your blackbox.md account and the app.blackbox.md panel.\n\n## The server and the panel\n\n| What's missing | What you can do |\n|---|---|\n| Web or VNC console | Manage your server over SSH: [Connecting to your server over SSH (Windows, macOS, Linux)](#acces.conectare-ssh). If you've lost SSH access and the panel buttons don't help, write to us: [Lost access to your server (password or key)](#acces.recuperare-acces). |\n| Automatic backups, snapshots, restoring from the panel | Make your own backups and keep them off the server: [Backup strategy for your server](#ghiduri.strategie-backup). The “Backups” button on the server card doesn't work: when you click it, it only shows the error `backup_extra_disabled`. |\n| Reinstalling the operating system | The panel has no such button. Write to us (the data on the server is lost), or order a new server with the system you want and delete the old one. |\n| Moving to a smaller plan or to another plan family | The “Upgrade” button offers only larger plans in the same family: [Server upgrade: moving to a larger plan](#servere.upgrade). Otherwise, order the plan you want, move your data ([Moving a site to a BLACKBOX server](#ghiduri.migrare-site)) and delete the old server, or write to us. “VPS hosting” plans and dedicated servers can't be upgraded from the panel: if you see the message “This server's plan can't be upgraded this way — contact support.”, write to us. |\n| Transferring a server to another account | There is no transfer option in your account or in the panel. Write to us from the email address of the account that owns the server. The message “Aveți servere active. Închideți-le sau transferați-le mai întâi.” (You have active servers. Close or transfer them first.), shown when you delete your account, does not mean that a transfer button exists. |\n| Reverse DNS (PTR) | It isn't set from the panel. Send us the server's IP and the name you want. |\n| IPv6 | The server card shows a single address, in the “IP” field; there is no field for IPv6. If you need IPv6, ask support. |\n| Firewall settings in the panel | Use the system firewall (ufw or firewalld). For ports closed in the network filter managed by BLACKBOX, write to us: [Firewall: network filtering and ufw/firewalld on the server](#ghiduri.firewall). Before you turn on the firewall, allow SSH and keep a second SSH session open. |\n| Private network between servers | The panel doesn't offer private networks between servers. If the application on one server uses a database on another server, start an SSH tunnel (port 22) from the application server to the database server: [Databases: MariaDB/MySQL and PostgreSQL](#ghiduri.baze-de-date). Or ask support to open the database port, and allow it in the system firewall only from the application server's IP. |\n\n> **Important**\n> There is no automatic backup of your server. Before an upgrade, a reinstallation or deleting the server, copy your files and databases to another computer or server.\n\n## Ordering\n\n| What's missing | What you can do |\n|---|---|\n| Choosing the data center | Ordering has no location option. If the place where your data is hosted matters to you, write to us before you order. |\n| Ordering Windows Server online | The “Sistem de operare” (Operating system) step offers only Linux systems: [Available operating systems](#comenzi.sisteme-operare). Windows is available on request: the `blackbox.md/servers/windows-vps` page, the “Cere un Windows VPS” (Request a Windows VPS) button. See [Products and configurations available on request](#comenzi.produse-la-cerere). |\n| Add-on services selected when you order | You can't choose them when you order. You can get the “Monitoring 24/7” service through support, or by asking an AI assistant to place a new order with this service: [Orders, payments, cancellations and upgrades via AI](#ai.comenzi-si-plati-prin-ai). The other services: [Add-on services for your server](#servicii.servicii-suplimentare). |\n\n## Payments and invoices\n\n| What's missing | What you can do |\n|---|---|\n| Paying an invoice by card | In “Facturi” (Invoices), invoices with the status “Trimisă” (Sent) or “Restantă” (Overdue) show the text “Plata online — în curând” (Online payment — coming soon): you can't pay invoices by card. Top up your balance by card and turn on automatic payment from your balance (the “Reîncărcare automată” (Automatic top-up) switch on the “Sold” (Balance) page): [Automatic payment of invoices from your balance](#plati.plata-automata). Or pay by bank transfer: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar). |\n| Downloading an invoice as a PDF | There is no download button. The PDF invoice for a paid order comes attached to the “Plată confirmată — BBX-…” (Payment confirmed — BBX-…) email. For other invoices, ask support for the PDF: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi). |\n| An invoice for a balance top-up | No invoice is issued for a top-up. You receive the “Alimentare cont confirmată — BLACKBOX” (Account top-up confirmed — BLACKBOX) email, and the amount appears on the “Sold” page, in “Istoricul operațiunilor” (Transaction history). A `BBX-…` invoice appears in “Facturi” when you pay for an order from your balance: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi). If you need a document for a top-up, write to us. |\n\n## Your account and access\n\n| What's missing | What you can do |\n|---|---|\n| Resetting your blackbox.md account password by email | blackbox.md doesn't have this feature. Sign in with Google or GitLab using the same email address, or write to us from your account's email address: [Forgot your account password](#cont.parola-uitata). |\n| Turning off 2FA in the panel | The panel's “Security” page has no button to turn it off. Write to us from your account's email address: the team verifies your identity and removes 2FA. See [Lost your 2FA device](#cont.dispozitiv-2fa-pierdut). |\n| Colleagues, sub-users, roles | You can't invite colleagues or share servers from your account or the panel: each person uses their own blackbox.md account. To let a colleague connect to a server, add their SSH key to the server: [Adding and removing SSH keys on the server](#acces.chei-ssh-server). Shared access to a company's servers: on request, through support. |\n\n## Domains and tools\n\n| What's missing | What you can do |\n|---|---|\n| Registering or transferring a domain online | There is no search, price list or form. The “Inițiază transfer (login)” (Start transfer (log in)) button only opens the sign-in page. Write to us: [Registering and transferring domains](#domenii.inregistrare-transfer). |\n| Online CSR decoder | The “Decoder CSR” (CSR decoder) page (`blackbox.md/domains/csr-decode`, “CSR Decodor” (CSR decoder) in the menu) doesn't decode CSRs. Use openssl: [Checking a CSR or certificate with openssl](#domenii.verificare-csr). |\n\nTo see the contents of a CSR, run the command below (replace `DOMAIN.csr` with the name of your file):\n\n```bash\nopenssl req -in DOMAIN.csr -noout -text\n```\n\n## Support\n\n| What's missing | What you can do |\n|---|---|\n| Replying to a support ticket by email | A reply you send to the “[Ticket #N] …” notification email doesn't reach the ticket. Open the ticket (the “Vezi conversația” (View the conversation) button in the email, or “Contul meu” (My account) → “Ajutor și suport” (Help and support)) and reply there: [Replies, statuses and closing tickets](#suport.statusuri-tichete). |\n| Attachments in support tickets | Tickets accept text only. Paste logs as text; send screenshots and files to support@blackbox.md, mentioning the ticket number (#N). See [Opening a support ticket](#suport.tichet-nou). |\n\n## Frequently asked questions\n\n**I found a feature on the website that appears neither in my account nor in this list. What should I do?**\nWrite to us before you order and describe what you need. We'll confirm what can be delivered and on what terms. Don't rely on a feature you don't see in your account or in the panel.\n\n**The “Serverul dvs. este gata — BBX-…” (Your server is ready — BBX-…) email mentions a VNC console. Where do I find it?**\nNowhere: customers have no web or VNC console. Connect over SSH. If you can no longer get in, use the panel buttons described in [Lost access to your server (password or key)](#acces.recuperare-acces), or write to us.\n\n**Can I take a snapshot before an upgrade or before deleting a server?**\nNo. Copy your files and make a dump of your databases to another computer or server: [Backup strategy for your server](#ghiduri.strategie-backup). An upgrade keeps your IP address and data, but a copy protects you if something goes wrong.\n\n**How do I give a colleague access to a server without my account password?**\nAdd their public SSH key to the server: on the server card, “Add SSH key” → “Paste a new key”. Don't share your blackbox.md account password: it's used to place orders and make payments. When your colleague no longer needs access, delete the key from the “Installed keys” list.\n"
   }
  },
  {
   "id": "legal.date-legale",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/date-legale/",
    "ru": "https://docs.blackbox.md/ru/legal/date-legale/",
    "en": "https://docs.blackbox.md/en/legal/date-legale/"
   },
   "title": {
    "ro": "Date legale și rechizitele BLACKBOX",
    "ru": "Юридические данные и реквизиты BLACKBOX",
    "en": "Legal details and BLACKBOX company details"
   },
   "summary": {
    "ro": "Cine furnizează serviciile BLACKBOX, datele companiei, rechizitele bancare și unde găsiți documentele legale.",
    "ru": "Кто предоставляет услуги BLACKBOX, данные компании, банковские реквизиты и где найти правовые документы.",
    "en": "Who provides BLACKBOX services, the company details, the bank details and where to find the legal documents."
   },
   "markdown": {
    "ro": "Serviciile BLACKBOX sunt furnizate de compania Click Expert S.R.L. Datele companiei apar în cardul „Date legale” de pe pagina „Termeni și condiții” (`blackbox.md/info/terms`). Împreună cu rechizitele bancare, le găsiți în blocul „Date pentru factură” de pe pagina „Contacte” (`blackbox.md/info/contacts`, meniul „Informații” → „Contacte”).\n\n**Disponibil pentru:** orice vizitator al blackbox.md. Nu aveți nevoie de cont.\n\n## Cine furnizează serviciile\n\nTermenii și condițiile sunt acordul-cadru dintre dvs. și „BLACKBOX, marcă administrată de Click Expert S.R.L.”. BLACKBOX este marca. Partea contractuală este Click Expert S.R.L.: numele ei apare pe facturi și în documentele legale, iar în ordinul de plată o indicați ca beneficiar.\n\n| Câmp | Valoare |\n|---|---|\n| Denumire | Click Expert S.R.L. |\n| IDNO | `1021600002628` |\n| Adresă juridică | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| Contact | support@blackbox.md |\n\nAcelași IDNO apare și pe ultimul rând din subsolul fiecărei pagini blackbox.md, după numele Click Expert S.R.L.\n\nCodul TVA al furnizorului nu este publicat: nici pe site, nici pe factura PDF nu apare un astfel de rând.\n\n## Rechizitele bancare\n\n| Câmp | Valoare |\n|---|---|\n| Beneficiar | Click Expert S.R.L. |\n| Bancă | BC Moldindconbank SA, fil. A. Russo |\n| IBAN | `MD64ML000000022519662930` |\n| SWIFT | `MOLDMD2X366` |\n\nFacturile se emit în lei moldovenești (MDL). Pentru un transfer în EUR sau USD, cereți mai întâi la support@blackbox.md datele contului în valuta respectivă. Ce scrieți la destinația plății și când este activat serviciul: [Plata prin transfer bancar și rechizitele BLACKBOX](#plati.transfer-bancar).\n\n### Cum găsiți rechizitele pe site\n\n1. Deschideți blackbox.md și alegeți în meniul de sus „Informații” → „Contacte” (coloana „Companie”). Linkul „Contacte” este și în subsolul site-ului.\n2. Sub cardurile de contact, apăsați „Date pentru factură”.\n3. Blocul se deschide și arată câmpurile „Denumire”, „IDNO”, „Adresă juridică”, „Bancă”, „SWIFT” și „IBAN”.\n\nAceleași date apar:\n\n- pe pagina „Plata serviciilor” (`blackbox.md/info/payment`), în blocul „Date pentru factură (B2B)” de la sfârșitul paginii; butonul „Vezi rechizitele complete” din partea de sus a paginii duce la pagina „Contacte”;\n- pe factura PDF, în blocul „Furnizor”, iar în josul facturii apare rândul „Plata se efectuează prin transfer bancar în contul IBAN …”. Despre facturi: [Pagina „Facturi”: statusuri, numere și PDF](#plati.facturi).\n\n> **Securitate**\n> Înainte de a plăti, comparați rechizitele primite cu cele de pe pagina „Contacte”. Dacă un mesaj vă cere să plătiți în alt cont, nu plătiți. Verificați mai întâi rechizitele la support@blackbox.md sau la telefon.\n\n## Contacte\n\n| Canal | Date |\n|---|---|\n| Email (inclusiv solicitări privind datele personale) | support@blackbox.md |\n| Telefon și WhatsApp | +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei) |\n| Adresă | Chișinău, Vadul lui Vodă 78/2 |\n\nToate canalele și când îl folosiți pe fiecare: [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## Documentele legale\n\n| Document | Adresa | „Ultima actualizare” |\n|---|---|---|\n| „Termeni și condiții” | `blackbox.md/info/terms` | 21 septembrie 2026 |\n| „Politica de confidențialitate” | `blackbox.md/info/privacy` | 21 septembrie 2026 |\n| „Acord privind prelucrarea datelor (DPA)” | `blackbox.md/info/dpa` | 21 septembrie 2026 |\n| „Plata serviciilor” | `blackbox.md/info/payment` | 7 septembrie 2026 |\n\nData reviziei apare la începutul fiecărei pagini, după „Ultima actualizare:”. Versiunile în rusă sunt la aceleași adrese cu prefixul `/ru` (de exemplu, `blackbox.md/ru/info/terms`).\n\nUnde găsiți linkurile:\n\n- în subsolul oricărei pagini, pe ultimul rând: „Termeni și condiții”, „Politică de confidențialitate”, „Acord privind prelucrarea datelor”;\n- în meniul de sus „Informații”, coloana „Companie”: „Plata serviciilor”, „Termeni și condiții”, „Politică de confidențialitate”. Acordul DPA este doar în subsol.\n\nRezumatele documentelor: [Termenii și condițiile pe scurt](#legal.termeni-esentiali), [Politica de confidențialitate pe scurt](#legal.confidentialitate), [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n> **Important**\n> Versiunea în limba română a documentelor are forță juridică. Pe paginile în rusă ale Termenilor, Politicii de confidențialitate și DPA scrie că traducerea este oferită pentru comoditate. Documentele nu au versiune în engleză.\n\n## Legea aplicabilă\n\n| Domeniu | Ce se aplică |\n|---|---|\n| Termenii și condițiile | Legea Republicii Moldova. Un diferend se soluționează întâi pe cale amiabilă. Dacă nu se poate, competența revine instanțelor judecătorești de la sediul Click Expert S.R.L. din Chișinău. |\n| Datele personale | Legea nr. 195/2024 privind protecția datelor cu caracter personal (în vigoare din 23 august 2026, înlocuiește Legea nr. 133/2011). |\n| Obligațiile furnizorului de servicii | Legea nr. 20/2009 privind prevenirea și combaterea criminalității informatice. |\n\nPentru datele contului dvs., Click Expert S.R.L. este operatorul datelor cu caracter personal. Pentru datele din aplicațiile și site-urile pe care le găzduiți pe server, operatorul sunteți dvs., iar Click Expert S.R.L. este persoana împuternicită de operator.\n\n## Întrebări frecvente\n\n**Care este codul TVA al BLACKBOX?**\nCodul TVA al furnizorului nu este publicat. Pentru întrebări contabile despre facturi, scrieți la support@blackbox.md.\n\n**De ce pe site scrie BLACKBOX, iar pe factură Click Expert S.R.L.?**\nBLACKBOX este marca, iar Click Expert S.R.L. este compania care o administrează și emite facturile. În ordinul de plată, la beneficiar, indicați Click Expert S.R.L.\n\n**Am nevoie de un exemplar semnat al DPA.**\nScrieți la support@blackbox.md. Copia semnată se trimite la cerere. Detalii: [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n**Ce se întâmplă când se modifică Termenii?**\nVersiunea în vigoare, publicată pe pagina „Termeni și condiții”, se aplică tuturor serviciilor active de la data publicării. Pentru modificările importante, BLACKBOX încearcă, în limita posibilităților, să vă anunțe prin email cu cel puțin 15 zile înainte.\n",
    "ru": "Услуги BLACKBOX предоставляет компания Click Expert S.R.L. Данные компании приведены в карточке «Юридические данные» на странице «Условия использования» (`blackbox.md/ru/info/terms`). Вместе с банковскими реквизитами они есть в блоке «Реквизиты для счёта» на странице «Контакты» (`blackbox.md/ru/info/contacts`, меню «Информация» → «Контакты»).\n\n**Доступно:** любому посетителю blackbox.md. Аккаунт не нужен.\n\n## Кто предоставляет услуги\n\nУсловия использования — это рамочное соглашение между вами и «BLACKBOX, торговой маркой, находящейся в управлении Click Expert S.R.L.». BLACKBOX — торговая марка, а стороной договора является Click Expert S.R.L. Именно эта компания указана в счетах и правовых документах, и именно её вы указываете получателем в платёжном поручении.\n\n| Поле | Значение |\n|---|---|\n| Наименование | Click Expert S.R.L. |\n| IDNO | `1021600002628` |\n| Юридический адрес | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| Контакт | support@blackbox.md |\n\nТот же IDNO указан в самой нижней строке каждой страницы blackbox.md, после названия Click Expert S.R.L.\n\nКод НДС поставщика не опубликован: такой строки нет ни на сайте, ни в PDF-счёте.\n\n## Банковские реквизиты\n\n| Поле | Значение |\n|---|---|\n| Получатель | Click Expert S.R.L. |\n| Банк | BC Moldindconbank SA, fil. A. Russo |\n| IBAN | `MD64ML000000022519662930` |\n| SWIFT | `MOLDMD2X366` |\n\nСчета выставляются в молдавских леях (MDL). Если вы хотите заплатить переводом в EUR или USD, сначала запросите на support@blackbox.md реквизиты счёта в нужной валюте. Что писать в назначении платежа и когда активируется услуга, описано в статье [Оплата банковским переводом и реквизиты BLACKBOX](#plati.transfer-bancar).\n\n### Как найти реквизиты на сайте\n\n1. Откройте blackbox.md и выберите в верхнем меню «Информация» → «Контакты» (колонка «Компания»). Ссылка «Контакты» есть и внизу каждой страницы.\n2. Под карточками контактов нажмите «Реквизиты для счёта».\n3. Блок раскроется и покажет поля «Наименование», «IDNO», «Юридический адрес», «Банк», «SWIFT» и «IBAN».\n\nТе же данные указаны:\n\n- на странице «Оплата услуг» (`blackbox.md/ru/info/payment`), в блоке «Реквизиты для счёта (B2B)» в конце страницы; кнопка «Посмотреть полные реквизиты» в верхней части страницы ведёт на страницу «Контакты»;\n- в PDF-счёте, в блоке «Furnizor», а внизу счёта есть строка «Plata se efectuează prin transfer bancar în contul IBAN …». Все подписи в PDF-счёте — на румынском языке. Подробнее о счетах: [Страница «Счета»: статусы, номера и PDF](#plati.facturi).\n\n> **Безопасность**\n> Перед оплатой сверьте полученные реквизиты с реквизитами на странице «Контакты». Если в письме или сообщении вас просят заплатить на другой счёт, не платите. Сначала проверьте реквизиты через support@blackbox.md или по телефону.\n\n## Контакты\n\n| Канал | Данные |\n|---|---|\n| Email (в том числе запросы о персональных данных) | support@blackbox.md |\n| Телефон и WhatsApp | +373 78 003948, пн–пт, 09:00–18:00 по времени Молдовы |\n| Адрес | Chișinău, Vadul lui Vodă 78/2 |\n\nВсе каналы связи и когда какой выбирать: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## Правовые документы\n\n| Документ | Адрес | «Последнее обновление» |\n|---|---|---|\n| «Условия использования» | `blackbox.md/ru/info/terms` | 21 сентября 2026 |\n| «Политика конфиденциальности» | `blackbox.md/ru/info/privacy` | 21 сентября 2026 |\n| «Соглашение об обработке данных (DPA)» | `blackbox.md/ru/info/dpa` | 21 сентября 2026 |\n| «Оплата услуг» | `blackbox.md/ru/info/payment` | 7 сентября 2026 |\n\nДата редакции указана в начале каждой страницы, после «Последнее обновление:». На русской странице условий использования дата выводится по-румынски: «21 septembrie 2026». Румынские версии открываются по тем же адресам без префикса `/ru` (например, `blackbox.md/info/terms`).\n\nГде найти ссылки:\n\n- внизу любой страницы, в самой нижней строке: «Условия использования», «Политика конфиденциальности», «Соглашение об обработке данных»;\n- в верхнем меню «Информация», колонка «Компания»: «Оплата услуг», «Условия использования», «Политика конфиденциальности». Ссылка на DPA есть только внизу страницы.\n\nКраткие изложения документов: [Условия использования: кратко](#legal.termeni-esentiali), [Политика конфиденциальности: кратко](#legal.confidentialitate), [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n> **Важно**\n> Юридическую силу имеет румынская версия документов. На русских страницах условий использования, политики конфиденциальности и DPA указано: «Перевод предоставлен для удобства. Юридическую силу имеет румынская версия документа.» Английской версии у документов нет.\n\n## Применимое право\n\n| Область | Что применяется |\n|---|---|\n| Условия использования | Законодательство Республики Молдова. Спор сначала решается мирным путём. Если это невозможно, его рассматривают судебные инстанции по месту нахождения Click Expert S.R.L. в Кишинёве. |\n| Персональные данные | Закон № 195/2024 о защите персональных данных (в силе с 23 августа 2026 года, заменяет Закон № 133/2011). |\n| Обязанности поставщика услуг | Закон № 20/2009 о предупреждении и борьбе с киберпреступностью. |\n\nДля данных вашего аккаунта Click Expert S.R.L. — оператор персональных данных. Для данных в приложениях и на сайтах, которые вы размещаете на сервере, оператор — вы, а Click Expert S.R.L. выступает лицом, уполномоченным оператором.\n\n## Частые вопросы\n\n**Какой код НДС у BLACKBOX?**\nКод НДС поставщика не опубликован. С бухгалтерскими вопросами по счетам пишите на support@blackbox.md.\n\n**Почему на сайте написано BLACKBOX, а в счёте — Click Expert S.R.L.?**\nBLACKBOX — торговая марка, а Click Expert S.R.L. — компания, которая ею управляет и выставляет счета. В платёжном поручении получателем указывайте Click Expert S.R.L.\n\n**Нам нужен подписанный экземпляр DPA.**\nНапишите на support@blackbox.md: подписанную копию вам пришлют по запросу. Подробнее: [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n**Что будет, если условия использования изменятся?**\nДействующая редакция, опубликованная на странице «Условия использования», применяется ко всем активным услугам с даты публикации. О существенных изменениях BLACKBOX по возможности предупреждает по email не менее чем за 15 дней.\n",
    "en": "BLACKBOX services are provided by Click Expert S.R.L. The company details appear in the “Date legale” (Legal details) card on the “Termeni și condiții” (Terms and conditions) page (`blackbox.md/info/terms`). Together with the bank details, you can find them in the “Date pentru factură” (Invoice details) block on the “Contacte” (Contacts) page (`blackbox.md/info/contacts`, menu “Informații” (Information) → “Contacte”).\n\n**Available to:** any visitor to blackbox.md. You don't need an account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## Who provides the services\n\nThe Terms and Conditions are the framework agreement between you and “BLACKBOX, marcă administrată de Click Expert S.R.L.” (BLACKBOX, a brand managed by Click Expert S.R.L.). BLACKBOX is the brand. The contracting party is Click Expert S.R.L.: its name appears on invoices and in the legal documents, and you enter it as the beneficiary in your payment order.\n\n| Field | Value |\n|---|---|\n| Name | Click Expert S.R.L. |\n| IDNO | `1021600002628` |\n| Legal address | Moldova, mun. Chișinău, Vadul lui Vodă 78/2 |\n| Contact | support@blackbox.md |\n\nThe same IDNO also appears on the last line of the footer of every blackbox.md page, after the name Click Expert S.R.L.\n\nThe provider's VAT code is not published: there is no such line on the website or on the PDF invoice.\n\n## Bank details\n\n| Field | Value |\n|---|---|\n| Beneficiary | Click Expert S.R.L. |\n| Bank | BC Moldindconbank SA, fil. A. Russo |\n| IBAN | `MD64ML000000022519662930` |\n| SWIFT | `MOLDMD2X366` |\n\nInvoices are issued in Moldovan lei (MDL). To pay by transfer in EUR or USD, first ask support@blackbox.md for the details of the account in that currency. What to write as the purpose of payment and when the service is activated: [Paying by bank transfer and BLACKBOX bank details](#plati.transfer-bancar).\n\n### How to find the bank details on the website\n\n1. Open blackbox.md and choose “Informații” (Information) → “Contacte” (Contacts) in the top menu (the “Companie” (Company) column). The “Contacte” link is also in the website footer.\n2. Below the contact cards, click “Date pentru factură” (Invoice details).\n3. The block expands and shows the fields “Denumire” (Name), “IDNO”, “Adresă juridică” (Legal address), “Bancă” (Bank), “SWIFT” and “IBAN”.\n\nThe same details appear:\n\n- on the “Plata serviciilor” (Payment for services) page (`blackbox.md/info/payment`), in the “Date pentru factură (B2B)” (Invoice details, B2B) block at the bottom of the page; the “Vezi rechizitele complete” (See the full details) button at the top of the page opens the “Contacte” page;\n- on the PDF invoice, which is in Romanian, in the “Furnizor” (Supplier) block, and at the bottom of the invoice there is the line “Plata se efectuează prin transfer bancar în contul IBAN …” (Payment is made by bank transfer to the IBAN account …). About invoices: [The “Facturi” (Invoices) page: statuses, numbers and PDF](#plati.facturi).\n\n> **Security**\n> Before you pay, compare the bank details you received with the ones on the “Contacte” page. If a message asks you to pay into a different account, do not pay. First check the bank details with support@blackbox.md or by phone.\n\n## Contacts\n\n| Channel | Details |\n|---|---|\n| Email (including personal data requests) | support@blackbox.md |\n| Phone and WhatsApp | +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time) |\n| Address | Chișinău, Vadul lui Vodă 78/2 |\n\nAll the channels and when to use each one: [How to contact BLACKBOX support](#suport.contact).\n\n## Legal documents\n\n| Document | Address | “Ultima actualizare” (Last updated) |\n|---|---|---|\n| “Termeni și condiții” (Terms and conditions) | `blackbox.md/info/terms` | September 21, 2026 |\n| “Politica de confidențialitate” (Privacy policy) | `blackbox.md/info/privacy` | September 21, 2026 |\n| “Acord privind prelucrarea datelor (DPA)” (Data processing agreement) | `blackbox.md/info/dpa` | September 21, 2026 |\n| “Plata serviciilor” (Payment for services) | `blackbox.md/info/payment` | September 7, 2026 |\n\nThe revision date appears at the top of each page, after “Ultima actualizare:” (Last updated:). The Russian versions are at the same addresses with the `/ru` prefix (for example, `blackbox.md/ru/info/terms`).\n\nWhere to find the links:\n\n- in the footer of any page, on the last line: “Termeni și condiții”, “Politică de confidențialitate” (Privacy policy), “Acord privind prelucrarea datelor” (Data processing agreement);\n- in the top menu “Informații” (Information), “Companie” (Company) column: “Plata serviciilor”, “Termeni și condiții”, “Politică de confidențialitate”. The DPA is only in the footer.\n\nSummaries of the documents: [Terms and conditions in brief](#legal.termeni-esentiali), [Privacy policy in brief](#legal.confidentialitate), [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n> **Important**\n> The Romanian version of the documents is legally binding. The Russian pages of the Terms, the Privacy Policy and the DPA state that the translation is provided for convenience. The documents have no English version.\n\n## Applicable law\n\n| Area | What applies |\n|---|---|\n| The Terms and Conditions | The law of the Republic of Moldova. A dispute is first settled amicably. If that is not possible, the courts at the registered office of Click Expert S.R.L. in Chișinău have jurisdiction. |\n| Personal data | Law No. 195/2024 on the protection of personal data (in force since August 23, 2026; it replaces Law No. 133/2011). |\n| The service provider's obligations | Law No. 20/2009 on preventing and combating cybercrime. |\n\nFor your account data, Click Expert S.R.L. is the personal data controller. For the data in the applications and websites that you host on your server, you are the controller, and Click Expert S.R.L. is the processor, which processes the data on your behalf.\n\n## Frequently asked questions\n\n**What is BLACKBOX's VAT code?**\nThe provider's VAT code is not published. For accounting questions about invoices, write to support@blackbox.md.\n\n**Why does the website say BLACKBOX, but the invoice says Click Expert S.R.L.?**\nBLACKBOX is the brand, and Click Expert S.R.L. is the company that manages it and issues the invoices. In your payment order, enter Click Expert S.R.L. as the beneficiary.\n\n**I need a signed copy of the DPA.**\nWrite to support@blackbox.md. A signed copy is sent on request. Details: [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n**What happens when the Terms change?**\nThe version in force, published on the “Termeni și condiții” (Terms and conditions) page, applies to all active services from the date it is published. For important changes, BLACKBOX tries, where possible, to notify you by email at least 15 days in advance.\n"
   }
  },
  {
   "id": "legal.termeni-esentiali",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/termeni-esentiali/",
    "ru": "https://docs.blackbox.md/ru/legal/termeni-esentiali/",
    "en": "https://docs.blackbox.md/en/legal/termeni-esentiali/"
   },
   "title": {
    "ro": "Termenii și condițiile pe scurt",
    "ru": "Условия использования: кратко",
    "en": "Terms and conditions in brief"
   },
   "summary": {
    "ro": "Rezumatul punctelor importante din Termeni: acceptare, responsabilități, disponibilitate, plată, rambursări și răspundere.",
    "ru": "Краткое изложение главного в Условиях: принятие, ответственность, доступность, оплата, возвраты и ответственность сторон.",
    "en": "A summary of the key points in the Terms: acceptance, responsibilities, availability, payment, refunds and liability."
   },
   "markdown": {
    "ro": "Pagina „Termeni și condiții” (`blackbox.md/info/terms`) cuprinde regulile de utilizare a serviciilor BLACKBOX. O deschideți din meniul de sus „Informații” → „Termeni și condiții” (coloana „Companie”) sau din linkul cu același nume din subsolul oricărei pagini. Mai jos găsiți, în ordine, ce prevede fiecare dintre cele 13 capitole și ce înseamnă pentru dvs.\n\n**Disponibil pentru:** oricine. Pagina este publică, iar Termenii se aplică tuturor clienților BLACKBOX.\n\n> **Notă**\n> Acesta este un rezumat și nu înlocuiește documentul. Are valoare juridică textul în limba română de pe [pagina Termenilor](https://blackbox.md/info/terms); versiunea rusă este o traducere oferită pentru comoditate. Data versiunii în vigoare apare sus, la „Ultima actualizare:” (la data acestui articol: 21 septembrie 2026). Condițiile specifice ale fiecărui plan prevalează asupra acestor termeni generali.\n\n## 1. Introducere\n\nTermenii sunt acordul-cadru dintre dvs. și BLACKBOX, marcă administrată de Click Expert S.R.L., pentru hosting, VPS, servere dedicate, înregistrarea domeniilor și serviciile conexe. Datele companiei: [Date legale și rechizitele BLACKBOX](#legal.date-legale).\n\n- **Acceptarea.** Prin comandarea, activarea sau utilizarea oricărui serviciu acceptați Termenii integral. Dacă nu sunteți de acord, nu utilizați serviciile.\n- **Unde vă dați acordul.** La înregistrare bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”. La înregistrarea cu Google sau GitLab, sub butoane scrie: „Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” Aceeași casetă se bifează înainte de plata cu cardul, de plata din sold și de alimentarea soldului. Vedeți [Crearea contului pe blackbox.md](#cont.creare-cont).\n- **Modificările.** BLACKBOX poate actualiza Termenii oricând. Versiunea publicată la `/info/terms` se aplică tuturor serviciilor active de la data publicării. Pentru modificările cu impact material, BLACKBOX va încerca, în limita posibilităților, să vă anunțe prin email cu cel puțin 15 zile înainte de intrarea lor în vigoare.\n\n## 2. Utilizări interzise (Politica de utilizare acceptabilă)\n\nPe infrastructura BLACKBOX sunt interzise, printre altele: conținutul ilegal (inclusiv încălcarea drepturilor de proprietate intelectuală și conținutul instigator la ură), spamul în orice formă, listele de email fără confirmare dublă (double opt-in), software-ul pentru spam, atacuri sau ocolirea autentificării, accesul neautorizat, evitarea plății, modificarea datelor altor utilizatori, participarea la atacuri DoS/DDoS și perturbarea rețelei. Lista nu este exhaustivă. Explicațiile și exemplele: [Politica de utilizare acceptabilă: ce nu este permis](#legal.utilizare-acceptabila).\n\n## 3. Răspunderea Clienților\n\n- Răspundeți integral pentru activitatea dvs. și a tuturor celor cărora le permiteți accesul la servicii: angajați, contractori, vizitatori ai resurselor găzduite.\n- Răspundeți pentru protejarea parolelor, a cheilor SSH, a token-urilor API și a celui de-al doilea factor de autentificare (2FA). BLACKBOX nu răspunde pentru folosirea contului dvs. de către terți dacă nu există o breșă dovedită a sistemelor sale. Vedeți [Recomandări de securitate pentru contul dvs.](#cont.securitate-cont) și [Securitatea token-urilor și a agenților AI](#ai.securitate).\n- Dacă se constată o încălcare (printr-o sesizare externă, prin monitorizare automată sau la un audit intern), BLACKBOX poate suspenda sau înceta serviciile, integral sau parțial, cu sau fără notificare prealabilă, în funcție de gravitate. Acolo unde o notificare prealabilă nu pune în pericol alți clienți, BLACKBOX încearcă să vă anunțe înainte.\n\n## 4. Drepturile deținătorilor de domenii\n\nBLACKBOX respectă drepturile deținătorilor de domenii prevăzute de ICANN (Registrants' Rights and Responsibilities). Domeniul rămâne al dvs. pe toată durata înregistrării. La cerere, primiți codul de autorizare (auth-code / EPP) pentru transferul la alt registrar, în termenele stabilite de registru. Domeniile se gestionează prin suport: [Înregistrarea și transferul domeniilor](#domenii.inregistrare-transfer).\n\n## 5. Disponibilitate și mentenanță\n\n- BLACKBOX depune eforturi rezonabile pentru funcționarea continuă a serviciilor.\n- Mentenanța programată se anunță, în măsura posibilităților, cu cel puțin 24 de ore înainte, prin email sau prin panoul de administrare.\n- La incidentele neprevăzute (defecțiuni hardware, atacuri DDoS, probleme la furnizorii upstream), BLACKBOX comunică situația prin canalele de suport.\n- Nivelul de serviciu garantat (SLA) depinde de ofertă: consultați descrierea planului sau scrieți-ne.\n\n## 6. Plata și facturarea\n\n- Serviciile se plătesc în avans, conform planului ales. Comenzile de pe site sunt lunare: [Prețuri, monedă și perioada de plată](#comenzi.preturi).\n- Neachitarea facturilor la termen poate duce la suspendarea serviciilor. După suspendare, datele se păstrează o perioadă rezonabilă, după care pot fi șterse definitiv. Termenii nu fixează un număr de zile: pentru termenele exacte, întrebați suportul. Pagina „Plata serviciilor” (`blackbox.md/info/payment`) adaugă că serviciile nu sunt suspendate și datele nu sunt șterse fără o notificare prealabilă prin email. Vedeți [Reînnoirea lunară și plata la termen](#plati.reinnoire-lunara).\n- **6.1 Procesarea plăților.** Plățile cu cardul Visa sau Mastercard sunt procesate de Paynet Services SRL. Datele cardului le introduceți direct pe pagina securizată Paynet; BLACKBOX nu le stochează. Vedeți [Plata cu cardul (Paynet)](#plati.plata-cu-cardul).\n\n## 7. Politica de retur\n\n| Situația | Ce prevăd Termenii |\n|---|---|\n| Comanda nu a fost încă activată (7.1) | O anulați singur din cont, pe pagina „Comenzile mele” („Contul meu” → „Comenzi”). Suma achitată revine imediat în soldul BLACKBOX și o puteți folosi pentru alte comenzi. |\n| Vreți banii pe card, nu în sold (7.2) | Scrieți la support@blackbox.md și indicați numărul comenzii. Banii revin pe același card, prin Paynet, de regulă în 5–10 zile lucrătoare de la aprobare; termenul depinde de banca emitentă. |\n| Serviciul este deja activat (7.3) | Ca regulă, nu se rambursează. Excepții: condițiile planului prevăd expres o garanție de rambursare sau legislația privind protecția consumatorului vă dă acest drept. Fiecare cerere se analizează individual. |\n| Ați șters serverul înainte de sfârșitul perioadei plătite; zilele neutilizate dintr-un ciclu de facturare început; domeniile deja înregistrate sau reînnoite la registru (7.4) | Nu dau dreptul la rambursare (sub rezerva excepțiilor de la 7.3). |\n\nCe puteți anula singur din cont și cât se returnează: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare). Dialogul „Anulați comanda?” arată suma înainte să confirmați.\n\n### Cum cereți o rambursare (7.5)\n\n1. Scrieți la support@blackbox.md.\n2. Indicați adresa de email a contului, numărul comenzii (`BBX-…`) sau al facturii, metoda de plată folosită și motivul cererii.\n3. Primiți prin email confirmarea că cererea a ajuns, iar apoi decizia.\n\n## 8. Date cu caracter personal\n\nBLACKBOX prelucrează datele dvs. conform Politicii de confidențialitate: [Politica de confidențialitate pe scurt](#legal.confidentialitate). Pentru datele personale pe care le prelucrați dvs. în serviciile găzduite (de exemplu, datele vizitatorilor site-ului dvs.), răspunderea pentru respectarea legii vă aparține: [Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date).\n\n## 9. Limitarea răspunderii\n\n- Serviciile sunt furnizate „ca atare” („as is”), cu eforturi profesionale rezonabile.\n- În măsura permisă de lege, răspunderea totală a BLACKBOX față de dvs. este limitată la suma plătită pentru serviciile afectate în ultimele 12 luni dinaintea incidentului.\n- BLACKBOX nu răspunde pentru daune indirecte, profit pierdut, pierderi de date sau întreruperi de activitate.\n- Limitarea nu se aplică în caz de dol (intenție frauduloasă) sau de culpă gravă din partea BLACKBOX.\n\n> **Important**\n> Potrivit Termenilor, BLACKBOX nu răspunde pentru pierderea datelor (în afara cazurilor de dol sau culpă gravă). Păstrați copii de siguranță ale datelor importante în afara serverului: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n\n## 10. Încetarea contractului\n\n- Puteți renunța oricând: nu reînnoiți perioada de facturare sau cereți expres acest lucru echipei BLACKBOX. Pașii, în ordine: [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n- Sumele plătite în avans pentru serviciile deja activate, ca regulă, nu se rambursează (capitolul 7).\n- BLACKBOX poate înceta contractul dacă încălcați Termenii (capitolul 3) sau în alte situații prevăzute de lege.\n\n## 11. Lege aplicabilă și jurisdicție\n\nTermenii sunt guvernați de legea Republicii Moldova. Un diferend se soluționează mai întâi pe cale amiabilă. Dacă nu se poate, competente sunt instanțele judecătorești de la sediul Click Expert S.R.L. din Chișinău.\n\n## 12. Contact\n\nÎntrebările despre Termeni le trimiteți la support@blackbox.md sau prin canalele de pe pagina „Contacte” (`blackbox.md/info/contacts`): [Cum contactați suportul BLACKBOX](#suport.contact).\n\n## 13. Protecția datelor și solicitările autorităților\n\n- Prelucrarea datelor respectă Legea nr. 195/2024 privind protecția datelor cu caracter personal. Dacă găzduiți propriile aplicații sau site-uri, condițiile în care Click Expert S.R.L. prelucrează datele din ele, ca persoană împuternicită de operator, sunt descrise în DPA: [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n- BLACKBOX furnizează date autorităților competente (poliție, procuratură, instanțe) numai la o solicitare scrisă, cu temei legal explicit, conform art. 7 din Legea nr. 20/2009. Solicitările autorităților străine se onorează doar prin asistență juridică internațională (art. 48 din Legea nr. 195/2024). Detalii: [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n- Drepturile dvs. (acces, rectificare, ștergere, portabilitate, restricționarea prelucrării, opoziție): [Drepturile dvs. privind datele personale](#legal.drepturile-dvs).\n- Ștergerea contului devine efectivă după o perioadă de grație în care o puteți anula; apoi datele contului sunt anonimizate ireversibil, iar facturile se păstrează pe durata impusă de lege. Dacă ștergerea este temporar indisponibilă (de exemplu, aveți servere active sau facturi neplătite), motivul apare în pagina contului: [Ștergerea contului](#cont.stergere-cont).\n\n## Întrebări frecvente\n\n**Cum aflu că s-au schimbat Termenii?**\nLa modificările cu impact material, BLACKBOX încearcă să vă anunțe prin email cu cel puțin 15 zile înainte. Data versiunii în vigoare o vedeți la „Ultima actualizare:” pe pagina Termenilor.\n\n**Dacă șterg serverul înainte de sfârșitul lunii, primesc banii pentru zilele rămase?**\nNu, dacă îl ștergeți din panou: punctul 7.4 exclude rambursarea în acest caz, iar „Șterge definitiv” nu returnează nimic. Anularea comenzii din cont poate returna o sumă în sold, pe care dialogul „Anulați comanda?” o arată înainte să confirmați. Verificați-o înainte de ștergere: [Anularea comenzii și rambursări](#plati.anulare-si-rambursare).\n\n**Cine răspunde dacă altcineva îmi folosește token-ul API sau cheia SSH?**\nDvs., dacă nu există o breșă dovedită a sistemelor BLACKBOX. Revocați imediat token-ul compromis: [Token-uri API: creare, copiere și revocare](#ai.token-uri-api).\n",
    "ru": "На странице «Условия использования» (`blackbox.md/ru/info/terms`) собраны правила пользования услугами BLACKBOX. Откройте её из верхнего меню «Информация» → «Условия использования» (колонка «Компания») или по одноимённой ссылке внизу любой страницы. Ниже по порядку рассказано, что говорится в каждой из 13 глав и что это значит для вас.\n\n**Доступно:** всем. Страница общедоступна, а Условия действуют для каждого клиента BLACKBOX.\n\n> **Примечание**\n> Это краткое изложение, а не замена документа. Юридическую силу имеет румынский текст на [странице Условий](https://blackbox.md/info/terms). На русской версии страницы так и написано: «Перевод предоставлен для удобства. Юридическую силу имеет румынская версия документа.» Дата действующей редакции указана вверху, в строке «Последнее обновление:» (на момент написания статьи — 21 сентября 2026; дата выводится по-румынски). Особые условия конкретного тарифа имеют приоритет над этими общими условиями.\n\n## 1. Введение\n\nУсловия — рамочное соглашение между вами и BLACKBOX, торговой маркой, находящейся в управлении Click Expert S.R.L., об услугах хостинга, VPS, выделенных серверов, регистрации доменов и смежных услугах. Данные компании: [Юридические данные и реквизиты BLACKBOX](#legal.date-legale).\n\n- **Принятие.** Заказывая, активируя или используя любую услугу, вы принимаете Условия полностью. Если вы с ними не согласны, не пользуйтесь услугами.\n- **Где вы даёте согласие.** При регистрации вы отмечаете флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности». При регистрации через Google или GitLab под кнопками написано: «Продолжая, вы принимаете Условия использования и Политику конфиденциальности.» Тот же флажок нужно отметить перед оплатой картой, оплатой с баланса и пополнением баланса. Подробнее: [Создание аккаунта на blackbox.md](#cont.creare-cont).\n- **Изменения.** BLACKBOX может обновлять Условия в любой момент. Редакция, опубликованная по адресу `/info/terms`, применяется ко всем активным услугам со дня публикации. О существенных изменениях BLACKBOX постарается, по мере возможности, сообщить по email не менее чем за 15 дней до их вступления в силу.\n\n## 2. Запрещённое использование (Политика допустимого использования)\n\nНа инфраструктуре BLACKBOX запрещены, в частности: незаконный контент (в том числе нарушающий права интеллектуальной собственности и разжигающий ненависть), спам в любой форме, рассылки без двойного подтверждения подписки (double opt-in), программы для спама, атак и обхода аутентификации, несанкционированный доступ, уклонение от оплаты, изменение чужих данных, участие в DoS/DDoS-атаках и нарушение работы сети. Список не исчерпывающий. Пояснения и примеры: [Политика допустимого использования: что запрещено](#legal.utilizare-acceptabila).\n\n## 3. Ответственность Клиентов\n\n- Вы полностью отвечаете за свои действия и за действия всех, кому даёте доступ к услугам: сотрудников, подрядчиков, посетителей размещённых ресурсов.\n- Вы отвечаете за защиту паролей, SSH-ключей, API-токенов и второго фактора аутентификации (2FA). BLACKBOX не отвечает за использование вашего аккаунта третьими лицами, если не доказан взлом систем BLACKBOX. См. [Рекомендации по безопасности аккаунта](#cont.securitate-cont) и [Безопасность токенов и AI-агентов](#ai.securitate).\n- Если нарушение выявлено (по жалобе извне, системой автоматического мониторинга или при внутреннем аудите), BLACKBOX может приостановить или прекратить услуги полностью или частично, с предварительным уведомлением или без него — в зависимости от серьёзности. Если уведомление заранее не создаёт угрозы для других клиентов, BLACKBOX старается предупредить вас до принятия мер.\n\n## 4. Права владельцев доменов\n\nBLACKBOX соблюдает права владельцев доменов, закреплённые правилами ICANN (Registrants' Rights and Responsibilities). Домен остаётся вашим на весь срок регистрации. По запросу вы получите код авторизации (auth-code / EPP) для переноса к другому регистратору в сроки, установленные реестром. Доменами занимается поддержка: [Регистрация и перенос доменов](#domenii.inregistrare-transfer).\n\n## 5. Доступность и техническое обслуживание\n\n- BLACKBOX прилагает разумные усилия для бесперебойной работы услуг.\n- О плановых работах сообщают, по мере возможности, не менее чем за 24 часа — по email или в панели администрирования.\n- О непредвиденных инцидентах (сбои оборудования, DDoS-атаки, проблемы у вышестоящих поставщиков) BLACKBOX сообщает через каналы поддержки.\n- Гарантированный уровень обслуживания (SLA) зависит от предложения: смотрите описание тарифа или напишите нам.\n\n## 6. Оплата и выставление счетов\n\n- Услуги оплачиваются авансом в соответствии с выбранным тарифом. Заказы на сайте оформляются на месяц: [Цены, валюта и период оплаты](#comenzi.preturi).\n- Несвоевременная оплата счетов может привести к приостановке услуг. После приостановки данные хранятся разумный период времени, после чего могут быть окончательно удалены. Конкретного срока в Условиях нет: точные сроки уточните в поддержке. На странице «Оплата услуг» (`blackbox.md/ru/info/payment`) добавлено, что услуги не приостанавливают и данные не удаляют без предварительного уведомления по email. См. [Ежемесячное продление и своевременная оплата](#plati.reinnoire-lunara).\n- **6.1 Обработка платежей.** Платежи картами Visa и Mastercard обрабатывает Paynet Services SRL. Данные карты вы вводите прямо на защищённой странице Paynet; BLACKBOX их не хранит. См. [Оплата картой (Paynet)](#plati.plata-cu-cardul).\n\n## 7. Политика возврата\n\n| Ситуация | Что предусматривают Условия |\n|---|---|\n| Заказ ещё не активирован (7.1) | Вы отменяете его сами в аккаунте, на странице «Мои заказы» («Личный кабинет» → «Заказы»). Оплаченная сумма сразу возвращается на баланс BLACKBOX, и её можно потратить на другие заказы. |\n| Нужен возврат на карту, а не на баланс (7.2) | Напишите на support@blackbox.md и укажите номер заказа. Деньги вернутся на ту же карту через Paynet, обычно за 5–10 рабочих дней после одобрения; срок зависит от банка-эмитента. |\n| Услуга уже активирована (7.3) | Как правило, деньги не возвращаются. Исключения: условия тарифа прямо предусматривают гарантию возврата или такое право даёт законодательство о защите прав потребителей. Каждая заявка рассматривается индивидуально. |\n| Вы удалили сервер до конца оплаченного периода; неиспользованные дни начатого расчётного периода; домены, уже зарегистрированные или продлённые в реестре (7.4) | Права на возврат нет (с учётом исключений из пункта 7.3). |\n\nЧто можно отменить самостоятельно в аккаунте и сколько вернётся: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare). Окно «Отменить заказ?» показывает сумму до того, как вы подтвердите отмену.\n\n### Как запросить возврат (7.5)\n\n1. Напишите на support@blackbox.md.\n2. Укажите email аккаунта, номер заказа (`BBX-…`) или счёта, способ оплаты и причину обращения.\n3. По email придёт подтверждение, что заявка получена, а затем решение.\n\n## 8. Персональные данные\n\nBLACKBOX обрабатывает ваши данные согласно Политике конфиденциальности: [Политика конфиденциальности: кратко](#legal.confidentialitate). За соблюдение закона в отношении персональных данных, которые вы сами обрабатываете в размещённых сервисах (например, данных посетителей вашего сайта), отвечаете вы: [Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date).\n\n## 9. Ограничение ответственности\n\n- Услуги предоставляются «как есть» («as is»), с разумными профессиональными усилиями.\n- В пределах, разрешённых законом, общая ответственность BLACKBOX перед вами ограничена суммой, уплаченной за затронутые услуги за последние 12 месяцев до инцидента.\n- BLACKBOX не отвечает за косвенные убытки, упущенную выгоду, потерю данных и перерывы в работе.\n- Ограничение не действует при умысле (мошенническом намерении) или грубой неосторожности со стороны BLACKBOX.\n\n> **Важно**\n> По Условиям BLACKBOX не отвечает за потерю данных (кроме случаев умысла или грубой неосторожности). Храните резервные копии важных данных вне сервера: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n\n## 10. Прекращение договора\n\n- Отказаться от услуг можно в любой момент: не продлевайте расчётный период или направьте прямой запрос команде BLACKBOX. Порядок действий: [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n- Деньги, уплаченные авансом за уже активированные услуги, как правило, не возвращаются (глава 7).\n- BLACKBOX может прекратить договор, если вы нарушите Условия (глава 3), или в других случаях, предусмотренных законом.\n\n## 11. Применимое законодательство и юрисдикция\n\nУсловия регулируются законодательством Республики Молдова. Спор сначала пытаются урегулировать мирным путём. Если это невозможно, его рассматривают суды по месту нахождения Click Expert S.R.L. в Кишинёве.\n\n## 12. Контакт\n\nВопросы по Условиям присылайте на support@blackbox.md или через каналы со страницы «Контакты» (`blackbox.md/ru/info/contacts`): [Как связаться с поддержкой BLACKBOX](#suport.contact).\n\n## 13. Защита данных и запросы органов власти\n\n- Обработка данных соответствует Закону № 195/2024 о защите персональных данных. Если вы размещаете собственные приложения или сайты, условия, на которых Click Expert S.R.L. обрабатывает данные в них как лицо, уполномоченное оператором, изложены в DPA: [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n- Компетентным органам (полиция, прокуратура, суд) BLACKBOX передаёт данные только по письменному запросу с явным законным основанием, согласно ст. 7 Закона № 20/2009. Запросы иностранных органов исполняются только через механизм международной правовой помощи (ст. 48 Закона № 195/2024). Подробнее: [Политика конфиденциальности: кратко](#legal.confidentialitate).\n- Ваши права (доступ, исправление, удаление, переносимость, ограничение обработки, возражение): [Ваши права в отношении персональных данных](#legal.drepturile-dvs).\n- Удаление аккаунта вступает в силу после льготного периода, в течение которого запрос можно отменить; затем данные аккаунта необратимо анонимизируются, а счета хранятся в течение срока, установленного законом. Если удаление временно недоступно (например, есть активные серверы или неоплаченные счета), причина показывается на странице аккаунта: [Удаление аккаунта](#cont.stergere-cont).\n\n## Частые вопросы\n\n**Как я узнаю, что Условия изменились?**\nО существенных изменениях BLACKBOX старается сообщать по email не менее чем за 15 дней. Дату действующей редакции показывает строка «Последнее обновление:» на странице Условий.\n\n**Если я удалю сервер до конца месяца, мне вернут деньги за оставшиеся дни?**\nНет, если удалить его в панели: пункт 7.4 исключает возврат в этом случае, а кнопка «Удалить» ничего не возвращает. Отмена заказа в аккаунте может вернуть деньги на баланс: сумму показывает окно «Отменить заказ?» до подтверждения. Проверьте эту сумму, прежде чем удалять сервер: [Отмена заказа и возврат средств](#plati.anulare-si-rambursare).\n\n**Кто отвечает, если моим API-токеном или SSH-ключом воспользовался посторонний?**\nВы — если не доказан взлом систем BLACKBOX. Сразу отзовите скомпрометированный токен: [API-токены: создание, копирование и отзыв](#ai.token-uri-api).\n",
    "en": "The “Termeni și condiții” (Terms and conditions) page (`blackbox.md/info/terms`) sets out the rules for using BLACKBOX services. To open it, choose “Informații” (Information) → “Termeni și condiții” in the top menu (the “Companie” (Company) column), or click the link with the same name in the footer of any page. Below, in order, you will find what each of the 13 chapters says and what it means for you.\n\n**Available to:** anyone. The page is public, and the Terms apply to all BLACKBOX customers.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> This is a summary and does not replace the document. The legally binding text is the Romanian one on the [Terms page](https://blackbox.md/info/terms); the Russian version is a translation provided for convenience. The date of the current version appears at the top, next to “Ultima actualizare:” (Last updated:); as of this article, it is September 21, 2026. The specific conditions of each plan take precedence over these general terms.\n\n## 1. Introduction\n\nThe Terms are the framework agreement between you and BLACKBOX, a brand managed by Click Expert S.R.L., for hosting, VPS, dedicated servers, domain registration and related services. Company details: [Legal details and BLACKBOX company details](#legal.date-legale).\n\n- **Acceptance.** By ordering, activating or using any service, you accept the Terms in full. If you do not agree, do not use the services.\n- **Where you give your consent.** When you sign up, you tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy). When you sign up with Google or GitLab, the text under the buttons says: “Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” (By continuing, you accept the Terms and Conditions and the Privacy Policy.) You tick the same box before you pay by card, pay from your balance or top up your balance. See [Creating an account on blackbox.md](#cont.creare-cont).\n- **Changes.** BLACKBOX may update the Terms at any time. The version published at `/info/terms` applies to all active services from the date it is published. For changes with a material impact, BLACKBOX will try, where possible, to notify you by email at least 15 days before they take effect.\n\n## 2. Prohibited uses (Acceptable Use Policy)\n\nThe following are prohibited on BLACKBOX infrastructure, among other things: illegal content (including content that infringes intellectual property rights and content that incites hatred), spam in any form, mailing lists without double confirmation (double opt-in), software for spamming, attacks or bypassing authentication, unauthorized access, evading payment, modifying other users' data, taking part in DoS/DDoS attacks and disrupting the network. The list is not exhaustive. Explanations and examples: [Acceptable use policy: what is not allowed](#legal.utilizare-acceptabila).\n\n## 3. Customer responsibility\n\n- You are fully responsible for your own activity and for that of everyone you give access to the services: employees, contractors, visitors to the resources you host.\n- You are responsible for protecting your passwords, SSH keys, API tokens and second authentication factor (2FA). BLACKBOX is not liable for third parties' use of your account unless there is a proven breach of its systems. See [Security recommendations for your account](#cont.securitate-cont) and [Token and AI agent security](#ai.securitate).\n- If a violation is found (through an external complaint, automated monitoring or an internal audit), BLACKBOX may suspend or terminate the services, in whole or in part, with or without prior notice, depending on how serious it is. Where advance notice does not put other customers at risk, BLACKBOX tries to warn you beforehand.\n\n## 4. Rights of domain holders\n\nBLACKBOX respects the rights of domain holders set out by ICANN (Registrants' Rights and Responsibilities). The domain remains yours for the entire registration period. On request, you receive the authorization code (auth-code / EPP) to transfer the domain to another registrar, within the time limits set by the registry. Domains are managed through support: [Registering and transferring domains](#domenii.inregistrare-transfer).\n\n## 5. Availability and maintenance\n\n- BLACKBOX makes reasonable efforts to keep the services running continuously.\n- Scheduled maintenance is announced, where possible, at least 24 hours in advance, by email or through the administration panel.\n- During unexpected incidents (hardware failures, DDoS attacks, problems with upstream providers), BLACKBOX keeps you informed through the support channels.\n- The guaranteed service level (SLA) depends on the offer: check the plan description or write to us.\n\n## 6. Payment and billing\n\n- Services are paid in advance, according to the plan you chose. Orders placed on the website are monthly: [Prices, currency and billing period](#comenzi.preturi).\n- Not paying invoices on time may lead to the suspension of your services. After a suspension, data is kept for a reasonable period, after which it may be permanently deleted. The Terms do not set a number of days: for exact time frames, ask support. The “Plata serviciilor” (Payment for services) page (`blackbox.md/info/payment`) adds that services are not suspended and data is not deleted without prior notice by email. See [Monthly renewal and paying on time](#plati.reinnoire-lunara).\n- **6.1 Payment processing.** Visa and Mastercard card payments are processed by Paynet Services SRL. You enter your card details directly on the secure Paynet page; BLACKBOX does not store them. See [Paying by card (Paynet)](#plati.plata-cu-cardul).\n\n## 7. Refund policy\n\n| Situation | What the Terms provide |\n|---|---|\n| The order has not been activated yet (7.1) | You cancel it yourself from your account, on the “Comenzile mele” (My orders) page (“Contul meu” (My account) → “Comenzi” (Orders)). The amount paid goes back to your BLACKBOX balance immediately, and you can use it for other orders. |\n| You want the money back on your card, not to your balance (7.2) | Write to support@blackbox.md and include the order number. The money goes back to the same card, through Paynet, usually within 5–10 business days of approval; the time depends on the issuing bank. |\n| The service is already activated (7.3) | As a rule, it is not refunded. Exceptions: the plan's conditions expressly provide a refund guarantee, or consumer protection law gives you this right. Each request is reviewed individually. |\n| You deleted the server before the end of the paid period; unused days in a billing cycle that has already started; domains already registered or renewed at the registry (7.4) | No right to a refund (subject to the exceptions in 7.3). |\n\nWhat you can cancel yourself from your account, and how much is returned: [Order cancellation and refunds](#plati.anulare-si-rambursare). The “Anulați comanda?” (Cancel the order?) dialog shows the amount before you confirm.\n\n### How to request a refund (7.5)\n\n1. Write to support@blackbox.md.\n2. Include your account's email address, the order number (`BBX-…`) or invoice number, the payment method you used and the reason for your request.\n3. You receive an email confirming that your request has arrived, and then the decision.\n\n## 8. Personal data\n\nBLACKBOX processes your data in accordance with the Privacy Policy: [Privacy policy in brief](#legal.confidentialitate). For the personal data that you process yourself in the services you host (for example, data about visitors to your website), you are responsible for complying with the law: [Responsibility for server data and backups](#legal.responsabilitate-date).\n\n## 9. Limitation of liability\n\n- The services are provided “as is”, with reasonable professional effort.\n- To the extent permitted by law, BLACKBOX's total liability to you is limited to the amount paid for the affected services in the 12 months before the incident.\n- BLACKBOX is not liable for indirect damages, lost profits, data loss or business interruption.\n- The limitation does not apply in cases of fraud (fraudulent intent) or gross negligence on the part of BLACKBOX.\n\n> **Important**\n> Under the Terms, BLACKBOX is not liable for data loss (except in cases of fraud or gross negligence). Keep backup copies of important data outside the server: [Backup strategy for your server](#ghiduri.strategie-backup).\n\n## 10. Termination of the contract\n\n- You can stop using the services at any time: do not renew the billing period, or make an express request to the BLACKBOX team. The steps, in order: [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n- Amounts paid in advance for services already activated are, as a rule, not refunded (chapter 7).\n- BLACKBOX may terminate the contract if you breach the Terms (chapter 3) or in other situations provided for by law.\n\n## 11. Governing law and jurisdiction\n\nThe Terms are governed by the law of the Republic of Moldova. A dispute is first settled amicably. If that is not possible, the courts at the registered office of Click Expert S.R.L. in Chișinău have jurisdiction.\n\n## 12. Contact\n\nSend your questions about the Terms to support@blackbox.md or through the channels listed on the “Contacte” (Contacts) page (`blackbox.md/info/contacts`): [How to contact BLACKBOX support](#suport.contact).\n\n## 13. Data protection and requests from authorities\n\n- Data processing complies with Law No. 195/2024 on the protection of personal data. If you host your own applications or websites, the conditions under which Click Expert S.R.L. processes the data in them, as a processor acting on behalf of the controller, are described in the DPA: [Data Processing Agreement (DPA) for companies](#legal.dpa).\n- BLACKBOX provides data to the competent authorities (police, prosecutors, courts) only on a written request with an explicit legal basis, in accordance with Article 7 of Law No. 20/2009. Requests from foreign authorities are honored only through international legal assistance (Article 48 of Law No. 195/2024). Details: [Privacy policy in brief](#legal.confidentialitate).\n- Your rights (access, rectification, erasure, portability, restriction of processing, objection): [Your rights regarding personal data](#legal.drepturile-dvs).\n- Account deletion takes effect after a grace period during which you can cancel it; after that, your account data is irreversibly anonymized, and invoices are kept for the period required by law. If deletion is temporarily unavailable (for example, you have active servers or unpaid invoices), the reason appears on your account page: [Deleting your account](#cont.stergere-cont).\n\n## Frequently asked questions\n\n**How do I find out that the Terms have changed?**\nFor changes with a material impact, BLACKBOX tries to notify you by email at least 15 days in advance. You can see the date of the current version next to “Ultima actualizare:” (Last updated:) on the Terms page.\n\n**If I delete my server before the end of the month, do I get money back for the remaining days?**\nNo, if you delete it in the app.blackbox.md panel: clause 7.4 rules out a refund in this case, and “Terminate” does not return anything. Canceling the order from your account may return an amount to your balance, which the “Anulați comanda?” (Cancel the order?) dialog shows before you confirm. Check that amount before you delete the server: [Order cancellation and refunds](#plati.anulare-si-rambursare).\n\n**Who is responsible if someone else uses my API token or SSH key?**\nYou are, unless there is a proven breach of BLACKBOX's systems. Revoke the compromised token immediately: [API tokens: creating, copying and revoking](#ai.token-uri-api).\n"
   }
  },
  {
   "id": "legal.utilizare-acceptabila",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/utilizare-acceptabila/",
    "ru": "https://docs.blackbox.md/ru/legal/utilizare-acceptabila/",
    "en": "https://docs.blackbox.md/en/legal/utilizare-acceptabila/"
   },
   "title": {
    "ro": "Politica de utilizare acceptabilă: ce nu este permis",
    "ru": "Политика допустимого использования: что запрещено",
    "en": "Acceptable use policy: what is not allowed"
   },
   "summary": {
    "ro": "Activitățile interzise pe serverele BLACKBOX, explicate cu exemple, și ce se întâmplă la încălcări.",
    "ru": "Запрещённые действия на серверах BLACKBOX с примерами и последствия нарушений.",
    "en": "Activities that are prohibited on BLACKBOX servers, explained with examples, and what happens when the rules are broken."
   },
   "markdown": {
    "ro": "Politica de utilizare acceptabilă este capitolul 2, „Utilizări interzise (Politica de utilizare acceptabilă)”, din pagina „Termeni și condiții” (`blackbox.md/info/terms#utilizari-interzise`; linkul „Termeni și condiții” din subsolul paginilor blackbox.md). Mai jos o explicăm pe înțeles, cu exemple, împreună cu capitolul 3, „Răspunderea Clienților”. Celelalte capitole sunt rezumate în [Termenii și condițiile pe scurt](#legal.termeni-esentiali).\n\n**Disponibil pentru:** oricine; pagina este publică. Regulile se aplică fiecărui client BLACKBOX și tuturor celor cărora le dă acces la servicii.\n\n> **Notă**\n> Acesta este un rezumat. Valoare juridică are textul în limba română de pe `blackbox.md/info/terms`; versiunea în rusă este o traducere pentru comoditate. Exemplele din tabel ilustrează regulile și nu fac parte din Termeni.\n\n## Ce este interzis\n\nTermenii enumeră nouă tipuri de activități interzise pe infrastructura BLACKBOX. „Lista nu este exhaustivă”: BLACKBOX își rezervă dreptul de a interveni în orice situație care afectează integritatea rețelei sau a altor clienți.\n\n| Punct | Ce este interzis | Exemple |\n|---|---|---|\n| 2.1 Conținut care încalcă legea | Transmiterea, distribuirea sau stocarea conținutului care încalcă legislația Republicii Moldova sau legislația internațională aplicabilă: materiale protejate prin drepturi de autor, mărci sau secrete comerciale, folosite fără autorizație; conținut obscen, defăimător sau care instigă la ură; încălcarea regulilor privind controlul exporturilor. | Filme, muzică sau programe piratate oferite spre descărcare; un magazin care vinde produse contrafăcute cu marca altcuiva; un site care instigă la ură împotriva unui grup de persoane. |\n| 2.2 Spam și corespondență comercială nesolicitată | Mesaje comerciale nesolicitate, în orice formă, trimise prin serviciile BLACKBOX. Este interzis și spamul trimis prin alt furnizor pentru a face reclamă unor resurse găzduite la BLACKBOX. La fel, căsuțele poștale BLACKBOX nu pot fi folosite pentru a primi mesaje care încalcă această politică. | Oferte trimise unor adrese colectate de pe alte site-uri; o campanie trimisă dintr-un serviciu extern, cu linkuri spre site-ul dvs. de pe serverul BLACKBOX. |\n| 2.3 Liste de email neconfirmate | Adăugarea adreselor în liste de distribuție fără consimțământul explicit al destinatarului (double opt-in). Dovezile consimțământului se păstrează cât timp există lista. Cumpărarea sau închirierea listelor de la terți este interzisă. | Importul clienților într-un newsletter fără ca ei să se fi abonat; o „bază de adrese” cumpărată pentru o campanie. |\n| 2.4 Software și servicii abuzive | Publicarea, distribuirea sau găzduirea de programe, instrumente sau servicii pentru spam, atacuri asupra rețelei, exploatarea vulnerabilităților, ocolirea autentificării sau alte activități rău intenționate. | Programe de trimis spam în masă; servicii de „stres-test” vândute pentru atacuri DDoS; kituri de phishing; panouri de comandă pentru rețele botnet. |\n| 2.5 Acces neautorizat | Încercările de acces la conturi, sisteme, rețele sau resurse care nu vă aparțin, fie că aparțin BLACKBOX, altor clienți sau terților. | Ghicirea parolelor SSH ale altor servere; folosirea parolelor furate dintr-o scurgere de date; încercarea de a intra în contul altui client. |\n| 2.6 Evitarea plății | Orice mijloc, tehnic sau de altă natură, folosit pentru a obține serviciile fără plată sau pentru a evita plățile datorate. | Plata cu cardul altei persoane fără acordul ei; folosirea unei erori a site-ului pentru a primi un server neachitat. |\n| 2.7 Modificarea sau distrugerea de informații | Accesarea, modificarea, distrugerea sau ștergerea, fără autorizație, a informațiilor ori resurselor altor utilizatori BLACKBOX, precum și încercarea de a o face. | Modificarea paginilor site-ului altui client; ștergerea fișierelor altcuiva. |\n| 2.8 Refuz de serviciu (DoS / DDoS) | Participarea, voluntar sau prin neglijență gravă, la activități care împiedică prestarea serviciilor către alți clienți BLACKBOX, către BLACKBOX sau către orice alt furnizor din rețea. | Un atac de tip flood asupra unui site; un server lăsat fără actualizări și cu parolă slabă, preluat într-o rețea botnet; un serviciu deschis spre internet (de exemplu, un server DNS recursiv deschis) folosit pentru amplificarea atacurilor. |\n| 2.9 Perturbarea funcționării rețelei | Folosirea serviciilor în orice mod care perturbă, degradează sau pune în pericol funcționarea rețelei BLACKBOX sau a infrastructurii partenere. | Trafic trimis cu adrese IP sursă falsificate; folosirea unor adrese IP care nu sunt alocate serverului dvs. |\n\n## Ce se întâmplă la o încălcare\n\nCapitolul 3, „Răspunderea Clienților”, prevede următoarele:\n\n| Întrebare | Ce prevăd Termenii |\n|---|---|\n| Cum se află despre o încălcare | Printr-o sesizare externă, prin monitorizare automată sau printr-un audit intern. |\n| Ce poate face BLACKBOX | Poate suspenda sau înceta furnizarea serviciilor, integral sau parțial, cu sau fără notificare prealabilă, în funcție de gravitatea situației. Acolo unde notificarea prealabilă nu pune în pericol alți clienți, BLACKBOX încearcă să o ofere. Potrivit capitolului 10, BLACKBOX poate și înceta contractul pentru încălcarea Termenilor. |\n| Cine răspunde | Dvs., integral: pentru activitatea proprie și a tuturor celor cărora le dați acces (angajați, contractori, vizitatori ai resurselor găzduite etc.). Acceptând serviciile, confirmați că și ei vor respecta Termenii. |\n| Parolele și cheile | Dvs. protejați parolele, cheile SSH, token-urile API și al doilea factor de autentificare. BLACKBOX nu răspunde pentru folosirea conturilor dvs. de către terți, dacă nu există o breșă demonstrată a sistemelor BLACKBOX. |\n\n## Un server spart poate încălca regulile în locul dvs.\n\nUn server compromis (parolă slabă, CMS sau module neactualizate, o bază de date deschisă spre internet) poate trimite spam sau ataca alte sisteme fără să știți. Pentru rețea, traficul pleacă de la serverul dvs., iar punctul 2.8 interzice participarea la atacuri, inclusiv prin neglijență gravă.\n\nCum reduceți riscul:\n\n- Securizați serverul imediat după ce îl primiți: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n- Urmăriți semnele unui server spart: procesor ocupat de procese necunoscute, trafic de ieșire inexplicabil, o coadă de emailuri care tot crește.\n\nDacă BLACKBOX vă contactează în legătură cu o sesizare despre serverul dvs. sau observați singur că serverul trimite spam ori atacă:\n\n1. Dacă se întâmplă chiar acum, opriți serverul: în panoul app.blackbox.md deschideți „Infrastructură” → „Serverele mele”, pe cardul serverului apăsați „Oprește” și confirmați întrebarea „Opriți NUME_SERVER?”. Pe cardurile marcate „Administrat” butoanele nu apar; scrieți-ne direct.\n2. Scrieți-ne cât mai repede la support@blackbox.md: adresa IP a serverului, numărul comenzii, când ați observat problema și ce ați făcut deja.\n3. Curățați serverul și închideți calea pe care a intrat atacatorul: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\n> **Securitate**\n> Nu trimiteți niciodată parole, chei private sau token-uri în emailuri sau tichete.\n\n## Bune practici pentru trimiterea emailurilor\n\nDacă serverul trimite emailuri (newslettere, notificări din site, un server de email propriu), urmați regulile de mai jos. Ele vă ajută să respectați punctele 2.2 și 2.3 și reduc riscul ca mesajele să ajungă în spam.\n\n| Înregistrare DNS (TXT) | Nume | Exemplu de valoare | Ce face |\n|---|---|---|---|\n| SPF | `DOMENIU` | `v=spf1 ip4:IP_SERVER ~all` | Arată ce servere au voie să trimită email în numele domeniului. Un domeniu are o singură înregistrare SPF; dacă trimiteți și printr-un serviciu extern, adăugați în ea `include:` indicat de acel serviciu. |\n| DKIM | `SELECTOR._domainkey.DOMENIU` | `v=DKIM1; k=rsa; p=CHEIE_PUBLICA` | Semnează fiecare mesaj. Cheia o generează programul de email sau serviciul prin care trimiteți. |\n| DMARC | `_dmarc.DOMENIU` | `v=DMARC1; p=none; rua=mailto:ADRESA_EMAIL` | Spune serverelor destinatare ce să facă cu mesajele care nu trec nici SPF, nici DKIM și unde să trimită rapoartele. Începeți cu `p=none`, apoi treceți la `quarantine` sau `reject` când rapoartele arată că mesajele dvs. legitime trec verificarea. |\n\nÎnregistrările se adaugă la furnizorul DNS al domeniului. Dacă ați conectat Cloudflare sau GoDaddy, le puteți adăuga și din pagina „DNS” a panoului: [Gestionarea înregistrărilor DNS din panou](#servicii.dns-inregistrari). Înregistrarea inversă (PTR) a adresei IP nu se configurează din panou; dacă aveți nevoie de ea pentru un server de email, scrieți-ne.\n\nPentru listele de distribuție:\n\n- Folosiți double opt-in: adresa intră în listă abia după ce persoana confirmă abonarea din linkul primit pe email.\n- Păstrați dovada consimțământului (de exemplu, data și ora confirmării) cât timp există lista.\n- Puneți în fiecare mesaj un link de dezabonare și scoateți repede din listă pe cine se dezabonează.\n- Nu cumpărați și nu închiriați liste de adrese.\n\n## Întrebări frecvente\n\n**Lista activităților interzise este completă?**\nNu. Termenii spun că „Lista nu este exhaustivă”, iar BLACKBOX poate interveni în orice situație care afectează integritatea rețelei sau a altor clienți. Dacă nu sunteți sigur, întrebați-ne înainte la support@blackbox.md.\n\n**Pot trimite un newsletter de pe serverul BLACKBOX?**\nDa, dacă destinatarii s-au abonat prin double opt-in, păstrați dovezile consimțământului și nu folosiți liste cumpărate sau închiriate. Mesajele trimise unor persoane care nu le-au cerut sunt spam și sunt interzise.\n\n**Sunt anunțat înainte de suspendare?**\nDepinde de gravitate. Termenii permit suspendarea cu sau fără notificare prealabilă; acolo unde notificarea nu pune în pericol alți clienți, BLACKBOX încearcă să o ofere.\n\n**Cine răspunde dacă un angajat sau un contractor încalcă regulile?**\nDvs. Clientul răspunde pentru toți cei cărora le dă acces la servicii.\n\n**Cum semnalez spam sau un atac venit de pe un server BLACKBOX?**\nScrieți la support@blackbox.md și includeți adresa IP, data și ora (cu fusul orar) și dovezile, de exemplu antetele complete ale mesajului de spam sau extrase din jurnale.\n",
    "ru": "Политика допустимого использования — это глава 2 «Запрещённое использование (Политика допустимого использования)» на странице «Условия использования» (`blackbox.md/ru/info/terms#utilizari-interzise`; ссылка «Условия использования» внизу страниц blackbox.md). Ниже мы объясняем её простыми словами и с примерами, вместе с главой 3 «Ответственность Клиентов». Остальные главы кратко изложены в статье [Условия использования: кратко](#legal.termeni-esentiali).\n\n**Доступно:** всем, страница публичная. Правила действуют для каждого клиента BLACKBOX и для всех, кому он даёт доступ к услугам.\n\n> **Примечание**\n> Это краткое изложение. Юридическую силу имеет румынский текст на `blackbox.md/info/terms`; русская версия — перевод для удобства. Примеры в таблице поясняют правила и не входят в текст Условий.\n\n## Что запрещено\n\nУсловия называют девять видов деятельности, запрещённых на инфраструктуре BLACKBOX. «Список не является исчерпывающим»: BLACKBOX оставляет за собой право вмешаться в любую ситуацию, которая затрагивает целостность сети или других клиентов.\n\n| Пункт | Что запрещено | Примеры |\n|---|---|---|\n| 2.1 Контент, нарушающий закон | Передача, распространение или хранение контента, нарушающего законодательство Республики Молдова или применимое международное право: материалы, защищённые авторским правом, товарными знаками или коммерческой тайной, без разрешения правообладателя; непристойный и клеветнический контент, разжигание ненависти; нарушение правил экспортного контроля. | Пиратские фильмы, музыка или программы для скачивания; магазин, который продаёт подделки под чужим брендом; сайт, призывающий к ненависти к какой-либо группе людей. |\n| 2.2 Спам и нежелательная коммерческая корреспонденция | Нежелательные коммерческие сообщения в любой форме через услуги BLACKBOX. Запрещено также рассылать через стороннего провайдера спам, рекламирующий ресурсы на инфраструктуре BLACKBOX, и получать в почтовые ящики BLACKBOX сообщения, нарушающие эту политику. | Предложения на адреса, собранные с чужих сайтов; рассылка через внешний сервис со ссылками на ваш сайт на сервере BLACKBOX. |\n| 2.3 Неподтверждённые списки email | Добавление адресов в списки рассылки без явного согласия получателя (double opt-in). Подтверждения согласия нужно хранить всё время, пока существует список. Покупать или арендовать списки у третьих лиц запрещено. | Клиентская база, загруженная в рассылку без подписки самих клиентов; купленная «база адресов» для кампании. |\n| 2.4 Вредоносное программное обеспечение и услуги | Публикация, распространение или размещение программ, инструментов и сервисов для спама, сетевых атак, эксплуатации уязвимостей, обхода аутентификации и другой злонамеренной деятельности. | Программы для массовой спам-рассылки; «стресс-тестеры», которые продают как услугу DDoS-атак; фишинговые наборы; панели управления ботнетами. |\n| 2.5 Несанкционированный доступ | Попытки доступа к учётным записям, системам, сетям и ресурсам, которые вам не принадлежат, будь то ресурсы BLACKBOX, других клиентов или третьих лиц. | Подбор SSH-паролей к чужим серверам; вход по паролям из утечек; попытки зайти в аккаунт другого клиента. |\n| 2.6 Уклонение от оплаты | Любые технические и иные способы получить услуги без оплаты или уклониться от причитающихся платежей. | Оплата чужой картой без согласия её владельца; использование ошибки сайта, чтобы получить неоплаченный сервер. |\n| 2.7 Изменение или уничтожение информации | Доступ к информации и ресурсам других пользователей BLACKBOX без разрешения, их изменение, уничтожение или удаление, а также попытки это сделать. | Подмена страниц сайта другого клиента; удаление чужих файлов. |\n| 2.8 Отказ в обслуживании (DoS / DDoS) | Участие, добровольное или по грубой неосторожности, в действиях, которые приводят к отказу в обслуживании других клиентов BLACKBOX, самой BLACKBOX или любого другого поставщика услуг в сети. | Флуд-атака на сайт; сервер без обновлений и со слабым паролем, захваченный ботнетом; открытый в интернет сервис (например, открытый рекурсивный DNS-сервер), через который усиливают атаки. |\n| 2.9 Нарушение работы сети | Любое использование услуг, которое нарушает, ухудшает или ставит под угрозу работу сети BLACKBOX или партнёрской инфраструктуры. | Трафик с поддельными IP-адресами источника; использование IP-адресов, не выделенных вашему серверу. |\n\n## Что происходит при нарушении\n\nГлава 3 «Ответственность Клиентов» предусматривает следующее:\n\n| Вопрос | Что говорят Условия |\n|---|---|\n| Как обнаруживают нарушение | По внешнему обращению, с помощью автоматического мониторинга или при внутреннем аудите. |\n| Что может сделать BLACKBOX | Приостановить или прекратить предоставление услуг полностью или частично, с предварительным уведомлением или без него — в зависимости от серьёзности ситуации. Если уведомление не ставит под угрозу других клиентов, BLACKBOX постарается его отправить. По главе 10 BLACKBOX может также расторгнуть договор при нарушении Условий. |\n| Кто отвечает | Вы, в полном объёме: за собственные действия и за всех, кому вы даёте доступ (сотрудники, подрядчики, посетители размещённых ресурсов и т. д.). Принимая услуги, вы подтверждаете, что и они будут соблюдать Условия. |\n| Пароли и ключи | Защищать пароли, SSH-ключи, API-токены и второй фактор аутентификации должны вы. BLACKBOX не отвечает за использование ваших учётных записей третьими лицами, если не доказан взлом систем BLACKBOX. |\n\n## Взломанный сервер может нарушать правила за вас\n\nВзломанный сервер (слабый пароль, устаревшая CMS или плагины, база данных, открытая в интернет) может рассылать спам или атаковать другие системы без вашего ведома. Для сети этот трафик идёт с вашего сервера, а пункт 2.8 запрещает участвовать в атаках, в том числе по грубой неосторожности.\n\nКак снизить риск:\n\n- Защитите сервер сразу после получения: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n- Следите за признаками взлома: процессор занят неизвестными процессами, исходящий трафик растёт без видимой причины, очередь почты не убывает.\n\nЕсли мы сообщили вам о жалобе на ваш сервер или вы сами заметили, что сервер рассылает спам или атакует:\n\n1. Если это происходит прямо сейчас, остановите сервер: в панели app.blackbox.md откройте «Инфраструктура» → «Мои серверы», на карточке сервера нажмите «Остановить» и подтвердите запрос «Остановить ИМЯ_СЕРВЕРА?». На карточках с меткой «Обслуживается» кнопок нет — сразу напишите нам.\n2. Как можно быстрее напишите нам на support@blackbox.md: IP-адрес сервера, номер заказа, когда вы заметили проблему и что уже сделали.\n3. Очистите сервер и закройте путь, которым воспользовался злоумышленник: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\n> **Безопасность**\n> Никогда не отправляйте пароли, закрытые ключи и токены в письмах или тикетах.\n\n## Рекомендации по отправке почты\n\nЕсли сервер отправляет письма (рассылки, уведомления сайта, собственный почтовый сервер), соблюдайте правила ниже. Они помогают соблюдать пункты 2.2 и 2.3 и снижают риск того, что письма попадут в спам.\n\n| Запись DNS (TXT) | Имя | Пример значения | Назначение |\n|---|---|---|---|\n| SPF | `ДОМЕН` | `v=spf1 ip4:IP_СЕРВЕРА ~all` | Указывает, каким серверам разрешено отправлять почту от имени домена. У домена должна быть только одна SPF-запись; если вы отправляете письма ещё и через внешний сервис, добавьте в неё `include:`, который укажет этот сервис. |\n| DKIM | `СЕЛЕКТОР._domainkey.ДОМЕН` | `v=DKIM1; k=rsa; p=ОТКРЫТЫЙ_КЛЮЧ` | Подписывает каждое письмо. Ключ создаёт ваша почтовая программа или сервис, через который вы отправляете письма. |\n| DMARC | `_dmarc.ДОМЕН` | `v=DMARC1; p=none; rua=mailto:АДРЕС_EMAIL` | Сообщает серверам получателей, что делать с письмами, не прошедшими ни SPF, ни DKIM, и куда отправлять отчёты. Начните с `p=none`, а на `quarantine` или `reject` переходите, когда отчёты покажут, что ваши настоящие письма проходят проверку. |\n\nЗаписи добавляются у DNS-провайдера домена. Если вы подключили Cloudflare или GoDaddy, их можно добавить и на странице «DNS» панели: [Управление DNS-записями из панели](#servicii.dns-inregistrari). Обратная запись (PTR) для IP-адреса в панели не настраивается; если она нужна для почтового сервера, напишите нам.\n\nДля списков рассылки:\n\n- Используйте double opt-in: адрес попадает в список только после того, как человек подтвердит подписку по ссылке из письма.\n- Храните подтверждение согласия (например, дату и время подтверждения), пока существует список.\n- Добавляйте в каждое письмо ссылку для отписки и быстро удаляйте отписавшихся из списка.\n- Не покупайте и не арендуйте списки адресов.\n\n## Частые вопросы\n\n**Это полный список запретов?**\nНет. В Условиях сказано: «Список не является исчерпывающим», и BLACKBOX может вмешаться в любую ситуацию, которая затрагивает целостность сети или других клиентов. Если сомневаетесь, заранее напишите нам на support@blackbox.md.\n\n**Можно ли отправлять рассылку со своего сервера BLACKBOX?**\nДа, если получатели подписались через double opt-in, вы храните подтверждения согласия и не используете купленные или арендованные списки. Письма людям, которые о них не просили, — это спам, и он запрещён.\n\n**Меня предупредят перед приостановкой?**\nЗависит от серьёзности нарушения. Условия допускают приостановку как с уведомлением, так и без него; если уведомление не ставит под угрозу других клиентов, BLACKBOX постарается его отправить.\n\n**Кто отвечает, если правила нарушил сотрудник или подрядчик?**\nВы. Клиент отвечает за всех, кому он дал доступ к услугам.\n\n**Как пожаловаться на спам или атаку с сервера BLACKBOX?**\nНапишите на support@blackbox.md и укажите IP-адрес, дату и время (с часовым поясом) и доказательства — например, полные заголовки спам-письма или выдержки из журналов.\n",
    "en": "The acceptable use policy is chapter 2 of the “Termeni și condiții” (Terms and conditions) page, titled “Utilizări interzise (Politica de utilizare acceptabilă)” (Prohibited uses: acceptable use policy). You can find it at `blackbox.md/info/terms#utilizari-interzise`, or through the “Termeni și condiții” link in the footer of blackbox.md pages. Below we explain it in plain language, with examples, together with chapter 3, “Răspunderea Clienților” (Customer liability). The other chapters are summarized in [Terms and conditions in brief](#legal.termeni-esentiali).\n\n**Available to:** anyone; the page is public. The rules apply to every BLACKBOX customer and to everyone the customer gives access to the services.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> This is a summary. The Romanian text at `blackbox.md/info/terms` is the legally binding one; the Russian version is a translation provided for convenience. The examples in the table illustrate the rules and are not part of the Terms.\n\n## What is prohibited\n\nThe Terms list nine types of activity that are prohibited on BLACKBOX infrastructure. “Lista nu este exhaustivă” (The list is not exhaustive): BLACKBOX reserves the right to step in whenever a situation affects the integrity of the network or of other customers.\n\n| Clause | What is prohibited | Examples |\n|---|---|---|\n| 2.1 Content that breaks the law | Transmitting, distributing or storing content that violates the laws of the Republic of Moldova or applicable international law: material protected by copyright, trademarks or trade secrets and used without authorization; obscene or defamatory content, or content that incites hatred; violations of export control rules. | Pirated movies, music or software offered for download; an online store selling counterfeit goods under someone else's brand; a website that incites hatred against a group of people. |\n| 2.2 Spam and unsolicited commercial mail | Unsolicited commercial messages, in any form, sent through BLACKBOX services. Spam sent through another provider to advertise resources hosted at BLACKBOX is also prohibited. Likewise, BLACKBOX mailboxes may not be used to receive messages that violate this policy. | Offers sent to addresses collected from other websites; a campaign sent from an external service with links to your website on a BLACKBOX server. |\n| 2.3 Unconfirmed email lists | Adding addresses to mailing lists without the recipient's explicit consent (double opt-in). Proof of consent must be kept for as long as the list exists. Buying or renting lists from third parties is prohibited. | Importing your customers into a newsletter when they never subscribed; a purchased “address database” used for a campaign. |\n| 2.4 Abusive software and services | Publishing, distributing or hosting programs, tools or services for spam, network attacks, exploiting vulnerabilities, bypassing authentication or other malicious activity. | Bulk spam software; “stress test” services sold for DDoS attacks; phishing kits; botnet control panels. |\n| 2.5 Unauthorized access | Attempts to access accounts, systems, networks or resources that don't belong to you, whether they belong to BLACKBOX, to other customers or to third parties. | Guessing the SSH passwords of other servers; using passwords stolen in a data breach; trying to get into another customer's account. |\n| 2.6 Avoiding payment | Any means, technical or otherwise, used to get the services without paying or to avoid payments that are due. | Paying with someone else's card without their consent; exploiting a bug on the website to get a server without paying for it. |\n| 2.7 Altering or destroying information | Accessing, altering, destroying or deleting the information or resources of other BLACKBOX users without authorization, or attempting to do so. | Changing pages on another customer's website; deleting someone else's files. |\n| 2.8 Denial of service (DoS / DDoS) | Taking part, willingly or through gross negligence, in activities that prevent services from being provided to other BLACKBOX customers, to BLACKBOX or to any other provider on the network. | A flood attack on a website; a server left without updates and with a weak password, taken over and added to a botnet; a service exposed to the internet (for example, an open recursive DNS server) used to amplify attacks. |\n| 2.9 Disrupting the network | Using the services in any way that disrupts, degrades or endangers the operation of the BLACKBOX network or of partner infrastructure. | Traffic sent with spoofed source IP addresses; using IP addresses that are not assigned to your server. |\n\n## What happens when the rules are broken\n\nChapter 3, “Răspunderea Clienților” (Customer liability), provides the following:\n\n| Question | What the Terms say |\n|---|---|\n| How a violation is detected | Through an external report, automated monitoring or an internal audit. |\n| What BLACKBOX can do | Suspend or stop providing the services, in whole or in part, with or without prior notice, depending on how serious the situation is. Where prior notice does not put other customers at risk, BLACKBOX tries to give it. Under chapter 10, BLACKBOX can also terminate the contract for a breach of the Terms. |\n| Who is responsible | You, fully: for your own activity and for that of everyone you give access to (employees, contractors, visitors to your hosted resources, etc.). By accepting the services, you confirm that they will also comply with the Terms. |\n| Passwords and keys | You are the one who protects your passwords, SSH keys, API tokens and second authentication factor. BLACKBOX is not liable for third parties' use of your accounts unless there is a proven breach of BLACKBOX systems. |\n\n## A hacked server can break the rules in your name\n\nA compromised server (a weak password, an outdated CMS or plugins, a database exposed to the internet) can send spam or attack other systems without you knowing. As far as the network is concerned, the traffic comes from your server, and clause 2.8 prohibits taking part in attacks, including through gross negligence.\n\nHow to reduce the risk:\n\n- Secure the server as soon as you receive it: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n- Watch for signs that the server has been hacked: the CPU kept busy by unknown processes, unexplained outgoing traffic, an email queue that keeps growing.\n\nIf BLACKBOX contacts you about a report concerning your server, or you notice yourself that the server is sending spam or attacking other systems:\n\n1. If it is happening right now, stop the server: in the app.blackbox.md panel, open “Infrastructure” → “My Servers”, click “Stop” on the server card and confirm “Stop SERVER_NAME?”. Cards marked “Managed” don't show the buttons; write to us directly.\n2. Write to us as soon as possible at support@blackbox.md with the server's IP address, the order number, when you noticed the problem and what you have already done.\n3. Clean up the server and close the way the attacker got in: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\n> **Security**\n> Never send passwords, private keys or tokens in emails or support tickets.\n\n## Good practices for sending email\n\nIf your server sends email (newsletters, notifications from your website, your own mail server), follow the rules below. They help you comply with clauses 2.2 and 2.3 and reduce the risk of your messages ending up in spam.\n\n| DNS record (TXT) | Name | Example value | What it does |\n|---|---|---|---|\n| SPF | `DOMAIN` | `v=spf1 ip4:SERVER_IP ~all` | Lists the servers that are allowed to send email on behalf of the domain. A domain has only one SPF record; if you also send through an external service, add to it the `include:` that the service gives you. |\n| DKIM | `SELECTOR._domainkey.DOMAIN` | `v=DKIM1; k=rsa; p=PUBLIC_KEY` | Signs every message. The key is generated by your mail software or by the service you send through. |\n| DMARC | `_dmarc.DOMAIN` | `v=DMARC1; p=none; rua=mailto:EMAIL_ADDRESS` | Tells receiving servers what to do with messages that pass neither SPF nor DKIM, and where to send reports. Start with `p=none`, then switch to `quarantine` or `reject` once the reports show that your legitimate messages pass the check. |\n\nYou add these records at your domain's DNS provider. If you have connected Cloudflare or GoDaddy, you can also add them from the “DNS” page of the panel: [Managing DNS records from the panel](#servicii.dns-inregistrari). Reverse DNS (PTR) for the IP address can't be set up from the panel; if you need it for a mail server, write to us.\n\nFor mailing lists:\n\n- Use double opt-in: an address joins the list only after the person confirms the subscription through the link they receive by email.\n- Keep proof of consent (for example, the date and time of the confirmation) for as long as the list exists.\n- Put an unsubscribe link in every message, and promptly remove anyone who unsubscribes.\n- Don't buy or rent address lists.\n\n## Frequently asked questions\n\n**Is the list of prohibited activities complete?**\nNo. The Terms say “Lista nu este exhaustivă” (The list is not exhaustive), and BLACKBOX can step in whenever a situation affects the integrity of the network or of other customers. If you're not sure, ask us first at support@blackbox.md.\n\n**Can I send a newsletter from my BLACKBOX server?**\nYes, if the recipients subscribed through double opt-in, you keep proof of their consent and you don't use bought or rented lists. Messages sent to people who didn't ask for them are spam and are prohibited.\n\n**Will I be notified before a suspension?**\nIt depends on how serious the situation is. The Terms allow suspension with or without prior notice; where notice doesn't put other customers at risk, BLACKBOX tries to give it.\n\n**Who is responsible if an employee or contractor breaks the rules?**\nYou are. The customer is responsible for everyone they give access to the services.\n\n**How do I report spam or an attack coming from a BLACKBOX server?**\nWrite to support@blackbox.md and include the IP address, the date and time (with the time zone) and the evidence, for example the full headers of the spam message or excerpts from the logs.\n"
   }
  },
  {
   "id": "legal.responsabilitate-date",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/responsabilitate-date/",
    "ru": "https://docs.blackbox.md/ru/legal/responsabilitate-date/",
    "en": "https://docs.blackbox.md/en/legal/responsabilitate-date/"
   },
   "title": {
    "ro": "Responsabilitatea pentru datele de pe server și backup",
    "ru": "Ответственность за данные на сервере и резервные копии",
    "en": "Responsibility for server data and backups"
   },
   "summary": {
    "ro": "Cine răspunde de conținutul și securitatea serverului dvs., de copiile de rezervă și de datele personale ale utilizatorilor dvs.",
    "ru": "Кто отвечает за содержимое и безопасность вашего сервера, резервные копии и персональные данные ваших пользователей.",
    "en": "Who is responsible for the content and security of your server, for backups and for your users' personal data."
   },
   "markdown": {
    "ro": "Articolul rezumă ce prevăd [Termenii și condițiile](https://blackbox.md/info/terms) și [Acordul privind prelucrarea datelor (DPA)](https://blackbox.md/info/dpa) despre datele de pe serverul dvs.: cine răspunde de conținut, de securitate, de copiile de rezervă și de datele personale ale utilizatorilor dvs. Ambele documente se deschid din subsolul oricărei pagini blackbox.md, cu linkurile „Termeni și condiții” și „Acord privind prelucrarea datelor”.\n\n**Disponibil pentru:** titularul unui server BLACKBOX (VPS sau server dedicat), inclusiv companiile care găzduiesc pe el datele propriilor utilizatori.\n\n> **Notă**\n> Acesta este un rezumat. Textul cu valoare juridică este cel din paginile `blackbox.md/info/terms` și `blackbox.md/info/dpa`, în limba română.\n\n## Pe scurt: cine răspunde de ce\n\n| Ce | Dvs. | BLACKBOX |\n|---|---|---|\n| Conținutul serverului: fișiere, site-uri, aplicații, baze de date | decideți ce rulează pe server și răspundeți de conținut | nu accesează conținutul decât la cererea dvs. explicită sau când legea o obligă |\n| Securitatea serverului: actualizări, firewall, utilizatori, chei SSH | o asigurați dvs., ca administrator cu acces root | aplică măsuri de securitate la nivelul infrastructurii, de exemplu izolarea la nivel de virtualizare |\n| Securitatea contului: parola, cheile SSH, token-urile API, 2FA | le protejați și le păstrați confidențiale | nu răspunde de folosirea contului de către terți, dacă nu există o breșă demonstrată a sistemelor sale |\n| Copiile de rezervă | le faceți dvs., în afara serverului | nu oferă în prezent backup automat și nu răspunde pentru pierderi de date |\n| Datele personale ale utilizatorilor dvs. | sunteți operator | este persoană împuternicită de operator |\n| Un incident de securitate în datele găzduite | îndepliniți obligațiile operatorului | vă notifică fără întârzieri nejustificate |\n| Evaluarea impactului (DPIA) pentru aplicațiile dvs. | o faceți dvs., dacă este obligatorie | oferă asistență rezonabilă, în măsura posibilă tehnic |\n\n## Serverul dvs.: conținut și securitate\n\nServerul vine cu acces root: dvs. instalați aplicațiile, gestionați utilizatorii, cheile SSH și actualizările. Capitolul 3 „Răspunderea Clienților” din Termeni prevede că:\n\n- răspundeți integral pentru activitatea proprie și a tuturor celor cărora le dați acces: angajați, contractori, vizitatori ai resurselor găzduite;\n- răspundeți de securizarea parolelor, cheilor SSH, token-urilor API și a factorului secundar de autentificare și de păstrarea lor confidențială;\n- dacă se constată o încălcare (printr-o sesizare externă, monitorizare automată sau audit intern), BLACKBOX poate suspenda sau înceta serviciile, integral sau parțial, cu sau fără notificare prealabilă, în funcție de gravitate.\n\nCe nu este permis pe server: [Politica de utilizare acceptabilă: ce nu este permis](#legal.utilizare-acceptabila). Cum protejați serverul: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou). Dacă serverul a fost spart: [Serverul a fost spart sau este atacat: ce faceți](#faq.server-compromis).\n\nPe lângă dvs., pe server pot executa acțiuni două instrumente, dar numai la cererea dvs.:\n\n- **Panoul.** Acțiuni precum „Resetează parola” sau „Adaugă cheie SSH” se execută pe server cu cheia afișată în listă ca „Cheie de administrare (blackbox.md)”. Vedeți [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n- **Asistentul AI.** Un asistent AI conectat cu token-ul dvs. API rulează comenzi în numele dvs. Conform capitolului 3, răspundeți de cei cărora le dați acces și de păstrarea confidențială a token-urilor. Vedeți [Securitatea token-urilor și a agenților AI](#ai.securitate).\n\n## Datele personale ale utilizatorilor dvs.\n\nDacă pe server rulează un site, un magazin online sau o aplicație care prelucrează date personale (de exemplu conturile și comenzile vizitatorilor), rolurile sunt:\n\n| Rol | Cine | Ce înseamnă |\n|---|---|---|\n| Operator | dvs. | stabiliți scopul și modul prelucrării și răspundeți de respectarea legii |\n| Persoană împuternicită de operator | Click Expert S.R.L. (BLACKBOX) | găzduiește datele și le prelucrează doar cât este necesar pentru serviciul de găzduire (art. 28 din Legea nr. 195/2024) |\n\nCapitolul 8 „Date cu caracter personal” din Termeni: „Clientul este responsabil pentru respectarea legislației aplicabile în ceea ce privește datele personale pe care le procesează în cadrul Serviciilor găzduite la BLACKBOX (de exemplu, datele utilizatorilor finali ai unui website Client).”\n\nDPA-ul stabilește cum prelucrează BLACKBOX aceste date:\n\n- **Doar după instrucțiunile dvs.**, adică după configurația aleasă la comandă și setările din panou.\n- **Fără acces la conținut:** „Nu accesăm și nu citim conținutul aplicației dvs., cu excepția cazului în care este necesar pentru suport tehnic la cererea dvs. explicită, sau atunci când legea ne obligă (caz în care, dacă nu ne este interzis prin lege, vă vom informa în prealabil).”\n- **Incidente:** la o încălcare a securității datelor găzduite, BLACKBOX vă notifică fără întârzieri nejustificate, ca să vă puteți îndeplini obligațiile de operator (art. 33–34 din Legea nr. 195/2024).\n- **Asistență rezonabilă:** pentru securitate, notificarea incidentelor, evaluarea impactului și cererile utilizatorilor dvs. privind drepturile lor, în măsura în care este posibil tehnic la nivelul infrastructurii de găzduire.\n\nDPA-ul se acceptă odată cu Termenii, la activarea unui serviciu, fără o semnătură separată. Dacă societatea dvs. are nevoie de un exemplar semnat, scrieți la support@blackbox.md. Detalii: [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n### Evaluarea impactului (DPIA)\n\nDacă prelucrarea din aplicația dvs. cere o evaluare a impactului asupra protecției datelor (art. 35 din Legea nr. 195/2024), o face operatorul, adică dvs.: BLACKBOX nu știe ce date prelucrează aplicația dvs. Evaluarea se face înainte de prelucrare, în special la profilarea automată cu efecte juridice asupra persoanelor, la prelucrarea pe scară largă a categoriilor speciale de date sau la monitorizarea sistematică, pe scară largă, a unei zone accesibile publicului. Dacă aveți nevoie de informații despre infrastructură pentru evaluare, scrieți-ne.\n\n## Copiile de rezervă și pierderea datelor\n\nÎn prezent BLACKBOX nu oferă backup automat și nici snapshot-uri. Butonul „Backup” de pe cardul serverului, în pagina „Serverele mele” a panoului app.blackbox.md, nu este activ: dacă îl apăsați, apare mesajul de eroare `backup_extra_disabled`. Serverul nu este afectat. Mențiunea din DPA despre backup „dacă este activat de dvs.” nu înseamnă că BLACKBOX face copii: un astfel de serviciu nu există în prezent, deci singurele copii sunt cele pe care le configurați dvs.\n\nCapitolul 9 „Limitarea răspunderii” din Termeni prevede că BLACKBOX „nu răspunde pentru daune indirecte, pierdere de profit, pierderi de date sau întreruperi de activitate suferite de Client sau terți”. În măsura permisă de lege, răspunderea totală a BLACKBOX este limitată la suma plătită pentru Serviciile afectate în ultimele 12 luni anterioare incidentului. Limitarea nu se aplică în caz de dol sau culpă gravă din partea BLACKBOX.\n\n> **Important**\n> Singurele copii ale datelor dvs. sunt cele pe care le faceți dvs. Păstrați cel puțin o copie în afara serverului: la alt furnizor, pe calculatorul dvs. sau pe un NAS. O copie într-un alt director al aceluiași server dispare odată cu serverul.\n\nCe salvați, unde și cum automatizați: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup). Dacă vreți ca echipa BLACKBOX să configureze copiile, aceasta este un serviciu profesional, cu ofertă separată: [Servicii profesionale la cerere: administrare, DevOps, migrare](#suport.servicii-profesionale).\n\n## Înainte de a șterge un server sau contul\n\n> **Ireversibil**\n> Un server șters nu mai poate fi recuperat, nici de echipa BLACKBOX. Copiați datele în afara serverului înainte de oricare dintre acțiunile de mai jos.\n\n| Acțiune | Ce se întâmplă cu datele | Vă puteți răzgândi |\n|---|---|---|\n| „Șterge definitiv” pe cardul serverului, în panou | serverul și discurile lui se șterg după perioada de grație de 24 de ore | da, cu „Anulează ștergerea”, până la executare |\n| „Anulează comanda” pentru un server activ („Contul meu” → „Comenzi”) | serverul se șterge imediat după confirmare | nu |\n| Neplata facturilor | serviciul poate fi suspendat, apoi încetat; datele se păstrează „o perioadă rezonabilă” după suspendare și nu se șterg fără notificare prealabilă prin email | da, dacă plătiți sau ne scrieți la timp |\n| „Șterge contul meu” pe blackbox.md | datele personale din cont se anonimizează după 7 zile; cererea se poate face doar dacă nu aveți servere active, facturi neplătite, comenzi neterminate sau bani în sold | da, cu „Anulează ștergerea”, în cele 7 zile |\n\nÎnainte de ștergere:\n\n1. Copiați fișierele, dump-urile bazelor de date și configurațiile în afara serverului: [Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n2. Verificați că puteți restaura din copie, de exemplu importând baza de date pe alt server.\n3. Mutați domeniile și serviciile care folosesc adresa IP a serverului: după ștergere, adresa poate fi atribuită altui server.\n4. Abia apoi ștergeți serverul: [Ștergerea definitivă a unui server](#servere.stergere-server).\n5. Dacă închideți și contul, descărcați înainte datele din cont cu „Descarcă datele mele” ([Descărcarea datelor dvs. („Datele mele”)](#cont.export-date)). Ordinea completă: [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n\nConform DPA, la încetarea serviciului datele găzduite se șterg sau, la alegerea dvs., vă sunt returnate. Dacă aveți nevoie de returnare, scrieți la support@blackbox.md înainte de a șterge serverul sau de a anula comanda.\n\n## Întrebări frecvente\n\n**Face BLACKBOX copii de rezervă ale serverului meu?**\nNu. În prezent nu există un serviciu de backup automat; copiile le faceți dvs., în afara serverului.\n\n**Angajații BLACKBOX pot citi fișierele de pe serverul meu?**\nConform DPA, BLACKBOX nu accesează conținutul aplicațiilor dvs., cu excepția suportului tehnic cerut explicit de dvs. sau a unei obligații legale. Acțiunile din panou se execută pe server doar când le cereți dvs.\n\n**Serverul meu este marcat „Administrat”. Se aplică aceleași reguli?**\nServerele marcate „Administrat” sunt administrate de echipa BLACKBOX. Ce face echipa pe ele, inclusiv dacă face copii de rezervă, aflați de la suport: [Cum contactați suportul BLACKBOX](#suport.contact).\n",
    "ru": "В статье кратко изложено, что [Условия использования](https://blackbox.md/ru/info/terms) и [Соглашение об обработке данных (DPA)](https://blackbox.md/ru/info/dpa) говорят о данных на вашем сервере: кто отвечает за содержимое, безопасность, резервные копии и персональные данные ваших пользователей. Оба документа можно открыть внизу любой страницы blackbox.md — по ссылкам «Условия использования» и «Соглашение об обработке данных».\n\n**Доступно:** владельцу сервера BLACKBOX (VPS или выделенного сервера), в том числе компаниям, которые размещают на нём данные своих пользователей.\n\n> **Примечание**\n> Это краткое изложение. Юридическую силу имеет румынская версия страниц `blackbox.md/info/terms` и `blackbox.md/info/dpa`; русская версия — перевод для удобства.\n\n## Коротко: кто за что отвечает\n\n| Что | Вы | BLACKBOX |\n|---|---|---|\n| Содержимое сервера: файлы, сайты, приложения, базы данных | решаете, что работает на сервере, и отвечаете за содержимое | не обращается к содержимому — только по вашему прямому запросу или когда этого требует закон |\n| Безопасность сервера: обновления, файрвол, пользователи, SSH-ключи | обеспечиваете сами как администратор с доступом root | применяет меры безопасности на уровне инфраструктуры, например изоляцию на уровне виртуализации |\n| Безопасность аккаунта: пароль, SSH-ключи, API-токены, 2FA | защищаете их и храните в тайне | не отвечает за использование аккаунта третьими лицами, если не доказан взлом систем BLACKBOX |\n| Резервные копии | делаете сами и храните вне сервера | сейчас не предлагает автоматического резервного копирования и не отвечает за потерю данных |\n| Персональные данные ваших пользователей | вы — оператор | лицо, уполномоченное оператором |\n| Инцидент безопасности с размещёнными данными | выполняете обязанности оператора | уведомляет вас без неоправданных задержек |\n| Оценка воздействия (DPIA) для ваших приложений | проводите сами, если она обязательна | оказывает разумное содействие в пределах технических возможностей |\n\n## Ваш сервер: содержимое и безопасность\n\nСервер предоставляется с доступом root: вы сами устанавливаете приложения, управляете пользователями, SSH-ключами и обновлениями. Глава 3 «Ответственность Клиентов» Условий устанавливает, что:\n\n- вы несёте полную ответственность за собственную деятельность и за всех, кому даёте доступ: сотрудников, подрядчиков, посетителей размещённых ресурсов;\n- вы отвечаете за защиту паролей, SSH-ключей, API-токенов и второго фактора аутентификации и за сохранение их в тайне;\n- при обнаружении нарушения (по внешнему обращению, через автоматический мониторинг или при внутреннем аудите) BLACKBOX может приостановить или прекратить услуги полностью или частично, с предварительным уведомлением или без него — в зависимости от серьёзности ситуации.\n\nЧто запрещено размещать и делать на сервере: [Политика допустимого использования: что запрещено](#legal.utilizare-acceptabila). Как защитить сервер: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou). Если сервер взломали: [Сервер взломан или атакован: что делать](#faq.server-compromis).\n\nКроме вас, действия на сервере могут выполнять два инструмента — и только по вашей команде:\n\n- **Панель.** Такие действия, как «Сбросить пароль» или «Добавить SSH-ключ», выполняются на сервере с помощью ключа, который в списке ключей отмечен как «Ключ управления (blackbox.md)». См. [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n- **AI-ассистент.** AI-ассистент, подключённый с вашим API-токеном, выполняет команды от вашего имени. По главе 3 вы отвечаете за тех, кому даёте доступ, и за сохранение токенов в тайне. См. [Безопасность токенов и AI-агентов](#ai.securitate).\n\n## Персональные данные ваших пользователей\n\nЕсли на сервере работает сайт, интернет-магазин или приложение, которое обрабатывает персональные данные (например, аккаунты и заказы посетителей), роли распределяются так:\n\n| Роль | Кто | Что это значит |\n|---|---|---|\n| Оператор | вы | определяете цели и способы обработки и отвечаете за соблюдение закона |\n| Лицо, уполномоченное оператором | Click Expert S.R.L. (BLACKBOX) | размещает данные и обрабатывает их только в объёме, необходимом для услуги хостинга (ст. 28 Закона № 195/2024) |\n\nГлава 8 «Персональные данные» Условий: «Клиент несёт ответственность за соблюдение применимого законодательства в отношении персональных данных, которые он обрабатывает в рамках Услуг, размещённых на BLACKBOX (например, данные конечных пользователей веб-сайта Клиента).»\n\nDPA определяет, как BLACKBOX обрабатывает эти данные:\n\n- **Только по вашим инструкциям** — то есть в соответствии с конфигурацией, выбранной при заказе, и настройками в панели.\n- **Без доступа к содержимому:** «Мы не получаем доступ к содержимому вашего приложения и не читаем ваши данные, за исключением случаев, когда это необходимо для оказания технической поддержки по вашему прямому запросу, либо когда закон обязывает нас к этому (в таком случае мы, если это не запрещено законом, проинформируем вас заранее).»\n- **Инциденты:** при нарушении безопасности размещённых данных BLACKBOX уведомляет вас без неоправданных задержек, чтобы вы могли выполнить обязанности оператора (ст. 33–34 Закона № 195/2024).\n- **Разумное содействие:** в вопросах безопасности, уведомления об инцидентах, оценки воздействия и запросов ваших пользователей об осуществлении их прав — в той мере, в какой это технически возможно на уровне инфраструктуры хостинга.\n\nDPA принимается вместе с Условиями при активации услуги, отдельно его подписывать не нужно. Если вашей компании нужен подписанный экземпляр, напишите на support@blackbox.md. Подробнее: [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n### Оценка воздействия (DPIA)\n\nЕсли обработка данных в вашем приложении требует оценки воздействия на защиту данных (ст. 35 Закона № 195/2024), её проводит оператор, то есть вы: BLACKBOX не знает, какие данные обрабатывает ваше приложение. Оценку проводят до начала обработки — в частности, при автоматическом профилировании с юридическими последствиями для людей, при масштабной обработке особых категорий данных или при систематическом масштабном наблюдении за общедоступными местами. Если для оценки вам нужны сведения об инфраструктуре, напишите нам.\n\n## Резервные копии и потеря данных\n\nСейчас BLACKBOX не предлагает ни автоматического резервного копирования, ни снимков (snapshot). Кнопка «Резервные копии» на карточке сервера на странице «Мои серверы» панели app.blackbox.md не работает: если нажать её, появится сообщение об ошибке `backup_extra_disabled`. На сервер это никак не влияет. Слова DPA о резервном копировании «если оно включено вами» не означают, что копии делает BLACKBOX: такой услуги сейчас нет, поэтому единственные копии — те, что настраиваете вы сами.\n\nГлава 9 «Ограничение ответственности» Условий гласит, что BLACKBOX «не несёт ответственности за косвенные убытки, упущенную выгоду, потерю данных или перерывы в деятельности, понесённые Клиентом или третьими лицами». В пределах, разрешённых законом, общая ответственность BLACKBOX ограничена суммой, уплаченной за затронутые Услуги за последние 12 месяцев до инцидента. Это ограничение не действует при умысле или грубой неосторожности со стороны BLACKBOX.\n\n> **Важно**\n> Ваши данные существуют только в тех копиях, которые сделали вы. Храните хотя бы одну копию вне сервера: у другого провайдера, на своём компьютере или на NAS. Копия в другой папке того же сервера пропадёт вместе с сервером.\n\nЧто сохранять, где хранить и как автоматизировать: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup). Если вы хотите, чтобы резервное копирование настроила команда BLACKBOX, это профессиональная услуга с отдельным предложением: [Профессиональные услуги по запросу: администрирование, DevOps, миграция](#suport.servicii-profesionale).\n\n## Перед удалением сервера или аккаунта\n\n> **Необратимо**\n> Удалённый сервер восстановить нельзя — даже силами команды BLACKBOX. Скопируйте данные за пределы сервера до любого из действий ниже.\n\n| Действие | Что происходит с данными | Можно передумать |\n|---|---|---|\n| «Удалить» на карточке сервера в панели | сервер и его диски удаляются через 24 часа отсрочки | да, кнопкой «Отменить удаление» — до выполнения |\n| «Отменить заказ» для активного сервера («Личный кабинет» → «Заказы») | сервер удаляется сразу после подтверждения | нет |\n| Неоплата счетов | услугу могут приостановить, а затем прекратить; данные хранятся «разумный период времени» после приостановки и не удаляются без предварительного уведомления по email | да, если вовремя оплатить или написать нам |\n| «Удалить мой аккаунт» на blackbox.md | персональные данные аккаунта анонимизируются через 7 дней; запросить удаление можно, только если у вас нет активных серверов, неоплаченных счетов, незавершённых заказов и средств на балансе | да, кнопкой «Отменить удаление» — в течение 7 дней |\n\nПеред удалением:\n\n1. Скопируйте файлы, дампы баз данных и конфигурации за пределы сервера: [Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n2. Убедитесь, что из копии можно восстановиться, например импортируйте базу данных на другом сервере.\n3. Перенесите домены и сервисы, которые используют IP-адрес сервера: после удаления этот адрес может достаться другому серверу.\n4. Только после этого удаляйте сервер: [Безвозвратное удаление сервера](#servere.stergere-server).\n5. Если вы закрываете и аккаунт, заранее скачайте данные аккаунта кнопкой «Скачать мои данные» ([Скачивание ваших данных («Мои данные»)](#cont.export-date)). Полный порядок действий: [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n\nПо DPA после прекращения услуги размещённые данные удаляются или, по вашему выбору, возвращаются вам. Если нужен возврат данных, напишите на support@blackbox.md до удаления сервера или отмены заказа.\n\n## Частые вопросы\n\n**BLACKBOX делает резервные копии моего сервера?**\nНет. Автоматического резервного копирования сейчас нет — копии делаете вы сами и храните их вне сервера.\n\n**Могут ли сотрудники BLACKBOX читать файлы на моём сервере?**\nПо DPA BLACKBOX не обращается к содержимому ваших приложений, кроме случаев технической поддержки по вашему прямому запросу или по требованию закона. Действия из панели выполняются на сервере только тогда, когда их запускаете вы.\n\n**Мой сервер отмечен как «Обслуживается». Для него действуют те же правила?**\nСерверы с отметкой «Обслуживается» обслуживает команда BLACKBOX. Что именно она на них делает, в том числе делает ли резервные копии, уточните в поддержке: [Как связаться с поддержкой BLACKBOX](#suport.contact).\n",
    "en": "This article summarizes what the [Terms and Conditions](https://blackbox.md/info/terms) and the [Data Processing Agreement (DPA)](https://blackbox.md/info/dpa) say about the data on your server: who is responsible for the content, the security, the backups and the personal data of your users. You can open both documents from the footer of any blackbox.md page, with the “Termeni și condiții” (Terms and conditions) and “Acord privind prelucrarea datelor” (Data processing agreement) links.\n\n**Available to:** the holder of a BLACKBOX server (VPS or dedicated server), including companies that host their own users' data on it.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> This is a summary. The legally binding text is the one on the `blackbox.md/info/terms` and `blackbox.md/info/dpa` pages, in Romanian.\n\n## In brief: who is responsible for what\n\n| What | You | BLACKBOX |\n|---|---|---|\n| Server content: files, sites, applications, databases | you decide what runs on the server and are responsible for the content | does not access the content except at your explicit request or when the law requires it |\n| Server security: updates, firewall, users, SSH keys | you take care of it, as the administrator with root access | applies security measures at the infrastructure level, for example isolation at the virtualization level |\n| Account security: password, SSH keys, API tokens, 2FA | you protect them and keep them confidential | is not liable for third parties' use of your account, unless there is a proven breach of its own systems |\n| Backups | you make them yourself, outside the server | currently offers no automatic backups and is not liable for data loss |\n| Your users' personal data | you are the controller | is the processor |\n| A security incident involving the hosted data | you fulfill the controller's obligations | notifies you without undue delay |\n| Impact assessment (DPIA) for your applications | you carry it out, if it is required | provides reasonable assistance, as far as technically possible |\n\n## Your server: content and security\n\nThe server comes with root access: you install the applications and manage the users, the SSH keys and the updates. Chapter 3, “Răspunderea Clienților” (Customer liability), of the Terms states that:\n\n- you are fully responsible for your own activity and for that of everyone you give access to: employees, contractors, visitors of the hosted resources;\n- you are responsible for securing your passwords, SSH keys, API tokens and second authentication factor, and for keeping them confidential;\n- if a violation is found (through an external report, automated monitoring or an internal audit), BLACKBOX may suspend or terminate the services, fully or partly, with or without prior notice, depending on how serious it is.\n\nWhat is not allowed on the server: [Acceptable use policy: what is not allowed](#legal.utilizare-acceptabila). How to protect your server: [Securing a new server: checklist](#ghiduri.securizare-server-nou). If your server has been hacked: [Your server was hacked or is under attack: what to do](#faq.server-compromis).\n\nBesides you, two tools can carry out actions on the server, but only at your request:\n\n- **The panel.** Actions such as “Reset password” or “Add SSH key” run on the server with the key shown in the list as “Management key (blackbox.md)”. See [BLACKBOX keys on your server](#acces.cheile-blackbox).\n- **The AI assistant.** An AI assistant connected with your API token runs commands on your behalf. Under chapter 3, you are responsible for the people you give access to and for keeping your tokens confidential. See [Token and AI agent security](#ai.securitate).\n\n## Your users' personal data\n\nIf a website, an online store or an application that processes personal data runs on your server (for example, your visitors' accounts and orders), the roles are:\n\n| Role | Who | What it means |\n|---|---|---|\n| Controller | you | you decide the purpose and the means of the processing and are responsible for complying with the law |\n| Processor | Click Expert S.R.L. (BLACKBOX) | hosts the data and processes it only as far as the hosting service requires (Article 28 of Law No. 195/2024) |\n\nChapter 8, “Date cu caracter personal” (Personal data), of the Terms: “Clientul este responsabil pentru respectarea legislației aplicabile în ceea ce privește datele personale pe care le procesează în cadrul Serviciilor găzduite la BLACKBOX (de exemplu, datele utilizatorilor finali ai unui website Client).” (The Customer is responsible for complying with the applicable legislation regarding the personal data it processes within the Services hosted at BLACKBOX (for example, the data of the end users of a Customer website).)\n\nThe DPA sets out how BLACKBOX processes this data:\n\n- **Only on your instructions**, that is, according to the configuration you chose when ordering and your settings in the panel.\n- **No access to content:** “Nu accesăm și nu citim conținutul aplicației dvs., cu excepția cazului în care este necesar pentru suport tehnic la cererea dvs. explicită, sau atunci când legea ne obligă (caz în care, dacă nu ne este interzis prin lege, vă vom informa în prealabil).” (We do not access or read the content of your application, except when this is necessary for technical support at your explicit request, or when the law requires us to (in which case, unless the law prohibits it, we will inform you in advance).)\n- **Incidents:** if the security of the hosted data is breached, BLACKBOX notifies you without undue delay, so that you can fulfill your obligations as controller (Articles 33–34 of Law No. 195/2024).\n- **Reasonable assistance:** with security, incident notification, impact assessments and your users' requests regarding their rights, as far as technically possible at the level of the hosting infrastructure.\n\nYou accept the DPA together with the Terms when you activate a service, with no separate signature. If your company needs a signed copy, write to support@blackbox.md. Details: [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n### Impact assessment (DPIA)\n\nIf the processing in your application requires a data protection impact assessment (Article 35 of Law No. 195/2024), the controller carries it out, that is, you: BLACKBOX does not know what data your application processes. The assessment is done before the processing starts, in particular for automated profiling with legal effects on people, large-scale processing of special categories of data, or systematic, large-scale monitoring of a publicly accessible area. If you need information about the infrastructure for the assessment, write to us.\n\n## Backups and data loss\n\nBLACKBOX currently offers no automatic backups and no snapshots. The “Backups” button on the server card, on the “My Servers” page of the app.blackbox.md panel, is not active: if you click it, the error message `backup_extra_disabled` appears. The server is not affected. The DPA's mention of backup “dacă este activat de dvs.” (if enabled by you) does not mean that BLACKBOX makes copies: no such service exists at the moment, so the only copies are the ones you set up yourself.\n\nChapter 9, “Limitarea răspunderii” (Limitation of liability), of the Terms states that BLACKBOX “nu răspunde pentru daune indirecte, pierdere de profit, pierderi de date sau întreruperi de activitate suferite de Client sau terți” (is not liable for indirect damages, loss of profit, data loss or business interruptions suffered by the Customer or third parties). To the extent permitted by law, BLACKBOX's total liability is limited to the amount paid for the affected Services in the 12 months before the incident. This limitation does not apply in cases of willful misconduct or gross negligence on BLACKBOX's part.\n\n> **Important**\n> The only copies of your data are the ones you make yourself. Keep at least one copy outside the server: at another provider, on your computer or on a NAS. A copy in another directory on the same server disappears along with the server.\n\nWhat to back up, where to keep it and how to automate it: [Backup strategy for your server](#ghiduri.strategie-backup). If you want the BLACKBOX team to set up the backups, that is a professional service with a separate offer: [Professional services on request: administration, DevOps, migration](#suport.servicii-profesionale).\n\n## Before you delete a server or your account\n\n> **Irreversible**\n> A deleted server cannot be recovered, not even by the BLACKBOX team. Copy your data off the server before any of the actions below.\n\n| Action | What happens to the data | Can you change your mind |\n|---|---|---|\n| “Terminate” on the server card, in the panel | the server and its disks are deleted after the 24-hour grace period | yes, with “Cancel termination”, until the deletion is carried out |\n| “Anulează comanda” (Cancel the order) for an active server (“Contul meu” (My account) → “Comenzi” (Orders)) | the server is deleted immediately after you confirm | no |\n| Unpaid invoices | the service may be suspended, then terminated; the data is kept for “o perioadă rezonabilă” (a reasonable period) after suspension and is not deleted without prior notice by email | yes, if you pay or write to us in time |\n| “Șterge contul meu” (Delete my account) on blackbox.md | the personal data in the account is anonymized after 7 days; you can make the request only if you have no active servers, unpaid invoices, unfinished orders or money in your balance | yes, with “Anulează ștergerea” (Cancel deletion), within the 7 days |\n\nBefore you delete anything:\n\n1. Copy your files, database dumps and configuration files off the server: [Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere).\n2. Check that you can restore from the copy, for example by importing the database on another server.\n3. Move the domains and services that use the server's IP address: after deletion, the address may be assigned to another server.\n4. Only then delete the server: [Permanently deleting a server](#servere.stergere-server).\n5. If you are also closing your account, first download your account data with “Descarcă datele mele” (Download my data) ([Downloading your data (“Datele mele”)](#cont.export-date)). The full sequence: [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n\nUnder the DPA, when the service ends, the hosted data is deleted or, if you choose, returned to you. If you need it returned, write to support@blackbox.md before you delete the server or cancel the order.\n\n## Frequently asked questions\n\n**Does BLACKBOX back up my server?**\nNo. There is currently no automatic backup service; you make the copies yourself, outside the server.\n\n**Can BLACKBOX employees read the files on my server?**\nUnder the DPA, BLACKBOX does not access the content of your applications, except for technical support you explicitly request or a legal obligation. Panel actions run on the server only when you request them.\n\n**My server is marked “Managed”. Do the same rules apply?**\nServers marked “Managed” are administered by the BLACKBOX team. To find out what the team does on them, including whether it makes backups, ask support: [How to contact BLACKBOX support](#suport.contact).\n"
   }
  },
  {
   "id": "legal.confidentialitate",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/confidentialitate/",
    "ru": "https://docs.blackbox.md/ru/legal/confidentialitate/",
    "en": "https://docs.blackbox.md/en/legal/confidentialitate/"
   },
   "title": {
    "ro": "Politica de confidențialitate pe scurt",
    "ru": "Политика конфиденциальности: кратко",
    "en": "Privacy policy in brief"
   },
   "summary": {
    "ro": "Ce date colectăm, de ce, unde le păstrăm, cui le transmitem, cât timp și cum le protejăm.",
    "ru": "Какие данные мы собираем, зачем, где храним, кому передаём, как долго и как защищаем.",
    "en": "What data we collect, why, where we store it, who we share it with, how long we keep it and how we protect it."
   },
   "markdown": {
    "ro": "Pagina „Politica de confidențialitate” (`blackbox.md/info/privacy`) descrie cum prelucrează BLACKBOX datele dvs. personale. O deschideți din meniul de sus „Informații” → „Politică de confidențialitate” (coloana „Companie”) sau din linkul cu același nume din subsolul oricărei pagini. Acest articol rezumă versiunea marcată „Ultima actualizare: 21 septembrie 2026”.\n\n**Disponibil pentru:** orice vizitator al blackbox.md, fără cont. Politica se aplică și utilizatorilor panoului app.blackbox.md.\n\n> **Notă**\n> Acesta este un rezumat. Valoare juridică are textul în limba română de la `https://blackbox.md/info/privacy`. Versiunea în rusă este o traducere pentru comoditate. Dacă rezumatul diferă de politică, se aplică textul politicii.\n\n## Cum acceptați politica\n\n1. La crearea contului bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (urmată de numărul versiunii). Până nu o bifați, butonul „Creare cont” rămâne inactiv.\n2. Dacă vă înregistrați cu Google sau GitLab, caseta lipsește. Sub butoane apare textul „Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.”\n3. Aceeași casetă trebuie bifată din nou înainte de plata unei comenzi și înainte de alimentarea soldului.\n\n## Cine prelucrează datele\n\n- Operatorul datelor este Click Expert S.R.L. (IDNO 1021600002628, sediul: Moldova, mun. Chișinău, Vadul lui Vodă 78/2), compania care administrează marca BLACKBOX. Toate datele companiei: [Date legale și rechizitele BLACKBOX](#legal.date-legale).\n- Pentru orice întrebare despre datele personale scrieți la support@blackbox.md. Compania nu are un responsabil cu protecția datelor (DPO) desemnat, așa că această adresă este punctul de contact pentru protecția datelor.\n- Politica este întocmită conform Legii nr. 195/2024 privind protecția datelor cu caracter personal (în vigoare din 23 august 2026, înlocuiește Legea nr. 133/2011) și Legii nr. 20/2009 privind prevenirea și combaterea criminalității informatice, în partea despre furnizorii de servicii.\n- Se aplică datelor pe care ni le dați direct (contul, comenzile, formularele de contact) și datelor colectate automat când folosiți blackbox.md sau panoul app.blackbox.md.\n\n> **Important**\n> Politica nu acoperă datele utilizatorilor dvs. aflate pe serverul dvs. (de exemplu, ale vizitatorilor site-ului dvs.). Pentru acestea operatorul sunteți dvs., iar Click Expert S.R.L. este persoana împuternicită. Vedeți [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa) și [Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date).\n\n## Ce date colectăm\n\n| Categorie | Date |\n|---|---|\n| Date de contact | nume, email, telefon |\n| Date de facturare | denumirea companiei (opțional), adresa de facturare |\n| Date tehnice ale serviciilor | IP-ul serverului, configurația |\n| Date de autentificare | parola (stocată ca hash), secretul TOTP al autentificării în doi pași (2FA), cheile SSH |\n| Jurnale de acces | adresa IP, browserul (user-agent), momentul accesului |\n\n## De ce le prelucrăm\n\n| Temei legal (Legea nr. 195/2024) | Pentru ce |\n|---|---|\n| Contractul, art. 6(1) lit. b) | furnizarea serviciilor pe care le comandați |\n| Obligația legală, art. 6(1) lit. c) | facturare, evidență contabilă, răspuns la solicitările legale ale autorităților |\n| Interesul legitim, art. 6(1) lit. f) | securitate, prevenirea fraudei, îmbunătățirea serviciilor |\n\n## Unde sunt stocate datele\n\nConform politicii, datele primare sunt stocate pe servere gestionate de Click Expert S.R.L. prin furnizorul de infrastructură cloud FoxCloud, în Republica Moldova și în Uniunea Europeană. Datele nu sunt transferate în afara UE și a Republicii Moldova fără un temei legal corespunzător sau fără acordul dvs. explicit. Pentru emailuri, politica menționează separat serviciul Resend (vedeți tabelul de mai jos).\n\n## Cui transmitem datele\n\nDatele dvs. nu sunt vândute, închiriate sau cedate fără necesitate. Politica numește destinatarii cu care partajăm strict ce este necesar:\n\n| Destinatar | Rol și date |\n|---|---|\n| FoxCloud | furnizorul infrastructurii cloud pe care rulează serverele |\n| Paynet Services SRL | procesatorul plăților cu cardul, numai pentru tranzacția respectivă. Datele cardului le introduceți direct pe pagina securizată Paynet: BLACKBOX nu le stochează și nu are acces la ele. |\n| Resend | serviciul de email tranzacțional: adresa destinatarului și conținutul mesajului. Poate procesa adrese de email în afara Republicii Moldova, cu garanțiile corespunzătoare. |\n| Furnizorul serviciilor de monitorizare a infrastructurii | monitorizarea infrastructurii (politica nu îl numește) |\n| Autoritățile competente | numai pe baza unei solicitări scrise, motivate și cu temei legal (vedeți mai jos) |\n\nSeparat, funcțiile pe care le folosiți la alegere fac schimb de date cu serviciul extern ales de dvs.: autentificarea cu Google sau GitLab și conectarea unui cont Cloudflare sau GoDaddy pentru DNS. Vedeți [Autentificarea cu Google sau GitLab](#cont.google-gitlab) și [Conectarea Cloudflare sau GoDaddy în pagina DNS](#servicii.dns-conectare).\n\n## Cât timp păstrăm datele\n\n| Date | Cât timp |\n|---|---|\n| Datele contului și ale serviciilor | durata contractului plus 3 ani după închidere |\n| Facturile emise (documente contabile) | 5 ani, conform legii |\n| Jurnalele tehnice de acces și autentificare | cel puțin 180 de zile (art. 7 lit. f) din Legea nr. 20/2009); în practică mai mult, pentru securitate și investigarea incidentelor |\n| Comunicările cu suportul | 2 ani |\n\nPuteți cere oricând ștergerea datelor pe care legea nu ne obligă să le păstrăm. Ștergerea întregului cont o cereți pe cardul „Ștergerea contului” din pagina „Profilul meu”: cererea devine efectivă după o perioadă de grație de 7 zile, în care o puteți anula. Facturile și jurnalele de acces se păstrează în continuare pe termenele de mai sus. Pașii: [Ștergerea contului](#cont.stergere-cont).\n\n## Cum protejăm datele\n\n- criptare în tranzit (TLS 1.2+) și criptare în repaus pentru datele sensibile;\n- parolele sunt stocate ca hash (bcrypt), nu în clar;\n- secretele TOTP și datele de acces la servere sunt păstrate într-un seif criptat;\n- autentificarea în doi pași este obligatorie pentru personalul cu acces la sistemele de producție;\n- audituri de securitate periodice;\n- acces minim necesar: fiecare persoană primește doar accesul de care are nevoie.\n\nCe puteți face dvs.: [Recomandări de securitate pentru contul dvs.](#cont.securitate-cont)\n\n## Solicitările autorităților\n\n- Datele sunt furnizate autorităților (poliție, procuratură, instanțe) numai pe baza unei solicitări scrise, cu temei legal explicit, conform art. 7 din Legea nr. 20/2009. Nu divulgăm date la solicitări verbale sau nemotivate legal.\n- Solicitările de conservare imediată a datelor se execută confidențial, pe un termen de până la 120 de zile calendaristice.\n- Solicitările autorităților străine sunt onorate numai prin asistența juridică internațională (art. 48 din Legea nr. 195/2024), pe baza unui tratat în vigoare între statul solicitant și Republica Moldova.\n\n## Incidente de securitate\n\n- Dacă o breșă de securitate vă poate afecta datele și creează un risc ridicat pentru drepturile și libertățile dvs., vă anunțăm prin email fără întârzieri nejustificate: ce s-a întâmplat, ce date sunt afectate, ce măsuri am luat și ce pași vă recomandăm.\n- Incidentele semnificative le raportăm și Centrului Național pentru Protecția Datelor cu Caracter Personal, în cel mult 72 de ore de la detectare (art. 33 din Legea nr. 195/2024).\n\nCa să primiți aceste mesaje, păstrați valid emailul contului. Emailul se schimbă prin suport: [Profilul meu: nume, telefon și email](#cont.profil).\n\n## Marketing și cookie-uri\n\n- Nu folosim datele dvs. pentru marketingul terților. Conform politicii, emailuri despre noutățile BLACKBOX primiți numai dacă v-ați abonat explicit, iar dezabonarea se face oricând cu un click din email. Crearea contului nu vă abonează la astfel de emailuri.\n- Emailurile despre cont, comenzi și servere sunt descrise în [Emailurile pe care le primiți de la BLACKBOX](#suport.emailuri-blackbox).\n- Folosim doar cookie-uri tehnice și de sesiune, necesare pentru autentificare și pentru funcționarea panoului. Nu folosim cookie-uri de marketing, de urmărire sau de analiză ale terților. Lista lor: [Cookie-uri pe blackbox.md și app.blackbox.md](#legal.cookie-uri).\n\n## Drepturile dvs. pe scurt\n\nAveți dreptul de acces, rectificare, ștergere, portabilitate, restricționare a prelucrării și opoziție (art. 15–22 din Legea nr. 195/2024). Pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”):\n\n| Ce doriți | Unde |\n|---|---|\n| O copie a datelor | cardul „Datele mele”: [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date) |\n| Corectarea numelui sau a telefonului | blocul „Date personale”: [Profilul meu: nume, telefon și email](#cont.profil) |\n| Ștergerea contului | cardul „Ștergerea contului”: [Ștergerea contului](#cont.stergere-cont) |\n| Alte cereri (opoziție, restricționare, schimbarea emailului) | email la support@blackbox.md, de pe adresa contului |\n\nRăspundem fără întârzieri nejustificate și în cel mult o lună; în cazuri complexe termenul se poate prelungi cu încă două luni, iar atunci vă anunțăm motivele. Plângeri și datele de contact ale Centrului: [Drepturile dvs. privind datele personale](#legal.drepturile-dvs).\n\n## Întrebări frecvente\n\n**Are BLACKBOX acces la datele de pe serverul meu?**\nConform DPA, BLACKBOX nu accesează și nu citește conținutul aplicațiilor dvs., cu excepția suportului tehnic cerut explicit de dvs. sau a unei obligații legale. În al doilea caz vă informăm în prealabil, dacă legea nu interzice acest lucru.\n\n**Ce primește Paynet când plătesc cu cardul?**\nPentru plata respectivă, Paynet primește numele, emailul și telefonul din cont (dacă l-ați completat), suma și descrierea plății, plus identificatorii tehnici ai tranzacției. Datele cardului le introduceți numai pe pagina Paynet; ele nu trec prin serverele BLACKBOX. Vedeți [Plata cu cardul (Paynet)](#plati.plata-cu-cardul).\n\n**Site-ul folosește Google Analytics sau alte scripturi de urmărire?**\nNu. Pe blackbox.md și în panou nu există scripturi de analiză, de publicitate sau de urmărire ale terților.\n\n**Am o întrebare urgentă despre datele mele. Cui mă adresez?**\nScrieți la support@blackbox.md. Pentru solicitări urgente, politica indică și telefonul +373 78 003948. Programul este luni–vineri, 09:00–18:00 (ora Moldovei).\n",
    "ru": "Страница «Политика конфиденциальности» (`blackbox.md/ru/info/privacy`) описывает, как BLACKBOX обрабатывает ваши персональные данные. Откройте её из верхнего меню «Информация» → «Политика конфиденциальности» (колонка «Компания») или по одноимённой ссылке внизу любой страницы. В этой статье кратко изложена редакция с пометкой «Последнее обновление: 21 сентября 2026».\n\n**Доступно:** любому посетителю blackbox.md, аккаунт не нужен. Политика распространяется и на пользователей панели app.blackbox.md.\n\n> **Примечание**\n> Это краткое изложение. Юридическую силу имеет румынский текст по адресу `https://blackbox.md/info/privacy`. На русской странице об этом сказано прямо: «Перевод предоставлен для удобства. Юридическую силу имеет румынская версия документа.» Если изложение расходится с политикой, действует текст политики.\n\n## Как вы принимаете политику\n\n1. При создании аккаунта отметьте флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности» (после текста указан номер версии). Пока флажок не отмечен, кнопка «Создать аккаунт» неактивна.\n2. При регистрации через Google или GitLab флажка нет. Под кнопками показан текст «Продолжая, вы принимаете Условия использования и Политику конфиденциальности.»\n3. Тот же флажок нужно отметить снова перед оплатой заказа и перед пополнением баланса.\n\n## Кто обрабатывает данные\n\n- Оператор данных — Click Expert S.R.L. (IDNO 1021600002628, юридический адрес: Moldova, mun. Chișinău, Vadul lui Vodă 78/2), компания, которая управляет торговой маркой BLACKBOX. Все данные компании: [Юридические данные и реквизиты BLACKBOX](#legal.date-legale).\n- По любым вопросам о персональных данных пишите на support@blackbox.md. Ответственного за защиту данных (DPO) в компании нет, поэтому контактом по вопросам защиты данных служит этот адрес.\n- Политика составлена в соответствии с Законом № 195/2024 о защите персональных данных (в силе с 23 августа 2026 года, заменяет Закон № 133/2011) и Законом № 20/2009 о предупреждении и борьбе с киберпреступностью в части, касающейся поставщиков услуг.\n- Она действует для данных, которые вы передаёте нам сами (аккаунт, заказы, формы обратной связи), и для данных, собираемых автоматически при использовании blackbox.md или панели app.blackbox.md.\n\n> **Важно**\n> Политика не распространяется на данные ваших пользователей, которые хранятся на вашем сервере (например, посетителей вашего сайта). Для них оператор — вы, а Click Expert S.R.L. — лицо, уполномоченное оператором. Смотрите [Соглашение об обработке данных (DPA) для компаний](#legal.dpa) и [Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date).\n\n## Какие данные мы собираем\n\n| Категория | Данные |\n|---|---|\n| Контактные данные | имя, email, телефон |\n| Данные для счетов | название компании (необязательно), платёжный адрес |\n| Технические данные услуг | IP-адрес сервера, конфигурация |\n| Данные для входа | пароль (хранится в виде хеша), секрет TOTP для двухфакторной аутентификации (2FA), SSH-ключи |\n| Журналы доступа | IP-адрес, браузер (user-agent), время доступа |\n\n## Зачем мы их обрабатываем\n\n| Правовое основание (Закон № 195/2024) | Для чего |\n|---|---|\n| Договор, ст. 6(1)(b) | предоставление заказанных вами услуг |\n| Законное обязательство, ст. 6(1)(c) | выставление счетов, бухгалтерский учёт, ответы на законные запросы органов власти |\n| Законный интерес, ст. 6(1)(f) | безопасность, предотвращение мошенничества, улучшение услуг |\n\n## Где хранятся данные\n\nСогласно политике, основные данные хранятся на серверах, которыми Click Expert S.R.L. управляет через поставщика облачной инфраструктуры FoxCloud, в Республике Молдова и Европейском союзе. За пределы ЕС и Молдовы данные не передаются без соответствующего правового основания или вашего явного согласия. Для писем в политике отдельно упомянут сервис Resend (смотрите таблицу ниже).\n\n## Кому мы передаём данные\n\nВаши данные не продаются, не сдаются в аренду и не передаются без необходимости. Политика называет получателей, с которыми мы делимся только строго необходимым:\n\n| Получатель | Роль и данные |\n|---|---|\n| FoxCloud | поставщик облачной инфраструктуры, на которой работают серверы |\n| Paynet Services SRL | обработка платежей картой, только для конкретной транзакции. Данные карты вы вводите прямо на защищённой странице Paynet: BLACKBOX их не хранит и доступа к ним не имеет. |\n| Resend | сервис транзакционной почты: адрес получателя и содержимое письма. Может обрабатывать адреса email за пределами Молдовы при соблюдении соответствующих гарантий. |\n| Поставщик услуг мониторинга инфраструктуры | мониторинг инфраструктуры (в политике не назван) |\n| Компетентные органы власти | только по письменному обоснованному запросу, имеющему законное основание (смотрите ниже) |\n\nКроме того, функции, которыми вы пользуетесь по своему выбору, обмениваются данными с выбранным вами внешним сервисом: вход через Google или GitLab и подключение аккаунта Cloudflare или GoDaddy для DNS. Смотрите [Вход через Google или GitLab](#cont.google-gitlab) и [Подключение Cloudflare или GoDaddy на странице DNS](#servicii.dns-conectare).\n\n## Как долго мы храним данные\n\n| Данные | Срок хранения |\n|---|---|\n| Данные аккаунта и услуг | весь срок договора плюс 3 года после закрытия |\n| Выставленные счета (бухгалтерские документы) | 5 лет, согласно закону |\n| Технические журналы доступа и аутентификации | не менее 180 дней (ст. 7 лит. f) Закона № 20/2009); на практике дольше — для безопасности и расследования инцидентов |\n| Переписка со службой поддержки | 2 года |\n\nВы можете в любой момент запросить удаление данных, которые мы не обязаны хранить по закону. Удаление всего аккаунта запрашивается в карточке «Удаление аккаунта» на странице «Мой профиль»: запрос вступает в силу через 7 дней, и всё это время его можно отменить. Счета и журналы доступа и после удаления хранятся в указанные выше сроки. Порядок действий: [Удаление аккаунта](#cont.stergere-cont).\n\n## Как мы защищаем данные\n\n- шифрование при передаче (TLS 1.2+) и шифрование чувствительных данных при хранении;\n- пароли хранятся в виде хеша (bcrypt), а не открытым текстом;\n- секреты TOTP и учётные данные серверов хранятся в зашифрованном хранилище;\n- для сотрудников с доступом к рабочим системам двухфакторная аутентификация обязательна;\n- регулярные аудиты безопасности;\n- минимально необходимый доступ: у каждого сотрудника только те права, которые нужны для работы.\n\nЧто можете сделать вы: [Рекомендации по безопасности аккаунта](#cont.securitate-cont).\n\n## Запросы органов власти\n\n- Органам власти (полиции, прокуратуре, суду) данные предоставляются только по письменному запросу с явным законным основанием, согласно ст. 7 Закона № 20/2009. По устным или необоснованным запросам данные не раскрываются.\n- Запросы о немедленном сохранении данных исполняются конфиденциально, на срок до 120 календарных дней.\n- Запросы иностранных органов власти исполняются только через механизм международной правовой помощи (ст. 48 Закона № 195/2024) на основании действующего международного договора между запрашивающим государством и Республикой Молдова.\n\n## Инциденты безопасности\n\n- Если утечка может затронуть ваши данные и создаёт высокий риск для ваших прав и свобод, мы без неоправданных задержек сообщим вам об этом по email: что произошло, какие данные затронуты, какие меры приняты и что мы рекомендуем сделать.\n- О значимых инцидентах мы также уведомляем Национальный центр по защите персональных данных — не позднее 72 часов с момента обнаружения (ст. 33 Закона № 195/2024).\n\nЧтобы получать такие письма, следите за тем, чтобы email аккаунта был действующим. Email меняется через поддержку: [Мой профиль: имя, телефон и email](#cont.profil).\n\n## Маркетинг и cookie\n\n- Мы не используем ваши данные для маркетинга третьих лиц. Согласно политике, письма о новостях BLACKBOX приходят, только если вы явно на них подписались, а отписаться можно в любой момент одним кликом из письма. Создание аккаунта не подписывает вас на такие рассылки.\n- Письма об аккаунте, заказах и серверах описаны в статье [Письма, которые вы получаете от BLACKBOX](#suport.emailuri-blackbox).\n- Мы используем только технические и сессионные cookie, необходимые для входа и работы панели. Маркетинговых, отслеживающих и сторонних аналитических cookie нет. Их список: [Файлы cookie на blackbox.md и app.blackbox.md](#legal.cookie-uri).\n\n## Ваши права: кратко\n\nУ вас есть право на доступ, исправление, удаление, переносимость, ограничение обработки и возражение (ст. 15–22 Закона № 195/2024). На странице «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль»):\n\n| Что нужно | Где |\n|---|---|\n| Копия ваших данных | карточка «Мои данные»: [Скачивание ваших данных («Мои данные»)](#cont.export-date) |\n| Исправить имя или телефон | блок «Личные данные»: [Мой профиль: имя, телефон и email](#cont.profil) |\n| Удалить аккаунт | карточка «Удаление аккаунта»: [Удаление аккаунта](#cont.stergere-cont) |\n| Другие запросы (возражение, ограничение обработки, смена email) | письмо на support@blackbox.md с адреса аккаунта |\n\nМы отвечаем без неоправданных задержек и не позднее чем через месяц; в сложных случаях срок может быть продлён ещё на два месяца — тогда мы сообщим вам причины. Как подать жалобу и контакты Центра: [Ваши права в отношении персональных данных](#legal.drepturile-dvs).\n\n## Частые вопросы\n\n**Есть ли у BLACKBOX доступ к данным на моём сервере?**\nСогласно DPA, BLACKBOX не получает доступ к содержимому ваших приложений и не читает его — кроме технической поддержки по вашему прямому запросу или исполнения требования закона. Во втором случае мы заранее вас проинформируем, если закон этого не запрещает.\n\n**Что получает Paynet, когда я плачу картой?**\nДля этого платежа Paynet получает имя, email и телефон из аккаунта (если вы его указали), сумму и описание платежа, а также технические идентификаторы транзакции. Данные карты вы вводите только на странице Paynet, через серверы BLACKBOX они не проходят. Смотрите [Оплата картой (Paynet)](#plati.plata-cu-cardul).\n\n**Используются ли на сайте Google Analytics или другие скрипты слежения?**\nНет. На blackbox.md и в панели нет аналитических, рекламных или отслеживающих скриптов третьих лиц.\n\n**У меня срочный вопрос о моих данных. Куда обратиться?**\nНапишите на support@blackbox.md. Для срочных запросов политика указывает также телефон +373 78 003948. Время работы: пн–пт, 09:00–18:00 (по времени Молдовы).\n",
    "en": "The “Politica de confidențialitate” (Privacy policy) page (`blackbox.md/info/privacy`) describes how BLACKBOX processes your personal data. To open it, choose “Informații” (Information) → “Politică de confidențialitate” (Privacy policy) in the top menu (in the “Companie” (Company) column), or click the link with the same name in the footer of any page. This article summarizes the version marked “Ultima actualizare: 21 septembrie 2026” (Last updated: September 21, 2026).\n\n**Available to:** any visitor to blackbox.md; no account needed. The policy also applies to users of the app.blackbox.md panel.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n> **Note**\n> This is a summary. The legally binding text is the Romanian one at `https://blackbox.md/info/privacy`. The Russian version is a translation provided for convenience. If this summary differs from the policy, the policy text applies.\n\n## How you accept the policy\n\n1. When you create your account, tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy), followed by the version number. Until you tick it, the “Creare cont” (Create account) button stays inactive.\n2. If you sign up with Google or GitLab, there is no box. Below the buttons you see the text “Continuând, acceptați Termenii și Condițiile și Politica de Confidențialitate.” (By continuing, you accept the Terms and Conditions and the Privacy Policy.)\n3. You must tick the same box again before you pay for an order and before you top up your balance.\n\n## Who processes the data\n\n- The data controller is Click Expert S.R.L. (IDNO 1021600002628, legal address: Moldova, mun. Chișinău, Vadul lui Vodă 78/2), the company that manages the BLACKBOX brand. All of the company's details: [Legal details and BLACKBOX company details](#legal.date-legale).\n- For any question about personal data, write to support@blackbox.md. The company has not appointed a data protection officer (DPO), so this address is the contact point for data protection.\n- The policy is drawn up in accordance with Law No. 195/2024 on personal data protection (in force since August 23, 2026, replacing Law No. 133/2011) and with Law No. 20/2009 on preventing and combating cybercrime, in the part that concerns service providers.\n- It applies to the data you give us directly (your account, orders, contact forms) and to the data collected automatically when you use blackbox.md or the app.blackbox.md panel.\n\n> **Important**\n> The policy does not cover the data of your own users stored on your server (for example, the visitors to your website). For that data, you are the controller and Click Expert S.R.L. is the processor. See [Data Processing Agreement (DPA) for companies](#legal.dpa) and [Responsibility for server data and backups](#legal.responsabilitate-date).\n\n## What data we collect\n\n| Category | Data |\n|---|---|\n| Contact details | name, email, phone number |\n| Billing details | company name (optional), billing address |\n| Technical service data | server IP address, configuration |\n| Sign-in data | password (stored as a hash), the TOTP secret for two-factor authentication (2FA), SSH keys |\n| Access logs | IP address, browser (user-agent), time of access |\n\n## Why we process it\n\n| Legal basis (Law No. 195/2024) | Purpose |\n|---|---|\n| Contract, Art. 6(1)(b) | providing the services you order |\n| Legal obligation, Art. 6(1)(c) | invoicing, accounting, responding to lawful requests from authorities |\n| Legitimate interest, Art. 6(1)(f) | security, fraud prevention, improving the services |\n\n## Where the data is stored\n\nAccording to the policy, primary data is stored on servers that Click Expert S.R.L. manages through the cloud infrastructure provider FoxCloud, in the Republic of Moldova and the European Union. Data is not transferred outside the EU and the Republic of Moldova without an appropriate legal basis or your explicit consent. For emails, the policy separately mentions the Resend service (see the table below).\n\n## Who we share the data with\n\nYour data is not sold, rented out or handed over unnecessarily. The policy names the recipients with whom we share only what is strictly necessary:\n\n| Recipient | Role and data |\n|---|---|\n| FoxCloud | the provider of the cloud infrastructure the servers run on |\n| Paynet Services SRL | card payment processor, only for the transaction concerned. You enter your card details directly on Paynet's secure page: BLACKBOX does not store them and has no access to them. |\n| Resend | transactional email service: the recipient's address and the content of the message. It may process email addresses outside the Republic of Moldova, with appropriate safeguards. |\n| Infrastructure monitoring provider | infrastructure monitoring (the policy does not name it) |\n| Competent authorities | only on the basis of a written, reasoned request with a legal basis (see below) |\n\nIn addition, optional features that you choose to use exchange data with the external service you pick: signing in with Google or GitLab, and connecting a Cloudflare or GoDaddy account for DNS. See [Signing in with Google or GitLab](#cont.google-gitlab) and [Connecting Cloudflare or GoDaddy on the DNS page](#servicii.dns-conectare).\n\n## How long we keep the data\n\n| Data | How long |\n|---|---|\n| Account and service data | the term of the contract plus 3 years after it ends |\n| Issued invoices (accounting documents) | 5 years, as required by law |\n| Technical access and authentication logs | at least 180 days (Art. 7(f) of Law No. 20/2009); in practice longer, for security and incident investigation |\n| Communications with support | 2 years |\n\nYou can ask at any time for the deletion of data that the law does not require us to keep. To delete your whole account, use the “Ștergerea contului” (Account deletion) card on the “Profilul meu” (My profile) page: the request takes effect after a 7-day grace period, during which you can cancel it. Invoices and access logs are still kept for the periods above. Steps: [Deleting your account](#cont.stergere-cont).\n\n## How we protect the data\n\n- encryption in transit (TLS 1.2+) and encryption at rest for sensitive data;\n- passwords are stored as hashes (bcrypt), not in plain text;\n- TOTP secrets and server access credentials are kept in an encrypted vault;\n- two-factor authentication is mandatory for staff with access to production systems;\n- regular security audits;\n- least-privilege access: each person gets only the access they need.\n\nWhat you can do yourself: [Security recommendations for your account](#cont.securitate-cont).\n\n## Requests from authorities\n\n- Data is provided to authorities (police, prosecutors, courts) only on the basis of a written request with an explicit legal basis, in accordance with Art. 7 of Law No. 20/2009. We do not disclose data in response to verbal requests or requests without a legal justification.\n- Requests for the immediate preservation of data are carried out confidentially, for a period of up to 120 calendar days.\n- Requests from foreign authorities are honored only through international legal assistance (Art. 48 of Law No. 195/2024), on the basis of a treaty in force between the requesting state and the Republic of Moldova.\n\n## Security incidents\n\n- If a security breach may affect your data and creates a high risk to your rights and freedoms, we notify you by email without undue delay: what happened, which data is affected, what measures we have taken and what steps we recommend.\n- We also report significant incidents to the National Center for Personal Data Protection, within 72 hours of detection at the latest (Art. 33 of Law No. 195/2024).\n\nTo receive these messages, make sure your account's email address stays valid. You change the email address through support: [My profile: name, phone number and email](#cont.profil).\n\n## Marketing and cookies\n\n- We do not use your data for third-party marketing. According to the policy, you receive emails about BLACKBOX news only if you have explicitly subscribed, and you can unsubscribe at any time with one click from the email. Creating an account does not subscribe you to such emails.\n- Emails about your account, orders and servers are described in [Emails you receive from BLACKBOX](#suport.emailuri-blackbox).\n- We use only technical and session cookies, which are needed for signing in and for the panel to work. We do not use marketing, tracking or third-party analytics cookies. The full list: [Cookies on blackbox.md and app.blackbox.md](#legal.cookie-uri).\n\n## Your rights in brief\n\nYou have the right of access, rectification, erasure, portability, restriction of processing and objection (Articles 15–22 of Law No. 195/2024). On the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)):\n\n| What you want | Where |\n|---|---|\n| A copy of your data | the “Datele mele” (My data) card: [Downloading your data (“Datele mele”)](#cont.export-date) |\n| Correct your name or phone number | the “Date personale” (Personal details) block: [My profile: name, phone number and email](#cont.profil) |\n| Delete your account | the “Ștergerea contului” (Account deletion) card: [Deleting your account](#cont.stergere-cont) |\n| Other requests (objection, restriction, changing your email address) | an email to support@blackbox.md, sent from your account's email address |\n\nWe reply without undue delay and within one month at most; in complex cases this period can be extended by two more months, and in that case we tell you the reasons. Complaints and the Center's contact details: [Your rights regarding personal data](#legal.drepturile-dvs).\n\n## Frequently asked questions\n\n**Does BLACKBOX have access to the data on my server?**\nUnder the DPA, BLACKBOX does not access or read the content of your applications, except for technical support you explicitly request or a legal obligation. In the second case, we inform you in advance, unless the law prohibits it.\n\n**What does Paynet receive when I pay by card?**\nFor that payment, Paynet receives the name, email address and phone number from your account (if you filled in the phone number), the amount and description of the payment, plus the technical identifiers of the transaction. You enter your card details only on the Paynet page; they do not pass through BLACKBOX servers. See [Paying by card (Paynet)](#plati.plata-cu-cardul).\n\n**Does the website use Google Analytics or other tracking scripts?**\nNo. There are no third-party analytics, advertising or tracking scripts on blackbox.md or in the panel.\n\n**I have an urgent question about my data. Who do I contact?**\nWrite to support@blackbox.md. For urgent requests, the policy also lists the phone number +373 78 003948. Hours are Monday–Friday, 09:00–18:00 (Moldova time).\n"
   }
  },
  {
   "id": "legal.cookie-uri",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/cookie-uri/",
    "ru": "https://docs.blackbox.md/ru/legal/cookie-uri/",
    "en": "https://docs.blackbox.md/en/legal/cookie-uri/"
   },
   "title": {
    "ro": "Cookie-uri pe blackbox.md și app.blackbox.md",
    "ru": "Файлы cookie на blackbox.md и app.blackbox.md",
    "en": "Cookies on blackbox.md and app.blackbox.md"
   },
   "summary": {
    "ro": "Ce cookie-uri folosim, la ce servesc, cât timp sunt păstrate și ce înseamnă butoanele din bannerul de cookie-uri.",
    "ru": "Какие cookie мы используем, зачем, как долго они хранятся и что означают кнопки баннера cookie.",
    "en": "Which cookies we use, what they are for, how long they are kept, and what the buttons in the cookie banner mean."
   },
   "markdown": {
    "ro": "Site-ul blackbox.md și panoul app.blackbox.md folosesc doar cookie-uri tehnice: ele vă mențin autentificat și rețin câteva setări. La prima vizită pe blackbox.md, în colțul din stânga jos apare bannerul „Cookies”. Textul oficial este în secțiunea „Cookie-uri” din Politica de confidențialitate (`blackbox.md/info/privacy`, subsolul site-ului → „Politică de confidențialitate”).\n\n**Disponibil pentru:** orice vizitator al blackbox.md și orice client care folosește panoul app.blackbox.md. Nu aveți nevoie de cont.\n\n## Bannerul „Cookies”\n\nBannerul apare pe paginile blackbox.md, în română și în rusă, până când apăsați unul dintre butoane. În panoul app.blackbox.md nu există banner.\n\n1. Citiți textul bannerului: „Folosim doar cookie-uri tehnice și de sesiune, necesare pentru autentificare și funcționarea site-ului.”\n2. Apăsați „Accept” sau „Refuz”.\n3. Bannerul se închide. Alegerea se păstrează în acest browser, iar bannerul nu mai apare nici pe versiunea în rusă a site-ului.\n\n| Buton | Ce se întâmplă |\n|---|---|\n| „Accept” | Bannerul se închide. Site-ul funcționează normal. |\n| „Refuz” | Bannerul se închide. Site-ul funcționează la fel ca după „Accept”. |\n\n> **Notă**\n> BLACKBOX nu folosește cookie-uri opționale, așa că „Refuz” nu are ce dezactiva. Cookie-urile de sesiune din tabelul de mai jos se setează oricum când vă autentificați: fără ele nu ați putea intra în cont.\n\n## Ce cookie-uri folosim\n\nFiecare cookie apare doar când folosiți funcția respectivă. De exemplu, cookie-ul de sesiune apare abia după autentificare.\n\n| La ce servește | Unde | Când apare | Cât timp se păstrează |\n|---|---|---|---|\n| Sesiunea contului (`bx_session`) | blackbox.md | La autentificare, inclusiv cu Google sau GitLab, și la crearea contului | 8 ore. Se șterge la „Deconectare”. |\n| Siguranța autentificării cu Google sau GitLab | api.app.blackbox.md | Când apăsați „Google” sau „GitLab” pe pagina de autentificare sau de înregistrare | 10 minute |\n| Sesiunea panoului | app.blackbox.md | La intrarea în panou | 8 ore. Se șterge la „Deconectare”. |\n| Pasul 2FA | app.blackbox.md | La autentificare, dacă aveți 2FA activată, cât timp introduceți codul | 5 minute |\n| Dispozitivul reținut după 2FA | app.blackbox.md | Doar dacă bifați „Rețineți acest dispozitiv 30 de zile” | 30 de zile |\n| Limba panoului | app.blackbox.md | Când apăsați „EN”, „RO” sau „RU” ori intrați în panou din blackbox.md | 1 an |\n\n- Sesiunile durează 8 ore de la autentificare. Activitatea nu le prelungește. Fiecare intrare în panou din blackbox.md pornește o sesiune nouă de 8 ore.\n- Cookie-ul de sesiune al blackbox.md este valabil doar pe blackbox.md. De aceea panoul are o sesiune proprie: [Deschiderea panoului app.blackbox.md din cont](#servere.deschidere-panou).\n- Cookie-ul pentru Google sau GitLab îl setează serviciul de autentificare BLACKBOX (api.app.blackbox.md), folosit atât de blackbox.md, cât și de panou. El confirmă că autentificarea se încheie în același browser în care a început. Dacă trec mai mult de 10 minute, reluați autentificarea: [Autentificarea cu Google sau GitLab](#cont.google-gitlab).\n- Pentru codul 2FA aveți 5 minute. Detalii despre dispozitivul reținut: [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n\n## Ce se păstrează în browser în afara cookie-urilor\n\nCâteva setări se salvează în memoria browserului (stocarea locală a site-ului), nu în cookie-uri. Ele rămân pe dispozitivul dvs. și nu sunt trimise la BLACKBOX.\n\n| Site | Ce se păstrează |\n|---|---|\n| blackbox.md | Tema aleasă cu butonul din antet (luminoasă, întunecată sau a sistemului) și alegerea din bannerul „Cookies” |\n| app.blackbox.md | Tema aleasă cu butonul cu lună sau cu soare și starea meniului lateral (restrâns sau nu) |\n\nAceste date rămân până le ștergeți din browser. Limba site-ului blackbox.md nu se salvează în browser: ea face parte din adresa paginii (versiunea în rusă începe cu `blackbox.md/ru`). Limba și tema panoului: [Interfața panoului: meniu, bara de sus și limbă](#servere.interfata-panoului).\n\n## Fără analiză, publicitate sau urmărire\n\nPe blackbox.md și în panoul app.blackbox.md nu rulează scripturi de analiză a traficului, de publicitate sau de urmărire ale terților. Nu folosim cookie-uri de marketing.\n\nCând plătiți cu cardul, sunteți redirecționat către pagina Paynet. La autentificarea cu Google sau GitLab, ajungeți pe pagina furnizorului respectiv. Acestea sunt site-uri separate, cu propriile reguli privind cookie-urile.\n\n## Ce se întâmplă dacă ștergeți cookie-urile\n\n| Ce ștergeți | Efect |\n|---|---|\n| Cookie-urile blackbox.md | Sunteți deconectat de pe blackbox.md și trebuie să vă autentificați din nou. |\n| Cookie-urile app.blackbox.md | Sunteți deconectat din panou. Bifa pentru dispozitivul reținut se anulează, deci panoul cere din nou codul 2FA. Limba aleasă se pierde: pagina `app.blackbox.md/login` se deschide în engleză până alegeți altă limbă, iar la intrarea din blackbox.md panoul preia limba site-ului. |\n| Datele site-ului (stocarea locală) | Bannerul „Cookies” apare din nou, iar tema revine la cea a dispozitivului. |\n\nDacă browserul blochează complet cookie-urile, nu puteți rămâne autentificat nici pe blackbox.md, nici în panou. Permiteți cookie-urile pentru blackbox.md și subdomeniile sale (de exemplu, app.blackbox.md).\n\n> **Securitate**\n> Ștergerea cookie-urilor vă deconectează doar în browserul respectiv. Ca să încheiați sesiunile panoului pe alte dispozitive, folosiți „Setări” → „Sesiuni” → „Deconectare de peste tot”. Pentru blackbox.md schimbați parola: [Schimbarea parolei contului](#cont.schimbare-parola).\n\n## Întrebări frecvente\n\n**Am apăsat „Refuz”. Pot folosi contul și panoul?**\nDa. „Refuz” nu schimbă nimic în funcționarea site-ului: autentificarea, comenzile și panoul funcționează la fel.\n\n**Cum îmi schimb alegerea din banner?**\nȘtergeți din setările browserului cookie-urile și datele site-ului blackbox.md. La următoarea vizită bannerul apare din nou. Astfel vă și deconectați de pe blackbox.md.\n\n**De ce trebuie să mă autentific din nou, deși nu am ieșit din cont?**\nSesiunea de pe blackbox.md și cea din panou durează câte 8 ore și nu se prelungesc cât lucrați. Detalii: [Autentificarea pe blackbox.md și deconectarea](#cont.autentificare).\n\n**Am bifat „Rețineți acest dispozitiv 30 de zile”, dar panoul cere din nou codul 2FA. De ce?**\nDe exemplu, au trecut 30 de zile, ați intrat din alt browser, ați șters cookie-urile sau ați folosit „Deconectare de peste tot” în panou; uneori și actualizarea browserului anulează bifa. Bifa funcționează doar la intrarea în panou din blackbox.md: [Autentificarea în doi pași (2FA) în panou](#cont.autentificare-2fa).\n\n**Unde găsesc textul oficial despre cookie-uri?**\nÎn Politica de confidențialitate, secțiunea „Cookie-uri”: `https://blackbox.md/info/privacy`. Rezumatul politicii: [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n",
    "ru": "Сайт blackbox.md и панель app.blackbox.md используют только технические файлы cookie: благодаря им вы остаётесь в аккаунте, а сайт помнит несколько настроек. При первом посещении blackbox.md в левом нижнем углу появляется баннер «Cookies». Официальный текст — в разделе «Файлы cookie» Политики конфиденциальности (`blackbox.md/ru/info/privacy`, внизу сайта → «Политика конфиденциальности»).\n\n**Доступно:** любому посетителю blackbox.md и любому клиенту, который работает в панели app.blackbox.md. Аккаунт не нужен.\n\n## Баннер «Cookies»\n\nБаннер показывается на страницах blackbox.md, на русской и румынской версиях, пока вы не нажмёте одну из кнопок. В панели app.blackbox.md баннера нет.\n\n1. Прочитайте текст баннера: «Мы используем только технические и сессионные cookie-файлы, необходимые для авторизации и работы сайта.»\n2. Нажмите «Принять» или «Отказаться».\n3. Баннер закроется. Выбор сохранится в этом браузере, и баннер больше не появится, в том числе на румынской версии сайта.\n\n| Кнопка | Что происходит |\n|---|---|\n| «Принять» | Баннер закрывается. Сайт работает как обычно. |\n| «Отказаться» | Баннер закрывается. Сайт работает так же, как после «Принять». |\n\n> **Примечание**\n> Необязательных cookie у BLACKBOX нет, поэтому кнопке «Отказаться» нечего отключать. Сессионные cookie из таблицы ниже устанавливаются при входе в любом случае: без них войти в аккаунт невозможно.\n\n## Какие cookie мы используем\n\nКаждый cookie появляется, только когда вы пользуетесь соответствующей функцией. Например, cookie сессии появляется лишь после входа.\n\n| Назначение | Где | Когда появляется | Срок хранения |\n|---|---|---|---|\n| Сессия аккаунта (`bx_session`) | blackbox.md | При входе, в том числе через Google или GitLab, и при создании аккаунта | 8 часов. Удаляется при нажатии «Выйти». |\n| Защита входа через Google или GitLab | api.app.blackbox.md | Когда вы нажимаете «Google» или «GitLab» на странице входа или регистрации | 10 минут |\n| Сессия панели | app.blackbox.md | При входе в панель | 8 часов. Удаляется при нажатии «Выйти». |\n| Шаг 2FA | app.blackbox.md | При входе с включённой 2FA, пока вы вводите код | 5 минут |\n| Запомненное устройство после 2FA | app.blackbox.md | Только если вы отметите «Запомнить это устройство на 30 дней» | 30 дней |\n| Язык панели | app.blackbox.md | Когда вы нажимаете «EN», «RO» или «RU» либо входите в панель с blackbox.md | 1 год |\n\n- Сессии действуют 8 часов с момента входа. Работа на сайте их не продлевает. Каждый вход в панель с blackbox.md открывает новую сессию на 8 часов.\n- Cookie сессии blackbox.md действует только на blackbox.md. Поэтому у панели своя сессия: [Вход в панель app.blackbox.md из аккаунта](#servere.deschidere-panou).\n- Cookie для входа через Google или GitLab устанавливает сервис входа BLACKBOX (api.app.blackbox.md), которым пользуются и blackbox.md, и панель. Он подтверждает, что вход завершается в том же браузере, в котором начался. Если прошло больше 10 минут, начните вход заново: [Вход через Google или GitLab](#cont.google-gitlab).\n- На ввод кода 2FA даётся 5 минут. О запомненном устройстве: [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n\n## Что хранится в браузере помимо cookie\n\nНекоторые настройки сохраняются в памяти браузера (локальном хранилище сайта), а не в cookie. Они остаются на вашем устройстве и в BLACKBOX не передаются.\n\n| Сайт | Что сохраняется |\n|---|---|\n| blackbox.md | Тема, выбранная кнопкой в шапке сайта (светлая, тёмная или системная), и ваш выбор в баннере «Cookies» |\n| app.blackbox.md | Тема, выбранная кнопкой с луной или солнцем, и состояние бокового меню (свёрнуто или нет) |\n\nЭти данные хранятся, пока вы не удалите их в браузере. Язык сайта blackbox.md в браузере не сохраняется: он задаётся адресом страницы (русская версия начинается с `blackbox.md/ru`). Язык и тема панели: [Интерфейс панели: меню, верхняя панель и язык](#servere.interfata-panoului).\n\n## Без аналитики, рекламы и отслеживания\n\nНа blackbox.md и в панели app.blackbox.md нет сторонних скриптов веб-аналитики, рекламы или отслеживания. Маркетинговые cookie мы не используем.\n\nПри оплате картой вы переходите на страницу Paynet, а при входе через Google или GitLab — на страницу соответствующего сервиса. Это отдельные сайты со своими правилами использования cookie.\n\n## Что будет, если удалить cookie\n\n| Что вы удаляете | Результат |\n|---|---|\n| Cookie сайта blackbox.md | Вы выйдете из аккаунта на blackbox.md, и нужно будет войти снова. |\n| Cookie панели app.blackbox.md | Вы выйдете из панели. Отметка о запомненном устройстве сбросится, и панель снова запросит код 2FA. Выбранный язык сбросится: страница `app.blackbox.md/login` откроется на английском, пока вы не выберете другой язык, а при входе с blackbox.md панель возьмёт язык сайта. |\n| Данные сайта (локальное хранилище) | Баннер «Cookies» появится снова, а тема вернётся к теме устройства. |\n\nЕсли браузер полностью блокирует cookie, вы не сможете оставаться в аккаунте ни на blackbox.md, ни в панели. Разрешите cookie для blackbox.md и его поддоменов (например, app.blackbox.md).\n\n> **Безопасность**\n> Удаление cookie завершает вход только в этом браузере. Чтобы завершить сессии панели на других устройствах, откройте в панели «Настройки» → «Сессии» → «Выйти везде». Для blackbox.md смените пароль: [Смена пароля аккаунта](#cont.schimbare-parola).\n\n## Частые вопросы\n\n**Можно ли пользоваться аккаунтом и панелью после нажатия «Отказаться»?**\nДа. «Отказаться» ничего не меняет в работе сайта: вход, заказы и панель работают как обычно.\n\n**Как изменить выбор в баннере?**\nУдалите в настройках браузера cookie и данные сайта blackbox.md. При следующем посещении баннер появится снова. При этом вы также выйдете из аккаунта на blackbox.md.\n\n**Почему приходится входить заново, хотя «Выйти» никто не нажимал?**\nСессии на blackbox.md и в панели действуют по 8 часов и не продлеваются, пока вы работаете. Подробнее: [Вход на blackbox.md и выход](#cont.autentificare).\n\n**Галочка «Запомнить это устройство на 30 дней» стояла, но панель снова просит код 2FA. Почему?**\nНапример, прошло 30 дней, вы вошли из другого браузера, удалили cookie или нажали «Выйти везде» в панели; иногда отметку сбрасывает и обновление браузера. Отметка работает только при входе в панель с blackbox.md: [Двухфакторная аутентификация (2FA) в панели](#cont.autentificare-2fa).\n\n**Где найти официальный текст о cookie?**\nВ Политике конфиденциальности, раздел «Файлы cookie»: `https://blackbox.md/ru/info/privacy`. Краткое изложение политики: [Политика конфиденциальности: кратко](#legal.confidentialitate).\n",
    "en": "The blackbox.md website and the app.blackbox.md panel use only technical cookies: they keep you signed in and remember a few settings. On your first visit to blackbox.md, the “Cookies” banner appears in the bottom-left corner. The official text is in the “Cookie-uri” (Cookies) section of the Privacy Policy (`blackbox.md/info/privacy`; in the website footer, click “Politică de confidențialitate” (Privacy policy)).\n\n**Available to:** any visitor to blackbox.md and any customer who uses the app.blackbox.md panel. You don't need an account.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## The “Cookies” banner\n\nThe banner appears on blackbox.md pages, in Romanian and in Russian, until you click one of its buttons. There is no banner in the app.blackbox.md panel.\n\n1. Read the banner text: “Folosim doar cookie-uri tehnice și de sesiune, necesare pentru autentificare și funcționarea site-ului.” (We use only technical and session cookies, which are needed for signing in and for the website to work.)\n2. Click “Accept” or “Refuz” (Decline).\n3. The banner closes. Your choice is saved in this browser, and the banner no longer appears on the Russian version of the website either.\n\n| Button | What happens |\n|---|---|\n| “Accept” | The banner closes. The website works normally. |\n| “Refuz” (Decline) | The banner closes. The website works the same as after “Accept”. |\n\n> **Note**\n> BLACKBOX does not use optional cookies, so “Refuz” has nothing to turn off. The session cookies in the table below are set anyway when you sign in: without them, you could not sign in to your account.\n\n## Which cookies we use\n\nEach cookie appears only when you use the feature it belongs to. For example, the session cookie appears only after you sign in.\n\n| What it is for | Where | When it appears | How long it is kept |\n|---|---|---|---|\n| Account session (`bx_session`) | blackbox.md | When you sign in, including with Google or GitLab, and when you create an account | 8 hours. Deleted when you click “Deconectare” (Sign out). |\n| Securing sign-in with Google or GitLab | api.app.blackbox.md | When you click “Google” or “GitLab” on the sign-in or sign-up page | 10 minutes |\n| Panel session | app.blackbox.md | When you enter the panel | 8 hours. Deleted when you click “Logout”. |\n| 2FA step | app.blackbox.md | When you sign in with 2FA enabled, while you enter the code | 5 minutes |\n| Remembered device after 2FA | app.blackbox.md | Only if you select “Remember this device for 30 days” | 30 days |\n| Panel language | app.blackbox.md | When you click “EN”, “RO” or “RU”, or enter the panel from blackbox.md | 1 year |\n\n- Sessions last 8 hours from sign-in. Activity does not extend them. Each time you enter the panel from blackbox.md, a new 8-hour session starts.\n- The blackbox.md session cookie is valid only on blackbox.md. That is why the panel has its own session: [Opening the app.blackbox.md panel from your account](#servere.deschidere-panou).\n- The Google or GitLab cookie is set by the BLACKBOX sign-in service (api.app.blackbox.md), which both blackbox.md and the panel use. It confirms that sign-in finishes in the same browser where it started. If more than 10 minutes pass, start signing in again: [Signing in with Google or GitLab](#cont.google-gitlab).\n- You have 5 minutes to enter the 2FA code. Details about the remembered device: [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n\n## What your browser stores besides cookies\n\nA few settings are saved in your browser's memory (the site's local storage), not in cookies. They stay on your device and are not sent to BLACKBOX.\n\n| Site | What is stored |\n|---|---|\n| blackbox.md | The theme you chose with the button in the header (light, dark or system) and your choice in the “Cookies” banner |\n| app.blackbox.md | The theme you chose with the moon or sun button, and the state of the side menu (collapsed or not) |\n\nThis data stays until you delete it from your browser. The language of the blackbox.md website is not saved in the browser: it is part of the page address (the Russian version starts with `blackbox.md/ru`). Panel language and theme: [Panel interface: menu, top bar and language](#servere.interfata-panoului).\n\n## No analytics, advertising or tracking\n\nNo third-party traffic analytics, advertising or tracking scripts run on blackbox.md or in the app.blackbox.md panel. We do not use marketing cookies.\n\nWhen you pay by card, you are redirected to the Paynet page. When you sign in with Google or GitLab, you go to that provider's page. These are separate websites, with their own cookie rules.\n\n## What happens if you clear your cookies\n\n| What you clear | Effect |\n|---|---|\n| blackbox.md cookies | You are signed out of blackbox.md and need to sign in again. |\n| app.blackbox.md cookies | You are signed out of the panel. The remembered-device checkbox is canceled, so the panel asks for the 2FA code again. The language you chose is lost: the `app.blackbox.md/login` page opens in English until you choose another language, and when you enter from blackbox.md, the panel takes the website's language. |\n| Site data (local storage) | The “Cookies” banner appears again, and the theme goes back to your device's theme. |\n\nIf your browser blocks cookies completely, you cannot stay signed in on blackbox.md or in the panel. Allow cookies for blackbox.md and its subdomains (for example, app.blackbox.md).\n\n> **Security**\n> Clearing cookies signs you out only in that browser. To end panel sessions on other devices, use “Settings” → “Sessions” → “Sign Out Everywhere”. For blackbox.md, change your password: [Changing your account password](#cont.schimbare-parola).\n\n## Frequently asked questions\n\n**I clicked “Refuz” (Decline). Can I use my account and the panel?**\nYes. “Refuz” changes nothing in how the website works: signing in, orders and the panel all work the same.\n\n**How do I change my choice in the banner?**\nIn your browser settings, delete the cookies and site data for blackbox.md. The banner appears again on your next visit. This also signs you out of blackbox.md.\n\n**Why do I have to sign in again even though I didn't sign out?**\nThe blackbox.md session and the panel session each last 8 hours and are not extended while you work. Details: [Signing in to blackbox.md and signing out](#cont.autentificare).\n\n**I selected “Remember this device for 30 days”, but the panel asks for the 2FA code again. Why?**\nFor example, 30 days have passed, you entered from a different browser, you cleared your cookies, or you used “Sign Out Everywhere” in the panel; sometimes a browser update also cancels the checkbox. The checkbox works only when you enter the panel from blackbox.md: [Two-factor authentication (2FA) in the panel](#cont.autentificare-2fa).\n\n**Where can I find the official text about cookies?**\nIn the Privacy Policy, in the “Cookie-uri” (Cookies) section: `https://blackbox.md/info/privacy`. A summary of the policy: [Privacy policy in brief](#legal.confidentialitate).\n"
   }
  },
  {
   "id": "legal.drepturile-dvs",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/drepturile-dvs/",
    "ru": "https://docs.blackbox.md/ru/legal/drepturile-dvs/",
    "en": "https://docs.blackbox.md/en/legal/drepturile-dvs/"
   },
   "title": {
    "ro": "Drepturile dvs. privind datele personale",
    "ru": "Ваши права в отношении персональных данных",
    "en": "Your rights regarding personal data"
   },
   "summary": {
    "ro": "Ce drepturi aveți asupra datelor personale, cum le exercitați singur sau prin email și unde puteți depune o plângere.",
    "ru": "Какие у вас права на персональные данные, как реализовать их самостоятельно или по email и куда подать жалобу.",
    "en": "What rights you have over your personal data, how to exercise them yourself or by email, and where to file a complaint."
   },
   "markdown": {
    "ro": "Legea nr. 195/2024 privind protecția datelor cu caracter personal vă dă mai multe drepturi asupra datelor dvs. pe care le prelucrează Click Expert S.R.L. (BLACKBOX). Pe unele le exercitați direct în cont, mai ales pe pagina „Profilul meu” (`blackbox.md/account`, „Contul meu” → „Profil”), iar pe celelalte prin email la support@blackbox.md. Textul oficial este în secțiunea „Drepturile dvs.” a paginii „Politica de confidențialitate” (`https://blackbox.md/info/privacy`).\n\n**Disponibil pentru:** titularul contului blackbox.md (acțiunile din cont) și orice persoană ale cărei date le prelucrează BLACKBOX (cererile prin email).\n\n## Ce drepturi aveți\n\nDrepturile sunt prevăzute la art. 15–22 din Legea nr. 195/2024.\n\n| Drept | Ce înseamnă | Cum îl exercitați |\n|---|---|---|\n| Acces | aflați ce date avem despre dvs. și primiți o copie a lor | butonul „Descarcă datele mele” sau email |\n| Rectificare | corectați datele inexacte sau incomplete | „Profil” și „Date de facturare”; restul prin email |\n| Ștergere | cereți ștergerea datelor | cardul „Ștergerea contului” sau email |\n| Portabilitate | primiți datele într-un format structurat, ca să le puteți folosi în altă parte | butonul „Descarcă datele mele” (fișier JSON) sau email |\n| Restricționarea prelucrării | cereți să limităm folosirea datelor, de exemplu cât timp verificăm o corectură | email |\n| Opoziție | vă opuneți prelucrării bazate pe interesul nostru legitim (securitate, prevenirea fraudei, îmbunătățirea serviciilor) | email |\n\n## Ce puteți face direct în cont\n\nAcțiunile de mai jos se fac numai pe blackbox.md. În panoul app.blackbox.md nu puteți modifica, descărca sau șterge datele personale.\n\n### Corectarea numelui și a telefonului\n\n1. Deschideți „Contul meu” → „Profil”.\n2. În blocul „Date personale”, corectați câmpul „Nume” sau „Telefon”.\n3. Apăsați „Salvează modificările”. Apare mesajul „Modificările au fost salvate.”\n\nDatele noi se aplică comenzilor plasate după salvare. Comenzile existente păstrează datele de contact din momentul plasării. Câmpul „Email” poate fi doar citit. Detalii: [Profilul meu: nume, telefon și email](#cont.profil).\n\n### Corectarea datelor de facturare\n\nDatele companiei sau datele personale pentru facturi se corectează în „Contul meu” → „Date de facturare”: apăsați „Editează” pe cardul profilului, modificați câmpurile și apăsați „Salvează”. Facturile PDF deja trimise nu se modifică. Detalii: [Date de facturare pentru companii și persoane fizice](#plati.date-facturare).\n\n### Descărcarea datelor (acces și portabilitate)\n\n1. Pe pagina „Profilul meu”, găsiți cardul „Datele mele”.\n2. Apăsați „Descarcă datele mele”. Butonul afișează „Se pregătește…”.\n3. Browserul salvează fișierul `blackbox-export-YYYY-MM-DD.json`.\n\nFișierul conține, printre altele, datele contului, comenzile, facturile, plățile, soldul, datele de facturare, tichetele, serverele care vă aparțin și ultimele 200 de evenimente de acces. Puteți descărca datele de cel mult 3 ori în 24 de ore. Detalii: [Descărcarea datelor dvs. („Datele mele”)](#cont.export-date).\n\n### Ștergerea contului\n\nÎn cardul „Ștergerea contului”, pe aceeași pagină, cereți ștergerea contului. Ea are loc după o perioadă de grație de 7 zile, în care o puteți anula cu „Anulează ștergerea”. Înainte de cerere nu trebuie să aveți, printre altele, servere active, comenzi neterminate, facturi neplătite sau fonduri în sold. Toți pașii: [Ștergerea contului](#cont.stergere-cont).\n\nDupă perioada de grație, datele personale din cont (nume, telefon, parolă) sunt anonimizate. Unele date se păstrează, pentru că legea ne obligă: facturile emise, 5 ani, iar jurnalele tehnice de acces și autentificare, cel puțin 180 de zile.\n\n> **Sfat**\n> Înainte de a cere ștergerea, descărcați o copie a datelor cu „Descarcă datele mele”. După ștergere nu o mai puteți descărca.\n\n## Ce cereți prin email\n\nScrieți la support@blackbox.md pentru:\n\n- schimbarea adresei de email a contului: indicați adresa nouă;\n- corectarea datelor de contact din comenzile deja plasate sau a datelor de pe facturile deja emise: indicați numărul comenzii sau al facturii;\n- restricționarea prelucrării și opoziție;\n- acces, portabilitate sau ștergere, dacă nu puteți folosi butoanele din cont ori aveți nevoie de date care nu sunt în fișierul descărcat.\n\n### Cum trimiteți cererea\n\n1. Scrieți de pe adresa de email a contului blackbox.md.\n2. Precizați ce drept exercitați și la ce date se referă cererea.\n3. Pentru o corectură, indicați valoarea corectă.\n\n> **Securitate**\n> O cerere trimisă de pe adresa contului ne arată că vine de la titular. Dacă scrieți de pe altă adresă, vă cerem o verificare suplimentară a identității, de exemplu un răspuns la un email trimis pe adresa din cont. Nu trimitem date personale pe o adresă pe care nu am verificat-o.\n\n### Termenul de răspuns\n\n- Răspundem fără întârzieri nejustificate și în cel mult o lună de la primirea cererii.\n- În cazuri complexe, termenul se poate prelungi cu cel mult încă două luni; în acest caz vă comunicăm motivele.\n- De obicei răspundem în 1–2 zile lucrătoare.\n- Pentru solicitări urgente puteți suna la +373 78 003948, luni–vineri, 09:00–18:00 (ora Moldovei).\n\nDacă nu putem da curs cererii, vă explicăm motivul.\n\n## Responsabilul cu protecția datelor\n\nClick Expert S.R.L. nu are un responsabil cu protecția datelor (DPO) desemnat: conform art. 37(1) din Legea nr. 195/2024, desemnarea nu este obligatorie pentru activitatea sa. Pentru orice chestiune legată de datele personale, contactul este support@blackbox.md.\n\n## Unde depuneți o plângere\n\nDacă nu sunteți de acord cu răspunsul primit sau considerați că prelucrarea datelor dvs. încalcă legea, puteți:\n\n- depune o plângere la Centrul Național pentru Protecția Datelor cu Caracter Personal (art. 72 din Legea nr. 195/2024);\n- depune o cerere de chemare în judecată la instanța competentă (art. 74).\n\nDatele de contact ale Centrului:\n\n| Contact | Valoare |\n|---|---|\n| Adresă | MD-2004, Republica Moldova, mun. Chișinău, str. Serghei Lazo nr. 48 |\n| Telefon | 022 820 801 |\n| Email | centru@datepersonale.md |\n| Site | datepersonale.md |\n\n## Întrebări frecvente\n\n**Pot exercita aceste drepturi din panoul app.blackbox.md?**\nNu. Câmpurile „Nume” și „Telefon” și cardurile „Datele mele” și „Ștergerea contului” există doar pe blackbox.md, pe pagina „Profilul meu”. Celelalte drepturi le exercitați prin email.\n\n**Nu văd cardul „Datele mele” sau „Ștergerea contului”. Ce fac?**\nReîncărcați pagina. Dacă tot nu le vedeți, trimiteți cererea prin email la support@blackbox.md.\n\n**Sunt vizitatorul unui site găzduit pe un server BLACKBOX. Cui mă adresez?**\nProprietarului site-ului. Pentru datele pe care un client le prelucrează în propriile servicii, de exemplu datele utilizatorilor site-ului său, operatorul este clientul, iar Click Expert S.R.L. acționează ca persoană împuternicită de operator. Vedeți [Acordul privind prelucrarea datelor (DPA) pentru companii](#legal.dpa).\n\n**Care versiune a Politicii de confidențialitate are forță juridică?**\nVersiunea în limba română. Versiunea în limba rusă este o traducere oferită pentru comoditate. Rezumatul politicii: [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n",
    "ru": "Закон № 195/2024 о защите персональных данных даёт вам ряд прав в отношении ваших данных, которые обрабатывает Click Expert S.R.L. (BLACKBOX). Часть из них можно реализовать прямо в аккаунте, в основном на странице «Мой профиль» (`blackbox.md/ru/account`, «Мой аккаунт» → «Профиль»), остальные — по email на support@blackbox.md. Официальный текст — в разделе «Ваши права» на странице «Политика конфиденциальности» (`https://blackbox.md/ru/info/privacy`).\n\n**Доступно:** владельцу аккаунта blackbox.md (действия в аккаунте) и любому человеку, чьи данные обрабатывает BLACKBOX (запросы по email).\n\n## Какие у вас есть права\n\nПрава закреплены в ст. 15–22 Закона № 195/2024.\n\n| Право | Что это значит | Как реализовать |\n|---|---|---|\n| Доступ | узнать, какие данные о вас у нас есть, и получить их копию | кнопка «Скачать мои данные» или email |\n| Исправление | исправить неточные или неполные данные | «Профиль» и «Реквизиты»; остальное по email |\n| Удаление | потребовать удалить данные | карточка «Удаление аккаунта» или email |\n| Переносимость | получить данные в структурированном формате, чтобы использовать их в другом месте | кнопка «Скачать мои данные» (файл JSON) или email |\n| Ограничение обработки | попросить ограничить использование данных, например пока мы проверяем исправление | email |\n| Возражение | возразить против обработки на основании нашего законного интереса (безопасность, предотвращение мошенничества, улучшение услуг) | email |\n\n## Что можно сделать прямо в аккаунте\n\nВсё описанное ниже делается только на blackbox.md. В панели app.blackbox.md изменить, скачать или удалить персональные данные нельзя.\n\n### Исправление имени и телефона\n\n1. Откройте «Мой аккаунт» → «Профиль».\n2. В блоке «Личные данные» исправьте поле «Имя» или «Телефон».\n3. Нажмите «Сохранить изменения». Появится сообщение «Изменения сохранены.»\n\nНовые данные применяются к заказам, оформленным после сохранения. В уже оформленных заказах остаются контактные данные на момент заказа. Поле «Email» доступно только для чтения. Подробнее: [Мой профиль: имя, телефон и email](#cont.profil).\n\n### Исправление реквизитов для счетов\n\nРеквизиты компании или личные данные для счетов исправляются в разделе «Мой аккаунт» → «Реквизиты»: нажмите «Изменить» на карточке профиля, измените поля и нажмите «Сохранить». Уже отправленные PDF-счета не изменятся. Подробнее: [Реквизиты для счетов: компании и физлица](#plati.date-facturare).\n\n### Скачивание данных (доступ и переносимость)\n\n1. На странице «Мой профиль» найдите карточку «Мои данные».\n2. Нажмите «Скачать мои данные». На кнопке появится «Подготовка…».\n3. Браузер сохранит файл `blackbox-export-YYYY-MM-DD.json`.\n\nВ файле, среди прочего, есть данные аккаунта, заказы, счета, платежи, баланс, реквизиты, тикеты, принадлежащие вам серверы и последние 200 событий доступа. Скачивать данные можно не более 3 раз за 24 часа. Подробнее: [Скачивание ваших данных («Мои данные»)](#cont.export-date).\n\n### Удаление аккаунта\n\nВ карточке «Удаление аккаунта» на той же странице можно запросить удаление аккаунта. Оно выполняется после льготного периода в 7 дней, в течение которого его можно отменить кнопкой «Отменить удаление». Перед запросом у вас, среди прочего, не должно быть активных серверов, незавершённых заказов, неоплаченных счетов и средств на балансе. Все шаги: [Удаление аккаунта](#cont.stergere-cont).\n\nПосле льготного периода персональные данные аккаунта (имя, телефон, пароль) анонимизируются. Часть данных сохраняется, потому что этого требует закон: выставленные счета — 5 лет, технические журналы доступа и аутентификации — не менее 180 дней.\n\n> **Совет**\n> Перед запросом на удаление скачайте копию данных кнопкой «Скачать мои данные». После удаления скачать её будет нельзя.\n\n## Что запросить по email\n\nНапишите на support@blackbox.md, если нужно:\n\n- сменить email аккаунта — укажите новый адрес;\n- исправить контактные данные в уже оформленных заказах или данные в уже выставленных счетах — укажите номер заказа или счёта;\n- ограничить обработку данных или заявить возражение;\n- получить доступ к данным, перенести или удалить их, если кнопками в аккаунте воспользоваться не получается или вам нужны данные, которых нет в скачанном файле.\n\n### Как отправить запрос\n\n1. Пишите с адреса, на который зарегистрирован аккаунт blackbox.md.\n2. Укажите, какое право вы реализуете и к каким данным относится запрос.\n3. Если нужно что-то исправить, укажите правильное значение.\n\n> **Безопасность**\n> Запрос с адреса аккаунта подтверждает, что его отправил владелец. Если вы пишете с другого адреса, мы попросим дополнительно подтвердить личность — например, ответить на письмо, отправленное на адрес аккаунта. Мы не отправляем персональные данные на адрес, который не проверили.\n\n### Срок ответа\n\n- Мы отвечаем без неоправданных задержек и не позднее чем через месяц после получения запроса.\n- В сложных случаях срок может быть продлён ещё не более чем на два месяца — тогда мы сообщим вам причины.\n- Обычно мы отвечаем в течение 1–2 рабочих дней.\n- По срочным вопросам звоните: +373 78 003948, пн–пт, 09:00–18:00 (по времени Молдовы).\n\nЕсли выполнить запрос невозможно, мы объясним причину.\n\n## Ответственный за защиту данных\n\nВ Click Expert S.R.L. нет назначенного ответственного за защиту данных (DPO): по ст. 37(1) Закона № 195/2024 для её деятельности это не обязательно. По всем вопросам защиты персональных данных пишите на support@blackbox.md.\n\n## Куда подать жалобу\n\nЕсли вы не согласны с полученным ответом или считаете, что обработка ваших данных нарушает закон, вы можете:\n\n- подать жалобу в Национальный центр по защите персональных данных (ст. 72 Закона № 195/2024);\n- обратиться с иском в компетентный суд (ст. 74).\n\nКонтакты Центра:\n\n| Контакт | Данные |\n|---|---|\n| Адрес | MD-2004, Республика Молдова, мун. Кишинёв, ул. Serghei Lazo, 48 |\n| Телефон | 022 820 801 |\n| Email | centru@datepersonale.md |\n| Сайт | datepersonale.md |\n\n## Частые вопросы\n\n**Можно ли реализовать эти права в панели app.blackbox.md?**\nНет. Поля «Имя» и «Телефон» и карточки «Мои данные» и «Удаление аккаунта» есть только на blackbox.md, на странице «Мой профиль». Остальные права реализуются по email.\n\n**Я не вижу карточку «Мои данные» или «Удаление аккаунта». Что делать?**\nОбновите страницу. Если карточек по-прежнему нет, отправьте запрос по email на support@blackbox.md.\n\n**Я посетитель сайта, размещённого на сервере BLACKBOX. Куда мне обращаться?**\nК владельцу сайта. Для данных, которые клиент обрабатывает в своих сервисах (например, данных пользователей его сайта), оператором является сам клиент, а Click Expert S.R.L. выступает лицом, уполномоченным оператором. Подробнее: [Соглашение об обработке данных (DPA) для компаний](#legal.dpa).\n\n**Какая версия Политики конфиденциальности имеет юридическую силу?**\nРумынская. Русская версия — перевод для удобства. Краткое изложение политики: [Политика конфиденциальности: кратко](#legal.confidentialitate).\n",
    "en": "Law No. 195/2024 on personal data protection gives you several rights over your data that Click Expert S.R.L. (BLACKBOX) processes. You can exercise some of them directly in your account, mainly on the “Profilul meu” (My profile) page (`blackbox.md/account`, “Contul meu” (My account) → “Profil” (Profile)), and the others by email at support@blackbox.md. The official text is in the “Drepturile dvs.” (Your rights) section of the “Politica de confidențialitate” (Privacy policy) page (`https://blackbox.md/info/privacy`).\n\n**Available to:** the blackbox.md account holder (actions in the account) and anyone whose data BLACKBOX processes (requests by email).\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## What rights you have\n\nThese rights are set out in Articles 15–22 of Law No. 195/2024.\n\n| Right | What it means | How to exercise it |\n|---|---|---|\n| Access | find out what data we hold about you and get a copy of it | the “Descarcă datele mele” (Download my data) button or email |\n| Rectification | correct inaccurate or incomplete data | “Profil” (Profile) and “Date de facturare” (Billing details); everything else by email |\n| Erasure | ask for your data to be deleted | the “Ștergerea contului” (Account deletion) card or email |\n| Portability | receive your data in a structured format so that you can use it elsewhere | the “Descarcă datele mele” button (a JSON file) or email |\n| Restriction of processing | ask us to limit the use of your data, for example while we check a correction | email |\n| Objection | object to processing based on our legitimate interest (security, fraud prevention, improving our services) | email |\n\n## What you can do directly in your account\n\nThe actions below are available only on blackbox.md. In the app.blackbox.md panel, you cannot change, download or delete your personal data.\n\n### Correcting your name and phone number\n\n1. Open “Contul meu” (My account) → “Profil” (Profile).\n2. In the “Date personale” (Personal details) block, correct the “Nume” (Name) or “Telefon” (Phone) field.\n3. Click “Salvează modificările” (Save changes). The message “Modificările au fost salvate.” (Your changes have been saved.) appears.\n\nThe new details apply to orders placed after you save. Existing orders keep the contact details they had when they were placed. The “Email” field is read-only. Details: [My profile: name, phone number and email](#cont.profil).\n\n### Correcting your billing details\n\nYou correct a company's details or your personal details for invoices under “Contul meu” → “Date de facturare” (Billing details): click “Editează” (Edit) on the profile's card, change the fields and click “Salvează” (Save). PDF invoices that have already been sent do not change. Details: [Billing details for companies and individuals](#plati.date-facturare).\n\n### Downloading your data (access and portability)\n\n1. On the “Profilul meu” (My profile) page, find the “Datele mele” (My data) card.\n2. Click “Descarcă datele mele” (Download my data). The button shows “Se pregătește…” (Preparing…).\n3. Your browser saves the file `blackbox-export-YYYY-MM-DD.json`.\n\nAmong other things, the file contains your account details, orders, invoices, payments, balance, billing details, support tickets, the servers that belong to you and the last 200 access events. You can download your data at most 3 times in 24 hours. Details: [Downloading your data (“Datele mele”)](#cont.export-date).\n\n### Deleting your account\n\nOn the “Ștergerea contului” (Account deletion) card, on the same page, you request the deletion of your account. The deletion takes place after a 7-day grace period, during which you can cancel it with “Anulează ștergerea” (Cancel deletion). Before you make the request, you must not have, among other things, active servers, unfinished orders, unpaid invoices or funds in your balance. All the steps: [Deleting your account](#cont.stergere-cont).\n\nAfter the grace period, the personal data in your account (name, phone number, password) is anonymized. Some data is kept because the law requires us to keep it: issued invoices for 5 years, and technical access and authentication logs for at least 180 days.\n\n> **Tip**\n> Before you request deletion, download a copy of your data with “Descarcă datele mele”. After deletion, you can no longer download it.\n\n## What to request by email\n\nWrite to support@blackbox.md for:\n\n- changing your account's email address: include the new address;\n- correcting the contact details in orders you have already placed or the details on invoices that have already been issued: include the order or invoice number;\n- restricting processing and objecting to processing;\n- access, portability or erasure, if you cannot use the buttons in your account or you need data that is not in the downloaded file.\n\n### How to send your request\n\n1. Write from the email address of your blackbox.md account.\n2. State which right you are exercising and which data your request concerns.\n3. For a correction, give the correct value.\n\n> **Security**\n> A request sent from your account's address shows us that it comes from the account holder. If you write from a different address, we ask you for additional identity verification, for example a reply to an email we send to your account's address. We do not send personal data to an address we have not verified.\n\n### Response time\n\n- We reply without undue delay and no later than one month after we receive your request.\n- In complex cases, this period can be extended by up to two more months; in that case, we tell you the reasons.\n- We usually reply within 1–2 business days.\n- For urgent requests, you can call +373 78 003948, Monday–Friday, 09:00–18:00 (Moldova time).\n\nIf we cannot act on your request, we explain why.\n\n## Data protection officer\n\nClick Expert S.R.L. has not appointed a data protection officer (DPO): under Article 37(1) of Law No. 195/2024, an appointment is not mandatory for its activity. For any matter related to personal data, the contact is support@blackbox.md.\n\n## Where to file a complaint\n\nIf you disagree with the answer you received or believe that the processing of your data breaks the law, you can:\n\n- file a complaint with the National Center for Personal Data Protection (in Romanian, Centrul Național pentru Protecția Datelor cu Caracter Personal), under Article 72 of Law No. 195/2024;\n- bring a court action before the competent court (Article 74).\n\nThe Center's contact details:\n\n| Contact | Details |\n|---|---|\n| Address | MD-2004, Republic of Moldova, Chișinău municipality, 48 Serghei Lazo Street |\n| Phone | 022 820 801 |\n| Email | centru@datepersonale.md |\n| Website | datepersonale.md |\n\n## Frequently asked questions\n\n**Can I exercise these rights from the app.blackbox.md panel?**\nNo. The “Nume” (Name) and “Telefon” (Phone) fields and the “Datele mele” (My data) and “Ștergerea contului” (Account deletion) cards exist only on blackbox.md, on the “Profilul meu” (My profile) page. You exercise the other rights by email.\n\n**I don't see the “Datele mele” or “Ștergerea contului” card. What should I do?**\nReload the page. If you still don't see them, send your request by email to support@blackbox.md.\n\n**I am a visitor to a website hosted on a BLACKBOX server. Whom should I contact?**\nThe website's owner. For data that a customer processes in their own services, for example the data of their website's users, the controller is the customer, and Click Expert S.R.L. acts as a processor on the controller's behalf. See [Data Processing Agreement (DPA) for companies](#legal.dpa).\n\n**Which version of the Privacy Policy is legally binding?**\nThe Romanian version. The Russian version is a translation provided for convenience. A summary of the policy: [Privacy policy in brief](#legal.confidentialitate).\n"
   }
  },
  {
   "id": "legal.dpa",
   "section": "legal",
   "app": "blackbox.md",
   "updated": "2026-10-09",
   "url": {
    "ro": "https://docs.blackbox.md/legal/dpa/",
    "ru": "https://docs.blackbox.md/ru/legal/dpa/",
    "en": "https://docs.blackbox.md/en/legal/dpa/"
   },
   "title": {
    "ro": "Acordul privind prelucrarea datelor (DPA) pentru companii",
    "ru": "Соглашение об обработке данных (DPA) для компаний",
    "en": "Data Processing Agreement (DPA) for companies"
   },
   "summary": {
    "ro": "Ce prevede DPA-ul pentru clienții care găzduiesc date personale, cum se acceptă și cum obțineți o copie semnată.",
    "ru": "Что предусматривает DPA для клиентов, размещающих персональные данные, как оно принимается и как получить подписанную копию.",
    "en": "What the DPA covers for customers who host personal data, how it is accepted and how to get a signed copy."
   },
   "markdown": {
    "ro": "Acordul privind prelucrarea datelor (DPA) stabilește condițiile în care Click Expert S.R.L., compania care administrează marca BLACKBOX, prelucrează date cu caracter personal în numele dvs. atunci când găzduiți la BLACKBOX propria aplicație, site sau serviciu. Textul complet este pe pagina „Acord privind prelucrarea datelor (DPA)” (`blackbox.md/info/dpa`), deschisă din subsolul site-ului prin linkul „Acord privind prelucrarea datelor”. Acest articol îl rezumă.\n\n**Disponibil pentru:** orice vizitator al blackbox.md (pagina este publică). Acordul se aplică clienților care găzduiesc pe un serviciu de hosting, VPS sau server dedicat BLACKBOX aplicații ori site-uri care prelucrează date personale.\n\n## Cum deschideți acordul\n\n1. Deschideți orice pagină blackbox.md și derulați până la subsol.\n2. Pe ultimul rând, lângă „Termeni și condiții” și „Politică de confidențialitate”, apăsați „Acord privind prelucrarea datelor”. Linkul nu apare în meniul „Informații”.\n3. Se deschide pagina „Acord privind prelucrarea datelor (DPA)”. La început este afișată data reviziei: „Ultima actualizare: 21 septembrie 2026”.\n\nVersiunea în rusă este la `blackbox.md/ru/info/dpa`. La DPA trimit și Termenii și condițiile, în capitolul 13 „Protecția datelor și solicitările autorităților”.\n\n> **Important**\n> Forță juridică are textul în limba română de pe `blackbox.md/info/dpa`. Versiunea în rusă este o traducere pentru comoditate, iar acest articol este doar un rezumat. Dacă ceva diferă, se aplică textul de pe pagină.\n\n## Cui se aplică și ce roluri aveți\n\nDPA-ul este încheiat conform art. 28 din Legea nr. 195/2024 și privește numai datele din aplicațiile și site-urile pe care le găzduiți.\n\n| Datele | Operatorul | Rolul Click Expert S.R.L. | Document |\n|---|---|---|---|\n| Datele utilizatorilor finali ai aplicațiilor și site-urilor dvs. (de exemplu, vizitatorii sau clienții site-ului) | dvs., clientul | persoană împuternicită de operator | DPA |\n| Datele contului dvs. blackbox.md (nume, email, telefon, facturi) | Click Expert S.R.L. | operator | Politica de confidențialitate |\n\nÎn terminologia GDPR, operatorul este „controller”, iar persoana împuternicită este „processor”. Ca operator, răspundeți de respectarea legii pentru datele pe care le prelucrați în serviciile găzduite (Termeni, capitolul 8 „Date cu caracter personal”). Detalii: [Responsabilitatea pentru datele de pe server și backup](#legal.responsabilitate-date).\n\n## Cum se acceptă\n\nDPA-ul nu se semnează separat și nu are o casetă proprie. Îl acceptați prin două acțiuni:\n\n1. Acceptați Termenii și condițiile: pe pagina de plată a comenzii bifați caseta „Am citit și accept Termenii și Condițiile și Politica de Confidențialitate”. Aceeași casetă apare la crearea contului cu email.\n2. Activați un serviciu (de exemplu, serverul comandat).\n\nPentru majoritatea clienților, această acceptare înlocuiește un acord semnat separat.\n\n## Cum obțineți o copie semnată\n\nDacă societatea dvs. are nevoie de un exemplar semnat (de exemplu, pentru propriul proces de conformitate):\n\n1. Scrieți la support@blackbox.md, de preferință de pe adresa de email a contului.\n2. Indicați compania care semnează (denumirea și IDNO-ul) și emailul contului blackbox.md.\n3. Echipa BLACKBOX vă transmite exemplarul semnat.\n\nAcelași lucru îl spune blocul „Aveți nevoie de o copie semnată a DPA-ului?” de la finalul paginii; butonul său „Contactați-ne” deschide pagina „Contacte”. Sub titlul paginii sunt și butoanele „Contactați-ne” și „Politica de confidențialitate”. Datele Click Expert S.R.L.: [Date legale și rechizitele BLACKBOX](#legal.date-legale).\n\n## Ce prevede acordul\n\n| Secțiunea de pe pagină | Pe scurt |\n|---|---|\n| „Obiectul și sfera prelucrării” | Datele găzduite (VPS, server dedicat, stocare) sunt prelucrate strict cât e necesar pentru găzduire: stocarea pe disc, rularea proceselor configurate de dvs., backup „dacă este activat de dvs.” și administrarea tehnică a infrastructurii. |\n| „Prelucrare numai pe bază de instrucțiuni documentate” | Instrucțiunile dvs. sunt configurația aleasă la comandă și setările din panoul de administrare. Conținutul aplicației nu este accesat și nu este citit, cu excepția suportului tehnic la cererea dvs. explicită sau a unei obligații legale. În al doilea caz sunteți informat în prealabil, dacă legea nu interzice. |\n| „Confidențialitatea personalului” | Fiecare angajat cu acces la infrastructura cu datele dvs. are o obligație de confidențialitate. Accesul este limitat la minimul necesar pentru operare și suport. |\n| „Măsuri de securitate (art. 32)” | Măsurile din secțiunea „Cum protejăm datele” a Politicii de confidențialitate: criptare în tranzit, izolare la nivel de virtualizare, autentificare cu doi factori obligatorie pentru personalul cu acces la producție, audituri de securitate periodice. |\n| „Recrutarea de sub-persoane împuternicite” | Sub-persoana împuternicită pentru infrastructură este furnizorul de infrastructură cloud FoxCloud. Noi sub-persoane pentru datele găzduite nu sunt recrutate fără notificare prealabilă, dacă schimbarea modifică semnificativ natura prelucrării. Lista actualizată este în Politica de confidențialitate. |\n| „Asistență pentru îndeplinirea obligațiilor dvs.” | Asistență rezonabilă, cât permite infrastructura de găzduire, pentru securitate (art. 32), notificarea incidentelor (art. 33–34), evaluarea impactului (art. 35) și cererile utilizatorilor dvs. finali privind drepturile lor (cap. III din Legea nr. 195/2024). |\n| „Ștergerea sau returnarea datelor la finalul serviciului” | La încetarea serviciului, la alegerea dvs., datele găzduite sunt șterse sau returnate, iar copiile existente sunt eliminate, cu excepția cazurilor în care legea obligă la păstrare. |\n| „Audit și informare” | Primiți informațiile necesare pentru a verifica respectarea acordului. Auditul, inclusiv inspecțiile, are loc în condiții rezonabile: notificare prealabilă, program de lucru, o sferă care nu compromite securitatea celorlalți clienți. |\n| „Notificarea incidentelor” | La o încălcare a securității datelor găzduite pe serviciul dvs., sunteți notificat fără întârzieri nejustificate de la momentul în care BLACKBOX află de incident, ca să vă puteți îndeplini obligațiile de operator (art. 33–34). |\n\n## Ce rămâne în grija dvs.\n\n- **Backup.** DPA-ul menționează backupul doar „dacă este activat de dvs.”. În prezent BLACKBOX nu oferă un serviciu de backup automat, așa că faceți copii proprii, în afara serverului: [Strategia de backup pentru serverul dvs.](#ghiduri.strategie-backup).\n- **Securitatea serverului.** Măsurile din DPA privesc infrastructura BLACKBOX. Sistemul de operare, aplicațiile și actualizările lor le administrați dvs., cu acces root: [Securizarea unui server nou: lista de verificare](#ghiduri.securizare-server-nou).\n- **Cererile utilizatorilor dvs. și evaluarea impactului.** Cererile utilizatorilor aplicației și o eventuală evaluare a impactului (DPIA) le gestionați dvs., ca operator. BLACKBOX vă ajută cu informațiile pe care le are la nivelul infrastructurii.\n\n## La finalul serviciului: ștergere sau returnare\n\nPentru păstrarea datelor după încetare, DPA-ul trimite la Termeni. Termenii nu dau un număr de zile: după suspendare, datele se păstrează „o perioadă rezonabilă”, apoi pot fi șterse definitiv. Pentru termenul exact, contactați suportul.\n\n1. Dacă vreți datele înapoi, copiați-le înainte de ștergere: aveți acces root la server ([Transferul fișierelor pe server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)).\n2. Dacă alegeți ca BLACKBOX să vă returneze datele, scrieți la support@blackbox.md înainte de a șterge serverul sau de a anula comanda.\n3. Ștergeți serverul: butonul „Șterge definitiv” din panou (ștergerea se execută după o perioadă de grație de 24 de ore) sau „Anulează comanda” pe blackbox.md (serverul se șterge imediat). Detalii: [Ștergerea definitivă a unui server](#servere.stergere-server) și [Renunțarea la serviciile BLACKBOX: pașii în ordinea corectă](#cont.inchidere-servicii).\n\n> **Ireversibil**\n> După ștergerea serverului, discurile și datele de pe el nu mai pot fi recuperate, deci nici returnate. Copiați datele înainte.\n\n## Întrebări frecvente\n\n**Trebuie să semnez DPA-ul ca să fie valabil?**\nNu. Acceptarea Termenilor și activarea unui serviciu sunt suficiente. Copia semnată este pentru cazurile în care compania dvs. are nevoie de ea, de exemplu pentru propriul proces de conformitate.\n\n**Se aplică DPA-ul și datelor contului meu blackbox.md?**\nNu. Pentru datele contului, Click Expert S.R.L. este operator și se aplică Politica de confidențialitate: [Politica de confidențialitate pe scurt](#legal.confidentialitate).\n\n**Citește echipa BLACKBOX datele din aplicația mea?**\nConform DPA, nu: conținutul aplicației este accesat doar pentru suport tehnic cerut explicit de dvs. sau la o obligație legală. Pe server există totuși cheia de administrare BLACKBOX, prin care panoul execută acțiunile pe care le cereți: [Cheile BLACKBOX de pe serverul dvs.](#acces.cheile-blackbox).\n\n**Unde găsesc lista sub-persoanelor împuternicite?**\nDPA-ul numește FoxCloud ca furnizor de infrastructură. Lista actualizată este în Politica de confidențialitate (`blackbox.md/info/privacy`); destinatarii datelor sunt enumerați în secțiunea „Partajare cu terți”.\n\n**Cum cer un audit?**\nScrieți la support@blackbox.md și descrieți scopul și sfera auditului. Auditul are loc în condițiile din DPA: cu notificare prealabilă, în programul de lucru și fără a afecta securitatea altor clienți.\n",
    "ru": "Соглашение об обработке данных (DPA) определяет условия, на которых Click Expert S.R.L. — компания, управляющая торговой маркой BLACKBOX, — обрабатывает персональные данные от вашего имени, когда вы размещаете в BLACKBOX собственное приложение, сайт или сервис. Полный текст — на странице «Соглашение об обработке данных (DPA)» (`blackbox.md/ru/info/dpa`), ссылка «Соглашение об обработке данных» есть в подвале сайта. Эта статья — краткое изложение.\n\n**Доступно:** любому посетителю blackbox.md (страница открыта для всех). Соглашение действует для клиентов, которые размещают на хостинге, VPS или выделенном сервере BLACKBOX приложения или сайты, обрабатывающие персональные данные.\n\n## Как открыть соглашение\n\n1. Откройте любую страницу blackbox.md и прокрутите её до подвала.\n2. В последней строке, рядом с «Условия использования» и «Политика конфиденциальности», нажмите «Соглашение об обработке данных». В меню «Информация» этой ссылки нет.\n3. Откроется страница «Соглашение об обработке данных (DPA)». В начале указана дата редакции: «Последнее обновление: 21 сентября 2026».\n\nРумынская версия находится по адресу `blackbox.md/info/dpa`. На DPA ссылаются и Условия использования — в главе 13 «Защита данных и запросы органов власти».\n\n> **Важно**\n> Юридическую силу имеет румынский текст на странице `blackbox.md/info/dpa`. Русская версия — перевод для удобства (об этом сказано в начале страницы), а эта статья — лишь краткое изложение. Если что-то расходится, действует текст на странице.\n\n## Кого касается соглашение и какие роли у сторон\n\nDPA заключено в соответствии со ст. 28 Закона № 195/2024 и касается только данных в размещённых вами приложениях и сайтах.\n\n| Данные | Оператор | Роль Click Expert S.R.L. | Документ |\n|---|---|---|---|\n| Данные конечных пользователей ваших приложений и сайтов (например, посетителей или покупателей сайта) | вы, клиент | лицо, уполномоченное оператором | DPA |\n| Данные вашего аккаунта blackbox.md (имя, email, телефон, счета) | Click Expert S.R.L. | оператор | Политика конфиденциальности |\n\nВ терминах GDPR оператор — это «controller», а лицо, уполномоченное оператором, — «processor». Как оператор вы отвечаете за соблюдение закона в отношении данных, которые обрабатываете в размещённых сервисах (Условия использования, глава 8 «Персональные данные»). Подробнее: [Ответственность за данные на сервере и резервные копии](#legal.responsabilitate-date).\n\n## Как принимается соглашение\n\nОтдельно DPA не подписывается, и отдельного флажка для него нет. Вы принимаете его двумя действиями:\n\n1. Принимаете Условия использования: на странице оплаты заказа отмечаете флажок «Я прочитал(а) и принимаю Условия использования и Политику конфиденциальности». Такой же флажок есть при регистрации по email.\n2. Активируете услугу (например, заказанный сервер).\n\nДля большинства клиентов такое принятие заменяет отдельное подписанное соглашение.\n\n## Как получить подписанную копию\n\nЕсли вашей компании нужен подписанный экземпляр (например, для собственного комплаенс-процесса):\n\n1. Напишите на support@blackbox.md, лучше с адреса email вашего аккаунта.\n2. Укажите компанию, которая подписывает соглашение (название и IDNO), и email аккаунта blackbox.md.\n3. Команда BLACKBOX пришлёт вам подписанный экземпляр.\n\nО том же говорит блок «Нужна подписанная копия DPA?» внизу страницы: кнопка «Свяжитесь с нами» в нём открывает страницу «Контакты». Под заголовком страницы есть также кнопки «Связаться с нами» и «Политика конфиденциальности». Реквизиты Click Expert S.R.L.: [Юридические данные и реквизиты BLACKBOX](#legal.date-legale).\n\n## Что предусматривает соглашение\n\n| Раздел на странице | Кратко |\n|---|---|\n| «Предмет и объём обработки» | Размещённые данные (VPS, выделенный сервер, хранилище) обрабатываются ровно в той мере, которая нужна для хостинга: хранение на диске, выполнение настроенных вами процессов, резервное копирование «если оно включено вами» и техническое администрирование инфраструктуры. |\n| «Обработка только по документированным инструкциям» | Ваши инструкции — это конфигурация, выбранная при заказе, и настройки в панели администрирования. К содержимому приложения не обращаются и его не читают — кроме случаев технической поддержки по вашему прямому запросу или когда этого требует закон. Во втором случае вас предупредят заранее, если закон этого не запрещает. |\n| «Конфиденциальность персонала» | Каждый сотрудник с доступом к инфраструктуре, где размещены ваши данные, связан обязательством конфиденциальности. Доступ ограничен минимумом, нужным для эксплуатации и поддержки. |\n| «Меры безопасности (ст. 32)» | Меры из раздела «Как мы защищаем данные» Политики конфиденциальности: шифрование при передаче, изоляция на уровне виртуализации, обязательная двухфакторная аутентификация для персонала с доступом к продуктивным системам, регулярные аудиты безопасности. |\n| «Привлечение суб-подрядчиков» | Суб-исполнитель по инфраструктуре — поставщик облачной инфраструктуры FoxCloud. Новых суб-исполнителей для размещённых данных не привлекают без предварительного уведомления, если это существенно меняет характер обработки. Актуальный список — в Политике конфиденциальности. |\n| «Содействие в исполнении ваших обязательств» | Разумное содействие в пределах возможностей инфраструктуры хостинга: безопасность (ст. 32), уведомление об инцидентах (ст. 33–34), оценка воздействия (ст. 35) и запросы ваших конечных пользователей об их правах (гл. III Закона № 195/2024). |\n| «Удаление или возврат данных по окончании услуги» | После прекращения услуги размещённые данные по вашему выбору удаляются или возвращаются, существующие копии уничтожаются — кроме случаев, когда закон обязывает их хранить. |\n| «Аудит и информация» | Вы получаете информацию, нужную для проверки соблюдения соглашения. Аудит, включая инспекции, проводится на разумных условиях: предварительное уведомление, рабочее время, объём, не угрожающий безопасности других клиентов. |\n| «Уведомление об инцидентах» | При нарушении безопасности данных, размещённых на вашей услуге, вас уведомят без неоправданных задержек с момента, когда BLACKBOX узнает об инциденте, чтобы вы могли выполнить свои обязанности оператора (ст. 33–34). |\n\n## Что остаётся на вашей стороне\n\n- **Резервные копии.** В DPA резервное копирование упомянуто только с оговоркой «если оно включено вами». Сейчас BLACKBOX не предоставляет услугу автоматического резервного копирования, поэтому делайте копии сами и храните их вне сервера: [Стратегия резервного копирования для вашего сервера](#ghiduri.strategie-backup).\n- **Безопасность сервера.** Меры из DPA относятся к инфраструктуре BLACKBOX. Операционной системой, приложениями и их обновлениями управляете вы — у вас root-доступ: [Защита нового сервера: чек-лист](#ghiduri.securizare-server-nou).\n- **Запросы ваших пользователей и оценка воздействия.** Запросы пользователей вашего приложения и оценку воздействия (DPIA), если она нужна, ведёте вы как оператор. BLACKBOX помогает той информацией, которая есть у него на уровне инфраструктуры.\n\n## По окончании услуги: удаление или возврат\n\nО хранении данных после прекращения услуги DPA отсылает к Условиям использования. Конкретного срока там нет: после приостановки данные хранятся «разумный период времени», затем могут быть окончательно удалены. Точный срок уточняйте в поддержке.\n\n1. Если данные нужны вам, скопируйте их до удаления — у вас есть root-доступ к серверу ([Передача файлов на сервер (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)).\n2. Если вы хотите, чтобы данные вернул BLACKBOX, напишите на support@blackbox.md до удаления сервера или отмены заказа.\n3. Удалите сервер: кнопка «Удалить» в панели (удаление выполняется через 24 часа отсрочки) или «Отменить заказ» на blackbox.md (сервер удаляется сразу). Подробнее: [Безвозвратное удаление сервера](#servere.stergere-server) и [Отказ от услуг BLACKBOX: шаги в правильном порядке](#cont.inchidere-servicii).\n\n> **Необратимо**\n> После удаления сервера его диски и данные восстановить нельзя, а значит, и вернуть тоже. Скопируйте данные заранее.\n\n## Частые вопросы\n\n**Нужно ли подписывать DPA, чтобы оно действовало?**\nНет. Достаточно принять Условия использования и активировать услугу. Подписанная копия нужна, только если её требует ваша компания, например для собственного комплаенс-процесса.\n\n**Распространяется ли DPA на данные моего аккаунта blackbox.md?**\nНет. Для данных аккаунта Click Expert S.R.L. — оператор, и действует Политика конфиденциальности: [Политика конфиденциальности: кратко](#legal.confidentialitate).\n\n**Читает ли команда BLACKBOX данные моего приложения?**\nПо DPA — нет: к содержимому приложения обращаются только для технической поддержки по вашему прямому запросу или если этого требует закон. При этом на сервере есть ключ управления BLACKBOX, через который панель выполняет запрошенные вами действия: [Ключи BLACKBOX на вашем сервере](#acces.cheile-blackbox).\n\n**Где найти список суб-исполнителей?**\nВ DPA поставщиком инфраструктуры назван FoxCloud. Актуальный список — в Политике конфиденциальности (`blackbox.md/ru/info/privacy`); получатели данных перечислены в разделе «Передача третьим лицам».\n\n**Как запросить аудит?**\nНапишите на support@blackbox.md и опишите цель и объём аудита. Аудит проводится на условиях DPA: с предварительным уведомлением, в рабочее время и без ущерба для безопасности других клиентов.\n",
    "en": "The Data Processing Agreement (DPA) sets out the terms under which Click Expert S.R.L., the company that manages the BLACKBOX brand, processes personal data on your behalf when you host your own application, website or service at BLACKBOX. The full text is on the “Acord privind prelucrarea datelor (DPA)” (Data processing agreement) page (`blackbox.md/info/dpa`), which you open from the website footer with the “Acord privind prelucrarea datelor” (Data processing agreement) link. This article summarizes it.\n\n**Available to:** any visitor to blackbox.md (the page is public). The agreement applies to customers who use a BLACKBOX hosting service, VPS or dedicated server to host applications or websites that process personal data.\n\nThe blackbox.md website is available in Romanian and Russian; this article quotes the Romanian labels with their English meaning.\n\n## How to open the agreement\n\n1. Open any blackbox.md page and scroll down to the footer.\n2. On the last line, next to “Termeni și condiții” (Terms and conditions) and “Politică de confidențialitate” (Privacy policy), click “Acord privind prelucrarea datelor” (Data processing agreement). The link does not appear in the “Informații” (Information) menu.\n3. The “Acord privind prelucrarea datelor (DPA)” (Data processing agreement) page opens. The revision date is shown at the top: “Ultima actualizare: 21 septembrie 2026” (Last updated: September 21, 2026).\n\nThe Russian version is at `blackbox.md/ru/info/dpa`. The Terms and Conditions also refer to the DPA, in chapter 13, “Protecția datelor și solicitările autorităților” (Data protection and requests from authorities).\n\n> **Important**\n> The legally binding text is the Romanian one at `blackbox.md/info/dpa`. The Russian version is a translation provided for convenience, and this article is only a summary. If anything differs, the text on the page applies.\n\n## Who it applies to and what your roles are\n\nThe DPA is concluded under Article 28 of Law No. 195/2024 and covers only the data in the applications and websites you host.\n\n| Data | Controller | Role of Click Expert S.R.L. | Document |\n|---|---|---|---|\n| Data of the end users of your applications and websites (for example, the website's visitors or customers) | you, the customer | processor | DPA |\n| Your blackbox.md account data (name, email, phone, invoices) | Click Expert S.R.L. | controller | Privacy Policy |\n\nIn the Romanian text, the controller is called the “operator” and the processor the “persoană împuternicită de operator”; in GDPR terminology, these are the “controller” and the “processor”. As the controller, you are responsible for complying with the law for the data you process in the hosted services (Terms, chapter 8, “Date cu caracter personal” (Personal data)). Details: [Responsibility for server data and backups](#legal.responsabilitate-date).\n\n## How it is accepted\n\nThe DPA is not signed separately and has no checkbox of its own. You accept it through two actions:\n\n1. You accept the Terms and Conditions: on the order's payment page, you tick the box “Am citit și accept Termenii și Condițiile și Politica de Confidențialitate” (I have read and accept the Terms and Conditions and the Privacy Policy). The same box appears when you create an account with email.\n2. You activate a service (for example, the server you ordered).\n\nFor most customers, this acceptance replaces a separately signed agreement.\n\n## How to get a signed copy\n\nIf your company needs a signed copy (for example, for its own compliance process):\n\n1. Write to support@blackbox.md, preferably from your account's email address.\n2. State the company that signs (its name and IDNO) and the email address of your blackbox.md account.\n3. The BLACKBOX team sends you the signed copy.\n\nThe “Aveți nevoie de o copie semnată a DPA-ului?” (Do you need a signed copy of the DPA?) block at the end of the page says the same; its “Contactați-ne” (Contact us) button opens the “Contacte” (Contacts) page. Below the page title there are also the “Contactați-ne” and “Politica de confidențialitate” (Privacy policy) buttons. The details of Click Expert S.R.L.: [Legal details and BLACKBOX company details](#legal.date-legale).\n\n## What the agreement covers\n\n| Section on the page | In brief |\n|---|---|\n| “Obiectul și sfera prelucrării” (Subject matter and scope of processing) | Hosted data (VPS, dedicated server, storage) is processed only as far as hosting requires: storage on disk, running the processes you configure, backup “dacă este activat de dvs.” (if enabled by you) and technical administration of the infrastructure. |\n| “Prelucrare numai pe bază de instrucțiuni documentate” (Processing only on documented instructions) | Your instructions are the configuration you chose when ordering and the settings in the administration panel. The application's content is not accessed or read, except for technical support at your explicit request or because of a legal obligation. In the second case, you are informed in advance, unless the law forbids it. |\n| “Confidențialitatea personalului” (Confidentiality of personnel) | Every employee with access to the infrastructure that holds your data is bound by a confidentiality obligation. Access is limited to the minimum needed for operations and support. |\n| “Măsuri de securitate (art. 32)” (Security measures, Art. 32) | The measures in the “Cum protejăm datele” (How we protect data) section of the Privacy Policy: encryption in transit, isolation at the virtualization level, mandatory two-factor authentication for staff with access to production, and regular security audits. |\n| “Recrutarea de sub-persoane împuternicite” (Engaging sub-processors) | The infrastructure sub-processor is the cloud infrastructure provider FoxCloud. New sub-processors for hosted data are not engaged without prior notice if the change significantly alters the nature of the processing. The current list is in the Privacy Policy. |\n| “Asistență pentru îndeplinirea obligațiilor dvs.” (Assistance with meeting your obligations) | Reasonable assistance, as far as the hosting infrastructure allows, with security (Art. 32), incident notification (Art. 33–34), impact assessment (Art. 35) and your end users' requests about their rights (Chapter III of Law No. 195/2024). |\n| “Ștergerea sau returnarea datelor la finalul serviciului” (Deletion or return of data at the end of the service) | When the service ends, the hosted data is deleted or returned, as you choose, and any existing copies are removed, unless the law requires them to be kept. |\n| “Audit și informare” (Audit and information) | You receive the information you need to verify compliance with the agreement. Audits, including inspections, take place under reasonable conditions: prior notice, business hours, and a scope that does not compromise the security of other customers. |\n| “Notificarea incidentelor” (Incident notification) | If there is a security breach affecting the data hosted on your service, you are notified without undue delay from the moment BLACKBOX becomes aware of the incident, so that you can meet your obligations as controller (Art. 33–34). |\n\n## What remains your responsibility\n\n- **Backups.** The DPA mentions backup only “dacă este activat de dvs.” (if enabled by you). BLACKBOX does not currently offer an automatic backup service, so make your own copies and keep them off the server: [Backup strategy for your server](#ghiduri.strategie-backup).\n- **Server security.** The measures in the DPA concern the BLACKBOX infrastructure. You manage the operating system, the applications and their updates, with root access: [Securing a new server: checklist](#ghiduri.securizare-server-nou).\n- **Your users' requests and impact assessments.** As the controller, you handle requests from your application's users and any data protection impact assessment (DPIA). BLACKBOX helps with the information it has at the infrastructure level.\n\n## At the end of the service: deletion or return\n\nFor keeping data after termination, the DPA refers to the Terms. The Terms do not give a number of days: after a suspension, data is kept for “o perioadă rezonabilă” (a reasonable period) and may then be permanently deleted. For the exact time frame, contact support.\n\n1. If you want your data back, copy it before the deletion: you have root access to the server ([Transferring files to the server (scp, rsync, SFTP)](#ghiduri.transfer-fisiere)).\n2. If you choose to have BLACKBOX return your data, write to support@blackbox.md before you delete the server or cancel the order.\n3. Delete the server: the “Terminate” button in the app.blackbox.md panel (the deletion is carried out after a 24-hour grace period) or “Anulează comanda” (Cancel the order) on blackbox.md (the server is deleted immediately). Details: [Permanently deleting a server](#servere.stergere-server) and [Closing your BLACKBOX services: the steps in the right order](#cont.inchidere-servicii).\n\n> **Irreversible**\n> Once the server is deleted, its disks and the data on them cannot be recovered, so they cannot be returned either. Copy your data beforehand.\n\n## Frequently asked questions\n\n**Do I have to sign the DPA for it to be valid?**\nNo. Accepting the Terms and activating a service is enough. The signed copy is for cases where your company needs one, for example for its own compliance process.\n\n**Does the DPA also apply to my blackbox.md account data?**\nNo. For account data, Click Expert S.R.L. is the controller and the Privacy Policy applies: [Privacy policy in brief](#legal.confidentialitate).\n\n**Does the BLACKBOX team read the data in my application?**\nUnder the DPA, no: the application's content is accessed only for technical support that you explicitly request or because of a legal obligation. However, the BLACKBOX management key is on the server, and the panel uses it to carry out the actions you request: [BLACKBOX keys on your server](#acces.cheile-blackbox).\n\n**Where can I find the list of sub-processors?**\nThe DPA names FoxCloud as the infrastructure provider. The current list is in the Privacy Policy (`blackbox.md/info/privacy`); the recipients of the data are listed in its “Partajare cu terți” (Sharing with third parties) section.\n\n**How do I request an audit?**\nWrite to support@blackbox.md and describe the purpose and scope of the audit. The audit takes place under the conditions set in the DPA: with prior notice, during business hours and without affecting the security of other customers.\n"
   }
  }
 ]
}