【Python编程工具】【ssh连接Docker容器】如何使用Docker容器里的python环境,如何调试在容器中的代码

文章目录

  • 方案一览
    • Gateway软件介绍
    • 启动容器
    • 配置apt源
    • 在容器中安装SSH服务器
    • 配置SSH服务器
    • 生成SSH密钥
    • 启动SSH服务
    • 为root创建密码
    • 连接到容器
    • 使用Gateway

方案一览

本篇博客将介绍如何在Docker容器中打开SSH连接服务,以及如何使用JetBrains Gateway软件进行代码调试。

Gateway软件介绍

JetBrains Gateway是一款紧凑型桌面应用,可让您通过 JetBrains IDE 远程工作,甚至无需下载这些IDE。通过在桌面端安装这款软件,您可以直接调试服务器上的代码。

JetBrains Gateway

启动容器

使用以下命令启动容器,其中 --net host 参数是为了让容器使用宿主机的网络。

docker run -it --net host --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash

您也可以指定端口,比如将宿主机的2024端口映射到容器的22端口:

docker run -it -p 2024:22 --gpus all kevinchina/deeplearning:cu11.8ubuntu22.04 bash

配置apt源

详细配置apt源,请参考博客:https://qq742971636.blog.csdn.net/article/details/134291339

对于Ubuntu 22.04,配置文件如下:

vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse# deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse## Pre-released source, not recommended.
# deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

在容器中安装SSH服务器

在容器内运行以下命令来安装SSH服务器,确保已经安装了openssh-server:

apt-get update
apt-get install -y openssh-server

配置SSH服务器

编辑SSH服务器配置文件 /etc/ssh/sshd_config,确保以下行被设置为合适的值:

Port 2024 # 根据需求设置,容器Linux开启SSH服务的默认端口是22
PermitRootLogin yes  # 允许root用户登录(可选,根据需要设置)
PasswordAuthentication yes  # 允许密码身份验证

生成SSH密钥

如果还没有SSH密钥对,可以生成一个:

ssh-keygen -t rsa -b 2048

启动SSH服务

启动SSH服务:

service ssh start

或者,如果容器中使用systemd,使用以下命令:

systemctl start ssh

为root创建密码

为root创建密码,例如设为 nihao123

passwd root
nihao123

连接到容器

现在,可以使用SSH连接到Docker容器。在另一台服务器上执行以下命令:

ssh -p 2024 user@your_docker_host_ip

也可以直接使用root登录:

ssh -p 2024 root@10.20.31.31

请注意,出于安全考虑,建议使用SSH密钥进行身份验证,并将 PasswordAuthentication 设置为 no。确保防火墙允许通过所选的SSH端口的流量。

使用Gateway

这个就比较轻松了,别的服务器都可以ssh连接到容器里面了,此时,Gateway或者其他ssh工具就当然也是可以直接用ssh连接到容器中去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427876.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ | 六、栈 Stack、队列 Queue

栈的基础知识 栈&#xff08;stack&#xff09;是一种数据结构&#xff0c;在C中属于STL&#xff08;标准库&#xff09;特点&#xff1a;先进后出 栈的使用&#xff1a; 一、引入头文件<stack>二、创建栈变量&#xff08;类似容器、集合的创建方式&#xff09;&#xf…

GNSS模块引领共享出行新纪元:创新微公司的技术创新之路

共享出行服务正在成为城市交通中不可或缺的一环&#xff0c;而全球导航卫星系统&#xff08;GNSS&#xff09;模块的应用为这一领域注入了新的活力。创新微公司通过其先进的GNSS技术&#xff0c;为共享出行服务提供了更智能、高效的解决方案。本文将探讨创新微公司的GNSS模块在…

java(渣哇)------输入与输出语句(详解) (๑•̌.•๑)

目录 一.java的输出语句&#xff1a; System.out.println() -----输出并换行 System.out.print() -----输出但不换行 System.out.printf() -----类似C语言的printf()输出语句,按格式进行输出 二.java的输入语句&#xff1a; 2.1-----Scanner的基础用法&#xff1a; 2.2…

bash 5.2中文修订4

Compound Commands 复合命令 复合命令是 shell 编程语言的结构。每个构造都以保留字或控制运算符开始&#xff0c;并以相应的保留字或运算符终止。与复合命令关联的任何重定向&#xff08;请参阅 Redirections &#xff09;都适用于该复合命令中的所有命令&#xff0c;除非显式…

AI-数学-高中-8-函数奇偶性

原作者视频&#xff1a;函数】6函数奇偶性&#xff08;易-中档&#xff09;_哔哩哔哩_bilibili 示例&#xff1a; 已知奇偶性求解析式&#xff1a; 奇偶、单调函数综合示例&#xff1a;

Redis的五种数据类型(string、hash 、list、set、zset)

Redis 提供了丰富的数据类型&#xff0c;常见的有五种&#xff1a;String&#xff08;字符串&#xff09;&#xff0c;Hash&#xff08;哈希&#xff09;&#xff0c;List&#xff08;列表&#xff09;&#xff0c;Set&#xff08;集合&#xff09;、Zset&#xff08;有序集合&…

云手机与实体手机的对比

在数字化时代&#xff0c;云手机作为一种虚拟手机在云端服务器上运行&#xff0c;与传统的实体手机相比存在诸多差异。让我们深入探讨云手机与实体手机之间的区别&#xff0c;以便更好地了解它们的特点和优势。 外观上的差异 实体手机具有实际的外观和重量&#xff0c;占据一定…

从0开始python算法工程师(一):安装conda

1.为什么要安装conda 主要是为了在命令行使用conda命令管理虚拟环境。 2.两种conda Windows用户&#xff0c;一般建议初学者都安装anaconda&#xff08;省事&#xff09;&#xff1b;Windows用户&#xff0c;熟练的安装者则安装miniconda&#xff08;省存储空间&#xff09;…

影响可变利差有几个因素,Anzo Capital先说两个

了解利差的变化规律&#xff0c;盈利赚钱还不是轻轻松松的事情&#xff0c;但Anzo Capital想问各位投资者&#xff0c;你们知道影响可变利差的价值有几个因素吗&#xff1f;今天就先抛砖引玉&#xff0c;先说两个影响可变利差的因素。 首先就是交易工具的流动性——商品快速买…

Java玩转《啊哈算法》排序之桶排序

过去心不可得&#xff0c;现在心不可得&#xff0c;未来心不可得 目录在这里 楔子代码地址桶排序代码核心部分优缺点 完整代码演示 升级版核心代码完整代码演示 楔子 大家好&#xff01;本人最近看了下《啊哈算法》&#xff0c;写的确实不错&#xff0c;生动形象又有趣&#x…

ssh登录失败:connection closed by foreign host

问题1&#xff1a; ssh登录不上&#xff0c;连接上就断掉 inetd.conf显示2277已打开&#xff0c;ip也没有冲突。 但是这两个文件是空的(size 0k)&#xff1a; dropbear_dss_host_key dropbear_rsa_host_key 把/etc/dropbear里面的东西删掉,重新生成秘钥文件&#xff1a; …

如何有效的开展接口自动化测试,一篇足矣

一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&…