茱萸note

電子工作の備忘録と旅行の記録

SSH Windows 電子工作

Windows 10 で OpenSSH サーバーを使う

投稿日:

Windows 10 で OpenSSH サーバーを立ち上げて、外部から SSH ログインできるようにします。


目次


Windows 10 には、SSH クライアントが標準でインストールされています。また、SSH サーバーも Windows の設定から簡単に追加できます。

この記事は、Windows 10 PC に OpenSSH サーバーをインストールして、外部からこの PC に SSH ログインできるようにします。

OpenSSH サーバーの機能を追加する

設定の『アプリ』から、『アプリと機能』の『オプション機能』を選択。『機能の追加』を選択し、『OpenSSH サーバー』をインストールします。

インストールが完了したら、PowerShell を管理者権限で起動します。

以下のコマンドで、SSH サーバーのサービスを起動します。

powershell💩Start-Service sshd

サービスの自動起動を設定します。

Set-Service -Name sshd -StartupType Auto

Windows のファイアウォールの設定をします。22番ポート経由の SSHサーバーへのアクセスを有効にします。

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName "sshd"


以上で OpenSSH サーバーが有効化されました。以下に示すように、SSH コマンドでろぐいんできます。ユーザー名は Windows のユーザー名、IP アドレスは ログイン先の Windows PC の IP アドレス(ipconfig で調べられる)、パスワードはログインパスワードです(ローカルアカウントの場合)。

ssh ユーザー名@192.168.X.X

Windows に SSH 接続すると、コマンドプロンプトが起動します。ログインシェルを PowerShell に変更することもできるそうです。

公開鍵認証でログインできるようにする

鍵を作成する

公開鍵認証も使えます。接続元(SSH コマンドで Windows マシンに接続しようとする側)で、秘密鍵と公開鍵のペアを作成します。既に鍵が作成済みであれば、この作業は不要です。

鍵の有無は次の方法で確認できます。Unix 系の OS の場合、以下のコマンドを入力して、id_rsa.pubid_ecdsa.pub といったファイルが存在すれば、それが公開鍵ですので、新たに作成する必要はありません。Windows の場合も、C:\Users\ユーザー名\.ssh を確認すればわかります。

ls -la ~/.ssh

公開鍵が存在しない場合は、作成する必要があります。以下のコマンドで作成できます。

ssh-keygen -t ecdsa

途中、鍵のペアを保存する場所や、パスフレーズの入力が求められますが、基本的に Enter を連打してスキップすれば大乗です。パスフレーズが設定されるとログインの度にパスフレーズの入力が必要となります。

鍵のペアが、~/.ssh C:\Users\ユーザー名\.ssh に作成されました。id_ecdsa が秘密鍵で、id_ecdsa.pub が公開鍵です。

公開鍵を登録する

まず、先ほど作成した公開鍵を、何らかの方法で接続先の Windows PC に公開鍵をコピーします。公開鍵は .pub の方です。

次からの作業は、OpenSSH サーバーをインストールした接続先の Windows PC でおこないます。

まず、転送した公開鍵を administrators_authorized_keys という名前に変更します。拡張子はナシです。

次に、その administrators_authorized_keysC:\ProgramData\ssh フォルダに移動させます。

管理者権限が必要と言われますが続行します。

コピーした administrators_authorized_keys のアクセス権限を変更します。

administrators_authorized_keys を右クリックして『プロパティ』を選択。

『セキュリティ』のタブを選択。『詳細設定』を選択。

『アクセス許可の変更』を選択。

『継承の無効化』を選択。

『継承されたアクセス~』を選択。

『Authenticated Users』を選択し『削除』

『OK』を押して押してプロパティを閉じます。

以上で、公開鍵の登録は完了です。

以後、公開鍵を追記したい場合は、VScode などのテキストエディタを管理者として起動し、C:\ProgramData\ssh\administrators_authorized_keys を直接編集すれば良いと思います。

-電子工作
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【Ubuntu】【上級者向け】Grubブートローダをインストールする

「EFIシステムパーティションを新たに作成した」などの理由でGrubブートローダをインストールしたい人に向けてその方法を説明します。

Raspberry Pi をスマートリモコン化! Alexa で部屋の照明を操作する【Alexa×Raspberry Pi その2】

Raspberry Pi に赤外線LED・赤外線受光モジュールを付けて、Raspberry Pi を学習リモコン・スマートリモコン化します。そして、Raspberry Pi を AWS IoT 連携させて Alexa で部屋の照明を操作します。

ESP8266 で Tp-Link のスマートプラグ『Tapo P105』を直接操作する

Tp-Link のスマートプラグ『Tapo P105』をアプリや IFTTT といった外部サービスを用いずに、ESP8266 から直接操作してみます。

【上級者向け】Ubuntuをデュアルブートする《その2:USBメモリ・外付けHDDにUbuntuを入れる》

WindowsとUbuntuでデュアルブートさせたいけど、Ubuntuは空っぽのUSBメモリ・外付けHDDに入れたい人向けの説明です。(超)上級者向け。

権限のない環境でvirtualenvを入れる

sudoが使えない、root権限のない環境でvirtualenvを入れます。