普通网友 2025-04-08 20:45 采纳率: 98.4%
浏览 37

Jetson设备开启SSH后无法连接,提示“连接被拒绝”如何解决?

在使用Jetson设备时,开启SSH后出现“连接被拒绝”的问题,可能源于以下几个常见原因:1) SSH服务未正确启动,可通过`sudo systemctl status ssh`检查状态,并用`sudo systemctl start ssh`启动服务;2) 防火墙阻止了SSH端口(默认22),需确认防火墙规则允许该端口通信,例如使用`sudo ufw allow 22`;3) 网络配置错误,确保Jetson设备与客户端处于同一网络,且IP地址正确;4) SSH服务配置文件`/etc/ssh/sshd_config`中可能存在限制,如禁止root登录或指定IP绑定,检查并调整相关参数后执行`sudo systemctl restart ssh`重启服务。逐一排查以上问题即可解决“连接被拒绝”的情况。
  • 写回答

1条回答 默认 最新

  • rememberzrr 2025-04-08 20:45
    关注

    1. 初步检查:SSH服务状态

    当在Jetson设备上开启SSH后遇到“连接被拒绝”的问题时,首先需要确认SSH服务是否正常运行。这是最常见的原因之一。

    • 使用命令 `sudo systemctl status ssh` 检查SSH服务的状态。
    • 如果服务未启动,可以通过 `sudo systemctl start ssh` 启动服务。
    
    $ sudo systemctl status ssh
    # 如果显示inactive,则执行以下命令启动服务
    $ sudo systemctl start ssh
        

    此外,确保服务设置为开机自启以避免重启设备后再次出现类似问题:

    
    $ sudo systemctl enable ssh
        

    2. 防火墙规则排查

    防火墙可能会阻止默认的SSH端口(22),导致无法建立连接。以下是检查和调整防火墙规则的步骤:

    1. 确认防火墙是否启用:`sudo ufw status`。
    2. 如果启用且未允许SSH端口,添加规则允许通信:`sudo ufw allow 22`。
    命令作用
    `sudo ufw status`查看当前防火墙状态及规则列表。
    `sudo ufw allow 22`允许SSH端口(22)通过防火墙。

    如果使用非标准端口,请将上述命令中的“22”替换为实际使用的端口号。

    3. 网络配置验证

    网络配置错误可能导致客户端无法访问Jetson设备。以下是几个关键点:

    • 确保Jetson设备与客户端处于同一网络。
    • 确认Jetson设备的IP地址正确无误,并可通过ping测试连通性。

    例如,使用以下命令获取Jetson设备的IP地址:

    
    $ hostname -I
    # 或者
    $ ifconfig
            

    同时,检查路由器或交换机是否对特定设备设置了访问限制。

    4. SSH服务配置文件分析

    SSH服务配置文件 `/etc/ssh/sshd_config` 中可能存在限制条件,导致连接失败。以下是常见问题及解决方法:

    1. 禁止root用户登录:检查配置文件中是否有以下行:

    
    PermitRootLogin no
            

    如果需要允许root登录,将其修改为 `PermitRootLogin yes` 并保存。

    2. IP绑定问题:确保 `ListenAddress` 设置为正确的IP地址或注释掉此行以监听所有地址。

    完成修改后,重启SSH服务以应用更改:

    
    $ sudo systemctl restart ssh
            

    流程图:问题排查步骤

    Mermaid Flowchart
    评论

报告相同问题?

问题事件

  • 创建了问题 4月8日