如何使用脚本或程序将文件从Windows复制到Linux而无需密码?

如何使用脚本或程序将文件从Windows复制到Linux而无需密码?

我这样做是为了在 Windows 和 Linux 之间复制文件。

C:\Documents and Settings\668340\My Documents\putty>pscp  "C:\Documents and Settings\563456\abc.txt" "[email protected]:/home/auto/"

但它提示输入密码,我如何使用自动执行此任务私钥/公钥对Windows 和 Linux 之间

甚至winscp可以工作,但唯一的问题是我必须在代码中使用硬编码密码,这是我不想要的。相反,我想使用私钥/公钥添加概念,但不知道在 Windows 中如何执行此操作。

编辑:我的意思是我可以使用无密码身份验证,但它仍然涉及在 Windows 中使用生成公钥、私钥(.ppk)puttygen.exe然后将公钥复制到.ssh\authorizedlinux 的手动过程。有什么方法可以自动执行此操作。

编辑:如果有任何通过在unix中运行命令的shell脚本将文件复制到windows的任何复制文件,这也可能很有用,因为我可以在unix中自动创建公钥/私钥。

答案1

由于您想在没有事先密钥交换的情况下进行身份验证,因此除了使用密码身份验证(至少第一次)之外,我没有其他选择。

因此,您需要在脚本中对密码进行硬编码。您可以pscp通过其选项提供密码-pw。但是,我不知道这有多安全(至少在Linux中,所有用户通常都可以看到所有进程的命令行)。

答案2

由于您不想输入密码或生成密钥,因此我建议如下:

  1. 禁用两台机器上的网络(安全第一!)。
  2. 在两台机器上启用无密码登录。
  3. 将软盘插入机器 A 并将文件复制到软盘上。
  4. 从机器 A 中取出软盘,然后走到机器 B 上。
  5. 将软盘插入机器 B 并将文件复制到机器 B 上。

如果您碰巧拥有一台 Win 95 计算机,那么您会很高兴知道这就是它设计的网络模型。

答案3

更新问题后进行编辑:

通过网络复制文件的最简单方法可能是 SMB/CIFS - 在 Linux 端您可以使用桑巴舞为 Windows 提供网络共享或安装 Windows 计算机导出的共享。

如果你想使用 ssh 看看油灰,其中包括命令行scp,应该能够使用密钥身份验证。但话又说回来:在您的情况下,使用不受密码保护的密钥是否可以接受?

相关内容