Windows・Mac・LinuxでSSHキーを生成する方法【初心者向けガイド】
リモートでコンピューターに接続する際、最も安全で確実な方法のひとつがSecure Shell(SSH)接続です。SSHを使うと、自分とリモートホストの間に暗号化された通信路が確立され、送受信されるデータが第三者に盗み見られたり改ざんされたりする心配がなくなります。
さらに、SSHは他のトラフィックのトンネルとしても活用できます。たとえば、VNC接続をSSH経由で安全に行うといった使い方です。SSH接続をより強固にする方法として有効なのが「SSHキー」の利用です。パスワードの代わりに617桁にもなる暗号鍵を使用することで、総当たり攻撃などによる解読を極めて困難にします。この記事では、Windows・Mac・Linuxそれぞれの環境で新しいSSHキーを生成する手順を詳しく解説します。
SSHキーとは?
SSHキーとは、Secure Shellプロトコルを使ってリモートサーバーやPCにパスワードなしで安全に接続するための仕組みです。SSHキーは必ずペアで作成され、「秘密鍵」と「公開鍵」の2つがセットとして機能します。片方だけでは接続に使用できません。
一般的には、公開鍵をリモート側のPCやサーバーに配置して接続を暗号化し、秘密鍵を使ってそのリモートデバイスに対する認証を行います。これにより、パスワードを入力することなく安全に接続できるようになります。
公開鍵と秘密鍵は同じものの2つの部分であり、秘密鍵がなければ公開鍵での認証も接続の確立もできず、逆に公開鍵がなければ秘密鍵は無意味です。Windows・Mac・Linuxのいずれでも新しいSSHキーを生成でき、生成後は公開鍵をリモートデバイスへ転送します。
秘密鍵は自分のPCやMac上に安全に保管します。万が一に備えて、パスワードマネージャーなどを利用してバックアップを取っておくことをおすすめします。紛失すると、リモート接続を再確立できなくなる可能性があります。
また、公開鍵・秘密鍵のいずれも他人と共有してはいけません。特に秘密鍵(およびそれを復号するパスフレーズ)の管理は厳重に行ってください。秘密鍵が悪意あるユーザーの手に渡れば、追加認証なしにあなたのリモートデバイスへ接続されてしまう恐れがあります。
WindowsでSSHキーを生成する方法
Windowsでは、標準搭載のOpenSSHクライアントか、定番のサードパーティ製クライアント「PuTTY」を使ってSSHキーを生成できます。GUI(グラフィカルユーザーインターフェース)で操作したい場合はPuTTYが最適です。標準のソフトウェアだけで完結させたい場合は、PowerShell経由でOpenSSHを使用しましょう。
OpenSSHをPowerShellから使う
- まず、OpenSSHが有効になっているか確認します。スタートメニューを右クリックし、「設定」を選択します。
- 設定メニューから「アプリ」>「アプリと機能」>「オプション機能」を開きます。
- オプション機能の一覧に「OpenSSH クライアント」があるか探します。見つからない場合は「機能の追加」を選択します。
- 「OpenSSH クライアント」を選択して「インストール」をクリックします。インストール完了までしばらく待ちましょう。なお、Windows PC自身にSSHで接続したい場合は「OpenSSH サーバー」もインストールしてください。
- インストールが完了したら、スタートメニューを右クリックして「Windows PowerShell(管理者)」を選択します。
- PowerShellウィンドウでssh-keygenと入力し、Enterキーを押します。ここで保存先とファイル名を指定することもできますし、そのままEnterを押せばC:\Users\ユーザー名\.ssh\フォルダに保存されます。
ssh-keygenはデフォルトでRSA暗号を使用しますが、ssh-keygen -t 方式と入力すれば別の暗号方式に変更できます(dsa、ecdsa、ed25519、rsaから選択可能)。
- 次にパスフレーズの入力を求められます。これはPC上の秘密鍵を暗号化するもので、必須ではありませんが設定が推奨されます。覚えやすい単語やフレーズでも、セキュリティの高いパスワードでも構いません。入力してEnterキーを押すか、空欄のままEnterを押してスキップすることも可能です。
- パスフレーズを設定すると、C:\Users\ユーザー名\.ssh\フォルダ内にキーが生成されます。デフォルトのファイル名の場合、id_rsa.pubが公開が公開鍵、拡張子のないid_rsaが秘密鍵です。キー生成後は、公開鍵(id_rsa.pub)をリモートのPC・Mac・サーバーの.sshディレクトリに移動してください。
PuTTYを使う
多くのWindowsユーザーにとって標準的なSSHクライアントであるPuTTYには、SSHキーを生成できるPuTTYgenというツールが付属しています。
- PuTTYをダウンロードしてインストールし、スタートメニューからPuTTYgenを起動します。「生成する鍵の種類」でRSAを選択し、「Generate」をクリックします。他の暗号方式も選択できますが、以降の手順は多少異なる場合があります。
- キー生成中は、プログレスバー下の空白エリアでマウスをランダムに動かす必要があります。キーペアが生成されるまで、マウスやトラックパッドでこの領域内を動かし続けてください。
- パスフレーズを設定したい場合は、「Key passphrase」と「Confirm passphrase」に入力し、「Save public key」「Save private key」で各キーを保存します。また、「Public key for pasting into OpenSSH authorized_keys」欄のテキストを選択して右クリック→「コピー」で、公開鍵を手動でファイルに貼り付けることもできます。
- キーの保存が完了したら、公開鍵をリモートのPC・Mac・サーバーへ移動します。秘密鍵については、お使いのSSHクライアントで利用できるよう、C:\Users\ユーザー名\.ssh\フォルダに移動しておくとよいでしょう。
Linux・MacでSSHキーを生成する方法
OpenSSHはSSH管理ツールの事実上の標準であり、Windows版と同様に、MacやLinuxで新しいSSHキーを生成する最良の方法はssh-keygenツールです。
そのため、GUIベースのSSHキー生成ツールは少なく、あまり推奨されません。OpenSSHはすべてのMacとほぼすべてのLinuxディストリビューションに標準搭載されているため、以下の手順は両プラットフォーム共通で使えます。
- まず、Linux PCまたはMacでターミナルウィンドウを開きます。Macの場合はLaunchpadから「ターミナル」アプリを起動できます。Linuxでのターミナルの開き方はディストリビューションによって異なります。
- ターミナルでssh-keygenと入力し、Enterキーを押します。Windows版と同様、Linux/Mac版もデフォルトではRSA暗号が使用されます。別の暗号方式を使いたい場合は、ssh-keygen -t 方式と入力してください(例:dsa、ecdsa、ed25519、rsa)。
- 次に、新しいSSHキーの保存場所を決めます。デフォルトのファイル名と保存先が括弧内に表示されるので、変更したい場合は新しい場所とファイル名を入力してEnterキーを押します。
- 続いて、秘密鍵を暗号化するためのパスフレーズを入力します(任意)。パスフレーズを2回入力するか、Enterを2回押して空欄のまま進めることもできます(ただし非推奨です)。
- これで、指定した保存場所にSSHキーが生成されます。RSA暗号の場合、デフォルトのファイル名は公開鍵がid_rsa.pub、秘密鍵がid_rsaです。SSHで接続を確立できるように、公開鍵(id_rsa.pub)をリモートのPC・Mac・サーバーへ移動してください。
SSHで安全な接続を実現しよう
SSHキーの生成が完了したら、公開鍵をリモートのPC・Mac・サーバーにコピーしましょう。公開鍵は自分の秘密鍵と連携し、普段使いのSSHクライアントがパスワードなしで安全なSSH接続を確立できるようにします。たとえば、SSHを使って別のMacにリモート接続することも可能です。
安全なSSH接続は、SSHトンネルを通じて学校や職場のファイアウォールを回避する手段にもなります。また、Raspberry Piやその他のLinuxベースのPC・サーバーへの接続や更新にもSSHが活用できます。Windows 10でこれを行う場合は、あらかじめOpenSSHサーバーを有効にしておく必要がある点に注意してください。
-
Windows・Macで画像をぼかす方法|おすすめ編集ツール5選
旅行中の素敵な写真に、知らない人が写り込んでしまった経験はありませんか?その部分だけ編集したい、SNSに投稿したいけれど一部を隠したい——そんな悩みを抱えている方は多いはずです。実は、画像を切り取ることなく、不要な部分だけをぼかして処理することができます。ぼかし(ブラー)効果を使えば、被写体に自然に視線を集中させることが可能です。数ステップで不要な部分をぼかせるアプリも多数登場しています。 本記事では、WindowsとMacで画像をぼかす方法を詳しく解説します。 Windowsで画像をぼかす方法 TweakShot Capture 画像の編集やぼかし効果を適用できるツールは数多くありますが、W
-
Windows・Mac・LinuxでWi-Fiパスワードを確認する方法【コマンド完全ガイド】
不正なWi-Fi接続を防ぐために、強力なパスワードを設定している方は多いでしょう。しかし、同じWi-Fiネットワークに2台目のデバイスを接続したいときにパスワードを思い出せず、困った経験はありませんか? そこで本記事では、Windows・Mac・Linuxそれぞれの環境で、保存済みのWi-Fiパスワードを確認する方法をわかりやすく解説します。 WindowsでWi-Fiパスワードを確認する方法 コマンドプロンプト(CMD)を使えば、数ステップでWi-Fiパスワードを確認できます。以下の手順に従ってください。 Windowsの検索バーに「cmd」と入力し、右クリックして「管理者として実行」を選