如何通过 sftp 将文件移动到 Windows 服务器?

如何通过 sftp 将文件移动到 Windows 服务器?

我想将 test.zip 文件从我的 Ubuntu 14.04 服务器移动到 Windows 服务器。

sftp我需要一个每天执行此操作的 bash 脚本(cronjob)。

我在 google 上只找到了 ftp 脚本,sftp 脚本对我来说不起作用。

答案1

您可以设置sftp使用登录,这样您无需密码key即可执行类似操作(您也可以使用- )ftpscpsecure copy over ssh

为此,您需要创建私钥和公钥,并将公钥放在服务器上。

创建密钥:在 Ubuntu 服务器上执行以下命令:

$> ssh-keygen -t rsa 

按 ENTER 键选择所有提示的选项。无需输入任何值。

现在复制.ssh/id_rsa.pub到你的 Windows 服务器

假设您的 Windows 服务器上有 OpenSSH:

  • 导航到您的帐户主目录的 .ssh 子目录。您可能需要启用显示隐藏文件才能看到该目录。如果该目录不存在,您需要先创建它。

  • 到达那里后,打开文件 authorized_keys 进行编辑。如果这是您的第一个密钥,您可能必须再次创建此文件。

  • 选择要粘贴到 authorized_keys 文件中的公钥框中的所有文本,并将其复制到剪贴板 (Ctrl+C)。然后,切换回编辑器并将数据插入打开的文件中,确保所有内容都在一行上。保存文件。

  • 确保您的帐户主目录、.ssh 目录和文件 authorized_keys 不可由群组写入或由其他人写入。.ssh 目录的建议权限为 700。authorized_keys 文件的建议权限为 600。阅读有关更改权限的更多信息。

要在 Windows 上设置 OpenSSH 服务器:https://winscp.net/eng/docs/guide_windows_openssh_server

设置 SSH 公钥认证:https://winscp.net/eng/docs/guide_public_key

生成 SSH 公钥/私钥:https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

相关内容