Một thùng chứa Linux có thể sử dụng tệp ủy quyền bên ngoài thư mục nhà của tôi, nhưng các thùng chứa phù du dựa trên nó thì không thể. Tại sao?


10

Trong Ubuntu 12.10, tôi đã tạo một LXC loại 'ub Ubuntu' bằng tiện ích tạo lxc. Sau đó, tôi tạo các thùng chứa phù du dựa trên thùng chứa này bằng tiện ích lxc-start-ephemeral và tôi cần kết nối với những thùng chứa sử dụng ssh không có mật khẩu. Tuy nhiên, tôi cần giữ nguyên các thư mục / home / ub Ubuntu của họ, vì vậy tôi không thể đặt tệp .ssh / ủy quyền thông thường vào đó.

Phần 'thư mục nhà được mã hóa' ở đây cho tôi biết cách di chuyển ủy quyền ra khỏi thư mục chính. Sau khi tôi làm theo các hướng dẫn từ bên trong thùng chứa cơ sở, tôi có thể ssh vào thùng chứa cơ sở mà không cần cung cấp mật khẩu.

Tuy nhiên, khi tôi khởi chạy một thùng chứa phù du từ thùng chứa cơ sở, tôi không thể ssh in mà không có mật khẩu. (Thật khó hiểu, ssh không mật khẩu cho thùng chứa phù du không hoạt động khi ủy quyền ở vị trí thông thường trong /home/ubfox/.ssh.) Làm cách nào để khắc phục điều này?

Đây là những gì ssh -v đã nói, bắt đầu từ khi nó chấp nhận khóa máy chủ:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Next authentication method: password

Dưới đây là các phần có liên quan của /var/log/auth.log trên thùng chứa phù du:

Apr 11 00:06:52 test-temp-SNeWevO sshd[306]: Authentication refused: bad ownership or modes for directory /
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: Accepted password for ubuntu from 10.0.3.1 port 59677 ssh2
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_env(sshd:setcred): Unable to open env file: /etc/default/locale: No such file or directory
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

Tôi đã thực hiện thử nghiệm này trên một cá thể vi AWS mới dựa trên Ubuntu 12.10 AMI tiêu chuẩn và có thể cung cấp hướng dẫn chi tiết về cách tái tạo nó nếu điều đó có ích.


Cập nhật: Tôi nghĩ rằng vấn đề có thể là các hệ thống tập tin kỳ lạ lxc-start-ephemeral sử dụng, vì vậy tôi đã thực hiện một số thay đổi. Lần đầu tiên tôi đã dừng TOTLAY_DIR và EPHEMITH_BIND_DIR để trở thành tmpfs, bây giờ chúng chỉ là các thư mục. Điều đó đã không sửa chữa nó. Sau đó, tôi đã thay đổi hệ thống tập tin gốc của bộ chứa phù du từ một lớp phủ thành một liên kết đơn giản. Điều đó đã sửa chữa nó. Thật không may, điều đó không giải quyết được vấn đề của tôi, vì tôi cần lớp phủ.
Anand

Câu trả lời:


1

Đây là một câu hỏi cũ nhưng nó vẫn xuất hiện trong google ...

Authentication refused: bad ownership or modes for directory /

được gây ra bởi dịch vụ sshd có các yêu cầu cấp phép nghiêm ngặt cho thư mục chứa ủy quyền được tìm thấy, không chắc chắn cách bạn quản lý để làm cho thư mục gốc (/) có thể phải làm gì đó với cách cấu hình các thùng chứa của bạn.

Nếu bạn không thể thay đổi quyền của /, có vẻ như trong trường hợp này, bạn có thể đặt

StrictModes no

trong sshd_config.
Miễn là bạn không có nhiều người dùng truy cập vào máy chủ, việc này ít ảnh hưởng đến bảo mật.

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.