使用下面的函数,我可以连接到我的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发布于 2014-09-17 18:01:23
您可以让您的用户成为sudo用户(例如http://www.linux.com/learn/tutorials/306766:linux-101-introduction-to-sudo),然后使用sudo (例如sudo ls /root)执行给定的命令。详细信息因使用的发行版而异。
https://stackoverflow.com/questions/25886518
复制相似问题