我正在調試自定義AMI的創建,但我不清楚EC2實際上是如何將您的密鑰對的公鑰安裝到您的AMI上的......我認爲它會進入〜someuser/.ssh/authorized_keys,但我無法弄清楚如果這只是完成一次,每次啓動,或目標用戶如何確定。EC2如何從您的密鑰對安裝公鑰?
12
A
回答
15
更具體地cloud-init
是一個Python模塊,每次啓動實例時都會運行。
您可以通過這裏的代碼瀏覽:
/usr/lib/python2.7/dist-packages/cloudinit
他們那部分拿到鑰匙是DataSource.py
和DataSourceEc2.py
文件。他們使用URL查詢元數據:http://169.254.169.254/2011-01-01/meta-data/public-keys/
。
找到使用該URL的密鑰列表,然後從中選擇一個。 (通常是一個)。最終他們查詢:http://169.254.169.254/2011-01-01/meta-data/public-keys/0/openssh-key/
然後他們將該密鑰複製到默認的cloud-init用戶的~/.ssh/authorized_keys
文件中。
默認的cloud-init用戶(以及所有cloud-init配置)在/etc/cloud/cloud.cfg文件中定義。這摘錄一個cloud.cfg文件:
user: ubuntu
disable_root: 1
preserve_hostname: False
# datasource_list: ["NoCloud", "ConfigDrive", "OVF", "MAAS", "Ec2", "CloudStack"]
cloud_init_modules:
- bootcmd
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- ca-certs
- rsyslog
- ssh
cloud_config_modules:
- disk-setup
- mounts
- ssh-import-id
- locale
- set-passwords
- grub-dpkg
...
這基本上是一個yaml
格式的配置文件。
有關更多信息,雲計算的初始化,您可以在這裏閱讀他們的公開文檔:
http://cloudinit.readthedocs.org/en/latest/index.html
希望這有助於。
+0
輝煌,謝謝! – apinstein
相關問題
- 1. 如何查找AWS密鑰對公鑰?
- 2. 從EVP_PKEY密鑰對提取公鑰?
- 3. 安全地分發ec2密鑰對
- 4. 如何更改EC2公鑰?
- 5. 如何從密鑰庫中讀取私鑰和公鑰密鑰庫
- 6. AWS EC2密鑰對設置
- 7. EC2臨時密鑰對
- 8. 如何從密鑰中的公鑰獲取密碼
- 9. 如何生成64位公鑰加密密鑰對
- 10. c#的RSA公共密鑰的公鑰#
- 11. AWS EC2 SSH密鑰
- 12. SWCrypt公鑰VS PKCS8PEM密鑰
- 13. 公鑰加密的密鑰庫
- 14. 如何與公共密鑰
- 15. 對稱和公鑰加密
- 16. 定期對公共密鑰
- 17. 導入公私密鑰對
- 18. 公鑰加密
- 19. 公鑰加密
- 20. EC2實例不接受新的密鑰對 - 權限被拒絕(公鑰)
- 21. 連接到MQ使用安全密鑰(公鑰和私鑰)
- 22. 如何從perl中的RSA256公鑰中提取n,e密鑰?
- 23. 公鑰和私鑰API密鑰
- 24. NPM安裝 - 保存密鑰
- 25. 提取從OpenSSL的密鑰文件的公鑰和私鑰
- 26. 如何使用短數據公鑰/私鑰不對稱密碼
- 27. 如何使用公鑰/私鑰對來加密SSO令牌?
- 28. 私鑰加密公鑰加密
- 29. 如何從現有密鑰設置新密鑰:defaultdict的值對?
- 30. Amazon AWS密鑰對不再安全使用。如何在ec2實例上禁用/替換此密鑰對?
它使用一個名爲cloud-init的系統。我認爲元數據服務上也有關鍵。 – datasage