公開鍵一覧

SSH接続のキーペアの作成&更新(最新の 4096 bit RSA 版)

従来、SSHキーは 2048 bit での作成が主流だったので、現在もそのまま使い続けている人が多いと思いますが、セキュリティ上そろそろ 4096 bit へアップグレードしておくと良いでしょう。その手順を紹介します。置き換えだけでなく、新たにSSHを設定する際も下記と同じ手順です。

先ず 4096 bit RSA キーの作成方法ですが

$ ssh-keygen -b 4096

これをコマンドラインで実行します。質問される項目は、ファイル名とパスフレーズ(&再入力)の2種類だけです。基本はどちらもエンターで良いでしょう。

$ ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/foo/.ssh/id_rsa): (エンター)
Enter passphrase (empty for no passphrase):(エンター)
Enter same passphrase again:(エンター)
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:uqWzrNSC89DAAKBu9xL4yGzR//+n5zW+CRYkkZ6smqo foo@local
The key's randomart image is:
+---[RSA 4096]----+
|+          ..    |
|o          ..    |
|o         o...   |
|.oo        +o    |
| =o+    S .  .   |
|+ =++. . .    .  |
| =+o+oo +    o o |
|.  =.oo*    .o+ o|
|   E+o*+...o=. +.|
+----[SHA256]-----+

これで、秘密鍵(id_rsa)と公開鍵(id_rsa.pub)のキーペアがホームディレクトリ下の .ssh ディレクトリ内に作成されているはずです。

次に作成した公開鍵を ssh-copy-id コマンドで、サーバ側のホームディレクトリの .ssh ディレクトリへコピーします。

$ ssh-copy-id -p 22 -i ~/.ssh/id_rsa foo@server

各自の変更箇所ですが “-p 22” はサーバ側のSSHで使用しているポート番号です。
(注:デフォルトでは 22/TCP を使うのですが、そもそもこのポート番号はセキュリティ上、変更しておくほうが良いでしょう)

次に “foo@server” の部分もユーザ名@サーバ名(IPアドレス)に置き換えてください。

コマンドを実行すると、サーバログイン時のパスワードを求められます。パスワードが認証されると公開鍵がサーバの .ssh ディレクトリへコピーされ、これで、ログインできる準備は整いました。

$ ssh -p 22 -i ~/.ssh/id_rsa foo@server

これでログインできる筈です。-p と -i オプションは省略可能なので、適時省略してください。

最後に注意点として、秘密鍵はサーバへコピーしないでください。そして秘密鍵は必ずバックアップを取っておきましょう。紛失したら管理者の作業が必要となるし、あなたが管理者ならばサーバにログインできなくなって一大事です。

ちなみに、今使っているキーペアが 2048 bit なのか 4096 bit なのか分からん!という方へそれぞれの公開鍵の例を示します。4096 bit の方はこれだけ長いので、短いなと思ったら更新しちゃいましょう。そもそも既に 4096 bit だったとしても、定期的にキーペアを変更するのがセキュリティ的にオススメです。

2048 bit RSA 公開鍵の例

ssh-rsa BBAAB3NzaC1yc2EAAAADAQABAAABAQCsbWBUOHkOKzXmqWVlWTWbGgU5ckeqJJaCUiOEvc0yyjjYCdfJozQts69OsYbIT/obRmDfyYK/8enmI9fD34Q0GAC2/0r8dMVVaO13X6iew6ETQIT6HM7v+Y+IqkYx5B+hWOtw7JGZ/eWd5gCn0N7w3OLFmwnmxEFKo0KoaHEzRRIUvMwTlSrxLYT3AB3T3E7WxVGX+F7M1cDpmXDsJKPU6ZI7W4XqZlQn2mxoKInbVDSv1c5RWz92lBaUPSvIFL0DXfS1kR94GB6RYb1RSOfoz9bAioBcXVmfTJ0GshxgMdRB5mrDrBlROzsLm4fHYNAXB2gT0nFaWhfaE0liCWTh foo@local

4096 bit RSA 公開鍵の例

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC5pk1MuSJGQ8tdlRO+b0IHLMSwMH4uI9RWsUPWSbcJ6n8SqI452hdj9i0YZvC6H0Pmwh/4uIlTGaeSE4ZxCMEi6hAPkl87EqLAUho/0lsBPiA+n1eas5PwbSRYVnB2vFEx/L/MTjaCXELFtS5qvTN4GPGHw7WJAKXzjnTGNbmU7QGjHBSL/5k7szZrVMq7k7pmglBUTzUDwoChA3ZPGP/91kBXfffMZwJzW4tYHPMSFX/uVz00nwCzqayNLF3wOzWG0/l5IvcefadXWSj2kip2d4/2Sjg22qCEVpsjofyEfUO/5+FN5Nq88KZUtxZ9jEoxXOUtBmk4t1CVek+rLgvqzPGRiKpVSV9zVZE1M0QKuKbzhz7QtX8Ip7CRyahZ4tJAL/cX0YkLqFbxS6owHKKihS5FCXQSWSw5qHlzQ//b0HfQGHYwFyAkUKCaBLD7anm06QtwpRLuCGzCpOfBNa7+OSs3UVARvKU7GdZ5KVGnCiLCb5UxhtWw84uSACG0d08SdJPQmfO8/W/N+PX0MZfRCW82maM0aa8/75+HlRsPc+lu8+evw1MBNpyI5vKOMsUTERw2yEz7dGNGN988Jd23atjBnq33QWkkw6yxK3eO0AJMcJ01mSwLLG4dPg00HSZ8HOuOmrgU2HHCjF+YazQ0UreWLxFMxnhNtGYE+lIvyQ== foo@local

 


ビットコイン (Bitcoin) とは?を簡単にまとめてみた

果たしてビットコインとは何なのか?ビットコインという単語は今や殆どの人が知っていますが、具体的な内容を知る人はまだまだ少数です。そこで、本稿では初心者向けにビットコインは何なのかを簡潔に箇条書きにしてみました。

  • ビットコインのシステムにセンターサーバは存在せず、P2P技術が使われている。
  • 世界のビットコインの取り引き情報は全て公開されている。
  • ビットコインを日本ではデジタル=バーチャルという安直な発想から仮想通貨と呼ばれる事が多いが、世界的には暗号通貨 (Cryptocurrency) と呼ばれ、取引の際に公開鍵、秘密鍵、電子署名が用いられて成立することがポイントである。
  • ビットコインをやり取りするには「ビットコインアドレス(=公開鍵)」が必要。
  • 公開されている取引情報にはビットコインアドレスも含まれる。ビットコインは匿名性の高いシステムとなっているので、誰が幾らの資産を保有しているかは誰も知り得ない。
  • 誰が幾らの資産を保有しているかを知り得ないので本人の証明は秘密鍵でしか証明できない。秘密鍵を紛失したらビットコインは二度と取り出せない。秘密鍵の紛失=財産の紛失となる。
  • ビットコインアドレスや秘密鍵を管理する為に「ウォレット」が必要となる。ウォレットはスマートフォンアプリ、パソコンアプリ、専用デバイスなど多様な形で存在するし、デジタルだけでなくプリントアウトしたペーパーもウォレットにできる。
  • ウォレットを使うことで、公開鍵、秘密鍵、電子署名などをあまり意識することなく簡単にビットコインの授受ができる。
  • ビットコインにはセンターサーバが無いので、東京証券取引所やニューヨーク証券取引所のような中央で牛耳る取引所も存在しない。
  • つまりビットコインシステムは世界の誰も管理していない。
  • ビットコインを得るには、他人から貰うか取引所などで購入する。
  • ビットコインシステムは誰にも管理されていないので、取引所は誰でも勝手に開設できる。(将来的にどこかの国で法規制される可能性はある)
  • 取引所を誰でも開設できるので、交換レートはそれぞれの取引所でまちまちである。勿論、ある程度の相場感があるので、まともな取引所であれば相場から大きく外れることはない。すなわち取引所の信頼性を見極めることが大事。
  • 取引所が顧客のビットコインを盗難した事件が日本で発生した。原因はビットコインのシステムが脆弱だったのではなく、取引所の経営者が顧客から預かったビットコインを私的流用したものだった。今後も信頼できない他人へ預ければ同様の事件は起こり得る。
  • 当然ながらビットコインを保有しているだけで預金利息がつくわけではない。預金というよりあくまで現金保有に近い。
  • マイニング(ビットコインの取引サーバのひとつとして参加すること)をすることで収入を得ることもできる。但し、今となっては高度な処理能力のハードウェアが必要となってしまったので、オーバークロックマシン製作などの知識が無い人には障壁が高い。
  • マイニングしている人をマイナーと呼び、ビットコインの授受をする都度、手数料が発生しマイナーへ渡される。
  • ビットコイン授受の手数料は基本的には約0.0001BTCだが、一定条件で無料の場合もある。少額の授受は無料にならない。
  • ブロックチェーン技術で取引の確実性を向上させている。
  • 暗号通貨はビットコインの他に様々な種類の通過が世界で流通している。ビットコインは数多くの暗号通貨のうちの一種に過ぎないが、最も流通額が大きい。
  • ビットコインの単位は、BTCと表記される。
  • ビットコインの取引単位は小数点以下でも取引できる。例えば 0.0001 BTC を支払う事も可能。
  • ビットコインの為替相場は、1BTCで約12万8千円となっている。(2017年4月現在)
  • ビットコインは投機対象となっており、2016年8月に100万円で買ったビットコインは200万円に、2012年11月に100万円で買ったなら1億2000万円の価値になっている。
  • ビットコインの発明者は「サトシ・ナカモト」とされているが、これは実名ではなく日本人でさえない可能性もあり、人種、国籍や性別など正体不明となっている。
  • インフレ防止のために発行上限が決まっていて、2,100万 BTC が最大流通量。

以上、如何でしょうか?ぼんやりと全体像がイメージできるようになったと思います。上記のキーワードをもとに更にリサーチをして理解を深めてみるのも面白いかも知れませんね😊