Hi,
I noticed your config specifies a listening identity of "ssh_server". Make sure this lines up with the value you're specifying as the dial identity (e.g. in your intercept.v1 dial options if you're using a tunneler on the client side).
Most of the dial-by-identity examples you'll see here use variables in the service configurations and the identities are named to exactly match the intercept IP or hostname that targets the identity. This makes it possible to target multiple hosts with a single service.
You could hard-code both the dial identity and the listen identity (maybe this is what you've done), but then you'd need to create a service for each host that you want to reach. In this case you actually wouldn't need to specify dial or listen options at all... If you do specify dial options or listen options, you need to make sure that the dialing and listening sides agree on what the identity name will be.