SSH 密鑰對於它們所使用的服務是否必須是唯一的?
我剛剛第一次創建了一個虛擬伺服器(或者,用 Digital Ocean 主機的語言,一個“droplet”)。Digital Ocean 有一個關於 SSH 密鑰的說明頁面https://www.digitalocean.com/ssh_keys 告訴我們檢查 SSH 密鑰是否存在,然後給出生成新 SSH 密鑰然後添加它們的說明。就我而言,使用說明給出的命令,我發現我已經擁有 SSH 密鑰(我猜是我在註冊 github 或 heroku 時生成的)
問題
我應該重複使用我已經擁有的 SSH 密鑰還是生成新密鑰(即它們必須是我使用它們的服務所獨有的)?
說明(複製如下)討論了將 SSH 密鑰添加到數字海洋,然後創建伺服器。就我而言,我在添加 SSH 密鑰之前創建了伺服器。這會產生我應該注意的任何問題嗎?我應該銷毀伺服器(還沒有安裝任何東西)並在適當的時候創建一個添加 SSH 密鑰的新伺服器嗎?
指示
You can add SSH keys to DigitalOcean which can then be selected during the droplet create process to add the selected SSH keys under the root user. When using SSH keys a root password will no longer be set as SSH keys will be used as the preferred method of access. We do not manage the server after creation, so editing, adding, or removing SSH keys from the SSH interface will not affect any of the stored keys on droplets that you have created.
SSH 密鑰對於特定服務不必是唯一的。作為良好的一般實踐,它們應該是唯一的目的。
例如,作為一個人,您可能有多個 SSH 密鑰:
- 個人系統
的密鑰 - 工作系統
的密鑰 - 與 github/rsync.net/etc 一起使用的密鑰。
在工作中,您可能還擁有專用於特定程序的密鑰(Puppet 使用的一個,備份軟體使用的一個等)
您應該考慮您的安全性和機密性需求,然後確定是應該創建新密鑰還是使用現有密鑰。
您粘貼的說明似乎表明,當您創建“液滴”時,Digital Ocean 會將指定的密鑰添加到 root 的
authorized_keys
文件中。之後他們不再authorized_keys
進一步管理文件,因此如果您已經創建了伺服器而沒有指定密鑰(或者您想稍後添加/更改/刪除密鑰),您將需要手動編輯根authorized_keys
文件以進行這些更改。您不需要為此銷毀/重新創建伺服器。