在Windows server 2008 R2上安装OpenSSH

在Windows server 2008 R2上安装OpenSSH

在 Windows Server 2008 R2 上安装 OpenSSH 稍微有点麻烦,因为这个系统较老,不像 Windows 10+ 或 Windows Server 2019+ 那样内置 OpenSSH 服务。但可以通过第三方手动安装方式来实现。下面是推荐的方法:

✅ 安装步骤(适用于 Windows Server 2008 R2)

🔧 方法一:使用 Win32-OpenSSH(推荐)

微软官方在 GitHub 上提供了 Win32-OpenSSH(可用于旧系统)

🔽 第一步:下载 Win32-OpenSSH
1. 打开 Win32-OpenSSH Releases 页面。
2. 找到适合 Windows Server 2008 R2 的版本(推荐 v7.7.2.0 或以下旧版本)。
3. 下载 OpenSSH-Win64.zip(如果是 64 位系统)或 OpenSSH-Win32.zip(32 位)。

🧩 第二步:解压并放到目标路径
1. 解压文件到一个固定位置,如:
C:\Program Files\OpenSSH
2. 打开命令提示符(管理员权限),执行以下命令将其加入 PATH:

setx PATH "%PATH%;C:\Program Files\OpenSSH"

🛠️ 第三步:安装 SSH 服务
1. 在管理员命令提示符中进入 OpenSSH 目录:

cd "C:\Program Files\OpenSSH"
2.	安装 sshd 和 ssh-agent 服务:
install-sshd.ps1   (如果是 PowerShell)
或
.\install-sshd.cmd
3.	启动服务并设置为开机自启:
sc start sshd
sc config sshd start= auto

🔑 第四步:生成 Host Keys(如果未自动生成)

.\ssh-keygen.exe -A

🧪 第五步:测试连接

尝试从另一台机器通过:

ssh username@your_server_ip

🔐 可选配置(建议)
• 修改 sshd_config 文件(位于 C:\Program Files\OpenSSH)来配置监听端口、禁止密码登录等。
• 如果遇到 NT SERVICE\SSHD 权限问题,可通过手动添加用户权限解决。

🧯 注意事项
1. Windows Server 2008 R2 默认不带 PowerShell 5,你可能需要手动安装 Windows Management Framework 5.1 来运行部分脚本。
2. 防火墙要放行 TCP 22 端口:

netsh advfirewall firewall add rule name="OpenSSH" dir=in action=allow protocol=TCP localport=22

❓需要 GUI 工具?

可以试试:
• Bitvise SSH Server(图形界面,适合不熟命令行的用户)
官网:https://www.bitvise.com/ssh-server

怎么用密码登录

要在 Windows Server 2008 R2 上用 密码登录 OpenSSH 服务器,你需要确保以下几项配置正确:

✅ 一、确认服务已启用

先确保 OpenSSH 服务正在运行:

sc query sshd

✅ 二、编辑配置文件 sshd_config

路径(通常):

C:\Program Files\OpenSSH\sshd_config

打开方法(推荐用管理员权限):

notepad "C:\Program Files\OpenSSH\sshd_config"

检查并确保以下配置项:

PasswordAuthentication yes
PermitRootLogin yes        #(或 no,如果你不用管理员登录)
PubkeyAuthentication yes   #(可同时支持公钥)

注意:配置项前面不要有 #,那是注释。

✅ 三、重启 SSH 服务使配置生效

net stop sshd
net start sshd

✅ 四、用户账号要求
• 登录用的用户账号必须是 本地 Windows 用户,并设置了密码。
• 不能是禁用状态,不能是空密码账户。
• 例如你可以通过命令添加一个用户并设置密码:

net user sshuser YourPassword123! /add
net localgroup "Remote Desktop Users" sshuser /add

✅ 五、防火墙和端口

确保 22 端口已放行(如果没有放行):

netsh advfirewall firewall add rule name="OpenSSH" dir=in action=allow protocol=TCP localport=22

✅ 六、测试登录(用 SSH 客户端)

在另一台机器上:

ssh sshuser@your_server_ip

系统将提示输入密码,输入后即可登录。

命令解释

这两条命令 不是写在配置文件中的,它们是 Windows 命令行(CMD)或 PowerShell 中执行的命令,用于:

✅ 1. 创建本地用户

net user sshuser YourPassword123! /add

作用:创建一个名为 sshuser 的本地 Windows 用户,密码是 YourPassword123!。

✅ 2. 给用户添加登录权限(非必须,但推荐)

net localgroup "Remote Desktop Users" sshuser /add

作用:把用户 sshuser 加入 Remote Desktop Users 组(让他具有远程登录的权限),虽然这个组是给远程桌面用的,但有助于一些默认策略授权。

💡 如果你只想用 OpenSSH 登录,下面这个命令是最关键的:

net user sshuser YourPassword123! /add

✅ 操作步骤总结:
1. 打开 命令提示符(管理员权限)。
2. 执行以上两条命令。
3. 确保 sshd_config 允许密码登录(PasswordAuthentication yes)。
4. 重启 SSH 服务:net stop sshd && net start sshd。
5. 从远程用 SSH 客户端登录测试。

权限授予

在 Windows 的命令行(net 命令)中,/add 是一个参数,表示**“添加”**的操作。

🧾 举例说明

✅ 命令:

net user sshuser YourPassword123! /add

🔍 意思:
• net user:是 Windows 中管理本地用户的命令。
• sshuser:是你要创建的新用户名。
• YourPassword123!:是你为该用户设置的密码。
• /add:表示添加这个用户到本地系统。

🟩 翻译成中文就是:

“创建一个用户名为 sshuser、密码为 YourPassword123! 的本地用户。”

另一个例子:

net localgroup "Remote Desktop Users" sshuser /add

🔍 含义:
• 把 sshuser 用户 添加到 “Remote Desktop Users” 用户组中。

🔁 类似的 /delete

net user sshuser /delete

表示:删除名为 sshuser 的用户。

如果你想深入了解 net user 或 net localgroup 的完整用法,可以在命令行中输入:

net user /?
net localgroup /?

windows power shell 无法运行 .ps1 文件,报错是在此系统中禁止执行脚本,怎么解决?

默认系统不允许运行本地 .ps1 脚本,报错如下:

在此系统中禁止运行脚本。有关详细信息,请参阅 about_Execution_Policies。

✅ 解决方法:更改 PowerShell 执行策略

你需要 以管理员身份运行 PowerShell,然后执行以下命令:

Set-ExecutionPolicy RemoteSigned

系统会提示你确认,输入 Y 并回车。

🔍 各种策略含义(你可以选择适合自己的):

策略名含义
Restricted默认值,不允许执行任何脚本
AllSigned所有脚本都必须有可信发布者的签名
RemoteSigned ✅本地脚本可运行,远程下载的脚本需有签名
Unrestricted ⚠️所有脚本都可以运行(安全性低)

🧪 设置成功后测试

你可以运行:

Get-ExecutionPolicy

确认输出为 RemoteSigned。

然后再尝试运行 .ps1 文件:

.\yourscript.ps1

就不会报错了。

🔐 安全建议:
• 生产服务器建议用 RemoteSigned
• 不要随便改为 Unrestricted
• 如果只想临时允许一次脚本运行,可以用:

powershell -ExecutionPolicy Bypass -File .\yourscript.ps1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值