У меня есть публичное репо, https://github.com/rlpowell/config. Раньше я мог запускать git pull без каких-либо ssh-ключей (т.е. От cron), и он работает нормально, используя URL-адрес git @github.com: rlpowell/config.git(т.е. URL SSH). Это больше не работает, и я понятия не имею, почему, но он работает для двух моих друзей.
Я хотел бы иметь возможность git вытащить публичное репо без ключа ssh или, по крайней мере, понять, почему он не работает для меня и делает для других людей.
Здесь друг пытается мой тестовый пример:
$ git clone [email protected]:rlpowell/config.git ; cd config ; (unset SSH_AUTH_SOCK ; ssh-add -l ; git pull )
Cloning into 'config'...
Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
remote: Counting objects: 1061, done.
remote: Total 1061 (delta 0), reused 0 (delta 0), pack-reused 1061
Receiving objects: 100% (1061/1061), 544.42 KiB | 495.00 KiB/s, done.
Resolving deltas: 100% (632/632), done.
Checking connectivity... done.
Could not open a connection to your authentication agent.
Already up-to-date.
И здесь я делаю то же самое:
$ git clone [email protected]:rlpowell/config.git ; cd config ; (unset SSH_AUTH_SOCK ; ssh-add -l ; git pull )
Cloning into 'config'...
remote: Counting objects: 1061, done.
remote: Total 1061 (delta 0), reused 0 (delta 0), pack-reused 1061
Receiving objects: 100% (1061/1061), 544.42 KiB | 0 bytes/s, done.
Resolving deltas: 100% (632/632), done.
Checking connectivity... done.
Could not open a connection to your authentication agent.
Enter passphrase for key '/home/rlpowell/.ssh/id_rsa':
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
(я нажимаю enter в командной строке ssh key).
В репо,.git/config:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = [email protected]:rlpowell/config.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
И git config -l:
$ git config -l
[email protected]
user.name=Robin Lee Powell
push.default=matching
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
[email protected]:rlpowell/config.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
git версия 2.5.5
strace говорит, что вещь, на самом деле работающая ssh,
ssh [email protected] git-upload-pack 'rlpowell/config.git'