要配置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
- 在PowerShell命令提示符中运行以下命令以启动SSH服务:
-
配置防火墙以允许SFTP连接。
- 打开Windows防火墙,并创建一个入站规则,允许SSH服务的TCP端口22通过防火墙。
- 如果您使用其他防火墙软件,请确保允许SSH服务的TCP端口22通过防火墙。
现在,您已经成功配置了SSH以实现SFTP服务搭建。您可以使用SFTP客户端连接到Windows服务器,并使用配置的用户名和密码进行身份验证。