安全通信是每个组织的首要任务之一,因为主要任务是通过网络将数据从一个设备传输到另一个设备来完成的。因此,正在实施各种策略以确保完全安全,以在传输时保持数据的完整性。一些公司致力于处理需要保护的关键数据,因此他们制定了一些规则以通过互联网与其他设备进行通信。
因此,SSH(安全外壳)作为传统 telnet 协议的扩展出现。然而,telnet 不是那么安全,因此随着时间的推移被 ssh 取代。如果您是系统管理员,那么您肯定使用过 ssh。但是,如果您不知道该术语,那么通过本文您将获得足够的关于 ssh 的知识。在本文中,我们将重点介绍 SSH,它的工作原理、用途以及如何更改默认 SSH 端口。
什么是SSH端口?
使用 ssh 完成的每个通信都需要端口来连接和启动通信。无论设备是有线还是无线,都需要端口。有超过 65k 个可用的通信端口,您可以使用这些端口中的任何一个开始通信。默认情况下,所有通信都是使用 SSH 端口号 22 完成的,该端口号可以更改并设置为任何其他可用端口号。每当用户运行命令启动两个设备之间的网络通信时,连接将使用端口号 22。
但是,如果您正在执行任何需要安全的关键通信,建议您将默认 SSH 端口号更改为其他以避免暴力攻击。众所周知,22 是默认的 SSH 端口号,最容易受到攻击,任何黑客都可以轻松破解您传输的数据。使用ssh端口,可以实现SSH协议。SSH 或 Secure Shell 是一种用于远程访问服务器的网络协议。它为您提供了一种安全的方式来遵守任何类型的不安全网络上的设备。这不仅仅是关于安全服务;它还指帮助实现 SSH 协议的实用程序包。
SSH协议特点
有很多与 SSH 相关的功能。让我们潜入吧!
1.SSH 自带强密码认证、加密数据通信和公钥认证
2.它用于远程管理系统和应用程序,并允许其他人远程使用设备并执行多项功能
3.它是一种加密网络协议,使用客户端/服务器模型
4.您也可以为不同的应用程序协议创建安全隧道。应用程序协议进一步用于终端仿真或传输文件
5.转发端口
让我们深入了解SSH的工作机制!
SSH 是如何工作的?
SSH 协议在客户端-服务器模型中工作,其中一台设备作为服务器,另一台设备作为客户端。SSH 客户端将建立连接过程,并使用公钥密码术来验证 SSH 服务器的身份。建立连接后,SSH 协议将使用强对称加密和散列算法来确保在客户端和服务器之间传输的数据的隐私性和完整性。在研究 SSH 协议的过程中,我们将讨论发生的各个步骤。
1.建立 SSH 连接。
2.会话加密协商。
3.用户认证。
建立 SSH 连接
要创建 SSH 连接,您需要从客户端机器运行命令,如下所示。ssh [用户名]@[server_ip_or_hostname]
一旦命令运行会话加密协商过程将开始。
会话加密协商
一旦请求被发送到服务器,服务器就会向客户端发送一组服务器支持的加密协议。然后服务器将使用公钥作为身份验证方法。客户端将服务器的协议集与自己的协议集进行匹配,如果协议匹配,则双方机器将同意建立连接并开始数据传输。
客户端在第一次建立连接时会将服务器的公钥与本地存储的私钥进行比较。如果两个密钥匹配,客户端和服务器将在 SSH 会话期间启动对称加密方法进行通信。为了进行这种通信,他们将开始使用非对称加密过程进行通信,该过程适用于 Diffie-Hellman (DH) 密钥交换算法,以通过公共网络安全地创建加密密钥。为了生成密钥,机器将执行以下步骤:
1.两台机器将就两个数字达成一致,即模数和基数。如果要防止暴力密钥解密,则需要选择模数作为至少 600 位的质数。
2.机器将单独选择一个数字并将其应用于将涉及两个公共数字的等式。
3.然后服务器和客户端将交换这些计算值。
4.然后每台机器将根据从另一台机器收到的结果执行计算。
在此过程之后,将生成一个共享密钥,该密钥将在两个设备之间共享。
用户认证
最常用的 SSH 用户身份验证方法是密码和 SSH 密钥。客户端将加密的密码安全地发送到服务器。但是,在某些情况下,密码被认为是一种有风险的身份验证方法,因为密码的强度取决于用户创建密码的方式。虽然使用非对称加密的 SSH 公私密钥对被认为是比密码更好的选择。客户端解密消息后,服务器将授予所需系统对客户端的访问权限要生成 SSH 密钥对,您需要在终端中键入 ssh-keygen。然后,系统将生成并存储如下所示的密钥。
引入了 SSH 以更新不安全的终端仿真,例如rlogin 或 Telnet。SSH 以更高的灵活性和舒适性执行相同的功能。不仅如此,它还取代了几个文件传输程序。例如,FTP(文件传输协议)和 RCP(远程复制)。SSH 的主要目的是在终端会话的情况下连接远程主机。您使用以下命令来完成任务:ssh UserName@SSHserver.example.com这个命令有什么作用?好吧,这个命令将帮助客户端连接到服务器。
SSH 的使用
1.默认情况下,您将获得MAC、Windows 和 Unix 操作系统的SSH 终端
2.借助远程主机和本地机器之间的 SSH 连接,可以保护各种通信
3.它还用于管理路由器、虚拟化平台、服务器硬件、文件传输应用程序等
4.也可以连接服务器,使用工具或终端上传退出
5.SSH 密钥带有 SSO 或单点登录,可帮助用户在帐户之间移动而无需每次都插入密码
此外,它在访问管理和身份管理方面发挥着重要作用。SSH 流量也是高度加密的。它还可以帮助您在多个远程设备上安全地发出命令。您可以期待安全和自动化的文件传输。与此同时,请确保您的网络基础设施组件的安全管理。简而言之,SSH 广泛用于脚本和其他几种软件中,以安全地远程访问数据和资源。现在,让我们将重点放在我们的核心主题上,即 SSH 默认端口。
什么是默认 SSH 端口号?
正如我们上面所讨论的,每次通信都将使用默认的 SSH 端口号 22 来完成。这个端口被认为对于执行关键传输是不安全的,因为每个人都知道默认的 [端口号是 22。它我们将默认端口号更改为其他端口以避免暴力攻击是明智之举。有线和无线机器之间的连接是通过端口进行的。总共有65,536个通信端口。此外,默认情况下,用于通信的 SSH 端口号为 22。
每当您通过默认 SSH 端口号 22 运行命令时,就会在客户端和服务器之间建立连接。现在每个连接都通过此端口初始化。此外,出于安全目的,有几种情况需要更改默认的 SSH 端口号。安全措施对于保护服务器免受暴力攻击变得必要。当我们谈论蛮力攻击时,它是一种错误方法,以破解不正确的数据。例如,通过详尽的努力而不是算法来找出密码。基本上是指敲打,直到破解为止。另外,很明显,22端口是默认的通信端口,因此未经授权的一方更容易访问数据。当您将此端口切换到其他端口时,黑客必须尝试其他几个端口才能最终找到一个开放端口。因此,要想将任何黑客拒之门外,可以采取这一步。但是,问题是,更改默认 SSH 端口的方法是什么?
如何更改默认 SSH 端口
要更改默认 SSH 端口,您必须编辑 sshd_config 文件。此外,保留文件备份始终是一个不错的选择。首先使用此命令创建备份:
ubuntu@ubuntu:~$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
此命令在同一目录中创建文件的副本。下一步是更改默认的 SSH 端口。在任何编辑器中打开 ssh_config 文件。现在,输入以下命令:
ubuntu@ubuntu:~$ gedit /etc/ssh/sshd_config
执行此命令后,上述文件将在文本编辑器中打开。在代码中搜索这一行:
#Port 22
现在,假设您想将端口号更改为 45673。为此,只需删除井号 (#) 并插入所需的端口号而不是 22。看看:
Port 45673
此外,不要忘记在防火墙上将此端口列入白名单,以避免将自己锁定在设备上。继续,是时候重启 SSH 了。
要重新启动服务器以加载更改,您必须遵循以下命令:
ubuntu@ubuntu:~$ sudo service sshd restart
重新启动设备后,您就可以看到所做的更改。现在,您无需退出 SSH 会话即可轻松测试更改。
如何测试更改?
成功更改默认端口后,必须提及端口号才能与服务器建立连接。
下面是需要执行的命令:ubuntu@ubuntu:~$ ssh username@userIP -p 45673
您将端口号设置为 45673。
因此,您可以看到该过程非常容易和简单。您需要执行一些命令,一切顺利。