SSH with ipv6 working only if I pass %en0 with my ipv6 address 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.
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.