-
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
.pub
torepo-name.deploy.pem
- Save
.pub
file content to your local client for use later - Move
.pem
key to~/.ssh/
or suitable location - Change key file permission:
sudo chmod 400 repo-name.deploy.pem
- Create ssh-config file
- Navigate to
~/.ssh
andtouch config
set 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.
.pub
to 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.git
or 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