If you are truly asking about using SFTP over SSH, then the answer is that your server has to have libcss2 installed and functioning. If you read the beginning of the file I linked to above for erick_paper, you will even see some basic instructions/tips for enabling WordPress's ability to use SSH2. The instructions are generic, and you may actually have to do a little more work than that depending on your servers OS.
Once libssh2 is functioning on your server, you will see a new file transfer option in the upload dialog in your dashboard that will allow you to select SSH2, and additional fields where you can enter your public/private key pair for authentication.
The non-standard port issue will be a secondary consideration at this point. As far as setting a non-standard SSH port, I will defer any and all correct answers to the experts (of which I am not), but on line 67, in the file I linked to above for erick_paper, it appears as though the information located under the notation
"// Set defaults:" would be where one would consider making their changes. Here is a link to the first hit I get on Google when searching for others with a similar pursuit.
WordPress Auto Update via SFTP on a Non-standard Port
 ..then there's this, of course Enabling SSH Upgrade Access