1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn học quản trị hệ thống linux đề tài số 5 cài đặt server ssh và đăng nhập từ windows

25 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cài đặt server SSH và đăng nhập từ Windows
Tác giả Cao Thế Trung, Nguyễn Thị Thu Uyên
Người hướng dẫn Ths Vũ Xuân Hạnh
Trường học Trường Đại học Mở Hà Nội, Khoa Công nghệ Thông tin
Chuyên ngành Quản trị Hệ thống Linux
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 3,06 MB

Nội dung

Vậy các hệ điều hành mã nguồn mở tức là những hệ điều hành cho phép bất kỳ người dùng nào có nhu cầu sử dụng, đều có thể truy cập vào, thậm chí là tuỳ biến và chỉnh sửa theo ý thích.2, Đ

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-BÁO CÁO BÀI TẬP LỚN

MÔN HỌC: QUẢN TRỊ HỆ THỐNG LINUX

ĐỀ TÀI SỐ 5:

Cài đặt server SSH và đăng nhập từ Windows

Giảng viên hướng dẫn: Ths Vũ Xuân Hạnh

Nhóm sinh viên thực hiện: Cao Thế Trung – 1910A01

Nguyễn Thị Thu Uyên – 1910A01

Hà Nội 2023

Trang 2

MỤC LỤC

I, Hệ điều hành mã nguồn mở 3

1, Giới thiệu 3

2, Đặc trưng 3

II, Tổng quan về Linux 7

1, Định nghĩa 7

2, Cấu trúc hệ điều hành Linux 7

III, Tổng quan về Ubuntu 8

1 Ubuntu là gì? 8

2, Ưu điểm của hệ điều hành Ubuntu 8

IV, Cài đặt server SSH và đăng nhập từ Windows 10

1, Giới thiệu về server SSH 10

2, SSH có bảo mật không 10

3, Sử dụng SSH khi nào 10

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

5, Ưu điểm của SSH 11

6, Các lệnh phổ biến trong SSH 12

7, Các kỹ thuật mã hóa SSH 14

8, Giai đoạn thiết lập kết nối của SSH 15

V, Cài đặt server SSH trên Ubuntu 16

VI, Kết nối SSH từ Window 18

Trang 3

I, Hệ điều hành mã nguồn mở

1, Giới thiệu

Về cơ bản, hệ điều hành là thứ giúp cho toàn bộ hệ thống phần mềm hoạt động Nói nôm na cho dễ hiểu, hệ điều hành là phần móng của một căn nhà, những phần mềm, ứng dụng hay chương trình khác là phần nhà phía trên Do đó, vai trò của hệ điều hành là vô cùng quan trọng

Về phần “mở", mã nguồn mở có nghĩa là nó được đăng tải công khai trên mạng, bất

kỳ ai cũng có thể truy cập, xem, chỉnh sửa và lấy về sử dụng Mã nguồn mở hoàn toàn trái ngược với các phần mềm bản quyền - bạn phải trả tiền mới được sử dụng.Vậy các hệ điều hành mã nguồn mở tức là những hệ điều hành cho phép bất kỳ ngườidùng nào có nhu cầu sử dụng, đều có thể truy cập vào, thậm chí là tuỳ biến và chỉnh sửa theo ý thích

2, Đặc trưng

Ưu, nhược điểm

- Ưu điểm

• Tiết kiệm chi phí

Như đã nói ở trên, phần mềm mã nguồn mở là phần mềm hoàn toàn miễn phí Có thể

sử dụng nó cho mục đích thương mại mà không phải trả tiền bản quyền Người dùng không bị nhà cung cấp kiểm soát khi sử dụng phần mềm mã nguồn mở Vì vậy, có thể tránh trường hợp một số chức năng, một số tập tin bị ẩn đi như các phần mềm mã nguồn mở độc quyền khác

Hình 1

Trang 4

Khi lập trình viên sử dụng phần mềm mã nguồn mở, họ cũng tránh được những rủi ronhư mua phải phần mềm có bản quyền nhưng không được nhà cung cấp hỗ trợ sau khi hết thời hạn sử dụng Có một số lý do để giải thích điều này Tuy nhiên, người dùng sẽ không thể sử dụng phần mềm nếu không nhận được sự hỗ trợ vì những lý do chủ quan hay khách quan Ngoài ra, người dùng sẽ phải trả thêm tiền để tiếp tục sử dụng.

• Độ bảo mật cao

Như đã đề cập ở trên, không có lỗ hổng bảo mật nào trong mã nguồn mở Chỉ cần tưởng tượng rằng phần mềm mã nguồn mở từ lâu đã được phát triển bởi một cộng đồng lập trình viên, bao gồm nhiều lập trình viên tài năng trên khắp thế giới Sau đó,

họ liên tục kiểm tra, sửa đổi, thêm và bớt các tính năng

Trước khi người dùng thêm các tính năng mới vào phần mềm mã nguồn mở, hãy luônđặt các yếu tố an toàn và kiểm tra chúng trước Nếu không, các tính năng này sẽ làm cho phần mềm kém an toàn hơn

• Hệ thống mã nguồn hoạt động linh hoạt

Phải nói rằng, khi tạo ứng dụng bằng mã nguồn mở, việc sửa lỗi nhanh hơn nhiều so với phần mềm có bản quyền Nếu nhà phát triển tìm thấy lỗi trong quá trình hoàn thiện, họ có thể sửa lỗi đó ngay lập tức Không giống như mã nguồn mở, khi bạn chỉnh sửa trong phần mềm có bản quyền, bạn phải báo cáo với nhà cung cấp và chỉnhsửa nếu được phép

Ví dụ: nếu một lập trình viên muốn phát triển thêm các tính năng và mở rộng tiện ích của ứng dụng được tạo từ phần mềm mã nguồn mở, họ có thể điều chỉnh, thêm / bớt

mã tùy chỉnh hoặc chờ phản hồi từ nhà cung cấp mà không cần xin phép Điều này chứng tỏ tính linh hoạt của phần mềm mã nguồn mở

• Không giới hạn khả năng sáng tạo

Vì nó "mở" và miễn phí, nhiều lập trình viên đã sử dụng nó để tạo ra những phần mềm hữu ích Nó được coi là một sản phẩm giúp các nhà thiết kế và lập trình sáng tạo và thử nghiệm các ý tưởng của họ

2

Trang 5

Phần mềm mã nguồn mở cũng giúp người dùng giảm bớt sự phụ thuộc vào các nhà cung cấp như mã nguồn có bản quyền.

• Các vấn đề về khả năng tương thích

Nhiều loại phần cứng độc quyền cần các trình điều khiển chuyên biệt để chạy các phần mềm mã nguồn mở, những chương trình này thường chỉ có sẵn từ nhà sản xuất thiết bị Điều này có thể làm tăng thêm chi phí của bạn Ngay cả khi phần mềm mã nguồn mở tồn tại, nó có thể không hoạt động với phần mềm của bạn cũng như trình điều khiển độc quyền

• Trách nhiệm pháp lý và bảo hành

Với phần mềm độc quyền, nhà phát triển thường cung cấp bồi thường và bảo hành như một phần của thỏa thuận cấp phép tiêu chuẩn Điều này là do họ hoàn toàn kiểm soát và giữ bản quyền sản phẩm cũng như mã cơ bản của nó Giấy phép phần mềm

Hình 2

Trang 6

nguồn mở thường chỉ chứa bảo hành có giới hạn và không có trách nhiệm pháp lý hoặc bảo vệ bồi thường vi phạm.

Bản phân phối

Tên bản phân

phối

Phiên bản mớinhất

Trang web chính thức Các bản tương tự

Ubuntu 22.04 http://www.ubuntu.com/ Kubuntu, Xubuntu,

Edubuntu,MacbuntuDebian

Linux Mint 14 http://www.linuxmint.com/

Mandrake 2014 http://www.mandriva.com/ Mandriva

Trang 7

Do Linux được phát hành miễn phí và có nhiều ưu điểm vượt trội nên Linux vẫn giữ được một chỗ đứng vững chắc trong lòng người dùng trước các ông lớn như

Windows hay macOS

2, Cấu trúc hệ điều hành Linux

+ Kernel

Hay được gọi là phần Nhân vì đây là phần quan trọng nhất trong máy tính bởi chứa đựng các module hay các thư viện để quản lý, giao tiếp giữa phần cứng máy tính và các ứng dụng

+ Shell

Shell là phần có chức năng thực thi các lệnh (command) từ người dùng hoặc từ các ứng dụng yêu cầu, chuyển đến cho Kernel xử lý Shell chính là cầu nối để kết nối Kernel và Application, phiên dịch các lệnh từ Application gửi đến Kernel để thực thi

Có các loại Shell như sau: sh (the Bourne Shell), bash(Bourne-again shell), csh (C shell), ash (Almquist shell), tsh (TENEX C shell), zsh (Z shell)

Ubuntu là một hệ điều hành trên máy tính, và nó được phát triển dựa trên

Linux/Debian GNU Lần đầu được giới thiệu vào năm 2004, tính đến năm 2007, Ubuntu đây là phiên bản chiếm 30% số bản tùy biến của Linux được cài đặt trên máy tính, và cũng là bản tuỳ biến Linux phổ biến nhất Công ty Canonical đã và đang chịutrách nhiệm trong việc tài trợ Ubuntu, giúp cho hệ điều hành này có thể phát triển trong tương lai

Có ba loại phiên bản Ubuntu mà người dùng cần biết đến, bao gồm Ubuntu phiên bảnthông thường, phiên bản hỗ trợ lâu dài (LTS) và các dự án khác Thông thường, bạn

Trang 8

nên sử dụng phiên bản hỗ trợ lâu dài để nhận được hỗ trợ trong vòng 3 năm đối với máy tính để bàn và 5 năm đối với máy chủ.

2, Ưu điểm của hệ điều hành Ubuntu

- Không yêu cầu cấu hình mạnh

Thông thường, quá trình cài đặt Ubuntu trên máy tính sẽ giao động từ 20 - 30 phút, tuỳ theo cấu hình của máy, và bạn chỉ cần có thiết bị có dung lượng RAM từ 256MB trở lên Và cấu hình khuyên dùng thì chỉ cần RAM trên 384MB, và CPU là 700 MHz (x86)

- Có nhiều ứng dụng miễn phí

Bạn không cần tốn quá nhiều chi phí cho các ứng dụng, và chúng đều có mặt trên Ubuntu Software Center Chẳng hạn như bộ ứng dụng văn phòng LibreOffice miễn phí cũng đã được cài sẵn trên hệ điều hành Ubuntu

6

Hình 3

Hình 4

Trang 9

- Khả năng tương tác sâu

Mặc dù đôi khi phải sử dụng các câu lệnh để tương tác với thiết bị, nhưng nhờ vậy

mà người dùng có thể điều khiển phần mềm một cách sâu hơn, từ đó hiệu quả công việc sẽ tốt hơn, nhất là khi so sánh với các giao diện đồ họa Đồng thời, đây là hệ điều hành mã nguồn mở, thế nên Ubuntu có độ tùy biến cao

- Có tính bảo mật cao

Bạn không cần lo lắng quá nhiều về việc có cần cài đặt các phần mềm diệt virus như trên Windows bởi vì số lượng malware hay virus khá ít trên hệ điều hành Ubuntu

1, Giới thiệu về server SSH

SSH là giao thức đăng nhập vào server từ xa, cho phép người dùng kiểm soát, chỉnh sửa và quản trị dữ liệu của server thông qua nền tảng Internet SSH là viết tắt của Secure Socket Shell SSH cũng giúp việc kết nối của mạng lưới máy chủ và máy khách an toàn, hiệu quả và bảo mật thông tin tốt hơn.SSH có chức năng mã hóa dữ liệu đường truyền Điều này phục vụ cho quá trình chuyền tập tin, chạy chương trình.SSH cũng chuyển tiếp kết nối TCP/IP qua liên kết an toàn…

2, SSH có bảo mật không

Giao thức SSH cung cấp các dịch vụ của máy chủ như xác thực, mã hóa, xác minh tính toàn vẹn dữ liệu và xác thực khách hàng Máy chủ được SSH xác thực thông quaviệc thực hiện DSA, RSA hoặc ECDSA thuật toán mã khóa công khai

Để xác minh mã hóa và toàn vẹn dữ liệu, một số thuật toán được cung cấp mà mỗi sản phẩm SSH có thể thực hiện trong một khoảng thời gian nhất định Trong khi đó, xác thực khách hàng lại được SSH thực hiện bằng cách sử dụng mật khẩu, khóa công khai, chỉ 1 tài khoản login trên 1 thời diểm (single sign-on), và các phương pháp khác

Đặc điểm kỹ thuật giao thức SSH được công khai và đã được xem xét bởi một số người thực hiện độc lập Vì vậy, khi thực hiện đúng và sử dụng chúng, giao thức này

Trang 10

hoàn toàn an toàn để bảo mật thông tin và chống lại hầu hết tất cả các cuộc tấn công mật mã.

3, Sử dụng SSH khi nào

SSH hoạt động ở tầng thứ 4 trong mô hình TCP/IP Nó cho phép tương tác giữa máy chủ và máy khách, sử dụng cơ chế mã hoá 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 Đây là điều mà các giao thức trước đây như telnet, rlogin không đáp ứng được.Vì vây, bạn nên lựa chọn sử dụng SSH nếu muốn thiết lập một kết nối mạng được mã hóa và cung cấp môi trường an toàn cho người tiêu dùng Các công cụ SSH phổ biến hiện nay có thể kể đến như PuTTY, OpenSSH,

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

Quy trình hoạt động của SSH có thể tóm gọn thông qua 3 bước đơn giản sau:

Bước 1: Định danh host – xác định định danh của hệ thống tham gia phiên làm việc SSH Đơn giản hơn, đây là bước khởi tạo kết nối SSH Kết nối này là một kênh giao tiếp bảo mật giữa server và client

Bước 2: Mã hoá dữ liệu – thiết lập kênh làm việc mã hoá Sau khi Client xác định được định danh của Server 1 kết nối bảo mật đối xứng được hình thành giữa 2 bên.Bước 3: Chứng thực và giải mã – xác thực người sử dụng có quyền đăng nhập hệ thống Kết nối này sẽ được sử dụng để Server xác thực Client

5, Ưu điểm của SSH

Lý do khiến nhiều người lựa chọn sử dụng giao thức này xuất phát từ những ưu điểm vượt trội của SSH so với các giao thức khác SSH có khả năng mã hóa và truyền tải

dữ liệu an toàn giữa mạng lưới 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

8

Trang 11

Lợi thế thứ hai là có nhiều cách khác nhau giúp việc mã hóa qua SSH được thực hiện hiệu quả và toàn vẹn như:

2 cd

– Lệnh này được sử dụng để “di chuyển” giữa các thư mục (cd là viết tắt của ”

change directory”) sau khi liệt kê tất cả các tập tin và thư mục với ls, bạn có thể chọnmột thư mục để “chuyển” đến ví dụ: giả sử có một directory home mà bạn muốn

Hình 5

Trang 12

nhập thực hiện nhập lệnh cd home và bạn sẽ ngay lập tức thay đổi vị trí hiện tại thành “home” bạn có thể thử dùng lại lệnh ls để kiểm chứng rằng thông tin xuất ra màn hình đã được thay đổi hoặc bạn cũng có thể điền một đường dẫn đầy đủ tới một thư mục nhất định trong trường hợp muốn đi sâu vào một thư mục nhiều cấp độ ví dụ: bạn có thể sử dụng: cd home / testdirectory / anotherdirectory để tới thẳng thư mục có tên anotherdirectory sử dụng lệnh cd (gồm dấu cách và hai dấu chấm sau cd) để di chuyển lên một cấp (trong ví dụ này chúng ta sẽ tới “testdirectory” từ

“anotherdirectory”)

3 mkdir

– Đây là lệnh được sử dụng để tạo một thư mục mới (viết tắt của “make directory”) bạn sẽ có ngay một thư mục mới với tên đã chọn, ví dụ mkdir newfolder sẽ tạo một thư mục mới với tên “newfolder” trong thư mục hiện hành (thư mục hiện tại đang thao tác)

4 touch

– Lệnh touch sẽ tạo tệp mới với phần đuôi chỉ định ví dụ, touch newfile.txt sẽ tạo một tệp txt mới có tên là “newfile” trong thư mục hiện hành (phần đuôi có thể đặt têntùy ý, thậm chí bạn có thể tạo một tệp mới mà không cần thêm phần đuôi, ví dụ: touch newfile

5 rm

– Được sử dụng để xóa tệp / thư mục đã chọn ví dụ: rm newfile sẽ xóa tệp có tên là

“newfile” đã tạo trước đó nếu bạn muốn loại bỏ một thư mục và tất cả các thư mục con bên trong, sử dụng rm -r newfolder để xóa thư mục “newfolder” và tất cả các thư mục chứa bên trong nó

6 cat

– Lệnh cat sẽ hiển thị nội dung của tập tin ví dụ, dùng cat info.txt để xuất nội dung tập tin lên màn hình hoặc ví dụ khác: cat info.txt info2.txt> mergedinfo.txt sẽ hợp nhất hai tệp “info.txt” và “info2.txt” với nhau và ghi nội dung đã hợp nhất vào tệp

“mergedinfo.txt”

10

Trang 13

Symmetric encryption là một dạng mã hóa sử dụng secret key (chìa khóa bí mật) ở cả

2 chiều mã hóa và giải mã tin nhắn bởi cả host và client Điều này có nghĩa là bất kỳ

ai nắm được khóa đều có thể giải mã tin nhắn trong quá trình chuyền

Nguyên tắc hoạt động của Symmetrical Encryption là cả client và server tạo chung một key bí mật 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 Key đó được dùng như chìa khóa mãhóa cho cả hai đầu kết nối

Điều khiến cho thuật toán này 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 để

Hình 6

Trang 14

tính ra khóa bí mật Vì vậy, kể cả có máy khác bắt được thông tin chung, nó cũng không thể tính ra key bí mật vì không biết được thuật toán tạo key.

để tạo và challenge và truyền nó tới client để chứng thực Nếu client có thể giải mã tin nhắn, có nghĩa là nó đang giữ đúng private key cần thiết cho kết nối

1.3 SSH Hashing

Hash một chiều khác với cả 2 phương thức mã hóa trên ở chỗ nó không được sinh ra

để giải mã Thay vào đó, nó 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

Vì vậy, 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 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

8, Giai đoạn thiết lập kết nối của SSH

B1.Máy tính người dùng gửi yêu cầu kết nối đến máy chủ SSH bằng cách gõ lệnh kếtnối SSH và cung cấp tên đăng nhập và mật khẩu hoặc khóa riêng tư của người dùng (nếu được sử dụng)

B2.Máy chủ SSH sẽ kiểm tra thông tin đăng nhập hoặc khóa riêng tư và gửi yêu cầu đến máy tính người dùng để xác thực danh tính

B3.Máy tính người dùng sẽ sử dụng khóa riêng tư (nếu được sử dụng) hoặc mật khẩu

để xác thực danh tính và gửi lại thông tin xác thực đến máy chủ SSH

12

Trang 15

B4.Máy chủ SSH sẽ kiểm tra thông tin xác thực và nếu thành công, sẽ gửi lại một thông điệp chứa khóa công khai đến máy tính người dùng.

B5.Máy tính người dùng sẽ sử dụng khóa công khai của máy chủ SSH để tạo ra một session key và gửi lại cho máy chủ SSH

B6.Máy chủ SSH sử dụng khóa riêng tư của mình để giải mã session key và sử dụng session key đó để mã hóa và giải mã dữ liệu truyền qua mạng giữa máy tính người dùng và máy chủ SSH

V,

Cài đặt server SSH trên Ubuntu 22.04

Mở một terminal mới (Ctrl + Alt + T) và nhập lệnh sau:

sudo apt-get update

Sau đó mở một dòng lệnh mới và nhập

sudo apt-get install openssh-server

Hình 7

Trang 16

Sau khi install OpenSSH, SSH server sẽ chạy Nhưng để kiểm tra, chỉ cần mở một terminal và chạy:

sudo service ssh status

14

Hình 8

Hình 9

Ngày đăng: 03/05/2024, 17:48

w