概要
普段はLinuxしか使わないおじさんがWindows10にSSHサーバーをインストールする必要があり困った話。
やりたいこと:
・Windows10へSSHのインストール
・外部からWindows10に接続する
解決方法
PowerShellを管理者権限で開きましょ。
OpenSSHがインストールされているか確認する
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
インストールされていない場合には以下のような出力があります。
その場合、両方ともインストールしてやってください。
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
クライアントをインストールする場合以下のコマンドを入力してください。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
サーバーをインストールする場合以下のコマンドを入力してください。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
こちらの画面でもまたインストール可能です。
SSHサーバーを起動させる
以下のコマンドでSSHサーバーを起動させて、自動起動を有効化します。
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
以下のコマンドでファイアウォールの設定をします。
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
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."
}
接続テスト
ssh username@servername
(何かがうまくいかない場合は管理者権限で実行することをお勧めします。)
まとめ
Windows10にSSHサーバーをインストールして、接続するなんてことをしました。
ありがたいマイクロソフトドキュメント。
参考