To communicate with remote repositories, [[- Git Version Control System -|Git]] allows to user either [[HTTP and HTTPS - Hypertext Transfer Protocol|HTTPS]] or [[SSH - Secure Shell|SSH]].
- **HTTPS Authentication**
```shell
https://github.com/your-username/repository.git
```
- Requires [[Git Personal Access Tokens]] regularly
- Easier to set up, works behind corporate firewalls
- Less secure
- **[[SSH - Secure Shell|SSH]] Authentication**
```shell
[email protected]:your-username/repository.git
```
- Uses public-private key instead of password
- Requires generating keys and **adding the public key** to git
- Display key via ``cat ~/.ssh/id_ed25519.pub (or other location)
- Copy this to your Github settings
- May be blocked by corporate networks