将输出隐藏到命令提示符以发送命令

时间:2016-08-10 11:29:09

标签: shell expect

我正在使用命令使用ssh连接到远程服务器

spawn ssh userId@host
expect "password:"
send "password\r"

问题是某个时候,甚至在shell提示输入密码之前,运行send命令导致密码在控制台上以纯文本显示。

有一种方法

  1. 确保发送始终在预期
  2. 后调用
  3. 或者如果它被调用,它应该显示类似*******而不是纯文本
  4. 的内容

    我阅读了send的文档,但没有运气。

1 个答案:

答案 0 :(得分:1)

您可以隐藏来自sttylog_user的控制台的输出。

使用stty

spawn ssh userId@host
expect "password:"
stty -echo
send "password\r"
stty echo

使用log_user

spawn ssh userId@host
expect "password:"
log_user 0
send "password\r"
log_user 1