ssh-keygenで鍵作成
とりあえず、忘れな書き。ssh-keygenでRSAとDSAの{公開,秘密}鍵作成方法。
[SSH] ssh-keygenで一から鍵作成
一から作る場合、-tオプションを付けてあげる。manによると下記のような引数を持つ。
ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f output_keyfile]
簡単な引数の説明
- -q
- /etc/rcが新しい鍵を作成する時に使用します。
- -b bits
- 作成する鍵のビット長を指定します。RSAの場合、最小の長さは768ビットであり標準では2048ビットです。たいていの場合、2024ビットで十分だと思われます。DSAはFIPS 186-2で指定されている様に1024ビットにするべきです。
- -N new_passphrase
- 新しいパスフレーズにします。
- -C comment
- 新しいコメントにします。
- -f output_keyfile
- 鍵ファイルのファイル名にします。
[SSH] ssh-keygenを使った秘密鍵から公開鍵の作成
公開秘密鍵の性質により、秘密鍵から公開鍵を作ることができます。以下、事例。私の秘密鍵(id_rsa)から公開鍵を作成します。
[negro: ~/.ssh][0:35] $ ssh-keygen -y -f id_rsa Enter passphrase: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA78uHVGH3VxU7X5j1VwqJpNh2hplm7TlesUICpJMcGlz+PJQDCmFW9+i+Ozqmhb/Y0ABdppD7dDmXWO2a/Ithux1mwageuvj/j72CZQCNtoFYBoLqRn7MlGTIbIrTRWA7/23QZCgxtGJ0EXzYLbYJXVG6iu6UwnoM/bwZCoPnVUM= [negro: ~/.ssh][0:35] $
と云う訳で、-yオプションを付けてやれば言い訳です。
[SSH] ssh-keygen の各オプションの(イイカゲンナ)日本語訳
です。所々、リンクとか個人的なコメントが入ってますが、それは私が入れた物です。詳しくは、ssh-keygen(1) - OpenBSD manual pagesを見てください。
もしかすると、先に書いてしまった文は抜いてますが、書き忘れてしまっているオプションも有ると思います。その場合は、生暖かく見てください。後、誤訳も。
- -i
- このオプションはSSH2互換の{公開,秘密}鍵ファイルを解読し読み込み、OpenSSH互換の{公開,秘密}鍵ファイルとして標準出力に出力します。また、ssh-keygenは「SECSH Public Key File Format」も読み込みます。このオプションは、いくつかの商用SSHで作られた鍵の読み込みをします。
- -e
- このプションはOpenSSHの{公開,秘密}鍵ファイルを読み込み、「SECSH Public Key File Format」として鍵を標準出力に出力します。このオプションは、いくつかの商用SSHで作られた鍵ファイルの書き出しをします。
- -B
- {公開,秘密}鍵ファイルをbubblebabbleダイジェストで表示します。
- -D reader
- readerのスマートカードに保存されたRSA公開鍵をダウンロードします。
- -U reader
- readerのスマートカードにあるRSA公開鍵をアップロードします。
他にも下記のような使い方が有るそうです。少ししんどいので、今日はとりあえずここまで。
ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-keygen -i [-f input_keyfile] ssh-keygen -e [-f input_keyfile] ssh-keygen -y [-f input_keyfile] ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile] ssh-keygen -l [-f input_keyfile] ssh-keygen -B [-f input_keyfile] ssh-keygen -D reader ssh-keygen -F hostname [-f known_hosts_file] ssh-keygen -H [-f known_hosts_file] ssh-keygen -R hostname [-f known_hosts_file] ssh-keygen -U reader [-f input_keyfile] 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 num_trials] [-W generator]
*1:多分だけど、rsa1とrsaの違いは、ssh側の理由で違うだけでアルゴリズムには何ら関係無さげ。どうもそんな感じ。