从 Linux 到 Windows 服务器的 FTP

从 Linux 到 Windows 服务器的 FTP

我正在编写一个脚本,用于从 Linux 计算机执行到 Windows (服务器) 的操作sftp。我希望该脚本运行时无需手动输入,例如输入密码等。

#!/bin/sh
HOST='10.x.x.x'
USER='user'
PASSWD='passwd'

sftp $USER@$HOST

我在用着自由FTP服务作为 Windows 机器上的 SFTP 服务器。从 Linux 端来说,目前我使用的是 Ubuntu,但我的实际需求是为基于 ARM 的机器提供精简版 Linux。

在 Linux 机器上,我使用 生成公钥和私钥ssh-keygen -t rsa。在 目录下生成两个文件(公钥和私钥)/home/user/.ssh,即id_rsaid_rsa.pub

如果是另一台 Linux 机器,我知道我必须将公钥(id_rsa.pub)附加到authorized_keys文件中。

我现在不确定,因为我的 SFTP 服务器在 Windows 上。安装 freeFTPd 后我检查了一下C:\Program Files\freeFTPd\,但没有看到任何类似于.ssh/authorized_keysLinux 的文件。

FreeFTPd 有生成私钥的选项。所以我生成了一个私钥并将其复制到 Linux 机器 ( .ssh/id_rsa) 文件中并尝试。但它仍然提示输入密码。

我该如何解决这个问题?

答案1

我不了解 Windows,但你似乎错了:

  • 安全FTP并不意味着简单 FTP 协议的安全实现SSH 文件传输协议所以服务器不需要回答FTP协议,但是SSH!(摘自维基百科:)

    SSH 文件传输协议

    来自维基百科,自由的百科全书
    跳转至:导航、搜索
    不要混淆简单文件传输协议
    在计算中,SSH 文件传输协议(还安全文件传输协议安全 FTP, 或者安全FTP) 是一种网络协议,可通过任何可靠的数据流提供文件访问、文件传输和文件管理功能。它由互联网工程任务组 (IETF) 设计,作为安全外壳协议 (SSH) 2.0 版的扩展,以提供安全的文件传输功能...

所以你必须安装一个SSH 服务器在你的窗户上。

看一眼:

相关内容