【Windows】【DevOps】Windows Server 2022 在线/离线 安装openssh实现ssh远程登陆powershell、scp文件拷贝

服务器在线安装openssh

管理员权限启动powershell,输入指令

查看默认安装状态

复制代码
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

可以看到系统默认安装了客户端,未安装服务器端

安装服务器端

复制代码
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

启动服务、设置自启动、配置防火墙

复制代码
# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

客户端连接测试:(默认进入的是cmd)

windows powershell自带的ssh

复制代码
ssh 用户名@服务器ip地址

xshell

关于启动powershell

ssh连接默认启动的是服务器的cmd,如果要使用powershell,输入powershell指令进入即可:

客户端测试:scp

powershell自带的scp

复制代码
scp 1.txt yeqiang@ip:./1.txt

文件被拷贝到了用户主目录下,等价于Linux系统的~/1.txt

xftp

内网服务器离线安装openssh(高版本!)

github地址

GitHub - PowerShell/openssh-portable: Portable OpenSSH, all Win32-OpenSSH releases and wiki are managed at https://github.com/powershell/Win32-OpenSSH

下载msi文件

https://gh-proxy.com/https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.8.1.0p1-Preview/OpenSSH-Win64-v9.8.1.0.msi

拷贝到内网服务器上,执行安装

手动安装

双击安装

配置服务器

复制代码
# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

查看服务器状态

复制代码
PS C:\Users\Administrator> netstat -ano | findstr 22
  TCP    0.0.0.0:22             0.0.0.0:0              LISTENING       5600
  TCP    [::]:22                [::]:0                 LISTENING       5600
PS C:\Users\Administrator> get-service sshd

Status   Name               DisplayName
------   ----               -----------
Running  sshd               OpenSSH SSH Server

参考资料

适用于 Windows 的 OpenSSH 入门 | Microsoft Learn

相关推荐
数据智能老司机18 小时前
使用 MuleSoft 构建集成——系统集成的世界
架构·devops·连续集成
__Always20 小时前
Tortoisegit配置ssh教程
ssh·tortoisegti
智能运维指南1 天前
稳敏双态研发管理:现代企业DevOps平台选型新思维
devops·devops工具·devops产品·信创devops·一体化devops平台·研运一体化平台·devops系统
charlee442 天前
CMake构建学习笔记21-通用的CMake构建脚本
cmake·powershell·构建
wjm05192 天前
jenkins使用publishover ssh 进行远程连接
运维·ssh·jenkins
BigHong1232 天前
【软考论文】论DevOps及其应用
软考高级·devops·软考高级架构师·软考高级架构师论文·软考devops
会说话的吹风机2 天前
五、VSCODE SSH连接linux服务器免密登录
服务器·vscode·ssh
御龙冀人2 天前
解决VSCode无法下载服务器端 Server问的题
服务器·vscode·ssh
qq_441996053 天前
SSH 反向隧道:快速解决服务器网络限制
服务器·网络·ssh
陈哥聊测试3 天前
当DevOps落地实施撞上技术债务,如何量化债务突破困局
前端·自动化运维·devops