<
[email protected]> wrote:
I have enabled SSH inspection on a firewall.
In less euphemised language: your firewall is deliberately, under your
own control, performing a MITM attack against SSH connections passing
through it?
I am able to SSH successfully to a server with password
authentication; however, when I use public key authentication, it
fails.
Good! That is an intentional feature of SSH public key authentication,
and it's always reassuring to hear that it's working as designed.
The signature created by the client during public key authentication
has to be a signature on some particular data. To prevent replay
attacks, it has to be different data every time. But instead of the
server sending a challenge of its choice, the protocol design instead
arranges that the client signs the 'session id', which is a by-product
of the key exchange phase and is a secret known only to the two
endpoints of the connection.
So, if you MITM a connection that uses PK auth, then your key
exchanges with the client and server will generate different session
ids. During authentication, the client sends you a signature on
*their* session id, but that - on purpose - is not enough information
for you to produce a matching signature on the *different* session key
that you share with the server.
Is there any possible workaround? For instance disabling integrity
checking (which doesn't appear to be possible in OpenSSH.)
If there is, then it's a bug in the protocol!
Remember that everybody involved in the design and implementation of
SSH is specifically aiming to *prevent* the thing you're asking for
help doing. If we knew of a hole like that, we'd be busy *fixing* it,
not documenting it carefully for your benefit.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)