OpenSSH 是使用 SSH 協定進行遠端登入的首要連線工具。它對所有通訊進行加密,以消除竊聽、連線劫持和其他攻擊。此外,OpenSSH 還提供了一套大型的安全隧道功能、幾種認證方法和複雜的設定選項。
OpenSSH 是由 OpenBSD 專案的一些開發者開發的,並在 BSD-style 的許可下提供。
自 OpenSSH 8.9 以來的變化包括:
不相容的變化
- 這個版本將 scp 從使用傳統的 scp/rcp 協定改為預設使用 SFTP 協定;傳統的 scp/rcp 會通過遠端 shell 對遠端檔名進行萬用字元擴充套件(例如 "scp host:* ...")。這會產生一個副作用,就是需要在檔名中對 shell 元字元進行雙引號處理,否則它們可能被解釋為遠端的 shell 命令。而這就產生了一個潛在的不相容的地方:scp(1) 在使用 SFTP 協定時,不再需要這種引號。而試圖使用它可能會導致傳輸失敗。
- 在不相容的情況下,scp(1)使用者端可以被使用
-O
標誌來使用的傳統 scp/rcp。
新功能
- ssh, sshd: 預設使用混合的 Streamlined NTRU Prime + x25519 金鑰交換方法
- sftp-server: 支援 "copy-data" 擴充套件以允許伺服器端複製檔案/資料
- sftp: 增加了一個 "cp" 命令, 允許 sftp 使用者端執行伺服器端的檔案拷貝
錯誤修正
- sshd: 在伺服器監聽/接受迴圈中打包 pollfd 陣列,可能導致伺服器在 MaxStartups > RLIMIT_NOFILE 時掛起/自旋
- scp: 修復了引數 processing.bz3404 中的記憶體漏失
- sshd: 不要嘗試在 sshd re-exec 路徑中解析 ListenAddress 指令
- sshd: 使用者端使用未經批准或不支援的簽名演演算法而拒絕公鑰認證請求時,在紀錄檔資訊中包括演演算法的名稱,以使偵錯更加容易
- ……
其他
- sshd: 重構了特定平臺的鎖定賬戶檢查
- ssh, sshd: 修正可能出現的整數下溢
- sshd: 提供 killpg 的實現
- 檢查丟失的 ftruncate 原型
- sshd: 在交叉編譯時預設不使用沙盒
- sshd: 在 seccomp 沙箱中允許 ppoll_time64,應該可以修復沙盒在某些 32 位 Linux 平臺上的違規行為
- 改進對設定指令碼中 -fzero-call-used-regs=all 支援的檢測
- ……
更多詳情可檢視: