Я пытаюсь развернуть репозиторий git на своем сервере. Чтобы сделать это, мне сначала нужно было настроить ssh на моем локальном компьютере и на моем сервере.
для bitbucket я подписался https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html и для pm2 я следил https://keymetrics.io/2014/06/25/ecosystem-json-deploy-and-iterate-faster/
Я создал ключ pub / priv на своем компьютере и на своем сервере. Теперь соединение работает, так как я могу войти на сервер без ввода пароля. Для сервера я выполнил те же самые шаги, но каждый раз, когда я повторно подключаюсь к серверу, я получал ошибку
Agent admitted failure to sign using the key.
Я понял, что ssh-agent был отключен каждый раз, когда я переподключался, и поэтому ssh-add -l
не будет печатать никакого результата. Я добавил в конце .bashrc
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Кажется, что это работает, но мне всегда предлагается ввести кодовую фразу .ssh/id_rsa
что, вероятно, является причиной того, что pm2 deploy production setup
с моей локальной машины возвращается:
Agent admitted failure to sign using the key.
Cloning into '/home/myuser/myproject/source'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
failed to clone
кто-нибудь знает, что я сделал не так?
редактировать: Я нашел отличный ответ: https://unix.stackexchange.com/a/90869 Решил скачать брелок и добавил
eval `keychain --eval id_rsa`
вместо старых 2 команд в мои .bashrc
. Теперь я могу войти на свой сервер без предупреждений или ошибок и ssh-add -l
мой ключ отображается правильно. но на моей локальной машине pm2
команда выдает точно такую же ошибку. Может проблема в другом?
РЕШЕНИЕ
Я просто переделал весь процесс с тем же результатом. Наконец я добавил eval
keychain --eval id_rsa`` в верхней части моей .bashrc
файл. Теперь клонирование работает отлично. Я до сих пор не понимаю, почему позиция в файле имеет значение, но в любом случае ... это работает