【发布时间】:2013-10-07 15:16:50
【问题描述】:
我的要求是登录到远程机器并为此创建一些文件夹我计划将用户名和密码作为用户的输入并尝试制作自动化的 shell 脚本。
1.)我使用以下代码 ssh 进入机器并提供预期的密码以登录到这台机器。
DSADMINPWD=dsadminpwd
PWD=pwd
/usr/bin/expect<<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no <username>@<remotemachineurl>
expect "password"
send "$PWD\n"
EOD
以上工作正常。但是在此之后执行 su dsadmin 。我不能进去 用户来自先前获取的密码。
2.) 我必须从这台机器内部更改像 su dsadmin 这样的用户。 dsadmin 也有密码。但它不能正常工作。
DSADMINPWD=dsadminpwd
PWD=pwd
/usr/bin/expect<<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no <username>@<remotemachineurl>
expect "password"
send "$PWD\n"
EOD
su dsadmin
<like to make some folders in dsadmin directory>
exit...
在执行 su dsadmin 之后,它会变成
bash-3.00$
这里没有密码或任何东西的迹象。
从上面看它不起作用
您能否建议是否可以在自动脚本中使用密码在 ssh 之后制作 su。任何建议将不胜感激。
谢谢!
【问题讨论】: