![](/img/trans.png)
[英]Shell script which copy the file from another server to my box using SFTP without prompting for a password
[英]Using packer to copy file from host to generated image without password
我目前正在使用packer從給定配置生成自定義圖像。 packer .json
文件包含本包裝程序教程中描述的條款。
我沒有在那里輸入命令,而是使用shell選項,我可以在其中編寫一堆sudo apt-get install
命令來自定義圖像。
問題是我需要將文件從我擁有的計算機復制到圖像中。 要清楚,我擁有的計算機也是我正在運行命令packer build example.json
。
在shell腳本中,如何進行安全復制,以便從新創建的圖像的角度來看 ,圖像可以安全地將文件從我的計算機復制到自身, 而無需輸入密碼? 這是一個shell腳本,所以如果我願意,我就無法輸入。
我知道為了避免輸入密碼,我需要公鑰/私鑰驗證。 在shell腳本中,我有:
sudo ssh-keygen -t rsa -b 2048
sudo scp ~/.ssh/id_rsa.pub user@example.com:/home/user/.ssh/uploaded_key.pub
sudo ssh user@example.com "echo `cat ~/.ssh/uploaded_key.pub` >> ~/.ssh/authorized_keys"
(摘自此處和其他地方的示例 。我對此的理解是生成的圖像正在運行這些命令。)
我在StackOverflow上看到的這個和許多方法的問題,例如與這個相關的問題 ,是兩件事之一。
ssh
或scp
鍵入顯式AMI ID的其他方法似乎不起作用。 一個密切相關的問題使用“文件”提供類型,但我想用“shell”類型執行此操作,我不知道如何使用文件和shell選項。
我怎么解決這個問題?
您應該使用file
配置器,例如:
"provisioners": [
{
"type": "file",
"source": "source_file",
"destination": "dest"
},
{
"type": "script",
"inline": [ "echo do something here" ]
}
]
請參閱文檔:供應商
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.