Linux

sshpass 和 SFTP 對動態主機的安全性

  • July 7, 2015

我有一個具有專用 IP 地址A的伺服器和一個具有動態 IP 地址的伺服器B(通過 no-ip.org 路由)。A 通過 sshpass 將備份上傳到 B:

export SSHPASS=***
sshpass -e sftp **@** << !
   [..]
   put [..]
   bye
!

現在每次(A)都會發生以下情況:

警告:為 IP 地址永久添加 ECDSA 主機密鑰

$$ … $$’ 到已知主機列表。

我覺得這可能不是傳輸備份數據(tar 文件)的安全方法。有人可以攔截備份嗎?

另外,我以後不應該再次從已知主機列表中刪除IP嗎?每天都會執行備份。聽起來像是一長串已知的動態主機!

此警告消息並不表示存在安全風險,因為它已經驗證伺服器發送的主機密鑰與您要連接的主機名的已知主機密鑰匹配。(我實際上會說這個詞Warning應該被排除在這個特定的資訊之外。)

您可以從已知主機列表中清除那些動態添加的 IP + 主機密鑰對。但它們並沒有真正受到傷害,如果您需要通過 IP 地址而不是主機名 ssh 到主機,那麼在已知主機文件中已有該條目會很方便。

如果您使用動態 IP 連接到多個不同的主機,您最終可能會遇到這樣一種情況:一台主機接收到一個 IP 地址,而該地址ssh之前記錄了不同的主機密鑰。在這種情況下,您將收到錯誤消息,您需要刪除過時的 IP + 主機密鑰對。(如果您正在對已知主機文件中的行進行散列處理,則要刪除的對變得更難辨識。)

提高安全性可以做的一件事是使用基於密鑰的身份驗證而不是基於密碼的身份驗證。不僅密鑰比密碼更難猜測,而且由於密鑰實際用於簽署會話 id,在中間人攻擊的情況下保證不匹配,因此執行中間人攻擊也更難。

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