2017-04-15 82 views
1

互聯網文檔建議禁用SSH密碼認證和使用,而不是一個加密密鑰對認證。例如參見Linode's documentation上傳多個SSH密鑰有關保護VPS一個VPS

我不知道在什麼情況下會發生其公鑰我上傳到我的服務器停止工作的電腦,我要切換到另一臺計算機:這是最壞的情況。

不過,我可能只是想改變我的舊電腦有一個新的。或者我可能會試圖調整我的硬盤的大小,然後安裝下一個LTS Ubuntu版本,並移動我的所有數據,而不是嘗試進行有風險的升級:儘管如此,我的新操作系統將生成/使用不同的ssh密鑰。

我能做些什麼,以避免從我的服務器鎖定?
據我瞭解,一旦SSH密碼驗證是禁用的,公鑰上傳到服務器,就可以通過ssh連接到服務器只使用該密鑰。不過,我想知道:有沒有辦法上傳多個公鑰?如果這是可能的,服務器將通過不同的公鑰通過身份驗證接受來自多臺計算機的連接(儘管我沒有看到第二臺計算機可以通過SSH連接來上傳其密鑰)。

是否可以備份我的id_rsaid_rsa.pub文件?

+1

我想你可以使用鍵從一個虛擬機來代替。在你遇到盒子死亡的情況下,你可以在另一臺主機上設置虛擬機,並且仍然可以從這臺虛擬機訪問遠程計算機。 – Cyclonecode

+0

我明白了,您建議對虛擬機進行備份並最終將其複製到新主機上? – Asarluhi

+1

是的,如果你想稍後在另一臺機器上使用它。虛擬機可以從一個非常小的Linux發行版創建,例如knoppix或類似的。請注意,我不確定這是否可行,但可能值得一試。 – Cyclonecode

回答

1

,您可以根據需要儘可能多的項添加到sshd您的VPS:

  • 生成一個與ssh-keygen和生成的密鑰保存某處
  • 副本公共部分(與sufix .pub)到您的服務器
  • 添加此公鑰到~/.ssh/authorized_keys文件(或sshd_configAuthorizedKeysFile項中指定的一個):cat key.pub >>~/.ssh/authorized_keys
  • RELO廣告的sshd(在我的Ubuntu它是這樣sudo service ssh reload
  • 使用新密鑰連接:ssh -i /path/to/private-key [email protected]
+0

第三點是在我的本地機器還是在服務器上執行?如果我沒有錯,這個過程會在_same_機器和_same_ OS中創建一個新的ssh密鑰。 – Asarluhi

+1

@Asarluhi是的,第3點和第4點要在服務器上運行。基本上,第3點將'sshd'配置爲信任擁有您所添加密鑰的任何客戶端,並且點4只是告訴'sshd'使用新配置。 –

+0

如果使用'ssh-copy-id'完成第2點,這個命令應該自動編輯'〜/ .ssh/authorized_keys'(點3仍然是必須的),也可能會覆蓋前一個鍵。我錯了嗎? – Asarluhi