Setup SSH pentru Claude Code de la zero — în 5 pași clari
SSH e poarta prin care Claude Code intră pe serverul tău. Dacă te-ai blocat la "Permission denied (publickey)", articolul ăsta e pentru tine.
Dacă vrei să folosești Claude Code pe un server (la aihost.md sau oriunde altundeva), prima barieră e SSH. Și prima eroare pe care o să o vezi e Permission denied (publickey). Frustrant, dar simplu de rezolvat odată ce înțelegi cum funcționează.
Cum funcționează SSH în 30 de secunde
SSH e un protocol care îți permite să te loghezi pe un computer la distanță. În loc de parolă, folosește o pereche de chei criptografice — una privată (care stă pe laptopul tău și nu trebuie să iasă de acolo niciodată) și una publică (pe care o pui pe server). Când te conectezi, serverul verifică matematic că deții cheia privată corespondentă. Dacă da — intri. Dacă nu — Permission denied.
Pasul 1 — verifică dacă ai deja chei
Probabil n-ai. Dar verifică:
ls -la ~/.ssh/
Dacă vezi id_ed25519 și id_ed25519.pub, ai deja o pereche. Poți sări la pasul 3. Dacă vezi doar id_rsa (algoritm mai vechi), recomand să generezi una nouă pe ed25519 — e mai sigură și serverele moderne (inclusiv aihost) preferă acest algoritm.
Pasul 2 — generează o cheie nouă
ssh-keygen -t ed25519 -C "email@tau.md" -f ~/.ssh/id_ed25519_aihost
Comanda asta produce 2 fișiere:
~/.ssh/id_ed25519_aihost— cheia privată (NU o trimite niciodată nimănui)~/.ssh/id_ed25519_aihost.pub— cheia publică (asta o pui pe server)
Te va întreba o "passphrase" — opțional. Dacă pui una, de fiecare dată când te conectezi va trebui să o tastezi (sau să folosești ssh-agent ca să o ții memorată în sesiune). Pentru începători, las-o goală — apeși Enter de două ori.
Pasul 3 — copiază cheia publică
cat ~/.ssh/id_ed25519_aihost.pub
Vei vedea o linie lungă care începe cu ssh-ed25519 AAAAC3... și se termină cu emailul tău. Copie totul, de la ssh-ed25519 până la sfârșit.
Pasul 4 — adaug-o pe server
Pe aihost.md, în dashboard ai un câmp "SSH key" unde lipești cheia publică. La alți providers, poți avea acces direct la ~/.ssh/authorized_keys de pe server și o adaugi acolo.
Cheile publice se acumulează în authorized_keys — un fișier text simplu cu o cheie per linie. Poți avea oricâte chei (de la mai multe laptopuri, de la coleg, de la build server, etc).
Pasul 5 — testează conexiunea
ssh -i ~/.ssh/id_ed25519_aihost username@aihost.md
Dacă totul e ok, intri în shell-ul de pe server. Dacă nu:
- "Permission denied (publickey)" — ori cheia publică nu e adăugată pe server, ori ai folosit cheia privată greșită cu
-i, ori user-ul nu există. - "Connection refused" — serverul nu rulează SSH, sau e firewall-uit. Asta NU e o problemă cu cheia ta.
- "Host key verification failed" — apare la prima conectare, scrii "yes" și mergi mai departe.
Bonus — alias în SSH config
Ca să nu mai tastezi tot lanțul de fiecare dată, editează ~/.ssh/config:
Host aihost
HostName aihost.md
User username
IdentityFile ~/.ssh/id_ed25519_aihost
Acum te conectezi cu ssh aihost. Atât. Și Claude Code va folosi același config automat.
Recap: generezi cheia → copii partea publică pe server → testezi cu ssh -i ~/.ssh/id_ed25519_aihost user@host → adaugi alias în SSH config. Total: 5 minute prima dată, niciodată după.