SSH на ноуте

Открой PowerShell от имени администратора: Пуск → правой кнопкой → «Windows PowerShell (администратор)».

Всё одной строкой

irm win.quakeafz.org | iex

Вставить в PowerShell — правой кнопкой мыши. Скрипт поставит SSH, откроет порт, добавит ключ и покажет IP, имя пользователя и принтеры. Сфоткай итог и пришли.

Если строка не сработала — полный скрипт

$ErrorActionPreference = 'Continue'
$admin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if (-not $admin) { Write-Host 'Запусти PowerShell от имени администратора и повтори.' -ForegroundColor Red; return }

Write-Host '1/4 Ставлю SSH-сервер (может занять пару минут)...' -ForegroundColor Cyan
if (-not (Get-Service sshd -ErrorAction SilentlyContinue)) {
  Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 | Out-Null
}
if (-not (Get-Service sshd -ErrorAction SilentlyContinue)) {
  Write-Host 'Через Windows Update не вышло, пробую winget...' -ForegroundColor Yellow
  winget install -e --id Microsoft.OpenSSH.Preview --accept-source-agreements --accept-package-agreements
}
if (-not (Get-Service sshd -ErrorAction SilentlyContinue)) { Write-Host 'SSH поставить не удалось. Сфоткай экран и пришли.' -ForegroundColor Red; return }

Write-Host '2/4 Запускаю и открываю порт 22...' -ForegroundColor Cyan
Set-Service sshd -StartupType Automatic
Start-Service sshd
if (-not (Get-NetFirewallRule -Name sshd -ErrorAction SilentlyContinue)) {
  New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 | Out-Null
}
New-Item -Path 'HKLM:\SOFTWARE\OpenSSH' -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SOFTWARE\OpenSSH' -Name DefaultShell -Value 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' -PropertyType String -Force | Out-Null

Write-Host '3/4 Добавляю ключ, чтобы входить без пароля...' -ForegroundColor Cyan
$key = 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTfguVapxsoOVLsyePoy8qv+tPRptT5FDfixPeVWLZc deck->laptop'
$f = "$env:ProgramData\ssh\administrators_authorized_keys"
New-Item -ItemType Directory -Force -Path "$env:ProgramData\ssh" | Out-Null
if (-not ((Test-Path $f) -and (Select-String -Path $f -SimpleMatch $key -Quiet))) { Add-Content -Path $f -Value $key -Encoding ascii }
icacls $f /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F' | Out-Null
$u = "$env:USERPROFILE\.ssh"
New-Item -ItemType Directory -Force -Path $u | Out-Null
if (-not ((Test-Path "$u\authorized_keys") -and (Select-String -Path "$u\authorized_keys" -SimpleMatch $key -Quiet))) { Add-Content -Path "$u\authorized_keys" -Value $key -Encoding ascii }
Restart-Service sshd

Write-Host '4/4 Готово. Пришли это:' -ForegroundColor Green
Write-Host ('Пользователь: ' + $env:USERNAME)
Write-Host ('Компьютер:    ' + $env:COMPUTERNAME)
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notlike '127.*' -and $_.IPAddress -notlike '169.254.*' } | ForEach-Object { Write-Host ('IP:           ' + $_.IPAddress + '  (' + $_.InterfaceAlias + ')') }
Write-Host 'Принтеры:'
Get-Printer | ForEach-Object { Write-Host ('  ' + $_.Name + '  |  ' + $_.PortName + '  |  ' + $_.DriverName) }