我正在使用ssh连接其中一个系统。
我在该系统中有一个perl脚本,我必须从我的机器上运行。但是远程系统中的命令只有在处于超级用户模式时才会运行(如果我直接在远程系统上工作,我会给su - 成为超级用户)
但是如果我必须从我的系统运行perl脚本(我为此目的使用OpenSSH
),在超级用户模式下,我应该怎么做?
顺便说一句,我已经放置了命令$sh->system("su -")
。但它要求输入密码,但不会继续进行。我至少等了5分钟,即使这样我输入密码后也没有得到任何回复。
谁能说如何应对这种情况?
答案 0 :(得分:8)
您可以使用sudo,并允许您的用户成为没有密码的root用户
答案 1 :(得分:4)
阅读Net::OpenSSH FAQ上标题为“无法更改工作目录”的条目,了解其无效的原因。
然后阅读另一个条目“使用sudo运行远程命令”,看看如何解决它。
答案 2 :(得分:1)
如果您不希望ssh要求输入密码,可以在目标用户的服务器.ssh / authorized_keys文件中添加客户端用户密钥。使用它,ssh将不再要求输入密码。