2013-03-16 41 views
-1

我已经创建了如下所示的shell脚本。此脚本将以普通用户身份登录到远程服务器,然后切换到root用户以创建目录。脚本如下所示。正在运行shell脚本,希望登录

的ssh -t [email protected]
苏根-c ”
回声\“ 给目录名:\ ”;
阅读目录;
的mkdir \ $目录;
“;

这里的脚本会询问密码为普通用户first.Then再次它会询问根Password.How我可以自动执行此使用expect command.I要为root用户自动提供密码只有我认为这可以用expect完成。

请帮帮我。

+0

你说的·我想为root用户自动提供密码,仅*是什么意思?你为什么不直接使用ssh root @ 10.3.2.0'? 'root'不允许SSH? – pynexj 2013-03-19 02:57:57

+0

在这种情况下,通过编辑远程机器上的'/ etc/ssh/sshd_config'文件(通过在/ etc/ssh/sshd_config中为PermitRootLogin放置“no”可以在指定的计算机上通过ssh禁用根登录) – user103134 2013-03-19 06:32:07

+0

然后,您可以考虑为用户* qbadmin *配置无密码SSH登录。 – pynexj 2013-03-19 06:44:28

回答

0

为什么不用sudo代替?你可以简单地在远程/etc/sudoers文件中添加“qbadmin”:

qbadmin ALL=(ALL:ALL) ALL 

然后:

ssh -t [email protected] ' 
echo \"Give Directory name :\"; 
read dir; 
sudo mkdir \$dir; 
' 
+0

在这里我需要''su'root''使用'expect'自动提供密码 – user103134 2013-03-16 06:05:07