Tải bản đầy đủ (.pdf) (27 trang)

Truy cập từ xa - Linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.26 MB, 27 trang )

1
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Truy cập từ Windows . . . . . . . . . . . . . . . . . . . . 3
Putty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
XDMCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
XWinlogon Windows X Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Cấu hình trên máy Unix/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
VNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Truy cập từ Unix/Linux . . . . . . . . . . . . . . . . . 21
Rdesktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Terminal Server Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SSH và X forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
XDMCP Chooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
VNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Kết thúc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2
Giới t hiệu
Nhu cầu kết nối từ xa (từ Unix/Linux tới Windows, và ngược lại) với đầy đủ các chức
năng đồ họa đã trở nên khá cần thiết, đặc biệt trong các trường hợp như hỗ trợ khách
hàng từ xa, thiết định hệ thống mà bắt buộc phải dùng GUI Bài này hướng dẫn sơ lược
về lý thuyết SSH (Secure SHell) cũng như cách sử dụng một số chương trình để phục vụ
mục đích kết nối từ xa.
SSH là một giao thức cho phép các máy tính có thể giao tiếp với nhau thông qua các
kết nối được mã hóa. Giao thức này cho phép 1 SSH client kết nối đến một SSH server
(remote machine) để thực thi các lệnh trên SSH server.
Một số ví dụ về ứng dụng của SSH:
• Kết nối vào môi trường Unix từ máy MS Windows.
• Làm việc từ xa.
• Copy file từ một máy đến một máy khác, mã hóa dữ liệu trên đường truyền để đảm
bảo độ bảo mật.


• Đọc các trang web bị chặn, dùng tunnel.
Bài hướng dẫn này được thực hiện bởi , bổ sung và chuyển sang ấn
bản PDF bởi nhatban.net. Phần về VNC có tham khảo rất nhiều trong Bản tin mã nguồn
mở của VnOSS.
3
Truy cập từ Windows
 Putty
Putty là một SSH client miễn phí chạy trên nền MS Windows (chạy được trên cả Unix)
cho phép kết nối vào môi trường Unix để làm việc như một terminal.
Putty có thể download tại đây
Khi chạy putty thì chương trình sẽ xuất hiện giống như hình dưới đây:
Để kết nối vào máy Unix, nhập địa chỉ IP hoặc hostname vào thanh địa chỉ của putty:
Lần đầu tiên kết nối đến server, putty sẽ đưa ra một thông báo như sau:
4
Bạn chỉ việc nhấn Yes / (Y) để tiếp tục kết nối.
Sau khi nhập mật khẩu, bạn sẽ vào màn hình console với dấu nhắc lệnh để có thể thao
tác trên môi trường Unix:
Cách cấu hình cho putty:
Trong trường hợp bạn kết nối đến một server và gặp tình trạng tự động bị disconnect
do time-out, hãy chọn tính năng keep-alive như sau:
Chọn mục Connection ở phía bên trái, sau đó đánh dấu check vào mục Enable TCP keep
alives và chọn thời gian time-out ở mục trên cùng. Trong ví dụ ở đây , thời gian được
chọn là 60 giây. Như vậy cứ mỗi 60 giây, putty sẽ gửi một NULL event đến cho server
để tránh tình trạng ngắt kết nối do time-out.
5
Puttygen:
Ngoài cách login bằng username/password, ssh cung cấp một cách login khác là dùng
public/private key để login.
Puttygen là chương trình tạo key dùng để truy cập vào máy Unix bằng putty mà không
cần phải dùng mật khẩu. Chương trình puttygen khi chạy có nút generate như hình dưới

đây. Hãy nhấn nút Generate để tạo key.
Trong quá trình tạo key, hãy di chuyển chuột trong vùng cửa sổ của puttygen để tạo các
dữ liệu ngẫu nhiên. Kết t húc quá trình tạo key sẽ hiển thị một hộp thông báo như hình
kế bên. Phía trên cùng là public key (khóa công khai), khóa này dùng để lưu trên server.
Chú ý phía dưới có mục Key passphrase, là mã bảo vệ cho private key (khóa riêng tư),
mã này để bảo vệ cho bạn trong trường hợp có ai đó cũng có được private key của bạn
thì cũng phải có mã bảo vệ nữa thì mới login vào được.
6
Một trong những lý do để dùng public/private key để login vào mạng là đảm bảo độ
an toàn hơn về bảo mật so với dùng username/password. Dữ liệu truyền di trên mạng
không phải là username/password mà là một chuỗi các ký tự được mã hóa bằng private
key của bạn.
Chọn Save public key để lưu public key, dùng để lưu trên server cần login.
Chọn Save private key để lưu private key, putty sẽ dùng khóa này để login vào server.
Ví dụ tôi lưu tên file là vitcon.ppk
Cài đặt key:
Dùng chuột chọn hết vùng ký tự của public key và nhấn Ctrl-C để copy. Sau đó dùng
putty để login vào server.
7
Tại $HOME directory, kiểm tra xem có thư mục .ssh chưa. (Lưu ý dấu chấm phía trước,
có thể bạn sẽ không thấy thư mục này với lệnh ls, hãy thử với lệnh ls – a). Nếu chưa có
thư mục này thì hãy tạo thư mục với lệnh mkdir ~/.ssh
Sau đó chuyển vào thư mục này với lệnh cd ~/.ssh và tạo một file có tên là authorized_keys
và chép public key vào file này. Một trong những cách làm đó như sau: dùng lệnh touch
authorized_keys để tạo file. Sau đó dùng lệnh echo ‘‘xxx’’ authorized_key để
chèn key vào file. “xxx” là chuỗi public key. Với putty, phím phải của con chuột có tác
dụng như lệnh paste trong Windows, cho nên ở giữa hay dấu nháy “”, bạn chỉ cần nhấn
chuột phải để paste chuỗi key vào là xong.
Có thể chọn các option cho việc tự động login như phần Auth, chọn đường dẫn cho
private key, phần Connection->Data, nhập tên username cho phần auto-login username.

8
Sau đó lưu lại trong session. Lần sau chạy putty chỉ cần double click vào session đã lưu
là có thể tự động login vào máy remote ngay được.
9
10
 XDMCP
XDMCP, viết tắt bởi chữ “X Display Manager Control Protocol” là một giao thức mạng.
Giao thức này cung cấp một phương cách chạy X-Terminal trên PC của bạn.
Nói một cách khác, giống như remote desktop trên MS Windows, bạn có thể login vào
từ một máy ở xa bằng giao diện đồ họa và làm việc y như làm việc ngay trên máy chủ.
Giao thức này sử dụng X Server trên máy local cung cấp cho người dùng một giao diện
tương tác giữa display hardware (chuột, bàn phím, màn hình) và môi trường đồ họa
(desktop environment) theo đúng mô hình client/server. Nghĩa là, mọi công việc tính
toán, xử lý đều được thực hiện trên máy chủ và sẽ được chuyển kết quả hiển thị về cho
máy local. X Server tại máy local sẽ đảm nhận việc hiển thị và tương tác với người dùng
thông qua display hardware tại máy local.
Đây là một lựa chọn cho cách làm việc từ xa. Bạn có thể ngồi một chỗ và truy cập vào
bất kỳ máy nào trong mạng như thể ngồi ngay tại chính máy đó vậy. Hơn nữa, bạn có
thể tận dụng một máy cấu hình yếu để làm việc bởi công việc của nó chỉ là hiển thị kết
quả và cho phép người dùng tương tác với hệ thống, còn tất cả công việc xử lý đều được
thực hiện trên máy chủ.
Một số phần mềm Win32 chạy XDMCP: XWinlogon, Hummingbird’s Exceed, Reflection
X, X-Win32, X-ThinPro.
 XWinlogon Windows X Server
Được xây dựng dựa trên môi trường Cygwin cho MS Windows, đây là một giao diện
cho X Server để người dùng có thể kết nối đến một máy Unix/Linux từ một máy MS
Windows. Phần mềm này hỗ trợ SSH, XDMCP, RSH, OpenGL· · · và hoàn toàn miễn phí.
Phần mềm xwinlogon có thể được download từ đây
Sau khi cài đặt và chạy, chương trình có giao diện như hình dưới đây. Ở phần connection
Type, chọn XDMCP, phần bên phải, nhập tên hoặc IP của máy muốn truy cập. Và nhấn

nút Connect
Một số trường hợp khi chạy XWinlogon mà không thể login vào máy chủ được, cần
kiểm tra lại xem đã cấu hình cho firewall của Windows cho phép chương trình hoạt
động chưa. Và kiểm tra xem firewall từ bên máy chủ đã cho phép cổng 177 hoạt động
chưa.
Cấu hình trên máy Unix/Linux
Trước hết vào menu Desktop -> System Settings -> Security Level để cho cấu hình cho
firewall mở cổng 177 cho XDMCP:
Cấu hình cho phép sử dụng giao thức XDMCP:
11
Lựa chọn các thông số về security. Để từ màn hình login ta có thể login đến một máy
remote khác, đánh dấu check box của mục Allow running XDMCP chooser from the
login screen.
Chạy X application với SSH:
12
Về phía server, chú ý cấu hình để ssh ser ver cho phép tính năng X11 forwarding. Trong
file /etc/ssh/sshd config, thiết lập Option X11Forwarding là “yes”.
13
Sau đó restart lại SSH service.
14
Bây giờ, từ máy Windows ta chạy các ứng dụng trên máy chủ thông qua giao thức SSH.
Chọn Connection Type là SSH như hình bên dưới. Phía bên phải của hộp thoại, nhập
tên hoặc IP của máy chủ, username và nhập lệnh muốn thực thi vào mục command.
Với Connection type là giao thức SSH, ta có thể chạy bất kỳ ứng dụng nào của máy chủ
Unix/Linux. Trong mục nhập “Command” của XWinlogon, ta có thể nhập lệnh startkde
để chạy môi trường đồ họa KDE, gnome-session để chạy môi trường Gnome, hoặc chạy
các ứng dụng riêng rẽ như firefox, gaim· · · trên máy MS Windows.
15
16
 VNC

Thuật ngữ VNC có nghĩa là Virtual Network Computing. Đó là một phần mềm cho phép
xem và vận hành một máy tính ("server") bằng cách dùng một chương trình đơn giản
("viewer") trên một máy tính khác từ bất kì chỗ nào trên Internet. Hai máy tính đó có
thể không cùng chủng loại: ví dụ như bạn có thể dùng VNC để xem một máy Linux tại
công ty từ máy chạy Windows tại nhà của bạn.
Mô hình hoạt động của VNC
Trên FC1, FC2, FC3, FC4, RHEL4, đã có sẵn gói VNC 4.0. Nếu chưa cài đặt chỉ cần gõ
lệnh sau đây để cài đặt vnc-server:
# yum install vnc-server
Sau đây giả sử bạn có 2 máy tên là www.nhatban.net (chạy RHEL4) và dell.nhatban.net
(chạy Windows XP). Trên máy www sẽ có VNC server chạy, do đó phải cài đặt gói vnc-
server. Trên máy dell, chúng ta sẽ dùng VNC viewer để kết nối với www, do đó trên đó
phải cài đặt VNC for Windows. Giả sử bạn có tài khoản user trên máy chủ VNC www.
Sau đây là các bước tóm tắt để dùng VNC:
• Trên tài khoản admin ở www:
$ mkdir $HOME/.vnc
• Tạo mật mã kết nối cho VNC:
17
$ vncpasswd
Password: xxxxx
Verify: xxxxx
• Chuẩn bị file xstartup trong $HOME/.vnc với nội dung như sau:
#!/bin/sh
[ -r \$HOME/.Xresources ] && xrdb $HOME/.Xresources
/usr/local/bin/icewm-session &
Trong ví dụ trên, trình quản lý cửa sổ icewm được dùng thay vì twm như mặc định
của VNC. Bạn cũng có thể thay bằng trình quản lý cửa sổ khác (fluxbox, pekwm, )
hay thậm chí KDE, GNOME hay XFCE cũng được.
Sau đó nhớ chmod 700 hoặc chmod 750 cho file đó.
• Chạy VNC trên máy www bằng lệnh:

[admin@www ~]$ vncserver
Sẽ thấy các thông tin sau:
New ’www.nhatban.net:1 (admin)’ desktop is www.nhatban.net:1
Starting applications specified in /home/admin/.vnc/xstartup
Log file is /home/admin/.vnc/www.nhatban.net:1.log
• Bên máy dell, khởi động chương trình VNC Viewer.
Nhập tên server với format dạng tên-máy:số-session, ví dụ www.nhatban.net:1
Nhập password (vừa thiết lập trên www)
18
Bạn đã login vào máy chủ Linux.
Login vào Linux từ Windows
Kiểu xác thực mặc định của VNC chỉ nên dùng trong các mạng LAN được bảo vệ. Với
các kết nối VNC qua internet, nhất là đối với các doanh nghiệp, thì yêu cầu kết nối an
toàn là điều bắt buộc. Một trong những phương pháp đó là dùng phối hợp với SSH.
Giả sử có 2 máy: máy A chạy server VNC và máy B chạy VNC viewer. Để thiết lập kết
nối an toàn dùng ssh giữa hai máy, cần có ssh server trên máy A và ssh client trên máy
B. Sơ đồ nguyên lý làm việc như sau:
Giả sử bạn đã chạy VNC server trên máy A trên cổng 5901. Cũng giả sử rằng ngay trên
máy A đó bạn đã có một server ssh hoạt động tốt.
Nếu máy B chạy Linux thì bạn tiến hành các bước sau:
Mở một terminal và chạy:
$ ssh -L 5902:localhost:5901 hostA
19
Các tham số trên có nghĩa là thiết lập kết nối ssh đến máy chủ A, đồng thời lắng nghe
trên cổng 5902 của máy B. Nếu có kết nối đến cổng 5902 của máy B thì chuyển qua cổng
5901 của máy A. Như đã minh họa trên sơ đồ ở trên, dữ liệu của VNC sẽ được kênh ssh
đảm nhiệm và do đó sẽ được mã hóa.
Sau khi kết nối ssh xong, trên một terminal khác chạy VNC viewer. Điểm chú ý ở đây là
thay vì chạy lệnh như thông thường:
$ vncviewer hostA:1

thì bây giờ dùng:
$ vncviewer localhost:2
Sau khi trả lời mật mã như thông thường thì kết nối VNC sẽ được thiết lập.
Nếu máy B là Windows thì dùng ssh client là putty.
20
21
Truy cập từ Unix/Linux
 Rdesktop
Là một Terminal client để remote desktop đến một máy MS Windows khác. Ví dụ muốn
connect đến máy có IP là 172.17.17.5, ta gõ lệnh
$ rdesktop -r sound 172.17.17.5
Option –r sound là tham số cho phép sử dụng được sound của máy tính từ xa. Tính
năng này cho phép ta nghe được nhạc khi chơi nhạc ở máy tính từ xa.
Ngoài ra, rdesktop cho ta khả năng điều chỉnh tham số về độ phân giải màn hình.
-f : fullscreen
-g : chọn độ phân giải.
Ví dụ ta chọn độ phân giải là 1024x768:
$ rdesktop -g 1024x768 -r sound 172.17.17.5
Với tham số -f, màn hình remote desktop sẽ chiếm tòan bộ màn hình. Nếu muốn trở lại
màn hình desktop của máy Linux, ta nhấn tổ hợp phím Ctrl-Alt-Enter
22
 Terminal Server Client
Tham khảo tại /> SSH và X forwarding
Ta có thể SSH đến một máy linux từ xa và chạy các ứng dụng đồ họa của máy từ xa đó
ngay trên máy local của mình. Trên một terminal window, gõ lệnh ssh truy cập đến một
máy Linux/Unix với tham số -X.
Ví dụ truy cập đến máy có IP là 192.168.0.10
$ ssh -l vitcon 192.168.0.10 -X
-l là chữ thường của ký tự L (dễ nhầm đó là ký tự số 1), chỉ định user truy cập. Mặc định
sẽ lấy tên user đang login của máy local.

Tham khảo thêm link sau đây để biết thêm chi tiết: HOWTO-X-forwarding
 XDMCP Chooser
Ngay tại màn hình login manager (GDM, KDM, hoặc XDM), trong ví dụ này là GDM,
chọn Actions và chọn mục Run XDMCP chooser sau đó nhấn nút OK. Màn hình desktop
sẽ chuyển sang một màn hình login, hiển thị các máy tính có thể login đang chạy trên
mạng, và một mục nhập để nhập địa chỉ IP của máy muốn login.
Sau khi đã nhập địa chỉ IP và chọn nút Connect, bạn sẽ truy cập đựơc đến màn hình
login manager của máy cần truy cập remote desktop.
23
XDMCP Chooser
24
 VNC
Muốn login vào Windows từ Unix/Linux, bạn cũng có thể dùng VNC.
• Khởi động VNC server trên Windows. Chú ý firewall của Windows, ở ví dụ này thì
Windows firewall được turn-off.
• Khởi động VNC viewer trên Linux, nhập tên server muốn login. Chú ý, không như
Linux, bạn chỉ cần nhập tên-máy, không cần số-session
• Nhập password (password này được set trên Windows, dùng GUI)
• Voilà, bạn đã login thành công.
Về VNC và SSH, xin mời tham khảo phần VNC cho Windows phía trên.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×