Alpine是一个极其轻量级的Linux,通常用作制作Docker镜像,今天就来分享一下如何在Alpine容器中安装配置ssh
并远程连接。
安装SSH
服务端
创建容器后,就可以通过命令进行安装配置了,记得先把容器的22
端口映射出来!
首先是修改镜像源为国内镜像源(清华大学镜像站),不然下载安装很慢,进入容器后执行:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
然后安装ssh
服务端:
apk add --no-cache openssh-server
安装完成后,进入/etc/ssh
目录生成密钥:
cd /etc/ssh
ssh-keygen -A
到此,就安装完成了!
启动sshd
服务
通过下列命令启动:
/usr/sbin/sshd
没有任何输出说明启动成功,这个时候就可以在容器外通过ssh
访问了!
需要注意的是,由于容器中使用open-rc
服务管理器有很多限制,因此这里是使用的手动启动的方式,这意味着每次重启容器sshd
不会启动,因此进入容器需要手动执行上述命令启动服务。
如果是要自己制作镜像并集成ssh
,那么可以将上述启动命令写在Dockerfile中的CMD
字段作为容器启动命令。