2014-03-19 83 views
0

我遇到了一个问题,我必须在另一台机器上运行脚本,如root我只能做的ssh无密码oracle,所以我不得不写类似的东西:以oracle用户身份与ssh连接时以root用户身份运行脚本

su - oracle -c "ssh $node /tmp/x.sh" 

如何运行x.sh为根?

编辑

[[email protected] ~]# su - oracle 
[[email protected] ~]$ su 
Password: 
su: incorrect password 
[[email protected] ~]$ 
+1

你最初是root用户,将用户更改为oracle,然后尝试再次更改回root用户?为什么?你没有连接到远程机器。 –

+0

因为我只能用oracle来ssh。另外我需要以根用户身份运行我的命令 – AloneInTheDark

+0

是的,但是您还需要连接到某处的远程盒。看到我的新答案。 –

回答

1

你试过

su - oracle -c "ssh [email protected]$node /tmp/x.sh" 
+0

我不工作,因为当我只能ssh到另一个节点作为oracle。当我使用oracle ssh到其他节点时,然后以root身份运行,它需要密码。 – AloneInTheDark

+0

如果您无法以超级用户身份进行ssh登录,则需要使用sudo访问权限或root密码。如果您没有这些功能,则需要与正在尝试执行此操作的计算机的管理员通话。 –

+0

我有root密码,但是如何在脚本中使用密码ssh? – AloneInTheDark

0

试试这个:

[[email protected]]# su - oracle 
[[email protected]]$ ssh box2 
[[email protected]]$ su - 

然后在远程框中输入root的密码。它应该继续为

[[email protected]]# /tmp/x.sh 

你就完成了。

+0

我可以用putty作为根连接到机器,但不能用“su - ”命令连接,这很奇怪。如果我得到正确的密码,如何在从脚本运行时设置密码? – AloneInTheDark

+1

您不希望存储在脚本中的根密码。您可以设置ssh以允许访问,而无需使用没有密码的键输入任何内容。 Google对“ssh passphrase-less root access”会给你一些提示。 –

+0

谢谢,我会检查它。 – AloneInTheDark

相关问题