2012-05-28 71 views
0

我需要在主/從配置中自動無密碼地訪問ec2實例。將SSH訪問自動化到ec2

因此,它的工作原理,但我懷疑我打了一個障礙。

以下是允許ec2主站ssh進入ec2從站的步驟。

在我做了以下大師:

cd /home/ubuntu/.ssh 
ssh-keygen -f id_rsa -t rsa -N '' 
eval `ssh-agent` 
ssh-add ~/.ssh/id_rsa 

在我上面生成的id_rsa.pub文件添加到從屬:

/home/ubuntu/.ssh/authorized_keys 

所以......問題是,當我SSH進入一臺機器,它要求以下內容:

RSA key fingerprint is b4:50:7e:5c:5f:41:f5:cd:95:91:78:5b:8a:1f:97:df. 
Are you sure you want to continue connecting (yes/no)? 

我試圖運行的程序; tsung,似乎不工作wi即使現在不需要密碼,也可以提示提示。所以,編程失敗。如果我插入奴隸,從而添加密鑰,那麼現在所有的作品都是不會被詢問的。所以......問題是,我該如何自動刪除提示?我可以寫一個腳本來自動化,例如但這似乎很長時間了。

回答

1

您可以使用ssh-keyscan(通常是OpenSSH發行版的一部分)獲取服務器的主機密鑰並將其存儲在known_hosts文件中。一旦鑰匙在該文件中,將不會顯示進一步的提示。有關詳細信息,請參見ssh-keyscan手冊頁。

當然,SSH有一個原因是要求您驗證服務器的身份,這樣做會使您面臨某些安全風險。根據您創建實例的方式,您可以通過以下方式解決此問題:(a)每次在服務器上使用相同的主機密鑰;(b)將其包含在客戶端映像中(或您執行的任何操作)。

0

只有在第一次連接時纔會詢問是/否問題,以便它可以保存握手信息。它永遠不會再問它,所以一次,手動連接,然後自動化應該爲將來的訪問工作。

這是SSH的基本部分,尤其不是AWS。