một giải pháp khác, tăng cường bảo mật đồng thời giúp bạn dễ dàng hơn, vì vậy bạn không cần phải nhập mật khẩu của mình mọi lúc:
nếu bạn muốn mã hóa khóa riêng của mình, bạn có thể sử dụng ssh-agent
trên máy trạm của mình để 'lưu trữ' khóa không được mã hóa. khi bạn muốn lưu trữ khóa được giải mã, bạn chạy ssh-add ~/.ssh/id_rsa
hoặc bất cứ khóa riêng nào của bạn được đặt tên. bạn sẽ được nhắc nhập mật khẩu và khóa được giải mã sẽ có sẵn cho các kết nối ssh của bạn cho đến khi bạn đăng xuất, ssh-agent
tắt hoặc tắt máy.
bạn có thể kill
lưu trữ các khóa được lưu trữ ssh-agent -k
và bạn có thể chỉ định trọn đời cho khóa nằm trong bộ nhớ ssh-agent -t [seconds]
chẳng hạn; nếu bạn không muốn giữ khóa của mình được giải mã mãi mãi, nhưng bạn muốn thực hiện nhiều thao tác xung quanh máy chủ của mình, bạn có thể đặt thời gian chờ là 5-10 phút. vì vậy bạn không cần phải liên tục nhập mật khẩu của khóa.
một lần nữa, tất cả đều liên quan đến mức độ tin cậy của bạn về bảo mật của / máy trạm /, nếu bạn là người duy nhất có quyền truy cập và bạn có mật khẩu cục bộ khá an toàn và bạn không mời khai thác và rootkit cho chính bạn, khóa riêng không có cụm mật khẩu của bạn là an toàn hợp lý.
nếu bạn giống tôi và bạn giữ khóa riêng của mình trên một ổ đĩa nhỏ, bạn chắc chắn sẽ muốn mã hóa nó, mặc dù đó chỉ là một khóa riêng (một khóa riêng biệt mà tôi sử dụng trên máy trạm của mình, vì vậy nếu Tôi bị mất khóa, tôi có thể dễ dàng xóa khóa công khai của ổ đĩa ngón tay khỏi ~/.ssh/authorized_keys
danh sách máy chủ của mình , điều này cũng đưa ra một / xuất sắc / lý do để thêm nhận xét USEFUL vào khóa chung của bạn)
trong phản hồi của bạn trước câu trả lời trước đó, bạn cho biết chỉ những người bạn tin tưởng mới có quyền truy cập vào máy bằng các phím. Tôi chỉ muốn làm rõ rằng khóa riêng của bạn KHÔNG cần phải ở trên máy chủ mà bạn đang kết nối, trong trường hợp đó là những gì bạn đang làm. chỉ khóa công khai của bạn cần có trên máy chủ và đó không phải là vấn đề, đó là lý do tại sao đó là khóa 'công khai'.
oh, tôi quên đề cập đến; Tôi khởi chạy ssh-agent
khi tôi khởi động X, nếu không, các khóa được mã hóa mà tôi lưu trữ ssh-add
không được giữ lại qua các xterm
phiên khác nhau và tôi phải nhập lại mật khẩu mỗi lần tôi đóng xterm
i được khởi chạy ssh-add
. Trong ~/.xinitrc
tệp của tôi , tôi có:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
Tôi có lệnh gọi ssh-agent
được bao bọc eval
bởi vì ssh-agent trả về một số biến môi trường cần được đặt khi nó chạy và chạy từ đó ~/.xinitrc
, các biến môi trường không đổi trong suốt phiên X.