Cho đến nay, tôi đã xem xét những cách chắc chắn, chậm rãi để truyền thông với người khác và các máy tính khác. Nhưng xem đấy, thư vẫn là thư. Đi xuống xem hộp thư vẫn thú vị đấy thôi? Trong phần này, bạn bắt đầu dùng Internet để truyền thông trong-khi-chờ-đợi. Nếu bạn muốn hài lòng tức thời (thời buổi này ai chẳng muốn?), hãy đọc tiếp.
14 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1333 | Lượt tải: 0
Nội dung tài liệu Lịch sử phát triển của Tin học, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Làm hài lòng tức thời.
Trong phần này...
Cho đến nay, tôi đã xem xét những cách chắc chắn, chậm rãi để truyền thông với người khác và các máy tính khác. Nhưng xem đấy, thư vẫn là thư. Đi xuống xem hộp thư vẫn thú vị đấy thôi? Trong phần này, bạn bắt đầu dùng Internet để truyền thông trong-khi-chờ-đợi. Nếu bạn muốn hài lòng tức thời (thời buổi này ai chẳng muốn?), hãy đọc tiếp.
Điều tốt kế tiếp cho việc ở tại đó
Trong chương này
Ở tại đó
Vài lời từ IBM
Nhảy đến các máy chủ bằng lệnh login từ xa
Làm thế nào để có thể cùng lúc ở hai nơi
Cho đến nay, các dịch vụ Internet tương tác được dùng rộng rãi nhất là các hình thức login từ xa. Những dịch vụ này làm việc gì?, đơn giản là: bạn login vào một máy chủ ở xa (đối với máy tính gọi là telnet) như thể là trạm cuối của bạn (trạm làm việc hoặc PC hoặc gì đi nữa) được nối trực tiếp vào máy chủ đó. Bởi vì tất cả các máy chủ trên Internet một cách chính thức là tương đương nhau, bạn có thể login vào một máy chủ ở phía bên kia của thế giới cũng dễ như là login vào cái ở dưới nhà, khác biệt duy nhất là login vào một máy chủ ở xa có thể lâu hơn một tí.
Mặc dù telnet, chương trình login từ xa thường dùng nhất, về nguyên tắc thì tự nó là đơn giản, vì các máy tính thường bao gồm sự đơn giản, không giống như trước kia. Để chạy telnet, bạn gõ vào telnet theo sau là tên của máy chủ mà bạn muốn login vào. Nếu mọi việc tốt đẹp, khi đó bạn sẽ nối được vào máy chủ đó.
Trong ví dụ sau đây, tôi telnet từ máy tính ở nhà tôi, với tên tôi. (Nhưng xin lỗi là tôi không thể nói cho bạn biết mật khẩu của tôi được. Sorry)
% telnet iecc.com
Trying 140.186.81.1... Connected to iecc.com.
Escape character is '^]'.
System V UNIX (iecc)
login: johnl
Password:
Terminal type (default VT100):
...
Chú ý vài điểm như sau:
Một vài phiên bản của telnet thông báo địa chỉ dạng số của máy chủ mà nó nối tới. Nếu bản của bạn cũng vậy, hãy lưu ý con số đó đề phòng trường hợp có gì phiền toái sau này trong việc nối mạng.
Cái tuyệt đối cần thiết phải lưu ý là ký tự thoát (escape character), là chìa khoá bí mật để cứu bạn ra khỏi máy chủ ở xa nếu nó trở nên ngoan cố và không làm điều gì hữu ích nữa.
Ký tự thoát trong ví dụ của tôi, thường dùng nhất trong các hệ thống UNIX, là ^], có nghĩa là bạn bấm và giữ phím Ctrl và bấm phím ] (ký tự đóng ngoặc vuông trên bàn phím)
Nếu bạn sử dụng một chương trình trên máy chủ ở xa mà có dùng đến ký tự thoát cho mục đích riêng của nó, bạn có thể chọn một ký tự thoát khác. Xem phần bên lề "Đưa telnet vào dòng" trong phần sau của chương này.
Sau khi bạn login vào, bạn có thể làm việc khá tốt như thể bạn được nối trực tiếp vào máy chủ đó. Khác biệt duy nhất là các ký tự mất một lúc lâu hơn để hiện ra trên màn hình - khoảng 1 giây hoặc hơn. Trong đa số trường hợp, bạn cứ việc gõ tiếp dù các ký tự gõ vào vẫn chưa xuất hiện trên màn hình: rồi máy chủ từ xa cũng nhận hết thôi.
Điên vì các loại trạm cuối
Nếu bạn dùng một chương trình toàn màn hình, như trình soạn thảo văn bản emacs và vi trên UNIX hoặc các chương trình thư tín như elm và pine, bạn cần định ra loại trạm cuối. Có thể lần đầu không gặp vấn đề này. Nhưng nếu nó xảy ra, bạn phải đối phó.
Vấn đề là ở chỗ có khoảng chừng một tá qui ước khác nhau trong việc kiểm soát màn hình chẳng hạn như xoá màn hình, di chuyển đến vị trí (x,y) v.v... Chương trình trên máy chủ từ xa phải dùng cùng một loại qui ước như trên trạm cuối của bạn (nếu bạn dùng một trạm cuối) hoặc như chương trình trên trạm cuối địa phương (nếu bạn dùng một PC hoặc trạm làm việc)
Nếu các qui ước không giống nhau, bạn sẽ nhận rác (các ký tự hình thù đáng sợ) trên màn hình khi bạn thử sử dụng một chương trình toàn màn hình. Trong đa số trường hợp, hệ thống từ xa hỏi bạn dùng trạm cuối gì. Mẹo là phải biết câu trả lời đúng.
Nếu bạn đang dùng một PC, câu trả lời luôn luôn là ANSI vì đa số các chương trình trạm cuối PC dùng các qui ước trạm cuối ANSI (ANSI viết tắt cho American National Standard Institute - Viện tiêu chuẩn quốc gia Mỹ. Một trong hàng ngàn các tiêu chuẩn của nó định ra một bộ các qui ước kiểm soát trạm cuối mà các PC dùng MS-DOS - nếu chúng không dùng các qui ước này thì chắc cũng không biết thêm một chuẩn nào khác - dùng theo nhiều kiểu khác nhau.
Nếu bạn dùng một hệ thống trên window, như Motif hay Open Look, câu trả lời đa số là VT-100, một trạm cuối phổ biến từ những năm 70 và nay trở thành một chuẩn thật sự.
Những chỗ nào dùng nhiều máy tính IBM, loại trạm cuối có thể là 3101, một trạm cuối lúc đầu của IBM mà cũng khá phổ biến.
Các qui ước ANSI và VT-100 cũng không khác nhau lắm, thành ra nếu bạn dùng hệ này mà thấy màn hình không chỉnh lắm thì thử hệ kia xem.
Nhiều hơn những gì bạn muốn biết về loại trạm cuối
Trở về những ngày tốt đẹp trước kia - khoảng năm 1968 - chỉ có một loại trạm cuối được dùng: một loại máy đánh máy từ xa mang nhãn hiệu Teletype. Các máy Teletype, hậu duệ trực tiếp của các máy gõ tin từ xa (giống như trong các bộ phim cũ về việc làm báo), thật là đơn giản. Có nghĩa là chúng đơn giản về mặt ý niệm - về mặt vật lý, chúng có những cơ phận chuyển động nhiều không thể tưởng. Những việc duy nhất những máy này làm ngoài việc đơn thuần gõ chữ vào là di chuyển xuống dòng và reng chuông.
Sau đó người ta nhận thấy rằng có thể kết hợp một bàn phím với một màn hình có thay đổi tí chút để có một trạm đầu cuối dùng màn hình. Hàng tá các nhà chế tạo xuất hiện, đa số hiện nay đã bị lãng quên, tất cả đều thuyết phục rằng bạn có thể làm tốt hơn nhiều với một trạm cuối dùng màn hình thay cho một máy Teletype. Ví dụ, bạn có thể xoá màn hình, đặt chữ vào những chỗ riêng biệt, di chuyển chữ lên xuống - tất cả những việc vặt vãnh. Lúc đó mỗi nhà chế tạo đều dùng những ký tự còn để ngỏ làm các ký tự điều khiển để làm các chức năng đặc biệt này. Tự nhiên là không có 2 trạm cuối nào dùng chung một phép gán.
Trong lúc đó, trên một hành tinh nhỏ ở rất xa, xa..., oop, xin lỗi, sách viết nhầm. Trong lúc đó, ở Berkeley, California vào cuối những năm 70, hình thành những gì bây giờ gọi là hệ thống UNIX Berkeley. Những người ở Berkeley đã sưu tầm vừa nhiều vừa linh tinh những trạm cuối không tương thích. UNIX Berkeley nên hỗ trợ trạm cuối nào? Đây chính là chỗ lắt léo: Những trạm cuối thì phải mua từ bên ngoài và tốn tiền thật sự, trong khi phần mềm thì do sinh viên viết và không tốn tiền. Một cách tự nhiên là họ hỗ trợ tất cả các loại trạm cuối có trong khuôn viên trường, sử dụng các cơ sở dữ liệu lớn chứa hàng trăm loại trạm cuối với các chuỗi điều khiển riêng biệt cho mỗi loại.
Đầu những năm 80, rõ ràng những trạm cuối thống trị trong thị trường không-phải-IBM là loại DEC VT-100. Nhiều trạm cuối nhái kiểu bắt đầu xuất hiện và hiểu chính xác cùng chuỗi ký tự điều khiển như VT-100, thành ra chúng hoạt động được ở nơi nào có VT-100 hoạt động. ANSI, tổ chức chịu trách nhiệm về chuẩn kỹ thuật ở Mỹ, đã coi chuỗi điều khiển gần như đồng nhất với chuỗi của VT-100 là chuẩn chính thức.
Bây giờ thì bạn có thể giả sử tất cả các trạm cuối là 1 VT-100 đúng không? Vâng không phải vậy. Thứ nhất là nhiều trạm cuối cũ đã không chịu chết. Lý do nữa là các nhà chế tạo trạm cuối đã đi xa hơn VT-100, thêm vào những đặc tính như màu và đồ hoạ mà VT-100 không có. Vì thế phần lớn các trạm cuối bây giờ chỉ tương thích với ANSI không ít thì nhiều, và có những thiếu sót riêng của chúng. Thế giới bị mắc kẹt trong tình trạng nhiều loại trạm cuối trong một tương lai sắp đến. Nhưng lúc này, nếu bạn không biết loại trạm cuối của bạn, tốt nhất là đoán xem hoặc VT-100 hoặc ANSI.
Về một cố gắng thất bại khác để chuẩn hoá các trạm cuối, xem phần bên lề Các Trạm Cuối ảo Trên Mạng ở phần sau của chương này.
Tùy theo phiên bản telnet chỗ bạn thực hiện tốt như thế nào, nó có thể bảo cho hệ thống ở xa biết về loại trạm cuối bạn đang dùng. Nếu may mắn thì bạn không cần phải định ra trạm cuối, hoặc chỉ cần bấm y khi nó hỏi Terminal type VT100 OK?
Giúp tôi với! Tôi đã Telnet và không thể thoát ra được!
Cách bình thường để rời khỏi telnet là logout khỏi máy chủ từ xa. Khi bạn logout, máy chủ từ xa đóng đầu nối với telnet, do đó báo cho chương trình telnet biết là xong rồi. Bình thường thì dễ thôi. Nhưng thỉnh thoảng đầu kia bị kẹt và không chú ý đến những gì bạn gõ vào. Hoặc giả nó không kẹt thường trực luôn, nhưng máy chủ trả lời cho bạn quá chậm đến nỗi bạn không muốn đợi nữa. (Điều này đôi khi xảy ra do nghẽn đường mạng giữa máy bạn và máy chủ).
Một vài phiên bản của phần mềm máy chủ, tôi không nêu tên vì những lý do giấu-nghề, tự làm nó chậm hơn hẳn do tắt đường gây ra. Nên bạn phải biết làm thế nào để thoát ra khỏi telnet. Lúc này phải cần đến ký tự thoát ma quái.
Trước hết bạn phải làm telnet chú ý bằng cách gõ vào ký tự thoát. (nếu sau vài giây không có gì xảy ra, cũng thử bấm Enter xem.) Telnet có thể quay trở lại với 1 dấu nhắc cho biết là có nó đó.
Sau đó gõ quit để nói cho nó biết là bạn đã làm xong rồi. Có thể bạn sẽ thấy như sau:
^]
telnet> quit
Connection closed.
Bạn có thể dùng đến hàng tá lệnh telnet khác (bấm ? để xem chúng) nhưng không có lệnh nào trong số đó gần gũi và hữu dụng như là lệnh quit.
Các trạm cuối được phục vụ ở đây
Có một loại máy chủ chuyên dụng trên Internet gọi là terminal server (máy phục vụ cho trạm cuối). Về cơ bản, terminal server là một máy tính nhỏ có một số thiết bị truyền modem hoặc các cổng có nối dây, và đời nó chỉ là để telnet với các máy chủ khác. Điều này chỉ có ý nghĩa nếu bạn có nhiều trạm cuối trong văn phòng, hoặc có nhiều người gọi đến qua điện thoại, bởi vì nó cho phép nhiều trạm cuối nối vào một mạng với giá rẻ. (Các terminal server được hoàn chỉnh đến mức dùng một máy có sức tính của 1 PC năm 1985 cũng có thể xử lý được đến 30 liên kết với thiết bị modem với tốc độ mỗi cái 14,000 bps).
Dùng một terminal server cũng giống như login vào một máy tính suy nghĩ đơn giản (thật sự nó là như vậy). Bạn quay số vào và phải nhập vào một mật khẩu để tránh trường hợp một hacker 12-tuổi login vào một cách ngẫu nhiên (về vấn đề này thì hacker ở độ tuổi nào cũng như nhau). Sau đó bạn gõ vào tên của máy chủ mà bạn muốn nối tới, và coi như telnet rồi. Sau đây là một phiên làm việc trên một terminal server Cisco điển hình:
User Access Verification Password: *****
TS>iecc.com
Translating "IECC"...domain server (155.189.247.101) [OK]
Trying IECC.COM (140.186.81.1)... Open System V UNIX (iecc)
login:
... regular telnet session deleted here...
[Connection to IECC.COM closed by foreign host]
TS>
Các terminal server có các ký tự thoát giống như các chương trình telnet bình thường, mặc dù chúng khó đoán hơn. Ký tự thoát cho một máy server Cisco bình thường luôn có 2 ký tự, Ctrl - ^ (thường gõ vào là Ctrl-Shift-6), theo sau là một chữ x viết thường. Các terminal server có nhãn khác thì có ký tự thoát cũng khác; hỏi ở chỗ bạn xem phải dùng ký tự nào.
Phần lớn các terminal server có một bộ lệnh nhỏ để hiểu cách làm việc quen thuộc hoá của bạn. Bấm ? thay cho một tên máy chủ để xem nó nói gì.
Các PC để một mình thì không đủ tốt
Nếu bạn dùng một Macintosh, một PC chạy Microsoft Windows, hoặc một hệ window nào khác, bạn khởi đầu telnet hơi khác so với hệ UNIX. Bạn bắt đầu telnet từ một biểu tượng, và window sẽ hiện lên một thực đơn chọn lựa phía trên. Một trong các chọn lựa thường là Connect (hoặc tương tự như vậy). Nháy vào chọn lựa đó, gõ tên máy chủ hoặc chọn trong 1 danh sách, rồi cứ thế mà đi.
Hình 14-1 chỉ ra cùng một buổi làm việc như đã trình bày ở phần trước trong chương này, nhưng lần này là từ một máy với Windows. Hệ window thì không có ký tự thoát vì bạn thoát các kiểu đều thực hiện từ thực đơn của chương trình. Ví dụ để thoát khỏi một máy chủ ngoan cố ở xa, nháy vào một mục trên thực đơn là Disconnect (hoặc tương tự).
Hình 14-1: Telnet từ Microsoft Windows (Copy/Scan)
Đưa telnet vào dòng
Bạn có thể bảo telnet thay đổi cách làm việc của nó theo một số cách. Hai cách đáng chú ý nhất là bật tắt chế độ local echo và chế độ dòng. Local echo có nghĩa là các ký tự bạn gõ vào được máy chủ ở địa phương (là máy chạy telnet) gởi đến màn hình của bạn. thay vì cái máy mà bạn telnet tới đó. Nếu máy chủ ở xa đưa chữ ra màn hình chậm hoặc không đưa ra tí nào (ví dụ một vài máy chủ IBM chẳng hạn), bạn thử bật local echo lên xem. Thường là bấm Ctrl-E để bật tắt local echo.
Gần như tất cả các máy chủ trên Internet đều muốn xử lý các ký tự bạn gõ vào mỗi lần một ký tự. Một vài kiểu cổ xưa thì xử lý từng dòng một. Bạn có thể nhận ra chúng dễ dàng vì các ký tự xoá lùi không được chúng xử lý. Để tránh vấn đề đó, gõ ký tự thoát telnet, rồi gõ vào:
telnet>mode line
Dòng này bảo cho máy chủ địa phương của bạn cất các ký tự và gởi cho đi mỗi lần một dòng, xử lý các ký tự xoá lùi trước khi gởi đi. Số các máy chủ xử lý theo dòng ngày càng ít. Nếu bạn tìm ra một máy chủ cần đến nó, hỏi xung quanh xem bạn có xem nhầm hay không. Nếu máy chủ gởi văn bản mỗi lần một màn hình, và dùng các chữ tắt như VM hay MVS (hai hệ điều hành IBM thường gặp nhất), có lẽ bạn đang chạy với một máy chủ IBM và thay vào đó, nên dùng tn3270. Xem phần "Chúng tôi đến từ IBM" sắp tới trong chương này.
Không đếm xỉa tới phần thảo luận này
về các trạm cuối ảo trên mạng.
Trở về năm 1983 khi telnet được xác định, những người làm việc với nó đều ý thức rõ các chủng loại trạm cuối khác nhau. Giải pháp của họ cho sự bùng nổ các trạm cuối không tương thích là định nghĩa một Trạm Cuối ảo Trên Mạng (Network Virtual Terminal - NVT). Kế hoạch là một khách hàng của telnet (tức là chương trình mà bạn chạy) sẽ đổi những ký tự điều khiển địa phương sang các mã NVT chuẩn; máy phục vụ telnet - telnet server (chương trình ở đầu kia mà làm cho bạn nối vào và làm việc như một trạm cuối trên đó) sẽ đổi mã NVT thành các qui ước địa phương ở đó. Một khi mà mỗi hệ thống được cấu hình theo đúng các trạm cuối được nối một cách vật lý với nó, NVT sẽ lo mọi chuyện.
Việc này không làm được. Chuyện gì xảy ra? Vấn đề là telnet đến hơi sớm hơn quá, và loại trạm cuối mà họ lo là các trạm cuối in-mỗi-lần-một-dòng, đặc biệt là các trạm cuối IBM 4 số như 2741 và 1050. Cái 2741 thì cũng chỉ hơn máy đánh chữ Selectric một tí với 1 giao diện máy tính, nhưng không hơn nhiều để có thể làm việc với tốc độ của máy tính thay vì là một người đánh máy 30 ký tự mỗi phút. Tôi đã từng làm việc trong một phòng trạm cuối trong nhiều năm có hàng tá cái 2741, và tôi không thể nhớ được chúng có làm việc cùng nhau một cách có trật tự lần nào không.
NVT giải quyết đáng kể tính không tương thích giữa các máy 2741, Teletypes, Flexowriters, và nhiều trạm cuối có chức năng in khác. Không may là các trạm cuối video chỉ mới phổ biến gần đây thôi, và NVT không tính đến chúng một tí nào. Thành ra các người sử dụng Internet vẫn mắc kẹt với tình trạng nhiều loại trạm cuối trên tất cả các máy chủ.
(Thật sự là điều đó cũng không hoàn toàn đúng. Những nhà chế tạo lớn như Digital Equipment Corporation (DEC) có xu hướng chỉ hỗ trợ loại trạm cuối của họ, thành ra nếu bạn telnet vào một hệ DEC VMS mà không dùng trạm cuối DEC hay nhái kiểu, bạn coi như thua. May mắn là các VT-100 ở đâu cũng có là do DEC làm ra).
Bất kỳ cổng nào trong một cơn bão
Khi bạn telnet vào một máy chủ ở xa, bạn phải chọn không chỉ máy chủ mà còn một cổng trên máy chủ đó. Cổng là một con số nhỏ chỉ ra bạn muốn dùng dịch vụ nào. Cổng thường dùng cho telnet (vì những lý do lịch sử mờ ám) là số 23, được coi có nghĩa là bạn muốn login vào máy chủ đó. Bạn chọn một cổng khác bằng cách đặt tên cổng sau tên máy chủ như sau:
telnet ntw.org 13
Cổng 13 là cổng giờ trong ngày. Nó nói cho bạn ý kiến của máy chủ về giờ trong ngày rồi thoát ra. Đây không phải là có ích ghê gớm lắm nhưng đôi khi bạn cũng muốn biết giờ địa phương chỗ máy chủ đó.
Một vài máy chủ được định sẵn để telnet bình thường vào cổng 23 sẽ hiện ra dấu nhắc cho người sử dụng bình thường của hệ thống, trong khi telnet vào cổng khác sẽ dẫn vào một hệ thống đặc biệt, có thể dùng một cách công cộng. Một vài hệ thống trong số này được đề cập đến ở chương 15.
Chúng tôi đến từ IBM và chúng tôi biết cái gì tốt cho bạn
Tất cả các loại trạm cuối đã đề cập đến do telnet xử lý đều là các Teletypes đã tăng tốc, với dữ liệu truyền từng ký tự một giữa máy chủ và trạm cuối. Loại tương tác trạm cuối này được gọi là loại Teletype.
IBM đã phát triển một hệ thống khác hoàn toàn cho loạt trạm cuối 3270 của nó. Nguyên tắc là cho máy tính chịu trách nhiệm. Mô hình này hoạt động hơi giống như điền vào đơn từ. Máy tính vẽ ra những gì nó muốn trên màn hình, đánh dấu những phần nào người sử dụng có thể gõ vào, và mở khoá bàn phím để người sử dụng có thể điền vào chỗ trống nào mà họ thích. Khi người sử dụng bấm Enter, trạm cuối sẽ khóa bàn phím, chuyển phần màn hình thay đổi về cho máy tính, và đợi những chỉ thị mới từ trung ương.
Công bằng mà nói, đây là cách hoàn hảo hợp lý cho các trạm cuối chỉ đơn thuần phục vụ việc nhập dữ liệu và truy xuất cho các chương trình ứng dụng. Trạm cuối để bàn ở các Ngân hàng, công ty điện lực,... có thể là loại 3270, hoặc bây giờ thường là các máy 3270 mô phỏng PC rẻ tiền. Giao thức truyền thông của trạm cuối 3270 làm việc tốt hơn nhiều trên đường dây điện thoại so với các máy Teletype, thành ra thường là cho tất cả các trạm 3270 trong một văn phòng dùng chung một đường dây điện thoại, với một mức hoạt động hợp lý.
Internet thì lớn, và có nhiều máy lớn IBM chạy các chương trình ứng dụng trên nó. Một vài trong số đó thì rất hữu ích. Ví dụ như phần lớn các danh mục thư viện đều nói tiếng 3270. Thông thường, nếu bạn telnet vào một hệ thống dùng 3270, nó chuyển tiếng Teletype của telnet thành tiếng 3270 để rồi bạn cũng dùng nó được. Nhưng một vài hệ 3270 chỉ nói được tiếng 3270, và nếu bạn telnet vào đó, hoặc nó sẽ nối hoặc không chứ không có chuyện nửa chừng.
Một biến thể của telnet nói tiếng 3270 gọi là tn3270. Nếu bạn thấy một hệ thống cứ bị không nối được, hoặc nếu bạn thấy những hình toàn màn hình như ở hình 14-2, thử đánh lệnh tn3270 xem.
Hình 14-2: Dùng tn3270 để login vào danh mục thư viện trường Hardvard.
Login từ xa: Điều tốt kế tiếp để đến đó
Đa số các hệ UNIX cũng có một chương trình khác, hơi không tương thích giống như telnet gọi là rlogin. (Các hệ trọn gói trên mạng cho PC mà có telnet thì cũng có rlogin). Tôi dùng rlogin trong ví dụ sau đây:
rlogin pumpkin.ntw.org
Last login: Fri Jan 8:14:30:28 from squash
SunOS Release 4.1.2 (PUMPKIN) #3: Fri Oct 16:00:20:44 EDT 1992
Please confirm (or change) your terminal type.
TERM = (vt100)
Này! Nó không đòi bạn phải login vào. Điều gì xảy ra? Đó là lợi thế chính của rlogin so với telnet. Khi bạn thấy mình cứ login vào các máy giống nhau nhiều lần, bạn có thể dễ dàng thu xếp để sau khi bạn login vào một trong số đó, bạn không cần phải rlogin vào những cái còn lại. Chương trình rlogin tự động chuyển tên người sử dụng của bạn và loại trạm cuối vào hệ thống ở xa để bạn không cần phải gõ lại. Như vậy, nếu các máy chủ mà bạn dùng có hỗ trợ rlogin, dùng nó tiện hơn nhiều so với telnet. Nhưng không phải máy chủ nào cũng hỗ trợ rlogin, thành ra đôi khi bạn vẫn phải dùng telnet. Nếu bạn thử rlogin vào một hệ thống mà không chấp nhận nó, bạn sẽ thấy một thông điệp như sau, có nghĩa là bạn nên thay bằng telnet:
% Connection refused by remote host
Chia tay buồn ngọt ngào
Chương trình rlogin có bộ ký tự thoát hoàn toàn khác với telnet. (Thật tình bạn có ngạc nhiên không?) Tất cả các ký tự thoát của rlogin bắt đầu bằng dấu ~ (dấu ngã) đầu dòng. Ký tự quan trọng nhất bạn có thể đánh vào để thoát là ~. (dấu ngã theo sau là dấu chấm). Vậy để thoát ra khỏi một rlogin bị kẹt, phím bấm để thoát là Enter (để bảo đảm là ở đầu dòng) rồi đánh vào ~. (dấu ngã rồi dấu chấm)
Hãy là khách của tôi
Trong một vài trường hợp, một nhóm máy chủ chia nhau cùng một bộ người sử dụng, thành ra ai có thể login vào một trong số đó thì có thể login vào bất kỳ máy nào còn lại. Trong trường hợp này, có 1 file hệ thống liệt kê tất cả các máy chủ mà người sử dụng của nó là tương đương như máy này. Nó gọi là /etc/hosts.equiv trên các hệ UNIX và giống giống vậy trên các hệ khác. Nếu máy Able có một file hosts.equiv chứa tên máy chủ Baker, bất kỳ người nào trên Baker có thể rlogin vào Able mà không cần mật khẩu.
Một vài nhóm trạm làm việc, đặc biệt là Sun, dùng cái gọi là NIS (Network Information System - Hệ thông tin mạng) cung cấp một cơ sở dữ liệu trong phạm vi nhóm các tên người sử dụng và những cái tương tự. Nếu bạn đang dùng NIS, hệ thống sẽ liên lạc đến một cơ sở dữ liệu hosts.equiv của NIS thêm vào file thường lệ của nó. Để xem nó, gõ vào ypcat hosts.equiv. (Đừng hỏi tôi tại sao lệnh tên là ypcat, bạn không cần phải biết).
Hãy là chủ của tôi
Trong một tình huống khác, bạn có tài khoản trên nhiều máy chủ, nhưng chúng không cùng chịu quản lý chung. Bạn có thể bố trí các thiết lập rlogin của riêng mình. Trên mỗi tài khoản của bạn, tạo ra một file gọi là .rhosts (có dấu chấm trước chữ r) liệt kê tất cả các máy chủ khác mà bạn có tài khoản trên đó. Với những hệ thống mà bạn có tên người sử dụng khác, đặt tên đó lên hệ thống đó sau tên máy chủ, cách một khoảng trắng. Sau đó, khi bạn dùng rlogin, hệ thống mà bạn login vào sẽ kiểm tra .rhosts, xem thử có phải là bạn không, và bạn được thiết lập. Nếu bạn dùng rlogin để login vào một máy chủ mà bạn có tên khác trên đó, chỉ định nó như sau (giả sử tên người sử dụng của bạn ở ntw.org là king).
rlogin ntw.org -l king
Nếu lúc này bạn hơi rối, có một ví dụ có thể giúp bạn. Giả dụ rằng bạn có tài khoản trên 3 máy là Able, Baker, và Clarissa. Trên Able và Baker, tên người sử dụng của bạn là sam, và trên Clarissa là tilden. Bạn muốn có thể rlogin từ bất kỳ 1 trong 3 máy vào 2 máy kia. File .rhosts của bạn trên Able có thể chứa như sau:
Baker
Clarissa tilden
.rhosts của bạn trên Baker chứa:
Able
Clarissa tilden
.rhosts của bạn trên Clarissa chứa:
Able sam
Baker sam
Nhưng sau đây là một cách dễ hơn. Nó không đụng chạm gì khi đưa vào tên người sử dụng, dù là chúng giống nhau, hoặc là đưa vào một dòng cho hệ thống ở địa phương. Vậy cả 3 file .rhosts có thể như nhau:
Able sam
Baker sam
Clarissa tilden
Nếu rlogin không nhận ra bạn, nó hỏi tên và mật khẩu giống như telnet. Ai còn mong gì hơn nữa?
Làm thế nào để cố đến đó một cách chật vật
Chương trình rlogin có một phiên bản thấp hơn gọi là rsh (remote shell). Nó thực hiện một lệnh đơn giản trên một hệ ở xa:
rsh Able ls -R
Nếu bạn có một tên người sử dụng khác trên hệ đó, bạn cho nó cùng cách thức như cho rlogin:
rsh Clarissa -l tilden ls -R
Bạn không thể chạy chương trình toàn màn hình dùng rsh, mặc dù bạn có thể chạy các chương trình đọc các thông tin nhập mỗi lần một dòng. (Tôi sẽ không làm bạn chán với những lý do kỹ thuật mờ ám của chuyện này). Điều này có nghĩa là bạn có thể dùng các chương trình gởi thư mỗi lần một dòng như mail hay mailx, nhưng không được những chương trình đẹp như elm hay pine. Tuy vậy có một lối đi vòng đơn giản: dùng rlogin.
Sau cùng, rsh không bao giờ hỏi tên người sử dụng và mật khẩu. Nếu nó không thể nhận ra bạn đang dùng hosts.equiv hay.rhosts, nó chỉ không hoạt động được mà thôi.
Các file đính kèm theo tài liệu này:
- Tinhoc (1).DOC