При подключении через SSH к серверу можно получить данные из GitHub, но не при локальном запуске ssh $SERVER bash $REMOTE_SCRIPT_PATH
.
Локальные ключи добавляются как на сервере, так и на GitHub, но локальный компьютер имеетдругие ключи к GitHub, чем сервер. Тем не менее, обоим предоставлен доступ.
В чем отличие от ручного ввода команд git после ssh user@ip
и указания SSH запустить скрипт bash на удаленном сервере? Или что мне здесь не хватает?
local_script.sh
SERVER=user@ip
REMOTE_SCRIPT_PATH=/home/user/remote_script.sh
function run()
{
echo "Running: $@"
"$@"
}
echo "---- Running deployment script on remote server ----"
run ssh $SERVER bash $REMOTE_SCRIPT_PATH
remote_script.sh
APP_DIR=/home/user/gitfolder
echo "---- Remote script ----"
cd $APP_DIR/
git pull
Терминал
$ ./local_script.sh
---- Running deployment script on remote server ----
Running: ssh user@ip bash /home/user/remote_script.sh
---- Remote script ----
+ cd /home/user/
+ git pull 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.
Если я подключаюсь к серверу через SSH и просто набираю "git pull", все в порядке.