gpt4 book ai didi

batch-file - 使用PuTTY向远程ftp命令提供密码和命令

转载 作者:行者123 更新时间:2023-12-02 14:02:47 25 4
gpt4 key购买 nike

我想自动化将Windows FTP位置的文件从Windows 7计算机复制到Unix框的过程。

我设法搜索了网络并成功地使用SSH和PuTTY连接到Unix盒。

PuTTY的输入文件包含命令,但是它以密码停止,我找不到解决该问题的方法。

为此,我创建了一个批处理文件,因此我可以安排Windows 7计算机上的Windows作业每天开始将文件从Windows FTP服务器(不是我的其他Windows计算机)复制到Unix框中。

批处理文件:

putty -ssh lxdsdsp0  -l "user_1" -pw "mypass" -m "D:\cmd.txt" -t

我的cmd.txt
cd /x06/scratch-data/ 
ftp domain\user_1@winapp67.sr.dv.com
mypass
/bin/bash

当我执行批处理文件时,它通过SSH登录到Unix框中并键入命令,但是当我在PuTTY cmd.txt文件中将密码作为输入文件时,它将停止。

请帮忙。
Using username "user_1".

Welcome to SuSE Linux Enterprise Server 9 (x86_64)

Connected to domain\user_1@winapp67.sr.dv.com.
220 Microsoft FTP Service
331 Password required for domain\user_1.
Password:
530 User domain\user_1 cannot log in.
ftp: Login failed.
ftp>

最佳答案

cmd.txt的内容由远程 shell 程序逐行执行。不使用内容,就像在键盘上键入这些命令一样。

因此,shell在执行到ftp行之前执行mypass并等待其退出(最终尝试执行它,但由于它不是可识别的Shell命令而失败)。

您可以做的是使用Plink而不是PuTTY。 PuTTY软件包中用于自动化的工具中的Plink(不是PuTTY)。它是一个控制台应用程序。这样,您可以从cmd.txt重定向其输入。然后,将如同在键盘上键入这些命令一样使用内容。

plink.exe -ssh lxdsdsp0 -l "user_1" -pw "mypass" -t < D:\cmd.txt

另请参阅 How to pass user input automatically using plink.exe

关于batch-file - 使用PuTTY向远程ftp命令提供密码和命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com