Tôi có một máy chủ git phát triển triển khai đến một máy chủ trực tiếp khi live
chi nhánh được đẩy tới. Mỗi người dùng có thông tin đăng nhập riêng của họ và do đó, post-receive
hook mà việc triển khai trực tiếp được chạy dưới chính người dùng của họ.
Vì tôi không muốn duy trì khóa công khai của người dùng dưới dạng khóa được ủy quyền trên máy chủ trực tiếp từ xa, tôi đã tạo một bộ khóa thuộc hệ thống git để thêm vào máy chủ trực tiếp từ xa (Trong post-receive
hook tôi đang sử dụng $GIT_SSH
để đặt khóa riêng với -i
tùy chọn).
Vấn đề của tôi là bởi vì tất cả người dùng có thể muốn triển khai để tồn tại, khóa riêng của hệ thống git phải có ít nhất là nhóm có thể đọc được và SSH thực sự không thích điều này.
Đây là một mẫu lỗi:
XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
Tôi đã nhìn xung quanh để mong tìm thấy thứ gì đó theo cách buộc ssh chỉ đi qua kết nối nhưng tôi không tìm thấy gì ngoài việc mọi người nói một cách mù quáng rằng bạn chỉ không nên cho phép truy cập vào bất cứ thứ gì ngoại trừ một người dùng.