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