SSH là gì và cách sử dụng SSH cho người mới bắt đầu

Related Articles

SSH Th1 30, 2018Hai G .9 tối thiểu Đọc

SSH là gì và cách sử dụng SSH cho người mới bắt đầu

SSH là gì

SSH, hoặc được gọi là Secure Shell, là một giao thức điều khiển từ xa cho phép người dùng kiểm soát và chỉnh sửa server từ xa qua Internet. Dịch vụ được tạo ra nhằm thay thế cho trình Telnet vốn không có mã hóa và sử dụng kỹ thuật cryptographic để đảm bảo tất cả giao tiếp gửi tới và gửi từ server từ xa diễn ra trong tình trạng mã hóa. Nó cung cấp thuật toán để chứng thực người dùng từ xa, chuyển input từ client tới host, và relay kết quả trả về tới khách hàng.

Hình bên dưới bộc lộ một giao diện Windows SSH nổi bật. Bất kể user Linux hoặc macOS nào cugn4 đều hoàn toàn có thể SSH tới server từ xa trực tiếp từ hành lang cửa số terminal. Windows users hoàn toàn có thể sử dụng những SSH clients như thể Putty. Bạn hoàn toàn có thể thực thi lệnh shell cũng như việc bạn đang thực sự quản lý và vận hành máy tính vật lý .

shell snapshot

Bạn đã biết SSH là gì vậy hãy tiếp tục tìm hiểu về cách thức hoạt động của SSH,bên cạnh việc tìm hiểu về công nghệ được sử dụng để đảm bảo tính an toàn cho các kết nối từ xa. Nó sẽ gồm nhiều lớp và loại mã hóa được sử dụng, tùy thuộc vào mục đích của từng layer.

SSH hoạt động như thế nào

Để hiểu SSH là gì thì thứ nhất bạn cần phải biết nó hoạt động giải trí như thế nào. Nếu bạn đang sử dụng Linux hoặc Mac, sử dụng SSH rất đơn thuần. Nếu bạn sử dụng Windows, bạn chỉ cần sử dụng những SSH client để mở liên kết SSH. Những trình SSH client thông dụng là Putty, bạn hoàn toàn có thể xem thêm tại đây .

Đối với người dùng xài MAC và Linux, hãy mở terminal và làm theo hướng dẫn sau:

Lệnh SSH có 3 phần :

ssh {user}@{host}

SSH key command cho hệ thống biết là bạn muốn mở một kết nối được mã hóa Secure Shell Connection. {user} đại diện cho tài khoản người dùng bạn muốn dùng để truy cập. Ví dụ, bạn muốn truy cập user root, thì thay root tại đây. User root là user quản trị hệ thống với toàn quyền để chỉnh sửa bất kỳ điều gì trên hệ thống. {host} đại diện cho máy tính bạn muốn dùng để truy cập. Nó có thể là một địa chỉ IP (ví dụ 244.235.23.19) hoặc một tên miền (ví dụ, www.xyzdomain.com).

Khi bạn nhấn enter, nó sẽ hỏi bạn nhập mật khẩu tương ứng cho thông tin tài khoản. Khi bạn gõ, bạn sẽ không thấy bất kể tín hiệu nào trên màn hình hiển thị, nhưng nếu bạn gõ đúng mật khẩu và nhấn enter, bạn sẽ vào được mạng lưới hệ thống và nhận thông tin đăng nhập thành công xuất sắc .Nếu bạn muốn khám phá thêm về lệnh SSH, hãy tìm hiểu thêm tại đây

Hiểu về nhiều kỹ thuật mã hóa khác nhau

Lợi điểm khiến SSH hơn hẵn những giao thức cũ là khả năng mã hóa và truyền tải dữ liệu an toàn giữa host và client. Host đại diện cho máy chủ  từ xa bạn muốn kết nối tới và client là máy tính của bạn dùng để truy cập tới host. Có 3 cách khác nhau để mã hóa qua SSH:

  1. Symmetrical encryption
  2. Asymmetrical encryption
  3. Hashing.

Symmetric Encryption

Symmetric encryption là một dạng mã hóa sử dụng secret key ở cả 2 chiều mã hóa và giải mã tin nhắnb bởi cả host và client. Có nghĩa là ai nắm được khóa đều có thể giải mã tin nhắn trong quá trình chuyền.

hướng dẫn sử dụng ssh là gì symmetric encryption

Symmetrical encryption thường được gọi là shared key hoặc shared secret encryption. Vì có một khóa được sử dụng, hoặc một cặp khóa (pair key) mà một khóa có thể được tính ra từ khóa kia.

Symmetric keys được sử dụng để mã hóa toàn bộ liên lạc trong phiên giao dịch SSH. Cả client và server tạo chung một key bí mật như là một phương thức thỏa thuận, và key đó không được tiết lộ cho bên thứ ba. Quá trình tạo symmetric key được thực hiện bởi key exchange algorithm.

Điều khiến cho thuật toán bảo đảm an toàn là vì key không được truyền giữa client và host. Thay vào đó, cả 2 máy tính chia sẽ thông tin chung và sau đó sử dụng chúng để tính ra khóa bí hiểm. Kể cả có máy khác bắt được thông tin chung, nó cũng không hề tính ra key bí hiểm vì không biết được thuật toán tạo key .Cũng phải chú ý quan tâm rằng, tuy nhiên secret token được sử dụng cho một phiên SSH nhất định, và được tạo bởi xác nhận của client. Khi key đã được tạo, tổng thể packets truyền giữa 2 máy phải được mã hóa bởi private key. Việc này gồm có cả mật khẩu điền vào bởi user, vì thế mật khẩu cũng hoàn toàn có thể được bảo vệ khỏi những “ lính bắn tỉa packet ” trên mạng .Một số loại symmetrical encryption ciphers đã sống sót, gồm có, những không số lượng giới hạn AES ( Advanced Encryption Standard ), CAST128, Blowfish etc. Trước khi thiết lập liên kết bảo đảm an toàn client và host sẽ chấp thuận đồng ý loại cipher nào được sử dụng, bằng cách xuất bản list cyphers được tương hỗ để tìm hiểu thêm. Cypher thích hợp nhất ở phía client sẽ hiển thị trong list của host như thể một bidirectional cypher .

Ví dụ, nếu 2 máy Ubuntu 14.04 LTS liên lạc với nhau qua SSH, nó sẽ sử dụng  aes128-ctr làm cipher mặc định.

Asymmetric Encryption

Không giống với symmetrical encryption, asymmetrical encryption sử dụng 2 khóa khác nhau để mã hóa và giải mã. 2 khóa này được gọi là public keyprivate key. Cả 2 hình thành nên một cặp khóa là public-private key pair.

Asymmetric encryption

Khóa public, như tên gọi của nó sẽ được công khai minh bạch cho toàn bộ những bên tương quan. Mặc dù nó tương quan mật thiết đến private key về tính năng, nhưng private key không hề được thống kê giám sát ra từ một public key. Sự tương quan này rất phức tạp : thư được mã hóa bởi public key của một máy, và chỉ hoàn toàn có thể được giải thuật bởi private key của chính máy đó. Sự tương quan một chiều này có nghĩa là public key không hề giải thuật chính thư của nó, hoặc không hề giải thuật bất kể thứ gì được mã hóa bằng private key .Private key phải luôn luôn được bảo vệ bảo đảm an toàn, ví dụ, liên kết bảo đảm an toàn, không có bên thứ 3 biết. Sức mạnh của cả quy trình liên kết nhờ vào vào việc private key có bị bật mý hay không, vì chỉ có nó mới có năng lực giải thuật thư được truyền đi mà được mã hóa bởi public key. Vì vậy, bất kể bên nào hoàn toàn có thể giải thuật thư được ký bởi public key có nghĩa là bên đó đang sở hữu private key tương ứng .

Không giống với quan niệm thông thường, asymmetrical encryption không được dùng để mã hóa toàn bộ phiên SSH. Thay vào đó, nó chỉ được sử dụng trong quá trình trao đổi thuật toán của khóa của symmetric encryption. trước khi bắt đầu một phiên giao dịch an toàn, cả 2 đồng ý tạo ra một cặp public-private key tạm, chia sẽ private keys để tạo một khóa secret key chung.

Khi liên kết symmetrict bảo đảm an toàn đã được thiết lập, server sử dụng public key của client để tạo và challenge và truyền nó tới client để xác nhận. Nếu client hoàn toàn có thể giải thuật tin nhắn, có nghĩa là nó đang giữa đúng private key thiết yếu cho liên kết. Phiên thanh toán giao dịch SSH mở màn .

Hashing

Hashing một chiều là một dạng mã hóa khác sử dụng trong Secure Shell Connections. Hash một chiều khác với cả 2 phương pháp mã hóa trên ở chỗ nó không được sinh ra để giải thuật. Chúng tạo ra một giá trị duy nhất với độ dài nhất định cho mỗi lần nhập liệu mà không có hướng nào khác để khai thác. Điều này khiến nó có vẻ như không hề quay ngược lại giải thuật .

hướng dẫn sử dụng ssh, hash một chiều

Rất dễ để tạo một cryptographic hash từ một lần input, nhưng không hề tạo ra lần input đó từ một hash. Có nghĩa là nếu client giữ đúng input đó, client hoàn toàn có thể tạo ra một crypto-graphic hash giống như vậy và so sánh nó với giá trị ở đầu bên kia để xác lập cả 2 bên nhập giống input .

SSH sử dụng hashes để xác nhận tính xác thực của tin nhắn. Nó được thực hiện bởi HMACs, hoặc Hash-based Message Authentication Codes. Việc này đảm bảo lệnh không bị giả mạo bởi bất kỳ phương thức nào.

Trong khi thuật toán symmetrical encryption được chọn, một thuật toán xác nhận tin nhắn tương thích cũng được chọn. Nó hoạt động giải trí tương tự như việc cipher được chọn như thế nào, như bên trên mình đã lý giải trong phần symmetric encryption .Mỗi tin nhắn được truyền đi phải chứa MAC, được tính bởi symmetric key, packet sequence number, và nội dung tin nhắn. Nó truyền ra ngoài một gói tài liệu được mã hóa symmetric như thể một phần của communication packet .

SSH xử lý như thế nào với những kỹ thuật này

Sau khi bạn đã biết SSH là gì và biết những loại mã hóa, tất cả chúng ta đi tiếp về việc nó hoạt động giải trí như thế nào. SSH hoạt động giải trí bằng quy mô client-server được cho phép xác nhận bảo đảm an toàn giữa 2 máy từ xa và mã hóa dữ liệu được truyền giữa chúng .SSH quản lý và vận hành trên TCP port 22 mặc định ( hoàn toàn có thể được biến hóa nếu cần ). Host ( server ) nghe port 22 ( hoặc bất kể port nào SSH được gán vào ) cho nhưng liên kết tới. Nó sẽ thiết lập liên kết bảo đảm an toàn khi xác nhận giữa client và môi trường tự nhiên shell đang mở thành công xuất sắc .

ssh client và server

Client phải khởi đầu liên kết SSH bằng cách tạo ra TCP handshake với server, bảo vệ hoàn toàn có thể thiết lập liên kết symmetric, xác nhận thông tin của server có khớp tài liệu cũ không ( thường thì được trong RSA key store file ), và so sánh thông tin đăng nhập của user liên kết để xác nhận đúng liên kết .Có 2 quy trình tiến độ để thiết lập liên kết : thứ nhất cả 2 bên chấp thuận đồng ý chuẩn mã hóa để bảo vệ tiếp xúc trong tương, thừ 2, user phải được xác nhận. Nếu thông tin đăng nhập khớp, user có quyền truy vấn .

Session Encryption Negotiation

Khi client cố kết nối tới server qua TCP, server sẽ trình ra encrytpion protocal và những phiên bản tương quan nó tương hỗ. Nếu client cũng có protocol tương ứng và phiên bản đúng như vậy, một thỏa thuật sẽ được đặt ra và liên kết bát đầu tiếp đón protocol. Server cũng sử dụng một symmetric public key mà client hoàn toàn có thể dùng để xác nhận tính đúng mực của server .Khi đã được thiết lập, cả 2 bên sử dụng một thuật toán được biết là Diffie-Hellman Key Exchange Algorithm để tạo symmetrical key. Thuật toán này được cho phép cả client và server có cùng một key chung được dùng để mã hóa hàng loạt liên lạc sau này .Đây là cách thuật oán hoạt động giải trí về cơ bản :

  1. Cả client và server đồng ý dựa trên một số nguyên lớn, dĩ nhiên là không có bất kỳ tính chất chung nào. Số này được gọi là seed value.
  2. Tiếp theo, cả 2 bên đồng ý một cách mã hóa được tạo ra từ seed value bằng một dạng thuật toán nhất định. Những cơ chế này là nguồn tạo mã hóa, hoạt đông lớn trên seed value. Ví dụ như là generator llà AES (Advanced Encryption Standard).
  3. Cả 2 bên độc lập tạo một số khác. Nó được dùng như là một private key bí mật cho tương tác.
  4. Key private mới tạo này, với số chung và thuật toán mã hóa ở trên (AES) được dùng để tạo ra một key public được phân phối cho máy còn lại.
  5. 2 bên sau đó sử dụng private key của chính nó, public key của máy còn lại và số nguyên ban đầu để tạo ra một key chung cuối cùng. Key này độc lập được tính toán bởi cả 2 máy nhưng sẽ tạo ra một key mã hóa giống nhau trên cả 2.
  6. Bây giờ cả 2 đã có shared key, chúng có thể tạo mã hóa symmetric cho cả phiên SSH. Một key chung được sử dung để mã hóa và giải mã tin nhắn (đọc lại mục: symmetrical encryption).

Bây giờ phiên thanh toán giao dịch được mã hóa symmetric đã được thiết lập, xác nhận cho user sẽ được thực thi .

Chứng thực người dùng

Bước cuối là khi user được cấp quyền truy vấn vào server xác nhận chính thông tin đang nhập đó. Để làm vậy, hầu hết SSH user sử dụng mật khẩu. Người dùng được hỏi để nhập username, tiếp theo là mật khẩu. Những thông tin đăng nhập này được chuyển bảo đảm an toàn qua một đường hầm bảo mật thông tin symmetric, thế cho nên không có cách nào chúng bị lấy cắp từ bên thứ 3 .Mặc dù mật khẩu đã được mã hóa, chúng tôi vẫn không khuyên sử dụng mật khẩu để thiết lập liên kết. Lý do là vì bằng thủ pháp tiến công brute fore, mật khẩu mặc định hoặc dễ đoán hoàn toàn có thể được lần ra và bạn sẽ bị chiếm quyền thông tin tài khoản. Vì vậy, cách tốt nhất là sử dụng SSH Key Pairs .Đây là một bộ khóa asymmetric được dùng để xác nhận thành viên mà không yên cầu phải nhập mật khẩu .

Kết luận

Hiểu rõ về SSH là gì và làm thế nào SSH hoạt động giải trí được hoàn toàn có thể giúp bạn hiểu thêm về công nghệ tiên tiến bảo mật thông tin. Hầu hết mọi người tưởng quy trình này là phức tạp và không tài nào hiểu nổi, nhưng nó đơn thuần hơn mọi người nghĩ nhiều. Nếu bạn không biết một máy tính mất bao lâu để tính ra một hash và xác nhận user, thì trên thực tiễn nó chỉ mất ít hơn một giây. Lượng thời hạn trên internet đa phần là do việc truyền tài liệu từ xa .Hy vọng với bài hướng dẫn SSH này, chúng tôi đã giúp bạn có cái nhìn khác về công nghệ tiên tiến và nó là thành tố chính để bạn tạo một mạng lưới hệ thống can đảm và mạnh mẽ và bảo mật thông tin. Cũng vì lẽ đó, bạn đã hiểu vì sao Telnet đã là quá khứ và vì sao SSH đã chiếm lấy mọi chỗ đứng của nó .Để biết thêm về thủ pháp Linux, hãy xem qua khu vực hướng dẫn cho VPS tutorials của chúng tôiAuthor

Tác giả

Hai G .Hải G. là chuyên viên quản trị, quản lý và vận hành những dịch vụ website. Anh có nhiều năm kinh nghiệm tay nghề về VPS, Hosting, technical SEO, CMS. Đặc biệt thương mến WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho những bạn trẻ khởi nghiệp .

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories