温馨提示×

SecureCRT连接Debian时如何避免被防火墙拦截

小樊
55
2025-09-17 01:03:40
栏目: 智能运维

1. 确认Debian系统SSH服务正常运行

SecureCRT连接Debian的前提是SSH服务已启动并正常运行。通过以下命令检查SSH服务状态:

sudo systemctl status ssh

若未运行,启动SSH服务并设置开机自启:

sudo systemctl start ssh
sudo systemctl enable ssh

这一步确保SSH服务在系统启动时自动运行,避免因服务未启动导致的连接拦截。

2. 配置防火墙允许SSH连接(以UFW为例)

Debian系统常用**UFW(Uncomplicated Firewall)**作为防火墙工具,需确保其允许SSH流量通过:

  • 安装UFW(若未安装)
    sudo apt update
    sudo apt install ufw
    
  • 设置默认规则
    默认拒绝所有入站连接,允许所有出站连接(保障系统安全):
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    
  • 开放SSH端口
    SSH默认使用22端口,执行以下命令允许该端口:
    sudo ufw allow ssh  # 等同于 sudo ufw allow 22/tcp
    
  • 启用UFW并验证规则
    sudo ufw enable
    sudo ufw status  # 查看规则,确认“22/tcp”为“ALLOW”
    

若使用iptables(较旧系统),可通过以下命令开放端口:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo netfilter-persistent save  # 保存规则(Debian需安装iptables-persistent)

以上步骤确保防火墙不会拦截SecureCRT的SSH连接请求。

3. (可选)修改SSH默认端口并更新防火墙规则

若默认22端口存在安全风险,可修改SSH端口以降低被扫描拦截的概率:

  • 修改SSH配置文件
    编辑/etc/ssh/sshd_config,找到Port 22行,取消注释并修改为自定义端口(如2222):
    Port 2222
    
  • 重启SSH服务
    sudo systemctl restart ssh
    
  • 更新防火墙规则
    若使用UFW,允许新端口:
    sudo ufw allow 2222/tcp
    
    若使用iptables:
    sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
    sudo netfilter-persistent save
    

修改后,SecureCRT连接时需将“端口”字段改为新端口(如2222)。

4. 测试连接前临时关闭防火墙(可选)

若仍无法连接,可临时关闭防火墙验证是否为防火墙拦截(注意:此操作会降低系统安全性,仅用于测试):

  • 关闭UFW
    sudo systemctl stop ufw
    
  • 关闭iptables
    sudo systemctl stop iptables
    

若关闭防火墙后连接成功,说明问题出在防火墙规则配置上,需重新检查规则是否正确。

5. 其他注意事项

  • 确认SecureCRT配置正确:在SecureCRT中创建会话时,确保“协议”选择“SSH”、“主机名”为Debian服务器IP、“端口”为SSH端口(默认22或自定义端口)、“用户名”为Debian系统用户。
  • 使用密钥认证增强安全性:避免使用密码认证,生成SSH密钥对并将公钥添加到Debian服务器的~/.ssh/authorized_keys文件中,可防止密码被暴力破解。

0