2012-05-07 33 views
0

嗨,大家好,我一直在尋找解決方案,雖然它可能是顯而易見的東西,但它逃避了我。Rake無法識別.ssh/config文件

我想用rake通過系統命令通過ssh運行一些任務,但它不能識別我的.ssh/config文件。

例如:

task :my_task 
    system("ssh myserver 'command on myserver'") 
end 

這給我的錯誤:

ssh: Could not resolve hostname myserver: Name or service not known 

當我運行命令行命令耙之外運行良好。什麼(可能是完全顯而易見的事),我用耙子缺

system "ssh myserver 'command on myserver'" 

任何想法:

IRB中進行測試時,它也可以?

+0

它能做什麼,當你通過與'-F'參數配置文件? –

+0

-F參數?我在哪裏使用它? – Sean

+0

'ssh -f config_file_path'其中* config_file_path *是您的ssh配置文件的路徑,通常爲'〜/ .ssh/config' – tadman

回答

2

ssh真的很興奮,會忽略它認爲不夠「安全」的事情,因此您可能擁有一個有效的文件但權限無效。

速戰速決通常是:

chmod go-rwx ~/.ssh/* 
+0

感謝您的想法,但它並沒有做到這一點。我一直認爲它必須是耙子處理系統(ssh)的東西,因爲命令在耙子外運行良好。 – Sean

+0

您可以嘗試使用'-v'來獲得更詳細的輸出以查看您的請求是如何處理的。 – tadman

+0

我弄了一些更多的權限,它似乎像你最初的想法是正確的。非常感謝你的幫助!抱歉浪費那麼多時間。 – Sean