配置 SSH 以实现 SFTP 服务搭建
在 Windows 11 或 Windows Server 2016 及更高版本上安装 OpenSSH
- 打开'设置'应用程序,并转到'应用'>'可选功能'>'添加功能'。
- 在可选功能列表中,找到并选择'OpenSSH 服务器'。
- 单击'安装'按钮以安装 OpenSSH。
配置 OpenSSH 服务器
- 打开 PowerShell 命令提示符(以管理员身份运行)。
- 运行以下命令以生成 SSH 服务器的密钥对:
ssh-keygen -A
- 打开文件资源管理器,并导航到以下路径:
C:\ProgramData\ssh
- 在此路径下,打开
sftp 子文件夹,创建一个空的文件名为 authorized_keys(注意没有文件扩展名)。
- 将包含 SFTP 用户公钥的文件添加到
authorized_keys 文件中。
配置 SFTP 访问权限
- 打开 PowerShell 命令提示符(以管理员身份运行)。
- 编辑 SSH 服务器配置文件
sshd_config,在此文件中配置 SFTP 访问权限。
notepad C:\ProgramData\ssh\sshd_config
- 在文件中添加以下行:
Match user your_username ForceCommand internal-sftp PasswordAuthentication yes ChrootDirectory %UserProfile% AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
- 将
your_username 替换为您要配置 SFTP 访问权限的用户名。
- 保存并关闭文件。
启动 SSH 服务
- 在 PowerShell 命令提示符中运行以下命令以启动 SSH 服务:
Start-Service sshd
配置防火墙以允许 SFTP 连接
- 打开 Windows 防火墙,并创建一个入站规则,允许 SSH 服务的 TCP 端口 22 通过防火墙。
- 如果您使用其他防火墙软件,请确保允许 SSH 服务的 TCP 端口 22 通过防火墙。
现在,您已经成功配置了 SSH 以实现 SFTP 服务搭建。您可以使用 SFTP 客户端连接到 Windows 服务器,并使用配置的用户名和密码进行身份验证。