Triển khai SSH – Secure Shell

ssh | Multicontents

Triển khai Secure Shell

Secure Shell là một giao thức mở. Nó đã được thực hiện cho hầu hết các nền tảng máy tính. Việc triển khai mã nguồn mở OpenSSH là cách phổ biến nhất trên Linux, Unix và các hệ điều hành khác dựa trên Berkeley Software Distribution (BSD), bao gồm cả macOS của Apple.

OpenSSH đã được chuyển sang chạy trong Windows PowerShell bắt đầu từ năm 2015. Vào năm 2018, hỗ trợ OpenSSH tùy chọn đã được thêm vào Windows 10. Mặc dù SSH có thể truy cập trực tiếp theo mặc định trong hầu hết các hệ điều hành giống Unix, phiên bản OpenSSH đã chuyển của Microsoft phải được bật rõ ràng trong Windows Ứng dụng cài đặt.

PuTTY là một triển khai mã nguồn mở khác của SSH. Mặc dù nó hiện có sẵn cho Windows, macOS và Unix / BSD, PuTTY ban đầu được viết để chạy trên Windows. Nó từ lâu đã là một trong những lựa chọn hàng đầu để sử dụng SSH trên hệ thống Windows.

Hầu hết các triển khai của bộ SSH bao gồm ba tiện ích:

  1. slogin (đăng nhập an toàn)
  2. ssh
  3. scp (bản sao an toàn)

Đây là các phiên bản an toàn của các tiện ích Unix không an toàn trước đó: rlogin, rsh và rcp.

SSH sử dụng mật mã khóa công khai để xác thực máy tính từ xa và cho phép máy tính từ xa xác thực người dùng, nếu cần.

Hiện tại có hàng chục triển khai SSH có sẵn cho các nền tảng khác nhau và theo nhiều loại giấy phép nguồn mở và độc quyền.

Bạn có thể tham khảo bài viết về SSH

Security shell

Lệnh Secure Shell

Trong khi có các triển khai đồ họa của SSH, chương trình thường được gọi tại dòng lệnh hoặc được thực thi như một phần của tập lệnh. Tự chạy lệnh ssh , không có đối số như máy chủ đích hoặc ID người dùng, trả về danh sách các tham số và tùy chọn lệnh SSH.

Dạng cơ bản nhất của lệnh SSH là gọi chương trình và tên máy chủ đích hoặc địa chỉ Giao thức Internet (IP):

ssh server.example.org

Thao tác này sẽ kết nối với đích, server.example.org. Máy chủ đích sẽ phản hồi bằng cách nhắc nhập mật khẩu cho ID người dùng của tài khoản mà máy khách đang chạy. Nói cách khác, nếu ID người dùng đang sử dụng là jsmith , thì máy chủ từ xa sẽ yêu cầu mật khẩu được liên kết với tài khoản jsmith trên máy chủ từ xa.

Trong nhiều trường hợp, ID người dùng cho máy chủ từ xa sẽ khác, trong trường hợp đó, lệnh phải được cấp bằng ID người dùng máy chủ từ xa, như sau:

ssh remote_host_userID@server.example.org

SSH cũng có thể được sử dụng từ dòng lệnh để đưa ra một lệnh duy nhất trên máy chủ từ xa và sau đó thoát – ví dụ:

ssh example.org ls

Lệnh này thực hiện lệnh Unix ls , lệnh này liệt kê tất cả nội dung của thư mục hiện tại trên máy chủ từ xa. Mặc dù ví dụ này là nhỏ, nhưng nó chứng tỏ rằng SSH có thể được sử dụng để thực thi các lệnh thú vị hơn trên một máy chủ từ xa. Ví dụ, một lệnh có thể được tạo thủ công để khởi tạo một phiên bản máy chủ sẽ cấp cho máy từ xa quyền truy cập vào một tệp duy nhất – hoặc tài nguyên khác – và sau đó chấm dứt máy chủ sau khi tệp được truy cập bởi máy chủ từ xa được chỉ định.

Ngoài tệp thực thi ssh , SSH có các lệnh thực thi khác được sử dụng tại dòng lệnh cho các chức năng bổ sung, bao gồm các lệnh sau:

  • sshd khởi tạo máy chủ SSH, máy chủ này sẽ đợi các yêu cầu kết nối SSH đến và cho phép các hệ thống được ủy quyền kết nối với máy chủ cục bộ.
  • ssh-keygen là chương trình tạo cặp khóa xác thực mới cho SSH, có thể được sử dụng để tự động hóa đăng nhập, triển khai SSO và xác thực máy chủ.
  • ssh-copy-id là chương trình dùng để sao chép, cài đặt và định cấu hình khóa SSH trên máy chủ để tự động hóa đăng nhập và SSO không cần mật khẩu .
  • ssh-agent là một chương trình trợ giúp theo dõi các khóa nhận dạng và cụm mật khẩu của chúng – từ đó SSH lấy khóa mã hóa – và cho phép người dùng sử dụng khóa nhận dạng để đăng nhập vào các máy chủ khác nhau mà không cần nhập lại mật khẩu hoặc cụm mật khẩu.
  • ssh-add được sử dụng để thêm khóa vào tác nhân xác thực SSH và được sử dụng với ssh-agent để triển khai SSO bằng SSH.
  • scp là một chương trình được sử dụng để sao chép tệp từ máy tính này sang máy tính khác và là phiên bản rcp được bảo mật bằng SSH .
  • sftp là chương trình dùng để sao chép tệp từ máy tính này sang máy tính khác và là phiên bản ftp được bảo mật bằng SSH , Giao thức truyền tệp gốc. SFTP đã trở thành cơ chế ưa thích để chia sẻ tệp qua internet, thay thế cả FTP và FTP / S (FTP Secure), là một giao thức sử dụng FTP qua đường hầm SSL / TLS.

Secure Shell tunneling là gì?

SSH tunneling, còn được gọi là chuyển tiếp cổng SSH , là một kỹ thuật cho phép người dùng mở một đường hầm an toàn giữa máy chủ cục bộ và máy chủ từ xa.

Chuyển tiếp cổng SSH chuyển hướng lưu lượng mạng đến một cổng / địa chỉ IP cụ thể để một máy chủ từ xa có thể truy cập trực tiếp bởi các ứng dụng trên máy chủ cục bộ. Đích đến có thể nằm trên máy chủ SSH từ xa hoặc máy chủ đó có thể được định cấu hình để chuyển tiếp đến một máy chủ từ xa khác.

Đường hầm SSH là công cụ mạnh mẽ cho các quản trị viên CNTT, cũng như các tác nhân độc hại, vì chúng có thể chuyển một bức tường lửa doanh nghiệp mà không bị phát hiện. Do đó, có các công cụ có sẵn để ngăn chặn việc sử dụng trái phép các đường hầm SSH thông qua tường lửa của công ty.

Secure Shell so với Telnet

Telnet là một trong những giao thức ứng dụng internet đầu tiên – giao thức còn lại là FTP. Nó được sử dụng để bắt đầu và duy trì một phiên mô phỏng đầu cuối trên một máy chủ từ xa.

SSH và Telnet giống nhau về chức năng, với sự khác biệt chính là giao thức SSH sử dụng mật mã khóa công khai để xác thực các điểm cuối khi thiết lập phiên đầu cuối, cũng như để mã hóa các lệnh và đầu ra của phiên.

Trong khi Telnet chủ yếu được sử dụng để mô phỏng thiết bị đầu cuối, SSH có thể được sử dụng để mô phỏng thiết bị đầu cuối – tương tự như lệnh rlogin – cũng như để phát lệnh từ xa như với rsh, truyền tệp bằng Giao thức truyền tệp SSH ( SFTP ) và đào đường hầm khác các ứng dụng.

Secure Shell so với SSL / TLS

Giao thức Bảo mật lớp truyền tải (TLS), cập nhật giao thức Lớp cổng bảo mật (SSL), được thiết kế để cung cấp bảo mật cho việc truyền mạng ở lớp truyền tải. Giao thức SSH cũng hoạt động ở hoặc ngay trên lớp truyền tải, nhưng có sự khác biệt quan trọng giữa hai giao thức.

Trong khi cả hai đều dựa vào cặp khóa công khai / riêng tư để xác thực máy chủ, chỉ máy chủ được xác thực bằng cặp khóa theo TLS. SSH sử dụng một cặp khóa riêng biệt để xác thực từng kết nối: một cặp khóa cho kết nối từ máy cục bộ đến máy từ xa và cặp khóa thứ hai để xác thực kết nối từ máy từ xa đến máy cục bộ.

Một sự khác biệt khác giữa SSH và TLS là TLS cho phép các kết nối được mã hóa mà không cần xác thực hoặc được xác thực mà không cần mã hóa. SSH mã hóa và xác thực tất cả các kết nối.

SSH cung cấp cho các chuyên gia CNTT và bảo mật thông tin (infosec) một cơ chế an toàn để quản lý các máy khách SSH từ xa. Thay vì yêu cầu xác thực mật khẩu để khởi tạo kết nối giữa máy khách và máy chủ SSH, SSH tự xác thực các thiết bị. Điều này cho phép nhân viên CNTT kết nối với các hệ thống từ xa và sửa đổi cấu hình SSH, bao gồm thêm hoặc xóa các cặp khóa máy chủ trong tệp knownhosts.

Trên đây là bài viết của Multicontents, hãy để lại bình luận nếu bạn có thắc mắc gì nhé.

Like
Like Love Haha Wow Sad Angry

Bình luận

Bài viết liên quan