それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ssh 公開鍵の指紋を確認して、gitの公開鍵ログインが通ってるか確認する。

サーバーのSSHのログを見ていると次のようなものがある。

git(gitlab)は 単一ユーザとしてログインして、アプリ内で別ユーザに分割するので、アクセスログを見ていると、どのログがどの公開鍵かぱっとわからない。

Accepted publickey for git from 110.66.166.xxx port ssh2: RSA SHA256:ZBTKfSJOp46Wa
Accepted publickey for git from 122.249.189.xxx port ssh2: RSA SHA256:6hsJqs+UYtaqn
Accepted publickey for git from 153.183.186.xxx port ssh2: RSA SHA256:2UsYMJTNfHog
Accepted publickey for git from 153.183.186.xxx port ssh2: RSA SHA256:6hsJqs+UYtaqn
Accepted publickey for git from 153.183.189.xxx port ssh2: RSA SHA256:NxqmEpe7bbWv
Accepted publickey for git from 183.76.241.xxx port ssh2: RSA SHA256:3R31KV8N0vK6u
Accepted publickey for git from 49.106.193.xxx port ssh2: RSA SHA256:qpG9ikqYC8kkcx

公開鍵のフィンガープリントを取得する。

ssh-keygen -lf path/to/id_rsa.pub

このコマンドを使うと、公開鍵から指紋を 取り出すことが出来る

takuya@sample$ ssh-keygen -lf out.pub
2048 SHA256:NxqmEpe7bbWvK86VQn5Xhxxxxxxxxxxxxxx takuya@test (RSA)

指紋のハッシュをSHA256で取り出すのでサーバーのログと一致して嬉しい。

gitlab などに登録された公開鍵はmd5

管理画面からは指紋がMD5なのでぱっとわからない。

公開鍵のフィンガープリントはMD5でもアプリで表示されることがあるのでその方法でも一致を確認できる

takuya@sample$ ssh-keygen -E md5  -lf  out.pub
2048 MD5:5f:37:90:4b:c3:e1:6a:fe:fd:d2:ea:7a:00:00:00:00 takuya@test (RSA)

指紋のみかたをしっておく

せっかくハッシュを見たら解るのに、意外と使いこなせないので調べた。

参考資料

SSHの鍵の指紋が正しいものかどうかチェックする方法 - くろの雑記帳