Cách sử dụng SSH trong Linux

05/12/2023

Nếu bạn cần sử dụng SSH trong Linux để quản lý từ xa các máy tính khác, hướng dẫn này sẽ hướng dẫn bạn cách thực hiện điều đó.

jishbtjr.png

Trong bối cảnh kết nối ngày nay, khả năng quản lý máy tính từ các vị trí địa lý khác nhau đã phát triển từ sang trọng đến cần thiết. Có một số cách để thực hiện việc này, tùy thuộc vào hệ điều hành đang sử dụng. Đối với các hệ thống dựa trên Linux, cách phổ biến nhất và an toàn nhất để quản lý PC của bạn từ xa là sử dụng SSH (hoặc Secure Shell).
 

Hãy cùng tìm hiểu cách sử dụng SSH trên Linux để kết nối với các máy tính khác.

Những bước đầu tiên cần thiết

Trước khi bạn có thể kết nối thành công với một máy tính Linux khác bằng SSH, bạn sẽ cần phải đáp ứng các điều kiện tiên quyết sau:

  1. Máy tính mục tiêu phải được bật nguồn và kết nối với mạng.
  2. Phần mềm máy khách và máy chủ cần thiết phải được cài đặt và kích hoạt.
  3. Bạn sẽ cần biết địa chỉ IP hoặc tên máy chủ của máy đích.
  4. Quyền thích hợp để truy cập từ xa phải được áp dụng.
  5. Cấu hình tường lửa trên máy tính từ xa phải cho phép kết nối đến.

Nếu bạn đang truy cập một máy tính Linux được điều hành bởi công ty lưu trữ web của bạn, họ nên chăm sóc tất cả những điều đó. Tiếp theo, bạn có thể phải thực hiện một số cài đặt phần mềm cơ bản trên máy tính Linux của riêng bạn.

Sử dụng SSH trên Linux: Hướng dẫn thực hành

Thiết lập kết nối SSH chức năng yêu cầu cả mô-đun phần mềm máy khách và máy chủ. OpenSSH phục vụ như một giải pháp thay thế mã nguồn mở chủ yếu cho các nền tảng Linux.

Để cài đặt máy khách OpenSSH thích hợp, bạn sẽ cần truy cập thiết bị đầu cuối trên máy cục bộ của mình. Lưu ý rằng các hệ thống Ubuntu thiếu máy chủ SSH được cài đặt sẵn.

Cài đặt máy khách OpenSSH

Trước khi đi sâu vào quá trình cài đặt, bạn nên kiểm tra để đảm bảo rằng máy khách SSH chưa có ở đó. Để làm điều đó, chỉ cần mở một cửa sổ terminal. Bạn có thể tìm kiếm "thiết bị đầu cuối" hoặc nhấn ctrl + alt + t trên bàn phím.

Khi ở trong cửa sổ thiết bị đầu cuối của bạn, hãy kiểm tra sự hiện diện của máy khách SSH bằng cách nhập như sau:

$ ssh

Nếu máy tính Linux đã cài đặt máy khách SSH, bạn sẽ thấy thông tin sau cuộn trên màn hình.

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command [argument ...]]

Thay vào đó, nếu bạn nhận được khiếu nại về việc không tìm thấy tệp, bạn sẽ cần tiếp tục cài đặt máy khách OpenSSH. May mắn thay, điều này là đủ đơn giản.

Trên Ubuntu và các cài đặt dựa trên Debian khác, chỉ cần chạy lệnh sau trong Terminal:

$ sudo apt install openssh-client

Nếu bạn đang chạy Fedora hoặc một bản phân phối khác sử dụng yum thay vì apt, chỉ cần chạy lệnh này:

$ sudo yum -y install openssh-clients

Các hệ thống Fedora mới hơn có thể sử dụng dnf thay thế. Nếu điều đó nghe có vẻ giống bạn, lệnh ma thuật là:

$ sudo dnf install -y openssh-clients

Làm theo hướng dẫn trên màn hình và bạn sẽ sẵn sàng sử dụng ngay lập tức.
 

Bắt đầu kết nối SSH

Khi bạn đã chắc chắn rằng máy khách SSH được cài đặt trên máy tính Linux của mình, đã đến lúc khởi động kết nối đầu tiên đó. Trong khi bạn vẫn đang ở trong cửa sổ terminal, hãy đưa ra lệnh sau:

$ ssh username@host_ip_address

Nếu tên người dùng khớp trên các máy cục bộ và từ xa, chỉ cần nhập:

$ ssh host_ip_address

Lần đầu tiên bạn kết nối, bạn sẽ được chào đón bằng một lời nhắc hỏi bạn có muốn tiếp tục kết nối với máy tính không xác định hay không. Tại thời điểm này, gõ yes và tiếp tục.

Nhập mật khẩu của bạn, hiểu rằng bạn sẽ không nhận được bất kỳ phản hồi nào trên màn hình trong khi nhập. Sau khi hoàn tất, bạn nên đăng nhập vào máy chủ từ xa và có thể bắt đầu thực hiện bất kỳ tác vụ nào bạn cần thực hiện trên máy tính đó ngay từ đầu.

o82gm0x4.png

Hiểu SSH: Tổng quan cấp cao

Secure Shell, hoặc SSH - đôi khi được ký hiệu là Secure Socket Shell - là một giao thức cho phép kết nối an toàn với các máy chủ hoặc máy tính từ xa thông qua giao diện dựa trên văn bản.

Khi xác thực kênh SSH an toàn, phiên shell sẽ khởi tạo, cho phép tương tác dòng lệnh từ máy cục bộ của bạn.

Giao thức này nổi tiếng và được yêu thích bởi các quản trị viên hệ thống và mạng, cũng như bất kỳ ai cần quản lý máy từ xa an toàn.

Cơ chế của chức năng SSH

Thiết lập kênh SSH yêu cầu sự hợp tác của hai thành phần quan trọng: ứng dụng phía máy khách và đối tác phía máy chủ của nó. Ứng dụng khách khởi tạo kết nối bằng cách cung cấp thông tin đăng nhập máy chủ từ xa.

Nếu được xác minh, phần mềm sẽ tạo ra một kênh được mã hóa giữa hai máy tính. Trên máy từ xa, một trình nền SSH liên tục quét một cổng TCP/IP được chỉ định cho các yêu cầu kết nối tiềm năng.

Khi nhận được, daemon truyền tải các khả năng phần mềm và giao thức của nó và cả hai thực thể trao đổi dữ liệu nhận dạng. Một phiên được mã hóa xảy ra sau đó nếu thông tin đăng nhập khớp, chủ yếu thông qua giao thức SSH phiên bản 2.

Sử dụng SSH nâng cao: Lưu trữ khóa mã hóa của bạn để tránh nhập mật khẩu

Bây giờ, giả sử bạn muốn tránh phải nhập mật khẩu mỗi khi đăng nhập vào máy chủ từ xa. Để kết nối an toàn, không cần mật khẩu với máy tính khác, khóa SSH (Secure Shell) là không thể thiếu.

Bạn có thể đã sở hữu một chiếc chìa khóa như vậy, nhưng tạo ra một chiếc chìa khóa mới không bao giờ là một ý tưởng tồi. Bắt nguồn từ máy tính cục bộ của bạn, khóa SSH được chia thành hai yếu tố riêng biệt: khóa bí mật, riêng tư - không bao giờ được tiết lộ - và đối tác công khai của nó. Khóa công khai này sau đó được phổ biến trên bất kỳ hệ thống từ xa nào bạn cần đăng nhập.
 

Một số người có thể chọn một khóa SSH cho vô số ứng dụng, từ đăng nhập hệ thống từ xa đến GitLab. Một chìa khóa để cai trị tất cả, bạn có thể nói. Tuy nhiên, cách tiếp cận của tôi chi tiết hơn. Tôi sử dụng các phím khác nhau, mỗi phím được thiết kế cho một tập hợp con các tác vụ cụ thể.

Ví dụ: tôi sử dụng khóa chuyên dụng cho các máy cục bộ trong mạng gia đình của mình, một khóa độc quyền khác cho các máy chủ web dưới sự quản lý của tôi và một khóa duy nhất khác để tương tác với các máy chủ Git.

Tạo cặp khóa SSH mới

Đây là cách bạn có thể tạo một khóa SSH mới và sau đó sao chép nó vào máy chủ từ xa mà bạn muốn sử dụng. Đầu tiên, tạo khóa bằng ssh-keygen.

$ ssh-keygen -t ed25519 -f /.ssh/lan

Flag -t chỉ định loại khóa cần tạo, đảm bảo mã hóa cao hơn mặc định. Cờ -f đặt tên tệp và vị trí của khóa.

Khi bạn đưa ra lệnh này, bạn sẽ được nhắc tạo mật khẩu cho khóa. Mật khẩu đó, nếu bạn đặt nó, vẫn là cục bộ và không được gửi qua mạng.

Gửi khóa SSH của bạn đến máy chủ từ xa

Tiếp theo, bạn sẽ cần gửi khóa bảo mật đó đến máy chủ từ xa. Để thực hiện điều này, chỉ cần đưa ra lệnh này:

$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address

Bạn sẽ được nhắc nhập mật khẩu đăng nhập của mình trên máy chủ từ xa. Tuy nhiên, sau khi quá trình hoàn tất, khóa của bạn sẽ được cài đặt trên máy tính đó.

9luv742c.png

Bạn nên kiểm tra bằng cách cố gắng đăng nhập vào máy tính từ xa. Khi bạn thực hiện ssh vào máy chủ từ xa một lần nữa, bạn sẽ được yêu cầu nhập cụm mật khẩu cho khóa, nếu bạn đặt một khóa. Đây không phải là mật khẩu đăng nhập của bạn, hãy nhớ. Đó là cụm mật khẩu dành riêng cho khóa SSH đó.

Trên nhiều bản phân phối, bao gồm Linux, lời nhắc cụm mật khẩu này sẽ mở ra dưới dạng hộp thoại. Như bạn có thể thấy từ ví dụ bên dưới, bạn có thể chọn một hộp để máy tính Linux nhớ cụm mật khẩu. Tuy nhiên, điều đó sẽ làm giảm tính bảo mật của khóa.

5oywkv68.png

Khi bạn đã nhập cụm mật khẩu cho khóa SSH của mình, bạn sẽ không phải nhập lại cho đến khi bạn đăng xuất khỏi máy tính cục bộ.

Các cách khác để sử dụng SSH

Với tất cả những điều đó được thực hiện, bạn nên sử dụng SSH để truy cập từ xa vào các máy tính dựa trên Linux hoặc Unix khác. Tất nhiên, đó không phải là tất cả về việc truy cập dấu nhắc lệnh.

SSH cũng bao gồm một cách an toàn để chuyển các tập tin giữa các máy tính mà không cần sử dụng FTP. Bạn có thể sử dụng Secure Copy, hoặc scp, để di chuyển các tập tin xung quanh. Nếu bạn là người dùng Windows 11 và cần sử dụng SSH, bạn thật may mắn vì máy khách đã được cài đặt sẵn. Bạn thậm chí có thể tạo và sử dụng các khóa SSH trong Windows 11.

Theo nguồn www.groovypost.com