Как подключиться к удаленному серверу Git с помощью SSH KEY + парольной фразы и другого порта через скрипт

у меня есть веб-сервер, прослушивающий SSH через порт 1234. Веб-сервер использует открытый ключ в ~/.ssh/authorized-keys для авторизации. Для подключения через SSH у меня есть закрытый ключ SSH с кодовой фразой на моем локальном компьютере.

теперь я хочу, чтобы этот сервер был удаленным сервером git, поэтому на сервере я создаю голый репозиторий в своем домашнем каталоге с nonRootUser.

mkdir ~/project.git
cd ~/project.git
git init --bare

Теперь на моей локальной машине создайте новый репо.

mkdir myProject
cd myProject
git init
git add .
git commit -m "Initial commit"

ИЗ СЦЕНАРИЯ я хочу настроить удаленный доступ к веб-серверу и нажать на него. И вот тут я застрял

git remote add origin ssh://[email protected]:1234/home/project.git
git push origin master

это вызывает ошибку

Не удалось проверить ключ хоста. фатальный: Не удалось прочитать из удаленного репозитория. Убедитесь, что у вас есть правильные права доступа и репозиторий существует.

Я думаю, что мне все еще нужно добавить фразу-пароль, но не знаю, как. И ошибка все еще позволяет открыть, если я близок к решению или нет, потому что он говорит, что репо существует. заранее спасибо


person Thegabagabor    schedule 22.08.2020    source источник
comment
Вы пытались запустить один раз ssh WebserverDomain.com из командной строки?   -  person LeGEC    schedule 22.08.2020
comment
я могу успешно подключиться по ssh к своему веб-серверу с помощью ssh -p 1234 [email protected] -i /path/to/private/key и ввести запрошенную фразу-пароль   -  person Thegabagabor    schedule 22.08.2020


Ответы (1)


Запустите агент SSH или добавьте ключ к существующему агенту с помощью следующей команды:

ssh-add /path/to/your/key

Вам будет предложено ввести парольную фразу ключа, и она будет автоматически предложена для использования во время аутентификации SSH.

В этой статье есть достойное объяснение того, что такое агент и что он делает, а также некоторые предостережения по его использованию.

https://smallstep.com/blog/ssh-agent-explained/

person Sammitch    schedule 22.08.2020
comment
спасибо, это звучит хорошо. Есть ли способ ввести парольную фразу из скрипта вместо того, чтобы набирать ее вручную? - person Thegabagabor; 22.08.2020
comment
введите кодовую фразу из скрипта: это бессмысленно. Парольная фраза — это ваш секретный код. Если вы собираетесь поместить кодовую фразу в скрипт — вам вообще не нужна кодовая фраза. - person phd; 22.08.2020
comment
я думал о действиях github, там вы можете использовать секреты (я знаю, что они не на 100% безопасны) проблема, когда ssh-add хочет указать парольную фразу - person Thegabagabor; 24.08.2020