OpenSSH
SSHには,SSH1とSSH2プロトコルがある,SSH2推奨.
PKI(公開鍵)認証の場合
ユーザ認証
ユーザは,ssh-keygen
コマンドによって,秘密鍵と公開鍵を作成する.生成された公開鍵(.pub)をサーバに置く.ユーザアクセス時,サーバは乱数を生成し公開鍵を用いて暗号化しユーザに送信する.ユーザは,秘密鍵で復号し,乱数のハッシュ値を計算,サーバに送信する.サーバは,ハッシュ値が一致していることを確認し照合する.
サーバ認証
目的: サーバなりすましを防ぐため
サーバは,鍵を生成し,ユーザに公開鍵を送付する.送付された鍵は,.ssh/known_hostsに格納され,通信時に上記のユーザとサーバが入れ替わったかたちで照合される.
DSAとRSA
公開鍵認証方式,DSAは鍵長1024bitに対して,RSAは基本的に2048bitで,さらに4096bitにもできる.RSA推奨
※自分の鍵の長さの確認
ssh-keygen -l -f ~/.ssh/id_rsa.pub
証明書による認証の場合
CA(認証局)が鍵の信頼を担保する形で認証される.