SSHの公開鍵認証の設定手順
個人的にLinuxサーバを利用する機会があり
その時に公開鍵の設定を行ったので手順を残す。
クライアント側で鍵の生成
クライアントPCで秘密鍵と公開鍵の生成を行います。
鍵生成コマンドを2種類ありますが今回はRSAで生成を行います。
$ ssh-keygen -t rsa
実行すると対話式で鍵の保存場所やパスフレーズを聞かれますので
任意の設定を行う。
問題なく鍵が生成されたか確認を行う。
$ cd ~/.ssh/ $ ls id* id_rsa id_rsa.pub
上記のように「id_rsa」と「id_rsa.pub」が生成されていればOK
ちなみに「id_rsa」が秘密鍵で「id_rsa.pub」が公開鍵である。
くれぐれも秘密鍵が外部に漏れないように注意してほしい。
サーバに公開鍵を登録する。
先ほど生成した公開鍵をサーバに登録するので
scpコマンドでサーバに公開鍵を転送させる。
scp -r ~/.ssh/id_rsa.pub root@<サーバのIPアドレス>:/root/
とりあえずサーバの/root/直下に転送。
そこからサーバの「authorized_keys」に公開鍵を登録する。
# ls /root/ id_rsa.pub # cat id_rsa.pub >> ~/.ssh/authorized_keys # chmod 600 ~/.ssh/authorized_keys # logout $ ssh -i ~/.ssh/id_rsa root@<サーバのIPアドレス>
lsコマンドで/root/に公開鍵が転送されているのを確認し、
authorized_keysに登録する。
その後、パーミッションの変更を行い一度サーバからログアウトする
再度sshコマンドでログインを試みる。