高級安全 Shell:使用 SSH 可以做的 6 件事

已發表: 2021-10-02

SSH 是最流行的遠程訪問服務器的工具。 它也是系統管理員中最容易被誤解的工具之一。 雖然它有一些非常具體的用例,但還有許多其他人不知道的用例。 在這篇文章中,我們將介紹使用 SSH 可以做的六件事,讓您的生活更輕鬆,並解決比您意識到的更多的問題!

相關: 10 個最佳 PHP 代碼安全掃描器。


高級安全 Shell:使用 SSH 可以做的 6 件事

1) SFTP

SFTP 是 SSH 文件傳輸協議的縮寫。 它允許您使用首選的數據移動​​方法(FTP、SCP、Rsync)通過網絡安全地複製文件。 它還使用密鑰而不是密碼來提高安全性和身份驗證。

它非常適合在 FTP 或 SCP 被阻止但 SFTP 不是的地方傳輸文件! 如果您需要在兩台不能直接訪問但 SSH 可以直接訪問的機器之間進行連接,您也可以使用它。

使用 FileZilla 是首選方式,它涉及輸入 SSH 的用戶名、端口和地址。 接下來,是時候通過簡單地輸入“sftp [email protected]”來使用 SFTP。 這樣做將允許您在終端內進行交互以下載/上傳文件、瀏覽目錄等。

2)保持連接活躍

阻止您的連接死亡總是很重要的。 幸運的是,您可以通過使用三個指令來防止 SSH 會話過早終止。

TCPKeepAlive 參數確定是否保持連接打開。 啟用此選項後,客戶端將不斷發送數據包,以維護與所連接服務器的網絡鏈接。

ClientAliveInterval 指定您希望系統通過網絡發送流量的頻率。 ClientAliveCountMax 指定應在多少未應答消息之後導致此會話終止,因此可以進行另一次嘗試。

ServerAliveInterval 與 ClientAliveInterval 相同,但設置在另一端。 這指定客戶端在發送數據以驗證它們仍然連接之前將等待多長時間。

通過將這三個一起使用,您可以防止 SSH 會話超時,同時仍然允許流量在建立另一個會話之前停止。 您還可以指示您的服務器或客戶端在考慮關閉網絡鏈接之前它們應該失敗多少次!

3) SSH 代理

SSH Agent 是一個幫助管理 SSH 密鑰的程序。 它提供了一種將您的私鑰加載到內存中的簡單方法,因此您不必每次都輸入密碼!

當您開始與代理的會話時,所有需要 SSH 連接的窗口和應用程序都將自動獲得訪問您的私鑰的權限。 為了快速開始,您只為此過程設置了一個密碼!

可以轉發代理以使用相同的憑據從連接的主機到另一個。 但是,這些憑據由代理存儲,這增加了被黑客入侵的風險。 因此,我不建議將您的代理轉發到可信機器以外的任何地方。

4) 通過本地端口轉發隧道

SSH 的一個用例是隧道。 這可用於保護加密連接內的應用程序流量,並確保不安全的數據不會傳輸到外部。

服務器

sshd 配置文件位於 /etc/ssh/sshd_config 中,包含需要進行的所有服務器端更改。

為了進行更改,首先用前導 # 註釋掉原始行。 如果需要,您還可以復制任何行並對其進行編輯,而不僅僅是取消註釋,這樣您就可以更輕鬆地查看需要更改的內容,而無需同時進行太多操作!

要使端口轉發正常工作,您需要通過輸入“AllowTcpForwarding yes”來允許 TCP。
如果您對服務器配置文件進行了更改,請重新加載 ssh 服務。 您可以使用“service ssh reload”來完成此操作。

客戶

您可以使用 SSH 隧道執行許多很酷的操作,例如當您需要在一個數據庫中執行只能在另一台機器上執行的查詢時。 這允許您的連接通過另一台機器進行隧道傳輸。

5) X11 轉發

可以使用 SSH 連接轉發 X11 數據包,以便在本地計算機上顯示遠程計算機的桌面環境。 在將 GUI 用於特定程序時,這對於節省時間非常有用。

先決條件

安裝 xauth 是在您的服務器上實現 X11 轉發的第一步。 如果您想對其進行測試,請確保在繼續之前還安裝了 xclock。

服務器

第一步是允許 X11Forwarding 在您的 /etc/ssh/sshd_config 中查找“X11Forwarding”,然後將其設置為“yes”。

客戶

已設置從服務器到客戶端計算機的 X11 轉發,當您鍵入“xclock”時,您應該能夠在桌面上看到時鐘。

6) 代理跳轉

許多人使用 SSH 連接到堡壘(第一個跳轉主機),然後跳轉到其他設備。 堡壘是第一個跳躍宿主。

為了讓不精通技術的人更容易,ProxyJump 可能是完美的解決方案。 它使用跳轉主機簡化了對您的服務器的訪問,並且還可以提供額外的安全層,以防有人試圖入侵您不想公開的服務器。

假設您是家庭用戶,擁有兩台路由器,網絡的每一側各一台。 一個用例是有一台額外的機器作為堡壘網關——或者在這些設備前面的 VPN 服務器,這樣人們就可以在沒有通過任一路由器的 IP 地址訪問的情況下訪問其他計算機。

這在管理私人連接時會派上用場,同時仍然能夠啟動各種服務,例如需要時從我們自己的房子內啟動 OpenVPN 客戶端!


結論

總之,您可以使用 SSH 做很多事情。 這包括防止您的會話超時、通過服務器隧道傳輸數據、轉發 X11 數據包以在另一台機器的 GUI 上顯示等等。

如果您想了解如何對自己的代碼執行安全審核的基礎知識,請查看我們博客文章的鏈接,了解如何確保自己的代碼安全!

相關:提高 cPanel/WHM 安全性的 25 個技巧。