1,什麼是遠程登陸程序員
遠程登陸是用戶使用ssh,telnet等命令,登陸到一臺遠程服務器進行操做,使本身的計算機暫時成爲遠程主機的一個仿真終端的過程。算法
登陸系統後全部的操做都是對遠程主機的操做,仿真終端等效於一個非智能的機器,它只負責把用戶輸入的每一個信息回顯在本地終端屏幕上,再將主機輸出的每一個信息回顯在本地終端屏幕上。。shell
遠程登陸是現代網絡中最重要的手段之一,幾乎全部的網絡設備都提供遠程登陸功能,Linux系統的遠程登陸功能更爲強大。安全
2, telnet服務器
爲了適應異構環境,Telnet協議定義了數據和命令在Internet上的傳輸方式,此定義被稱做網絡虛擬終端NVT(Net Virtual Terminal)。它的應用過程以下:網絡
對於發送的數據:客戶機軟件把來自用戶終端的按鍵和命令轉化爲 格式,併發送到服務器,服務器軟件將收到的數據和命令,從NVT格式轉換爲遠程須要的格式。併發
對於返回的數據:遠程服務器將數據從遠程機器的格式轉換爲NVT格式,而本地客戶機將將接收到的 格式數據在轉換爲本地的格式。ssh
3,SSHtcp
SSH是英文Secure shell 的縮寫形式,它是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。利用SSH協議能夠有效防止遠程管理過程當中的信息泄漏問題。工具
3.1 什麼是SSH?
傳統的網絡服務程序,如:ftp、POP和telnet在本質上都是不安全的,由於它們在網絡上用明文傳送口令和數據,別有用 心的人很是容易就能夠截獲這些口令和數據。並且,這些服務程序的安全驗證方式也是有其弱點的,就是很容易受到「中間人」(man-in-the-middle)這種方式的攻擊。所謂「中間人」的攻擊方式,就是「中間人」冒充真正的服務器接收你傳給服務器的數據,而後再冒充你把數據傳給真正的服務器。服務器和你之間的數據傳送被「中間人」一轉手作了手腳以後,就會出現很嚴重的問題。
從前,一個名爲Tatu Yl?nen的芬蘭程序員開發了一種網絡協議和服務軟件,稱爲SSH(Secure SHell的縮寫)。 經過使用SSH,你能夠把全部傳輸的數據進行加密,這樣「中間人」這種攻擊方式就不可能實現了,並且也可以防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度。SSH有不少功能,雖然許多人把Secure Shell僅看成Telnet的替代物,但你可使用它來保護你的網絡鏈接的安全。你能夠經過本地或遠程系統上的Secure Shell轉發其餘網絡通訊,如POP、X、PPP和FTP。你還能夠轉發其餘類型的網絡通訊,包括CVS和任意其餘的TCP通訊。另外,你可使用帶TCP包裝的Secure Shell,以增強鏈接的安全性。除此以外,Secure Shell還有一些其餘的方便的功能,可用於諸如Oracle之類的應用,也能夠將它用於遠程備份和像SecurID卡同樣的附加認證。
3.2 SSH的工做機制
SSH分爲兩部分:客戶端部分和服務端部分。
服務端是一個守護進程(demon),他在後臺運行並響應來自客戶端的鏈接請求。服務端通常是sshd進程,提供了對遠程鏈接的處理,通常包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全鏈接。
客戶端包含ssh程序以及像scp(遠程拷貝)、slogin(遠程登錄)、sftp(安全文件傳輸)等其餘的應用程序。
他們的工做機制大體是本地的客戶端發送一個鏈接請求到遠程的服務端,服務端檢查申請的包和IP地址再發送密鑰給SSH的客戶端,本地再將密鑰發回給服務端,自此鏈接創建。剛纔所講的只是SSH鏈接的大體過程,SSH 1.x和SSH 2.x在鏈接協議上還有着一些差別。
SSH被設計成爲工做於本身的基礎之上而不利用超級服務器(inetd),雖然能夠經過inetd上的tcpd來運行SSH進程,可是這徹底沒有必要。啓動SSH服務器後,sshd運行起來並在默認的22端口進行監聽(你能夠用 # ps -waux | grep sshd 來查看sshd是否已經被正確的運行了)若是不是經過inetd啓動的SSH,那麼SSH就將一直等待鏈接請求。當請求到來的時候SSH守護進程會產生一個子進程,該子進程進行此次的鏈接處理。
可是由於受版權和加密算法的限制,如今不少人都轉而使用OpenSSH。OpenSSH是SSH的替代軟件,並且是免費的,
SSH是由客戶端和服務端的軟件組成的,有兩個不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能鏈接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。
3.3 Telent與SSH的比較
Telnet在傳輸機制上是有安全漏洞的,由於它們在傳輸數據時使用明文機制;若是有人在網絡上進行截獲這樣的數據,那麼一些重要的數據將會不可避免的泄露。
而SSH相對來講有兩個優勢:(1)SSH是比較可靠的的遠程登陸和其餘安全服務的協議,它採用了數據加密機制,可以防止DNS欺騙和IP欺騙。(2)所傳輸的數據是通過壓縮的,所以相對來講加快了傳輸速度。
SSH協議是創建在應用層和傳輸層上的安全協議,主要包括三個部分:(1)傳輸層協議內容,提供認證,數據的完整性檢查等功能。(2)用戶認證協議層,它運行在傳輸層上,主要實現了通訊過程當中的身份認證,認證方式包括口令認證,密鑰認證等。(3)鏈接協議層,負責分配加密通道到邏輯通道上,運行在用戶認證協議層上。
SSH協議能夠替代以一些例如Telnet,ftp一些傳統網絡程序協議,在不安全的通訊環境中提供了比較可靠的數據保護機制。
SSH TELNET 有什麼區別 ?
telnet:就是遠程登錄,通信的數據是明文傳輸,因此不太安全.
ssh:安全的shell,即你在與主機通信的數據是加密傳輸的,這樣別人要用網絡工具什麼來截取包得到信息就困難了。