Ssh

授予對 Ubuntu 14.04 EC2 機器的臨時訪問權限

  • May 18, 2014

我的公司打算為我們的 EC2 伺服器上的一些開發運維工作聘請外部承包商。我們使用通過.pem證書文件訪問的 Ubuntu。

出於顯而易見的原因,我不想.pem與外人共享我的密鑰 - 如果密鑰失去,網際網路上的任何人都可以訪問我的機器。

我可以將承包商的 ssh 密鑰添加到.ssh/authorized_keys所有伺服器上,但這會很繁瑣,除非我更改模板伺服器映像,否則他將無法訪問新伺服器。

是否有更簡單的方法來授予對 EC2 機器的臨時、可撤銷的訪問權限?

如果有一個集中的身份驗證系統:

是的,這很容易做到,原因很明顯。只需在您的集中式身份驗證系統(LDAP、Kerberos、AD…)中啟用/禁用承包商的帳戶。您可以擁有該特定承包商的個人帳戶,或決定使用通用的第三方人員帳戶。前者可以保留可審計性,如果這很重要的話。

如果沒有集中的身份驗證系統:

為承包商創建一個密鑰對,並使用您選擇的配置管理將其放置在您的機器中。如果你沒有,你可以使用ansible’sshell模組,這在客戶端不需要任何東西,或者,作為最後的手段,你仍然可以使用mussh或編寫自己的腳本ssh-copy-id(1)sshd_config一旦她/他完成了她/他的工作,就刪除密鑰,撤銷訪問,或兩者兼而有之。

引用自:https://serverfault.com/questions/596822