如何使用ruby和net / ssh在Linux中切换用户?

时间:2014-09-17 09:11:42

标签: ruby linux net-ssh

使用以下功能我可以连接到我的Linux机器。 但是很少有命令需要root权限才能执行,并且直接root登录被禁用。此外,用户不能sudo。

require 'net/ssh'
def sshutm(host,un,pwd,cmd)
  Net::SSH.start( host, un, :password => pwd ) do|ssh|
    result = ssh.exec!(cmd)
    return result
  end
end

我尝试了这个,但它有效。

def sshutm(host,un,pwd,cmd)
  Net::SSH.start( host, un, :password => pwd ) do|ssh|
    ssh.exec!("su")
    ssh.exec!("passowrd")
    result = ssh.exec!(cmd)
    return result
  end
end

1 个答案:

答案 0 :(得分:0)

您可以让您的用户成为sudo用户(例如http://www.linux.com/learn/tutorials/306766:linux-101-introduction-to-sudo),并使用sudo执行给定的命令(例如sudo ls /root)。详细信息因使用的分布而异。