2014-02-15 135 views
1
#!/bin/csh 
ssh -o StrictHostKeyChecking=no [email protected] 
sudo -su rootuser 
ksh 
. /mydir/setup_env.ksh 
ls -ltr 

以上是我需要做的任务列表。外壳脚本Sudo在远程机器和执行命令

  1. 登录到远程机器没有密码提示
  2. 运行sudo来获得访问根
  3. 变化的ksh
  4. 使用LS执行脚本(setup_env.ksh)
  5. 列出文件-ltr

当我执行这个脚本,可以说localunixmachine.com ...

  1. 它问我密码
  2. 一旦我输入密码,它会传送到远程计算机,但不会执行剩余命令
  3. 如果从远程会话我退出,它会执行其余的命令。

你可以请指导我什么是最好的方式来完成我在这里尝试。

回答

0

首先你可以复制你的ssh,你可以生成ssh-keygen到AUTHORIZED_KEYS到远程服务器根目录/的.ssh/authorized_keys中 然后公钥脚本将

ssh [email protected] "/bin/ksh mydir/setup_env.ksh" 
0

我认为这应该执行工作多个远程命令:

#!/bin/bash 
ssh -o StrictHostKeyChecking=no [email protected] <<EOF 
sudo -su rootuser 
ksh 
. /mydir/setup_env.ksh 
ls -ltr 
EOF 

至于登录到服务器没有密码,你需要设置密钥的SSH认证。