Ssh của trình giả lập thiết bị đầu cuối đang cố đọc /data/.ssh thay vì $ HOME / .ssh


7

Khi tôi thử sử dụng ssh của trình giả lập Terminal, tôi nhận được

ssh: Cảnh báo: không tạo được /data/.ssh: Quyền bị từ chối.

hoặc kể từ 2012-08-19:

Không thể tạo thư mục '/ data / ssh_client'.

Nhưng khi tôi gõ:

echo $HOME
/sdcard

Tại sao không kiểm tra ssh /sdcard/.sshhay /sdcard/ssh_data?


3
Đó là một câu hỏi bạn nên hỏi tác giả của ứng dụng giả lập thiết bị đầu cuối.
Robert

@Robert: Gợi ý hay, tôi sẽ thử :-)
Dan

Đã thêm liên kết nguồn và thông tin ... Tôi thấy câu hỏi này hợp pháp, btw. Xem câu trả lời của tôi ...
ce4

Câu trả lời:


3

Điều này không xảy ra khi bạn chạy ssh với quyền root.

/ sdcard là một vị trí không an toàn (!) cho cấu hình máy khách ssh và các khóa có giá trị (một số người dùng thậm chí không mã hóa khóa của họ vì lý do lười biếng). Mỗi ứng dụng có quyền truy cập đọc vào vị trí đó, do đó, điều này có lẽ được đặt có chủ ý là không /sdcard/.ssh vì lý do bảo mật.

Nếu bạn có quyền truy cập root, hãy tạo một liên kết tượng trưng từ / data / ssh_data hoặc /data/.ssh đến /data/jackpal.androidterm/ hoặc tạo thư mục với quyền truy cập phù hợp cho ứng dụng đầu cuối (mặc dù không phải đọc / ghi toàn hệ thống!) .

Nhân tiện:
Điều này có thể được khắc phục sớm. Xem nhật ký cam kết github của CyanogenMod tại đây . Trích đoạn:

Một số người dùng có / như thư mục chính, một số / dữ liệu. Cam kết này sửa lỗi ssh và ssh-keygen đang cố gắng tạo /.ssh không ổn định và chỉ đọc.

Để cho phép một ứng dụng (ví dụ Trình giả lập thiết bị đầu cuối Android) sử dụng ssh / data / ssh_client vẫn phải tồn tại và quyền của chủ sở hữu cần phải được đặt cho người dùng ứng dụng. Điều này có thể được khắc phục bằng cách sử dụng thư mục dữ liệu thực (/ data / data / "app") trong một cam kết sau này.

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.