Hostwinds 教程

寻找结果为:


目录


先决条件
选择一个新的SSH端口
如何更改默认的SSH端口
步骤1:更新SSH配置文件
步骤2:更新防火墙规则
步骤3:重新启动SSH服务
步骤4:测试新的SSH端口
步骤5:使SSH连接更容易(可选)
锁定SSH访问
禁用根登录
使用SSH密钥身份验证
设置FAIL2BAN或类似工具
保持SSH和您的操作系统更新
监视登录活动
使用IP白名单限制SSH访问

如何更改您的SSH端口

标签: VPS 

先决条件
选择一个新的SSH端口
如何更改默认的SSH端口
步骤1:更新SSH配置文件
步骤2:更新防火墙规则
步骤3:重新启动SSH服务
步骤4:测试新的SSH端口
步骤5:使SSH连接更容易(可选)
锁定SSH访问
禁用根登录
使用SSH密钥身份验证
设置FAIL2BAN或类似工具
保持SSH和您的操作系统更新
监视登录活动
使用IP白名单限制SSH访问

Secure Shell(SSH)是一种可信赖且广泛使用的方法,用于安全连接到远程服务器。默认情况下,它在端口22上听,这是一个著名的端口,通常以自动机器人和恶意登录尝试为目标。切换到其他端口不会使您的服务器无敌,但它可以大大减少不必要的流量并帮助改善整体安全姿势。

在本教程中,我们将介绍您安全更改服务器SSH端口的步骤。在此过程中,我们将介绍如何选择新端口,更新您的防火墙规则,测试连接,并应用一些其他最佳实践,以实现更安全的SSH设置。

让我们开始吧。

先决条件

在更改SSH端口之前,请确保您有以下内容:

  • root或sudo访问服务器: 为了修改系统设置,您需要管理特权。如果您不确定如何通过SSH访问服务器,请参阅我们的指南 通过SSH连接到服务器
  • 使用默认端口(通常22)的活动SSH连接: 在不合格的情况下,保持积极的SSH会话是一个好主意。
  • 防火墙访问: 为了允许新端口上的流量,您需要修改操作系统的防火墙规则。
  • 命令行知识: 基本的理解应该很好。如果您需要帮助,我们 命令行界面的初学者指南 是一个很好的起点。
  • 一个新的SSH端口号: 选择尚未使用的1024和65535之间的端口。
  • SSH配置文件的备份: 在进行更改之前,重要的是要备份您的SSH配置以防止锁定:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

选择一个新的SSH端口

SSH默认为端口22,但是您可以将其更改为任何未使用的端口 1024和65535。避免在1024年以下的港口 - 他们保留用于著名的服务,并可能导致冲突。以下是常用端口的列表,因此您知道要避免哪些端口:

端口号

服务

协议

22

SSH协议

TCP.

21

FTP文件

TCP.

23

telnet

TCP.

25

SMTP

TCP.

53

域名解析

UDP/TCP

80

HTTP

TCP.

443

HTTPS

TCP.

3306

MySQL数据库

TCP.

5432

Postgresql

TCP.

8080

替代HTTP

TCP.

提示: 选择一个通常不受攻击者扫描的端口,例如2222、2525或50022

如何更改默认的SSH端口

确定要使用的端口号后,让我们浏览如何进行切换的步骤。

步骤1:更新SSH配置文件

1.使用当前SSH端口连接到服务器(默认为22):

ssh user@your-server-ip

2。使用Nano等文本编辑器打开SSH守护程序配置文件:

sudo nano /etc/ssh/sshd_config

3。找到指定默认SSH端口的行:

#Port 22

4。输入(删除#符号),然后将数字更改为新端口:

Port 2222

(用您首选的端口号替换2222。)

5。保存并退出文件。

步骤2:更新防火墙规则

如果您的服务器启用了防火墙,则需要打开防火墙中的新SSH端口并关闭旧的SSH端口。

在Ubuntu/Debian上:

sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
sudo ufw reload

在Centos Rhel和Firewalld上:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --remove-service=sshsudo firewall-cmd --reload

提示: 确保在任何其他防火墙管理工具或外部安全组(例如AWS或云提供商中的端口)中反映端口更改

步骤3:重新启动SSH服务

进行更改后,通过重新启动SSH服务应用新设置:

sudo systemctl restart sshd

步骤4:测试新的SSH端口

在关闭当前的SSH会话之前,打开一个新的终端窗口并测试新端口:

ssh -p 2222 user@your-server-ip

如果连接有效,那么您都设置了。

如果没有 故障排除SSH连接问题.

步骤5:使SSH连接更容易(可选)

为了避免每次键入端口号,您可以将其添加到本地SSH配置中:

1.开放或创建此文件:

nano ~/.ssh/config

2。使用您的凭据(服务器名称,服务器IP,端口#和用户名)添加以下内容:

Host your-server
 	HostName your-server-ip 
	Port 2222 
	User your-username 

锁定SSH访问

更改SSH端口是一个很好的第一步,但是这里还有一些增强服务器安全性的方法:

禁用根登录

编辑/etc/ssh/sshd_config并设置:

PermitRootLogin no

这迫使用户可以作为常规用户进行身份验证,然后用sudo升级特权。

使用SSH密钥身份验证

基于密码的登录更容易暴力。切换到SSH键会使未经授权的访问变得更加困难。与SSH-Keygen生成一个密钥对,然后将您的公钥上传到服务器。

设置FAIL2BAN或类似工具

诸如Fail2ban Monitor登录尝试和暂时禁止反复失败的工具。这有助于防止蛮力攻击。

保持SSH和您的操作系统更新

定期安装更新以修补任何已知漏洞。

监视登录活动

检查日志 /var/log/auth.log (Ubuntu/debian)或 / var / log / secure (Centos/Rhel)关注登录尝试和潜在威胁。

使用IP白名单限制SSH访问

如果仅特定的IP需要SSH访问,请限制您的防火墙规则以允许这些地址。

撰写者 Michael Brower  /  六月 23, 2017