-
Create GitHub repository in github and save the SSH repository url
-
Init git on server in code directory
git init
- Create SSH keys on the server
ssh-keygen -t rsa -b 4096 -C [email protected]- Rename the key that doesn't end with
.pubtorepo-name.deploy.pem - Save
.pubfile content to your local client for use later - Move
.pemkey to~/.ssh/or suitable location - Change key file permission:
sudo chmod 400 repo-name.deploy.pem
- Create ssh-config file
- Navigate to
~/.sshandtouch configset permissionsudo chmod 644 config - Add entry in config file
Host gitreponame
Hostname github.com
IdentityFile ~/.ssh/repo-name.deploy.pem
-
Add the content from the public key file i.e.
.pubto your github repository,settings > deploy keys > Add deploy keys -
Set the remote git repository url on the server for the initalized git repo
git remote add origin git@gitreponame:organization-name/repo-name.gitor if already existinggit remote set-url origin git@gitreponame:organization-name/repo-name.git- test with:
git remote -v
- Add files to commit and push them to the master branch
git add .git commit -m 'root commit'git push -u origin master
Could you please explain why do we need to setup SSH deploy keys? I did create them and then added them to my GitHub Account, because I needed access to GitHub from my IntelliJ. So my understanding is - the SSH deploy keys are needed if I need to access the GitHub from IntelliJ or another specific environment ??? Thank you