很多家庭都有舊的電腦,用來跑Windows系統已經力不從心,而安裝上Linux系統還可以用來做許多的事情,比如,《開放系統世界》2003年第8期《給Linux家庭網絡升級》中介紹的使用Linux做NAT網關進行ADSL上網。作為一個NAT網關,給它配備顯示器等外設太奢侈,我們完全可以利用Windows來省略這些配置。
遠程登錄的服務器設置
我們以Red Hat Linux為例說明。首先安裝Linux,這個時候不可以省略鼠標、鍵盤和顯示器,將網絡調通,保證Windows機器可以ping到。在Linux上,使用setup命令,在出現的配置選單後,選中“System Services”,回車後出現一個服務列表選單,確保在選單中有Telnet或sshd服務(為了安全起見,一般只選擇sshd即可),若它們前邊的方框內沒有“*”號,則按空格鍵選擇它。還要注意,firewall configuration要開放這些端口(telnet端口號23,SSH端口號22),或者為了簡單實驗可以暫時選擇no firewall,但是今後為了安全,還是需要建立防火牆,開放22或23端口,相關設置請參考HowTo。在Linux上,用命令“useradd myself”新建一個用戶myself,再用“passwd myself”設置這個用戶的密碼,在服務器上這樣的設置就已經可以允許遠程訪問了。然後將那些外設統統拿掉。
通過telnet方式訪問Linux
Windows本身自帶一個telnet客戶程序,在“開始”|“運行”中輸入命令“telnet”。假設以上設置的Linux服務器IP地址為192.168.0.1,輸入命令“open 192.168.0.1”,輸入用戶名“myself”和它的密碼,接下來即可模仿坐在Linux機器前邊進行操作了。
需要說明一點,默認情況下,使用telnet方式不允許以root用戶登錄,這也是在遠程登錄服務器設置一節最後建立用戶myself的原因,下面將要提到的SSH方式就沒有這個限制。
通過SSH方式訪問Linux
由於telnet的不安全性,現在Linux發行版大多都集成了SSH功能,而Windows本身是沒有SSH Client的,需要一個第三方軟件支持。這裡推薦使用SecureCRT或SSH Secure Shell非商業版。前者是所有Windows下客戶端中能夠在一個屏幕顯示最多行數的軟件,非免費軟件,網址為http://www.vankyde.com。後者自帶一個圖形化的sftp軟件,方便傳輸文件,個人使用免費,網址為http://www.ssh.com。
要想使用SSH傳輸文件,還需要Linux上允許使用ssh2。方法是在/etc/ssh下使用“more sshd_config”,看sshd_config文件中protocal一行,若這一行前沒有使用“#”,而且protocal後面只有數字“1”,則說明不可使用ssh2;若不是這種情況,即可使用ssh2。圖1是SecureCRT的屏幕截圖,圖2是SSH Secure Shell的屏幕截圖,並且,這些SSH類Client一般都支持telnet方式登錄。在連接對話框中輸入必要的信息,即可連接Linux機器了,如圖3和圖4。還有其它很多優秀的類似軟件,這裡就不一一介紹了,有興趣的讀者可以繼續尋找。
圖1 SecureCRT
圖2 SSH Secure Shell
圖3 SecureCRT connection
圖4 SSH Secure Shell connection
使用X-Window
如果還想使用X-Window,就必須使用X Server軟件了。如果安裝Linux的時候選擇安裝了X-Window,只要可以使用telnet或SSH,那麼就可以使用X-Window,不需要做額外的設置。
這裡有個概念要澄清,X Server是在Windows上運行的軟件,用來接受鼠標鍵盤的輸入,此時在Linux上跑的是X Client,負責做出對X Server的響應。此類軟件比較著名的有Exceed和Xmanage,非常可惜的是它們都是商業軟件。
Exceed的歷史非常悠久,在telnet/rlogin/rsh/方式下使用X-Window很方便,它來自http://www.hummingbird.com。
Xmanage功能也十分強大,而且我還找到了一個漢化包(for 1.3.8版本免費的漢化包),安裝之後可以顯示中文的X-Window。有需要的讀者可以發郵件到[email protected]向我索要。至於Xmanage本身,用Google搜索很容易找到,但要注意版權問題。
圖5為Xmangae,圖6是使用Xmangae連接Linux。連接建立之後,運行命令“startx”即可啟動X-Window。
圖5 Xmanage
圖6 用Xmanage連接Linux
通過串口方式訪問Linux
無論使用前面介紹的哪種方式,都有個前提就是Linux機器一直不重啟。如果Linux重新啟動,會檢測鍵盤是否存在,機器會一直停在需要確認鍵盤的界面上(而此時各項服務還都沒有運行)。要想繞過這個限制,就需要其它的連接方式,一種方法是將終端定向到串口上(com1或com2)。制作一根DB9串口線,兩邊都是母頭(有插孔的那種),將一頭的2、3、5腳分別與另一頭的3、2、5腳連接起來就可以了,當然最標准的是使用“null modem”線。
在Linux上可進行如下設置。在文件/etc/inittab中增加下面一行(注意,如果不采用agetty程序,采用其它的程序如like getty_ps ,應用正確的命令語法):
ID:RUNLEVELS:respawn:/sbin/agetty -L SPEED TTY TERM
這裡,ID為兩字母的標識符,如s1或s2;RUNLEVELS為終端激活的運行級別;SPEED為串口端口速率;TTY為串口的設備名;TERM為環境變量。
范例如下:
s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100
上面命令表示串口/dev/ttyS2 (COM2 )速率為9600bps,終端模式為vt100。
最後,重新啟動機器。在Windows上打開“超級終端”,在“連接時使用”下拉選單中選擇com1,填入如圖7的信息即可進行連接。
圖7 串口連接設置
以上介紹了使用Windows控制Linux的一些技巧和方法,這些方法在家庭中即可做實驗。掌握好它們,對今後管理多個Unix/Linux服務器有著許多好處。