Не могу нажать на aws ec2 с моей локальной машины с Ubuntu - PullRequest
0 голосов
/ 24 октября 2018

Я пытался выдвинуть экземпляр aws ec2 с помощью git, но всегда получаю эту ошибку:

error: pack-objects died of signal 13
error: failed to push some refs to ssh://ubuntu@..../..../myrepo.git

что я сделал:

1 - создать git-репозиторий на моем ec2сервер (Ubuntu 18.04)

mkdir myrepo.git
cd myrepo.git
git init --bare

2- на моем локальном компьютере (Ubuntu 16.04):

a - добавить myserverkey.pem в ~ / .ssh /

b- добавить следующее в .ssh / config

Host myserver
Hostname myserverpublicdns
User ubuntu
IdentityFile ~/.ssh/myserverkey.pem

c- в каталоге моего проекта я сделал следующее:

git init
git remote add origin myserver:/~/path/to/myrepo.git
git add .
git commit -m 'test commit'
git push origin master

также я попытался

git remote add origin ssh://ubuntu@myserverpublicdns/home/../path/to/myrepo.git

и выдает ту же ошибку, когда я нажимаю на сервер

Ошибка:

Counting objects: 547, done.
Delta compression using up to 4 threads.
Compressing objects : 100% (530/530), done.
error: pack-objects died of signal 13
error: failed to push some refs to ssh://ubuntu@..../..../myrepo.git

, и я не смог найти никакого решения для своего случая

Обратите внимание, что размер моего проекта составляет всего 4,5 МБ, и я могу подключиться к своему серверу, используя:

ssh myserver

, что означает, что в файле .ssh / config нет ошибок

Так чтоэто проблема ??что я делаю не так ??

Заранее спасибо !!

1 Ответ

0 голосов
/ 24 октября 2018

Разрешение myserver в строках:

git remote add origin myserver:/~/path/to/myrepo.git

может не работать, потому что "myserver" должен быть разрешен вашим файлом / etc / hosts, иначе git не найдет ваш сервер.

Ваша команда ssh работает, потому что ваш файл конфигурации ssh устанавливает связь между myserver и именем хоста экземпляра.

(Если вы не хотите обновлять свою конфигурацию каждый раз, когда вы останавливаете свой экземпляр, настройтеastic-ip в вашем экземпляре)

Вы также должны просмотреть разрешение на доступ к папке, вы подключаетесь к пользователю ubuntu, убедитесь, что оно имеет правильные права в пути к репозиторию git.

DoНЕ устанавливайте 777 прямо на папку, никогда.Вместо этого создайте группу:

groupadd mygitgroup

, затем добавьте пользовательский Ubuntu в эту группу

usermod -aG mygitgroup ubuntu 

установите правильное право на git-репозитории для группы:

chgrp -R mygitgroup /my/git/path

удалить недействительное право

chmod 770 /my/git/path
...