Skip to content
Snippets Groups Projects
Commit 92bc56e0 authored by Rafael László's avatar Rafael László :speech_balloon:
Browse files

remote basics

parent 606bd754
No related branches found
No related tags found
No related merge requests found
...@@ -29,7 +29,12 @@ ...@@ -29,7 +29,12 @@
- Távoli Repository - Távoli Repository
- [Alapok, SSH kulcs](remote/1_basics.md) - [Alapok és SSH kulcs](remote/1_basics.md)
- [Alapok](remote/1_basics.md?id=alapok)
- [SSH](remote/1_basics.md?id=ssh)
- [Saját SSH kulcs](remote/1_basics.md?id=saját-ssh-kulcs)
- [Linuxon / MacOS-en](remote/1_basics.md?id=linuxon-macos-en)
- [Windowson](remote/1_basics.md?id=windowson)
- [Github](remote/2_github.md) - [Github](remote/2_github.md)
- [Issue, merge request, Fork](remote/3_issue_merge_fork.md) - [Issue, merge request, Fork](remote/3_issue_merge_fork.md)
......
# Alapok, SSH kulcs # Alapok és SSH kulcs
### Alapok
Hogyan lehet a mi `.git` mappánkat megosztani a nagyvilággal?
Több módja is van ennek, például akár egy .git mappát
is lelehet magunkhoz klónozni.
A `git clone <elérési út>` parancsot használjuk ahhoz, hogy
valahonnan lehúzzunk egy git repo-t.
Ha például csak egy mappára utalunk, aminek a neve
`awesome_project.git`:
```
$ git clone --bare awesome_project awesome_project.git
Cloning into bare repository 'awesome_project.git'...
done.
```
Ezt akár kirakhatjuk egy fájlszerverre és onnan megoszthatnánk.
Következő szint, mikor weben keresztül szedjük le a nekünk
kellő repo-t. Ilyenkor HTTP protokollt használhatunk,
ami hasonló az előzőhöz és olyan, mint mikor egy fájlt
töltünk le egy oldalról.
```
$ git clone https://github.com/rlacko58/git-presentation.git
Cloning into 'git-presentation'...
remote: Enumerating objects: 173, done.
remote: Counting objects: 100% (173/173), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 173 (delta 65), reused 155 (delta 47), pack-reused 0
Receiving objects: 100% (173/173), 291.34 KiB | 1.22 MiB/s, done.
Resolving deltas: 100% (65/65), done.
```
Ez szimplán fogja és készít nekünk egy olyan repository-t, mint
amit az előzőkben csináltunk kézzel.
Lemásolja a .git mappát, majd pedig onnan kiszedi a megfelelő
dolgokat a mi `work tree`-nkbe.
### SSH
Másik protokoll amit tudunk használni az az SSH.
Ez azért nagyon jó, mert ha ezen keresztül szedünk le,
akkor nem kell minden alkalommal a github, gitlab
felhasználónkba belépnünk egy repo-n való dolgozáskor.
Ahhoz, hogy ilyet tudjunk csinálni viszont SSH kulcsot kell
készítenünk.
Ennek annyi a trükkje, hogy rakunk a saját gépünkre egy
privát kulcsot és a távoli szerverre egy publikus kulcsot,
vagy bárhova ahova szeretnénk.
Ezután mikor az adott szerverre felakarunk menni, valamit
csinálni ott, akkor előtte a szerver leauthentikál minket
és egy kulcs csere után elkezdhetünk vele kommunikálni.
Az authentikáció lépése nagy vonalakban:
- Szerver publikus kulcsal letitkosít valamit és elküldi nekünk
- Ezt amit elküld csak a privát kulccsal lehet kibontani,
ezt mi elvégezzük
- A kibontott adatok közt lesz egy másik kulcs, mellyel
titkosítva elküldjük a szervernek ami kell az authentikációhoz
- A szerver kibontja, látja hogy minden oké és
megtörténik a kulcs csere
Ezután áttérnek egy másik módszerre amihez már mindkét oldalt
megvan a megfelelő kulcs és titkosítva küldik egymásnak
az adatokat
Nagyon király dolog, mivel gyors, hatékony és nem kell
jelszót beírogatni minden művelet közt
#### Saját SSH kulcs
###### Linuxon / MacOS-en
1. Terminált megnyitjuk
2. Generálunk egy SSH kulcsot
`ssh-keygen -t rsa -b 4096`
3. Alapértelmezett helyre mentjük
4. Megadunk egy jelszót ha szeretnénk
_Ha valaki megszerzi a privát kulcsunk nem tudja használni
a jelszó beírása nélkül_
Adjuk hozzá az SSH agent-ünkhöz.
1. Elindítjuk az agent-et ha még nem ment volna
`$ eval "$(ssh-agent -s)"`
`Agent pid 59566`
2. Hozzáadjuk az új kulcsunk
`ssh-add ~/.ssh/id_rsa`
Végezetül a publikus kulcsot feltöltjük például githubra
A publikus kulcs helye: `~/ssh/id_rsa.pub`
###### Windowson
1. Git Bash-t megnyitjuk
2. Generálunk egy kulcsot
`ssh-keygen -t rsa -b 4096`
3. Elmentjük az alapértelmezett helyre
4. Jelszó adunk hozzá ha szeretnénk
Hozzá adjuk az SSH agent-ünkhöz
1. Elindítjuk az agent-et ha még nem ment volna
`$ eval $(ssh-agent -s)`
`> Agent pid 59566`
2. Hozzáadjuk az új kulcsunk
`ssh-add ~/.ssh/id_rsa`
Végezetül a publikus kulcsot feltöltjük például githubra
A publikus kulcs helye: `~/ssh/id_rsa.pub`
Forrás: [docs.github.com](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
[Előző](workshop/3_branch?id=branch-ek-elágazás) |
[Következő](remote/2_github)
...@@ -487,4 +487,4 @@ Elég csak pár karakter, hogy beazonosítsunk ...@@ -487,4 +487,4 @@ Elég csak pár karakter, hogy beazonosítsunk
például egy commitot a hash-ével. például egy commitot a hash-ével.
[Előző](workshop/1_installation?id=telepítés-és-konfiguráció) | [Előző](workshop/1_installation?id=telepítés-és-konfiguráció) |
[Következő](workshop/3_branch) [Következő](workshop/3_branch?id=branch-ek-elágazás)
...@@ -475,4 +475,4 @@ megoldani. ...@@ -475,4 +475,4 @@ megoldani.
Semmi extra effortot nem fog igényelni egy hasonló elvégzése. Semmi extra effortot nem fog igényelni egy hasonló elvégzése.
[Előző](workshop/2_basics?id=alapok) | [Előző](workshop/2_basics?id=alapok) |
[Következő](remote/1_basics) [Következő](remote/1_basics?id=alapok-és-ssh-kulcs)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment