2017-02-21 71 views
0

當我試圖運行一個ansible劇本,同時連接到一臺服務器,我收到以下內容:Ansible找不到主機文件

output

它說,沒有找到配置文件 - 沒有任何人知道如何改變它看起來在不同的位置。

另外,我還生成服務器上的目標主機的公共密鑰,並將它複製了從id_rsa.pub到以下位置:/home/user/.ssh/authorized_keys

  • 但是我仍會提示輸入密碼。

這兩個問題是連接還是恰好發生在同一時間?有沒有人對如何解決這個問題有任何想法?

如果需要,我們將很樂意提供更多信息,並且我們將不勝感激。

+2

請勿在文字充足的地方張貼圖像。另外,如果讀者向您提供他們的郵寄地址,以便您可以發送放大鏡? – techraf

+0

看起來您的安裝有問題(特別是'python-crypto library'),如果您運行'ansible --version'並共享結果,可能會很有用。 – Zlemini

回答

0

我相信touch ansible.cfg將幫助「沒有配置文件找到」消息(這只是信息)。

至於清單,ansible會發現它(或者會出現「Host file not found」錯誤),但無法將主機名解析爲可達的IP地址。

看起來您的庫存缺少目標主機的dns名稱或ip地址的ansible_host變量。以「fatal:」開頭的紅色方括號之間的主機必須是可解析/可訪問的(例如,ping),或者需要將該庫存變量設置爲。

對於ssh,看起來您已將密碼保護的私鑰放入您的authorized_keys文件中。應該在清單中使用ansible_ssh_private_key_file變量引用私鑰文件。有許多方法可以將密鑰放在庫存中,但不建議用明文形式,並且比當前的設置更復雜。我建議在排除故障之前,確保您可以手動ssh到與該密鑰相關的服務器。