Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

Windows101809およびWindowsServer2019には、OpenSSHに基づくSSHサーバーが組み込まれています。この記事では、Windows 10にOpenSSHサーバーをインストールして構成し、保護されたSSHプロトコルを介してリモートで接続する方法を示します(Linuxの場合と同様です🙂)。

以前のWindowsバージョンにもOpenSSHサーバーをインストールできますが、GitHub(https://github.com/powershell/Win32-OpenSSH)からwin32ポート用のOpenSSHを手動でダウンロードしてインストールする必要があります。 Win32-OpenSSHをインストールおよび構成する方法の例は、「WindowsにSFTPサーバー(SSH FTP)をインストールおよび構成する方法」の記事に記載されています。

内容:

  • WindowsにOpenSSHサーバーをインストールするにはどうすればよいですか?
  • Windows 10 / WindowsServer2019でSSHサーバーを構成する
  • OpenSSHサーバー構成ファイル(sshd_config)
  • SSH経由でWindows10に接続するにはどうすればよいですか?

WindowsにOpenSSHサーバーをインストールするにはどうすればよいですか?

OpenSSHサーバー機能をWindows101903にインストールする方法を見てみましょう(Windows Server 2019でも手順は同じです)。

OpenSSHパッケージ(RSATなど)は、これらの(および新しい)Windowsバージョンに Feature on Demand(FoD)として追加されています。 。

インターネットに直接アクセスできる場合は、PowerShellを使用してOpenSSHをインストールできます。

Add-WindowsCapability -Online -Name OpenSSH.Server*

またはDISMを使用する:

dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

設定からWindows10にOpenSSHをインストールすることもできます パネル([アプリ]->[アプリと機能]->[オプション機能の管理]->[機能の追加])。 OpenSSHサーバーを検索します リストでインストールをクリックします 。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

OpenSSHサーバーがインストールされていることを確認するには、次のコマンドを実行します。
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'

State : Installed

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

Windows 10 / WindowsServer2019でSSHサーバーを構成する

WindowsにOpenSSHサーバーをインストールした後、 sshdを変更する必要があります PowerShellを使用してサービスを自動および開始するサービス起動タイプ:
Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続
netstatを使用して、SSHサーバーが実行され、TCPポートでの接続を待機していることを確認します22:
netstat -na| find ":22"
組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続
Windows DefenderファイアウォールがTCPポート22を介したWindowsへのインバウンド接続を許可していることを確認してください:
Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled

Name DisplayName Description Enabled
---- ----------- ----------- -------
OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Inbound rule for OpenSSH SSH Server (sshd) True

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

ルールが無効になっている場合( Enabled =False )または欠落している場合は、New-NetFirewallRuleコマンドレットを使用して新しいインバウンドルールを作成できます:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

デフォルトでは、重要なOpenSSHコンポーネントは次のフォルダーにあります。

  • OpenSSHサーバーの実行可能ファイル:C:\Windows\System32\OpenSSH\
  • sshd_config ファイル(最初のサービス起動後に作成):C:\ProgramData\ssh
  • OpenSSHログ:C:\windows\system32\OpenSSH\logs\sshd.log
  • authorized_keysファイルとキー:%USERPROFILE%\.ssh\

OpenSSHのインストール後、新しいローカルユーザー(sshd)がコンピューター上に作成されます。

OpenSSHサーバー構成ファイル(sshd_config)

OpenSSHサーバーの設定は、構成ファイル%programdata%\ ssh \ sshd_configで変更できます。 。

たとえば、特定のドメインユーザーアカウント(またはすべてのドメインユーザー)のSSH接続を拒否するには、ファイルの最後に次のディレクティブを追加します。

DenyUsers woshub\admin@192.168.1.10
DenyUsers corp\*

特定のドメイングループへのSSH接続のみを許可するには:

AllowGroups woshub\sshadmins

または、ローカルグループへのアクセスを許可することもできます:

AllowGroups sshadmins

管理者権限を持つアカウントへのアクセスを拒否できます。この場合、SSHセッションで特権アクションを実行する必要がある場合は、runasを使用する必要があります。

DenyGroups Administrators

次のディレクティブは、RSAキーとパスワードを使用したSSHアクセスを許可します(RSAキーを使用してSSH経由でWindowsにアクセスする方法については次の記事で詳しく説明します):

PubkeyAuthentication yes
PasswordAuthentication yes

OpenSSHが接続を受信するポートは、sshd_configファイルのPortディレクティブで変更できます。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

sshd_configファイルに変更を加えた後、sshdサービスを再起動する必要があります。

restart-service sshd

SSH経由でWindows10に接続する方法

これで、SSHクライアントを介してWindows 10への接続を試みることができます(私はPuTTYを使用していますが、代わりに組み込みのWindows SSHクライアントを使用できます)。

最初の接続時に、既知のSSHホストのリストにホストを追加するための標準的なリクエストが表示されます。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

[はい]をクリックし、WindowsユーザーでWindows10にログオンします。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

SSH接続が成功すると、cmd.exeシェルはプロンプト文字列で開始します。

admin@win10pc C:\Users\admin>

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

コマンドプロンプトでさまざまなコマンド、スクリプト、またはアプリを実行できます。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

PowerShellコンソールでの作業が好きです。開始するには、次のコマンドを実行します:

powershell.exe

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

デフォルトのcmd.exeシェルをPowerShellforOpenSSHに変更するには、次のPowerShellコマンドを使用してレジストリを変更します。

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String –Force

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

SSH接続を再起動し、PowerShellがデフォルトのSSHシェルとして使用されていることを確認します(これはPS C:\Users\admin>で示されます) 。

組み込みのOpenSSHサーバーを使用したSSH経由でのWindowsの接続

PowerShellコンソールがSSHセッションで開始され、使い慣れた機能(タブのオートコンプリート、PSReadLineの色の強調表示、コマンド履歴など)が機能します。現在のユーザーがローカル管理者グループのメンバーである場合、すべてのセッションコマンドは昇格して実行されます。 UACが有効になっている場合。


  1. 修正:サーバーへの接続中にOmegleエラーが発生する

    Omegleは、世界中のどこにいても見知らぬ人とビデオチャットできるチャットルームであり、目的などでおそらく最も成功しているWebサイトです。ただし、サイトは「サーバーへの接続中にエラーが発生しました」というエラーメッセージが表示され、このサービスをまったく使用できなくなります。 この問題は簡単に解決でき、世界中で見つけることができる方法はかなりたくさんあります。それでも、私たちは最も成功した方法を集めて、ここのサイトでそれらを提示しました。頑張ってください! サーバーへの接続中にOmegleエラーが発生する原因は何ですか? 他の原因の中でも、エラーはインターネット接続設定の誤りが原

  2. SSH サーバーを使用して障害のある Windows PC にアクセスする方法

    システムが突然クラッシュし、コマンドに応答しなくなることがあります。コンピューター上の重要なものにアクセスしたいが、コンピューターが動作していないためにアクセスできない場合、状態はさらに悪化します。 SSH サーバーを使用して障害のある Windows PC にアクセスし、問題を解決できるようになりました。ほとんどの人は SSH とは何かを知らないかもしれません。そのため、先に進む前に、SSH について簡単に理解しておきましょう。 SSH サーバーとは SSH (別名 Secure Shell) は、セキュリティで保護されていないネットワーク上でネットワーク サービスを安全に操作するため