Vô tình xóa .ssh / ủy quyền, đó có phải là một lỗi nghiêm trọng không?


13

Tôi mới cài đặt Khóa SSH trên Ubuntu 16.04. Tôi đang tìm kiếm một khóa ủy quyền để xóa tên annenhưng tôi nghĩ rằng tôi đã xóa toàn bộ authorized_keystập tin.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

Đó có phải là sai lầm nghiêm trọng? Nếu có làm thế nào để tái sinh chúng? Trong khi đó tôi đã làm điều đó:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys

Làm thế nào mà rmlệnh đầu tiên kết thúc liệt kê nội dung của thư mục? Đó có phải là một lỗi sao chép nên được ls /home/mike/.ssh/?
Barmar

3
@Barmar, đó là những gì nó trông giống như trong Bash khi bạn nhấn tab để tự động hoàn thành đường dẫn và có nhiều lựa chọn.
ilkkachu

2
Bây giờ là thời điểm tốt nhất để suy nghĩ về sao lưukhôi phục .
Phục hồi Monica - M. Schröder

Câu trả lời:


21

Các ~/.ssh/authorized_keystập tin chứa một danh sách các khóa công khai. Nó cho phép mọi người sở hữu khóa riêng khớp với một trong những khóa đó để kết nối với máy này và có quyền truy cập từ xa trong tài khoản người dùng này (dấu ngã ~ở phía trước đường dẫn biểu thị rằng tệp này nằm trong thư mục chính của người dùng hiện tại).

Trên máy chủ (máy bạn muốn kết nối đến ):

Nếu bạn đã xóa tệp này, không ai có thể xác thực trong tài khoản người dùng này bằng khóa riêng của họ. Xác thực mật khẩu vẫn hoạt động, trừ khi nó bị vô hiệu hóa.

Bạn sẽ phải tạo lại tệp và thêm tất cả các khóa chung mà bạn muốn cấp quyền truy cập bằng phương thức xác thực khóa chung.

Trên máy khách (máy bạn muốn kết nối từ , nghĩa là máy tính cục bộ của bạn):

Ở đây bạn không cần một authorized_keystập tin, vì có lẽ bạn không muốn ủy quyền bất kỳ khóa nào và cấp cho chúng quyền truy cập từ xa vào máy tính cục bộ của bạn. Nó nên trống hoặc bị xóa.

Trên máy khách, bạn chỉ cần các tệp khóa riêng được ủy quyền trên máy chủ (tức là có các khóa chung tương ứng của chúng trong authorized_keystệp trên máy chủ) và tùy chọn một tệp configknown_hoststệp thích hợp .


Cảm ơn ! Hmm, tôi thực sự mới đối với khóa công khai, khóa riêng và truy cập từ xa. Đây là máy cá nhân của tôi. Tôi nghĩ rằng không ai có quyền truy cập từ xa vào máy của tôi, tôi nghĩ là không.
IggyPass

Nếu bạn không muốn bất kỳ ai có quyền truy cập vào máy, chỉ cần xóa tệp hoặc để trống và bạn vẫn ổn.
pLumo

2
Được rồi, sau đó tôi nghĩ rằng bạn đọc sai nó. Bạn không cần authorized_keystệp trên máy cục bộ, nhưng trên máy chủ.
pLumo

3
ssh-keygentạo id_rsaid_rsa.pubkhông authorized_keys. Và điều đó chắc chắn.
pLumo

1
Lưu ý rằng việc muốn ssh từ máy tính khác sang máy tính để bàn của bạn là khá phổ biến và sử dụng các phím để xác thực trong trường hợp đó sẽ an toàn hơn.
Karl Bielefeldt

3

Có, bạn đã xóa toàn bộ tập tin. Để tạo lại nó, tất cả người dùng phải sao chép khóa ssh của họ trên máy chủ. Bạn có thể dùng

ssh-copy-id user@hostname.example.com

Nếu bạn không muốn xóa tất cả các khóa, hãy chỉnh sửa tệp và chỉ xóa các dòng lần sau.


Cảm ơn, đây là máy cá nhân của tôi. Tôi không chắc nó đã phục vụ như một máy chủ chưa
IggyPass

2
Trên máy khách của bạn, bạn cần tệp khóa riêng và know_hosts và trên máy chủ ủy quyền_key với pubkey
trietend
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.