当前位置: 首页 > news >正文

【AI-小米机器狗】Dockerfile包含SSH和SFTP

通过这些步骤,可以在docker容器中安装运行SSH和SFTP服务,设置ssh和sftp的密码,克隆指定的Git仓库到/home目录,并使用bash作为入口点,

# 基于原始镜像
FROM cyberdog_sim:v1# 更新包列表并安装OpenSSH服务器和git
RUN apt-get update && apt-get install -y openssh-server git# 创建必要的目录
RUN mkdir /var/run/sshd# 设置root用户密码
RUN echo 'root:Password' | chpasswd# 允许root登录并通过密码认证
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config# 配置SFTP子系统(如果未定义)
RUN grep -q '^Subsystem\s\+sftp\s\+/usr/lib/openssh/sftp-server' /etc/ssh/sshd_config || echo "Subsystem sftp /usr/lib/openssh/sftp-server" >> /etc/ssh/sshd_config# 克隆指定的Git仓库到/home
RUN git clone https://github.com/MiRoboticsLab/loco_hl_example /home/loco_hl_example# 开放22端口
EXPOSE 22# 创建启动脚本
RUN echo '#!/bin/bash\n/usr/sbin/sshd\nexec "$@"' > /start.sh && chmod +x /start.sh# 使用启动脚本作为入口点
ENTRYPOINT ["/start.sh"]# 默认命令
CMD ["bash"]

构建新镜像

使用上述Dockerfile构建新的Docker镜像:

docker build -t cyberdog_sim_with_ssh:v4 .

运行新镜像

使用以下命令运行新镜像,并包括原始运行命令中的所有参数:

sudo docker run -it --shm-size="1g" --privileged=true -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -p 2222:22 cyberdog_sim_with_ssh:v4

防火墙配置

确保防火墙允许通过新端口(2222):

  • UFW(Uncomplicated Firewall)配置:
sudo ufw allow 2222/tcp
sudo ufw reload
  • iptables配置:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables-save

连接到SSH和SFTP

  1. SSH连接:
    使用新的端口连接到SSH服务:
ssh root@localhost -p 2222

从远程机器连接,替换localhost为你的主机IP地址:

ssh root@your_host_ip -p 2222
  1. SFTP连接:
    使用新的端口连接到SFTP服务:
sftp -P 2222 root@localhost

从远程机器连接,替换localhost为你的主机IP地址:

sftp -P 2222 root@your_host_ip
http://www.lryc.cn/news/385911.html

相关文章:

  • 仿真CAN报文发送的CRC校验算法(附CAPL代码)
  • 如何在Android应用中最佳实现“Edge to Edge“特性?
  • 多租户与低代码开发的应用:解锁企业数字化转型的无限可能
  • 出现身份验证错误,无法连接到本地安全机构 顺利解决这个问题希望能帮助大家
  • 老师把卷子拍成图片如何打印
  • MySQL数据库(三):读取数据库数据
  • 分销裂变实战:PLG模式如何助力企业突破增长瓶颈
  • 定积分定义求极限专题
  • LLaMA:挑战大模型Scaling Law的性能突破
  • vue3 +elementPlus上传照片墙
  • Charles网络抓包工具安装和web抓包(一)
  • mysql workbench使用schema视图导出表和列结构到excel
  • Linux操作系统--软件包管理(保姆级教程)
  • 【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE
  • Rust详解日志
  • 某麦网自动刷新抢票脚本——手机端(高级版)
  • 【MySQL】(基础篇十八) —— 触发器
  • [19] Opencv_CUDA应用之 基于形状的对象检测与跟踪
  • 【Echarts】散点图 制作 气泡 类型图表
  • 深入理解Spring Boot的启动过程
  • 【深度学习】卷积神经网络CNN
  • 游戏AI的创造思路-技术基础-深度学习(3)
  • 贪心算法练习题(2024/6/24)
  • 大厂程序员上班猝死成常态?
  • 深度学习 —— 1.单一神经元
  • Android 12.0 通知发送过程源码分析-Framework
  • 提防远程攻击:了解正向 Shell 和反向 Shell 确保服务器安全
  • RabbitMQ中CorrelationData 与DeliveryTag的区别
  • 数据恢复篇:如何在Android上恢复删除的短信
  • 花了大几万的踩坑经验!宠物空气净化器哪个牌子好:希喂、小米、有哈PK