#はじめに
自分用のsshの鍵の作り方のメモです。自分が使うであろうオプションの解説だけ。
ローカル(クライアント側)で実行してから公開鍵をサーバ、サービス側に送る。
実行文 : ssh-keygen -t ed25519 -C "ユーザー名@CP名"
実行したら保存場所聞かれるので変更なければ Enter
その後、鍵用パスワード入力
#-t
-t
で暗号の種類を選ぶ。
基本的には強度が一番高い**-t ed25519
** オプションを使う。
-b
はビット数を指定する。ed25519は256で固定なので不要。
対応していない場合は-t ecdsa -b 521
を使う。-b 384
または-b 256
もある。
さらに対応していない場合は-t rsa -b 4096
を使う。-b 2048
もある。
#-C
-C "コメント"
でコメントを付ける。基本的に**-C "ユーザー名@CP名"
**で誰がどのマシンを使ってるかわかるようにする(Cオプションがない場合自動的に付く)。
githubとか自分しか使わないサーバーとかの自分さえわかればいい場合はユーザー名削ってもいいかも(githubはssh公開鍵が公開されてるから匿名利用している場合)。
#-f
普通に鍵生成した場合、通常は次のように鍵は保存される。
秘密鍵:[ユーザー名]/.ssh/id_[暗号種]
公開鍵:[ユーザー名]/.ssh/id_[暗号種].pub
例えばssh-keygen -t ed25519
を実行した場合の鍵の名前はid_ed25519
となる。
**-f ファイル名
**で名前を変えることができる。
サービスごとに鍵を分ければセキュリティ性が高まるかもしれない。
#作り直し
もう一回実行しなおせば存在するけど上書きしますかって聞いてくる。
#コピペ
.pubの方をコピペするなりscpするなりしてサーバ側に置く。
win : clip < ファイル場所
mac : pbcopy < ファイル場所
#ssh-keygen オプション一覧
usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1]
[-N new_passphrase] [-C comment] [-f output_keyfile]
ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
ssh-keygen -i [-m key_format] [-f input_keyfile]
ssh-keygen -e [-m key_format] [-f input_keyfile]
ssh-keygen -y [-f input_keyfile]
ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
ssh-keygen -B [-f input_keyfile]
ssh-keygen -D pkcs11
ssh-keygen -F hostname [-f known_hosts_file] [-l]
ssh-keygen -H [-f known_hosts_file]
ssh-keygen -R hostname [-f known_hosts_file]
ssh-keygen -r hostname [-f input_keyfile] [-g]
ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
[-j start_line] [-K checkpt] [-W generator]
ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals]
[-O option] [-V validity_interval] [-z serial_number] file ...
ssh-keygen -L [-f input_keyfile]
ssh-keygen -A
ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
file ...
ssh-keygen -Q -f krl_file file ...
#参考文献