日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在 AWS 中使用 Ansible 來管理你的 SSH 密鑰

 

本文將會介紹一種在所有區域中使用你的公鑰的方法。-- Daniel Leite De Abreu(作者)

如果你長期使用亞馬遜 Web 服務(AWS)中的實例,你可能會遇到下面這個常見的問題,它不是因為技術性的原因導致的,更多的是因為人類追求方便舒適的天性:當你登錄一臺你最近沒有使用的區域的新實例,你最終會創建一個新的 SSH 密鑰對,久而久之這最終就會造成個人擁有太多密鑰,導致管理起來復雜混亂。

本文將會介紹一種在所有區域中使用你的公鑰的方法。最近,一篇 Fedora Magazine 的文章 介紹了另一種解決方案。但本文中的解決方案可以進一步的以更簡潔和可擴展的方式實現自動化。

假設你有一個 Fedora 30 或 31 系統,其中存儲了你的密鑰,并且還安裝了 Ansible。當這兩件事同時滿足時,就提供了解決這個問題的辦法,甚至它還能做到更多。

使用 Ansible 的 ec2_key 模塊 ,你可以創建一個簡單的 Ansible 劇本來在所有區域中維護你的 SSH 密鑰對。如果你需要增加或者刪除密鑰,在 Ansible 中這就像從文件中添加和刪除行一樣簡單。

設置和運行 Ansible 劇本

如果要使用劇本,首先需要安裝 ec2_key 模塊的必要依賴項:

$ sudo dnf install Python3-boto python3-boto3

該劇本很簡單:你只需要像下面的例子一樣,修改其中的密鑰及其對應的名稱。然后,運行該劇本,它會幫你遍歷所有列出的公共 AWS 區域。該示例還包括一些你可能要訪問的受限區域,只需根據需要來取消對應行的注釋,然后,保存文件重新運行劇本即可。

---
- name: Maintain an ssh key pair in ec2
 hosts: localhost
 connection: local
 gather_facts: no
 vars:
 ansible_python_interpreter: python
 tasks:
 - name: Make available your ssh public key in ec2 for new instances
 ec2_key:
 name: "YOUR KEY NAME GOES HERE"
 key_material: 'YOUR KEY GOES HERE'
 state: present
 region: "{{ item }}"
 with_items:
 - us-east-2 #US East (Ohio)
 - us-east-1 #US East (N. Virginia)
 - us-west-1 #US West (N. California)
 - us-west-2 #US West (Oregon)
 - ap-east-1 #Asia Pacific (Hong Kong)
 - ap-south-1 #Asia Pacific (Mumbai)
 - ap-northeast-2 #Asia Pacific (seoul)
 - ap-southeast-1 #Asia Pacific (Singapore)
 - ap-southeast-2 #Asia Pacific (Sydney)
 - ap-northeast-1 #Asia Pacific (Tokyo)
 - ca-central-1 #Canada (Central)
 - eu-central-1 #EU (Frankfurt)
 - eu-west-1 #EU (Ireland)
 - eu-west-2 #EU (London)
 - eu-west-3 #EU (Paris)
 - eu-north-1 #EU (Stockholm)
 - me-south-1 #Middle East (Bahrain)
 - sa-east-1 #South America (Sao Paulo)
 # - us-gov-east-1 #AWS GovCloud (US-East)
 # - us-gov-west-1 #AWS GovCloud (US-West)
 # - ap-northeast-3 #Asia Pacific (Osaka-Local)
 # - cn-north-1 #China (Beijing)
 # - cn-northwest-1 #China (Ningxia)

這個劇本需要通過 API 訪問 AWS,為此,請使用環境變量,如下所示:

$ AWS_ACCESS_KEY="aws-access-key-id" AWS_SECRET_KEY="aws-secret-key-id" ansible-playbook ec2-playbook.yml

另一個方式是安裝 aws 命令行工具并添加憑據,如以前的一篇 Fedora Magazine 文章 所述。如果你在線存儲它們,這些參數將不建議插入到劇本中!你可以在 GitHub 中找到本文的劇本代碼。

完成該劇本之后,請確認你的密鑰在 AWS 控制臺上可用。為此,可以做如下操作:

  1. 登錄你的 AWS 控制臺
  2. 轉到 “EC2 > Key Pairs”
  3. 你應該會看到列出的密鑰。唯一的限制是你必須使用此方法逐個區域來檢查。

另一種方法是在 shell 中使用一個快速命令來為你做這些檢查。

首先在劇本上創建一個包含所有區域的變量:

AWS_REGION="us-east-1 us-west-1 us-west-2 ap-east-1 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ca-central-1 eu-central-1 eu-west-1 eu-west-2 eu-west-3 eu-north-1 me-south-1 sa-east-1"

然后,執行如下循環,你就可以從 aws 的 API 獲得結果:

for each in ${AWS_REGION} ; do aws ec2 describe-key-pairs --key-name <YOUR KEY GOES HERE> ; done

請記住,要執行上述操作,你需要安裝 aws 命令行。


via: https://fedoramagazine.org/using-ansible-to-organize-your-ssh-keys-in-aws/

作者: Daniel Leite de Abreu 選題: lujun9972 譯者: hj24 校對: wxy

本文由 LCTT 原創編譯, linux中國 榮譽推出

分享到:
標簽:SSH
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定