SSH的端口为啥是22(翻译)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH的端口为啥是22(翻译)相关的知识,希望对你有一定的参考价值。

参考技术A 原文地址

SSH的默认端口是22,这不是个巧合,这里有一个关于SSH是怎么获取22端口的故事。
当我(Tatu Ylonen,ssh作者)在2017四月第一次发表这个故事时,故事获得了病毒式传播,在三天内就有了12000个读者。

我在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发了一封邮件:

一天后,我在我的邮箱内发现了一封来自乔恩的邮件。

就这样,22端口就属于SSH了!

1995年7月12日凌晨2点32分,我向赫尔辛基理工大学的测试人员宣布了最终的测试版。下午5点23分,我向我的测试人员宣布了ssh-1.0.0包。1995年7月12日下午5点51分,我向 cypherpunks@toad.com 邮件列表发送了关于SSH (Secure Shell)的通知。我还把它发布到一些新闻组,邮件列表,以及直接发送给在互联网上讨论过相关话题的人。

如果我的安全组在端口 22 上允许 TCP 并且没有网络访问控制列表,为啥我不能通过 SSH 连接到我的 EC2 实例?

【中文标题】如果我的安全组在端口 22 上允许 TCP 并且没有网络访问控制列表,为啥我不能通过 SSH 连接到我的 EC2 实例?【英文标题】:Why can't i SSH into my EC2 instance if my security group is allowing TCP on Port 22 and there is no Network Access Control List?如果我的安全组在端口 22 上允许 TCP 并且没有网络访问控制列表,为什么我不能通过 SSH 连接到我的 EC2 实例? 【发布时间】:2021-08-29 16:38:49 【问题描述】:

我有一个 ec2 实例,我想将其用作 MySQL Workbench 的 SSH 隧道。

它的访问被锁定到我的 IP,端口 22 用于 TCP 流量。没有 NACL。

我可以在 Systems Manager Session Manager 中启动一个会话,然后查看该实例是否正常工作并且可以 ping 公共 URL。

密钥对位于我运行以下命令的文件夹中:

ssh -i "key-pair.pem" ec2-user@11.22.33.44 

但是,当我尝试通过 MySQL Workbench 连接时,操作从我的终端超时。有人可以帮忙吗?

如果我在命令中添加-vvv ,我会得到以下输出

debug1: Reading configuration data /Users/xxxx/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 47: Applying options for *
debug2: resolve_canonicalize: hostname 11.22.33.44 is address
debug2: ssh_connect_direct
debug1: Connecting to 11.22.33.44  [11.22.33.44] port 22.
debug1: connect to address 11.22.33.44 port 22: Operation timed out
ssh: connect to host 11.22.33.44 port 22: Operation timed out

【问题讨论】:

请尝试ssh -vvv -i "key-pair.pem" ec2-user@11.22.33.44 并向我们展示调试输出。 您的实例是否在公有子网上(即连接了 Internet 网关的子网)?没有这个,就没有从互联网到您的实例的入站路由......会话管理器不需要公共互联网访问即可工作 这是一个公共子网。我添加了 -vvv 输出 【参考方案1】:

这里的问题是我的 *** 使用的 IP 与安全组中的 MyIP 选项选择的 IP 不同,因此我的请求在安全组级别被拒绝。

【讨论】:

以上是关于SSH的端口为啥是22(翻译)的主要内容,如果未能解决你的问题,请参考以下文章

如果我的安全组在端口 22 上允许 TCP 并且没有网络访问控制列表,为啥我不能通过 SSH 连接到我的 EC2 实例?

centos 7 为啥用systemctl start firewalld开启防火墙依然能SSH远程登录? 难道TCP22端口没有被封上

centos7 为啥开启防火墙之后就断开连接

ssh端口不是22,要怎么连?

LINUX如何开启22好端口

怎么修改linux的ssh终端远程22端口的方法