docker 中安装 ssh
一些比较简版的docker镜像中,是默认没有安装ssh的,当我们有这个需求的时候,需要为它安装,具体步骤如下:一、使用 yum 安装yum -y install openssl openssh-server openssh-clients二、启动注意:正常情况我们是要使用下面的命令来启动ssh和添加为系统服务的,但是因为docker中没有权限执行systemctl(除非你用特权模式启动容器)sys
·
一些比较简版的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)
更多推荐
已为社区贡献43条内容
所有评论(0)