How SSH got port number 22
ssh.com
ssh.com
Sources:
The act of trying to connect an even socket to another even socket, or an odd socket to another odd socket, was considered a "peculiar error" called "homosocketuality", which was strictly forbidden by internet protocols, and mandatory "heterosocketuality" was called the "Anita Bryant feature" [2].
http://www.saildart.org/IMPSER.DOC[SS,SYS]
When the error code is zero, the next 8 bit byte is the Stanford peculiar error code, followed by 72 bits of the ailing command returned. Here are the Stanford error codes. [...]
IGN 3 Illegal Gender (Anita Bryant feature--sockets must be heterosocketual, ie. odd to even and even to odd) [...]
Illegal gender in RFC, host hhh/iii, link 0
The host is trying to engage us in homosocketuality. Since this is against the laws of God and ARPA, we naturally refuse to consent to it.
http://www.saildart.org/FTP.NCP[S,NET]
; Try to initiate connection
loginj:
init log,17
sixbit /IMP/
0
jrst noinit
setzm conecb
setom conecb+lsloc
move ac3,hostno
movem ac3,conecb+hloc
setom conecb+wfloc
movei ac3,40
movem ac3,conecb+bsloc
move ac3,consck
trnn ac3,1
jrst gayskt ; only heterosocketuals can win!
movem ac3,conecb+fsloc
mtape log,[
=15
byte (6) 2,24,0,7,7
] ; Time out CLS, RFNM, RFC, and INPut
[...]
gayskt: outstr [asciz/Homosocketuality is prohibited (the Anita Bryant feature)
/]
ife rsexec,<jrst rstart;>exit 1,
(The PDP-10 code above adds the connect and listen socket numbers together, which results in bit 0 being 0 if they are the same gender, then TRNN is "test bits right, no change, skip if non zero", which skips the next instruction (jrst gayskt) if they different sex.)I don't know why he uses two accounts!
Whenever I plagiarize myself, I try to check the links and refine the text to keep it relevant.
Just posting a link to an old article requires less effort for me, but more effort for other people to switch context, navigate and read. And a server's disk space and bandwidth aren't as precious as a reader's time and effort.
It was not my intention to trigger mdekkers into having fits about SJWs, or shocking paxcoder who is not a gay supporter.
I suggest however that when you do, you add a line to the bottom that says something along the line "This comment was based on an earlier comment I made X days ago using another account." when you do just to keep people from accusing you of plagiarizing others.
RFC 349:
Socket Assignment
1 [Old] Telnet
3 [Old] File Transfer
5 Remote Job Entry
7 Echo
9 Discard
RFCs 349, 433, and 503 also provided a list of conflicting socket numbers used on specific hosts.HTTP Streaming e.g. is only there to artificially keep traffic numbers up by factor 3 but has not much technical justification, other than fix a broken RTSP negotiation.
For example if you telephone with somebody over SIP you will be assigned two UDP numbers (RTP is UDP), you at an even number and the return stream on the next odd number. You don't care if each and every audio frame is ACK'ed. That's why sometimes someone can hear you, but you cannot hear them. No ack for the return stream.
> The number should preferably be in the range 1-255 so that it can be used in the WKS field in name servers.
Well-known service (WKS) records let hosts advertise in DNS which services a given machine made available, by listing which of the assigned port numbers were open for TCP or UDP connections. This never really caught on, as few people used them, even fewer kept them up to date, and checking WKS provided very little real benefit over just attempting a connection.
They had been deprecated already in 1989 through RFC 1123 [1], but it seems that by the mid-1990s at least some people still considered them relevant.
[1] "An application SHOULD NOT rely on the ability to locate a WKS record containing an accurate listing of all services at a particular host address, since the WKS RR type is not often used by Internet sites. To confirm that a service is present, simply attempt to use it." https://www.ietf.org/rfc/rfc1123.txt
Wikipedia[0] has the example of a SIP telephony server, `example.com` sets a SRV record that redirects interested clients to `sipserver.example.com`.
SRV records are more like an MX record generalized to arbitrary services, allowing a domain to point to the hosts that provides various services for that domain.
The author (Tatu Ylonen) sent an email to Joyce K. Reynolds at IANA, on release of v.1.0 of SSH protocol, and IANA agreed to assign port 22.
That's kinda it.
A summary of SSH use follows the story which is a good overview for someone new to it.
I wonder if the creator of ssh thought that he/she would still be working on it in 2017.
What has changed is that there is essentially no chance of getting a privileged port allocated now.
One of the side effects of them being such a widespread and networked group is that when I made my application, they suggested I go talk to one of my coworkers (as loosely defined as that is at Microsoft) since he helped standardize the body anyhow. A bit of zen - "the answers you seek were within you[r org chart] the whole time"
1. https://www.iana.org/assignments/service-names-port-numbers/...
Its just an informal agreement. Its just a 16bit number.
There are certainly cases of different software using the same unprivileged ports by default. It's probably more rare for the privileged ports.
Whats the big deal if you run ssh on port 443 as many do, together with nginx on the same port?
Or if you run a web-server on port 22 and irc on 21.
The deal is that if we're talking of TPC apps on a single network interface, you can't.
The deal is also that it's handy to know where you can expect to see a common service running.
No, but you can fake it with sslh: http://www.rutschle.net/tech/sslh.shtml
(Update: s/network/company/
I doubt they had all that many networked computers at the time, but fuzzy memories of a third-hand story.)
https://en.wikipedia.org/wiki/Request_for_Comments
"Unlike the modern RFCs, many of the early RFCs were actual requests for comments and were titled as such to avoid sounding too declarative and to encourage discussion"
Things were considerably more casual in the 90s...
I recall the feeling I got the first time I sent a message to the Nessus mailing list. I couldn't compile the program so I was asking for help.
I thought I was going to wait for a long time, but was surprised when a response came a few minutes after. The response came from the author of the program itself, and he was very nice in how he answered my question. It was obvious that I was a noob and needed hand-holding. It made a lot of difference to me.
You have no idea how that positive response affected Tatu.
Edit: Changed possible to positive in the last paragraph.
I blogged about this at http://verticalsysadmin.com/blog/cfengine-is-awesome/
You'd be surprised in how interesting me and other find this story.
Of course if you grew up talking all these for granted, and don't have an interest at how things were back then, it might not be.
But there are tons of interesting stuff in this short post, including the informality of how SSH started.
Bit pejorative there.
I find it more "huh, nice to know" rather than "wow, I'll tell my friends"; I'll hand in my rainbow books on the way out ...
I've been using the internet since one could decide how to route the emails one sends, I've used SSH a lot: it's just not interesting as a story, it's barely a factoid.
FWIW I think a better analogy is the adoption of CQD as the distress signal for Morse operators (https://en.m.wikipedia.org/wiki/CQD). It's interesting, but the manner in which it was adopted has no story to it.
Request: Mon Jul 10 11:45:48 +0300 1995
Response: Date: Mon, 10 Jul 1995 15:35:33 -0700What if they simply said; no. Try again in a year. I wonder if SSH would be widespread today if that were the case
While I grew up with computers, when Internet got to the first homes like mine, I was still too young and had only very limited programming skills to contribute to it.
Love these stories about how simple and straight-forward it was to have a huge impact. I guess there is some nostalgia involved, but these were, in my opinion, better times.
I think these things are a bit "right place right time". It has to be early enough that you can contribute, but that early and you never know if it's going to go anywhere. Any later, and the opportunity is gone.
Almost certainly there will be multiple such inventions. Internet-magnitude inventions happen once every ten years or so. The trick is that such things are generally very hard to recognize while they are still small enough for an individual to make a significant contribution. It's often hard to recognize them even when you are in the middle of them. They are often lost in a sea of very similar looking things that end up going nowhere (e.g. https://en.wikipedia.org/wiki/List_of_home_computers). Being part of Something Big is largely a matter of luck. The best you can do is to stack the odds in your favor by hanging out some place that Cool Things Happen and never stop trying new things. But many people do that for a lifetime without catching a wave.
Last additions from me are the perfecting of the voice recognition (I love Alexa but still room for radical improvement) and also subvocal wearables (I'm sure this is within reach of our generation, imagine ease of speaking but retaining public-use)
There probably are big inventions waiting to be discovered out there that could benefit from your skills - finding them or getting started on them might be difficult though.
I remember asking myself that same question at age 14, in 1978. It seemed like all the cool stuff had already been done by giants.
There I was using a flakey homebrew S-100 personal computer at home and single-user networked computer (lisp machine) at MIT (no, I was not a student at 14!) that could connect over the ARPAnet to all sorts of other hosts. Ahead of me was the PC revolution, Internet revolution, mobile revolution and others. I couldn't see any of it.
But over the years I got to work on the plumbing of all sorts of crazy developments, some influential, some not, all of them really fascinating. And some of the stuff I worked on in the mid-late 1980s is just now starting to come to fruition.
I think the two keys are in what Ylonen writes about ssh: 1> he just did it, and was not afraid to do things like ask for a port assignment and 2> he announced his work. Funny, he did it on cypherpunks@toad.net -- run by my business partner John Gilmore; the cypherpunks used to meet in our offices at Cygnus. I remember we switched to ssh basically immediately.
Someone else responded that all the interesting stuff starts out small by definition. That's very true, but doesn't mean there isn't room to grow. Some interesting things come in later. For example YouTube: seems stupid to me, since if you wanted video you could always put it on your site, where it would be connected with other relevant stuff. Obviously I was an idiot: the "medium was the message" -- but it couldn't have gotten going until another revolution (TCP) already existed.
So consider something like Bitcoin: I'm pretty sure BC isn't going to make it (and Youtube wasn't the first either) but some elements, recombined with other ones, will be quite influential.
Oh, and revolutions take a long time to get going. They just look fast in retrospect and at the time because you can't see the rest of the iceberg.
Given that the majority of "YouTubers" today are tweens, I'd say the real decisive factor there was that there are people who want to post videos to the web but don't have a website (or any desire for one.) YouTube, beyond its social-networking aspects, was (and still is) a video pastebin, which is something that (AFAIK) didn't exist until then.
In fact, as far as ideas go, "a pastebin for [file format X with huge file sizes], where other people can view your [X] embedded on the page, and you don't have to pay for the bandwidth charges incurred when they do" is almost always a winner.
Unfortunately "seemed" got autocorrected to "seems", and I didn't catch it, grr!
You can also do something similar, at your own level and with your own pace - my near octogenarian father has had his commits accepted by the Drupal people, which I was impressed by as he had to learn things like PHP for that. Sounds like you want more than to just work on someone else's app, so upstream 'defining' the web, look at what is happening in worlds like SVG, or if that does not seem like 'as fun as Lego was' to you then find some other area that you can learn/master/push on from.
https://en.wikipedia.org/wiki/Bram_Cohen
New technology brings about new opportunities. BitTorrent wasn't feasible back in the 90s because there weren't enough users who were always online to seed files. The question is how do we use this new technology in a way to accomplish tasks we might otherwise thought impossible?
Oh hell no! ;) I mean that only with love & nostalgia, not to challenge your opinion. But that sounds like grass-is-greener syndrome, because networking and coding used to downright suck compared to today.
It's cool to see that getting a port number was easy in 1995, but keep in mind how silly it is to have to get a port number in the first place. That comes from needing to keep port names very small, in 16 bits. At some point someone is going to invent a scheme that uses names instead of numbers and reshape the internet again...
There are definitely lots of areas ripe with cherries, maybe even more now than there were then, and I suspect there is now less luck and more merit involved too. AI is in it's infancy right now, and people are making huge contributions with fairly simple improvements. Even as far as ssh & networking goes, we're having a global crisis of privacy as we speak, there are grand canyons of space waiting for people to fill & make a huge impact.
It will probably take caring about something through the hard times when nobody else seems to care, or solving something specific that ends up getting lucky, or a massive ton of rallying, but there are plenty of ways to participate and shape and define your future that will have a huge impact!
That exists already: https://www.iana.org/assignments/service-names-port-numbers/...
Scroll past the port numbers, and you will find plenty of protocols with only a name registered. This name is used by DNS SRV records. If you’re designing a new protocol today, you don’t need a reserved port number. Just do what Minecraft did and require SRV records to point to whatever port number is used. The load balancing and failover features of SRV records are a nice bonus.
That sounds weird. Did SSH originally have file-copying capabilities? As I recall, the ssh command was written to be command-line compatible with rsh, not telnet, since rsh (and its companion rlogin) was what people were using at the time to log in over the network between local systems. The manual page for SSH still states this explicitly: “It is intended to replace rlogin and rsh […]”, and SSH from the start had (and still has) an rlogin replacement, "slogin". (Telnet was at the time only used for accessing remote, i.e. not-on-site, services, which did not necessarily imply shell access.) Anyway, the rsh and rlogin protocols use port 513 and 514, but no nearby ports seems to be unallocated. The story seems to be missing some details, or possibly be made up after the fact in lieu of a bad memory.
It seemed reasonable to me at the time to give port 22 to a better replacement for, and a spiritual successor to, Telnet, but the story seems odd for not mentioning rsh or rlogin at all.
sftp didn't appear for a few years later.
"I have written a program to securely log from one machine into another over an insecure network. It provides major improvements in security and functionality over existing telnet and rlogin protocols and implementations."
ssh basically sets up a secure connection between two hosts, then forwards its standard input to the standard input of a program on the other side.
You can sort of simulate scp by something like:
cat my_file | ssh me@example.com "cat >my_remote_file"
I use that enough that I didn't need to look it up. Works the other direction as well. Was common with rsh before ssh existed.
It's not as efficient as rsync, but I can tell where files will end up without re-reading a man page.
#!/bin/sh
cd $1
shift
exec "$@"
It's a shame "in" is a reserved word, because that'd be a good name for it. Maybe "cde" for "cd-exec": tar c files | ssh dest cde /some/dir tar xI have a separate theory as to why ipv6 is being pushed so hard by advertising companies like Facebook, Google, and the US Government (CIA, NSA): it makes it very easy to casually track the number of hosts behind firewalls. While not impossible with ipv4 at the layer4 level using fingerprinting techniques, it's quite difficult to do at scale, is unreliable, and spoofable. Ipv6 makes this trivial for anyone, and will allow ip transit providers to scrape more information about users, even those encrypting layer5+ traffic.
Registering MIME types was also easy:
https://www.iana.org/assignments/media-types/application/msw...
https://tools.ietf.org/html/rfc1060 first mention of port 150 being used
I reserved port 63 for whois++, that by the way rests fine where it is, in very few people's memories, during the same era. The motivation went something like 43 for whois protocol, 53 for ns, so 63 looks like evolution, though there were no aspirations to replace the name service protocol.
> CryptoAuditor is a product that can control tunneling at a firewall or at the entry point to a group of cloud servers. It works together with Universal SSH Key Manager to gain access to host keys and is able to use them to decrypt the SSH sessions at a firewall and block unauthorized forwarding.
There are just more people in copy :D
The real issue is stupid middleware boxes and overzealous cargo-cult-security sysadmins who block every port except 22, 80 and 443. Getting new applications with new ports to work on the real Internet is rarely worth the hassle, which is why now we have to tunnel every new protocol over HTTP.
Even better, port knocking on non-standard port.
I think nobody argues that it adds security. The problem is that:
1. It adds very little security: 16 bits is not much, and the result is not 256 bits (say) of SSH key plus 16 bits equals 272 bits, but instead effectively still 256 bits, or 256+8×10⁻⁷³ bits.
2. The security it adds is itself bad (sent in cleartext, easily brute-forced)
3. These problems stand against the many drawbacks of this previously discussed (complexity, confusion, etc.).
And the final argument: If increased security is what you want, simply increase your key lengths and/or password lengths, and you will get much more than 8×10⁻⁷³ bits of security, without any of the above problems.
I am not in a position where I feel I need to worry about remotely exploitable 0-days in my SSH daemon. If you are, then your situation is, I feel, exceptional.
That said, perhaps those people should sponsor a project to fix this for real. This could be accomplished by having not one program, but two, one after the other, both with realistic keysizes and security. The password/key to get log in would be then be the combination of two separate keys, one for each program.
But what I have described is more or less the same as having a key/password-protected tunnel on top of SSH, so they could just use that. A 0-day in the tunnel/VPN would not allow access through SSH, and a 0-day in SSH would not matter since SSH can’t be accessed directly in the first place. This way, both the tunnel and SSH would need a 0-day at the same time for the security to fail. Like a RAID-1 array. If even this is not sufficiently secure, just increase the number of layers.
Then port change, SSH hardening in general (key + pass, google pam auth module, etc), then fail2ban, denyhosts, sshguard, tallow, etc.
And all that doesn't matter if you don't see any alerts. Need a hids (I like OSSEC) and a good logging system for syslog etc alerts.
Number one issue I see with servers (besides badly secured in the first place), is a bunch of logs no one ever actually looked at.
That leaves port change, which is better than nothing. But even better than that is proper firewalling with whitelisted IPs.
I'm also not really a fan of leaving things with a shell connection on the net, again part of configuration. If you can root the ssh server, you could likely root a vpn box.
Also, I guess, I'm sorry, you're not allowed to ask questions on HN anymore. Thanks for the drive by down vote.
If password authentication is a must then hopefully you can still go for 2FA (there's a few two factor authentication plugins for PAM). But if you do that then make sure you also stick fail2ban in there as well.
As part of a comprehensive security plan I have no problem with it. I dont deploy any linux servers with ssh listening on 22 nor without fail2ban. Unfortunately, because of the vendors we use things like mandatory VPN or ssh keys only aren't in the cards.
Not exposing ssh means you will forget/not care you are running an old version and eventually this will bite you
File sizes aren't an issue because auth logs take up such a negligible amount of space compared to the storage capacities we have at our disposal these days. But if your box is really that low capacity then stream your logs to a logging server (or push them to remote storage when you do your log rotate). Realistically you should be shipping your log files anyway.
Performance isn't really an issue either as larger auth logs isn't going to make sshd perform any better or worse.
There isn't really even a strong argument for the human readability impact as those logs should generally be parsed by robots instead of humans. Be it alerting systems like Nagios, reporting tools like Splunk, or firewall management services like fail2ban; in all cases you wouldn't typically be reading the auth logs in vi unless something has gone very wrong.
So I say just keep sshd listening on 22 and instead ensure your system is properly hardened (IP whitelists, SSH keys, etc) with automated processes in place that monitor the logs so you don't have to. Or better yet, don't expose SSH at all.
The down vote itself doesn't really bother me so much as the inability for misinformation to be corrected - be that my own error or whoever (which is why I always make a point of replying to people rather than down voting).
If you want to distinguish services, you should be giving them separate names/addresses. This is what the second half of an IPv6 address (the "interface" part) is for.
Obviously things like passwords are security through obscurity, but the algorithm to hash the passwords should be well known.
http://www.saildart.org/IMPSER.DOC[SS,SYS]
IGN 3 Illegal Gender (Anita Bryant feature--sockets must be heterosocketual, ie. odd to even and even to odd)
The host is trying to engage us in homosocketuality. Since this is against the laws of God and ARPA, we naturally refuse to consent to it.
http://www.saildart.org/FTP.NCP[S,NET]
gayskt: outstr [asciz/Homosocketuality is prohibited (the Anita Bryant feature)
(It does exist, but it appears to be a squatter domain for airline tickets.)
/etc/services is now testament to a multitude of broken dreams.
It's a bit cliche but the pace of innovation in our field (at least up to now), and the rate at which we get used to new things, is amazing.
I read the email and the dude just gives them that port assignment with no ceremony. I was hoping it would be more climactic.
HN doesn't really seem concerned that all these titles are low-quality bait. Guess they're digging those page req numbers. Unfortunate how effective it is to just deceive your users.
Is your own discomfort from being shocked that TCP/IP allows homosocketuality, because you're "not a gay supporter", so seductively connecting innocent sockets of the same parity sickens you?
Certainly your morality influences how you view things.
We have links for this, to plagiarize your own words:
https://news.ycombinator.com/item?id=6496756
"My question is honest. My provocation is meant for the soul. I am sorry for not being kind."
https://news.ycombinator.com/item?id=13246410
"Please provoke souls somewhere else." -dang
I felt no discomfort here, though granted I haven't read the whole comment. "Same-sex network connections" gave me a chuckle - I assume a reference to the "male" and "female" hardware connectors. I was actually weighing on commending you for the joke before I found out the same words were used elsewhere by another account.
I am surprised by the tone of your reply. I kind of hope most of my downvotes are from you then, as I would hate to see a rise in reposts. I also hope you have an automated way of finding non-positive comments, because knowing you went through them by hand would be somewhat discomforting.
Now, my morality certainly should influence how I view things - that's what it's for. If it is the case that here lies your problem with me, you should be aware that when I say gay I don't have in mind the mere attraction to the same sex, but indulgence, the practice of sexual acts of this nature (which is closer to the original sexualized definition of the term). The distinction may appear subtle, but isn't really. The grave difference is between temptation and sin. In recognizing the difference, one may become accepting of the human without in process compromising that human's soul.
You are already on record as using this forum to "provoke souls", and you have already been politely asked to provoke souls somewhere else. Unless you can offer some objective proof that gay sex is a sin, what you're doing is no different than the actions of a schoolyard bully taunting and calling people names. The suicide rate among gays is way too high without your help [1]. Take it elsewhere, or better yet, never do it again, anywhere.
[1] https://en.wikipedia.org/wiki/Suicide_among_LGBT_youth
"The Suicide Prevention Resource Center synthesized these studies and estimated that between 5 and 10% of LGBT youth, depending on age and sex groups, have attempted suicide, a rate 1.5-3 times higher than heterosexual youth."
"Bullying of LGBT youth has been shown to be a contributing factor in many suicides, even if not all of the attacks have been specifically addressing sexuality or gender." Savin-Williams, Ritch C (1994). "Verbal and physical abuse as stressors in the lives of lesbian, gay male, and bisexual youths: Associations with school problems, running away, substance abuse, prostitution, and suicide". Journal of Consulting and Clinical Psychology. 62 (2): 261–269. doi:10.1037/0022-006X.62.2.261.
[2] http://blog.ycombinator.com/meet-the-people-taking-over-hack...
Instead, here I will just point out that you're now equating talking about sin to bullying. This is harmful because it puts reconciliation with God out of sight and out of mind, but also because it tells bullies they are "no different" than those fighting sin: With blowing things out of proportion like this, you are doing an additional disservice to those sinners you're purporting to support. Note that I was generalizing because your argument allows it - at least to, say, pre-marital sex. And while there is a difference in subject sensitivity, I am not being a bully by simply countering the world when it claims either of these things are acceptable. One's cross is much greater another's, but so is the reward. No surrender, try again.
You just directly contradicted yourself in the first sentence of your previous reply, as I already pointed out, by falsely claiming that "I don't use this forum with the intent to spread..." and then continuing on to do just that in the same sentence by mischaracterizing your religious bigotry and unsubstantiated falsehoods as "persistent truths", which they most certainly are not.
Calling people sinners and telling them their souls are compromised is bullying and religious harangue, no matter how hard you try to justify it by proselytizing and appealing to your iron age religious prejudices, and this is absolutely not the place for it here.
You have also made it very clear that you have no intention of following the rules of this site or abiding by any of the repeated polite warnings the administrator gave you to "please provoke souls somewhere else", to "please stop posting unsubstantive comments", and that "continuing will get your account banned, so please stop."
I don't "purport to support" sinners, because "sinner" is just an offensive name with which you choose to taunt and harangue people of whom you don't approve.
I am flagging your post as offensive and as breaking the rules, and if you reply again in the same manner that makes it clear you have no intention of following the rules and every intention of continuing to call people names and harass them with your religious bigotry, then I will flag your reply too. If you apologize for repeatedly breaking the rules and attempting to bully people, and finally end the conversation, I won't flag or reply to that.
bigotry: intolerance towards those who hold different opinions from oneself.
seems you may be a sufferer too.....
And the fact that you're standing up against my stand against bigotry, without bothering to stand up against the original bigotry itself, means you're tacitly supporting that bigotry yourself, which is unethical.
And you're also violating the rules of this forum by continuing to post off-topic unsubstantive comments and baseless personal attacks. So stop it.
https://en.wikipedia.org/wiki/Paradox_of_tolerance
Philosopher Karl Popper defined the paradox in 1945 in The Open Society and Its Enemies Vol. 1.
"Less well known is the paradox of tolerance: Unlimited tolerance must lead to the disappearance of tolerance. If we extend unlimited tolerance even to those who are intolerant, if we are not prepared to defend a tolerant society against the onslaught of the intolerant, then the tolerant will be destroyed, and tolerance with them."
He concluded that we are warranted in refusing to tolerate intolerance: "We should therefore claim, in the name of tolerance, the right not to tolerate the intolerant."
I was always taught in school that "he/him/his" was gender neutral if there was no context indicating otherwise. People have started to get more and more annoyed by this, leading to the grammatically incorrect usage of "them/they."
Anyone who went to school or learned English in 1980s or earlier would have had learned "Dear Sir" as the standard generic salutation when writing a professional letter.
I suppose today one would start such a letter with "Dear Person." That sounds somehow disrespectful to me. There's always "To whom it may concern."
KIM: Thank you, sir.
JANEWAY: Mister Kim, at ease before you sprain something. Ensign, despite Starfleet protocol, I don't like being addressed as sir.
KIM: I'm sorry, ma'am.
JANEWAY: Ma'am is acceptable in a crunch, but I prefer Captain. We're getting ready to leave. Let me show you to the bridge.
"Man" was originally a gender-neutral Old English word for human beings (the gendered prefix for males being "wer", as appears in e.g. werewolf.) So why not just expand on that: demand that "man", "sir", "he", "him", "Mr"—and common nouns like "mailman", "fireman", "steward", "host", "master"—be used when referring to both men and women, and thus retroactively de-gender all previously written implicit-male-subject texts for future generations? Instead, we got "he/she", "they", "mail carrier" and "fireperson", which seems like a terrible thing to do to a previously-concise language.
Shakespeare still would use "he" or "she" as appropriate when trying to make it explicit that there was exactly one person being referred to.
But now, we are told to use "they" or "he/she" even in that situation, because singular-generic "he" is offensive to some people, and because human-referential "it" is offensive to rather more people.
Taking offence to a communication protocol, is like saying TCP/IP is offensive because there aren't enough of the number 7 used in the TCP/IP protocol, and it's discriminating against the equality of all numbers.
No. It's a protocol optimized for communication, not some sort of emotional playground.
To try to alter the communication protocol based on personal emotions degrades its usefulness and diminishes the ability to communicate effectively.
So now the TCP/IP packet header needs to be extended 25%, and the driver needs to ensure equal distribution of all numbers during communication, further increasing overhead by another 75%.
This is where we are headed with our language, when we allow PC politics to dictate how words should be used.
Unlike machines, humans do not always just want to exchange factual information about the world, and often use communication for additional purposes - jockeying for status, claiming membership in groups, and yes, playing games. This can even be quite enjoyable for the humans in question, for example, mutual flirtation.
In this example, one of the bits of information that can conveyed by being a bit more thoughtful about the use of pronouns is where the human in question might fall on a scale between "I am aware that there is pervasive and systematic discrimination against one class of human, and do not wish to take even small part in it." and "I believe all relevant systematic discrimination is in the past."
Can be found on grants of arms and various other formal/monarchical documents up to the present day...
To whom it may concern is some times used to make it less gendered.
These days it would be proper to address it Dear Sir/Madam IF you did not know the gender of the person.
Besides that, in this case it really was pretty much all Jon Postel making the decisions.
Good story - the time that Justin Hall tried to register fuck.com in 1994.