容器中启动ssh状态总是sshd is not running
在服务器使用podman创建/新建容器,进入容器中,成功安装 openssh-server 和 openssh-sftp-server,然后执行以下命令并查看状态:
# service ssh status
* sshd is not running
# service ssh start
* Starting OpenBSD Secure Shell server sshd
# service ssh status
* sshd is not running //实际并没有启动,其它PC也不能通过SSH连接容器
经过长时间排查,发现是创建容器时使用了命令选项"--network=host",如下所示:
podman run -d --network=host --privileged=true --name ContainerName ...
通过查阅资料了解到host模式直接使用宿主机的网络空间,该模式下无法使用-p命令选项映射端口,容器和宿主机直接共享端口(多次尝试让其它PC通过SSH连接服务器容器均未成功,实际是否可以未知,读者可使用podman ps命令查看端口映射关系)。因此需将创建容器的命令修改为:
podman run -d -p 1234:22 --privileged=true --name ContainerName ...
# 1234 是指定的宿主机端口(无超级管理员权限时端口号不得小于1024)
# 22 是指定的容器中端口(对应/etc/ssh/sshd_config文件中配置的Port变量)
然后进入容器中,再次执行以下命令并查看状态:
# service ssh status
* sshd is not running
# service ssh start
* Starting OpenBSD Secure Shell server sshd
# service ssh status
* sshd is running //正常
实测其它PC已可以通过 ssh -X -p 1234 username@server-ip 连接服务器运行中的容器。
Tips:
(1) 如果需求差不多的话可以共用一个容器,在容器中使用root账户进行管理(或者创建一个具有sudo权限的管理账户),然后创建多个低权限账户提供给相关用户使用。使用以下命令可查看支持的数量上限:
sysctl -a | grep user\.max_user_namespaces
(2) 如果需求不一致,可创建多个容器,每个容器映射不同的端口。这样用户就可以用不同的映射端口来访问不同的容器。
郑重提示:①本文不允许转载,若认可本文,可点赞收藏。
②若有疑问,可在评论区留言相互讨论。
容器中启动ssh状态总是sshd is not running相关推荐
- docker容器内开启22 ssh_细述docker容器中创建SSH服务镜像
基于commit 命令 方式创建 docker的安装 [root@test01 ~]# yum install docker [root@test01 ~]# systemctl enable doc ...
- docker运行yyets_如何让操作系统为ubuntu的docker容器在启动时自动重启sshd服务?
实现你的需求有很多种做法. 1.如果在容器没有启动 sshd 服务的情况下又想通过一条ssh命令就进入容器内部,可以将 docker exec 与 ssh 两条指令结合到一起去: ssh -t 云主机 ...
- Docker容器中启动Arthas异常
使用Docker容器部署spring boot项目 Dockerfile文件内容如下 FROM openjdk:8-jre-alpine#第一步将apk源替换为国内阿里源.没有第一步将下载难产 RUN ...
- linux中ssh启动报错,Linux(Ubuntu18)中启动ssh时的报错
今天配置了一台新的Ubuntu的机器,在修改完ssh的配置文件并准备开启ssh的时候,无论是启动ssh: /etc/init/d/ssh start 还是重启ssh服务: /etc/init/d/ss ...
- docker容器内开启22 ssh_在docker容器中开启ssh服务 (未成功有时间再验证)
一. 利用ubuntu:14.04镜像创建一个容器: [root@docker ~]# docker run -it ubuntu:14.04 /bin/bash root@161f67ccad50: ...
- Docker容器中GUI软件的远程图形界面交互:mobaXterm+SSH,以脑影像处理软件FSL为例;FSL6.0.3完整安装与可视化;docker容器图形化;远程登录docker容器;
前言 对docker容器中软件的操作,是基于命令行的,这就导致了习惯图形化界面的人比较难以使用docker,而它又是一个神器,所以很难受.一般情况下,可以给容器安装一个桌面环境,然后用类似VNC的 ...
- linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口
默认情况下, SSH 侦听端口 22 . 更改默认 SSH 端口可以降低被自动攻击的风险,从而为服务器增加额外的安全层. 和更改默认端口相比,将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和 ...
- Docker容器中的Linux机器快速设置国内源
Docker容器中的Linux机器快速设置国内源 在Docker容器中启动了服务后,当我们进入容器内,经常很多命令无法使用,比如最基本的vim,可能都没有安装,因为容器内只安装应用服务,导致无法编辑配 ...
- 构建ChatGPT 镜像,并将其部署到 Docker 容器中。
自己构建 ChatGPT 镜像,并将其部署到 Docker 容器中. 下面是一个简单的 ChatGPT 镜像构建示例: 准备工作 在开始构建 ChatGPT 镜像之前,我们需要完成以下准备工作: 安装 ...
最新文章
- 基于物理的渲染-用真实的环境光照亮物体
- GoogLeNet的心路历程(三)
- Python读取csv数据文件,并按照指定比例划分为机器学习使用的训练集和测试集
- python源码剖析, 第0部分 -- 编译python
- 算法之寻找完数(C语言)
- timestamp显示毫秒_TimeStamp 毫秒和纳秒
- C#实现Winform程序自动进行版本升级更新
- 调节效应分析时简单斜率图或交互效应图出现负数截距?
- linux该专接本还是工作_专升本还是继续工作?
- 深度学习跑项目的注意事项
- 试图运行项目时出错:未能加载文件或程序集 或它的某一个依赖项。该模块应包含一个程序集清单 .
- 发那科pmc地址分配_FANUC IO模块地址分配详解
- python opencv根据颜色进行目标检测
- PHP免费发短信飞信类实现
- 十年架构师带来的Spring源码解析,极度深寒,程序员修炼内功必备
- iso转cue mac_mac如何播放cue文件?
- IPv6 地址数量有多少,能够分配到地球上的每一粒尘埃吗
- 从寻找谷神星的过程,谈最小二乘法实现多项式拟合
- 陈关荣老师整理的复杂网络的…
- xshell xftp 5系列
热门文章
- Python爬虫——下载音乐
- 熟练运用计算机软件英语,计算机软件英语论文
- 中科院计算机所副研究员,中科院计算技术研究所副研究员 谭光明
- 导致项目进度延误的三种常见场景及解决方案
- 如何把拍摄视频中多余的人或物去除?
- 欢迎使通过网页免费下载全网歌曲【转载】
- MarkDown语法详解(Typora编辑器)
- 宋鸿兵在《货币战争5》中谈到的美国医疗
- 搭建MYSQL的mmm架构出现 master/AWAITING_RECOVERY. Roles报错
- 小程序源码:网课查题微信小程序源码下载,题库资源丰富自动采集,支持语音拍照识别