SSH ProxyCommand và xác thực dựa trên máy chủ: máy chủ nào ký?
Phân biệt việc chuyển tiếp luồng TCP qua một bastion với việc khởi động một máy khách SSH thứ hai tại đó khi xác thực dựa trên máy chủ liên quan.
Mục tiêu có thể thấy kết nối TCP đến từ bastion trong khi máy khách SSH thực hiện xác thực vẫn chạy trên máy trạm.
Host behind-bastion
ProxyCommand ssh -W %h:%p bastionỞ đây trình trợ giúp đăng nhập vào bastion và yêu cầu máy chủ SSH của nó một kết nối được chuyển tiếp tới mục tiêu. Máy khách SSH bên ngoài của máy trạm trao đổi giao thức SSH của mục tiêu qua luồng đó. Bastion cung cấp phương tiện vận chuyển; nó chưa khởi động máy khách SSH hướng tới mục tiêu.
Sự khác biệt đó quan trọng với xác thực dựa trên máy chủ. Trình trợ giúp ssh-keysign của OpenSSH truy cập khóa máy chủ cục bộ để tạo chữ ký cần thiết. Việc địa chỉ nguồn mạng thuộc về bastion không làm máy trạm ký bằng khóa máy chủ của bastion.
So sánh với:
ssh -t bastion ssh targetLệnh này khởi động một chương trình SSH khác trên bastion. Cấu hình cục bộ và các khóa máy chủ sẵn có thuộc về máy đó, nên nó có thể tham gia vào một thỏa thuận tin cậy dựa trên máy chủ đã được cấu hình giữa bastion và mục tiêu. Nó vẫn cần sự ủy quyền tương ứng và kiểm tra tên của mục tiêu.
Dạng thứ hai cũng thay đổi cách phiên hoạt động: nó chạy lệnh từ xa và dùng thiết bị đầu cuối. Đây không phải là thay thế trong suốt cho mọi việc truyền tệp SSH hay vận chuyển tự động hóa. Hãy chọn cách bố trí theo máy nào cần xác thực với mục tiêu, thay vì làm suy yếu việc kiểm tra tin cậy của máy chủ để địa chỉ nguồn trông có vẻ đủ.