OpenSSH
SSH協議的免費開源實現
OpenSSH 是 SSH (Secure SHell)協議的免費開源實現。SSH協議族可以用來進行遠程控制,或在計算機之間傳送文件。而實現此功能的傳統方式,如telnet(終端模擬協議)、 rcp ftp、 rlogin、rsh都是極為不安全的,並且會使用明文傳送密碼。OpenSSH提供了服務端後台程序和客戶端工具,用來加密遠程控制和文件傳輸過程中的數據,並由此來代替原來的類似服務。
Secure Shell(安全外殼協議,簡稱SSH)是一種加密的網路傳輸協議,可在不安全的網路中為網路服務提供安全的傳輸環境。SSH通過在網路中創建安全隧道來實現SSH客戶端與伺服器之間的連接。雖然任何網路服務都可以通過SSH實現安全傳輸,SSH最常見的用途是遠程登錄系統,人們通常利用SSH來傳輸命令行界面和遠程執行命令。使用頻率最高的場合類Unix系統,但是Windows操作系統也能有限度地使用SSH。2015年,微軟宣布將在未來的操作系統中提供原生SSH協議支持。
在設計上,SSH是Telnet和非安全shell的替代品。Telnet和Berkeleyrlogin、rsh、rexec等協議採用明文傳輸,使用不可靠的密碼,容易遭到監聽、嗅探和中間人攻擊。SSH旨在保證非安全網路環境(例如網際網路)中信息加密完整可靠。
不過,SSH也被指出有被嗅探甚至解密的漏洞。早在2011年,中國的網際網路審查機構已經有能力針對SSH連接的刺探及干擾。而後愛德華·斯諾登泄露的文件也指出,美國國家安全局有時能夠把SSH協議傳輸的信息解密出來,從而讀出SSH會話的傳輸內容。2017年7月6日,非營利組織維基解密確認美國中央情報局已經開發出能夠在Windows或Linux操作系統中竊取SSH會話的工具。
程序主要包括了幾個部分:
● ssh
● rlogin與Telnet的替代方案。
● scp、sftp
● rcp的替代方案,將文件複製到其他電腦上。
● sshd
● SSH伺服器。
● ssh-keygen
● 產生RSA或DSA密鑰,用來認證用。
● 幫助用戶不需要每次都要輸入密鑰密碼的工具。
● ssh-keyscan
● 掃描一群機器,並記錄其公鑰。
OpenSSH 支持 SSH 協議的版本 1.3、1.5、和 2。自從 OpenSSH 的版本2.9以來,默認的協議是版本2,該協議默認使用 RSA 鑰匙。
OpenSSH服務,sshd,是一個典型的獨立守護進程(standalone daemon),但也可以根據需要通過網路守護進程(Internet Daemon)-inetd(注3)或Ineternet Daemon's more modern-xinted載入。OpenSSH服務可以通過/etc/ssh/sshd_config文件進行配置。
OpenSSH常常被誤認以為與OpenSSL有關聯,但實際上這兩個計劃的有不同的目的,不同的發展團隊,名稱相近只是因為兩者有同樣的軟體發展目標──提供開放源代碼的加密通訊軟體。