我正在使用 ubuntu 18.04 的 VPN 上使用一組伺服器,對於每台伺服器我都有不同的金鑰檔案。但是,當我嘗試安全地複製文件(例如跨伺服器安全地傳播munge 密鑰)時,我被拒絕,因為我沒有適當的密鑰(至少我認為這就是原因,它返回「權限被拒絕(公鑰)」。 )。
將我的私鑰保存在每台伺服器上可能是一個不好的做法?將文件複製到本地計算機,然後將它們複製到不同的伺服器很痛苦,而且我也不確定這是否安全。
如何正確處理這個問題?我可以使用每台伺服器上的使用者(如 munge)在它們之間進行複製嗎?有沒有一個選項不是漏洞?
答案1
使用 ssh(scp 是 ssh 的一個分支)進行基於金鑰的身份驗證是公鑰加密的問題。您個人擁有一個保密的私鑰,並將您的公鑰分發給所有人。
因此,為了解決您的問題,您不應該或不需要多個私鑰,一個就足夠了。然後您在所有伺服器上傳您的公鑰。您應該將私鑰備份保存在安全的地方並使用密碼進行加密。
其次,將私鑰儲存在您正在存取的伺服器上是違反公鑰密碼學的原理的;您沒有對私鑰保密。您的私鑰應該安全無恙地隨身攜帶,並對所有人保密;只有您應該擁有私鑰,其他人都不應該擁有。
此外,在伺服器之間使用相同的使用者名稱和公鑰也是一個很好的做法。
因此,請妥善保管您的單一私鑰,並將公鑰分發給您想要存取的所有伺服器。現在您可以使用相同的私鑰登入所有伺服器!
答案2
如果您需要在伺服器之間交換數據,您可以查看scp -3 server1:path1 server2:path2
.它將傳輸資料並使用您的主機作為中間人(伺服器之間沒有直接連接)。
您也可以使用為每個伺服器區塊設定的選項來設定.ssh/config
檔:IdentityFile
Host server1
IdentityFile ~/.ssh/file1
Host server2
IdentityFile ~/.ssh/file2