macOS Terminal – SSH with IPv6 Only Works with %en0

ipv6macmacossshterminal

I am trying to ssh with Mac OS X (10.10.1 Yosemite) terminal using ipv6.
If I use command like

ssh username@ipv6_address

It's not working and I am getting error "No Route to Host".
But If I use command like (with %en0)

ssh username@ipv6_address%en0

It's working and I am able to SSH with ipv6 address..

Can you please guide me what's the reason of not working without %en0?

Thanks.

Best Answer

When you want to connect to an unroutable address like link-local you need to specify the interface. This is because for unroutable addresses your system can't determine the outgoing interface by looking at the routing table.

Unroutable destinations include link-local addresses (fe80::) and link-local multicast (ff02::) and more.