当前位置:   article > 正文

Docker内无法使用systemctl 手动启动 sshd服务_docker中无法重启ssh

docker中无法重启ssh

如何解决Docker容器使用 systemctl 

使用特权,同时,启动 /usr/sbin/init

docker run --privileged 其他参数   镜像版本  /usr/sbin/init

如何便可解决,

如何分配docker容器权限

针对: Operation not permitted 相关问题

使用 --cap-add/--cap-drop  开启/禁用  容器功能,具体权限,参考文档

http://man7.org/linux/man-pages/man7/capabilities.7.html

注意: --privileged  相当于 --cap-add=ALL 但我在测试过程中,发现使用 --cap-add=ALL 也无法解决容器内使用systemctl问题,必须使用 --privileged,   开启拓展属性, 但如果你使用了--privileged , 容器对宿主硬件资源全部可见, 又无法进行资源分配操作(也许测试不充分导致)。使用--cap-add=ALL 虽然无法使用systemctl操作, 但是宿主资源可分配。 

容器内手动启动sshd服务

首先确保,容器内安装了sshd, 

yum install -y openssh-server

如果使用了 --privileged  , 直接使用 systemctl , 否则需要进行如下:1 生成 host_key  2. 启动 sshd

如果未生成key 将提示无法加载key文件

按需生成指定的key

  1. ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  2. ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
  3. ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key

可默认不写参数,回车{Enter}即可

生成完成后,再次启动sshd,  指定配置文件

/usr/sbin/sshd -f /etc/ssh/sshd_config

完成后,  查看端口监听状态

启动成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/664203
推荐阅读
相关标签
  

闽ICP备14008679号