OpenSSH 是 SSH 協定(版本 2)的完整實現,用於安全遠端登入、命令執行和檔案傳輸。它包括客戶端ssh
和伺服器sshd
、檔案傳輸實用程式scp
和sftp
以及金鑰產生工具 ( ssh-keygen
)、執行時間金鑰儲存 ( ssh-agent
) 和許多支援程式。
這是 OpenBSD 的 OpenSSH 到大多數類 Unix 作業系統的端口,包括 Linux、OS X 和 Cygwin。可移植的 OpenSSH 填入了其他地方不可用的 OpenBSD API,為更多作業系統添加了 sshd 沙箱,並包含對作業系統本機驗證和稽核的支援(例如使用 PAM)。
OpenSSH 的官方文件是每個工具的手冊頁:
SSH(1)
SSHD(8)
ssh-keygen(1)
ssh 代理(1)
SCP(1)
sftp(1)
ssh-keyscan(8)
sftp 伺服器(8)
可以從許多下載鏡像獲得穩定版本的 tarball。我們建議大多數用戶使用穩定版本。請閱讀發行說明,以了解最新變更和潛在不相容性的詳細資訊。
便攜式 OpenSSH 是使用 autoconf 和 make 建構的。它需要一個有效的 C 編譯器、標準函式庫和頭檔。
也可以使用 LibreSSL 或 OpenSSL 中的libcrypto
。 OpenSSH 可以在沒有這些的情況下構建,但生成的二進位檔案將僅包含通常可用的加密演算法的子集。
zlib 是可選的;如果沒有它,則不支援傳輸壓縮。
FIDO 安全令牌支援需要 libfido2 及其相依項,如果找到它們,將自動啟用。
此外,某些平台和建置時選項可能需要額外的依賴項;有關您的平台的詳細信息,請參閱 README.platform。
git 中的發布 tarball 和發布分支包含configure
腳本的預先建置副本,可以使用以下方式建置:
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
有關配置選項,請參閱下面的建置時自訂部分。如果您打算將 OpenSSH 安裝到系統中,那麼您通常需要指定目標路徑。
如果從 git master 分支構建,您需要安裝 autoconf 來建立configure
腳本。以下命令將從 git 檢查並建立可移植的 OpenSSH:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git cd openssh-portable autoreconf ./configure make && make tests
有許多建置時自訂選項可用。支援所有 Autoconf 目標路徑標誌(例如--prefix
)(如果要安裝 OpenSSH,通常需要這些標誌)。
要獲得可用標誌的完整列表,請執行./configure --help
但下面描述了一些更常用的標誌。其中一些標誌將需要安裝額外的庫和/或標頭。
旗幟 | 意義 |
---|---|
--with-pam | 啟用 PAM 支援。支援 OpenPAM、Linux PAM 和 Solaris PAM。 |
--with-libedit | 啟用 sftp 的 libedit 支援。 |
--with-kerberos5 | 啟用 Kerberos/GSSAPI 支援。支援 Heimdal 和 MIT Kerberos 實作。 |
--with-selinux | 啟用 SELinux 支援。 |
可移植的 OpenSSH 開發在 openssh-unix-dev 郵件清單(存檔鏡像)上進行了討論。 Bug 和功能請求在我們的 Bugzilla 上進行追蹤。
非安全錯誤可以透過 Bugzilla 或透過上面的郵件清單向開發人員報告。安全錯誤應報告給 [email protected]。