Ga naar hoofdinhoud

Online zetten: je project ophalen

Hier bouw je op verder: Een sleutelpaar maken met ssh-keygen

Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.

Je code staat op GitHub. Nu haalt de server hem daar op, net zoals je hem in Ubuntu op je laptop kloonde.

Je project ophalen​

Op de server push je nooit; hij haalt alleen op. Is je repository openbaar, kloon hem dan met het https-adres: ophalen mag dan zonder inloggen. Is hij privé, geef de server dan een eigen sleutel die alleen dit project mag lezen: een deploy key. Je eigen sleutel uit les 8 zet je hier niet neer: die mag al je repositories veranderen.

ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub

Druk bij de vragen op Enter. Een passphrase laat je leeg: de server moet de sleutel kunnen gebruiken als jij er niet bij bent. Zet de publieke sleutel op GitHub bij je repository onder Settings, Deploy keys, en laat Allow write access uit. Kloon daarna met het ssh-adres:

cd ~
git clone git@github.com:sam/gastenboek.git

De eerste keer vraagt ssh of je de vingerafdruk van GitHub vertrouwt; typ yes. Wordt je server ooit gekraakt, dan kan deze sleutel alleen dit ene project lezen, en niets veranderen.

Controlevraag
Je hebt nog een privé repository, quiz. Op de server, met alleen de deploy key van gastenboek, typ je git clone git@github.com:sam/quiz.git. Wat gebeurt er?
Kies wat jij denkt. Bij het goede antwoord zie je de uitleg.

Er gaat iets mis​

Permission denied (publickey) bij git clone​

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Oorzaak: GitHub kent de sleutel van de server niet. De deploy key staat er niet, of bij een andere repository.

Oplossing: kijk op GitHub onder Settings, Deploy keys van deze repository of de sleutel er staat, en of het dezelfde is als cat ~/.ssh/id_ed25519.pub laat zien.

Door naar les 32: Traefik op de server.