2010-05-11 39 views
22

Tôi đang cố tìm cách giải mã một tệp được mã hóa trên một phiên bản EC2 'trinh'. Các cá thể EC mà tôi sử dụng (Ubuntu Lucid) chỉ giữ khóa ssh công khai được tạo bởi AWS của tôi. Nếu có thể sử dụng điều này để giải mã một tệp, tôi có thể cung cấp tệp được mã hóa (ví dụ: bash-script giữ mật khẩu cho kho lưu trữ lật đổ của tôi).Tôi có thể sử dụng khóa công khai của tôi để giải mã một tệp không?

Vì vậy, câu hỏi của tôi, tôi có thể sử dụng khóa ssh của mình để mã hóa/giải mã một tệp không?

Cảm ơn!

Trả lời

1

Bạn có thể sử dụng khóa công khai để mã hóa tệp nhưng bạn sẽ cần khóa cá nhân tương ứng để giải mã. Vì vậy, có, bạn sẽ có thể sử dụng khóa ssh của bạn để mã hóa/giải mã một tệp, miễn là bạn có quyền truy cập vào cả khóa công khai và khóa riêng tư.

+2

Cảm ơn bạn đã trả lời nhanh chóng! Bạn có thể đưa ra một ví dụ về lệnh mà tôi phải cung cấp (tôi đang trên Linux) về cách thực hiện điều này không? xin lỗi, tôi đang ở trong bóng tối ở đây ... – bowlby

33

Các tập tin:

echo 'This is a sekret' >/tmp/msg.txt 

Xuất khóa công khai (trong trường hợp bạn không có nó/mất nó):

openssl rsa -in ~/private.pem -out /tmp/public.pub -outform PEM -pubout 

tập tin Encrypt với khóa công khai (ai cũng có thể có chìa khóa này) :

openssl rsautl -encrypt -inkey /tmp/public.pub -pubin -in /tmp/msg.txt -out /tmp/file.enc 

Giải mã tệp cá nhân với khóa riêng (chỉ bạn nên có khóa riêng):

openssl rsautl -decrypt -inkey ~/private.pem -in /tmp/file.enc -out /tmp/decrypted.txt 

Thông điệp giải mã:

cat /tmp/decrypted.txt 
+0

Đây chính xác là những gì tôi cần biết - cảm ơn! –

+0

Câu trả lời này đề cập đến phần "ssh" của câu hỏi như thế nào? Tôi không thấy tham chiếu ở đây là "ssh" hoặc tệp trong ".ssh". –

+0

Cảm ơn. Chính xác những gì tôi đang tìm kiếm. – Lukas

1

Một câu hỏi rất giống nhau được yêu cầu trên tại địa điểm Unix và Linux StackExchange. Tôi nghĩ rằng có câu trả lời sẽ có ích:

Encrypting file only with SSH -priv-key?.

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