有時候我們需要進行遠程連接Linux的時候卻不知道怎麼做。下面由學習啦小編為大家整理了Linux系統遠程連接命令詳細說明,希望對大家有幫助!
Linux系統遠程連接命令詳細說明
實現遠程登錄的命令
ssh、telnet、rlogin
Linux系統遠程連接命令(1)ssh命令
ssh命令是openssh套件中的客戶端連接工具,可以給予ssh加密協議實現安全的遠程登錄服務器。ssh命令用於遠程登錄上Linux主機。
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更詳細的可以用ssh -h查看。
語法:
ssh(選項)(參數)
選項:
-1:強制使用ssh協議版本1;
-2:強制使用ssh協議版本2;
-4:強制使用IPv4地址;
-6:強制使用IPv6地址;
-A:開啟認證代理連接轉發功能;
-a:關閉認證代理連接轉發功能;
-b:使用本機指定地址作為對應連接的源ip地址;
-C:請求壓縮所有數據;
-F:指定ssh指令的配置文件;
-f:後台執行ssh指令;
-g:允許遠程主機連接主機的轉發端口;
-i:指定身份文件;
-l:指定連接遠程服務器登錄用戶名;
-N:不執行遠程指令;
-o:指定配置選項;
-p:指定遠程服務器上的端口;
-q:靜默模式;
-X:開啟X11轉發功能;
-x:關閉X11轉發功能;
-y:開啟信任X11轉發功能。
參數:
遠程主機:指定要連接的遠程ssh服務器;
指令:要在遠程ssh服務器上執行的指令。
舉例:
不指定用戶:
ssh 192.168.0.11
指定用戶:
ssh -l root 192.168.0.11
如果修改過ssh登錄端口的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 216.230.230.114
ssh -p 12333 [email protected]
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登錄端口和禁止root登錄。改端口可以防止被端口掃描。
編輯配置文件:
vim /etc/ssh/sshd_config
找到#Port 22,去掉注釋,修改成一個五位的端口:
Port 12333
找到#PermitRootLogin yes,去掉注釋,修改為:
PermitRootLogin no
重啟sshd服務:
service sshd restart
當你使用ssh從本機登錄到遠程主機時,你可能希望切換到本地做一些操作,然後再重新回到遠程主機。這個時候,你不需要中斷ssh連接,只需要按照如下步驟操作即可:
要臨時回到本地主機,輸入退出符號:“~”與“Control-Z”組合。當你輸入“~”你不會立即在屏幕上看到,當你按下<Control-Z>並且按回車之後才一起顯示。
Linux系統遠程連接命令(2)telnet命令
telnet命令通常用來遠程登錄。telnet程序是基於TELNET協議的遠程登錄客戶端程序。要開始一個telnet會話,必須輸入用戶名和密碼來登錄服務器。Telnet是常用的遠程控制Web服務器的方法。但是,telnet因為采用明文傳送報文,安全性不好,很多Linux服務器都不開放telnet服務,而改用更安全的ssh方式了。但仍然有很多別的系統可能采用了telnet方式來提供遠程登錄,因此弄清楚telnet客戶端的使用方式仍是很有必要的。telnet命令還可做別的用途,比如確定遠程服務的狀態,確定遠程服務器的某個端口是否能訪問。
命令格式:
telnet[參數][主機]
命令功能:
執行telnet指令開啟終端機階段作業,並登入遠端主機。
命令參數:
-8 允許使用8位字符資料,包括輸入與輸出。
-a 嘗試自動登入遠端系統。
-b<主機別名> 使用別名指定遠端主機名稱。
-c 不讀取用戶專屬目錄裡的.telnetrc文件。
-d 啟動排錯模式。
-e<脫離字符> 設置脫離字符。
-E 濾除脫離字符。
-f 此參數的效果和指定"-F"參數相同。
-F 使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機。
-k<域名> 使用Kerberos認證時,加上此參數讓遠端主機采用指定的領域名,而非該主機的域名。
-K 不自動登入遠端主機。
-l<用戶名稱> 指定要登入遠端主機的用戶名稱。
-L 允許輸出8位字符資料。
-n<記錄文件> 指定文件記錄相關信息。
-r 使用類似rlogin指令的用戶界面。
-S<服務類型> 設置telnet連線所需的IP TOS信息。
-x 假設主機有支持數據加密的功能,就使用它。
-X<認證形態> 關閉指定的認證形態。
示例:
正常telnet
telnet 192.168.120.204
輸出:
[root@andy ~]# telnet 192.168.120.204
Trying 192.168.120.204...
Connected to 192.168.120.204 (192.168.120.204).
Escape character is '^]'.
localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1)
login: root
Password:
Login incorrect
說明:一般情況下不允許root從遠程登錄,可以先用普通賬號登錄,然後再用su -切到root用戶。
Linux系統遠程連接命令(3)rlogin命令
rlogin命令用於從當前終端登錄到遠程Linux主機。
格式:rlogin RemoteHost [ -e Character ] [ -8 ] [ -l User ] [ -f | -F ] [ -k realm]
語法:
rlogin(選項)(參數)
選項:
-8:允許輸入8位字符數據;
-e脫離字符>:設置脫離字符;
-E:濾除脫離字符;
-l用戶名稱>:指定要登入遠端主機的用戶名稱;
-L:使用litout模式進行遠端登入階段操作。
參數:
遠程主機:指定要登錄的遠程主機(ip地址或者域名)。
實例
顯示rlogin服務是否開啟
# chkconfig --list //檢測rlogin服務是否開啟
開啟rlogin服務
# chkconfig rlogin on //開啟rlogin服務
登陸遠程主機
# rlogin 192.168.1.88
Password:
Password:
Login incorrect
Login:root
Passwd:
Login incorrect
Login:kk
Passwd:
指定用戶名登陸遠程主機
# rlogin 192.168.1.88 -l hnlinux
Passord:
Last login:Mon May 28 15:30:25 from 192.168.1.88
#
補充:Linux下執行遠程主機命令
(1)rexec命令
rexec命令用於在指定的遠程Linux系統主機上執行命令,向遠程rexec服務器發出執行命令的請求。
語法:
rexec(選項)(參數)
選項:
-a:表示遠程命令的標准錯誤與標准輸出相同,不支持發送任意信號到遠程進程;
-l<用戶名>:指定連接遠程rexec服務器的用戶名;
-p<密碼>:指定連接遠程rexec服務器的密碼;
-n:明確地提示輸入用戶名和密碼。
參數:
遠程主機:指定遠程主機(ip地址或主機名); 命令:指定需要在遠程主機上執行的命令。
實例:
要在一個遠程主機上執行date命令,輸入:
rexec host1 date
(2)rsh命令和remsh 命令
rsh是"remote shell"(遠程 shell)的縮寫。
該命令在指定的遠程主機上啟動一個shell並執行用戶在rsh命令行中指定的命令。(執行遠程主機上指定的命令或登錄至遠程主機。)
如果用戶沒有給出要執行的命令,rsh就用rlogin命令使用戶登錄到遠程機上。 remsh 命令使您可以在遠程系統上執行命令,而無需登錄到該系統。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command]
command可以是從shell提示符下鍵人的任何Linux命令。
rsh命令中各選項的含義如下:
-K 關閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機連接時才使用。
-d 打開與遠程主機進行通信的TCP sockets的socket調試。要了解更多的信息,請查閱setsockopt的聯機幫助。
-k 請求rsh獲得在指定區域內的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機區域內的遠程主機的Kerberos許可。
-l 缺省情況下,遠程用戶名與本地用戶名相同。本選項允許指定遠程用戶名,如果指定了遠程用戶名,則使用Kerberos 確認,與在rlogin命令中一樣。
-n 重定向來自特殊設備/dev/null的輸入。
-x 為傳送的所有數據打開DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。
Linux把標准輸入放入rsh命令中, 並把它拷貝到要遠程執行的命令的標准輸入中。它把遠程命令的標准輸出拷貝到rsh的標准輸出中。它還把遠程標准錯誤拷貝到本地標准錯誤文件中。
任何退出、中止和中斷信號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。