よく使うコマンドなのだけど、たまに迷うことがあるので覚書
- 秘密鍵/公開鍵の作り方
利用するユーザになってから実行すると間違いが少なめ
- RSA鍵ペア(公開鍵/秘密鍵)作成
※デフォルトの2048bit長が徐々に廃止されてきているため4096bit長を推奨します(2020/07更新)
# ssh-keygen -t rsa -b 4096 -N ""
- 秘密鍵の属性変更
# chmod 600 ~/.ssh/id_rsa
※オーナーだけが触れるようにする
- 公開鍵を認証に設定
# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
# ~/.ssh/authorized_keysがある場合は追記
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 公開鍵の属性変更
# chmod 400 ~/.ssh/authorized_keys
※オーナーだけが触れるようにする
- 秘密鍵の使い方
# ssh -i ~/.ssh/id_rsa (ユーザ)@(ホスト名 or IPアドレス)
# scp -i ~/.ssh/id_rsa (転送元) (ユーザ)@(ホスト名 or IPアドレス):(転送先)
# rsync -auz -e ssh -i ~/.ssh/id_rsa (同期元) (ユーザ)@(ホスト名 or IPアドレス):(同期先)
- (トラブル対応) 公開鍵を消しちゃった場合で、秘密鍵が残っていれば、秘密鍵から公開鍵を生成することが出来ます
# ssh-keygen -y -f ~/.ssh/id_rsa > id_rsa.pub
※クライアント側に残してある秘密鍵だけ残っていて、サーバの方がクラッシュした時など