I'm using shorewall firewall and have successfuly configure multiple isp source.
Currently it balances all traffic to both ISP. What I want to achieve is to route ssh trafic to ISP1 and route www traffic to ISP2. How can I do this?
I think you will need to create multiple route tables. One is your default meant for normal traffic, the next one is your special SSH table which contains route entries only for the ISP connection you want to use.
Next, setup iptables to mark packets which are from your IP and listening SSH port.
Finally, you can setup ip rule entries to route based off of the firewall mark.
Theres lots of info (but you might have already seen it seeing as your this far) in the LARTC documentation: http://lartc.org/howto/lartc.rpdb.html
So, as an example:
That should hopefully setup what you want correctly. You'll need to also make sure that this configuration survives reboots! BUt I leave that as an exercise to you.