The only ssh library I've seen for python that uses the signal transfer mechanism described by ssh rfc is the only one from chilkatsoft. From RFC 4254:
6.9. Signals A signal can be delivered to the remote process/service using the following message. Some systems may not implement signals, in which case they SHOULD ignore this message. byte SSH_MSG_CHANNEL_REQUEST uint32 recipient channel string "signal" boolean FALSE string signal name (without the "SIG" prefix) 'signal name' values will be encoded as discussed in the passage describing SSH_MSG_CHANNEL_REQUEST messages using "exit-signal" in this section.
You can change the structure to use this instead of the 'ssh' library, and then add a signal handler to the fabric to catch SIGINT and call SendReqSignal () to send it to the remote process.
or you could just wrap the fabric with strict calls to change the INTR character to something else, and then change it again.
#!/bin/sh stty intr ^U <whatever to invoke fabric> stty intr ^C
source share