LoginSignup
4
3

More than 1 year has passed since last update.

【SSH】ssh-keygenでファイル名を指定して作成(などアレコレ)

Last updated at Posted at 2022-10-05

概要

SSH鍵を生成する ssh-keygen コマンド
その際、ファイル名を指定してSSH鍵を生成する方法と、その他関連コマンド

コマンド

生成されるファイルの出力先は、もちろん ~/.ssh/

名前を指定して作成

-f オプションでファイル名(厳密には保存先)が決められる

ssh-keygen -f id_rsa_file_name

標準出力なしで作成

-q 標準出力を無効にする(キーマップが出ない)

ssh-keygen -q -f id_rsa_file_name

コメントの指定

-C オプション
ユーザ名@ホスト名(デフォルト)」以外にする場合に使用
別のメールアドレスとかを使用する(xxx@example.com

ssh-keygen -C comment -f id_rsa_file_name

暗号化形式の指定

-t オプション
暗号化形式を「rsa(デフォルト)」以外にする場合、「dsa」「ecdsa」「ed25519」から指定

ssh-keygen -t ed25519 -f id_rsa_file_name

fingerprint の指定

-E オプション
鍵のfingerprintを「sha256(デフォルト)」以外にする場合、「md5」指定

ssh-keygen -E md5 -f id_rsa_file_name

エラー: SSH鍵の権限がオープン過ぎて怒られた場合

何かしら SSH 通信を利用したときに、以下の場合は、SSH キーの権限を変更する必要があります。

発生するエラー: Permissions 0644 for 'id_rsa_xxxxx' are too open.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/xxxxx/.ssh/id_rsa_xxxxx' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/xxxxx/.ssh/id_rsa_xxxxx": bad permissions
git@github.com: Permission denied (publickey).

👉 秘密鍵のパーミッションが "644" なので、他のユーザーからアクセスできるような権限では使えないよ !

権限を変更する

chmod コマンドで、書き込み・読み取り・実行権限を変更する(詳しい説明は割愛)

# 対象のキーを指定(600 もしくは 400)
chmod 600 id_rsa_xxxxx

おまけ

生成したSSH鍵の公開鍵をコピーするときは、以下でも可能

macOSの場合

pbcopy < ~/.ssh/ファイル名.pub

Windows で Git Bash など使っていた場合

clip < ~/.ssh/id_rsa.pub
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3