Linux SSH如何安全登录服务器

335
2025/2/15 18:31:59
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux系统中,使用SSH(Secure Shell)协议进行远程登录是一种非常常见且安全的方法。SSH提供了数据加密、身份验证和压缩等功能,确保远程通信的安全性和可靠性。以下是如何安全地使用SSH登录服务器的详细步骤和建议:

生成SSH密钥对

首先,在本地计算机上生成SSH密钥对。这是使用公钥加密和私钥解密数据的基础。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

将公钥复制到服务器

将生成的公钥(id_rsa.pub)复制到远程服务器的~/.ssh/authorized_keys文件中。这可以通过ssh-copy-id命令完成。

ssh-copy-id user@server_ip

配置SSH服务

编辑SSH服务配置文件(通常位于/etc/ssh/sshd_config),进行以下配置以增强安全性:

  • 修改默认端口:为了减少被自动扫描的几率,可以更改SSH的默认端口(22)。
  • 禁用密码登录:使用密钥登录通常比密码登录更安全,可以禁用密码登录。
  • 允许特定用户登录:可以限制只有特定用户才能通过SSH登录,以减少未授权访问的风险。
# 编辑配置文件
sudo nano /etc/ssh/sshd_config

# 修改配置
Port 2222
PermitRootLogin no
PasswordAuthentication no
AllowUsers user1 user2

# 重启SSH服务
sudo systemctl restart sshd

使用SSH密钥登录

现在可以使用密钥登录服务器,而不是密码。这通过在SSH命令中指定私钥文件来完成。

ssh -i ~/.ssh/id_rsa user@server_ip

防火墙配置

配置防火墙以限制SSH访问,只允许特定IP地址或用户通过SSH登录。可以使用ufw(Uncomplicated Firewall)或iptables来实现。

# 允许特定用户通过SSH登录
sudo ufw allow from user_ip_address to any port 22

# 或者使用iptables
iptables -A INPUT -p tcp --dport 22 -m owner --uid-owner user1 -j ACCEPT

防止暴力破解

使用工具如fail2ban来自动封禁尝试登录次数过多的IP地址,以防止暴力破解攻击。

通过以上步骤,可以大大提高通过SSH登录服务器的安全性。务必定期更新密钥对,并监控SSH登录活动,以确保系统的安全。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux使用yum安装redis报错怎么解决