Мое требование - войти в удаленную машину и создать несколько папок для этого. Я планирую использовать имя пользователя и пароль в качестве входных данных от пользователя и попытаться автоматизировать сценарий оболочки.
1.) Я использовал следующий код, чтобы подключиться к машине по ssh и дать ожидаемый pwd для входа в эту машину.
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$
Здесь нет ни пароля, ни чего-либо подобного.
Из вышесказанного не работает
Не могли бы вы предложить, возможно ли что-нибудь сделать su после ssh с паролем в автоматическом скрипте. Любые предложения будут высоко оценены.
Спасибо!