Khóa SSH không nhận diện được thực sự có nghĩa là gì
Một khóa SSH được liệt kê trên tài khoản GitHub là thông tin xác thực có thể đăng nhập với tư cách tài khoản đó. Thấy một khóa bạn không nhận ra là lý do để điều tra, không phải kết luận. Khóa có thể thuộc về một thiết bị bạn đã quên, thiết lập của một thành viên cũ trong nhóm, một laptop cũ, hoặc một thứ bạn không ủy quyền. Cách an toàn là xác định chủ sở hữu và mục đích trước khi xóa bất cứ thứ gì, vì xóa một khóa đang được quy trình hợp lệ sử dụng sẽ làm hỏng quy trình đó.
GitHub coi một số thứ là những đường truy cập riêng biệt. Khóa SSH cá nhân, khóa triển khai gắn với kho lưu trữ và ứng dụng OAuth được ủy quyền là các cơ chế khác nhau với phạm vi khác nhau. Kiểm tra một loại không có nghĩa là đã kiểm tra các loại còn lại.
GitHub khuyến nghị kiểm tra khóa SSH, khóa triển khai và ứng dụng được ủy quyền như những đường truy cập riêng biệt. Nguồn
Danh sách kiểm tra trước và sau
Hãy dùng đây như một danh sách làm việc. Cột “trước” là về thu thập thông tin; cột “sau” là về xác nhận kết quả.
| Giai đoạn | Kiểm tra | Tại sao quan trọng |
|---|---|---|
| Trước | Liệt kê mọi khóa SSH hiển thị trên tài khoản, cùng tiêu đề và bất kỳ dấu vân tay hoặc chi tiết ngày tạo nào có thể thấy | Bạn cần bức tranh đầy đủ trước khi quyết định mục nào là không rõ |
| Trước | Ghép từng khóa với một thiết bị hoặc người mà bạn có thể gọi tên | Khóa không có tên là khóa cần đặt câu hỏi |
| Trước | Hỏi xem có quy trình hiện tại nào phụ thuộc vào khóa không (bản dựng, triển khai, máy dùng chung) | Xóa một khóa đang được dùng sẽ làm hỏng quy trình đó |
| Trước | Kiểm tra xem quyền truy cập tương tự có được cấp qua khóa triển khai hoặc ứng dụng được ủy quyền không | Đây là những đường riêng và cần được xem xét riêng |
| Trước | Quyết định cách xử lý: giữ, thay thế hoặc xóa | Một khóa lỗi thời có thể cần thay thế thay vì chỉ xóa đơn thuần |
| Sau | Xác nhận khóa không còn xuất hiện trong danh sách khóa SSH của tài khoản | Danh sách hiển thị là xác nhận đầu tiên của bạn |
| Sau | Xác nhận quy trình bị ảnh hưởng vẫn hoạt động, hoặc bạn đã có đường thay thế | Việc xóa không nên khiến một quy trình hợp lệ bị mắc kẹt |
| Sau | Ghi lại bạn đã xóa gì và khi nào, không ghi lại chính nội dung khóa | Một bản ghi giúp ích cho các lần kiểm tra sau |
Xóa khóa SSH của tài khoản
Việc xóa diễn ra trong phần cài đặt tài khoản. Đường dẫn được GitHub ghi nhận là Settings, rồi SSH and GPG keys, nơi bạn có thể xem lại khóa SSH của tài khoản và xóa những khóa không nhận ra hoặc đã lỗi thời.
Trong Settings, SSH and GPG keys, hãy xem lại khóa SSH của tài khoản và xóa những khóa không nhận ra hoặc đã lỗi thời. Nguồn
Hãy giữ phạm vi hẹp. Bước này xóa một khóa SSH của tài khoản. Nó không xóa khóa triển khai, không thu hồi ứng dụng được ủy quyền và không thay đổi nội dung kho lưu trữ. Nếu lần kiểm tra của bạn phát hiện vấn đề ở những khu vực đó, hãy xử lý chúng như những nhiệm vụ riêng.
Các quy trình hợp lệ cần cân nhắc trước khi xóa
Không phải mọi khóa lạ đều có ý đồ xấu. Hãy cân nhắc những tình huống phổ biến sau trước khi hành động:
- Một thiết bị bạn không còn dùng. Một laptop cũ hoặc máy công việc có thể vẫn còn đăng ký khóa. Nếu bạn vẫn giữ thiết bị, bạn có thể xác nhận sự khớp; nếu không, xóa thường là lựa chọn đúng.
- Một máy dùng chung hoặc máy của nhóm. Người khác có thể đã thêm khóa cho mục đích hợp lệ. Hãy xác nhận với chủ sở hữu trước khi xóa.
- Một thiết lập triển khai hoặc tự động hóa. Nếu một khóa được dùng bởi quy trình theo lịch, xóa nó có thể dừng quy trình đó. Hãy xác định sự phụ thuộc trước.
- Một khóa bạn đã tạo và quên. Tiêu đề và ngày tạo thường gợi lại ký ức. Nếu bạn có thể khớp nó với thiết lập trước đây của chính mình, bạn có thể chọn giữ hoặc thay thế thay vì xóa.
Khi còn nghi ngờ, trình tự an toàn hơn là xác định, rồi thay thế bằng một khóa bạn kiểm soát, rồi xóa mục cũ. Điều đó giữ một đường hoạt động trong khi bạn đóng đường không rõ.
Những gì quy trình này không làm
Xóa một khóa SSH là hành động có mục tiêu, không phải dọn dẹp toàn bộ tài khoản. Nó không:
- thu hồi ứng dụng OAuth hoặc các tích hợp được ủy quyền khác;
- xóa khóa triển khai khỏi kho lưu trữ;
- chứng minh ai đã tạo khóa hoặc vì sao;
- xác nhận rằng không còn đường truy cập nào khác.
Hãy coi mỗi điều trên là một bước kiểm tra riêng. Kiểm tra là một tập hợp các bước nhỏ, có thể xác minh, không phải một công tắc duy nhất.
Tra cứu tên người dùng phù hợp ở đâu và không phù hợp ở đâu
Tìm kiếm tên người dùng công khai có thể giúp bạn thấy một tay cầm (handle) đã biết dường như được liên kết với những gì trên các nền tảng công khai. Đó là bối cảnh hữu ích khi bạn đang cố hiểu một danh tính hoặc dấu vết trực tuyến. Nó không phải là cách để xem cài đặt tài khoản GitHub, và không thể cho bạn biết ai sở hữu một khóa SSH. TraceSeek, ứng dụng được TruthsSeek đề cập, kiểm tra các tên người dùng công khai đã biết trên 3.000+ nền tảng và trả về lần quét đầu tiên trong 20–30 giây, với lần quét đầu tiên miễn phí. Nó không vận hành cài đặt GitHub, và một kết quả khớp công khai là manh mối, không phải bằng chứng sở hữu.
Xử lý thông tin xác thực an toàn
Không bao giờ công bố khóa riêng tư, token hoặc thông tin xác thực đầy đủ trong chat, issue, ảnh chụp màn hình hoặc bài đăng diễn đàn. Nếu bạn cần giúp xác định một khóa, chỉ chia sẻ chi tiết không bí mật như tiêu đề hoặc dấu vân tay hiển thị, và chỉ với người bạn tin tưởng. Nếu bạn nghi ngờ một khóa đã bị lộ, xóa nó khỏi tài khoản là một bước; xoay vòng bất cứ thứ gì phụ thuộc vào nó là quyết định riêng bạn nên thực hiện một cách có chủ đích.