docker 中安装 ssh
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 中安装 ssh相关的知识,希望对你有一定的参考价值。
一些比较简版的docker镜像中,是默认没有安装ssh的,当我们有这个需求的时候,需要为它安装,具体步骤如下:
一、使用 yum 安装
yum -y install openssl openssh-server openssh-clients
二、启动
注意:正常情况我们是要使用下面的命令来启动ssh和添加为系统服务的,但是因为docker中没有权限执行systemctl(除非你用特权模式启动容器)
systemctl start sshd.service
systemctl enable sshd.service
执行上面两行命令你会看到错误:
Failed to get D-Bus connection: Operation not permitted
所以,我们选择将启动ssh的命令写到你docker的entrypoint命令或者脚本中,后台命令如下:
/usr/sbin/sshd -D &
此时,如果不出意外的话,会出现如下错误:
sh-4.2# /usr/sbin/sshd -D &
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
执行下面的3行命令,生成对应的key即可:
ssh-keygen -t rsa -P '' -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t ecdsa -P '' -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -P '' -f /etc/ssh/ssh_host_ed25519_key
最后再重新执行命令 /usr/sbin/sshd -D &
启动服务,成功!
(END)
以上是关于docker 中安装 ssh的主要内容,如果未能解决你的问题,请参考以下文章