It's a vast field, and expertise of people is usually just a subset. I'm not even sure what the answer you you expected was, but I'd say: I'd use your public key to encrypt the file to you and then send it to you. Personally, I wouldn't know which commands to invoke to do this, but I know that's the theory.
So, should any developer know this? That is debatable. I've had very competent developers who had next to no clue about how DNS works. They could do their job just fine with that. Me? Personally, I'm not up to snuff with the finer points of SQL queries and all the joins that exists and when it makes sense to create an index, etc. Could I find out? Most likely, but I haven't had the need to recently.
The problem is, that you are mapping your knowlegde to "what people must know". I used to do that too, and I probably still do often enough. The DNS example above didn't come from nowhere: I had the case, and I was really thinking "how could such a competent person not know this", but then this person could probably enlighten me about dozens of things I don't know well enough.
It all comes down to what you define as "general knowgledge" for a developer should be and that is highly subjective.
TL;DR Hiring people is hard. Especially, technical people.
Although the title of the post said "developer" the content said "developer/architect." Unless they were hiring a programmer that could also design houses, I'm assuming they mean IT infrastructure architect. I would presume a systems architect would be familiar with how internet protocols work (like DNS), how common physical network infrastructure works (like switches), how fundamental concepts like client-server architectures and encryption work, and the issues involved in major ares of system design (storage, virtualization, wide area networking, etc).
Programmers just need to know how to write computer code. Software engineers need to know how software systems work. Architects have to know how the pieces of systems work that they will eventually be the architect for. Perhaps the problem right up front is that unless this is some small company where everyone wears a ton of hats, "Programmer/Architect" is not a proper job designation in the first place. "Programmer/Software Architect" might be more applicable, in which case the applicant should fundamentally understand how to code and what common software design methodologies are. If the intended target application(s) are internet-based, an additional requirement to understand the problem domain would also be reasonable (familiarity with medicine if you're writing medical software, internet protocols if you are writing large scale internet applications, human resources if you're being hired to be a Peoplesoft app developer, etc).
In any case, the subject question was "what portion of developers are bad at what they do" which is a different question than the one posed by the actual post. The answer to that question is, in my experience, most of them. Note that I'm not saying most developers are bad at writing software. I'm saying most developers are bad at what they do. What they do tends to be, whether its their own fault or someone else's, significantly outside their actual area of expertise whatever that might be.