| 虚拟主机域名注册-常见问题 → 服务器知识 → 服务器问题 | ||||
| 安装组件 → 配置服务 → 创建用户 → 设置目录权限 → 启用防火墙 → 测试连接 → 安全加固 一、服务器搭建,使用PowerShell与OenSSH 用管理员打开PowerShell 1. 安装 OpenSSH 组件 Add-WindowsCapability -Online -Name OpenSSH.Server* # 安装组件:ml-citation{ref="1,4" data="citationList"} Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*' # 检查是否已安装 OpenSSH 服务器。若 State 显示 NotPresent,则需安装 OpenSSH 服务器 Start-Service sshd # 启动服务 Set-Service -Name sshd -StartupType 'Automatic' # 设置开机自启 2.配置防火墙。允许 22 端口通信: New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow:ml-citation{ref="1,8" data="citationList"} 或者打开Windows Defender防火墙: 在左侧导航栏中,选择“高级设置”。 在右侧面板中,选择“Inbound Rules”。 在操作菜单中,选择“New Rule”。 选择“端口”选项,并点击“下一步”。 选择“特定本地端口”,输入“22”,并点击“下一步”。 选择“允许连接”,并点击“下一步”。 选择“所有配置文件”,并点击“下一步”。 输入规则名称,并点击“完成” 3.创建专用用户 New-LocalUser -Name "sftpuser" -Password (ConvertTo-SecureString "YourPassword" -AsPlainText -Force) Add-LocalGroupMember -Group "Users" -Member "sftpuser" # 默认加入 Users 组:ml-citation{ref="4" data="citationList"} 或者: #创建SFTP用户组 New-LocalGroup sftpusers 创建SFTP用户,并将其添加到 sftpusers 组 New-LocalUser -Name <用户名> -FullName <全名> -Description <描述> Set-LocalUser -Name <用户名> -Password (ConvertTo-SecureString -AsPlainText "<密码>" -Force) 4.配置 SFTP 根目录与权限。 Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 或者: 编辑配置文件 C:\ProgramData\ssh\sshd_config,添加以下内容: Subsystem sftp internal-sftp Match User sftpuser ChrootDirectory D:\sftp_root # 限制用户只能访问该目录 ForceCommand internal-sftp # 禁止 shell 访问 AllowTcpForwarding no:ml-citation{ref="1,4" data="citationList"} 创建目录并设置权限: 目录 D:\sftp_root 属主设为 Administrators,权限为 755 子目录(如 D:\sftp_root\userdata)属主设为 sftpuser,权限为 755 5.重启 SSH 服务 Restart-Service sshd # 使配置生效:ml-citation{ref="1,4" data="citationList"} 6.SFTP命令行测试: sftp -P 22 sftpuser@服务器IP # 输入密码后尝试上传/下载文件 7.安全强化建议 密钥认证替代密码 生成密钥对:ssh-keygen -t ed25519 将公钥内容追加至 C:\Users\sftpuser\.ssh\authorized_keys 限制用户权限 禁止 Shell 访问(通过 ForceCommand internal-sftp 实现) 定期审计日志 查看日志路径:C:\ProgramData\ssh\logs 或 FileZilla Server 日志界面 二、通过Windows的可选功能与OpenSSH或者freeSSHd Windows 10和Windows Server 2019开始,Microsoft提供了OpenSSH的Windows版本,可以直接通过系统的“可选功能”来安装。 freeSSHd是一个第三方的SSH和SFTP服务器软件,适用于Windows平台。 1.OpenSSH安装步骤: 在Windows 10中,进入“设置” > “应用” > “可选功能” > “添加功能”。 查找“OpenSSH服务器”功能,选择它,然后点击“安装”。 安装完成后,OpenSSH的二进制文件将被安装到%WINDIR%\\System32\\OpenSSH目录。 配置文件(sshd_config)和主机密钥将被安装到%ProgramData%\\ssh目录(在服务器第一次启动后)。 2. OpenSSH配置和启动服务: 允许Windows防火墙接受SSH服务器的传入连接。 通过“服务”管理工具启动OpenSSH SSH服务器服务,并设置为自动启动。 设置SSH公钥认证: 在Windows账户的个人资料文件夹中创建.ssh文件夹,并设置适当的访问控制列表(ACL)权限。 将公钥文件放入.ssh文件夹中的authorized_keys文件。 1. freeSSHd安装步骤: 从官方网站下载freeSSHd软件。 运行安装程序并按照提示完成安装。 安装完成后,可能会提示是否启动后台服务,选择“是”。 2.reeSSHd配置SFTP服务: 启动freeSSHd软件,确保以管理员权限运行。 在软件界面中启动SFTP服务。 添加用户并设置密码验证。 配置SFTP的根目录和用户目录权限。 应用并保存所有配置。 3.reeSSHd测试连接: 使用SFTP客户端软件(如FileZilla)配置本地SFTP站点。 输入服务器IP、端口号、用户名和密码进行连接测试。 通过端口映射实现公网远程访问 如果需要通过公网远程访问SFTP服务器,可以使用端口映射工具(如cpolar)来实现内网穿透。 4.reeSSHd设置步骤: 在cpolar官网注册账号并下载安装cpolar内网穿透工具。 登录cpolar web UI管理界面并创建SFTP隧道。 获取公网地址和端口号。 使用SFTP客户端连接公网地址进行测试。
|
||||
| >> 相关文章 | ||||
| 没有相关文章。 | ||||






