Разрешения Git отличаются от папки к папке? - PullRequest
0 голосов
/ 24 августа 2018

Я использую Ubuntu 18.04.1, и я хочу получить код из Github. Я могу сделать это успешно в / home / me / project. Я добавил репо через

git remote add origin git@github.com/XXXXXXX

и все работает нормально, когда я тяну код.

Однако, когда я захожу в / var / www / vhosts / project, я все еще могу добавить удаленный источник, но когда я пытаюсь получить код, я получаю ошибку разрешения:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Чем отличается один каталог от другого?

** ОБНОВЛЕНИЕ **

Вот вывод журнала после запуска: sudo GIT_SSH_COMMAND = "ssh -v" git fetch

OpenSSH_7.6p1 Ubuntu-4, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to github.com [xxx.xx.xxx.xxx] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4
debug1: Remote protocol version 2.0, remote software version libssh_0.7.0
debug1: no match: libssh_0.7.0
debug1: Authenticating to github.com:22 as 'git'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-rsa SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ed25519
debug1: No more authentication methods to try.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

1 Ответ

0 голосов
/ 24 августа 2018

Попробовать закрытый ключ: /root/.ssh/id_rsa

Это наводит меня на мысль, что вы запускаете команды git с sudo в /var/www/vhosts/project. Когда вы делаете это, вы временно запускаете программы как root. Поэтому Ubuntu ищет ssh-ключи в домашнем каталоге root /root/.ssh/. Вот почему вы получаете разные ответы от сервера GitHub. У вашего пользователя root нет настроенного ключа SSH для вашей учетной записи GitHub.

Чтобы устранить проблему, у вас есть несколько вариантов:

  1. Создайте ключ SSH в /root/.ssh/ и загрузите открытый ключ в свою учетную запись GitHub.

  2. Скопируйте свой закрытый ключ из /home/me/.ssh/ в /root/.ssh/.

  3. Измените разрешения для каталога /var/www/vhosts/project, чтобы вам не приходилось использовать sudo для запуска git.

...