2015-12-28 29 views
-1

我創建從who命令提取信息的程序中提取信息,也看到這個question看到的誰命令的格式。從誰所有服務器上的命令

現在我想做的是ssh到不同的服務器,並運行who命令。問題是我不知道如何在Ruby中ssh。我所知道的require 'net/ssh/gateway'會有人介意給我一個例子,說明我可以ssh在Ruby和並在多個服務器上執行命令who(如鏈接的問題)?

例如:

def user 
    cmd = `who`.gsub(/[ \t].*/,"") 
    puts cmd 
    #<= Do some fancy stuff that will ssh to the servers and run cmd 
end 

謝謝你的時間提前。

+0

你可以更具體..? – 13aal

+0

@ Ekult3k我編輯了這個問題,希望能讓事情變得更加清晰。 – Bam

+0

請搜索更多。在Net :: SSH文檔中,Stack Overflow和Internet上的其他地方都很好地說明了這一點。還有一些基於Net :: SSH的軟件包。 http://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users –

回答

0

我發現,做這樣的事情:

26 print "Enter password: " 
27 system "stty -echo" #<= Removes echo from typing, you won't see your keystrokes 
28 @password = gets.chomp 
29 system "stty echo" 
30 
31 def logged_in 
32 cmd = `who`.gsub(/[ \t].*/,"") 
33 check = Net::SSH.start(@host, @username, :password => @password) 
34 check.exec!(cmd) 
35 end 
36 
37 @host = %w(servers).each do 
38 logged_in 
39 end 
40 
41 @username = Etc.getlogin 

會做我想要完成的任務。