Sử dụng SSH để sử dụng an toàn Kết nối Máy tính Từ xa với Windows

Trang Cập Nhật :
Ngày tạo trang :

Môi trường hoạt động

Kết nối từ xa với Windows
  • cửa sổ 11
Kết nối từ xa từ Windows
  • cửa sổ 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Điều kiện tiên quyết

Kết nối từ xa với Windows
  • Windows 10 trở lên (yêu cầu Pro hoặc phiên bản khác). Tuy nhiên, điều này không áp dụng nếu OpenSSH có thể được chuẩn bị riêng.
  • Windows Server 2019 trở lên. Tuy nhiên, điều này không áp dụng nếu OpenSSH có thể được chuẩn bị riêng.
Kết nối từ xa từ Windows
  • Windows (hầu hết các phiên bản đều có thể)
  • Windows Server (hầu hết các phiên bản đều có thể)

Lúc đầu

Sau khi xây dựng môi trường Windows trên Internet trên đám mây hoặc VPS, bạn thường sử dụng kết nối máy tính từ xa để vận hành đích Windows từ xa.

Trong kết nối máy tính từ xa, nội dung giao tiếp được mã hóa và nếu tên người dùng và mật khẩu không bị rò rỉ, những người khác sẽ không đăng nhập mà không được phép. Luôn có mối lo ngại rằng mọi người sẽ cố gắng đăng nhập từ bất cứ đâu.

Một số đám mây lớn có tường lửa tách biệt với máy ảo và có chức năng hạn chế nguồn kết nối. Các tính năng này có thể không có sẵn trong tất cả các dịch vụ. Đặc biệt là trong các môi trường được xây dựng trên ngân sách thấp, có nhiều trường hợp các chức năng như vậy không có sẵn.

Do đó, lần này, tôi muốn giới hạn nguồn kết nối càng nhiều càng tốt bằng cách thêm chức năng SSH . Vì khóa riêng và khóa công khai được sử dụng, miễn là khóa riêng không bị rò rỉ, khả năng đăng nhập từ xa từ môi trường khác có thể được giảm thiểu càng nhiều càng tốt.

Trong trường hợp này, chúng ta sẽ sử dụng OpenSSH để xây dựng môi trường SSH.

Xây dựng môi trường Windows đích từ xa

Xây dựng môi trường Windows cho phép bạn kết nối từ xa qua Internet. Không quan trọng nó được xây dựng ở đâu miễn là nó đi qua Internet, nhưng để xác minh này, nó sẽ được xây dựng như một máy ảo trên Microsoft Azure. Các bước để xây dựng trên Azure không liên quan đến mẹo này, vì vậy tôi sẽ bỏ qua chúng. Vì cổng 22 sẽ được sử dụng lần này, nếu bạn sử dụng Azure, hãy đảm bảo rằng giao tiếp cổng 22 đi qua cài đặt của máy ảo trên Azure.

Nếu bạn đang xây dựng trong một môi trường không phải Azure, hãy đảm bảo rằng bạn đang ở vị trí mà bạn có thể tạo kết nối máy tính từ xa với Windows cho môi trường của mình.

Ngoài ra, phiên bản Windows nhắm mục tiêu Windows 10 trở lên hoặc Windows Server 2019 trở lên, giúp dễ dàng xây dựng môi trường OpenSSH. Nó có thể được triển khai trong môi trường trước đó, nhưng phải mất nhiều thời gian và công sức hơn một chút vì bạn cần tải xuống và thiết lập OpenSSH riêng biệt.

Trong trường hợp đó, quy trình giống như đối với SFTP, vì vậy vui lòng tham khảo các mẹo sau.

Thiết lập OpenSSH

Từ đây, chúng ta sẽ làm việc trong môi trường Windows từ xa. Đầu tiên, kết nối với đích từ xa bằng kết nối máy tính từ xa. Nếu đám mây hoặc VPS của bạn cung cấp bảng điều khiển, bạn có thể sử dụng nó. Vì lần này chúng tôi đang hoạt động trong môi trường Windows 11, các bước có thể hơi khác trong các phiên bản khác.

Mở menu Bắt đầu và chọn Cài đặt.

Chọn một ứng dụng.

Chọn Tính năng tùy chọn.

Chọn Show Features (Hiển thị tính năng).

Có "Máy chủ OpenSSH" thấp hơn một chút trong danh sách, vì vậy hãy kiểm tra nó và nhấp vào "Tiếp theo".

Nhấp vào Cài đặt.

Khi quá trình cài đặt hoàn tất và "OpenSSH Server" được thêm vào danh sách bên dưới, bạn đã hoàn tất.

Cấu hình dịch vụ cho OpenSSH

Nhấp chuột phải vào menu Start và chọn Computer Management.

Chọn Dịch vụ từ danh sách ở bên trái.

Tìm "OpenSSH SSH Server" trong danh sách giữa, nhấp chuột phải và chọn "Thuộc tính".

Khi kết nối từ xa, chúng tôi muốn máy chủ OpenSSH đang chạy, vì vậy hãy đặt "Loại khởi động" thành "Tự động".

Vì nó không chạy vào lúc này, tôi sẽ khởi động nó ở đây, bao gồm cả việc thiết lập nó.

Sau khi khởi chạy, hãy nhấp vào đồng ý để đóng nó. Nó sẽ được chạy trong danh sách.

Cấu hình OpenSSH

Ở trạng thái ban đầu, xác thực bằng khóa riêng bị tắt, vì vậy hãy đặt nó. Mở thư mục sau trong Explorer.

  • C:\ProgramData\ssh

Tuy nhiên, thư mục trên có thể là một thư mục ẩn, vì vậy hãy hiển thị nó bằng cách đặt các tùy chọn Explorer.

Có một tệp được gọi trong thư mục, vì vậy hãy sshd_config mở nó bằng trình soạn thảo văn bản như Notepad. Vì chúng tôi sẽ thực hiện các thay đổi lần này, vui lòng sao chép và sao chép làm sshd_config_old bản sao lưu trước khi thay đổi.

PubkeyAuthentication yes Sưu tầm: Mục này là cài đặt cho việc có bật xác thực khóa bí mật hay không. Theo mặc định, nó bị vô hiệu hóa và nó nói , nhưng nó được nhận xét, yes vì vậy hãy bỏ ghi chú nó.

Trước khi thay đổi

#PubkeyAuthentication yes

Sau khi thay đổi

PubkeyAuthentication yes

PasswordAuthentication yes Sưu tầm: Mục này là cài đặt cho việc có bật xác thực mật khẩu hay không. Nó được bật theo mặc định và ngay cả khi bạn bật xác thực khóa riêng, nó vẫn vô nghĩa theo quan điểm bảo mật nếu nó vẫn được bật, vì vậy hãy bỏ ghi chú nó và no đặt .

Trước khi thay đổi

#PasswordAuthentication yes

Sau khi thay đổi

PasswordAuthentication no

Nhận xét dòng sau gần cuối: Đây là cài đặt chính cho nhóm quản trị viên và chúng tôi sẽ vô hiệu hóa nó vì chúng tôi sẽ hỗ trợ đăng nhập cho mỗi người dùng trong trường hợp này.

Trước khi thay đổi

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Sau khi thay đổi

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Sau khi lưu tệp sau khi OpenSSH SSH Server thay đổi, hãy khởi động lại dịch vụ để phản ánh cài đặt.

Nếu bạn muốn thay đổi cổng

Nếu bạn muốn thay đổi cổng SSH, hãy thay đổi như sau.

Trước khi thay đổi

#Port 22

Sau khi thay đổi

#Port <任意の番号>

Bằng cách thay đổi số cổng, cổng mặc định sẽ không bị tấn công, điều này sẽ dẫn đến bảo mật mạnh mẽ hơn. Mặt khác, nó làm tăng độ phức tạp của hoạt động, vì vậy bạn cần cẩn thận.

Nếu bạn thay đổi số cổng, bạn phải chỉ định một cổng khác với 22 khi kết nối.

Tạo khóa riêng và khóa công khai

Đây là một nhiệm vụ phía máy khách. Tuy nhiên, nó không thực sự quan trọng nơi bạn làm việc. Tuy nhiên, hãy cẩn thận để không làm rò rỉ khóa riêng bạn đã tạo.

Nếu bạn có Windows 10 trở lên, Windows Server 2019 trở lên, máy khách OpenSSH được cài đặt theo mặc định, vì vậy bạn có thể dễ dàng tạo nó bằng lệnh. Trong các môi trường khác, bạn sẽ cần cài đặt một máy khách OpenSSH riêng biệt hoặc sử dụng một công cụ riêng biệt.

Các mẹo sau đây dành cho SFTP, nhưng vui lòng tham khảo chúng để thiết lập máy khách OpenSSH.

Trong môi trường máy khách, khởi chạy dấu nhắc lệnh, PowerShell, thiết bị đầu cuối hoặc bất kỳ công cụ nào có thể thực thi lệnh.

Vì bạn sẽ tạo một tệp, hãy di chuyển cd đến bất kỳ thư mục nào bằng lệnh.

Chạy lệnh sau:

ssh-keygen -t rsa -f id_rsa

Bạn có thể đặt cụm mật khẩu (mật khẩu) cho khóa, vì vậy vui lòng nhập mật khẩu nếu cần. Nếu bạn đặt cụm mật khẩu, bảo mật sẽ được tăng cường, nhưng nó sẽ tăng thời gian và công sức nhập cụm mật khẩu trong quá trình sau.

Khóa công khai (id_rsa.pub) và khóa riêng (id_rsa) đã được tạo.

Khóa công khai (id_rsa.pub) sẽ được đặt trên đích từ xa sau. Khóa riêng có thể được đặt ở bất kỳ đâu trên máy khách từ xa, nhưng nó phải được đặt trong một thư mục chỉ có thể được truy cập bởi tài khoản được sử dụng cho mục đích bảo mật. Về cơ bản, tôi nghĩ rằng không có vấn đề gì nếu bạn đặt nó trong thư mục sau ở phía máy khách. Nếu bạn sử dụng máy khách OpenSSH, nó sẽ duyệt đến thư mục này theo mặc định.

  • C:\Users\<ユーザー名>\.ssh

Nếu bạn không thể tạo thư mục trên trong Explorer, bạn có thể tạo nó bằng lệnh sau.

cd C:\Users\<ユーザー名>
mkdir .ssh

Vị trí của khóa công khai

Đây là một hoạt động từ xa. Đặt khóa công khai đã tạo (id_rsa.pub) trên đích từ xa. Di chuyển tệp này vào thư mục sau: <ユーザー名> là tên của tài khoản người dùng mà bạn sẽ đăng nhập khi bạn thực sự kết nối từ xa.

  • C:\Users\<ユーザー名>\.ssh

Nếu bạn không có thư mục và không thể tạo thư mục trong Explorer, bạn có thể tạo thư mục bằng lệnh sau.

cd C:\Users\<ユーザー名>
mkdir .ssh

Thay đổi tệp authorized_keys khóa công khai đã triển khai thành . Đó là nó.

Tùy thuộc vào môi trường của bạn, bạn có thể đã authorized_keys có tệp. Đây có thể là trường hợp nếu bạn đã thiết lập kết nối SSH cho các mục đích khác. Trong trường hợp authorized_keys đó, bạn đã đăng ký tệp bằng cách mở tệp và tệp bằng Notepad, v.v. và id_rsa.pub liệt kê nội dung của id_rsa.pub trên dòng tiếp theo của authorized_keys. Bạn có thể đăng ký nhiều khóa công khai trong authorized_keys.

Kết nối với SSH

Khi kết nối với lệnh OpenSSH

Có nhiều cách khác nhau để kết nối với SSH, nhưng hãy bắt đầu với kết nối dựa trên lệnh. Trên thực tế, kết nối với số bước ít nhất là bằng lệnh. Như một điều kiện tiên quyết, bạn phải có máy khách OpenSSH cài đặt.

Khởi chạy công cụ lệnh bạn chọn (Command Prompt, PowerShell, Terminal).

Nhập lệnh sau:

Định dạng lệnh

ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>

Sau đây là giải thích về các tham số. Đặt nó theo môi trường của bạn.

Mô tên
tả tham số biến
SSH Khai báo sử dụng SSH với OpenSSH.
-tôi Khai báo sử dụng tệp khóa riêng.
< đường dẫn tệp khóa riêng> Mô tả vị trí của tệp khóa riêng mà bạn đã tạo. C:\Users\<ユーザー名>\.ssh Đường dẫn là tùy chọn. Nếu không, một đường dẫn tuyệt đối hoặc tương đối là bắt buộc.
-L Tuyên bố này chỉ định cổng sẽ được sử dụng cục bộ và từ xa khi kết nối với một điểm đến từ xa.
< cảng miễn phí địa phương> Kết nối Máy tính Từ xa thường sử dụng cổng 3389, nhưng bạn có thể kết nối bằng bất kỳ cổng nào. Không quan trọng đó là số nào, miễn là nó miễn phí.
127.0.0.1 Đây là địa chỉ IP máy chủ nhận ra nơi đích đến từ xa được kết nối. Về cơ bản, 127.0.0.1 là tốt.
3389 Số cổng sẽ được sử dụng tại điểm đến từ xa. Điểm đến từ xa thường được kết nối bằng cổng 3389 với kết nối máy tính để bàn từ xa, vì vậy nó có thể được để nguyên.
< tên của tài khoản người dùng mà bạn muốn kết nối> Chỉ định tài khoản bạn muốn kết nối tại điểm đến từ xa.
< địa chỉ IP hoặc tên máy chủ của máy chủ để kết nối> Chỉ định máy chủ đích từ xa.

Ví dụ đầu vào

ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194

Lần đầu tiên, bạn sẽ được nhắc nhập một phím, vì vậy yes hãy nhập và nhấn Enter.

Nếu bạn có cụm mật khẩu được đặt cho khóa riêng của mình, bạn phải nhập cụm mật khẩu đó.

Sau đây sẽ ở trạng thái được kết nối. Bạn có thể thấy rằng người dùng ở phía máy chủ đang được hiển thị, không phải máy khách. Trong khi cửa sổ này được hiển thị, nó đã được kết nối, vì vậy vui lòng không đóng nó. Nếu bạn đóng nó, kết nối sẽ bị hỏng.

Khi kết nối với PuTTY

Ở đây, chúng tôi sẽ cố gắng kết nối với SSH bằng một công cụ có tên là PuTTY.

Chuyển đổi khóa riêng

Đầu tiên, nếu bạn sử dụng PuTTY, bạn sẽ cần chuyển đổi khóa riêng. Tôi nghĩ rằng có "puttygen .exe" trong công cụ đính kèm, vì vậy hãy khởi động nó.

Chọn "Chuyển đổi -> Nhập khóa" từ menu.

Chọn khóa riêng bạn đã tạo, trong trường hợp này là "id_rsa".

Nếu bạn đã đặt cụm mật khẩu, hãy nhập cụm mật khẩu đó.

Chọn "File -> Save private key" từ menu.

「. .ppk" tập tin.

Sau khi tạo, bạn đã hoàn tất.

Cấu hình PuTTY

Khởi chạy putty.exe.

Nhập địa chỉ IP của môi trường bạn muốn kết nối. Nếu bạn có miền, bạn có thể kết nối với một tên miền.

Chọn Connection -> Data từ menu bên trái. Trong trường Tên người dùng tự động đăng nhập, hãy nhập tên tài khoản của môi trường bạn muốn kết nối.

Từ menu bên trái, chọn Connection -> SSH -> Tunnels. Nhập từng người trong số họ vào trường nhập bên dưới và nhấp vào nút "Thêm".

Tên tham số Nhận xét giá trị
Cổng nguồn 13389 Bất kỳ cổng miễn phí sẽ làm. Tôi sẽ sử dụng nó sau
Đích 127.0.0.1:3389

Khi được thêm vào, nó sẽ trông như thế này:

Tiếp theo, chọn "Kết nối -> SSH -> Auth -> Cledentioals" từ menu bên trái và nhấp vào nút Duyệt cho "Tệp khóa riêng để xác thực".

Chọn khóa riêng mà bạn đã lưu.

Chọn "Phiên" trong menu bên trái, nhập tên bạn chọn cho Lưu phiên và nhấp vào nút Lưu. Từ lần sau trở đi, bạn có thể tải cài đặt này.

Sau khi xác nhận lưu, nhấp vào nút "Mở".

Màn hình sau sẽ được hiển thị khi kết nối lần đầu tiên. Nhấp vào nút Chấp nhận.

Bạn sẽ thấy một màn hình trông giống như một dấu nhắc lệnh. Nếu bạn có cụm mật khẩu cho khóa riêng, hãy nhập nó.

Nếu nội dung hiển thị thay đổi như hình dưới đây, nó sẽ được kết nối. Bạn có thể thấy rằng người dùng ở phía máy chủ đang được hiển thị, không phải máy khách. Trong khi cửa sổ này được hiển thị, nó đã được kết nối, vì vậy vui lòng không đóng nó. Nếu bạn đóng nó, kết nối sẽ bị hỏng.

Tạo kết nối máy tính từ xa với SSH

Bây giờ, hãy tạo kết nối máy tính từ xa trong khi kết nối với SSH.

Khi kết nối, phần máy tính không phải là địa chỉ từ xa thực tế, mà là "localhost: < > tên cổng được chỉ định trong kết nối SSH". Trong ví dụ, 13389 đã được chỉ định, vì vậy ở đây chúng tôi sẽ kết nối với "localhost: 13389".

Nếu màn hình xác thực được hiển thị, bạn có thể đánh giá rằng kết nối đã hoàn tất. Nhập tên người dùng và mật khẩu của bạn để kết nối.

Nếu bạn có thể kết nối như thế này, bạn đã thành công.

Vô hiệu hóa kết nối máy tính từ xa thông thường trong cài đặt tường lửa

Tại thời điểm của mục trước, bây giờ bạn có thể kết nối với máy tính để bàn từ xa bằng SSH. Tuy nhiên, ở trạng thái này, "Remote Desktop Connection by SSH" chỉ được thêm vào "Normal Remote Desktop Connection". Về mặt bảo mật, nó không thêm bất cứ điều gì. Vì vậy, điều tiếp theo cần làm là ngăn chặn "kết nối máy tính từ xa bình thường".

Nếu bạn thực hiện cài đặt này, bạn sẽ không thể kết nối ngoại trừ "kết nối máy tính từ xa bằng SSH", vì vậy nếu bạn gây rối với cài đặt, bạn có thể không có phương tiện để kết nối từ xa. Do đó, hãy chắc chắn kiểm tra trước rằng "kết nối máy tính từ xa bằng SSH" là có thể và có thể vận hành môi trường từ xa bằng các phương tiện khác ngay cả khi máy khách bạn đang cố gắng kết nối biến mất.

Tại đây, định cấu hình cài đặt tường lửa trong "Kết nối máy tính từ xa qua SSH". Điều này là do nếu bạn thực hiện thao tác với "kết nối máy tính từ xa bình thường", nó sẽ bị ngắt kết nối ngay khi bạn đặt tường lửa.

Xem Tường lửa của Bộ bảo vệ Windows với Bảo mật Nâng cao. Tùy thuộc vào phiên bản Windows, vị trí của màn hình sẽ khác nhau, vì vậy vui lòng hiển thị nó theo phiên bản đó.

Chọn Inbound Rules (Quy tắc đến) từ menu bên trái.

Trong danh sách giữa, tìm "Máy tính để bàn từ xa - Chế độ người dùng (TCP In)" và mở thuộc tính của nó.

Chọn tab Phạm vi, thay đổi địa chỉ IP cục bộ thành Các địa chỉ IP này và nhấp vào Thêm cái nút.

Nhập 127.0.0.1 và nhấp vào OK cái nút. Điều này sẽ ngăn kết nối máy tính từ xa từ bất kỳ nơi nào khác ngoài 127.0.0.1. 127.0.0.1 là địa chỉ IP trỏ đến máy của bạn. Nếu bạn nhập sai giá trị, bạn có thể không kết nối được từ bất kỳ đâu, vì vậy hãy cẩn thận.

Nhấn vào đồng ý để xác nhận.

Hiện tại, điều này một mình là một biện pháp đối phó, nhưng chúng ta cũng hãy đặt "Máy tính từ xa - Chế độ người dùng (UDP Receive)".

Xác minh rằng bạn không thể kết nối từ xa với bất kỳ thứ gì khác ngoài SSH

Bây giờ, hãy thử tạo kết nối máy tính từ xa từ một PC khác không sử dụng SSH.

Nếu bạn có thể kết nối, màn hình xác thực sẽ được hiển thị. Không sao nếu bạn có thể xác nhận rằng kết nối không thể được thực hiện như hình dưới đây.

Tóm tắt

Với Windows mới nhất, giờ đây thật dễ dàng để giới thiệu một máy chủ SSH. Bằng cách thêm cài đặt, giờ đây bạn có thể dễ dàng tăng cường bảo mật cho kết nối máy tính từ xa của mình. Tuy nhiên, vì nó chỉ chịu trách nhiệm về các biện pháp bảo mật trong chính Windows, Nếu bạn muốn làm cho nó an toàn hơn, tôi nghĩ tốt hơn là thiết lập một máy chủ SSH hoặc tường lửa riêng trước khi kết nối với Windows.

Ngoài ra, bạn có thể thiết lập bảo mật chặt chẽ bằng SSH, nhưng khi quá khó, không ai có thể kết nối do lỗi vận hành. Hãy cẩn thận để không kết thúc với điều đó.