使用expect脚本隐藏密码

时间:2014-11-06 06:29:50

标签: bash expect

我使用该脚本登录电源代理并连接 ssh通过网络。据我所知,每一个都是 跟踪。我很好。

我的问题是如何隐藏密码,在我尝试的示例下面:

#!/usr/bin/expect -f
set timeout 2
spawn pbrun /bin/su - big_admin
expect {
       "Password for casper@BIG_BANK.COM:" {send "foobar_pass!\r" ; exp_continue }
        "*$*" ;
}
interact 

我尝试将密码存储在/home/casper/.password中,然后在其上执行chmod 400 将它放在{send "/home/casper/.password\r" exp continue}中,但它不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

来源:http://wiki.tcl.tk/3594

加密设备密码的步骤

  • 将pd(要加密的密码列表)和文件名(生成的加密密码列表的文件名)作为输入
  • 什么都不返回
  • 密码列表的格式(当前和老一代按设备类型?)取决于调用程序如何需要它们 - 建议用\ n字符分隔以便于阅读

proc utility_encrypt {pd filename} { global key HOME #catch [exec echo "$pd" | des -e -k $key -b > $HOME/pwdir/$filename] catch [exec des -e -k $key -b > [file join $HOME pwdir $filename] << $pd] return }

解密设备密码的程序

  • 取文件名(要解密的密码文件的名称)
  • 返回dpd(明文密码列表)

proc utility_decrypt filename { global key HOME catch {exec cat $HOME/pwdir/$filename | des -d -b -k $key} dpd # Some people write the previous command as # catch {exec des -d -b -k $key < $HOME/pwdir/$filename} dpd return $dpd }