📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

Wiki がページ「設定 - SSHの有効化(Windows10)」を「設定 - SSHの有効化(Windows)」に、リダイレクトを残さずに移動しました
 
(同じ利用者による、間の8版が非表示)
5行目: 5行目:


== OpenSSHサーバのインストール ==
== OpenSSHサーバのインストール ==
==== [設定]画面からインストール : Winodws 10 ====
# [スタート] - [設定]を選択する。
# [スタート] - [設定]を選択する。
# [アプリ]を選択する。
# [アプリ]を選択する。
# [オプション機能の管理]を選択する。
# [オプション機能]を選択する。
# [機能の追加]を選択する。<br>なお、[OpenSSH クライアント]は標準でインストールされている。
# [機能の追加]を選択する。<br>なお、[OpenSSH クライアント]は標準でインストールされている。
# [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。
# [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。
# インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。<br>サービスを開始して、スタートアップを[自動]に変更しておくとよい。
# インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。<br>サービスを開始して、スタートアップを[自動]に変更しておくとよい。
# コマンドプロンプトまたはPowerShellを管理者権限で実行する。
# SSHサーバを設定するため、コマンドプロンプトまたはPowerShellを管理者権限で実行する。
## SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。
## SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。
##: <code>copy C:\Windows\System32\OpenSSH\sshd_config_default C:\ProgramData\ssh\sshd_config</code>
##: <code>copy C:\Windows\System32\OpenSSH\sshd_config_default C:\ProgramData\ssh\sshd_config</code>
## SSHの設定ファイル(C:\ProgramData\ssh\sshd_config)において、変更したい箇所がある場合、管理者権限でテキストエディタを開いて編集する。
## SSHの設定ファイル(C:\ProgramData\ssh\sshd_config)において、変更したい箇所がある場合、管理者権限でテキストエディタを開いて編集する。
## コマンドプロンプトまたはPowerShellを管理者権限で起動して、ファイヤーウォールにおいて、SSHで使用するポート番号(TCP)を開放する。
## ファイヤーウォールにおいて、SSHで使用するポート番号(TCP)を開放する。
##: <code>New-NetFirewallRule -Protocol TCP -LocalPort <SSHのポート番号> -Direction Inbound -Action Allow -DisplayName SSH</code>
##: <code>New-NetFirewallRule -Protocol TCP -LocalPort <SSHのポート番号> -Direction Inbound -Action Allow -DisplayName SSH</code>
##: <code>例. New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH</code>
##: <code>例. New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH</code>
24行目: 25行目:
# Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。
# Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。
<br>
<br>
以上で、OpenSSHサーバのインストールは完了である。<br>
 
==== [設定]画面からインストール : Winodws 11 ====
# [スタート] - [設定]を選択する。
# [システム]を選択する。
# [オプション機能]を選択する。
# [オプション機能を追加する]から[機能の表示]を選択する。<br>なお、[OpenSSH クライアント]は標準でインストールされている。
# [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。
# インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。<br>サービスを開始して、スタートアップを[自動]に変更しておくとよい。
# SSHサーバを設定するため、コマンドプロンプトまたはPowerShellを管理者権限で実行する。
## SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。
##: <code>copy C:\Windows\System32\OpenSSH\sshd_config_default C:\ProgramData\ssh\sshd_config</code>
## SSHの設定ファイル(C:\ProgramData\ssh\sshd_config)において、変更したい箇所がある場合、管理者権限でテキストエディタを開いて編集する。
## ファイヤーウォールにおいて、SSHで使用するポート番号(TCP)を開放する。
##: <code>New-NetFirewallRule -Protocol TCP -LocalPort <SSHのポート番号> -Direction Inbound -Action Allow -DisplayName SSH</code>
##: <code>例. New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH</code>
## SSHを開始する。
##: <code>Start-Service sshd</code>
## Windowsの起動時に、SSHサーバが自動起動するように設定する。
##: <code>Set-Service sshd -StartupType Automatic</code>
# Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。
<br>
==== PowerShellからインストール ====
# PowerShellを管理者権限で実行する。
# OpenSSHが利用可能であることを確認する。
#: <code>Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'</code>
#: <br>
#: <code>出力例 : OpenSSHがインストールされていない場合</code>
#: <code><nowiki>Name  : OpenSSH.Client~~~~0.0.1.0</nowiki></code>
#: <code>State : NotPresent</code>
#: <br>
#: <code><nowiki>Name  : OpenSSH.Server~~~~0.0.1.0</nowiki></code>
#: <code>State : NotPresent</code>
#: <br>
# OpenSSHサーバおよびOpenSSHクライアントのコンポーネントをインストールする。
#: # OpenSSHクライアントのインストール
#: <code><nowiki>Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0</nowiki></code>
#: <br>
#: # OpenSSHサーバのインストール
#: <code><nowiki>Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0</nowiki></code>
#: <br>
# PowerShellを管理者権限で実行して、sshdサービスを起動および自動起動の設定を行う。
#: sshdサービスを起動する
#: <code>Start-Service sshd</code>
#: <br>
#: sshdサービスを自動起動する
#: <code>Set-Service -Name sshd -StartupType 'Automatic'</code>
#: <br>
# ファイアウォールルールを設定する。
<syntaxhighlight lang="powershell">
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled))
{
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
}
else
{
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
</syntaxhighlight>
<br>
OpenSSHのインストールが完了した後、OpenSSHクライアントをインストールした別端末からOpenSSHサーバに接続する。<br>
<br><br>
 
== OpenSSHサービスのアンインストール ==
PowerShellを管理者権限で実行して、OpenSSHコンポーネントをアンインストールする。<br>
<syntaxhighlight lang="powershell">
# OpenSSHクライアントのアンインストール
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# OpenSSHサーバのアンインストール
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
</syntaxhighlight>
<br>
OpenSSHサービスをアンインストールした後、Windowsを再起動する。<br>
<br><br>
<br><br>