https://blogs.oracle.com/janp/entry/how_the_scp_protocol_works