2016-08-19 63 views
0

自動化PSFTP慶典/預計cygwin的預計明文密碼回聲

我有一個很小的腳本文件yftp.exp與代碼:

#!/usr/bin/expect -f 
spawn psftp unixftpsrvr 
expect "login as: " 
send "myID\r" 
expect "Password:" 
send "Passw0rd\r" 
expect "psftp>" 

輸出:

$ ./yftp.exp
產卵PSFTP unixftpsrvr
登錄爲:myID
使用鍵盤交互式身份驗證。
輸入您的UDS
密碼:PASSW0RD

遠程工作目錄是/ home /身份識別碼
PSFTP>

密碼打印出來明文!

如果我直接用psftp運行命令。這裏是輸出:

$ PSFTP unixftpsrvr
登錄爲:身份識別碼
輸入您的UDS密碼:
遠程工作目錄是/ home /身份識別碼
PSFTP>

的密碼根本不顯示。

這似乎是預期方面更多的問題。

我不關心在我期望的腳本文件中的明文中的密碼,我關心輸出中明文中的密碼!

如何以明文形式禁止顯示密碼?

回答

0

密碼可能在ECHO關閉之前發送得太早。因此請在expect "Password:"之後嘗試添加sleep 1

如果不工作,那麼嘗試這樣的:

expect "Password:" 
log_user 0; # disable logging to stdout 
send "password\r" 
log_user 1 
+0

睡眠不會做的伎倆,在LOG_USER一樣。謝謝。 – Heinz