Я использую Raspbian.

Я успешно добавил ключ и могу клонировать частное репо с помощью ssh auth вручную, используя команду git clone git@github.com:USER/repo.git.

Вот как я это настроил:

ssh-keygen -t rsa -b 4096 -C “email”
eval "$(ssh-agent -s)"
ssh-add -k ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

Однако, если я попытаюсь запустить команду git clone через сценарий bash, я получу Permission denied (publickey).

Я запускаю сценарий как «пи» с помощью sudo. Сценарий начинается с #! /bin/bash, а whoami (в сценарии) возвращает root вместо «пи».

Может кто-нибудь мне помочь, пожалуйста?

Благодарность!

1
André Luís 27 Ноя 2018 в 00:12

1 ответ

Лучший ответ

SSH пытается прочитать ключи из $HOME/.ssh. Поскольку вы работаете как root, сценарий, скорее всего, не может найти что-либо под /home/root/.ssh.

Исправление? Попробуйте sudo -E, который сохраняет переменные среды. Для получения дополнительной информации обратитесь к sudo (8).

2
Elias Toivanen 26 Ноя 2018 в 21:39