Windows、Mac、LinuxでSSHキーを生成する方法

コンピューターにリモートで接続する場合、最も安全で最良の方法の1つは、Secure ShellSSH)接続を使用することです。これにより、ユーザーとリモートホストの間に暗号化された接続が作成され、送信されるデータが傍受されたり監視されたりすることがなくなります。 

SSHを介した安全なVNC接続(secure VNC connection over SSH)など、他のトラフィックのトンネルとしてSSHを使用することもできます。SSH接続をさらに安全にする方法の1つは、 SSHキーを使用することです。これにより、解読しやすい可能性のあるパスワードが617桁の暗号化キーに置き換えられます。ここでは、 Windows(Windows)Mac、およびLinuxコンピューターで新しいSSHキーを生成する方法を説明します。

SSHキーとは何ですか?(What Are SSH Keys?)

SSHキーを使用すると、 (SSH)Secure Shellプロトコルを使用してパスワードを使用せずに、リモートサーバーまたはPCへの安全な接続を作成できます。SSHキーはペアで作成され、秘密キーと公開キーは接続されたままになります。一方を他方なしで使用することはできません。

ほとんどの場合、接続を暗号化するために公開鍵はリモートPCまたはサーバーに残ります。次に、秘密鍵を使用してそのリモートデバイスで認証し、パスワードを入力しなくても接続して使用できるようにします。 

公開(Public)SSHキーと秘密SSHキーは、同じ全体の2つの部分です。秘密キーがないと、公開キーで認証して接続を確立することはできません。公開キーがないと、秘密キーは役に立ちません。WindowsMac、およびLinuxで新しい(Linux)SSHキーを生成してから、公開(public )キーをリモートデバイスに転送できます。

秘密(private)鍵は、PCまたはMacに安全に保存されます。このキーのコピーを安全に保存することが重要です(たとえば、パスワードマネージャー(password manager)を使用して)。紛失すると、リモート接続を再確立できない場合があります。 

また、公開鍵または秘密鍵を他の人と共有しないことも重要ですが、特に秘密鍵(またはそれを復号化する可能性のあるパスフレーズ)を共有することは重要です。秘密鍵を自由に使用できるため、不正なユーザーは追加の認証を必要とせずにリモートデバイスへの接続を確立できます。

Windowsを使用してSSHキーを生成する方法(How to Use Windows to Generate SSH Keys)

Windowsを使用して、組み込みのOpenSSHクライアントまたは一般的なサードパーティのPuTTYクライアントを使用して(PuTTY)SSHキーを生成できます。グラフィカルユーザーインターフェイス(GUI)を使用して新しいSSHキーを作成する場合は、PuTTYが最適なオプションです。組み込みのソフトウェアを使用する場合は、代わりにOpenSSH ( Windows PowerShell経由)を使用してください。

WindowsPowerShellを介したOpenSSHの使用(Using OpenSSH via Windows PowerShell)

  1. OpenSSHを使用する場合は、最初にOpenSSHが有効になっていることを最初に確認する必要があります。これを行うには、[スタート(Start)]メニューを右クリックし、[設定(Settings)]を選択します。

  1. [設定](Settings)メニューで、[アプリ(Apps )] >[アプリと機能(Apps & features )] >[オプション機能(Optional features)]を選択します。

  1. OpenSSHクライアント(OpenSSH Client)エントリの[オプション機能(Optional features)]メニューを確認します。そこにない場合は、[機能の追加]を選択します(Add a feature)

  1. [ OpenSSHクライアント(OpenSSH Client )]オプションを選択し、[インストール(Install)]を選択してインストールします。Windowsが必要なソフトウェアをインストールするまでしばらく待ちます。SSHを使用して(SSH)WindowsPC(Windows)に接続する場合は、必ずOpenSSHサーバー(OpenSSH Server )オプションも選択してください。

  1. OpenSSHがインストールされている状態で、[スタート(Start)]メニューを右クリックし、 [ Windows PowerShell(管理者)(Windows PowerShell (Admin)) ]を選択します。

  1. 新しいWindowsPowerShellウィンドウで、ssh-keygenと入力し、 (ssh-keygen)Enterキーを選択します。この時点で、キーの新しい保存場所とファイル名を入力するか、もう一度Enterキーを押し(enter)、ファイルをC:\Users\user\.ssh\ ユーザー(user)を独自のユーザーディレクトリに置き換えます)。

    ssh-keygenツールはデフォルトでRSA暗号化を使用しますが、代わりにssh-keygen -t methodと入力して、使用可能な暗号化オプションの1つ(dsa (method)、ecdsa、ed25519、rsa(dsa, ecdsa, ed25519, rsa) )に置き換えて、別の形式の暗号化に切り替えることができます。

  1. 次に、パスフレーズを入力する必要があります。これにより、PCの秘密鍵が暗号化され、必須ではありませんが、通常は推奨されます。覚えやすい単語やフレーズを使用できますが、代わりにここで安全なパスワードを使用することもできます。(use a secure password)パス(Type)フレーズを入力し、 Enterを選択して確認するか、単に空白のままにしてEnterを選択して空白のままにします。

  1. パスフレーズを追加すると、Windowsは(Windows)C:\Users\user\.ssh\ フォルダーに必要なキーを生成します(ユーザー(user)を独自のユーザーフォルダー名に置き換えます)。デフォルトのファイル名を使用することを選択した場合、id_rsa.pubファイルが公開鍵であり、id_rsa(拡張子なし)が秘密鍵です。鍵を生成したら、公開鍵を移動する必要があります。リモートPC、Mac、またはサーバーの.sshディレクトリへのキー(id_rsa.pub) 。

PuTTYの使用(Using PuTTY)

よく知られているPuTTYSSHクライアントは、ほとんどのWindowsユーザーのデフォルトクライアントです。これには、新しいSSHキーを生成するためのツールであるPuTTYgenなど、 (PuTTYgen)SSH接続を確立するための他のいくつかのツールが含まれています。

  1. PuTTYを使用してSSHキーを生成するには、PC用のPuTTYをダウンロードして(download PuTTY for your PC)インストールします。インストールしたら、[スタート(Start)]メニューからPuTTYgen(付属のSSHジェネレータツール)を起動し、[キーの種類]から[ (Type of key to generate)RSA ]を選択してオプションを生成し、[生成(Generate)]を選択します。代替の暗号化オプションの1つを選択することもできますが、以下の手順は異なる場合があります。

  1. キーを生成するプロセスの一部は、マウスをランダムに動かすことです。キーペアが生成されるまで、マウスまたはトラックパッドを使用して、プログレスバーのすぐ下の領域でこれを行います。

  1. キーにパスフレーズを追加する場合は、[キーパスフレーズ]ボックスと[パスフレーズ(Key passphrase )確認]ボックスにこれを入力し、[(Confirm passphrase)公開キー(Save public key)保存]と[秘密キー(Save private key)の保存]を選択してキーを保存します。OpenSSHのauthorized_keysボックスに貼り付ける公開鍵(Public key for pasting into OpenSSH authorized_keys )のテキストを選択し、右クリックして[コピー]を選択(Copy)て、手動でコピーしてファイルに貼り付けることもできます。

  1. キーを保存したら、公開キー(public key )をリモートPC、Mac、またはサーバーに移動できます。秘密鍵(private key)の場合、優先SSHクライアントで使用するには、これをC:\Users\user\.ssh\フォルダーに移動する必要がある場合があります(ユーザー(user )を正しいユーザーディレクトリに置き換えます)。

LinuxまたはMacでSSHキーを生成する方法(How to Generate SSH Keys on Linux or Mac)

OpenSSHは(OpenSSH)SSH管理用のゴールドスタンダードのツールセットであり、 Windowsバージョンと同様に、ssh-keygenツールは(ssh-keygen)MacまたはLinuxコンピューターで新しいSSHキーを生成するための最良の方法です。

結果として、SSHキーを生成するための(SSH)GUIツールはまれであり、通常は推奨されません。OpenSSHツールはすべてのMacコンピューターとほぼすべてのLinuxディストリビューション(all Linux distributions)に含まれているため、以下の手順は両方のプラットフォームで機能するはずです。

  1. まず、LinuxPCまたはMacで新しいターミナルウィンドウを開きます。Macを使用してSSHキーを生成する場合は、 Launchpadを使用して(Launchpad)ターミナル(Terminal)アプリを起動できます。Linux PCで新しい端末を開く手順は、ディストリビューションによって異なります。

  1. Linux PCまたはMacの新しいターミナルウィンドウで、ssh-keygenと入力し、 (ssh-keygen)Enterキーを選択します。Windowsのssh-keygen(ssh-keygen)と同様に、LinuxおよびMacバージョンはデフォルトでRSA暗号化を使用します。別の形式の暗号化を使用する場合は、ssh-keygen -t methodと入力し、使用する暗号化の形式(dsa、ecdsa、ed25519、rsaなど)に(dsa, ecdsa, ed25519, rsa)メソッド(method)を置き換えます。

  1. 次に、新しいSSHキーを保存する場所を決定する必要があります。デフォルトのファイル名と場所は、ターミナルウィンドウに丸括弧で囲まれて表示されます。キーを別の場所に別のファイル名で保存する場合は、ここに新しい場所とファイル名を入力してから、Enterキーを選択します。

  1. 次に、秘密鍵を暗号化するためにパスフレーズを入力する必要があります(使用する場合)。パスフレーズを2回入力するか、Enterキーを2回選択(enter)て、パスフレーズを空白のままにします(ただし、これはお勧めしません)。

  1. この時点で、SSHキーは指定した保存場所に生成され、RSA暗号化にはデフォルトのid_rsaファイル名(公開キーにはid_rsa.pub 、秘密キーには(id_rsa.pub)id_rsa)が使用されます。SSHを使用して接続を確立できるようにするには、公開鍵(id_rsa.pub)をリモートPC、Mac 、またはサーバーに移動する必要があります。

SSHを使用した安全な接続の確立(Making Secure Connections Using SSH)

SSHキーを生成したら、公開キーをリモートPC、 Mac、またはサーバーにコピーする必要があります。これは秘密鍵とリンクし、優先SSHクライアントが通常のパスワードなしで安全なSSH接続を確立できるようにします。たとえば、SSHを使用して別のMacにリモート接続(use SSH to connect to another Mac remotely)できます。

安全なSSH接続は、 (Secure SSH)SSHトンネルを使用して学校や職場のファイアウォールを回避するのに(get around a school or workplace firewall)も役立ちます。SSH使用して、Raspberry Pi(connect to (and update) a Raspberry Pi)またはその他のLinuxベースのPCおよびサーバーに接続(および更新)することもできます。ただし、 Windows 10でこれを行う場合は、 (Windows 10)OpenSSHサーバーが有効になっていることを確認する必要があります。



About the author

私はオーディオとユーザー アカウントの分野で長年働いてきた技術者です。Windows と Mac の両方のコンピューター、およびアップル製品の経験があります。また、2007 年からは Apple 製品の使い方についても教えています。主な専門分野は、ユーザー アカウントと家族の安全です。これに加えて、Windows 7 Home Premium、8.1 Pro、10 Pro、12.9 Mojave など、さまざまなソフトウェア プログラムの経験があります。



Related posts