すでにご存知かもしれませんが、Windows 10 には SSH ソフトウェアが組み込まれています – クライアントとサーバーの両方があります!Windows 10 で OpenSSH サーバーを有効にする方法について説明します。 この記事では、SSH サーバーを有効にする方法を見ていきます。
広告
注意: OpenSSH Server アプリは、SSH プロトコルを使用してコンピューターとの接続を確立することができます。 ネットワーク上の他のコンピューターにアクセスすることはできません。 他のコンピューターに接続するには、OpenSSH Client をインストールしてください。
Windows 10 で、Microsoft は、何年にもわたって SSH クライアントとサーバーを要求してきたユーザーの声についに耳を傾けました。 OpenSSH の実装を含めることで、OS の価値が高まります。
この記事の執筆時点では、Windows 10 に含まれる OpenSSH ソフトウェアは BETA ステージにあります。 つまり、安定性の問題がある可能性があります。
提供される SSH サーバーは、Linux アプリと似ています。 一見したところ、*NIX の対応製品と同じ機能をサポートしているように見えます。 コンソール アプリですが、Windows サービスとして動作します。
Windows 10 で OpenSSH サーバーを有効にする方法を見てみましょう。
Enable the OpenSSH Server in Windows 10
- 設定アプリを開いてアプリ -> アプリ & 機能に移動してください。
- 右側の[オプション機能の管理]をクリックします。
- 次のページで[機能を追加する]ボタンをクリックします。
- 機能の一覧で[OpenSSH Server]を選択して[Install]ボタンをクリックします。
- Windows10を再起動します。
これでWindows 10にOpenSSH Serverソフトウェアがインストールされます。
そのバイナリファイルはc:\windows\system32\Openssh
フォルダの下に配置されています。 このフォルダーには、SSH クライアント アプリのほかに、次のサーバー ツールが含まれています:
- sftp-server.exe
- ssh-agent.exe
- ssh-keygen.exe
SSHサーバーはサービスとして動作するように設定されています。
この文章を書いた時点では、自動的に起動することはないようです。 手動で設定する必要があります。
How to Start the OpenSSH Server in Windows 10
- サービスのsshdエントリーをダブルクリックしてプロパティを開きます。
- 「ログオン」タブで、sshdサーバーが使用するユーザーアカウントを見てください。 私の場合、NT Servicesshdです。
- 次に、昇格コマンドプロンプトを開きます。
- コマンド
cd c:\windows\system32\Openssh
で、c:³³³ディレクトリに行きます。 - ここで、コマンド
ssh-keygen -A
を使ってsshdサーバーのセキュリティキーを生成してください。 - 次に、昇格したコマンド プロンプトで、
explorer.exe .
と入力して OpenSSH フォルダ内の File Explorer を起動します。 - Update: Microsoft は、権利割り当てプロセスを非常に簡単にする方法を公開しました。
PowerShell を管理者として開き、次のコマンドを実行します。 - あるいは、次の手順を実行することもできます。
ssh_host_ed25519_key ファイルを右クリックして、その所有者を sshd サービス ユーザー (例: NT Servicesshd) に変更します。 - 「追加」をクリックして、ユーザー「NT Service」に対し「読み取り」パーミッションを追加します。 Click “Apply” and confirm the operation.
- Finally, open Services (Press the Win + R keys and type services.msc in the Run box) and start the sshd service.このような状態になるように他のすべての権限を削除してください。
- Windows FirewallでSSHポートを許可する。 デフォルトでは、サーバーはポート22を使用しています。 昇格したコマンドプロンプトでこのコマンドを実行します。
netsh advfirewall firewall add rule name="SSHD Port" dir=in action=allow protocol=TCP localport=22
MicrosoftはPowerShell用に次の代替コマンドを提供しています:New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Service sshd -Enabled True -Direction Inbound -Protocol TCP -Action Allow -Profile Domain
- 最後に、ユーザーアカウントのパスワードを持っていない場合は設定します
さて、実際に試してみましょう
Windows10でSSHサーバーに接続する
sshクライアントを開いてください。 内蔵の OpenSSH クライアントを使用するなど、同じコンピューターで起動することも、ネットワーク上の別のコンピューターから起動することもできます。
一般的な場合、OpenSSH コンソール クライアントの構文は次のとおりです。
ssh username@host -p port
私の場合、コマンドは次のようになります。
ssh [email protected]
winaero が Windows ユーザー名、192.168.2.96 が私の Windows 10 PC の IP アドレスに相当します。 Arch Linux を実行している別の PC から接続します。
ついに入りましたね!
サーバでは、more, type, ver, copy などのクラシックな Windows コンソール コマンドを実行します。
しかし FAR Manager は実行できないのですが……。 白黒で壊れているように見えます:
もう 1 つ興味深い観察があります。 エクスプローラーなどの GUI アプリを起動することができます。 SSH に使用しているのと同じユーザー アカウントにサインインしている場合、それらはデスクトップ上で起動します。 参照:
さて、内蔵 SSH サーバーは、確かに遊んでみると面白いものですね。 Linux コンピューターに rdesktop のようなツールをインストールせずに Windows マシンを管理したり、X サーバーがインストールされていない Linux コンピューターから Windows の設定を変更したりすることができます。
これを書いている時点では、Windows 10 の組み込み SSH サーバーは BETA 段階なので、近い将来にもっと面白く、便利な機能になると思います。
Support us
Winaero ではユーザーのサポートを非常に頼りにしています。 このサイトが面白く、役に立つコンテンツやソフトウェアを提供し続けるために、以下のオプションをご利用ください: