0

I need to setup a git server on my cPanel WHM VPS, generate a URL to connect to a repo (I've created a repo on /opt/git/repo.git and configure SourceTree or any other windows visual Git client.

I followed this guide: https://newagesoldier.com/setting-git-cpanel-server/ and setup my repo.

Then I tried to clone it by running this command on my windows console:

git clone git@server.domain.com/opt/git/repository.git

but got this error:

fatal: repository '[URL]' does not exist

I've read tons of posts and questions about this case, but many are really old and others are either not clear or incomplete.

Thanks!

Tomas Gonzalez
  • 1,124
  • 15
  • 33

1 Answers1

1

How to git push/pull using ssh between windows and cpanel linux account.

*Server: Linux: centos/whm/cpanel/ssh account

Dev: Windows7 x64: with C:/cygwin (2016), putty (2015),

[Windows]
> puttygen
  generate and save to ~/.ssh/myprivatekey.ppk
    > save as openssh > myopenssh.key
    > Copy public key mypublickey.txt

[Cpanel]
  Allow ssh access
  Paste mypublickey.txt into cpanel ssh keys,
    Authorize key.

[Check SSH key works]
> ssh -V
  ..2016..
> c:/cygwin/bin/rsync --list-only \
    -e "ssh -i myopenssh.key" \
    "USERNAME@website.org:/home/USERNAME"
  SUCCESS

[Linux]
> putty USERNAME@website.org
  using above myprivatekey.ppk
$ pwd
  /home/USERNAME
$ hostname
  website.org
# Setup git repo on linux
$ git --version  # 1.7... yum update...on linux if you need a new git.    
$ alias git="/usr/local/cpanel/3rdparty/bin/git"    
$ git --version # 2.8...        
$ mkdir ~/repo.git ; cd ~/repo.git ; git init --bare    
  Initialized empty Git repository in /home/USERNAME/repo.git/
$ git config --global user.name "USERNAME"
$ git config --global user.email USERNAME@website.org
$ cd ~ ; git init; git remote add repo repo.git     
$ git add public_html
$ git commit -m "first commit"
$ git push repo master
   SUCCESS

[Windows]
:: **Now clone CPANEL account into xampp**
> cd c:/xampp/htdocs/WEBSITE
> git --version # 2.8...
> git init
> git remote add origin ssh://USERNAME@website.org/home/USERNAME/repo.git
> git pull
  Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
> git config core.sshCommand "ssh -i path/to/openssh.key" 
:: Dont use doublequotes in the next command
> set GIT_SSH_COMMAND=ssh -i path/to/myopenssh.key   
> git pull
  SUCCESS 
:: .. edit .. commit 
> git push
  SUCCESS

Optional setup for windows/cmd/cygwin

> set HOME=c:/users/%USERNAME%
> setx HOME %HOME% -m
> cd /d %HOME%
> mkdir .ssh
:: OR create a hardlink to your .ssh dir
> mklink /D c:/your/.ssh .ssh
> ls -al ~/.ssh/

if windows cygwin64/ssh complains about bad permissions on ~/.ssh/config, use this flag -F ..

> set  GIT_SSH_COMMAND=ssh -F ~/.ssh/config -i path/to/myopenssh.key   
> setx GIT_SSH_COMMAND "ssh -F ~/.ssh/config -i path/to/myopenssh.key" -m
> ssh -F ~/.ssh/config -i path/to/myopenssh.key  
mosh
  • 1,402
  • 15
  • 16