Windows 11 で OpenSSHサーバたててファイル送受信

なんかwingetとか色々なルートがあってややこしいんだが、今回は「Get started with OpenSSH Server for Windows | Microsoft Learn」のルートに従う。GUIでやろうとしたけど、SSHクライアントはあるのにSSHサーバが見つからなかったのでCUI経由でいく。

目次

環境

  • サーバ: Windows 11 Home
  • クライアント: macOS 14.8.3

SSHの鍵認証のやり方(秘密鍵・公開鍵・aurhorized_keysの関係)は知っているものとする。つまりLinux/Mac/UNIXでは普通に鍵認証でSSHやっている人向け。

手順

Powershellを管理者権限で起動する。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

これでClientとServerでNotPresentになってるのがあったらインストールする。

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

けっこう時間かかった。なんでなん。

終わったら以下が表示される。

Path          :
Online        : True
RestartNeeded : False

そしたら起動設定する。

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
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)) {
    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."
}

最後のクソ長コマンドは要はポート22を開けている。

そんでここからが面倒なのだが、C:\ProgramData\sshsshd_configがあるのだが、以下のような記述がある。

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

なにこれ?と思ったけど管理者がログインしてきたときのaurhorized_keysの場所を指定しているらしい。個人ユーザなら普通は管理者であろう。権限的に面倒臭いので、コメントアウトして無視する。ただし書き換えるには管理者権限が必要であるため、メモ帳を管理者権限で開き、メモ帳からファイルを開いて、#をつけてコメントアウト。

そうしたら、C:\Users\ユーザ名\.sshaurhorized_keysを作って、公開鍵を登録する。

そしたらMacから以下を実行。

ssh ユーザ名@IPアドレス

ログインできたらOK。

scpの試験。

touch test.txt
scp test.txt ユーザ名@IPアドレス:

ホームディレクトリに出来たらOK。

所感

例によってエラい苦労した。まぁでもSSH環境構築の面倒くささはWindowsで嫌になるポイントの一つではあったので、いつのまにか公式でちゃんと対応していたのはよかったと思う。めんどくさかったけど。

この記事をいいなと思っていただけた方、よければ高評価・チャンネル登録……はないので、コメント・SNSでシェア・ブックマーク、RSSフィード登録を、よろしくお願い致します。

コメント

コメントする

目次