什么是 SSH何时使用SSH?SSH中有哪些常见命令?为什么需要更改SSH端口以及如何在Linux服务器上更改端口?请与TotHost一起在以下文章中了解更多信息
1. SSH 是什么?
SSH(Secure Shell)是一种网络协议,用于建立安全的网络连接。SSH允许用户通过安全的网络连接远程访问和控制设备。通过SSH,设备之间的数据传输是加密的,确保了数据的安全性。SSH具有用户身份验证、数据加密、服务器身份验证和网络安全等安全功能,因此SSH连接在网络上能够受到有效保护,不易受到网络攻击的影响。
SSH在系统管理和网络安全方面起着重要的作用。它广泛应用于计算机系统和网络设备中,用于远程访问和管理。尤其在服务器系统中,SSH被广泛使用。
1.1. SSH的工作机制是什么?
SSH协议被设计用来取代虚拟终端和不安全的登录控制机制,如Telnet。因此,该协议具有登录、远程终端启动和远程控制等功能。通过SSH,用户可以安全地远程登录和控制服务器,而无需担心数据泄露或被拦截。
客户端和服务器目前使用会话密钥对发送和接收的所有数据进行加密和解密。这提供了一个安全的、加密的通道来传输数据。
总的来说,SSH协议提供了一种安全可靠的方式来通过互联网远程访问和管理设备。它被广泛应用于系统管理员、Developers 和其他专业人士之间,他们需要以安全的方式远程访问系统。
1.2. 什么时候应该使用SSH?
以下是您在工作中可能使用SSH的一些情况:
- 远程服务器管理:您可以使用SSH来远程登录和管理服务器,执行命令、修改配置文件等操作。
- 文件传输:通过SSH的SCP或SFTP功能,您可以安全地传输文件和目录。
- 命令行界面:SSH的安全命令行界面(CLI)允许您在远程系统上执行命令,就像您在其前面坐着一样。
总而言之,SSH是一个灵活的工具,用于在网络空间上进行安全的通信和连接。
2. SSH服务器以及相关的服务?
2.1. 使用OpenSSH的SSH服务器:
要设置SSH服务器(通过SSH协议访问服务器),我们有一些工具可供选择,例如OpenSSH、Putty和MobaXterm。其中OpenSSH是最常用的工具。
OpenSSH是默认安装在CentOS和Ubuntu服务器上的服务。如果尚未安装,您可以使用以下命令进行安装:
-------------RHEL------------------------
yum install openssh openssh-server openssh-clients openssl-libs -y
-------------Ubuntu----------------------
sudo apt-get install openssh-server openssh-client -y
配置文件保存在 /etc/ssh/sshd_config 。请注意:在修改配置之后,需要重置配置。
Để vào server ta dùng lệnh: ssh <username>@<IP_server> -p <ssh_port>
:
- username 时使用来SSH的账户名称
- IP_server 是需要SSH到的IP地址
- ssh_port 用于SSH的端口(如果您使用 TotHost 的VPS TOT M 服务,请填写4433)。有关更改端口的详细信息,请参考下面的内容。
请点击以下链接了解如何使用Putty、MobaXterm等工具SSH到服务器: Các cách kết nối server linux
2.2. SCP - 使用SSH传输文件
SCP是OpenSSH提供的命令,用于传输文件数据。命令如下:
scp [OPTION] [user_src@]src_host:]src_file [user@]desk_host:]des_file
其中有:
- [OPTIONS] 表示选项参数
- [user_src@]src_host:]src_file 表示源文件或目录的路径
VD: [email protected]:/home/file1.txt - [user@]desk_host:]des_file 表示目标文件或目录的路径
2.3. RSA – 通过密钥进行SSH连接
SSH通过密钥进行连接:(有密钥→可以连接,无密钥→拒绝连接)
command:
-----create key--------
ssh-keygen -t rsa
-----------------------
1st line : key location
2nd line : passphrase (enter is empty)
3rd line : comfirm passphrase
运行上述命令后,将生成两个密钥文件:
- file id_rsa 是保存在客户端上的文件。当您使用命令或第三方软件时,OpenSSH会读取此文件以便能够通过SSH登录到服务器。
- file id_rsa.pub 是放置在服务器上的文件。
可以在客户端上生成密钥,然后将id_rsa.pub文件的内容复制到服务器上的id_rsa.pub文件中。这样,您就可以连接到服务器了。(如果服务器限制了IP,请打开防火墙以便能够访问)
3. 在Server Linux上更换SSH端口
Linux服务器默认使用端口22进行连接。因此,当连接时,我们通常省略 -p 参数,服务器仍然能够理解。但是,随着近期网络攻击的增加,我们容易受到登录扫描和失去对服务器的控制权。因此,一些VPS提供商会更改默认端口,以确保服务器信息的安全。例如TotHost,端口22被替换为端口4433。
以下,TotHost将分享如何更改两种常见的Linux操作系统,即Ubuntu和CentOS 7。
3.1. Ubuntu:
连接到您的Ubuntu VPS服务器。
- 打开的文本编辑器
/etc/ssh/sshd_config
找到#Port 22
并将其更改为您想要的新端口号 (例如TotHost,端口被替换为端口4433) - 输入命令
Systemctl restart sshd
以重新启动SSH服务 - 更新防火墙以便在退出后仍然可以重新连接。对于Ubuntu的默认防火墙,您可以运行以下命令:
sudo ufw allow <port_number>
nhé
3.2. CentOS 7
在CentOS 7上,稍微复杂一些。特别是当服务器从ISO新建时,可能缺少一些SELinux工具,导致无法更改服务器的端口。具体而言,是 semanage.
- 要安装 semanage 我们可以运行以下命令:
yum install policycoreutils-python
- 我们需要在配置文件中进行类似于Ubuntu的更改
- 加上一下的命令:
- 删掉22端口:
semanage port -d -t ssh_port_t -p tcp 22
- 加上新端口 (4433)
semanage port -a -t ssh_port_t -p tcp 4433
- 更换火墙:
firewall-cmd --permanent --add-port=2220/tcp
和firewall-cmd --reload
- 删掉22端口:
以上是更改端口以确保服务器安全的方法。
希望通过本文的分享,您已经了解了SSH的概念,使用SSH的方法以及在Linux服务器上更改SSH端口的方法。