導航:首頁 > IDC知識 > 登錄遠程主機

登錄遠程主機

發布時間:2020-09-01 02:13:22

1、什麼是遠程登陸服務?

以前,很少有人買得起計算機,更甭說買功能強大的計算機了。所以那時的人採用一種叫做Telnet的方式來訪問Internet:也就是把自己的低性能計算機連接到遠程性能好的大型計算機上,一旦連接上,他們的計算機就彷彿是這些遠程大型計算機上的一個終端,自己就彷彿坐在遠程大型機的屏幕前一樣輸入命令,運行大機器中的程序。人們把這種將自己的電腦連接到遠程計算機的操作方式叫做「登錄」,稱這種登錄的技術為Telnet(遠程登錄)。

Telnet是Internet的遠程登錄協議的意思,它讓你坐在自己的計算機前通過Internet網路登錄到另一台遠程計算機上,這台計算機可以在隔壁的房間里,也可以在地球的另一端。當你登錄上遠程計算機後,你的電腦就彷彿是遠程計算機的一個終端,你就可以用自己的計算機直接操縱遠程計算機,享受遠程計算機本地終端同樣的權力。你可在遠程計算機啟動一個互動式程序,可以檢索遠程計算機的某個資料庫,可以利用遠程計算機強大的運算能力對某個方程式求解。

但現在Telnet已經越用越少了。主要有如下三方面原因:

第一,個人計算機的性能越來越強,致使在別人的計算機中運行程序要求逐漸減弱。

第二,Telnet伺服器的安全性欠佳,因為它允許他人訪問其操作系統和文件。

第三,Telnet使用起來不是很容易,特別是對初學者。

但是Telnet仍然有很多優點,比如如果你的電腦中缺少什麼功能,就可以利用Telnet連接到遠程計算機上,利用遠程計算機上的功能來完成你要做的工作,可以這么說,Internet上所提供的所有服務,通過Telnet都可以使用。

不過Telnet的主要用途還是使用遠程計算機上所擁有的信息資源,如果你的主要目的是在本地計算機與遠程計算機之間傳遞文件,則使用FTP會有效得多。

4.2 Telnet的工作原理

當你用Telnet登錄進入遠程計算機系統時,你事實上啟動了兩個程序,一個叫Telnet客戶程序,它運行在你的本地機上,另一個叫Telnet伺服器程序,它運行在你要登錄的遠程計算機上,本地機上的客戶程序要完成如下功能:

1) 建立與伺服器的TCP聯接。

2) 從鍵盤上接收你輸入的字元。

3) 把你輸入的字元串變成標准格式並送給遠程伺服器。

4) 從遠程伺服器接收輸出的信息。

5) 把該信息顯示在你的屏幕上。

遠程計算機的「服務」程序通常被稱為「精靈」,它平時不聲不響地候在遠程計算機上,一接到你的請求,它馬上活躍起來,並完成如下功能:

1) 通知你的計算機,遠程計算機已經准備好了。

2) 等候你輸入命令。

3) 對你的命令作出反應(如顯示目錄內容,或執行某個程序等)。

4) 把執行命令的結果送回給你的計算機。

5) 重新等候你的命令。

在Internet中,很多服務都採取這樣一種客戶/伺服器結構。對Internet的使用者來講,通常只要了解客戶端的程序就夠了。

4.3利用Windows95實現遠程登錄

Windows95的Telnet客戶程序是屬於Windows95的命令行程序中的一種。在安裝Microsoft TCP/IP時,Telnet客戶程序會被自動安裝到系統上。

利用Windows95的Telnet客戶程序進行遠程登錄,步驟如下:

(1) 聯接到Internet.

(2) 選擇「開始」菜單中的「運行」,或者是選擇「程序」菜單下的「MS-DOS提示方式」便可轉換至命令提示符下。

(3) 在命令提示符下,按下列兩種方法中的任一種與Telnet聯接。

一種方法是,輸入「telnet」命令、空格以及相應的telnet的主機地址。如果主機提示你輸入一個埠號,則可在主機地址後加上一個空格,再緊跟上相應的埠號。然後,按回車鍵。

另一種方法是,輸入「telnet」命令並按回車,打開Telnet主窗口。在該窗口中,選擇「連接」下的「遠程系統」,如有必要,可以在隨後出現的對話框中輸入主機名和埠號,然後,單擊「連接」按鈕。

(4) 與Telnet的遠程主機聯接成功後,計算機會提示你輸入用戶名和密碼,若聯接的是一個BBS、Archie、Gopher等免費服務系統,則可以通過輸入bbs、archie或gopher作為用戶名,就可以進入遠程主機系統。

這樣,Telnet已經為你架起了通向遠程主機的橋梁,現在你可以完全依照遠程主機的命令行事了。

2、有什麼辦法連接遠程主機。註:我有遠程主機的登陸賬號密碼,且遠程主機允許連接》

首先是、你必須要知道對方的IP地址,只有用戶名和密碼是不行的。

點 開始 -→附件-→通訊-→遠程桌面連接-→ 輸入IP地址-→(連接成功後會

出現windows的登陸窗)-→(輸入用戶名及密碼就可以了)

3、如何遠程登陸遠程主機?

一共有以下幾步:
第一步:本地電腦,左下角,開始
第二步:點擊運行 遠程伺服器
第三步:運行框里輸入 mstsc 點擊確定
第四步:填入ip,點擊連接
第五步:輸入賬戶密碼,點擊確定 連接伺服器
第六步:每次退出伺服器,要在左下角,注銷,方便下次登錄,不注銷,下次登陸的時候會提示超過用戶組哦,

4、遠程主機和用mstsc登錄遠程主機有什麼區別

"\\加IP",只要是windows,除win9x外,默認系統自帶共享服務,除非有防火牆,或者手工關閉lanmanserver

"mstsc",自win2ksrv以來,xp及以上系統已自帶rdp服務,但需要開啟才能用,直接win+break設置

一個走SMB協議,一個走RDP協議,

5、怎麼遠程登陸別人的電腦

Telnet是進行遠程登錄的標准協議和主要方式它為用戶提供了在本地計算機上完成遠程主機工作的能力。通過使用Telnet,Internet用戶可以與全世界許多信息中心圖書館及其它信息資源聯系。Telnet遠程登錄的使用主要有兩種情況。第一種是用戶在遠程主祝上有自己的帳號(Account),即用戶擁有注冊的用戶名和口令;第二種是許多Internet主機為用戶提供了某種形式的公共Telnet信息資源,這種資源對於每一個Telnet用戶都是開放的。Telnet是使用最為簡單的Internet工具之一。

telnet /?

命令可以縮寫。支持的命令為:

c- 關閉 關閉當前連接
d- 顯示 顯示操作參數
o- 打開主機名 [埠]連接到一個主機名(默認埠 23)
q- 退出 退出 telnet
set- 設置 設置選項(要列表,請鍵入 \'set ?\')
sen- 發送 將字元串送到伺服器
st - 狀態 列印狀態信息
u- 解除設置 解除設置選項(要列表,請鍵入 \'unset ?\')
?/h- 幫助 列印幫助信息

一 摘要
二 遠程登錄
三 Telnet協議
四 Win2000的Telnet服務
五 在telnet中該做什麼

一 摘要
Telnet的應用不僅方便了我們進行遠程登錄,也給hacker們提供了又一種入侵手段和後門,但無論如何,在你盡情享受Telnet所帶給你的便捷的同時,你是否真正的了解Telnet呢?

二 遠程登錄

Telnet服務雖然也屬於客戶機/伺服器模型的服務,但它更大的意義在於實現了基於Telnet協議的遠程登錄(遠程互動式計算),那麼就讓我們來認識一下遠程登錄。

1 遠程登陸的基本概念

先來看看什麼叫登錄:分時系統允許多個用戶同時使用一台計算機,為了保證系統的安全和記帳方便,系統要求每個用戶有單獨的帳號作為登錄標識,系統還為每個用戶指定了一個口令。用戶在使用該系統之前要輸入標識和口令,這個過程被稱為\'登錄\'。
遠程登陸是指用戶使用Telnet命令,使自己的計算機暫時成為遠程主機的一個模擬終端的過程。模擬終端等效於一個非智能的機器,它只負責把用戶輸入的每個字元傳遞給主機,再將主機輸出的每個信息回顯在屏幕上。

2 遠程登陸的產生及發展

我們可以先構想一個提供遠程文字編輯的服務,這個服務的實現需要一個接受編輯文件請求和數據的伺服器以及一個發送此請求的客戶機。客戶機將建立一個從本地機到伺服器的TCP連接,當然這需要伺服器的應答,然後向伺服器發送鍵入的信息(文件編輯信息),並讀取從伺服器返回的輸出。以上便是一個標准而普通的客戶機/伺服器模型的服務。
似乎有了客戶機/伺服器模型的服務,一切遠程問題都可以解決了。然而實際並非你想像的那樣簡單,如果我們僅需要遠程編輯文件,那麼剛才所構想的服務完全可以勝任,但假如我們的要求並不是這么簡單,我們還想實現遠程用戶管理,遠程數據錄入,遠程系統維護,想實現一切可以在遠程主機上實現的操作,那麼我們將需要大量專用的伺服器程序並為每一個可計算服務都使用一個伺服器進程,隨之而來的問題是:遠程機器會很快對伺服器進程應接不暇,並淹沒在進程的海洋里(我們在這里排除最專業化的遠程機器)。
那麼有沒有辦法解決呢?當然有,我們可以用遠程登錄來解決這一切。我們允許用戶在遠地機器上建立一個登錄會話,然後通過執行命令來實現更一般的服務,就像在本地操作一樣。這樣,我們便可以訪問遠地系統上所有可用的命令,並且系統設計員不需提供多個專用地伺服器程序。
問題發展到這里好像前途一片光明了,用遠程登錄總應該解決問題了吧,但要實現遠程登陸並不簡單。不考慮網路設計的計算機系統期望用戶只從直接相連的鍵盤和顯示器上登錄,在這種機器上增加遠程登陸功能需要修改機器的操作系統,這是極其艱巨也是我們盡量避免的。因此我們應該集中力量構造遠程登陸伺服器軟體,雖然這樣也是比較困難的。為什麼說這樣做也比較困難呢?
舉個例子來說:一般,操作系統會為一些特殊按鍵分配特殊的含義,比如本地系統將\'Ctrl+C\'解釋為:\'終止當前運行的命令進程\'。但假設我們已經運行了遠程登陸伺服器軟體,\'Ctrl+C\'也有可能無法被傳送到遠地機器,如果客戶機真的將\'Ctrl+C\'傳到了遠地機器,那麼\'Ctrl+C\'這個命令有可能不能終止本地的進程,也就是說在這里很可能會產生混亂。而且這僅僅是遇到的難題之一。
但盡管有技術上的困難,系統編程人員還是設法構造了能夠應用於大多數操作系統的遠程登陸伺服器軟體,並構造了充當客戶機的應用軟體。通常,客戶機軟體取消了除一個鍵以外的所有鍵的本地解釋,並將這些本地解釋相應的轉換成遠地解釋,這就使得客戶機軟體與遠地機器的交互,就如同坐在遠程主機面前一樣,從而避免了上述所提到的混亂。而那個唯一例外的鍵,可以使用戶回到本地環境。
將遠程登陸伺服器設計為應用級軟體,還有另一個要求,那就是需要操作系統提供對偽終端(pseudo terminal)的支持。我們用偽終端描述操作系統的入口點,它允許像Telnet伺服器一樣的程序向操作系統傳送字元,並且使得字元像是來自本地鍵盤一樣。只有使用這樣的操作系統,才能將遠程登陸伺服器設計為應用級軟體(比如Telnet伺服器軟體),否則,本地操作系統和遠地系統傳送將不能識別從對方傳送過來的信息(因為它們僅能識別從本地鍵盤所鍵入的信息),遠程登陸將宣告失敗。
將遠程登陸伺服器設計為應用級軟體雖然有其顯著的優點:比將代碼嵌入操作系統更易修改和控制伺服器。但其也有效率不高的缺點(後面的內容將會給予解釋),好在用戶鍵入信息的速率不高,這種設計還是可以接受的。

3 遠程登錄的工作過程

使用Telnet協議進行遠程登陸時需要滿足以下條件:在本的計算機上必須裝有包含Telnet協議的客戶程序;必須知道遠程主機的Ip地址或域名;必須知道登錄標識與口令。
Telnet遠程登錄服務分為以下4個過程:
1)本地與遠程主機建立連接。該過程實際上是建立一個TCP連接,用戶必須知道遠程主機的Ip地址或域名;
2)將本地終端上輸入的用戶名和口令及以後輸入的任何命令或字元以NVT(Net Virtual Terminal)格式傳送到遠程主機。該過程實際上是從本地主機向遠程主機發送一個IP數據報;
3)將遠程主機輸出的NVT格式的數據轉化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執行結果;
4)最後,本地終端對遠程主機進行撤消連接。該過程是撤銷一個TCP連接。

上面的內容只是討論了遠程登陸最基本的東西,其中的復雜和編程人員的艱辛是我們難以想像的,不知道你在舒服的使用Telnet的同時,是否想到了這些!

三 Telnet協議

我們知道Telnet伺服器軟體是我們最常用的遠程登錄伺服器軟體,是一種典型的客戶機/伺服器模型的服務,它應用Telnet協議來工作。那麼,什麼是Telnet協議?它都具備哪些特點呢?

1 基本內容

Telnet協議是TCP/IP協議族中的一員,是Internet遠程登陸服務的標准協議。應用Telnet協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端。它提供了三種基本服務:
1)Telnet定義一個網路虛擬終端為遠的系統提供一個標准介面。客戶機程序不必詳細了解遠的系統,他們只需構造使用標准介面的程序;
2)Telnet包括一個允許客戶機和伺服器協商選項的機制,而且它還提供一組標准選項;
3)Telnet對稱處理連接的兩端,即Telnet不強迫客戶機從鍵盤輸入,也不強迫客戶機在屏幕上顯示輸出。

2 適應異構

為了使多個操作系統間的Telnet交互操作成為可能,就必須詳細了解異構計算機和操作系統。比如,一些操作系統需要每行文本用ASCII回車控制符(CR)結束,另一些系統則需要使用ASCII換行符(LF),還有一些系統需要用兩個字元的序列回車-換行(CR-LF);再比如,大多數操作系統為用戶提供了一個中斷程序運行的快捷鍵,但這個快捷鍵在各個系統中有可能不同(一些系統使用CTRL+C,而另一些系統使用ESCAPE)。如果不考慮系統間的異構性,那麼在本地發出的字元或命令,傳送到遠地並被遠地系統解釋後很可能會不準確或者出現錯誤。因此,Telnet協議必須解決這個問題。
為了適應異構環境,Telnet協議定義了數據和命令在Internet上的傳輸方式,此定義被稱作網路虛擬終端NVT(Net Virtual Terminal)。它的應用過程如下:
對於發送的數據:客戶機軟體把來自用戶終端的按鍵和命令序列轉換為NVT格式,並發送到伺服器,伺服器軟體將收到的數據和命令,從NVT格式轉換為遠地系統需要的格式;
對於返回的數據:遠地伺服器將數據從遠地機器的格式轉換為NVT格式,而本地客戶機將將接收到的NVT格式數據再轉換為本地的格式。
對於NVT格式的詳細定義,有興趣的朋友可以去查找相關資料。

3 傳送遠地命令

我們知道絕大多數操作系統都提供各種快捷鍵來實現相應的控制命令,當用戶在本地終端鍵入這些快捷鍵的時候,本地系統將執行相應的控制命令,而不把這些快捷鍵作為輸入。那麼對於Telnet來說,它是用什麼來實現控制命令的遠地傳送呢?
Telnet同樣使用NVT來定義如何從客戶機將控制功能傳送到伺服器。我們知道USASCII字元集包括95個可列印字元和33個控制碼。當用戶從本地鍵入普通字元時,NVT將按照其原始含義傳送;當用戶鍵入快捷鍵(組合鍵)時,NVT將把它轉化為特殊的ASCII字元在網路上傳送,並在其到達遠地機器後轉化為相應的控制命令。將正常ASCII字元集與控制命令區分主要有兩個原因:
1)這種區分意味著Telnet具有更大的靈活性:它可在客戶機與伺服器間傳送所有可能的ASCII字元以及所有控制功能;
2)這種區分使得客戶機可以無二義性的指定信令,而不會產生控制功能與普通字元的混亂。

6、如何遠程登陸雲主機?

1、Window操作系統:點擊桌面的「開始」-點擊「附件」-點擊「遠程桌面連接」。2、Linux和SolarisX86等操作系統:直接通過ssh連接。客服34為你解答。流量超市內商品應有盡有,流量包、加餐包、語音包、節日流量包可根據需求自由選擇;中國電信貴州客服公眾號回復關鍵詞「流量超市」可以直接辦理,方便快捷。

7、如何遠程登錄雲主機?

遠程登錄雲主機有兩種方式可供選擇,一是,電腦開始-程序-附件-通訊-遠程桌面,然後輸入您要登錄的雲主機的IP,用戶名,和密碼就行了,還有一種方式是:開始-運行-輸入mstsc也會跳轉到遠程桌面,然後輸入相應的信息就可以了。希望我的回答對您有幫助,如果還有關於伺服器方面的疑問可以隨時聯系我。

8、Telnet怎樣登陸到遠程主機

1.首先要確定遠程主機telnet服務開啟,無論是Windows還是Linux都需要開啟才允許另一台主機可以連接。
2.開啟之後,就可以在命令窗口輸入如:telnet 192.168.0.1。假如需要連接固定埠:telnet 192.168.0.1 22(ftp埠)
3.然後直接輸入用戶名和用戶密碼就可以了。

9、遠程主機是啥

遠程主機是遠程登陸的計算機。計算機開了遠程登錄後,從其他電腦上可以遠程登錄此計算機。
遠程不是字面意思的遠距離,一般指通過網路控制遠端電腦。早期的遠程式控制制往往指在區域網中的遠程式控制制而言,隨著互聯網和技術革新,就如同坐在被控端電腦的屏幕前一樣,可以啟動被控端電腦的應用程序,可以使用或竊取被控端電腦的文件資料,甚至可以利用被控端電腦的外部列印設備(列印機)和通信設備(數據機或者專線等)來進行列印和訪問外網和內網,就像利用遙控器遙控電視的音量、變換頻道或者開關電視機一樣。不過,有一個概念需要明確,那就是主控端電腦只是將鍵盤和滑鼠的指令傳送給遠程電腦,同時將被控端電腦的屏幕畫面通過通信線路回傳過來。也就是說,控制被控端電腦進行操作似乎是在眼前的電腦上進行的,實質是在遠程的電腦中實現的,不論打開文件,還是上網瀏覽、下載等都是存儲在遠程的被控端電腦中的。
遠程式控制制必須通過網路才能進行。位於本地的計算機是操縱指令的發出端,稱為主控端或客戶端,非本地的被控計算機叫做被控端或伺服器端。「遠程」不等同於遠距離,主控端和被控端可以是位於同一區域網的同一房間中,也可以是連入Internet的處在任何位置的兩台或多台計算機。
早期的遠程式控制制大部分指的是電腦桌面控制,實際的遠程式控制制用安卓,蘋果,筆記本,電腦都可以控馬路上的燈,能控連網的窗簾,能控電視機,能控DVD,能控攝像機,能控教室的投影機。指揮中心,大型會議室等普遍應用。
網連網智能指揮控制系統,窗簾,道路監控,高速公路監控的圖像調度等。2013年物連網是十分寬大的控還有物流RFID識別的無線網。

10、怎麼遠程登錄計算機並進行操作

為用戶提供了在本地計算機上完成遠程主機工作的能力。通過使用Telnet,Internet用戶可以與全世界許多信息中心圖書館及其它信息資源聯系。Telnet遠程登錄的使用主要有兩種情況。第一種是用戶在遠程主祝上有自己的帳號(Account),即用戶擁有注冊的用戶名和口令;第二種是許多Internet主機為用戶提供了某種形式的公共Telnet信息資源,這種資源對於每一個Telnet用戶都是開放的。Telnet是使用最為簡單的Internet工具之一。

telnet /?

命令可以縮寫。支持的命令為:

c- 關閉 關閉當前連接
d- 顯示 顯示操作參數
o- 打開主機名 [埠]連接到一個主機名(默認埠 23)
q- 退出 退出 telnet
set- 設置 設置選項(要列表,請鍵入 \'set ?\')
sen- 發送 將字元串送到伺服器
st - 狀態 列印狀態信息
u- 解除設置 解除設置選項(要列表,請鍵入 \'unset ?\')
?/h- 幫助 列印幫助信息

一 摘要
二 遠程登錄
三 Telnet協議
四 Win2000的Telnet服務
五 在telnet中該做什麼

一 摘要
Telnet的應用不僅方便了我們進行遠程登錄,也給hacker們提供了又一種入侵手段和後門,但無論如何,在你盡情享受Telnet所帶給你的便捷的同時,你是否真正的了解Telnet呢?

二 遠程登錄

Telnet服務雖然也屬於客戶機/伺服器模型的服務,但它更大的意義在於實現了基於Telnet協議的遠程登錄(遠程互動式計算),那麼就讓我們來認識一下遠程登錄。

1 遠程登陸的基本概念

先來看看什麼叫登錄:分時系統允許多個用戶同時使用一台計算機,為了保證系統的安全和記帳方便,系統要求每個用戶有單獨的帳號作為登錄標識,系統還為每個用戶指定了一個口令。用戶在使用該系統之前要輸入標識和口令,這個過程被稱為\'登錄\'。
遠程登陸是指用戶使用Telnet命令,使自己的計算機暫時成為遠程主機的一個模擬終端的過程。模擬終端等效於一個非智能的機器,它只負責把用戶輸入的每個字元傳遞給主機,再將主機輸出的每個信息回顯在屏幕上。

2 遠程登陸的產生及發展

我們可以先構想一個提供遠程文字編輯的服務,這個服務的實現需要一個接受編輯文件請求和數據的伺服器以及一個發送此請求的客戶機。客戶機將建立一個從本地機到伺服器的TCP連接,當然這需要伺服器的應答,然後向伺服器發送鍵入的信息(文件編輯信息),並讀取從伺服器返回的輸出。以上便是一個標准而普通的客戶機/伺服器模型的服務。
似乎有了客戶機/伺服器模型的服務,一切遠程問題都可以解決了。然而實際並非你想像的那樣簡單,如果我們僅需要遠程編輯文件,那麼剛才所構想的服務完全可以勝任,但假如我們的要求並不是這么簡單,我們還想實現遠程用戶管理,遠程數據錄入,遠程系統維護,想實現一切可以在遠程主機上實現的操作,那麼我們將需要大量專用的伺服器程序並為每一個可計算服務都使用一個伺服器進程,隨之而來的問題是:遠程機器會很快對伺服器進程應接不暇,並淹沒在進程的海洋里(我們在這里排除最專業化的遠程機器)。
那麼有沒有辦法解決呢?當然有,我們可以用遠程登錄來解決這一切。我們允許用戶在遠地機器上建立一個登錄會話,然後通過執行命令來實現更一般的服務,就像在本地操作一樣。這樣,我們便可以訪問遠地系統上所有可用的命令,並且系統設計員不需提供多個專用地伺服器程序。
問題發展到這里好像前途一片光明了,用遠程登錄總應該解決問題了吧,但要實現遠程登陸並不簡單。不考慮網路設計的計算機系統期望用戶只從直接相連的鍵盤和顯示器上登錄,在這種機器上增加遠程登陸功能需要修改機器的操作系統,這是極其艱巨也是我們盡量避免的。因此我們應該集中力量構造遠程登陸伺服器軟體,雖然這樣也是比較困難的。為什麼說這樣做也比較困難呢?
舉個例子來說:一般,操作系統會為一些特殊按鍵分配特殊的含義,比如本地系統將\'Ctrl+C\'解釋為:\'終止當前運行的命令進程\'。但假設我們已經運行了遠程登陸伺服器軟體,\'Ctrl+C\'也有可能無法被傳送到遠地機器,如果客戶機真的將\'Ctrl+C\'傳到了遠地機器,那麼\'Ctrl+C\'這個命令有可能不能終止本地的進程,也就是說在這里很可能會產生混亂。而且這僅僅是遇到的難題之一。
但盡管有技術上的困難,系統編程人員還是設法構造了能夠應用於大多數操作系統的遠程登陸伺服器軟體,並構造了充當客戶機的應用軟體。通常,客戶機軟體取消了除一個鍵以外的所有鍵的本地解釋,並將這些本地解釋相應的轉換成遠地解釋,這就使得客戶機軟體與遠地機器的交互,就如同坐在遠程主機面前一樣,從而避免了上述所提到的混亂。而那個唯一例外的鍵,可以使用戶回到本地環境。
將遠程登陸伺服器設計為應用級軟體,還有另一個要求,那就是需要操作系統提供對偽終端(pseudo terminal)的支持。我們用偽終端描述操作系統的入口點,它允許像Telnet伺服器一樣的程序向操作系統傳送字元,並且使得字元像是來自本地鍵盤一樣。只有使用這樣的操作系統,才能將遠程登陸伺服器設計為應用級軟體(比如Telnet伺服器軟體),否則,本地操作系統和遠地系統傳送將不能識別從對方傳送過來的信息(因為它們僅能識別從本地鍵盤所鍵入的信息),遠程登陸將宣告失敗。
將遠程登陸伺服器設計為應用級軟體雖然有其顯著的優點:比將代碼嵌入操作系統更易修改和控制伺服器。但其也有效率不高的缺點(後面的內容將會給予解釋),好在用戶鍵入信息的速率不高,這種設計還是可以接受的。

3 遠程登錄的工作過程

使用Telnet協議進行遠程登陸時需要滿足以下條件:在本的計算機上必須裝有包含Telnet協議的客戶程序;必須知道遠程主機的Ip地址或域名;必須知道登錄標識與口令。
Telnet遠程登錄服務分為以下4個過程:
1)本地與遠程主機建立連接。該過程實際上是建立一個TCP連接,用戶必須知道遠程主機的Ip地址或域名;
2)將本地終端上輸入的用戶名和口令及以後輸入的任何命令或字元以NVT(Net Virtual Terminal)格式傳送到遠程主機。該過程實際上是從本地主機向遠程主機發送一個IP數據報;
3)將遠程主機輸出的NVT格式的數據轉化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執行結果;
4)最後,本地終端對遠程主機進行撤消連接。該過程是撤銷一個TCP連接。

上面的內容只是討論了遠程登陸最基本的東西,其中的復雜和編程人員的艱辛是我們難以想像的,不知道你在舒服的使用Telnet的同時,是否想到了這些!

三 Telnet協議

我們知道Telnet伺服器軟體是我們最常用的遠程登錄伺服器軟體,是一種典型的客戶機/伺服器模型的服務,它應用Telnet協議來工作。那麼,什麼是Telnet協議?它都具備哪些特點呢?

1 基本內容

Telnet協議是TCP/IP協議族中的一員,是Internet遠程登陸服務的標准協議。應用Telnet協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端。它提供了三種基本服務:
1)Telnet定義一個網路虛擬終端為遠的系統提供一個標准介面。客戶機程序不必詳細了解遠的系統,他們只需構造使用標准介面的程序;
2)Telnet包括一個允許客戶機和伺服器協商選項的機制,而且它還提供一組標准選項;
3)Telnet對稱處理連接的兩端,即Telnet不強迫客戶機從鍵盤輸入,也不強迫客戶機在屏幕上顯示輸出。

2 適應異構

為了使多個操作系統間的Telnet交互操作成為可能,就必須詳細了解異構計算機和操作系統。比如,一些操作系統需要每行文本用ASCII回車控制符(CR)結束,另一些系統則需要使用ASCII換行符(LF),還有一些系統需要用兩個字元的序列回車-換行(CR-LF);再比如,大多數操作系統為用戶提供了一個中斷程序運行的快捷鍵,但這個快捷鍵在各個系統中有可能不同(一些系統使用CTRL+C,而另一些系統使用ESCAPE)。如果不考慮系統間的異構性,那麼在本地發出的字元或命令,傳送到遠地並被遠地系統解釋後很可能會不準確或者出現錯誤。因此,Telnet協議必須解決這個問題。
為了適應異構環境,Telnet協議定義了數據和命令在Internet上的傳輸方式,此定義被稱作網路虛擬終端NVT(Net Virtual Terminal)。它的應用過程如下:
對於發送的數據:客戶機軟體把來自用戶終端的按鍵和命令序列轉換為NVT格式,並發送到伺服器,伺服器軟體將收到的數據和命令,從NVT格式轉換為遠地系統需要的格式;
對於返回的數據:遠地伺服器將數據從遠地機器的格式轉換為NVT格式,而本地客戶機將將接收到的NVT格式數據再轉換為本地的格式。
對於NVT格式的詳細定義,有興趣的朋友可以去查找相關資料。

3 傳送遠地命令

我們知道絕大多數操作系統都提供各種快捷鍵來實現相應的控制命令,當用戶在本地終端鍵入這些快捷鍵的時候,本地系統將執行相應的控制命令,而不把這些快捷鍵作為輸入。那麼對於Telnet來說,它是用什麼來實現控制命令的遠地傳送呢?
Telnet同樣使用NVT來定義如何從客戶機將控制功能傳送到伺服器。我們知道USASCII字元集包括95個可列印字元和33個控制碼。當用戶從本地鍵入普通字元時,NVT將按照其原始含義傳送;當用戶鍵入快捷鍵(組合鍵)時,NVT將把它轉化為特殊的ASCII字元在網路上傳送,並在其到達遠地機器後轉化為相應的控制命令。將正常ASCII字元集與控制命令區分主要有兩個原因:
1)這種區分意味著Telnet具有更大的靈活性:它可在客戶機與伺服器間傳送所有可能的ASCII字元以及所有控制功能;
2)這種區分使得客戶機可以無二義性的指定信令,而不會產生控制功能與普通字元的混亂。

與登錄遠程主機相關的知識