2013-01-20 29 views
8

Tôi gặp sự cố lạ khi sao chép kho lưu trữ git từ máy chủ amazon ec2. Nó hoạt động mà không cần bất kỳ vấn đề trên một trong những máy tính của tôi chạy ubuntu 12.04, trong khi vào nhau bằng 12.10 nó mang lại cho tôi một lỗi:.ssh cấu hình với amazon ec2 và git

ssh: Could not resolve hostname ec2server: Name or service not known 
fatal: The remote end hung up unexpectedly 

Nó giống như nó không được công nhận tập tin cấu hình của tôi. Tôi sử dụng lệnh git sau đây để sao chép:.

sudo git clone ec2server:/var/www/project.git 

hoặc

sudo git clone ec2xxx.compute-1.amazonaws.com:/var/www/project.git 

Hai tập tin cấu hình giống hệt nhau trên cả hai máy tính, bên trong ~/ssh với nội dung sau:

Host ec2server 
    Hostname ec2XXX.compute-1.amazonaws.com 
    User ubuntu 
    IdentityFile ~/.ssh/mykey.pem 

Nếu tôi thay thế máy chủ ec2 bằng địa chỉ thực tế, tôi nhận được lỗi sau:

Cloning into 'project'... 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

Xin cảm ơn trước.

Trả lời

5

Gần đây tôi phải cài đặt lại hệ thống giữ cấu hình hoạt động và không quản lý được, vì vậy không phải về phiên bản Linux (rất có thể). Những gì tôi quản lý để làm, là tôi quản lý để sử dụng kịch bản gốc đã đề cập để sao chép kho lưu trữ vào thư mục chính của tôi. Ở đây nó lấy tên chính xác, nhưng nếu tôi điều hướng vào/var/www, những gì tôi đã làm trước đây, nó chỉ cho tôi cùng một lỗi: có thể ec2server không tìm thấy ....Vì vậy, tôi con số vấn đề đã làm điều gì đó với sự cho phép + lệnh kết hợp. Nếu bất cứ ai có thể tìm ra cách để nó hoạt động, tôi sẽ đánh dấu phản ứng của anh ta là câu trả lời đúng, cho đến lúc đó tôi đánh dấu tôi là câu trả lời đúng, vì đây là câu trả lời gần nhất.

CẬP NHẬT

I figured it out vấn đề là gì: Tôi đã phải thay đổi sự cho phép bật/var thư mục/www để có thể nhân bản vào thư mục đó. Bây giờ nó là 777 (chỉ được sử dụng cho dev trên một máy địa phương).

+0

Âm thanh tốt và phù hợp với bạn, vì vậy +1. Câu trả lời của tôi không đủ cụ thể. – VonC

5

Thông thường, đây là sự cố về quyền.
chmod trên thư mục mẹ của tệp cấu hình của bạn có thể khác nhau giữa hai máy tính của bạn.
(và tôi không nói về chỉ là thư mục cha ngay lập tức .ssh, mà còn tất cả các thư mục mẹ)

Xem "Git SSH authentication", nhưng cũng biết rằng nếu bất kỳ của các thư mục mẹ là ghi cho nhóm hoặc thế giới , ssh sẽ không hoạt động.


Cũng lưu ý rằng lệnh thứ hai của bạn là không đúng, và nên là:

git clone [email protected]/var/www/project.git 

không ':' (một ':' có nghĩa là sử dụng một tập tin config, với scp -like cú pháp)

chỉ có thể hoạt động nếu bạn có ~/.ssh/id_rsa~/.ssh/id_rsa.pub.
Nếu bạn có mykey.pem, sau đó bạn cần một file config cho ssh để biết được nơi là chìa khóa công cộng và tư nhân của bạn, có nghĩa là chỉ có thể làm việc này:

git clone ec2server:/var/www/project.git 

Một chack khác (sau this thread và điều này forum) là để kiểm tra xem có bất kỳ vấn đề DNS/DHCP nào (giống như trong "Working with git behind a dynamic DNS") hay không.

Host ec2server 
    Hostname 1xx.xxx.xxx.xxx # ip address of ec2XXX.compute-1.amazonaws.com 
    User ubuntu 
    IdentityFile ~/.ssh/mykey.pem 
+0

Nhưng thư mục parrent là thư mục chính – Pio

+0

@Pio Bạn có nghĩa là tệp 'config' của bạn trong'/home/yourLogin', thay vì '/ home/yourLogin/.ssh'? – VonC

+0

@Pio xem http://stackoverflow.com/a/10042145/6309 hoặc http://stackoverflow.com/a/8172628/6309 để biết ví dụ về tệp cấu hình cho ssh. – VonC

Các vấn đề liên quan