2016-03-22 10 views
2

私のWindows 7マシンからWindows FTPの場所からUNIXのボックスへファイルをコピーするプロセスを自動化したいと思います。PuTTYを使用したリモートftpコマンドへのパスワードとコマンドの入力

私はネットを検索し、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\[email protected] 
mypass 
/bin/bash 

私は私のバッチファイルを実行すると、それはSSHや種類によって、Unixのボックスにコマンドをログインしたが、私は持っていたときに停止しますPuTTY cmd.txtファイルの入力ファイルとしての自分のパスワード。

助けてください。

Using username "user_1". 

Welcome to SuSE Linux Enterprise Server 9 (x86_64) 

Connected to domain\[email protected] 
220 Microsoft FTP Service 
331 Password required for domain\user_1. 
Password: 
530 User domain\user_1 cannot log in. 
ftp: Login failed. 
ftp> 
+0

は、なぜあなただ​​けのUNIXマシンにWindowsサーバから直接ファイルをコピーする処理を自動化していけない?も参照してください。他の2台のマシンの間で何かを行うための自動化に、第3のコンピュータを使用する必要があるのはなぜですか? – nouseforname

答えて

1

の内容は、リモートシェルによって行単位で実行されます。あなたのキーボードにコマンドを入力したように、内容は使用されません。

シェルはを実行して、それがmypass行に進む前に(最終的に実行しようとしていて、認識されたシェルコマンドでないので失敗します)、終了するのを待ちます。

あなたができることは、PuTTYの代わりにPlinkを使用することです。自動化を目的としたPuTTYパッケージのツールのPlink(PuTTYはそうではありません)。これはコンソールアプリケーションです。そのため、からの入力をリダイレクトすることができます。キーボードでこれらのコマンドを入力した場合と同じように内容が使用されます。

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

How to pass user input automatically using plink.exe

関連する問題