The Net::SFTP::Session#open operation is one of the worst casualties of the revisions between SFTP protocol versions. The flags change considerably between version 1 and version 6. Net::SFTP tries to shield programmers from the differences, so you'll almost never need to use these flags directly, but if you ever need to specify some flag that isn't exposed by the higher-level API, these are the ones that are available to you.