MacでSSHキーを生成する方法|ssh-keygenコマンドの使い方を徹底解説
オンラインセキュリティの強化は、今や多くの人にとって必須事項となっています。悪意ある攻撃者の手口が年々巧妙化する中、防御側のツールもそれに対応して進化し続ける必要があります。Secure Shell(SSH)は、公開鍵と秘密鍵のペアによってデータを安全に送信できる暗号化プロトコルです。
リモートサーバーへのアクセスや、Gitホスティングプラットフォームへのセキュリティ設定など、さまざまな場面でSSHキーの生成が必要になります。アクセス認証情報はオンラインセキュリティの中核を担う存在であり、macOSと標準搭載のターミナルアプリを使えば、SSHキーの生成は非常に簡単です。ここでは、その具体的な手順を詳しく解説します。
ssh-keygenを使ったSSHキーの生成方法
ssh-keygenコマンドを使えば、すぐに使用できる完全なSSHキーを生成するために必要なすべての操作を実行できます。キーの作成時には、採用するアルゴリズムやビット長などの各種設定を細かく指定することが可能です。これらの概念について詳しくは、本ガイド後半のセクションを参照してください。
macOSでSSHキーを生成する手順は以下のとおりです。
「アプリケーション」>「ユーティリティ」から、またはSpotlight検索でターミナルを起動します。続いて、希望するパラメータを指定してssh-keygenコマンドを入力します。
コマンドのバリエーションについては後述しますが、典型的なssh-keygenコマンドは次のような形式になります。
ssh-keygen -t ecdsa -b 521
使用したいアルゴリズムは-tオプションの後に指定し、必要なキー長は-bオプションの後に指定します。-bを省略した場合、ssh-keygenは選択したキータイプのデフォルトビット数を自動的に使用します。強力な暗号化アルゴリズムと十分なサイズのキーを組み合わせることが、データを守るうえで最も効果的です。
Enterキーを押すと生成プロセスが開始されます。さらにEnterキーを押すと、デフォルトのファイル保存場所が承認されます。必要に応じて変更することも可能ですが、特別な理由がない限りは、推奨フォルダにキーを保存しておくのがよいでしょう。
パスフレーズの入力を求められたら入力します。空白のまま進めることもできますが、SSHキーには必ずパスワード保護を設定することをおすすめします。たとえ自分以外がデバイスにアクセスしない環境であっても、多層的なセキュリティ対策に越したことはありません。
確認のためパスフレーズを再入力するとプロセスが完了し、公開鍵と秘密鍵のペアが生成されます。
macOSは両方の鍵を~/.ssh/ディレクトリに保存します。一方のファイルには公開SSHキーが、もう一方には秘密鍵が格納されます。秘密鍵は絶対に他人と共有してはいけない点に注意してください。
もしターミナルの操作が苦手であれば、Mac向けには他にも複数のSSHクライアントが存在するため、自分に合ったツールを選ぶこともできます。
SSHキーのコピー:Gitホスティングなどへの登録方法
生成プロセスが完了したら、ターミナルを使って公開鍵をコピーし、各サービスに登録できます。あわせて、作成時に使用されたファイル名も確認しておきましょう。先ほどの例では、macOSは公開SSHキーをid_ecdsa.pubファイルに保存しているため、このファイルを指定することになります。
公開SSHキーをクリップボードにコピーするには、以下の手順に従います。
- ターミナルを起動します。
- 正しいファイルパスを指定してpbcopy <コマンドを入力します。例:
pbcopy < ~/.ssh/id_ecdsa.pub
- Enterキーを押すと、公開鍵がクリップボードにコピーされます。
あとは、SSHキーを必要な場所に自由に貼り付けることができます。配布してよいのは、.pubファイルに保存されている公開鍵だけであることを忘れないでください。秘密鍵はご自身のみが使用するものです。
SSHキーの主な種類とサイズの違い
ssh-keygenコマンドでは、さまざまなアルゴリズムを使用した複数のキータイプとサイズを生成できます。まず、認証情報を作成する前に、利用するホスティングプラットフォームやサービスなどが推奨しているタイプを必ず確認しておきましょう。
ここでは、代表的なSSHキーの種類とそれぞれの特徴を紹介します。
- RSA: 最も広くサポートされているアルゴリズムで、多くの場面で有力な選択肢です。「長さは強さ」という言葉どおり、2048ビットまたは4096ビットのキーを作成するのが望ましく、2048ビットで十分な強度を持ちますが、より安全性を重視するなら4096ビットが理想的です。
- ECDSA: 比較的新しいアルゴリズムで、RSAと同等のセキュリティをより短いキーで実現でき、高速なパフォーマンスが魅力です。対応するキーサイズは256、384、521ビットです。
- Ed25519: 最新世代のアルゴリズムで、従来のキータイプのセキュリティとパフォーマンスを大きく向上させています。Apple自身も一部のデバイス間通信などでこの認証方式を採用しています。わずか256ビットでありながら、高いレベルのセキュリティを提供します。
SSHキーを生成する際は、-tオプションの後に、目的に合ったアルゴリズムタイプを正確に入力してください。
MacでSSHキーを作成する際に役立つコマンド一覧
ここまでssh-keygenコマンドの基本要素について説明してきましたが、状況によってはその他の機能を使いたいケースもあります。以下に、覚えておくと便利な関連コマンドとその用途をまとめました。
- -t: 使用するアルゴリズムを指定します。RSA、ECDSA、Ed25519が一般的で実用的な選択肢です。
- -b: ビット数を入力してキー長を指定します。-bコマンドを使用する前に、選択したアルゴリズムの要件を必ず確認してください。アルゴリズムごとに制限事項があります。
- -p: キーのパスフレーズを変更できます。ssh-keygenに-pオプションを付けて実行すると、ターミナルがファイルの場所を尋ねてきます。対象キーのパスを入力し、指示に従って新しいパスフレーズを設定してください。
- -f: 特定のファイル保存場所をssh-keygenに指定したい場合に使用します。
- -C: キーにコメントを追加できます。キーの識別やラベル付けに便利な機能です。
さらに、lsコマンドを使うと、デフォルトディレクトリに保存されているすべてのSSHキーを一覧表示できます。
ls -al ~/.ssh
ローカルのSSHキーを削除するには、ターミナルでrmコマンドを使用します。例えば、次のように入力します。
rm ~/.ssh/id_ecdsa
rm ~/.ssh/id_ecdsa.pub
最後に、コマンドの完全なリストを確認したい場合は、以下のコマンドですべての利用可能なオプションと詳細情報が表示されます。
man ssh-keygen
まとめ:macOSならSSHキーの生成も簡単
macOSでのSSHキー生成は、とてもシンプルです。ターミナルとssh-keygenツールさえあれば、アクセス認証情報の設計・作成・配布に必要なすべての操作が完結するため、追加ソフトウェアは一切不要です。正しいコマンドを入力すれば、あとはssh-keygenが自動的に処理してくれます。
一般的に使われるアルゴリズムはRSA、ECDSA、Ed25519の3種類で、それぞれ仕様や使用可能なキー長が異なります。作成時にこれらの詳細を指定したり、適切なオプションで細かな指示を加えたりできます。生成後も、ターミナルを使って保存済みキーのコピー、変更、削除といった管理作業を継続して行えます。
趣味でも実務でも、自分でアクセス認証情報を生成できるスキルは、学ぶ価値のある重要な知識です。私たちの生活がますますオンラインに移行する中で、個人データをしっかり守ることは不可欠であり、賢明な人はあらゆるセキュリティ手段を積極的に活用すべきです。
-
LinuxでSSHを設定して使う方法【初心者向け完全ガイド】
Linuxを使っているなら、SSHというツールの名前を一度は耳にしたことがあるでしょう。SSH(Secure Shell)は、クライアントとリモートサーバー間の安全な接続を確立するためのネットワークプロトコルです。ネットワーク経由で、さまざまな種類のコンピュータに安全にリモートログインできるよう設計されています。この記事では、SSHのセットアップ方法と、サーバーへのSSHキーの簡単な登録方法をわかりやすく解説します。 SSHのインストール まずはSSHサーバーをインストールしましょう。ソフトウェアセンターまたはパッケージマネージャーから「openssh-server」パッケージを検索してイ
-
Windows 10 で SSH キーを生成する方法【標準搭載 OpenSSH を活用】
Windows 環境で SSH キーを生成するには、かつてはサードパーティ製ツールをインストールする必要があり、手順も複雑でした。しかし、Windows 10 April 2018 Update 以降は OpenSSH クライアントが標準で搭載されるようになったため、ssh-keygen コマンドだけで簡単に SSH キーを作成できるようになりました。この記事では、事前確認からキーの生成、実際の接続までの全手順をわかりやすく解説します。 事前準備:OpenSSH クライアントの確認と有効化 まず、お使いの PC に OpenSSH がインストールされていることを確認しましょう。以前のバージョ