Nếu bạn đang sử dụng xác thực mật khẩu, thì SSH sẽ gửi mật khẩu qua mạng. Kết nối được mã hóa, vì vậy những kẻ nghe trộm không thể nhìn thấy mật khẩu. Kết nối được xác thực, với điều kiện là bạn không nhấp một cách mù quáng thông qua một tên miền. Tính xác thực của không thể được thiết lập thông báo, vì vậy mật khẩu của bạn sẽ không được gửi cho bất kỳ ai trừ máy chủ hợp pháp.
Câu trả lời nhàm chán cho tại sao vì sao đây là giao thức SSH yêu cầu.
Câu trả lời ít nhàm chán hơn là xác thực mật khẩu phải hoạt động theo cách đó. Có nhiều cách để thực hiện xác thực không hoạt động theo cách này nhưng đây không còn là xác thực mật khẩu đơn giản.
Hầu hết các giao thức xác thực nâng cao hơn xác thực mật khẩu đơn giản đều có đặc tính tốt là máy khách không gửi bất kỳ dữ liệu bí mật nào đến máy chủ mà máy chủ độc hại có thể sử dụng để mạo danh người dùng trên máy chủ thứ ba. Với xác thực khóa công khai SSH , phương thức xác thực SSH phổ biến nhất ngoài mật khẩu, điều này hoạt động vì máy khách gửi chữ ký (yêu cầu khóa riêng) của dữ liệu bao gồm mã định danh phiên; nếu máy chủ độc hại cố gắng xác thực với máy chủ thứ ba, nó sẽ phải tạo một chữ ký dữ liệu bao gồm một mã định danh phiên khác, điều này sẽ không thể thực hiện được nếu không có khóa riêng ở trên máy khách.
Lưu ý rằng nếu bạn sử dụng xác thực khóa chung và bạn phải nhập mật khẩu để sử dụng khóa thì đây không phải là xác thực dựa trên mật khẩu. Mật khẩu để sử dụng khóa được sử dụng riêng ở phía máy khách, để đọc khóa từ tệp khóa. Khi sử dụng xác thực khóa chung, máy chủ không biết hoặc quan tâm liệu khóa có được lưu trong tệp được mã hóa hay không.
Xác thực mật khẩu yêu cầu gửi mật khẩu đến máy chủ. Gửi một hàm băm của mật khẩu thay vì mật khẩu không giúp ích gì, vì sau đó mật khẩu sẽ trở thành hàm băm: kẻ tấn công sẽ không cần tìm mật khẩu thực tế, chỉ có hàm băm. Kẻ tấn công có thểtấn công bằng cách tìm mật khẩu thực tế, vì vậy không có cải thiện. Nhưng nếu kẻ tấn công tìm thấy hàm băm nhưng không phải mật khẩu, trong sơ đồ đề xuất của bạn, điều đó là đủ. Ngược lại, với xác thực dựa trên mật khẩu thông thường, kẻ tấn công phải biết mật khẩu, biết băm không đủ tốt và nếu mật khẩu đủ mạnh thì kẻ tấn công sẽ không thể tìm thấy mật khẩu từ hàm băm. Trong thực tế, lý do kẻ tấn công có thể biết hàm băm nhưng không phải mật khẩu là kẻ tấn công đã tìm cách trích xuất cơ sở dữ liệu băm mật khẩu từ máy chủ, có thể từ bản sao lưu không được bảo vệ hoặc thông qua lỗ hổng trên máy chủ. Lỗ hổng như vậy trên các trang web làm cho tin tức khá thường xuyên.
Giao thức đề xuất của bạn là ít tốt hơn so với giao thức tiêu chuẩn. Đừng cuộn tiền điện tử của riêng bạn!