栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

sshd is not running

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 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) 如果需求不一致,可创建多个容器,每个容器映射不同的端口。这样用户就可以用不同的映射端口来访问不同的容器。

郑重提示:①本文不允许转载,若认可本文,可点赞收藏。

                      ②若有疑问,可在评论区留言相互讨论。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/831152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号