首页/系统/Windows 运维速查/PowerShell Remoting over SSH

PowerShell Remoting over SSH

用 SSH 替代 WinRM 跑 PowerShell Remoting:跨平台、跨网段、不依赖域信任,适合 Linux/macOS 与 Windows 混合环境。

Windows 运维速查系统更新于 2026-10-12
用途以 SSH 为传输层建立 PowerShell 会话
服务端sshd_config 中配置 Subsystem powershell
客户端New-PSSession -HostName user@host -SSHTransport

常用示例

常用示例
# 服务端 %ProgramData%\ssh\sshd_config 增加(路径按实际 pwsh 位置)
# Subsystem powershell C:/Progra~1/PowerShell/7/pwsh.exe -sshs -NoLogo
Restart-Service sshd
# 客户端先冒烟
ssh user@web01 'hostname'
$s = New-PSSession -HostName user@web01 -SSHTransport
Invoke-Command -Session $s { $PSVersionTable.PSVersion }
Remove-PSSession $s
SSH 传输不支持 CredSSP 等 WinRM 专有参数;混合环境里它是“先能用”的兜底通道。

易错点

  • sshd_config 路径含空格时用 8.3 短名(C:/Progra~1)或加引号,否则子系统起不来
  • 改完 sshd_config 要重启 sshd 服务;日志在事件查看器或 %ProgramData%\ssh 下

数据来源与参考

  • Microsoft Learn:PowerShell Remoting over SSH
  • Microsoft Learn:在计算机之间远程处理

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌