cygwinでbash/expectを使用してpsftpを自動化します。
コードを含む非常に最小限のスクリプトファイルyftp.expがあります。
#!/usr/bin/expect -f
spawn psftp unixftpsrvr
expect "login as: "
send "myID\r"
expect "Password:"
send "Passw0rd\r"
expect "psftp>"
出力:
$ ./yftp.exp
spawn psftp unixftpsrvr
login as: myID
キーボードインタラクティブ認証を使用。
UDS
パスワードを入力してください: Passw0rdリモート作業ディレクトリは /home/myID
psftp> です
パスワードはクリアテキストとして出力されます!!!
psftp でコマンドを直接実行した場合。出力は次のとおりです。
$ psftp unixftpsrvr
login as: myID
UDS パスワードを入力してください:
リモート作業ディレクトリは /home/myID
psftp>
パスワードは一切表示されません。
これは期待側の問題のようです。
私は、expect スクリプト ファイルのクリア テキストのパスワードは気にしませんが、出力のクリア テキストのパスワードは気にします!
平文でパスワードが表示されないようにするにはどうすればよいですか?