在客户端和服务器上使用密码身份验证设置和验证 SFTP 的行为

页面创建日期 :

环境

Windows
  • Windows 10 Pro
  • Windows Server 2019
  • Windows 7
  • Windows Server 2012 R2
OpenSSH
  • 7.7p1
  • 8.1p1 - Beta

* 它适用于其他版本,但尚未确认

入门

本节介绍客户端和服务器之间使用 SFTP 进行通信的步骤。 身份验证方法包括最简单的密码身份验证。

提前准备

  • 客户端上安装了 OpenSSH 客户端
  • 服务器上安装了 OpenSSH 服务器

在服务器端准备 SFTP 服务器

使用具有管理员权限的帐户登录到服务器。

启动电源外壳。

image

输入以下命令: (可以是 ssh 命令。

sftp localhost

您尚未设置任何内容,因此您可以看到无法连接。

image

创建 SFTP 帐户

创建要在 SFTP 中登录的帐户。 Windows 帐户被视为 SFTP 登录帐户。

右键单击"开始"菜单,然后选择"管理计算机"。

image

展开本地用户和组,右键单击用户,然后选择"新用户"。

image

输入用户名和密码。 用户名是使用 SFTP 登录的用户名。 不区分大小写。

image

您将使用公钥身份验证设置登录,但不需要管理员权限。 对于远程环境,请为远程桌面用户添加权限。

SSH 端口打开

打开端口 22。 您可以使用命令执行此操作,但在此处使用 GUI 进行配置。 从"开始"菜单中选择"Windows 管理工具"文件夹⇒"具有增强安全性的 Windows 防御者防火墙"。

image

右键单击"入站规则",然后选择"新建规则"。

image

选择"端口",然后选择"下一步"。

image

选择 TCP 并输入 22。

image

选择"允许连接"。

image

选中"域"和"私有"。 对于互联网上的服务器,请选中"公共" 根据您的环境进行设置。

image

名称并不重要,但请确保为 SSH (SFTP) 打开端口是一个易于理解的名称。

image

已添加到列表中。

image

SSH 服务启动设置

命令也可以设置它,但在这里,我们使用 GUI 进行配置。 右键单击"开始"菜单,然后选择"管理计算机"。

image

在"服务和应用程序"⇒,选择"服务",然后从中心列表中选择"OpenSSH SSH 服务器"。 左侧将显示"启动服务"链接,单击该链接将启动 SSH 服务器。

image

现在,SSH 可用,但在重新启动 Windows 时必须再次手动启动。 使 SSH 服务器自动启动。 双击"打开 SSH 服务器"。

image

将启动类型设置为"自动",然后单击"确定"按钮。

image

SSH 登录验证

服务已启动,请尝试登录。 在命令提示符处,或启动 PowerShell 并键入以下命令: (请替换<>部分) (ssh 命令可以是连接检查。

sftp <ユーザー名>@localhost

image

输入"是"。

image

输入密码。

image

显示屏更改,您已登录。

image

尝试键入"dir"命令以查看文件夹列表。 (乱码是规范)

image

从客户端使用 SFTP 向服务器发送或接收文件

登录到客户端 PC 端。 创建 C:\Temp 文件夹并放置输入文本的"测试.txt"文件,以查看发送和接收文件。 (如果日语文件名是发送和接收错误,请保留字母数字字符。

image

启动命令提示符或电源外壳。

image

使用以下命令使用 SFTP 登录: (请替换<>部分)

sftp <ユーザー名>@<サーバー名>

键入"是"。

image

输入密码并登录。

image

您可以看到可以使用 pwd 或 dir 命令登录。

image

使用 put 命令发送文件。

put c:\temp\test.txt

image

通过查看服务器端的"C:\用户\最"文件夹,可以验证.txt文件是否已发送。

image

尝试从客户端获取。

get test.txt c:\temp\test2.txt

image

我能够确认我已获取该文件。

image

总结

我们能够验证是否可以使用 SFTP 在客户端和服务器上发送和接收文件。 通信内容也经过加密,因此不太可能被第三方截获。

但是,这一次,我们执行密码身份验证作为身份验证方法, 因为在安全性方面,它变得有点弱。 下次我想讨论公钥身份验证。