前言
ubuntu上的ssh服务,包含客户端和服务端的应用环境。在docker中使用ssh服务,若没有自动启动,docker关闭重启后服务会挂掉,再次连接就会报Connection refused
问题,怎么解决呢?
本文中的命令主要基于ubuntu的系统,大多为ubuntu20.04。
ssh也是常用的工具呀~
客户端openssh-client
1 | sudo apt-get install openssh-client //安装客户端 |
服务端openssh-server
1 | dpkg -l | grep ssh //查看ubuntu是否安装openssh-server服务 |
其中,ssh-server配置文件位于/etc/ssh/sshd_config
docker使用-从头构建镜像
可以在Dockfile中添加关于ssh自动启动的部分,加上如下代码即可:1
2
3RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/user/sbin/ssh","-D"]
释放22端口给ssh服务,同时启动ssh服务到后台运行。
docker使用-已经在运行的系统或docker
进入docker内部,手动重启ssh服务1
2docker exec -it xinwen bash
sudo /etc/init.d/ssh start //启动服务命令1