SSH Key Quyền cài đặt Chmod?


63

Tôi cần sử dụng SSH trên máy của mình để truy cập trang web và cơ sở dữ liệu của nó (thiết lập một liên kết tượng trưng - nhưng tôi lạc đề).

Vấn đề sau: Tôi nhập lệnh: ssh-keygen -t dsa
Để tạo cặp khóa dsa công khai / riêng tư. Tôi lưu nó trong mặc định ( /home/user/.ssh/id_dsa): Và nhập Enter cụm mật khẩu hai lần

sau đó tôi lấy lại cái này:

CẢNH BÁO: FILE CHÍNH HÃNG KHÔNG GIỚI HẠN!
Quyền 0755 cho '/home/etc.ssh/id_rsa' quá mở. Người khác không nên truy cập các tệp khóa riêng của bạn. Khóa riêng này sẽ bị bỏ qua. quyền xấu: bỏ qua khóa: [sau đó là TẬP TIN trong VAR / LIB / SOMEWHERE]

Bây giờ để làm việc này, tôi đã cố gắng-

sudo chmod 600 ~/.ssh/id_rsa         sudo chmod 600 ~/.ssh/id_rsa.pub    

Nhưng ngay sau khi máy tính của tôi đóng băng - và khi đăng nhập lại thì có một could not find .ICEauthority error. Tôi đã giải quyết vấn đề này - và xóa các tệp SSH nhưng muốn có thể sử dụng các quyền chính xác để tránh các vấn đề này trong tương lai. Tôi nên thiết lập ICEmasterity như thế nào hoặc tôi nên lưu Khóa SSH ở đâu - hoặc họ nên có quyền gì? Sử dụng máy ảo sẽ là tốt nhất?

Đây là tất cả rất mới và tôi đang trên một đường cong học tập rất dốc, vì vậy bất kỳ trợ giúp đánh giá cao.


lỗi chính tả - xin lỗi chỉ một bộ khóa đã được tạo!
crissixpaul

quyền đối với thư mục .ssh cũng quan trọng như quyền hạn chính. Nó phải là 600. Để sửa nó chạy : chmod -R 600 ~/.ssh.
KWubbufetowicz

4
Trên thực tế, quyền của thư mục .ssh cần phải là 700 chứ không phải 600. Quyền thực thi là quyền cho phép bạn truy cập vào những gì bên trong thư mục đó. Vì vậy, các lệnh chính xác phải là chmod 700 $HOME/.sshchmod 600 $HOME/.ssh/id_rsa
MelBurslan

Lỗi về .ICE Tác giả không liên quan đến các chmodlệnh bạn hiển thị. Đó là sự trùng hợp ngẫu nhiên hoặc bạn đã chạy một số lệnh khác mà bạn không hiển thị cho chúng tôi.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


92

chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub(tức là chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub) đúng.

chmod 644 ~/.ssh/id_rsa.pub(tức là chmod a=r,u+w ~/.ssh/id_rsa.pub) cũng sẽ đúng, nhưng chmod 644 ~/.ssh/id_rsa(tức là chmod a=r,u+w ~/.ssh/id_rsa) sẽ không đúng. Khóa công khai của bạn có thể là công khai, điều quan trọng là khóa riêng của bạn là riêng tư.

Ngoài ra, .sshthư mục của bạn phải được ghi chỉ bởi bạn: chmod 700 ~/.sshhoặc chmod u=rwx,go= ~/.ssh. Tất nhiên bạn cần có khả năng đọc nó và truy cập các tập tin trong đó (thực thi quyền). Nó không gây hại trực tiếp nếu người khác có thể đọc nó, nhưng nó cũng không hữu ích.

Bạn không cần sudo. Đừng sử dụng sudođể thao túng các tệp của riêng bạn, điều đó chỉ có thể dẫn đến sai lầm.

Lỗi về .ICEauthoritykhông liên quan đến các chmodlệnh bạn hiển thị. Đó là sự trùng hợp ngẫu nhiên hoặc bạn đã chạy một số lệnh khác mà bạn không hiển thị cho chúng tôi.


Các quyền trên ~ / .ssh / know_host cần phải là gì?
nikc

0

Tôi muốn thêm vào các câu trả lời ở trên mà đối với tôi thư mục chính của tôi ( ~/) cũng cần có các quyền 755, bất kể các quyền ~/.sshvà các tệp trong đó. (Đây là trên NAS Synology, có thể không áp dụng cho tất cả các linux)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.