Acces SSH și chei SSH prin asistentul AI
Cum obține asistentul acces SSH direct, cum gestionează cheile din cont și de pe server și ce protecții există.
Pe această pagină
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.
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.
Uneltele și permisiunile necesare
| Unealtă | Ce face | Permisiune | Limită |
|---|---|---|---|
get_server_ssh_access |
emite cheia agentului și datele de conectare SSH | servers:credentials |
10 în 5 minute |
list_ssh_keys |
arată cheile salvate în cont | ssh_keys:read |
30 pe minut |
add_ssh_key |
salvează o cheie publică în cont | ssh_keys:write |
10 pe oră |
delete_ssh_key |
șterge o cheie din cont | ssh_keys:write |
20 pe oră |
add_server_ssh_key |
instalează o cheie pe server | servers:credentials |
10 în 5 minute |
list_server_ssh_keys |
arată cheile instalate pe server | servers:credentials |
30 pe minut |
remove_server_ssh_key |
șterge o cheie de pe server | servers:credentials |
10 în 5 minute |
set_server_password_auth |
activează sau dezactivează autentificarea SSH cu parolă | servers:credentials |
5 în 5 minute |
- 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). - 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.
Accesul SSH direct pentru asistent
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.
Cereți asistentului, de exemplu: „Dă-mi acces SSH la serverul
IP_SERVER, vreau să copiez fișiere cu rsync.”Asistentul apelează
get_server_ssh_access. Clientul AI vă poate cere să aprobați apelul.Răspunsul conține:
Câmp Conținut host,port,usernameadresa IP a serverului, portul SSH și utilizatorul rootprivate_keypartea privată a cheii, în format OpenSSH, fără parolă de protecție public_key,fingerprintlinia publică ssh-ed25519 … blackbox-agent-…și amprentaSHA256:…ssh_commandcomanda gata de folosit, ssh -i <keyfile> -p PORT root@IP; în locul<keyfile>puneți calea fișierului cu cheiacreated,rotated,previous_key_removeddacă cheia a fost creată acum, dacă a fost înlocuită și dacă cea veche a fost ștearsă
- 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.
- Pe un server există o singură cheie de agent, comună pentru toate token-urile dvs.
- Cu
regenerate=truese 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 cheiablackbox-agent-…a cărei amprentă diferă de cea din răspuns.
Pentru comenzi obișnuite asistentul nu are nevoie de cheie: folosește run_server_command (Rularea comenzilor pe server prin AI). 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.
Cum folosiți cheia agentului din terminalul dvs.
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ă.
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ăspundeinvalid format.Pe macOS și Linux, restrângeți drepturile fișierului și conectați-vă:
chmod 600 ~/.ssh/blackbox_agent ssh -i ~/.ssh/blackbox_agent -p 22 root@IP_SERVERPe 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 cuUNPROTECTED PRIVATE KEY FILE), apoi conectați-vă:icacls $env:USERPROFILE\.ssh\blackbox_agent /inheritance:r /grant:r "$($env:USERNAME):(R)" ssh -i $env:USERPROFILE\.ssh\blackbox_agent -p 22 root@IP_SERVER
Copierea fișierelor cu aceeași cheie:
rsync -avz -e "ssh -i ~/.ssh/blackbox_agent" ./site/ root@IP_SERVER:/var/www/site/
scp -i ~/.ssh/blackbox_agent backup.tar.gz root@IP_SERVER:/root/Detalii: Transferul fișierelor pe server (scp, rsync, SFTP). Pentru accesul dvs. permanent instalați propria cheie: cheia agentului poate fi înlocuită oricând de un asistent, cu regenerate=true.
Cheile din cont
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)):
- cel mult 20 de chei pe cont (altfel
too_many_keys); - 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.comsausk-ecdsa-sha2-nistp256@openssh.com(altfelinvalid_public_key,unsupported_key_typesaukey_too_weak); - nume obligatoriu, pe un singur rând, de cel mult 80 de caractere;
- o cheie privată este refuzată (
private_key_submitted), la fel ca o cheie deja salvată (duplicate_key).
Exemplu: „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.
Cheile de pe server
Aceste 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).
| Unealtă | Ce transmite asistentul | Rezultat |
|---|---|---|
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) |
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) |
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ă) |
set_server_password_auth |
enabled=false sau enabled=true |
starea aplicată, effective: no sau yes |
- O cheie lipită se instalează doar pe acel server și nu se salvează în cont.
set_server_password_authface 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ă). Cereți asistentului să folosească această unealtă, nu să editezesshd_configprin comenzi.
Exemple: „Instalează cheia «Laptop birou» pe serverul IP_SERVER.”, „Ce chei SSH sunt instalate pe serverul IP_SERVER?”
Protecții împotriva blocării accesului
| Situația | Eroarea | Rezultat |
|---|---|---|
| ștergerea cheii de administrare | management_key_protected |
refuzată întotdeauna, ca și în panou |
| pe un server al companiei: ștergerea unei chei administrate de BLACKBOX | key_managed |
refuzată; pentru modificări, scrieți-ne |
| ș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ă |
| 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 |
| altă modificare a cheilor rulează deja pe același server | operation_in_progress |
refuzată; reîncercați peste un minut |
Asistentul 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.
Important 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).
Cum revocați accesul SSH al asistentului
Securitate Cheia privată primită de la
get_server_ssh_accessdă accesroot: 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.
- Revocați token-urile pe care nu le mai folosiți: „Contul meu” → „Token-uri API” → „Revocă” (Token-uri API: creare, copiere și revocare). Altfel, orice token cu
servers:credentialspoate reinstala cheia la următorul apel. - Ș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.). - Dacă asistentul mai are nevoie de acces SSH, cereți-i o cheie nouă cu
regenerate=true. Un apel fărăregeneratear pune la loc cheia veche.
Erori frecvente
| Eroarea | Ce înseamnă | Ce faceți |
|---|---|---|
missing_scope: this token does not have '…' |
token-ul nu are permisiunea necesară | creați un token nou cu permisiunea numită în eroare |
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 |
rate_limited |
ați depășit limita uneltei | așteptați să treacă intervalul din tabelul de mai sus (cel mult o oră) |
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 |
Lista completă: Limite și coduri de eroare MCP.
Întrebări frecvente
De ce asistentul spune că nu are unealta get_server_ssh_access?
Token-ul nu are permisiunea „Vizualizează parolele/accesul serverelor” (servers:credentials). Permisiunile nu se pot adăuga unui token existent: creați un token nou.
Am șters cheia agentului din panou și a apărut din nou. De ce?
Un 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.
Accesul prin asistent funcționează pe un server „Doar cheie”? Da. Cheia agentului se instalează prin conexiunea de administrare BLACKBOX, iar conectarea cu cheie funcționează și când autentificarea cu parolă este dezactivată.