Не могу нажать на aws ec2 с моей локальной машины с Ubuntu
Я пытался нажать на экземпляр aws ec2 с помощью git, но всегда получаю эту ошибку:
error: pack-objects died of signal 13
error: failed to push some refs to ssh://ubuntu@..../..../myrepo.git
что я сделал:
1 - создать репозиторий git bare на моем сервере ec2 (ubuntu 18.04)
mkdir myrepo.git
cd myrepo.git
git init --bare
2- в моей локальной машине (Ubuntu 16.04):
a- добавить myserverkey.pem в ~/.ssh/
б- добавить следующее в.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 ответ
Разрешение myserver в строках:
git remote add origin myserver:/~/path/to/myrepo.git
может не работать, потому что "myserver" должен быть разрешен вашим файлом /etc/hosts, иначе git не найдет ваш сервер.
Ваша команда ssh работает, потому что ваш конфигурационный файл ssh устанавливает связь между myserver и именем хоста экземпляра.
(Если вы не хотите обновлять свою конфигурацию каждый раз, когда вы останавливаете свой экземпляр, установите эластичный ip на своем экземпляре)
Вы также должны взглянуть на разрешение папки, вы подключаетесь к пользователю Ubuntu, убедитесь, что оно имеет правильное право на путь к репозиторию git.
НЕ устанавливайте 777 прямо на папку, никогда. Вместо этого создайте группу:
groupadd mygitgroup
затем добавьте пользователя Ubuntu в эту группу
usermod -aG mygitgroup ubuntu
установите правильное право на git reposity для группы:
chgrp -R mygitgroup /my/git/path
удалить недействительное право
chmod 770 /my/git/path