Windows部署SFTP Server教程
开启方式
检查是否安装正确:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# 返回示例:
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
非
Installed
状态就是未安装,电脑作为服务端需要安装OpenSSH.Server
1. 界面操作方式
右键win选择设置
或者win + i
启动设置面板
选择
系统 -> 可选功能 -> 更多windows功能 -> OpenSSH
找进行安装
2. 指令方式(推荐)
如果某一个状态不是`Installed`则用以下指令安装,安装完需要重启
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
安装完毕之后,再次检测是否处于`Installed`,如果是待命状态需要重启电脑。
启动SSH
Start-Service sshd
重启方式(需要重启的话)
Restart-Service sshd
设置开机自启,否则每次开机都要执行启动
Set-Service -Name sshd -StartupType 'Automatic'
检查是否运行
Get-Service -Name sshd
进行SSH配置,文件路径C:\ProgramData\ssh\sshd_config
# 允许密码认证
PasswordAuthentication yes
# 禁用空密码登录
PermitEmptyPasswords no
# 允许本地用户登录
AllowUsers your_username
分配根目录和目录权限
sftp-test
为指定目录,按情况修改,如果已经有目录,则不需要`mkdir`进行创建,用户名修改为指定帐号
icacls C:\sftp-test /grant "BUILTIN\Administrators:(OI)(CI)(F)" /T
icacls C:\sftp-test /grant "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" /T
icacls C:\sftp-test /remove "Authenticated Users"
icacls C:\sftp-test /grant 用户名:(R)
完全控制(
F
),修改(M
)或写入(W
)权限、读取(R
)权限
配置sshd_config
添加以下配置
# Subsystem configuration for SFTP
Subsystem sftp internal-sftp
# Restrict SFTP user to a specific directory
Match User orange
ChrootDirectory C:\sftp-test
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PermitTunnel no
AllowAgentForwarding no
修改
指定目录
和指定用户
两个地方修改完记得重启
生成密钥(可选)
以管理员方式启动PowerShell,执行下面命令,秘钥登录方式使用,如果采用账户固定密码,则不需要此步骤
ssh-keygen -A
防火墙设置(可选)
如果无法连通参照此步骤,则在防火墙中放行`端口22`连接
1. win + i
打开设置
2. 隐私与安全性 -> 防火墙和网络保护 -> 高级设置
选择
入站规则 -> 新建规则
选择
端口 -> TCP方式 -> 特定本地端口22
一直下一步,填充一个名称
SFTP连接
登录测试
启动PowerShell
netstat -an | findstr :22
监听端口22查看ip。
创建一个window用户作为SFTP的账号
sftp your_username@your_ip_address
连接测试,通过
ipconfig
获取ipv4地址,比如帐号sftp Administrator@192.168.88.212
本文链接:
/archives/1718614189089
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
胡桃の智能体!
喜欢就支持一下吧