HMH's Blog

Kết nối từ xa với Linux sử dụng ssh.

Posted by hmha trên Tháng Chín 13, 2008

SSH-Secure Shell: là một protocol để kết nối an toàn với một máy tính khác qua mạng. Vâng, quan trọng là an toàn.

  • Cài đặt OpenSSH trên debian:

# apt-get install ssh
Sau khi cài đặt thành công bạn có thể thực hiện kết nối từ *BSD, Linux… và Windows vào server Linux. Với client là Windows tôi dùng putty.
Nếu bạn không dùng Debian, hãy nói với tôi, tôi sẽ chỉ cho bạn cách cài OpenSSH trên hệ thống của bạn.
Tập tin cấu hình ssh server trên debian là: /etc/ssh/sshd_config.
Để kết nối tới server chúng ta sử dụng lệnh:
$ssh -p 8888 debian@192.168.1.1
hãy nhập mật khẩu của người dùng debian và bạn đã trên máy 192.168.1.1. Trong câu lệnh trên -p 8888 là cổng để kết nối, tham số này được xác định trong tập tin cấu hình ssh server: /etc/ssh/sshd_config.
Tuy nhiên, bạn là một người ưu thích X, bạn muốn chạy các ứng dụng như pidgin, gaim … thì phải làm sao? Đơn giản, trước hết hãy bảo đảm trong tập tin cấu hình của server có chứa đoạn sau:
X11Forwarding yes
X11DisplayOffset 10

sau đó cũng sử dụng câu lệnh trên chỉ thêm một tham số là -X:
$ssh -p 8888 -X debian@192.168.1.1
nhập mật khẩu vào và làm những gì bạn muốn:
$pidgin &
$gaim &
...

hãy nhớ rằng bạn đang làm việc với pidgin, gaim … trên máy ở xa đấy nhé.

  • Thiết lập danh sách người dùng, host được phép truy cập từ xa:

Ví dụ sau cho phép người dùng debian và cấm người dùng naibed.
AllowUsers debian
DenyUsers naibed

(thêm vào tập tin cấu hình của server)

  • Sao chép dữ liệu an toàn qua ssh:

$scp file.txt debian@192.168.1.1:~/
Với câu lệnh trên tập tin file.txt trên client sẽ được copy đến thư mục cá nhân của người dùng debian trên server ở xa.
$scp debian@192.168.1.1:~/file.txt .
Còn trong trường hợp này tập tin file.txt của người dùng debian trên server ở xa sẽ được copy về thư mục hiện tại cuả client.

  • Kết nối không mật khẩu:

ssh cung cấp cho chúng ta một phương pháp kết nối khác đó là không cần mật khẩu mà sử dụng một cặp khoá công khai và riêng tư. Trước hết hãy tạo cặp khoá đó trên máy client. Sử dụng thuật toán dsa.

$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
93:b6:94:f0:45:34:4d:2b:12:d7:df:17:51:22:50:cf user@192.168.1.3
The key's randomart image is:
+--[ DSA 1024]----+
|        ..**+ ..+|
|         + .o= o |
|      . . o ..E..|
|       o = .  . o|
|        S       .|
|       o o       |
|        .        |
|                 |
|                 |
+-----------------+

Sau khi quá trình kết thúc 2 tập tin được tạo ra trong ~/.ssh là:
-rw------- 1 user client 672 Сен 14 13:20 id_dsa
-rw-r--r-- 1 user client 603 Сен 14 13:20 id_dsa.pub

Tiếp theo hãy copy khoá công khai của bạn lên server: id_dsa.pub.
$ scp -P 8888 ~/.ssh/id_dsa.pub debian@192.168.1.1:.ssh/authorized_keys
Tập tin authorized_keys dùng để kiểm tra khi ta muốn kết nối. Bây giờ để kết nối đến server ta chỉ cần thực hiện lệnh:
$ ssh -p 8888 debian@192.168.1.1

Một bình luận to “Kết nối từ xa với Linux sử dụng ssh.”

  1. […] mè khác, sẽ tiện lợi hơn nếu bạn muốn tải dữ liệu khi ở xa nhà thông qua ssh. Cài đặt CTorrent trên Debian rất đơn giản: # apt-get install […]

Bình luận về bài viết này