Hostwinds 教程
寻找结果为:
目录
标签: VPS
Secure Shell(SSH)是一种可信赖且广泛使用的方法,用于安全连接到远程服务器。默认情况下,它在端口22上听,这是一个著名的端口,通常以自动机器人和恶意登录尝试为目标。切换到其他端口不会使您的服务器无敌,但它可以大大减少不必要的流量并帮助改善整体安全姿势。
在本教程中,我们将介绍您安全更改服务器SSH端口的步骤。在此过程中,我们将介绍如何选择新端口,更新您的防火墙规则,测试连接,并应用一些其他最佳实践,以实现更安全的SSH设置。
让我们开始吧。
在更改SSH端口之前,请确保您有以下内容:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
SSH默认为端口22,但是您可以将其更改为任何未使用的端口 1024和65535。避免在1024年以下的港口 - 他们保留用于著名的服务,并可能导致冲突。以下是常用端口的列表,因此您知道要避免哪些端口:
提示: 选择一个通常不受攻击者扫描的端口,例如2222、2525或50022
确定要使用的端口号后,让我们浏览如何进行切换的步骤。
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。保存并退出文件。
如果您的服务器启用了防火墙,则需要打开防火墙中的新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或云提供商中的端口)中反映端口更改
进行更改后,通过重新启动SSH服务应用新设置:
sudo systemctl restart sshd
在关闭当前的SSH会话之前,打开一个新的终端窗口并测试新端口:
ssh -p 2222 user@your-server-ip
如果连接有效,那么您都设置了。
如果没有 故障排除SSH连接问题.
为了避免每次键入端口号,您可以将其添加到本地SSH配置中:
1.开放或创建此文件:
nano ~/.ssh/config
2。使用您的凭据(服务器名称,服务器IP,端口#和用户名)添加以下内容:
Host your-server
HostName your-server-ip
Port 2222
User your-username
更改SSH端口是一个很好的第一步,但是这里还有一些增强服务器安全性的方法:
编辑/etc/ssh/sshd_config并设置:
PermitRootLogin no
这迫使用户可以作为常规用户进行身份验证,然后用sudo升级特权。
基于密码的登录更容易暴力。切换到SSH键会使未经授权的访问变得更加困难。与SSH-Keygen生成一个密钥对,然后将您的公钥上传到服务器。
诸如Fail2ban Monitor登录尝试和暂时禁止反复失败的工具。这有助于防止蛮力攻击。
定期安装更新以修补任何已知漏洞。
检查日志 /var/log/auth.log (Ubuntu/debian)或 / var / log / secure (Centos/Rhel)关注登录尝试和潜在威胁。
如果仅特定的IP需要SSH访问,请限制您的防火墙规则以允许这些地址。
撰写者 Michael Brower / 六月 23, 2017