其實哪一種作業系統比較好?主觀的意見都只能當作參考,因為每一種受歡迎、擁有愛好者的作業系統,肯定是在某些方面具有優勢。以筆者來說,同時間就有多部機器分別運行Windows、Linux、Mac OS X,若是要玩3D Game、看P2P網路電視、接USB DAC聽音樂,肯定是先打開Windows的機器再說;若是要架設Server、開發Web-based應用程式,自從2001年我的Windows 2000 Server接二連三遭到入侵、開始改用RedHat Linux 7.1架站,就愛死這個堅不可摧的系統;去年入手人生中的第一台蘋果電腦(MacBook Pro),又發現Mac OS X這個簡單、華麗的系統讓人愛不釋手。
因此我不再思考哪一種作業系統比較好,開始嘗試讓不同作業系統能夠一起工作,各取所需、各取所長。
這篇文章想說明以Linux作為Server的架構,而Windows或Mac OS X則扮演Client的角色。
如果要在遠端遙控一台電腦,習慣使用Windows的使用者,第一個想到的應該是遠端桌面連線(Windows內建)、VNC或TeamViewer。這些都是很棒的遠端桌面軟體,但共通的缺點就是太依賴圖形化介面,對一般使用者來說,在區域網路使用沒甚麼問題,若是遠端操作一些簡單的任務,速度慢一點也不是大問題。
但如果你很不幸地跟我們一樣,經常需要設定和維護伺服器,或是在遠端的工作站開發軟體(大多是Web-based),就要認真考慮一下,學習Linux的基本指令、改用以文字終端機為基礎的遠端連線方式。
※ 如果你是Linux新手、想學好系統操作基礎功夫,強烈推薦《鳥哥的Linux私房菜》教學文章!
早期的Linux大多採用telnet作為遠端連線方式,如果你沒用過telnet沒關係,因為在台灣普及率很高的BBS就是屬於一種telnet架構的服務。由於telnet在傳輸過程中都是未加密的明碼,相當容易造成資料在傳輸過程中被攔截,駭客就可以從中獲得帳號密碼,造成Linux系統也遭到入侵。為了提高安全性,telnet通常需要搭配防火牆限制連線來源、只允許部分非root權限的user登入,但這只能治標不能治本。
所以近來Linux系統預設的遠端連線伺服器,就不再選擇telnet,而採用ssh取而代之。SSH是Secure SHell protocol的縮寫,它在資料傳輸過程中,資料封包會經過加密,即使資料遭到攔截,也非常不容易破解還原,因此安全性大幅提高了。
但ssh並不是只為在安全考量上取代telnet,其他一些Linux網路遠端指令如finger、R Shell(包含rcp、rlogin、rsh 等)、talk、ftp等,以及圖形化程式的X11 forwarding,都可以透過更安全的ssh取代。
Ubuntu Server版本裝機過程中,可以勾選SSH Server服務,系統安裝程式就會自動安裝、啟用ssh服務。
但如果用Ubuntu Desktop或安裝Ubuntu Server時沒有勾選,也沒關係,在Ubuntu Linux加裝ssh服務相當簡單,只需要一行指令:
sudo apt-get install openssh-server
一行、只要一行,就裝好ssh了!完成後ssh服務會自動啟用。
如果要確認ssh服務是否有在運作,可以輸入:
service ssh status
如果ssh服務已經在運作,會看到如下訊息(****是數字,代表PID)。
ssh start/running, process ****
否則,出現以下訊息,表示ssh還未啟動。
ssh stop/waiting
自行啟動ssh服務的指令為:
sudo service ssh start
停用ssh服務的指令為:
sudo service ssh stop
當然也可以重新啟動,但不太常用到:
sudo service ssh restart
從遠端連線到ssh服務,Linux和Mac OS X系統通常都內建ssh指令。(yourname:你的帳號;remotehost:伺服器的IP或HOSTNAME)
ssh yourname@remotehost
Windows系統需要加裝ssh連線軟體,筆者最推薦的軟體是pietty,它是由台灣人(piaip)改良PuTTY,對中文支援更完善的版本。
http://ntu.csie.org/~piaip/pietty/
一般情況下,ssh服務預設使用的port號碼為22,但有些講求更高度安全性的伺服器,會將port更改為其他號碼,讓駭客使用的掃描工具不會輕易找到ssh服務。雖然ssh連線有加密,但使用root帳號直接登入還是相當危險的事(可能被鍵盤側錄等),伺服器管理者可以修改設定防止一時疏忽造成伺服器安全危害。
Ubuntu的ssh服務設定檔路徑是:
/etc/ssh/sshd_config
以下示範將port號碼改為11122,並禁止root帳號直接登入。
Port 11122
PermitRootLogin no
更改port號碼後,ssh連線指令也必須指定號碼。
ssh -p 11122 yourname@remotehost
有些ssh服務在登入時需要等待很久,這跟網路環境的配置有關,但我們也可以調整sshd_config,減少登入等待時間。
GSSAPIAuthentication no
UseDNS no
延伸閱讀:
沒有留言:
張貼留言