在Alpine容器中安装配置SSH服务端

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字段作为容器启动命令。