SSH分為兩部分:客戶端部分和服務(wù)端部分。 服務(wù)端是一個守護進程(demon),他在后臺運行并響應(yīng)來自客戶端的連接請求。服務(wù)端一般是sshd進程,提供了對遠程連接的處理,一般包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全連接。 客戶端包含ssh程序以及像scp(遠程拷貝)、slogin(遠程登陸)、sftp(安全文件傳輸)等其他的應(yīng)用程序。 他們的工作機制大致是本地的客戶端發(fā)送一個連接請求到遠程的服務(wù)端,服務(wù)端檢查申請的包和IP地址再發(fā)送密鑰給SSH的客戶端,本地再將密鑰發(fā)回給服務(wù)端,自此連接建立。剛才所講的只是SSH連接的大致過程,SSH 1.x和SSH 2.x在連接協(xié)議上還有著一些差異。 SSH被設(shè)計成為工作于自己的基礎(chǔ)之上而不利用超級服務(wù)器(inetd),雖然可以通過inetd上的tcpd來運行SSH進程,但是這完全沒有必要。啟動SSH服務(wù)器后,sshd運行起來并在默認的22端口進行監(jiān)聽(你可以用 # ps -waux | grep sshd 來查看sshd是否已經(jīng)被正確的運行了)如果不是通過inetd啟動的SSH,那么SSH就將一直等待連接請求。當請求到來的時候SSH守護進程會產(chǎn)生一個子進程,該子進程進行這次的連接處理。 但是因為受版權(quán)和加密算法的限制,現(xiàn)在很多人都轉(zhuǎn)而使用OpenSSH。OpenSSH是SSH的替代軟件,而且是免費的, |
|