Telnet、SSH和VNC 三種遠程工具使用的協議


一般的遠程訪問步驟:

(1)選定某一種遠程訪問協議,如RDP,VNC,SSH,TelNet等;

(2)分別安裝對應協議的“服務端軟件”和“客戶端軟件”;

(3)在服務端啟動對應的協議,並進行一些自定義的服務配置;

(4)通過客戶端遠程連接。

一、Telnet協議
Telnet是進行遠程登錄的標准協議,它是當今Internet上應用最廣泛的協議之一。它把用戶正在使用的終端或計算機變成網絡某一遠程主機的仿真終端,使得用戶可以方便地使用遠程主機上的軟、硬件資源。


1.1 Telnet服務的安裝


Telnet有兩個安裝包:telnet-server和telnet
telnet-server安裝包是服務器端的安裝包,telnet是客戶端的安裝包,一般系統默認都已經安裝了這兩個包,可以先使用此命令查詢:

rpm –q telnet-server
(1)啟動和停止Telnet服務

Telnet不像其它服務(如HTTP和FTP等)一樣作為獨立的守護進程運行,它使用xinetd程序管理,這樣不但能提高安全性,而且還能使用xinetd對Telnet服務進行配置管理。
Telnet服務安裝后默認並不會被xinetd啟用,可以通過修改文件/etc/xinetd.d/telnet將其啟用。編輯文件/etc/xinetd.d/telnet,找到語句disable=yes,將其改為disable=no即可。


(2)Telnet服務的配置


1. Telnet服務最大連接數
可以通過編輯文件/etc/xinetd.d/telnet,在花括號{}中添加語句instances=3來配置telnet服務的最大連接數,這里的3指telnet服務同時只允許3個連接。
2. Telnet服務的端口
Telnet服務默認的端口為23,出於安生性考慮,可以更改服務器監聽的端口,通過編輯文件/etc/services來修改各個服務的端口,找到telnet選項,修改其數值即可。如要改為2323,即:
telnet    2323/tcp
telnet    2323/udp


1.2 Telnet客戶端的使用


通過telnet命令即可登錄
如Telnet服務器的IP地址為192.168.1.109
在客戶端(windows和linux)命令行里輸入:

telnet 192.168.1.109
然后輸入用戶和口令即可,在這里,系統不允許root用戶通過telnet登錄,所以這個用戶是除root用戶的其它用戶,登錄后可以使用su – 命令切換成root用戶,這樣就OK了。

 

二、SSH協議

Telnet協議在帶來便利性的同時,也帶來了許多安全問題,最突出的就是Telnet協議使用明文的方式傳送所有的數據(包括賬號和口令),數據在傳輸過程中很容易被入侵者竊聽或篡改所以建議使用更安全的其它的服務
SSH是目前通常使用的遠程管理協議,它是一個在應用程序中提供安全通信的協議,通過SS可以安全地訪問服務器,因為SSH基於成熟的公鑰加密體系,把所有傳輸的數據進行加密,保證數據在傳輸時不被惡意破壞、漏露和篡改。


2.1 SSH服務的安裝


Linux下廣泛使用免費的OpenSSH程序來實現SS協議,它同時支持SSH1和SSH2協議,Openssh軟件包包括兩部分:openssh-server和openssh-client,它們分別打包在不同的RPM包中,同時都需要依賴openssh軟件包工作,不用說,都能猜到這兩個包的用途了吧
可以使用如下命令檢查是否已經安裝OpenSSH

rpm –q openssh-server

(1)SSH服務的配置
配置SSH服務的運行參數,主要是通過修改配置文件/etc/ssh/sshd_config來實現的,這里面的選項特別多,但大部分都是使用#注釋的,這是因為SSH服務使用默認配置已經能夠很好的工作了

1 設置SSH服務監聽的端口號
#port 22
2 設置使用SSH協議的順序
#protocol 2,1
3 設置SSH服務器綁定的IP地址
#listenaddress 0.0.0.0
4 設置是否允許root管理員登錄
#permitrootlogin yes
5 設置是否允許空密碼用戶登錄
#permitemptypasswords no
6 設置是否使用口令認證方式
#passwordauthentication yes
每次修改配置文件/etc/ssh/sshd_config后,都需要重新啟動SSH服務才能使新的配置生效。
(2)啟動和停止SSH服務

/etc/init.d/sshd start|stop|restart|status

2.2 SSH客戶端的使用
(1) linux客戶端
在linux客戶端,可以使用命令ssh登錄,如果SSH服務器的IP地址為192.168.1.109,登錄命令如下:

ssh 192.168.1.109
根據提示輸入口令即可,這個口令是root用戶的口令,所以登錄之后就是root用戶身份了。
(2)windows客戶端
在windows客戶端是無法使用ssh命令的,但是有許多SSH客戶程序,推薦使用免費的PuTTY程序,它小

巧好用,而且是一款無需安裝的綠色軟件。
 

2.3 使用基於公鑰的認證


首先由用戶生成一對密鑰,然后將公鑰保存在SSH服務器用戶主目錄下.ssh子目錄中的authorized_keys文件中,私鑰保存在本地計算機中,當用戶登錄時,服務器檢查authorized_keys文件是否與用戶的私鑰對應,如果相符則允許用戶登錄,否則拒絕用戶的登錄請求。由於私鑰只保存在用戶的計算機中,因此入侵者就算得到用戶的口令,也不能登錄到服務器。


2.4 在服務器端啟用公鑰認證


編輯文件/etc/ssh/sshd_config,找到語句passwordauthentication yes ,將其值改為passwordauthentication no即可。

(1)windows客戶端


產生密鑰
運行下載的puttygen.exe文件,選擇加密的算法,推薦選擇ssh-2-RSA算法,然后選擇加密的位數,推薦用1024位的,然后點擊生成按鈕,在產生密鑰過程中,為了生成一些隨機數,應該隨意的移動鼠標,生成密鑰后,出於安生性考慮,輸入保護私鑰的口令。然后分別保存私鑰和公鑰,例如保存的私鑰名為private.ppk,公鑰名為public.pub,將私鑰保存在本地計算機上,將公鑰發送到SSH服務器端的/root/.ssh目錄下,即/root/.ssh/public.pub,由於puttygen產生的公鑰文件格式與openssh程序使用的格式不兼容,因此還可ssh服務器端對其進行轉換,轉換命令如下:
ssh-keygen -i -f /root/.ssh/public.pub>/root/.ssh/authorized_keys
使用此命令之的即可將公鑰文件public.pub轉換成openssh使用的格式。


2.5 連接SSH服務器


1 運行putty程序,在主機名里輸入服務器的IP地址或域名,然后選擇左邊的連接——SSH——認證,在路徑里找到保存的私鑰文件,然后單擊打開按鈕進行連接
2 成功地連接到SSH服務器后,服務器會提示輸入登錄用戶名,如果使用了保護私鑰的口令短語,還會提示輸入口令短語,登錄過程中,不需要輸入用戶的口令。

(2)linux客戶端


在linux客戶端下,可以使用openssh軟件包自帶的ssh-keygen程序產生密鑰,命令如下:
ssh-keygen -t rsa 
執行后,會提示輸入保存的路徑和保護私鑰的口令短語,默認保存在當前用戶主目錄下的.ssh子目錄中,私鑰文件名為id-rsa,公鑰文件名為id_rsa.pub
然后傳輸公鑰文件到服務器的用戶主目錄下的.ssh目錄下,並改名為authorized_keys即可
連接SSH服務器
可以直接使用ssh命令連接到ssh服務器如:

ssh 192.168.1.109
根據提示輸入用戶名,還有口令短語(如果有的話),即可登錄了。


三、VNC協議

Telnet和SSH服務只能實現基於字符界面的遠程控制,利用VNC可以實現圖形化的遠程控制。VNC是virtual network computing的縮寫,也就是虛擬網絡計算機,VNC軟件由兩個部分組成:VNC server和VNC viewer,用戶需要將VNC server安裝在被控制的計算機上,然后在主控制端執行VNC viewer控制被控制端。
可以用如下命令查詢VNC服務是否安裝

rpm -q vnc-server

3.1 啟動vnc服務


啟動vnc服務的命令格式為:vncserver : 桌面號,其中桌面號用數字表示,每個用戶需要占用一個桌面,如果啟動桌面號為1的桌面可以執行如下命令:
vncserver :1
vnc服務使用的TCP端口號從5900開始例如桌面號為1,則使用的端口號為5901,桌面號為2,則使用的端口號為5902,以此類推,基於java的vnc客戶程序web服務TCP端口號從5800開始,即5801、5802,以此類推


3.2 配置多個桌面號


如果需要多個用戶同時連接到VNC,可以多次執行vncserver命令,並將桌面號從:1改為:2、:3,以此類推。
使用vncserver命令創建的桌面號會在服務器重新啟動后失效,服務器每次啟動完都需要重新建立,這樣很不方便,可以將它們添加到配置文件/etc/syscofnig/vncserver中,格式為:
vncserver=“1:root”
vncserver=“2:tom”
添加完成后,vnc服務每次啟動時都會自動創建這些桌面號。


3.3 啟動和停止vnc服務


可以使用如下命令:
service vncserver start|stop|restart|status


3.4 vnc客戶端的配置


(1)linux客戶端
在linux客戶端,可以通過安裝vnc viewer來動進行連接,安裝方法和vnc server相似,安裝好之后在附件里打開vnc viewer,輸入IP地址或域名和桌面號,單面連接即可進行連接了。
(2)windows客戶端
在windows客戶端,可以通過瀏覽器直接進行連接,例如vnc服務器的IP地址為192.168.1.109,可以在瀏覽器里輸入IP地址加端口號進行連接:
192.168.1.109:5801
表示連接ip地址為192.168.1.109的vnc服務器的1號桌面。
也可以通過程序進行連接,推薦使用TightVNC程序,它包括了vnc客戶和vnc服務器程序。
其安裝方法比較簡單,不再多說了,輸入vnc服務器的IP地址或域名和桌面號之后,點擊連接,輸入訪問口令進行登錄之后就可以在windows下以圖形化的方式遠程控制linux了。

原文鏈接:https://blog.csdn.net/qq_27825451/article/details/101215633


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM