When you make a request with your browser, the server can request to know capabilities in order to know what to serve you plugins, fonts, etc.
For other general purpose client-server applications like FTP, SCP, the protocols generally don't provide a mechanism to transfer this information. If you do not have a malicious client that is sending files in the background, you are probably okay.
Most other applications are not designed to run another application inside them like a browser, and would be more purpose driven. If I design a chat program, likely the client side and server side are totally under my control or meet my requirements. I would not normally request this information.
However, if I am an application running locally, there is nothing stopping me from collecting any random data for which I have permissions and then sending this back to the server. For example, continuing the example of the chat client above, I may be able to determine your IP address and make all sorts of system calls, so technically any application could make a fingerprint. This is exactly what adware executable try to do. They want to track the unique behavior of a unique client - if its true malware, it unlikely they tricked you into creating a username - perhaps they just generated a unique fingerprint that they store locally, but its of course feasible they will profile your system in case you delete it and they re-infect you later.
File protection schemes, DRM, licensing, trust computing can make fingerprints of your system as well. For example, an operating system during activation may make a fingerprint of your system and transmit this back to the vendor to prevent you from installing on different hardware, but allowing a reinstall on the same hardware.
Also, while less effective its possible for the server to which you connect to do a port scan, if you had a lot of special services running it is possible to fingerprint you. Though it likely would not be enough to be really distinguishing unless you run a special type of server on an abnormal port. Check out nmap fingerprinting
In Summary: It would be difficult in most cases for an FTP server to identify you just based on connecting to it and looking at the data you send. However, in most cases you are authenticating with a specific username so that is going to give you away.
For example, you do not general SSH anonymously to some server on the Internet, but to a server you know or trust and for which you have authentication credentials. Assuming you used some proxy or tor to anonymize your IP address, it would be difficult for a man-in-the-middle to make a profile of you.