Lから始まるLinux

5章7話
SSH鍵生成(Windows)
5章8話 SSH鍵生成(macOS,Linux)
もくじ
5章9話
SSH接続先設定
SSH鍵生成(macOS,Linux)
若木 みどり
お兄ちゃん! macOS のノート PC があるんだけど ここからでも SSH 公開鍵認証で 接続できるかな?
若木 しげる
もちろん! まずは必要となる二つの鍵 「秘密鍵」「公開鍵」を作ろう! macOS と Linux では 操作がほとんど同じなので 一緒に説明するね
.ssh ディレクトリ
若木 しげる
SSH 設定は ~/.ssh ディレクトリに保存されるよ まずはこのディレクトリが あるかどうかを確認しよう
ls -ld ~/.ssh
若木 みどり
うん!
drwx------. 2 midori midori 71 Dec  1 14:53 /home/midori/.ssh
若木 みどり
ちゃんとあるみたいだね!
若木 しげる
もし存在していなければ作ってあげよう
mkdir ~/.ssh
若木 しげる
そうしたらパーミッションを確認しよう自身しかアクセスできないようになっていればいいよ
若木 みどり
rwx------ だね!所有グループや他のユーザには何も権限が無いよ!
若木 しげる
もしそうでないなら chmodパーミッションを設定しよう!
chmod 700 ~/.ssh
ssh-keygen コマンド
若木 しげる
ssh-keygenSSH 鍵を生成するよ
ssh-keygen [オプション]...
オプション役割
-f パス鍵の出力先を指定(RSAの場合デフォルトは ~/.ssh/id_rsa)
-C コメント鍵にコメントを設定
-P パスフレーズパスフレーズを設定(空文字でパスフレーズを設定しない)
若木 みどり
コメントは何に使うのかな?
若木 しげる
複数の鍵を生成したときに鍵の区別をつけるために使われるよ「ユーザ名」「接続先」2つの情報を含めておくのがいいね僕は ユーザ名@接続先 としているよ
若木 みどり
パスフレーズを設定するとどうなるのかな?
若木 しげる
鍵を使おうとするたびにパスフレーズの入力が求められるよそこで正しいパスフレーズを入力しないと鍵が使えないんだ設定すると毎回入力の手間が掛かるけど鍵が漏洩したときの対策になるんだ
若木 みどり
なるほど自宅内で使う想定で毎回尋ねられるのも面倒だから今回は設定しなくてもいいと思っているよ!
若木 しげる
ここでは以下のように作成しよう!接続先ホスト名 の箇所は実際の値に置き換えてね
若木 みどり
私の場合は DEST=carter となるんだね!
DEST=接続先ホスト名
ssh-keygen -f "$HOME/.ssh/$USER@${DEST}_id_rsa" -C "$USER@$DEST" -P ""
若木 みどり
変数を上手く使っているんだね!
若木 しげる
上記のコマンドを実行すると「秘密鍵」「公開鍵」生成されるんだ
パス役割
~/.ssh/ユーザ名@接続先_id_rsa秘密鍵
~/.ssh/ユーザ名@接続先_id_rsa.pub公開鍵
若木 みどり
これで準備ができたんだね!
まとめ
若木 みどり
今回は macOS や Linux でSSH 鍵を生成したよ!公開鍵認証でリモート接続するための第一歩なんだ!
若木 しげる
この鍵を使うには接続先にも設定が必要なんだ次回は接続先で行う設定を説明するよ!