2014-09-17 2 views
0

아래 기능을 사용하여 Linux 컴퓨터에 연결할 수 있습니다. 그러나 실행하기 위해 루트 권한이 필요한 명령은 거의 없으며 루트 로그인을 직접 사용할 수 없습니다. 또한 사용자는 sudo를 할 수 없습니다.ruby ​​및 net/ssh를 사용하여 Linux에서 사용자를 전환하려면 어떻게해야합니까?

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

질문 [this] (http://stackoverflow.com/questions/11882776/ruby-net-ssh-calling-bash-script-with-interactive-prompts) 질문을보십시오. 도움이 될지도 모릅니다. – user2422869

+0

가능한 복제본 [ruby ssh : interactive command "su": 성공한 로그인 후 얼마나?] (http://stackoverflow.com/questions/3061648/ruby-ssh-interactive-command-su-how-further-after -successfull-logged-in) – Felix

답변

0

당신은 사용자 sudo에 사용자 (예를 들어, http://www.linux.com/learn/tutorials/306766:linux-101-introduction-to-sudo) 확인하고 sudo를 (예를 들어, sudo ls /root)로 주어진 명령을 실행할 수 있습니다. 세부 정보는 사용되는 배포판에 따라 다릅니다.

+0

이전에 sudo 사용자였습니다. 하지만 보안상의 이유로 sudoers 목록에서 제거되었습니다. – Aniket

관련 문제