LoginSignup
7

More than 3 years have passed since last update.

間違いのないSSH鍵を対話応答なしで作成する

Last updated at Posted at 2019-10-26

Githubのドキュメントに従った強度をもつSSH鍵を、面倒な対話応答なしで作成します。

参考
お前らのSSH Keysの作り方は間違っている
Github公式

環境

次の環境で確認しています。
A. Windows10
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
B. Ubuntu18.04
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017

コマンド

ssh-keygenが使える環境で次のコマンドで作成します。
(コメントにはユーザ名やメールアドレスを入れる事が一般的と思います)

ssh-keygen -t rsa -b 4096 -C "<コメント>" -f <秘密鍵のファイル名> -N ""

直ちにカレントディレクトリに次のファイルが作成されます。
./<秘密鍵のファイル名>
./<秘密鍵のファイル名>.pub (公開鍵)

オプションの説明

オプション 説明 備考
-t 鍵の種類を指定 rsa: 一般的、bit数は2048以上が必須
dsa: 古く脆弱なため非推奨
ecdsa, ed25519: rsaより短く安全だが古いクライアントでは使えないかもしれない
-b 鍵のbit数を指定 rsaなど可変長の鍵のbit数を指定する
Githubのドキュメントでは4096
-C 鍵に付与されるコメントを指定 空欄でも問題ないが、githubなどでは管理画面に表示されるので何か入れておいた方が便利です
-f 作成する鍵のファイル名を指定 この名前で秘密鍵と、.pubの拡張子がついて公開鍵が作成される
-N パスフレーズを指定 今回は""としてパスフレーズ無しを指定。省略すると確認応答が表示されます。使う場合は11字以上を推奨(5文字程度の場合数秒でクラックされてしまうようです。参考)

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
What you can do with signing up
7