## 5.3 遠程聯機指令與實時通訊軟件
啥是遠程聯機呢?其實就是在不同的計算機之間進行登入的情況啦!我們可以透過 telnet, ssh 或者是 ftp 等協議來進行遠程主機的登入。底下我們就分別來介紹一下這些基本的指令吧!這里僅是談到客戶端功能喔, 相關的服務器我們則會在后續進行說明的。
* * *
### 5.3.1 終端機與 BBS 聯機: telnet
telnet 是早期我們在個人計算機上面要鏈接到服務器工作時,最重要的一個軟件了!他不但可以直接連接到服務器上頭, 還可以用來連結 BBS 呢!非常棒!不過, telnet 本身的數據在傳送的時候是使用明碼 (原始的數據,沒有加密) , 所以數據在 Internet 上面跑的時候,會比較危險一點 (就怕被別人監聽啊)。 更詳細的資料我們會在[第十一章遠程聯機服務器](http://linux.vbird.org/linux_server/0310telnetssh.php)內做介紹的。
```
[root@www ~]# telnet [host|IP [port]]
# 范例一:連結到臺灣相當熱門的 PTT BBS 站 ptt.cc
[root@www ~]# yum install telnet <==默認沒有安裝這軟件
[root@www ~]# telnet ptt.cc
歡迎來到 批踢踢實業坊 目前有【100118】名使用者與您一同對抗炎炎夏日。
請輸入代號,或以 guest 參觀,或以 new 注冊:
[高手召集令] 臺灣黑客年會 暑假與你駭翻南港 http://reg.hitcon.org/hit2011
要學計算機,首選臺灣大學信息訓練班! http://tinyurl.com/3z42apw
```
如上所示,我們可以透過 telnet 輕易的連結到 BBS 上面,而如果你的主機有開啟 telnet 服務器服務的話,同樣的利用『 telnet IP 』并且輸入賬號與密碼之后,就能夠登入主機了。 另外,在 Linux 上的 telnet 軟件還提供了 Kerberos 的認證方式,有興趣的話請自行參閱 man telnet 的說明。
除了連結到服務器以及連結到 BBS 站之外, telnet 還可以用來連結到某個 port (服務) 上頭吶! 舉例來說,我們可以用 telnet 連接到 port 110 ,看看這個 port 是否有正確的啟動呢?
```
# 范例二:偵測本機端的 110 這個 port 是否正確啟動?
[root@www ~]# telnet localhost 110
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
# 如果出現這樣的訊息,代表這個 port 沒有啟動或者是這個聯機有問題,
# 因為你看到那個 refused 嘛!
[root@www ~]# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 www.centos.vbird ESMTP Postfix
ehlo localhost
250-www.centos.vbird
250-PIPELINING
250-SIZE 10240000
....(中間省略)....
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
```
瞧!根據輸出的結果,我們就能夠知道這個通訊協議 (port number 提供的通訊協議功能) 是否有成功的啟動吶! 而在每個 port 所監聽的服務都有其特殊的指令,例如上述的 port 25 就是在本機接口所提供的電子郵件服務, 那個服務所支持的指令就如同上面使用的數據一樣,但是其他的 port 就不見得支持這個『 ehlo 』的命令, 因為不同的 port 有不同的程序嘛!所以當然支持的命令就不同啰!
* * *
### 5.3.2 FTP 聯機軟件: ftp, lftp
現在的人們由于有高容量的 email 可以用,因此傳送檔案可以很輕松的透過 email 。不過 email 還是有單封信件容量限制, 如果想要一口氣傳送個幾百 MB 的檔案,恐怕還是得要透過 FTP 這個通訊協議才行啊!文字接口的 FTP 軟件主要有 ftp, lftp 兩個,圖形接口的呢?在 CentOS 上面預設有 gftp 這個好用的東東。在這里我們僅介紹文字接口的兩個指令而已。
* ftp
ftp 這個指令很簡單,用在處理 FTP 服務器的下載數據啦。由于鳥哥所在的位置在昆山科大,因此這里使用昆山科大的 FTP 服務器為例:
```
[root@www ~]# ftp [host|IP] [port]
# 范例一:聯機到昆山科大去看看
[root@www ~]# yum install ftp
[root@www ~]# ftp ftp.ksu.edu.tw
Connected to ftp.ksu.edu.tw (120.114.150.21).
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 16:25\. Server port: 21.
220-Only anonymous FTP is allowed here <==訊息要看啊!這個 FTP 僅支援匿名
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 5 minutes of inactivity.
Name (ftp.ksu.edu.tw:root): anonymous <==鳥哥這里用匿名登錄!
230 Anonymous user logged in <==嗯!確實是匿名登錄了!
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> <==最終登入的結果看起來是這樣!
ftp> help <==提供需要的指令說明,可以常參考!
ftp> dir <==顯示遠程服務器的目錄內容 (文件名列表)
ftp> cd /pub <==變換目錄到 /pub 當中
ftp> get filename <==下載單一檔案,檔名為 filename
ftp> mget filename* <==下載多個檔案,可使用通配符 *
ftp> put filename <==上傳 filename 這個檔案到服務器上
ftp> delete file <==刪除主機上的 file 這個檔案
ftp> mkdir dir <==建立 dir 這個目錄
ftp> lcd /home <==切換『本地端主機』的工作目錄
ftp> passive <==啟動或關閉 passive 模式
ftp> binary <==數據傳輸模式設定為 binary 格式
ftp> bye <==結束 ftp 軟件的使用
```
FTP 其實算是一個很麻煩的協議,因為他使用兩個 port 分別進行命令與數據的交流,詳細的數據我們會在第二十一章的 FTP 服務器內詳談,這里我們先單純的介紹一下如何使用 ftp 這個軟件。首先我們當然是需要登入啰, 所以在上頭的表格當中我們當然需要填入賬號與密碼了。不過由于昆山科大僅提供匿名登錄,而匿名登錄者的賬號就是『 anonymous 』所以直接填寫那個賬號即可。如果是私人的 FTP 時,才需要提供一組完整的賬號與密碼啦!
登入 FTP 主機后,就能夠使用 ftp 軟件的功能進行上傳與下載的動作,幾個常用的 ftp 內指令如上表,不過,鳥哥建議你可以連到大學的 FTP 網站后,使用 help (或問號 ?) 來參考可用的指令,然后嘗試下載以測試使用一下這個指令吧!這樣以后沒有瀏覽器的時候,你也可以到 ftp 下載了呢!不錯吧!另外你要注意的是,離開 ftp 軟件時,得要輸入『 bye 』喔!不是『 exit 』啦!
如果由于某些理由,讓你的 FTP 主機的 port 開在非正規的埠口時,那你就可以利用底下的方式來連接到該部主機喔!
```
[root@www ~]# ftp hostname 318
# 假設對方主機的 ftp 服務開啟在 318 這個 port 啊!
```
* lftp (自動化腳本)
單純使用 ftp 總是覺得很麻煩,有沒有更快速的 ftp 用戶軟件呢?讓我們可以使用類似網址列的方式來登入 FTP 服務器啊?有的,那就是 lftp 的功能了! lftp 預設使用匿名登錄 FTP 服務器,可以使用類似網址列的方式取得數據, 使用上比單純的 ftp 要好用些。此外,由于可在指令列輸入賬號/密碼,可以輔助進行程序腳本的設計喔!
```
[root@www ~]# lftp [-p port] [-u user[,pass]] [host|IP]
[root@www ~]# lftp -f filename
[root@www ~]# lftp -c "commands"
選項與參數:
-p :后面可以直接接上遠程 FTP 主機提供的 port
-u :后面則是接上賬號與密碼,就能夠連接上遠程主機了
如果沒有加賬號密碼, lftp 默認會使用 anonymous 嘗試匿名登錄
-f :可以將指令寫入腳本中,這樣可以幫助進行 shell script 的自動處理喔!
-c :后面直接加上所需要的指令。
# 范例一:利用 lftp 登入昆山科大的 FTP 服務器
[root@www ~]# yum install lftp
[root@www ~]# lftp ftp.ksu.edu.tw
lftp ftp.ksu.edu.tw:~>
# 瞧!一下子就登入了!很快樂吧! ^_^!你同樣可使用 help 去查閱相關內部指令
```
至于登入 FTP 主機后,一樣可以使用『help』來顯示出可以執行的指令,與 ftp 很類似啦!不過多了書簽的功能,而且也非常的類似 bash 吶!很不錯呦!除了這個好用的文字接口的 FTP 軟件之外,事實上還有很多圖形接口的好用軟件呢! 最常見的就是 gftp 了,非常的容易上手喔! CentOS 本身就有提供 gftp 了,你可以拿出原版的光盤來安裝,然后進入 X Window 后, 啟動一個 shell ,輸入『 gftp 』就能夠發現他的好用啦!
如果你想要定時的去捉下昆山科大 FTP 網站下的 /pub/CentOS/RPM-GPG* 的檔案時,那么那個腳本應該要怎么寫呢? 我們嘗試來寫寫看吧!
```
# 使用檔案配合 lftp 去處理時:
[root@www ~]# mkdir lftp; cd lftp
[root@www lftp]# vim lftp.ksu.sh
open ftp.ksu.edu.tw
cd /pub/CentOS/
mget -c -d RPM-GPG*
bye
[root@www lftp]# lftp -f lftp.ksu.sh
[root@www lftp]# ls
lftp.ksu.sh RPM-GPG-KEY-CentOS-3 RPM-GPG-KEY-CentOS-4 RPM-GPG-KEY-CentOS-6
RPM-GPG-KEY-beta RPM-GPG-KEY-centos4 RPM-GPG-KEY-CentOS-5
# 直接將要處理的動作加入 lftp 指令中
[root@www lftp]# vim lftp.ksu.sh
lftp -c "open ftp.ksu.edu.tw
cd /pub/CentOS/
mget -c -d RPM-GPG*
bye"
[root@www lftp]# sh lftp.ksu.sh
```
若為非匿名登錄時,則可以使用『 open -u username,password hostname 』修改 lftp.ksu.sh 的第一行! 如果再將這個腳本寫入 crontab 當中,你就可以定時的以 FTP 進行上傳/下載的功能啰!這就是文字指令的好處!
* * *
### 5.3.3 圖形接口的實時通訊軟件: pidgin (gaim 的延伸)
現在應該大家都知道什么是 MSN, 雅虎實時通以及其他的通訊軟件吧?那么要連上這些服務器時,該怎么處理哪?很簡單,在 X Window 底下使用 pidgin 就好了!簡直簡單到不行~請先進入 X Window 系統,然后經過『應用程序』--> 『因特網』-->『Pidgin 網絡實時通』啟動他即可 (請注意你必須已經安裝了 pidgin 了,可用 yum install pidgin 處理)。
不過,傷腦筋的是,我們所安裝的 basic server 類型的 CentOS 6.x 主要做為服務器之用,所以連圖形接口也沒有給我們。 所以,鳥哥又用另外一部主機安裝成 Desktop 的模式,利用該部主機來測試 pidgin 這玩意兒的!因此, 底下的練習你也可以先略過,等到你安裝另一部 Desktop linux 時再來玩玩!

圖 5.3-1、pidgin 的歡迎畫面
在上圖中按下『新增』,然后你會看到如下的畫面:

圖 5.3-2、pidgin 支持的實時通訊數據
很神奇的是, pidgin 支持的通訊有夠多的!我們使用 MSN 來作個解釋好了:

圖 5.3-3、設定 MSN 的賬號示意圖
如上圖,在畫面中輸入你的賬號與密碼,如果是在公用的計算機上,千萬不要按下『記住密碼』項目喔!按下新增后, pidgin 預設就會嘗試登入了!登入后的畫面如下所示:

圖 5.3-4、使用 pidgin 的 MSN 方式進行連天啰
如果想要注銷了,那么就按下圖 5.3-4 最右邊那個窗口,將『啟動』的那個方框勾選取消,你就直接注銷啰!
* * *
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀