当前位置:首页学习教程系统教程使用SSH管理Windows

使用SSH管理Windows

网上有很多关于使用win10-ssh客户端登录linux-ssh服务端的介绍,但很少介绍多台win10-ssh服务端之间互访的。以下记录如何免密登录win10-ssh服务

  • 根据微软文档描述,适用于Windows 10 1809 或 Windows Server 2019以上版本
  • 以下内容如果无特别说明,在远程Windows主机上操作

安装OpenSSH Server

图形界面

点开 设置 -> 应用 -> 应用与功能 -> 可选功能

使用SSH管理Windows-1

点击 添加功能 后跳出对话框,输入”ssh”,勾选安装”OpenSSH 服务器”

使用SSH管理Windows-2

PowerShell方式

以下操作需要管理员权限

确认OpenSSH可用于安装

  1. Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

输出以下内容

  1. Name : OpenSSH.Client~~~~0.0.1.0
  2. State : Installed
  3. Name : OpenSSH.Server~~~~0.0.1.0
  4. State : NotPresent

安装OpenSSH Server

  1. Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

输出以下内容

  1. Path :
  2. Online : True
  3. RestartNeeded : False

OpenSSH Server 服务配置

以下操作需要管理员权限

服务、防火墙相关

  1. # 开启服务
  2. Start-Service sshd
  3. # 设置自启动
  4. Set-Service -Name sshd -StartupType 'Automatic'
  5. # 查看状态
  6. Get-Service sshd
  7. #关闭服务
  8. Stop-Service sshd
  9. # 重启服务
  10. Restart-Service sshd
  11. # 确认防火墙是放开的
  12. Get-NetFirewallRule -Name *ssh*
  1. 确认OpenSSH-Server-In-TCP状态是enabled
  2. 至此可以在本地尝试ssh username@ip连接到远程机器

配置密钥免密登录

↓本地执行

  1. # 生成密钥对
  2. ssh-keygen -t rsa
  3. # 找到公钥文件,复制内容备用
  4. # Windows
  5. # %HOMEPATH%\.ssh\id_rsa.pub
  6. # Linux
  7. # $HOME/.ssh/id_rsa.pu

↑本地执行 | 远程执行↓

打开文件%HOMEPATH%\.ssh\authorized_keys
把公钥文件添加到上述文件末尾
修改文件C:\ProgramData\ssh\sshd_config,内容如下
重启服务Restart-Service sshd

  1. C:\ProgramData\ssh\sshd_config
  2. 确保以下3条没有被注释
  3. PubkeyAuthentication yes
  4. AuthorizedKeysFile .ssh/authorized_keys
  5. 确保以下2条有注释掉
  6. # Match Group administrators
  7. # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

(可选)配置PowerShell作为SSH连接默认SHELL

  1. # 管理员运行
  2. New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
  3. Restart-Service sshd

参考链接

适用于 Windows 10 1809 和 Server 2019 的 OpenSSH 服务器配置

个人中心
今日签到
私信列表
搜索