★【SSH】公開鍵の作成・登録

【0】dotsshディレクトリの権限確認

.sshディレクトリのアクセス権限は
本人しか読み書きできない権限(700)にする。





【1】公開鍵生成のコマンド

オプション ( -t と -b)を用いる。

[ -t (type) ] 暗号化形式を選択するオプション
[ -b (byte) ] 鍵の長さ()を決めるオプション
[ -C (Comment) ] コメントを決めるオプション。(例:-C "")

$ ssh-keygen -t rsa -b 4096

Generating public/private rsa key pair.

[* 秘密鍵ペアの命名 (PATHが通っているので、鍵名称のみ打ち込んでOK)]
Enter file in which to save the key (/Users/[ユーザー名]/.ssh/id_rsa): /Users/[ユーザー名]/.ssh/sakura_2_rsa   
   
Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /Users/[ユーザー名]/.ssh/sakura_2_rsa.

Your public key has been saved in /Users/[ユーザー名]/.ssh/sakura_2_rsa.pub.

The key fingerprint is:
SHA256:Udbrc1eDrEZ43Gysbm5mUP1J/4/EMonKrvPjlrom8ic [ユーザー名]@[ユーザー名]no[PC名].local

key's randomart image is:
+---[RSA 4096]----+
|        S +.+ o =|
|        S +.+ o =|
|        S +.+ o =|
|        S +.+ o =|
|        S +.+ o =|
+----[SHA256]-----+



【2】鍵の強度確認

$ ssh-keygen -l -f ~/.ssh/sakura_2_rsa.pub

4096 SHA256:[ハッシュ値] [ユーザー名]@[ユーザー名]no[PC名].local (RSA)

【鍵長】 2048以上
【暗号化形式】(RSA) or (ECDSA) or (Ed25519)



【3】作成時のパーミッション設定

デフォルトの権限は

秘密鍵「600」

公開鍵「644」

-rw-------  1 [所有者] [グループ]  3401 12 11 18:49 sakura_2_rsa
-rw-r--r--  1  [所有者] [グループ]   754 12 11 18:49 sakura_2_rsa.pub



【4】パスワードでログイン

サーバー側の公開鍵設定

一般ユーザーとしてログインしたあと、
ホームディレクトリに
.sshというディレクトリを作って、
権限を700(自分のみ読み書き可能)にする。



【5】authorized_keysを作成

touch authorized_keys
chmod 600 authorized_keys



【6】authorized_keysに公開鍵を貼り付け

(* cat sakura_rsa.pub >> authorized_keys)

公開鍵文字列をクリップボードにコピーして、
vimエディタにて、authorized_keysに貼り付ける。



【7】接続してみる

ssh -i ~/.ssh/[秘密鍵名] [Linuxユーザー名]@xxx.xxx.xxx.xxx





【8】.ssh/configファイルの書式 (最低限必要な項目)

Host [ホスト名 (ショートカット名)]
    HostName xxx.xxx.xxx.xxx
    Identityfile ~/.ssh/[秘密鍵ファイル名]
    Port 22 (* デフォルト22から変更していない場合)
    User [Linuxユーザー名]

補論

秘密鍵から公開鍵を取り出す

[参考資料]
https://32imuf.com/ssh/command/ssh-keygen/

追加

ローカルPCで以下コマンドを実行。 Macクリップボードに公開鍵の内容がコピーされる。

$ cat ~/.ssh/[公開鍵名].pub | pbcopy

$ ssh-keygen -m pem -C "" -f (公開鍵ペアの名称)
  • CircleCIに登録する鍵はpem形式である必要があるため、 -m pemオプションを付ける。

  • -Cオプション] 公開鍵の末尾に付けるコメントを任意のものにする

  • -fオプション] 作成する鍵のファイル名を指定