我們應該使用 SSH 還是 psexec?各自有什麼好處?

我們應該使用 SSH 還是 psexec?各自有什麼好處?

我們的開發營運團隊目前建立原始程式碼並將該原始程式碼部署到目標框 - 這是典型的設定。目前我們使用 psexec 向遠端主機發出指令(即關閉環境、傳輸新程式碼、啟動備份環境等)

我們使用 SSH 來處理這些事情會更好嗎?它會更可靠/用戶友好嗎?有人可以幫助我了解兩者的優點/缺點嗎?

答案1

考慮到 Windows 並沒有開箱即用 SSH,您必須在目前部署到的所有機器上進行設定。

當然,您可以設定安裝腳本,透過 psexec 使用 shell 腳本自動執行此操作:)

這實際上取決於您的用例。

安全有多重要?

SSH 被設計為 telnet 的替代品。它為您提供了遠端電腦上的 shell,就像 telnet 一樣,但所有資料都透過安全隧道發送,因此如果有人嗅探資料包,所有資料都將被加密。

整體而言,SSH 的用途更加廣泛。您可以設定 TCP 轉發,以便其他應用程式可以使用您的 SSH 隧道進行通訊。 VNC 就是一個例子。通常,遠端幀緩衝區(您的螢幕資料)會透過網路傳送時未加密。您可以透過 SSH 輕鬆連接到遠端計算機,然後使用 SSH 隧道以安全的方式傳送螢幕資料。

PSEXEC 是一個非常適合您上面描述的工具。它不需要額外的設定(嵌入到 Windows 中)。

PSEXEC 使用 RPC(遠端過程呼叫)進行通訊。我相信,一旦建立了“通訊通道”,資料就會被加密,儘管我不完全確定所使用的方法(可以透過多種方式配置 SSH)。

但是,如果您需要提供任何用戶憑證,那麼它將透過網路發送in PLAIN TEXT。我相信這可能會寫在命令的輸出中psexec /?。儘管我現在不在 Windows 盒子前進行驗證。

看到這個關聯對於選項,它在範例部分之前有一個註釋。

因此,這實際上取決於您需要做什麼。就穩定性而言。我確實從未遇到過 PSEXEC 的任何穩定性問題。我不會說穩定性是考慮使用 SSH 而不是 PSEXEC 的理由,除非您在使用 PSEXEC 時遇到問題。

PSEXEC 的可設定性不如 SSH。除非遇到 PSEXEC 的限制,否則您可能需要考慮 SSH。如果您只是複製新程式碼並重新啟動遠端計算機,而不是透過 PSEXEC 傳遞憑證(即透過遠端上的當前使用者名稱運行命令),那麼為什麼不繼續這樣做呢?

事實上,如果您只需要複製和重新啟動,為什麼不只使用一些cmd.exe命令,例如copy/ xcopy/ shutdown(如果它在您的 LAN 上或您有其他路由(例如透過 VPN))而不是 PSEXEC?

相關內容