news 2026/4/19 0:26:56

Jetson Nano配置(六)SSH连接与高效文件传输实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jetson Nano配置(六)SSH连接与高效文件传输实战

1. Jetson Nano SSH连接基础配置

刚拿到Jetson Nano开发板时,最让人头疼的就是那块小小的屏幕和接不完的外设。作为一个常年和嵌入式设备打交道的开发者,我强烈建议你尽早掌握SSH远程连接技能。Jetson Nano出厂时已经预装了SSH服务并默认开启,这为我们省去了不少配置时间。

首先需要确认你的开发板和主机在同一局域网内。我习惯用手机热点搭建临时网络,这样笔记本和Nano都能连接,避免了路由器配置的麻烦。连接成功后,在Nano终端输入ifconfig查看IP地址,你会看到类似192.168.x.x的地址。记下这个地址,它就是你的Nano在网络中的"门牌号"。

验证SSH服务是否正常运行很简单:

sudo systemctl status sshd

如果看到"active (running)"字样,说明服务已经就绪。万一遇到服务未启动的情况,执行以下命令即可:

sudo systemctl enable sshd sudo systemctl start sshd

第一次连接时可能会遇到主机验证提示,输入"yes"即可。之后每次连接只需要输入密码,默认用户是"nvidia",密码也是"nvidia"。建议首次登录后立即修改密码:

passwd

2. 双向SSH连接实战技巧

很多教程只讲了从主机连接Nano,但实际开发中我们经常需要反向操作。比如当Nano接了大屏显示器时,直接在Nano上操作反而更方便。这时就可以从Nano SSH连接回主机,形成双向通道。

假设你的主机IP是192.168.1.100,用户名为"dev",那么在Nano终端输入:

ssh dev@192.168.1.100

首次连接同样需要确认主机指纹。成功登录后,你就可以在Nano上直接操作主机文件了,这对调试特别有用。

我遇到过一个典型场景:在主机上编译好的ROS包需要快速部署到Nano测试。传统做法是用U盘来回拷贝,效率极低。有了双向SSH,可以直接在Nano上拉取主机文件:

scp dev@192.168.1.100:~/catkin_ws/devel/lib/* ~/catkin_ws/devel/lib/

3. 高效文件传输方案

SCP命令是SSH自带的文件传输工具,虽然简单但非常实用。经过多次项目实战,我总结出几个高效使用技巧:

  1. 大文件传输:添加-C参数启用压缩,能显著提升传输速度
scp -C large_file.zip nvidia@192.168.1.50:~/downloads/
  1. 保留文件属性:使用-p参数保持修改时间、权限等信息
scp -p config.txt nvidia@192.168.1.50:~/config/
  1. 限速传输:当网络繁忙时,用-l参数限制带宽(单位Kbit/s)
scp -l 800 video.mp4 nvidia@192.168.1.50:~/videos/

对于需要频繁同步的目录,建议使用rsync代替scp。rsync的增量传输机制可以极大节省时间:

rsync -avz ~/project nvidia@192.168.1.50:~/workspace/

4. ROS开发中的文件传输实战

在ROS机器人开发中,经常需要在主机和Nano之间同步工作空间。经过多次踩坑,我总结出一套可靠的工作流程:

  1. 在主机上完整编译工作空间
catkin_make -DCMAKE_BUILD_TYPE=Release
  1. 同步整个devel目录到Nano
scp -r ~/catkin_ws/devel nvidia@192.168.1.50:~/catkin_ws/
  1. 选择性同步launch文件和配置文件
scp ~/catkin_ws/src/robot_bringup/launch/* nvidia@192.168.1.50:~/catkin_ws/src/robot_bringup/launch/

特别注意:ROS节点在Nano上运行时可能需要调整参数。我习惯在主机上维护一套开发用参数,在Nano上保留部署用参数,通过不同文件名区分。

5. SSH免密登录配置详解

每次输入密码确实烦人,配置免密登录后效率能提升不少。但要注意安全风险,建议只在可信网络环境下使用。

具体操作分三步走:

  1. 在主机生成密钥对(如果已有可跳过)
ssh-keygen -t rsa -b 4096
  1. 将公钥复制到Nano
ssh-copy-id -i ~/.ssh/id_rsa.pub nvidia@192.168.1.50
  1. 测试免密登录
ssh nvidia@192.168.1.50

如果还是提示输入密码,检查Nano上~/.ssh/authorized_keys文件权限是否为600:

chmod 600 ~/.ssh/authorized_keys

6. 常见问题排查指南

遇到连接问题时,可以按照以下步骤排查:

  1. 网络不通:先用ping测试基础连接
ping 192.168.1.50
  1. SSH服务未响应:检查Nano上的服务状态
sudo netstat -tulnp | grep 22
  1. 认证失败:查看Nano上的auth日志
sudo tail -f /var/log/auth.log
  1. 防火墙拦截:临时关闭防火墙测试
sudo ufw disable
  1. 配置文件错误:检查/etc/ssh/sshd_config中的关键参数
PermitRootLogin no PasswordAuthentication yes PubkeyAuthentication yes

记住修改配置后要重启服务:

sudo systemctl restart sshd

7. 高级技巧与安全建议

对于需要长期运行的远程任务,建议使用tmux或screen保持会话。我常用的工作流程是:

  1. 在Nano上创建tmux会话
tmux new -s remote_work
  1. 在会话中启动任务
roslaunch robot_bringup startup.launch
  1. 断开连接(不影响任务运行) 按Ctrl+B,然后按D

  2. 重新连接查看进度

tmux attach -t remote_work

安全方面,强烈建议:

  • 修改默认SSH端口(编辑/etc/ssh/sshd_config中的Port项)
  • 禁用root远程登录
  • 使用fail2ban防止暴力破解
  • 定期更新系统和SSH软件包

这些配置看似麻烦,但能有效防止设备被入侵。我在一个商业项目中就因为疏忽了安全配置,导致Nano被挖矿程序感染,教训深刻。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 0:25:45

知识星球内容本地化:如何用Python爬虫构建你的专属知识库

知识星球内容本地化:如何用Python爬虫构建你的专属知识库 【免费下载链接】zsxq-spider 爬取知识星球内容,并制作 PDF 电子书。 项目地址: https://gitcode.com/gh_mirrors/zs/zsxq-spider 你是否曾在知识星球上收藏了大量有价值的文章、讨论和教…

作者头像 李华
网站建设 2026/4/19 0:24:28

KICS:贾子逆能力得分——连接东方智慧与数字文明的公尺

KICS:贾子逆能力得分——连接东方智慧与数字文明的公尺摘要: KICS(贾子逆能力得分)源于贾子智慧理论体系,旨在量化大语言模型的“元推理深度”与规则操作能力。它将东方哲思中“审问”“慎思”的思想转化为可计算指标&…

作者头像 李华
网站建设 2026/4/19 0:16:46

App加固后闪退卡顿怎么办?兼容性问题排查与避坑指南

在应用上架前选择加固方案时,你最担心的可能不是“能不能防住黑客”,而是“加固后App会不会闪退、变卡”。这种担忧非常实际。毕竟,任何安全防护都是以业务稳定运行为前提。一个让用户无法正常使用的App,再强的安全技术也等于零。…

作者头像 李华