Bạn dán lệnh cài đặt một dòng từ hướng dẫn, nhấn Enter và nhận được curl: (77). Thông báo nhắc đến vị trí xác minh chứng chỉ, nên bản năng là cho rằng chứng chỉ của nhà cung cấp VPN bị hỏng và tìm một tùy chọn bỏ qua xác minh. Cách đọc đó sai, và hành động theo nó biến một vấn đề tệp cục bộ thành quyết định bảo mật. Hãy lần lại từ đầu.

Bước 1: đọc xem con số này có nghĩa gì

Lỗi 77 liên quan đến đầu vào CA cục bộ: curl không đọc hoặc tải được vật liệu chứng chỉ mà nó được bảo phải tin. Lỗi 60 là lỗi về phía đối phương, khi chuỗi chứng chỉ của máy chủ không xác thực. Chúng xuất hiện cạnh nhau trong các hướng dẫn và mang nghĩa trái ngược.

Nếu kết quả của bạn nói 77, máy chủ chưa bao giờ là vấn đề. Ứng dụng khách không mở được tệp mà nó muốn dùng để kiểm tra, và đây là vấn đề đường dẫn, quyền hoặc đóng gói trên máy của bạn.

Bước 2: đọc lệnh bạn đã sao chép

Các lệnh sao chép che giấu ký tự. Chữ -l viết thường là --list-only, áp dụng cho việc liệt kê giao thức. Chữ -L viết hoa là --location, theo một chuyển hướng HTTP. Chúng không phải cách viết thay thế, và một hướng dẫn viết cái này trong khi mô tả cái kia sẽ đẩy người ta vào một đường chuyển hướng chưa từng được dự định.

Theo một chuyển hướng không sửa được đường dẫn của kho tin cậy và không chứng minh rằng máy chủ cuối cùng là nhà phát hành bạn muốn. Nếu lệnh đến từ một bài đăng diễn đàn, hãy gõ lại từ hướng dẫn của chính dự án thay vì tin vào nội dung đã dán.

Bước 3: tìm xem bản dựng đó dùng đầu vào CA nào

Bắt đầu bằng việc nhận diện tệp nhị phân, vì câu trả lời phụ thuộc vào cách nó được biên dịch:

curl --version

Ghi lại phiên bản và backend TLS. Một bản dựng dùng kho tin cậy gốc sẽ đọc kho của hệ thống qua thư viện TLS, trong khi bản dựng trỏ đến một gói sẽ đọc tệp. Một --cacert rõ ràng, một cài đặt CURL_CA_BUNDLE hoặc một trình bao shell đều có thể ghi đè cả hai, nên bản cài từ gói có thể không chạm vào tệp thực sự thất bại.

Với kho dựa trên tệp, hãy kiểm tra ba điều theo thứ tự: đường dẫn có tồn tại không, tài khoản gọi lệnh có đọc được không, và nó có chứa vật liệu CA bạn mong đợi không. Một gói có quyền sai sẽ thất bại y như gói bị thiếu, và cả hai đều thất bại trước khi có bất kỳ cuộc trò chuyện mạng nào về máy chủ.

Bước 4: sửa đầu vào, không sửa xác minh

Khôi phục cấu hình tin cậy được hỗ trợ thông qua bên sở hữu nó: gói của bản phân phối, công cụ quản lý cấu hình của bạn hoặc biến môi trường đã được ghi tài liệu. Mục tiêu là một đầu vào CA đọc được và đúng cho tệp nhị phân đó.

Đừng đổi URL sang HTTP, đừng thêm --insecure, và đừng tin một chứng chỉ được sao chép từ một bản tải xuống không rõ nguồn gốc. Mỗi thay đổi đó sửa đổi thứ bạn sẵn sàng chấp nhận thay vì sửa thứ curl không đọc được, và thay đổi thường sống lâu hơn sự cố.

Tài liệu tham chiếu cho các con số là danh mục lỗi của curl, và nó đủ ngắn để đọc kỹ một lần.

Bước 5: tải xuống, xem, rồi mới chạy

Tải trình cài đặt về một tệp thay vì đưa nó qua đường ống vào shell trong cùng một lệnh. Thay đổi duy nhất đó tách một lần truyền bạn có thể kiểm tra khỏi mã chạy với quyền của bạn.

curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.sh

Kiểm tra rằng phản hồi là script bạn mong đợi chứ không phải trang lỗi HTML, thông báo chuyển hướng hay tệp rỗng. Nếu nhà phát hành cung cấp checksum hoặc chữ ký, hãy xác minh qua quy trình phát hành có tài liệu của họ chứ không phải một giá trị được trích trong cùng chủ đề diễn đàn.

Hãy nhớ HTTPS đã làm gì và không làm gì. Nó xác thực việc truyền đến máy chủ bạn đã liên hệ; nó không xem xét nội dung script và không cho bạn biết nhà phát hành có đáng tin không.

Bước 6: giữ các bước cài đặt tách biệt

Tải tệp xuống, cài ứng dụng khách, cấu hình đường hầm và xác thực tuyến là bốn thao tác với bốn kiểu thất bại khác nhau. Làm từng việc một nghĩa là một lỗi về sau trong chuỗi có một nguyên nhân rõ ràng thay vì bốn ứng viên.

Nếu cài đặt thành công và đường hầm hoạt động, hãy xác thực các tuyến và một đích thực trước khi đóng phiếu. Lỗi curl được sửa khi một curl -I https://example.invalid đơn giản hoạt động trở lại, không phải khi trình cài đặt ngừng phàn nàn.

Bài viết liên quan