SHA256 xuất hiện trên mục sshd trong auth.log là gì?


19

Khi đăng nhập qua ssh, có thể thấy như sau trên auth.log:

Dec 14 16:29:30 app sshd[22781]: Accepted publickey for dev from XXX.XXX.XX.XXX port XXXXX ssh2: RSA SHA256:pO8i...

Tôi đã cố gắng tìm hiểu thông tin SHA256 này là gì, nhưng tôi không thể tìm thấy bất cứ điều gì có vẻ phù hợp. Đầu tiên tôi nghĩ đó có thể là một số thông tin từ máy khách (khóa chung, dấu vân tay, tên máy chủ được băm, v.v.) Tôi đang kết nối, nhưng tôi không tìm thấy gì để xác nhận, cả ở phía máy chủ.

Thông tin gần nhất tôi tìm thấy là ở đây , nhưng tôi không hiểu khi nó nói "Và đây là một ví dụ sử dụng khóa để xác thực. Nó cho thấy dấu vân tay kewy (có thể sai chính tả) là băm SHA256 trong cơ sở64." , vì tôi chưa tìm thấy dấu vân tay tương ứng của bất kỳ loại nào.

Cảm ơn bạn.

Câu trả lời:


27

Đây là SHA256hàm băm cho khóa công khai RSA được sử dụng để xác thực phiên SSH.

Đây là cách xác minh nó:

ssh-keygen -lf .ssh/id_rsa.pub

Hoặc, để xác minh mà không có ssh-keygen:

  • Xóa ssh-rsatiền tố
  • Giải mã khóa thành byte bằng cách sử dụng base64
  • Lấy SHA256hàm băm cho khóa (dưới dạng byte, không phải hex)
  • Mã hóa các byte bằng cách sử dụng base64

Ví dụ:

cat .ssh/id_rsa.pub    |
    awk '{ print $2 }' | # Only the actual key data without prefix or comments
    base64 -d          | # decode as base64
    sha256sum          | # SHA256 hash (returns hex)
    awk '{ print $1 }' | # only the hex data
    xxd -r -p          | # hex to bytes
    base64               # encode as base64

11
Hóa ra bạn có thể sử dụngssh-keygen -lf .ssh/id_rsa.pub
Joshua Griffiths

2
Tôi nghĩ rằng nhận xét của bạn là một câu trả lời tốt hơn và toàn diện hơn, mà bạn nên thêm riêng biệt.
Hugh W

1
+1 để thêm ssh-keygen -lf .ssh/id_rsa.pubdưới dạng một câu trả lời riêng biệt. Nó là tốt hơn sau đó mã hóa thủ công.
Ilya Bobyr

2

Có cùng một câu hỏi trên macOS 10.13.6, trong đó câu trả lời của bạn chỉ cần một vài điều chỉnh:

cat .ssh/id_rsa.pub    |
    awk '{ print $2 }' | # Only the actual key data without prefix or comments
    base64 -D          | # decode as base64
    shasum -a 256      | # SHA256 hash (returns hex)
    awk '{ print $1 }' | # only the hex data
    xxd -r -p          | # hex to bytes
    base64               # encode as base64

Cảm ơn v. Nhiều.

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.