Engineer of the lawyer

I was able to pass the Network Specialist. Next target is the Project Manager.

SSH公開鍵認証

SSHの公開鍵認証の手順について、結構複雑なので整理も込めて以下に手順を記述。

いまいち理解できていない部分もあるので自分の妄想も入ってます。

 

 公開鍵認証の流れ


①クライアント側で公開鍵と秘密鍵のペアを作成する

②作成した公開鍵をサーバに登録する

③ユーザの公開鍵が使用できているか確認する

④クライアント側でユーザの秘密鍵を利用してデータを作成し署名を入れる

➄署名入りのデータをサーバへ送る

⑥サーバ側でユーザの公開鍵を利用して署名を検証する

⑦OKならログインを許可する

 ※間違っていたら訂正をお願いします。

 

①クライアント側で公開鍵と秘密鍵のペアを作成する


ssh-keygen

オプション

-t (タイプ) 暗号化タイプを指定する。

      rsa1 :RSA(SSH1)

      rsa  :RSA(SSH1)

      dsa :DSA(SSH2)

-p    パスフレーズを変更する

-f (ファイル名) 鍵ファイルを指定する

-R (ホスト名) 指定されたホストの鍵をknown_hostsファイルから削除する

 

公開鍵と秘密鍵のファイル名

バージョン1                  identity                           identity.pub

バージョン2(RSA)    id_rsa                             id_rsa.pub

バージョン2  (DSA)    id_dsa                            id_dsa.pub

 

 

 ②作成した公開鍵をサーバへ送る


送る方法はSCP。

scp ~/.ssh/id_dsa.pub hogehogeserver.jp:publickey

 

 ③公開鍵を送ったサーバにログインする。まだパスワード認証しかできないのでパスワード認証でログインする


ssh hogehoge@hogehogeserver.jp

 

④ログインできたら先ほど送った公開鍵を~/.ssh/authorized_keysに移動する


cat publickey >> ~/.ssh/authorized_keys

 

➄authorized_keysファイルは所有者のみが読み書きできるようにしておく。


chmod 600 ~/.ssh/authorized_keys

 

 

 

 

 

これで完成みたいです。次回のSSHログイン時から公開鍵認証が利用できるようになり、接続すると、パスフレーズを尋ねられるようになるようです。