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