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

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

安装OpenSSH Server

图形界面

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

image

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

image

PowerShell方式

以下操作需要管理员权限

确认OpenSSH可用于安装

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

输出以下内容

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

安装OpenSSH Server

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

输出以下内容

Path          :
Online        : True
RestartNeeded : False

OpenSSH Server 服务配置

以下操作需要管理员权限

服务、防火墙相关

# 开启服务
Start-Service sshd

# 设置自启动
Set-Service -Name sshd -StartupType 'Automatic'

# 查看状态
Get-Service sshd

#关闭服务
Stop-Service sshd

# 重启服务
Restart-Service sshd

# 确认防火墙是放开的
Get-NetFirewallRule -Name *ssh*
  1. 确认OpenSSH-Server-In-TCP状态是enabled
  2. 至此可以在本地尝试ssh username@ip连接到远程机器

配置密钥免密登录

↓本地执行

# 生成密钥对
ssh-keygen -t rsa

# 找到公钥文件,复制内容备用
# Windows
# %HOMEPATH%.sshid_rsa.pub
# Linux
# $HOME/.ssh/id_rsa.pu

↑本地执行 | 远程执行↓

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

C:ProgramDatasshsshd_config
确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile    .ssh/authorized_keys

确保以下2条有注释掉
# Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

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

# 管理员运行
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force
Restart-Service sshd

参考链接

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

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/momoneko/p/17245830.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!