SSH (Secure Shell)
SSH (Secure Shell) là một giao thức mạng dùng để thiết lập kết nối mạng một cách bảo mật. SSH hoạt động ở lớp trên trong mô hình phân lớp TCP/IP. Các công cụ SSH (như là OpenSSH, ...) cung cấp cho người dùng cách thức để thiết lập kết nối mạng được mã hoá để tạo một kênh kết nối riêng tư.
SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống này đến hệ thống khác.
SSH làm việc thông qua 3 bước đơn giản:
* Định danh host - xác định định danh của hệ thống tham gia phiên làm việc SSH.
* Mã hoá - thiết lập kênh làm việc mã hoá.
* Chứng thực - xác thực người sử dụng có quyền đăng nhập hệ thống.Xem ssh đã được cài đặt trên máy hay chưa.
#rpm -qa | grep ssh
Nếu chưa có, ta có thể cài đặt từ Internet bằng command sau:
#yum -y install ssh
Tất cả các tập tin cấu hình của ssh đều nằm trong thư mục /etc/ssh.Ta sẽ khảo sát sơ lược một số file trong thư mục ssh này:
+ moduli: Chứa một nhóm Diffie-Hellman được sử dụng cho việc trao đổi khóa Diffie-Hellman, nó thực sự quan trọng để xây dựng một lớp bảo mật ở tầng vận chuyển dữ liệu.Khi các khóa được trao đổi với nhau bắt đấu ở một phiên kết nối SSH, một share secret value được tạo ra và không thể xác định bởi một trong hai bên kết nối, giá trị này sau đó sẽ được dùng để cung cấp chứng thực cho host.
+ ssh_config: file cấu hình mặc định cho SSH client của hệ thống.
+ sshd_config: File cấu hình cho sshd deamon.
+ ssh_host_dsa_key: DSA private key được sử dụng với sshd deamon.
+ ssh_host_dsa_key.pub: DSA public key được sử dụng bởi sshd deamon.
+ ssh_host_key: RSA private key được sử dụng bởi sshd deamon cho phiên bản 1 của giao thức SSH.
+ ssh_host_key.pub: RSA public key được sử dụng bởi sshd deamon cho phiên bản 1 của giao thức SSH.
+ ssh_host_rsa_key: RSA private key được sử dụng bởi sshd deamon cho phiên bản 2 của giao thức SSH.
+ ssh_host_rsa_key.pub: RSA public key được sử dụng bởi sshd deamon cho phiên bản 2 của giao thức SSH.
Password Authentication:
Ta sẽ cấu hình SSH server, sao cho có thể login vào từ client là windown.Phương thức chứng thực ở đây là Password Authentication.
#vi /etc/ssh/sshd_config
và thay đổi những nội dung sau
Nếu bạn muốn truy cập ssh từ một số user chỉ định, bạn thêm vào dòng sau
AllowUsers user1 user2 user3
Khởi động dịch vụ sshd bằng commad sau:
#service sshd start
Ta có thể dùng một ứng dụng, có thể login vào ssh server từ windown.Ở đây, ta sẽ sử dụng Putty.
Ở đây, ta sẽ nhập vào IP của ssh server và Open nó.
Sau khi Open, sẽ xuất hiện một terminal console dưới đây.Nhập user và password.Và user ROOT đăng nhập vào hệ thống được chứng thực bằng Password Authentication.
Keys Authentication:
Ở trường hợp này, ta sẽ cấu hình SSH server, chứng thực người dùng thông qua khóa mà không phải chứng thực thông qua mật khẩu như trường hợp trên.
Ở đây, ta sẽ tạo một private key cho client và public key cho server.
Tiếp theo, ta sẽ login vào user mà ta muốn cấu hình cho Keys Authentication.
Ta tạo private key cho user ronaldo bằng commad sau:#ssh-keygen -t -rsa
Mặc định private key và public key sẽ được saved vào home dir của user.Cụ thể ở đây là
/home/ronaldo/.ssh/id_rsa ---> private key.
/home/ronaldo/.ssh/id_rsa_pub ---> public key.Tiếp theo, ta thực hiện một số lệnh sau.
#vi id_rsa
Copy toàn bộ nội dung trong file này, và lưu vào một file đặt ở client windown với tên là private key
Sau đó, ta chuyển qua người dùng root và edit lại file sshd_config với nội dung sau
Khởi động lại dịch vụ sshd
#service sshd restartTiếp theo, ta load Puttygen .Và chạy nó ở windown client.Giao diện của Puttygen xuất hiện như hình sau.
Ta làm theo hướng dẫn sau để load private key
Sau đó, chọn đường dẫn lưu file private key mà ta đã save ở windown client ở trên.
Đánh vào password mà ta đã tạo ra trong quá trình tạo key cho user ronaldo ở trên.
Xuất hiện thông báo import key thành công.Bấm "Save private key" với tên là sshkey.ppk
Mở PuTTY và chuyển tới trường Auth và chọn file sshkey.ppk mà ta đã lưu ở trên.
Tiếp theo, ta quay lại trường Session và nhập vào IP của ssh server.Nhập vào user mà ta đã cấu hình chứng thực bằng Keys Authentication.
User ronaldo login thành công bằng phương thức chứng thực Keys Authentication.