SSH: Secure Shell,
là giao thức mạng được mã hoá, hiểu một cách đơn giản, SSH cung cấp một kết nối mạng an toàn giữa 2 thiết bị nhờ xác thực và mã hoá, tương tự như TLS/SSL. (wikipedia) Show Hiểu đơn giản, nếu bạn muốn kết nối và điều khiển một máy chủ Linux từ xa (remote management), SSH cung cấp một phương thức an toàn để trao đổi dữ liệu giữa bạn (client) và máy chủ (server) còn OpenSSH sẽ cung cấp các tiện ích cần thiết để bạn thực hiện việc kết nối và quản trị (thông qua thực hiện lệnh điều khiển, quản lý tập tin – file). Từ giờ, để cho ngắn gọn, ta sẽ gọi giải pháp này là SSH. Bạn cần những gì?Để quản trị từ xa SSH các thiết bị như Raspberry Pi chạy Raspbian, SBC chạy Armbian hay SSH addons trên Hass (Hass.io trước đây), bạn cần:
Termius trên MacOS. Để tạo kết nối đến máy chủ SSH, ta cần biết địa chỉ IP hay
domain (tên miền) của nó – thông thường gọi là host và cổng kết nối (mặc định là 22 nhưng có thể thay đổi tuỳ vào cấu hình máy chủ) – thông thường gọi là port. Nếu bạn kết nối vào máy chủ trên cùng mạng nội bộ – lan và máy chủ cũng như bộ định tuyến/router có hỗ trợ dịch vụ mDNS (hầu hết đều có) thì bạn có thể sử dụng tên miền nội bộ của máy chủ thay cho địa chỉ IP, ví dụ như raspberrypi.local.
2. Trên PuTTY, nhập domain/IP vào ô Host, và cổng kết nối vào ô Port, chọn SSH ở mục loại kết nối – connection type rồi bấm Open. PuTTY sẽ hỏi tên tài khoản sau khi thực hiện kết nối thành công. Đăng nhập vào tài khoản thông qua SSHBán sẽ cần một tài khoản quản trị – admin hay người dùng – user sẵn có trên máy chủ để thực hiện đăng nhập. Bạn có thể đăng nhập bằng tài khoản/mật khẩu hay tài khoản/khoá SSH (SSH key). Trong đó SSH key là phương thức được cho là an toàn hơn nhưng đòi hỏi thêm một số thao tác (và do vậy vẫn cần mật khẩu) trước khi có thể đăng nhập được. SSH key cũng hữu ích khi bạn muốn tự động đăng nhập vào một SSH server mà không đòi hỏi phải thao tác thủ công (như nhập mật khẩu). * Tuỳ vào cách cấu hình của máy chủ SSH, không phải mọi user đều có thể đăng nhập SSH Đăng nhập bằng mật khẩuTrên Putty, sau khi kết nối thành công, bạn nhật tên tài khoản – user rồi Enter, sau đó nhập tiếp mật khẩu. Trên Terminal, nhập trực tiếp mật khẩu khi được hỏi. Đăng nhập bằng SSH KeyĐây là cách được cho là an toàn hơn so với mật khẩu do SSH key thông thường có độ dài 2048 hoặc 4096 bytes (kí tự), so với một mật khẩu thông thường chỉ từ 8 đến 12 kí tự. SSH key cũng phức tạp hơn và trong quá trình xác thực, SSH key không cần phải được truyền đi từ client đến (OpenSSH) server. SSH Key hay Password an toàn hơnKey Phức tạp và dài, khó đoán Không cần truyền đi khi đăng nhập Không hết hạn Lưu trữ trên máy khách Password Đơn giản và ngắn, dễ đoán Phải được truyền đi khi đăng nhập Có hết hạn Lưu trữ trên máy chủ Có thể thấy, trong môi trường chuẩn thông thường (dành cho một máy chủ Linux), sử dụng SSH key an toàn hơn so với sử dụng mật khẩu. Để đăng nhập được bằng SSH Key, trước tiên bạn cần tạo ra key này trên máy tính dùng đăng nhập – client. Trên Terminal (MacOS/Ubuntu) ssh-keygen -t rsa -f ~/.ssh/id_rsa Với id_rsa là tên khoá, bạn có thể đổi tên tuỳ ý. Khoá này được lưu tại thư mục người dùng của bạn, trong thư mục ẩn .ssh. Enter 2 lần khi được yêu cầu nhập mật khẩu của khoá – passphrase để bỏ trống hoặc nhập passphrase. Một số SSH server hoặc client không chấp nhận passphrase, do vậy ở đây chúng tôi khuyên bạn nên để trống. Trên Putty (Windows) Sử dụng ứng dụng PuTTYgen để tạo SSH Key. Bạn ở ứng dụng lên rồi bấm vào Generate, sau đó di chuột ngẫu nhiên cho đến khi thanh chạy màu xanh đầy để tạo key. Tiếp theo bấm lưu file đã tạo vào ổ cứng. Ví dụ lưu vào Desktop với tên ssh_key.ppk. Bạn cũng Copy và lưu lại phần nội dung trong ô Key để dùng trong bước sau. Đăng nhập SSH bằng key. Trên Terminal (MacOS/Ubuntu) Ta cần copy key đã tạo vào máy chủ, như sau Nhập vào mật khẩu đăng nhập SSH của bạn. Sau khi thành công có thể đăng nhập như bình thường, lần này bạn sẽ không cần nhập mật khẩu nữa. Trên Putty (Windows) Trước tiên cần đăng nhập SSH vào máy chủ như bình thường, sử dụng tên và mật khẩu. Sau khi đăng nhập, nhập lệnh sau: nano ~/.ssh/authorized_keys Tiếp theo hãy tạo một dòng mới rồi dán – paste key bạn đã copy ở trên vào (lưu ý là key bắt đầu bằng ssh-rsa, không phải file ssh_key.ppk đã lưu). Tiếp theo ấn Ctrl-X, Y và Enter để lưu file. Thoát ra khỏi phiên SSH này bằng lệnh exit. Sau đó trong PuTTY, thêm file ssh_key.ppk vào như dưới đây. Ấn vào Browse rồi tìm file ssh_key.ppk đã lưuTừ sau này, bạn có thể đăng nhập sử dụng key này mà không cần nhập mật khẩu. Một số lệnh thông dụng trong LinuxLệnh <command> 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ý nghĩa/Cách dùng 1. Liệt kê chi tiết tất cả thư mục, file con trong /abc 2. Chuyển đến thư mục /abc 3. Đọc nội dung file xyz.123 4. Sửa nội dung file xyz.123 5. Thực thi <command> với quyền root 6. Copy file xyz.123 đến thư mục /abc 7. Chuyển file xyz.123 đến /abc/ 8. Tải file từ liên kết http://konnected.vn/index.html và lưu thành xyz.123 9. Chạy đoạn mã xyz.sh tại /abc/ bằng trình biên dịch bash 10. Sử dụng quyền root để cập nhật danh sách phần mềm 11. Sử dụng quyền root để cập nhật tất cả phần mềm Về Bài viết Bài viết chưa đầy đủ hoặc bạn còn có ý kiến khác? Bạn có thắc mắc và cần thêm thông tin. Vui lòng đăng ý kiến vào mục bình luận để tác giả và Team có thêm thông tin cải thiện chất lượng bài viết. Chúng tôi sẽ giải đáp các thắc mắc ngay trong mục bình luận để giúp được nhiều đọc giả với cùng vấn đề hơn hoặc chúng tôi sẽ trả lời trong một bài viết riêng. Trân trọng cảm ơn bạn! Cảm ơn bạn đã xem bài viết này! konnectED Team. |