3、使用Powershell配置SSH远程管理

实验环境

主机名IP地址服务
Windows00110.1.220.101Openssh-Server
Client任意(能对服务端通信即可)Openssh-Client
1.配置SSH服务端
#获取OpenSSH的可用名称
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*' 
#安装OpenSSH服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 
#启动SSH服务
Start-Service -Name "sshd" 
#设置SSH服务自启动
Set-Service -Name "sshd" -StartupType Automatic 
#验证SSH服务运行
Get-Service -Name "sshd" | Select-Object *

#新建防火墙规则允许22端口运行
New-NetFirewallRule -Name "SSH" `
-DisplayName "SSH" `
-Description "Allow SSH" `
-Profile Any `
-Direction Inbound `
-Action Allow `
-Protocol TCP `
-Program Any `
-LocalAddress Any `
-RemoteAddress Any `
-LocalPort 22 `
-RemotePort Any 
2.配置SSH客户端

在 Windows Server 2022 上,默认情况下会安装 OpenSSH 客户端,但如果尚未安装,
请使用管理员权限运行 PowerShell 并按如下所示进行安装。

#获取OpenSSH的可用名称
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*' 
#安装OpenSSH服务端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
3.配置SSH密钥对

根据Windows上的OpenSSH默认设置,普通用户的公钥文件名与Linux默认值(authorized_keys)相同, 但是,[管理员] 组配置了另一个文件名,因此请注意配置。

# 服务端配置
# 查看SSH服务端SSH服务配置
Get-Content C:\ProgramData\ssh\sshd_config | Select-String -Pattern "^AuthorizedKeysFile" 
AuthorizedKeysFile      .ssh/authorized_keys
# 所有用户的默认位置,则需要注释掉以下2行
Get-Content C:\ProgramData\ssh\sshd_config -Tail 3 
# Match Group administrators
#      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

# 生成密钥对
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): #是否更改文件存储位置
Created directory 'C:\Users\Administrator/.ssh'.
Enter passphrase (empty for no passphrase):   # 设置私钥密码
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa.
Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:mOyrz2MfAghFfjgBsnPVhFR3rDC3rtWbrz6kNc/2/DQ Administrator@Windows001
The key's randomart image is:

# 重命名公钥名称
PS C:\Users\Administrator\.ssh> mv id_rsa.pub authorized_keys
# 查看密钥权限 由于Everyone权限会影响认证所以删除其权限
icacls authorized_keys
icacls authorized_keys /remove Everyone

# 客户端配置
mkdir .ssh 
cd .ssh
#下载私钥到客户机
scp Administrator@10.1.220.101:'C:\Users\Administrator\.ssh\id_rsa' ./
#测试是否生效
ssh Administrator@10.1.220.101 hostname

# 服务端配置
# 设置关闭密码身份验证(可选)
(Get-Content C:\ProgramData\ssh\sshd_config).Replace("#PasswordAuthentication yes","PasswordAuthentication no") | Set-Content C:\ProgramData\ssh\sshd_config 

# 重启SSH服务
Restart-Service -Name "sshd" 

4.证书密码代理

默认情况下,SSH-Agent与OpenSSH客户端程序一起安装,但是,默认情况下它是禁用的,因此请转到启用并启动该服务。

# 查看ssh-agent代理是否启用
Get-Service ssh-agent 

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent
# 启用ssh-agent服务
Start-Service -Name "ssh-agent" 
# 设置ssh-agent服务自启动
Set-Service -Name "ssh-agent" -StartupType Automatic 

# 添加密码代理
ssh-add '.ssh\id_rsa' 
Enter passphrase for .ssh\id_rsa: # 输入证书密码
Identity added: .ssh\id_rsa (administrator@Windows001)
# 查看代理密钥
ssh-add -l
3072 SHA256:1/WGNYBjT42BRlug/lTWr61InaqyZRFO2FZ6drG3zLU administrator@Windows001 (RSA)
# 删除所有代理密钥 
ssh-add -D

注意:

只有证书设置了密码此处才有意义

使用 SSH 代理在密钥对身份验证上自动输入密码

5.设置默认远程访问使用Powershell

从客户端登录到OpenSSH服务器时,命令提示符作为默认命令行管理程序运行, 但是,如果要将其更改为PowerShell,请按如下方式进行配置。

# 确认powershell命令的PATH
Get-Command powershell | Format-Table -AutoSize -Wrap 
# 在 OpenSSH 的注册表项中设置 DefaultShell=PowerShell
# 对于 PowerShell 的 PATH,指定上面的结果
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows可以使用SSH进行远程连接和管理。要在Windows使用SSH,首先需要安装SSH服务器和客户端。可以通过以下几个步骤来实现: 1. 安装OpenSSH服务器:在Windows中,可以通过PowerShell或者使用图形界面来安装OpenSSH服务器。使用PowerShell时,可以运行命令"Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0"来安装SSH服务器。 2. 配置OpenSSH服务器:安装完成后,需要配置OpenSSH服务器。可以通过修改OpenSSH服务器的配置文件来进行配置配置文件的路径为"C:\ProgramData\ssh\sshd_config"。可以根据需要修改端口号、密钥等配置项。 3. 启动OpenSSH服务器:配置完成后,可以通过服务管理器或者命令行来启动OpenSSH服务器。在服务管理器中,可以找到"OpenSSH SSH Server"服务,并将其启动类型设置为自动启动。 4. 使用SSH客户端:在Windows上,可以使用内置的PowerShell或者安装第三方的SSH客户端来连接到远程服务器。在PowerShell中,可以使用"ssh"命令来建立SSH连接并进行远程管理。 通过以上步骤,可以在Windows上成功使用SSH进行远程连接和管理。这样可以提高工作效率,并方便进行CI/CD等常见的开发任务。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Windows free ssh tools](https://download.csdn.net/download/ningfeng8899/87592100)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Windows系统服务器配置SSH服务](https://blog.csdn.net/qq_28545605/article/details/125672313)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [windowsssh配置](https://blog.csdn.net/weixin_45276304/article/details/124432837)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Selina_lv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值