SSH的端口是怎么变成22的
SSH的默认端口是22,这不是个巧合,这里有一个关于SSH是怎么获取22端口的故事。
当我(Tatu Ylonen,ssh作者)在2017四月第一次发表这个故事时,故事获得了病毒式传播,在三天内就有了12000个读者。
SSH获取22端口的故事
我在1995年的春天写了SSH的最初版。那时telnet和FTP已经获得了广泛的应用。
总之,我设计SSH的目的是为了代替telnet(使用端口23)和FTP(使用端口21)。22端口还没有被使用。22端口正好处于telnet和FTP使用端口的中间是很有意思的。我觉的22端口号可能对软件的可信度有一定的帮助。但是我怎么获取到这个端口号呢?我从来没有申请过端口号,但是我知道有人申请过。
当时申请端口号的流程很简单。因为互联网很小,并且我们出于互联网繁荣的早期阶段。端口号由IANA(Internet Assigned Numbers Authority)分配。当时,这意味着一位备受尊敬的互联网先驱——乔恩•波斯特尔(Jon Postel)和乔伊斯•k•雷诺兹(Joyce K. Reynolds)。其他的不说,乔恩是IP(PFC 791),ICMP(RFC 792)和TCP(RFC 793)这些协议的作者。你可能听说过它们。
对我来说乔恩是令人敬畏的,他写了所有互联网主要的RFC!
总之,在1995年七月发布ssh-1.0版本之前,我给IANA发了一封邮件:
我写了一个机器可以通过安全的网络远程访问另一个机器的程序。它提供了重大的安全性改进,以及现有的telnet和rlogin协议的功能实现。特别的是,它可以防止IP,DNS,路由欺骗。我的计划是免费的贡献出该软件,使其尽可能的被广泛应用。
我想为该软件申请一个注册过的特权端口号。端口号应该选在1-255范围内,这样它可以在名称服务器的WKS字段中使用。
我将在下面的协议中附上RFC草案。该软件已经在本地使用好几个月了,已经做好了端口号除外的所有发布准备。如果端口号可以及时分配,我想在本周内发布该软件。我现在在测试环境中使用22端口。如果正式发布版软件可以使用这个端口号就太好了(目前22还在未注册列表内)。
服务的名称是"ssh"(Secure Shell)。
一天后,我在我的邮箱内发现了一封来自乔恩的邮件。
我们已经把22端口号分配给ssh,你作为联络人。
就这样,22端口就属于SSH了!
1995年7月12日凌晨2点32分,我向赫尔辛基理工大学的测试人员宣布了最终的测试版。下午5点23分,我向我的测试人员宣布了ssh-1.0.0包。1995年7月12日下午5点51分,我向cypherpunks@toad.com邮件列表发送了关于SSH (Secure Shell)的通知。我还把它发布到一些新闻组,邮件列表,以及直接发送给在互联网上讨论过相关话题的人。