As per your suggestion I have implemented the "SSH Host key verification" logic in SSH Tunneling code. Below is the brief description about feature:
When connecting to an SSH server for the first time, the user should be presented with a prompt showing the host key, and given the option to accept or reject it. If accepted, the key should be cached and the connection should proceed. If rejected, the connection should be immediately aborted.
When connecting on subsequent occasions, pgadmin should check the host key against the cached copy. If they match, the connection should proceed as normal. If they do not match, the user should be presented with a prominent warning showing them both the expected and received host keys, and giving them the option to reject (the default) or accept the new key. If reject is chosen, the connection should be immediately aborted and the cached key should not be updated. If accepted, the connection should proceed and the cached key should be updated with the new one.
Attached is the patch file, can you please review it. If it looks good to you then can you please commit it.
--
AkshayJoshi Senior Software Engineer EnterpriseDB Corporation The Enterprise PostgreSQL Company Phone: +91 20-3058-9522 Mobile: +91 976-788-8246