Trình chỉnh sửa VPN từ xa qua SSH: bạn đang sửa máy nào?
Chuyển tiếp X11 hiển thị trình chỉnh sửa từ xa trên máy tính xách tay của bạn, nhưng hồ sơ và tuyến đường vẫn ở trên máy chủ từ xa. Kiểm tra máy chủ, UUID và đường khôi phục trước khi lưu.
Chuyển tiếp X11 đặt cửa sổ của trình chỉnh sửa trên máy tính xách tay của bạn trong khi tiến trình vẫn chạy trên máy chủ từ xa. Khoảng cách đó chính là toàn bộ cái bẫy: bạn đang nhìn một cửa sổ cục bộ và sửa một hồ sơ từ xa, và một giả định sai về việc máy nào sở hữu thay đổi có thể cắt đứt liên kết SSH mà bạn đang làm việc. Danh sách kiểm tra bên dưới cố định máy chủ và hồ sơ trước khi bất cứ thứ gì được lưu. Mỗi bước có một điều kiện dừng, nên thất bại sớm thì rẻ.
Bước 1: gọi tên máy sở hữu hồ sơ
Chạy các lệnh nhận dạng trong shell bạn sắp cấu hình, và đọc câu trả lời thay vì đoán từ dấu nhắc. Tên máy chủ trên dấu nhắc là một chuỗi do shell của bạn in ra; tên máy chủ của hạt nhân là thứ mà phần còn lại của danh sách này tin tưởng. Nếu hai cái không khớp, bạn đang ở sai máy hoặc dấu nhắc đã được shell cục bộ của bạn trang trí. Dừng lại và kết nối lại với máy chủ dự định trước khi tiếp tục.
hostnamectl
hostname -f
ip -brief address
Câu hỏi tiếp theo là máy này có nên giữ VPN hay không. Cấu hình ứng dụng khách của máy tính xách tay và cấu hình ứng dụng khách của máy chủ từ xa tạo ra các tuyến, DNS và chế độ lỗi khác nhau. Quyết định bạn muốn nói đến cái nào trước khi chạm vào hồ sơ, và ghi lại quyết định ở nơi người tiếp theo sẽ tìm thấy.
Bước 2: đọc hồ sơ bằng UUID, không phải bằng nhãn
NetworkManager nhận dạng kết nối bằng UUID, trong khi tên là một nhãn mà bất kỳ ai cũng có thể sửa hoặc nhân bản. Liệt kê cả hai và khớp đúng mục bạn thực sự muốn, đặc biệt trên một máy chủ đã nhập nhiều hồ sơ VPN trong nhiều năm.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
nmcli general permissions
Các mục đã lưu và kết nối đang hoạt động trả lời những câu hỏi khác nhau: mục đầu liệt kê những gì tồn tại, mục sau liệt kê những gì đang mang lưu lượng ngay bây giờ. Dòng quyền mô tả chính sách cục bộ cho phiên của bạn và không nói gì về việc cổng VPN có chấp nhận tài khoản hay không. Nếu hồ sơ bạn cần không có trong danh sách đã lưu, hãy dừng ở đây, vì sửa sai mục còn tệ hơn là không sửa gì.
Khi đã có UUID, hãy đặt nó vào một biến và dùng biến đó trong mọi lệnh sau. Điều đó loại bỏ cả một nhóm lỗi sao chép và dán, đồng thời làm cho bản ghi có thể tái tạo.
UUID=$(nmcli -g UUID connection show 'Corp VPN')
nmcli connection edit uuid "$UUID"
Bước 3: quyết định xem trình chỉnh sửa đồ họa có phải công cụ phù hợp
Một trình chỉnh sửa cần lời nhắc polkit hoặc tác nhân bí mật sẽ không có được nó chỉ vì cửa sổ của nó xuất hiện trên máy tính xách tay của bạn. Những thành phần đó chạy trong ngữ cảnh của phiên từ xa, và việc chuyển tiếp màn hình không chuyển tiếp chúng. Nếu trình chỉnh sửa không lưu được do lỗi ủy quyền hoặc lỗi bí mật, thì màn hình không phải là vấn đề.
echo "$DISPLAY"
ssh -X you@vpn-host
xauth list
OpenSSH bật chuyển tiếp X11 bằng -X và ghi lại sự thận trọng đi kèm: máy chủ từ xa có thể tiếp cận màn hình cục bộ của bạn, đây là một ranh giới tin cậy thực sự. Chuyển tiếp tin cậy bằng -Y loại bỏ một số kiểm tra đó và không bao giờ nên là giải pháp phản xạ cho một ứng dụng thất bại dưới cấu hình mặc định. Nếu tổ chức của bạn công bố một phương pháp quản trị từ xa, hãy dùng phương pháp đó thay vì phát minh một biến thể. Trong hầu hết các trường hợp, trình chỉnh sửa dòng lệnh là bề mặt nhỏ hơn và câu trả lời tốt hơn.
Dừng ở đây nếu con đường duy nhất hoạt động cần -Y và bạn không thể giải thích tại sao. Đó là quyết định của người sở hữu chính sách bảo mật, không phải một đường vòng để giữ trong tập lệnh cá nhân.
Bước 4: giữ một đường khôi phục trước khi kích hoạt bất cứ thứ gì
Một thay đổi VPN có thể xóa tuyến mà phiên SSH của bạn phụ thuộc vào, nên hãy sắp xếp đường quay lại trước khi kích hoạt hồ sơ. Truy cập bảng điều khiển, địa chỉ quản trị ngoài băng hoặc khôi phục theo lịch đều được tính; hy vọng thay đổi sẽ hoạt động thì không được tính.
sudo systemctl status NetworkManager
ip route show default
ss -tn state established '( sport = :22 )'
Chỉ kích hoạt hồ sơ dự định, sau đó xác minh từ máy chủ từ xa: tuyến mặc định, đường trả về SSH và một tài nguyên phải truy cập được qua đường hầm. Kiểm tra thành công từ máy tính xách tay của bạn chỉ kiểm tra đường đi của máy tính xách tay và không nói gì về máy chủ từ xa. Nếu phiên bị rớt, hãy dùng đường khôi phục thay vì kết nối lại một cách mù quáng. Lưu hồ sơ không phải là kích hoạt, và kích hoạt không phải là xác minh.
Ghi lại UUID, các giá trị thuộc tính bạn đã thay đổi và các lệnh bạn dùng để xác minh chúng. Người tiếp theo chạm vào máy chủ này sẽ cần cả ba, và một bản ghi đáng giá hơn một bản tóm tắt nói rằng VPN đã được sửa. Một danh sách kiểm tra kết thúc mà không có ghi chú khôi phục là nửa danh sách.