我的要求是登录到远程机器并为此创建一些文件夹我计划将用户名和密码作为用户的输入并尝试制作自动化的 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。任何建议将不胜感激。
谢谢!