公開鍵と秘密鍵とは
ざっくりと。
公開鍵
サーバー側に持たせておく鍵。
作ったときには「id_rsa.pub」という名前で作成され、
基本的には「authorized_keys」という名前にリネームする。
複数の公開鍵を作る場合は、authorized_keysに追記していく。
秘密鍵
クライアント側で保有しておく鍵。
誰にも渡してはいけない。
鍵を作る
では、実際に鍵を作ってみる。
鍵を作る
WindowsだとWSL2とか使うとやりやすい。
$ ssh-keygen -t ed25519
ed25519の暗号に対応していない系の環境(古いOS/OpenSSLなど)は、以下のコマンドで作る。
$ ssh-keygen -t rsa -b 4096
公開鍵をサーバに登録
scpしてもいいが、ssh-copy-id
を使うと便利。
authorized_keysに自動で追加してくれる。
$ ssh-copy-id -i 公開鍵のパス サーバのユーザ名@サーバのIP
# 例
# ssh-copy-id -i ~/.ssh/id_rsa.pub nnahito@xxx.xxx.xxx.xxx
鍵認証でサーバにアクセスしてみる
sshコマンドでサーバに鍵認証を使って接続してみます。
鍵の作成・設定が成功していると、パスワードを求められずに接続できます。
command
$ ssh –i 鍵のパス サーバのユーザ名@サーバのIP
例:$ ssh -i ~/.ssh/id_rsa nnahito@xxx.xxx.xxx.xxx