Tải bản đầy đủ (.docx) (25 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 25 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

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

<b>KHOA CÔNG NGHỆ THÔNG TIN</b>

<b>---BÁO CÁO BÀI TẬP LỚN</b>

<b>MÔN HỌC: QUẢN TRỊ HỆ THỐNG LINUXĐỀ TÀI SỐ 5:</b>

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

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

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

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

Hà Nội 2023

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<small>2, Cấu trúc hệ điều hành Linux...7</small>

<small>III, Tổng quan về Ubuntu...8</small>

<small>1. Ubuntu là gì?...8</small>

<small>2, Ưu điểm của hệ điều hành Ubuntu...8</small>

<small>IV, Cài đặt server SSH và đăng nhập từ Windows...10</small>

<small>1, Giới thiệu về server SSH...10</small>

<small>2, SSH có bảo mật khơng...10</small>

<small>3, Sử dụng SSH khi nào...10</small>

<small>4, SSH hoạt động như thế nào...11</small>

<small>5, Ưu điểm của SSH...11</small>

<small>6, Các lệnh phổ biến trong SSH...12</small>

<small>7, Các kỹ thuật mã hóa SSH...14</small>

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

<small>V, Cài đặt server SSH trên Ubuntu...16</small>

<small>VI, Kết nối SSH từ Window...18</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

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

<i><b>1, Giới thiệu</b></i>

Về cơ bản, hệ điều hành là thứ giúp cho tồ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ườ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.

<i><b>2, Đặc trưng</b></i>

Ư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 số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.

<i><small>Hình 1</small></i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="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 ro như 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 tồ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 tồ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 q trình hồ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ỉnh sử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ọ.

<small>2</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="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.

- Nhược điểm

• Khó khăn khi sử dụng

Điều này không đúng với tất cả các phần mềm nguồn mở vì nhiều phần mềm trong số chúng (chẳng hạn như LibreOffice, Mozilla Firefox và hệ điều hành Android) cực kỳ dễ sử dụng. Tuy nhiên, một số ứng dụng mã nguồn mở có thể khó thiết lập và sử dụng. Điều này có thể ảnh hưởng đến năng suất và sẽ là rào cản lớn nhất khi bạn quyết định sử dụng các phần mềm này hay khơng.

• 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ọ hồn tồn kiểm số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

<i><small>Hình 2</small></i>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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.

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

Ubuntu 22.04 Kubuntu, Xubuntu, Linux Mint 14 2014 Mandriva

Linux là một hệ điều hành máy tính được phát triển từ năm 1991 dựa trên hệ điều hành Unix và bằng viết bằng ngôn ngữ C.

<small>4</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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.

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

+ 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).

+ Application

Đây là phần quen thuộc với chúng ta nhất, phần để người dùng cài đặt ứng dụng, chạy ứng dụng để người dùng có thể phục vụ cho nhu cầu của mình.

<b>III, Tổng quan về Ubuntu</b>

<i><b>1. Ubuntu là gì?</b></i>

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ịu trá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ản thô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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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ủ.

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

- Khơng u cầu cấu hình mạnh

Thơng thường, q 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 q 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.

<i><small>Hình 3</small></i>

<i><small>Hình 4</small></i>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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.

<i><b>1, Giới thiệu về server SSH</b></i>

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 tồn…

<i><b>2, SSH có bảo mật khơng</b></i>

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 tồ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 qua việc thực hiện DSA, RSA hoặc ECDSA thuật tốn mã khóa cơng khai.

Để xác minh mã hóa và tồn vẹn dữ liệu, một số thuật tố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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

hoàn tồn an tồ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ã.

<i><b>3, Sử dụng SSH khi nào</b></i>

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 tồ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,..

<i><b>4, SSH hoạt động như thế nào</b></i>

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.

<i><b>5, Ưu điểm của SSH</b></i>

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.

<small>8</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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ư:

– Lệnh này được sử dụng để liệt kê tất cả các tệp và thư mục. gợi ý là nên sử dụng lệnh với tùy chọn -l, và ta có lệnh ls -l, theo cách này, tất cả các tệp sẽ được liệt kê thuận tiện hơn, và bạn cũng sẽ có thêm chi tiết / thơng tin về chúng. một tùy chọn hữu ích khác là -a, option cũng giúp hiển thị tất cả các tệp, bao gồm cả các tệp / thư mục ẩn (các tệp có dấu “.” ở trước, ví dụ: .ssh directory).

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ọn một thư mục để “chuyển” đến. ví dụ: giả sử có một directory home mà bạn muốn

<i><small>Hình 5</small></i>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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 đ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 đi có thể đặt tên tù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 đ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”.

<small>10</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

7. pwd

– Lệnh này sẽ hiển thị vị trí hiện tại của bạn trong hệ thống tệp. ví dụ, gõ pwd, kết quả trả về có thể là như sau: “home/user/public_html”.

8. cp

– Lệnh này được sử dụng để sao chép các tập tin và thư mục.

<i><b>7, Các kỹ thuật mã hóa SSH</b></i>

1.1 SSH Symmetrical Encryption

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 tốn này an tồ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 để

<i><small>Hình 6</small></i>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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 tốn tạo key.

1.2 SSH Asymmetrical Encrytion

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 key và private key. Cả 2 hình thành nên một cặp khóa là public-private key pair. Trong đó, khóa public sẽ được cơng khai cho tất cả các bên liên quan còn private key phải ln ln được đảm bảo an tồn.

Asymmetrical Encrytion chỉ được sử dụng trong q trình trao đổi thuật tố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. Sau khi kết nối symmetrict 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 để 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.

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

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ết nố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.

<small>12</small>

</div>

×