2012-03-09 35 views
10

Tôi đã quét web/SO và đọc một số quyền từ chối plea để được trợ giúp Tôi không thể tìm thấy giải pháp khắc phục sự cố của mình theo cách tôi hiểu..ssh/id_rsa không thành công: quyền bị từ chối

Tôi đang làm theo các hướng dẫn này (Getting Started with Python on Heroku/Cedar). Tất cả mọi thứ đã đi ổn cho đến khi:

[email protected]:~/helloflask$ source venv/bin/activate 
(venv)[email protected]:~/helloflask$ git push heroku master 

The authenticity of host 'heroku.com (50.19.85.132)' can't be established. 
RSA key fingerprint is ##:##:##:##:##:##:##:##:##:##:##:## (I replaced with #) 
Are you sure you want to continue connecting (yes/no)? yes 
Failed to add the host to the list of known hosts (/home/drewverlee/.ssh/known_hosts). 
Permission denied (publickey). 
fatal: The remote end hung up unexpectedly 

(Không chắc về an ninh vì vậy tôi thay thế chìa khóa với (#))

Tôi nghĩ rằng nó có thể là vì

drwx------ 2 root  root  1024 2012-03-08 21:26 .ssh 

[email protected]:~$ ssh-keygen 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/drewverlee/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
open /home/drewverlee/.ssh/id_rsa failed: Permission denied. 
Saving the key failed: /home/drewverlee/.ssh/id_rsa. 

Là người có ít kinh nghiệm về những vấn đề này, tôi không chắc chắn cách hoàn tác những gì tôi đã làm một cách an toàn như tôi Tôi đang can thiệp với các công cụ mạnh mẽ. Có lời khuyên nào về những gì đang xảy ra ở đây không? Hãy cho tôi biết nếu tôi cần bao gồm thêm thông tin để giải quyết vấn đề.

+0

@CIRCLE không giống như ý tưởng hay đối với tôi – Phoenix87

Trả lời

34

Bạn nên sở hữu quyền đối với thư mục .ssh trong thư mục của riêng bạn, nhưng trong trường hợp của bạn, nó thuộc sở hữu của thư mục gốc. Hãy thử

cd ~ 
sudo chown drewverlee .ssh 

rồi thử tạo lại khóa và kết nối.

+0

Tôi đã tìm ra cách sở hữu toàn bộ thư mục người dùng của mình khi tôi đọc điều này có thể là điều cần làm hiệu quả. Cám ơn đã chỉ tôi hướng đi đúng. –

+4

Tôi thấy rằng ssh-keygen thích tạo thư mục .ssh. Nếu thư mục đã tồn tại, nó sẽ phát ra một thông báo cho phép bị từ chối bất chấp cấu hình quyền quyền sở hữu được phép. – ddoxey

4

tôi đã cùng một vấn đề trên CentOS 6. Giải quyết nó bằng cách loại bỏ selinux:

sudo yum remove selinux* 

found the answer here

lưu ý: lẽ không phải là một ý tưởng tốt để loại bỏ một cách mù quáng selinux nếu bạn không biết những gì bạn đang làm mặc dù

+0

nó dễ dàng hơn để vô hiệu hóa selinux, thay vì loại bỏ nó bằng cách thay đổi 'SELINUX = disabled' trong'/etc/selinux/config'. Xem [Tài liệu Cenos] (http://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-enable-disable.html) –

+0

[Dừng tắt Selinx] (http://stopdisablingselinux.com /) nó thực sự là một vấn đề selinux, bạn nên khắc phục các bối cảnh bằng cách xem lại nhật ký kiểm tra của mình. –

1

Vì một số lý do, tệp id_rsa trong thư mục ~/.ssh ở chế độ chỉ đọc cho người dùng của tôi (0400). Tôi đã thay đổi điều đó thành read-write (0600) bằng

chmod 0600 id_rsa 

và sau khi tôi rõ ràng là có thể ghi đè lên tệp. Tôi đoán đây là những quyền cao nhất bạn có thể cung cấp cho tệp này, vì những người khác sẽ không có ý nghĩa quá nhiều.

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