使用 PuTTY 向远程 ftp 命令输入密码和命令
Feeding password and commands to remote ftp command using PuTTY
我想自动执行将文件从 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
我想自动执行将文件从 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