Auth.log dosyasında sshd girdisinde gelen SHA256 nedir?


20

Ssh ile giriş yaparken, auth.log dosyasında aşağıdakileri görebilirsiniz:

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

Bu SHA256 bilgisinin ne olduğunu anlamaya çalışıyordum, ancak eşleşen bir şey bulamadım. İlk olarak, bağlandığım istemciden bazı bilgiler olabileceğini düşündüm (ortak anahtar, parmak izi, karma ana bilgisayar adı vb.), Ancak sunucu tarafında da onaylanacak bir şey bulamadım.

Bulduğum en yakın bilgi burada , ancak "İşte kimlik doğrulama için bir anahtar kullanan bir örnek. Kewy (muhtemelen yanlış yazılmış bir parmak izini base64'te bir SHA256 karması olarak gösteriyor" derken anlamadım. , herhangi bir karşılık gelen anahtar parmak izi bulamadığım için.

Teşekkür ederim.

Yanıtlar:


27

Bu, SHA256SSH oturumunun kimliğini doğrulamak için kullanılan RSA ortak anahtarının karmasıdır.

Bunu şu şekilde doğrulayabilirsiniz:

ssh-keygen -lf .ssh/id_rsa.pub

Veya aşağıdakiler olmadan doğrulama yapmak için ssh-keygen:

  • ssh-rsaÖneki kaldır
  • Anahtarı baytlara kodunu kullanarak base64
  • SHA256Anahtar karmasını alın (altıgen değil bayt olarak)
  • Kullanarak baytları kodlayın base64

Örneğin:

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
Kullanabileceğiniz ortaya çıkıyorssh-keygen -lf .ssh/id_rsa.pub
Joshua Griffiths

2
Bence yorumunuz ayrı ve çok yönlü daha iyi bir cevap.
Hugh W

1
ssh-keygen -lf .ssh/id_rsa.pubAyrı bir cevap olarak eklemek için +1 . Manuel kodlamadan daha iyidir.
Ilya Bobyr

2

Aynı soruya cevabınız vardı, burada cevabınızın birkaç ince ayar yapması gerekiyordu:

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

Çok teşekkürler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.