Docker安装SSH【Ubuntu、CentOS】

原创 2016年06月15日 17:55:47

        Ubuntu环境下

拉取最新的Ubuntu
docker pull ubuntu:latest

启动
docker run -it ubuntu:latest /bin/bash

更新apt-get
apt-get update

安装ssh、netstat
apt-get install -y openssh-server net-tools

配置ssh
    mkdir /root/.ssh
    touch /root/.ssh/authorized_keys
        在宿主机子上执行ssh-keygen -t rsa,敲三次回车,把/root/.ssh/id_rsa.pub里的内容拷到容器内authorized_keys中去

    创建脚本
    vim /root/run.sh
    #!/bin/bash
    /usr/sbin/sshd -D
    保存退出
    chmod +x /root/run.sh

退出镜像
exit

保存镜像【创建镜像】
docker commit 07a4a6c467e2 sshd:ubuntu

使用镜像
docker run -p 10022:22 -d sshd:ubuntu /root/run.sh

从宿主机子登录[上文中,已经把id_rsa.pub放入了容器authorized_keys中]
ssh 192.168.199.209 -p 10022

        CentOS环境下

拉取最新的Centos
docker pull centos:latest

启动
docker run -it centos:latest /bin/bash

安装passwd,openssl,openssh-server
 yum install -y passwd openssl openssh-server

配置ssh
    mkdir /root/.ssh
    touch /root/.ssh/authorized_keys
        在宿主机子上执行ssh-keygen -t rsa,敲三次回车,把/root/.ssh/id_rsa.pub里的内容拷到容器内authorized_keys中去

    创建脚本
    vim /root/run.sh
    #!/bin/bash
    /usr/sbin/sshd -D
    保存退出
    chmod +x /root/run.sh

    启动sshd
    /usr/sbin/sshd
    这一步,若报错,如
        Could not load host key: /etc/ssh/ssh_host_rsa_key
    则使用如下名令
        ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key 【出现交互窗口,都按回车】
    再次执行,便是启动了
    这时,找出sshd进程pid【ps aux | grep sshd】,再kill掉

    修改 /etc/ssh/sshd_config 配置信息
        UsePAM yes 改为 UsePAM no 
        UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no

    sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config


退出镜像
exit

保存镜像【创建镜像】
docker commit 07a4a6c467e2 sshd:centos

使用镜像
docker run -p 10122:22 -d sshd:centos /root/run.sh

从宿主机子登录[上文中,已经把id_rsa.pub放入了容器authorized_keys中]
ssh 192.168.199.209 -p 10122

        最后,从上文中应该可以看出,其实创建Docker镜像,可以用Dockerfile,也可以直接docker commit。

创建支持SSH服务的Docker镜像

通常Linux系统管理员通过SSH服务来管理OS,但Docker的很多镜像是不带SSH服务的,可以通过attach(遇到假死的现象)或者exec(目前测试ok)的方法进入容器来管理,但是这些命令都无法...
  • delphiwcdj
  • delphiwcdj
  • 2015年01月18日 18:07
  • 10232

Docker实战(三):Docker安装ssh,supervisor等基础工具

Docker安装ssh
  • birdben
  • birdben
  • 2015年11月17日 00:55
  • 7785

docker centos7 安装ssh

一. 从docker hub 下载centos 官方镜像hr:centos7 hr$ docker pull centos:7 下载完后,查看本地资源库: hr:centos7 hr$ docker...
  • waixin
  • waixin
  • 2015年12月07日 22:52
  • 12218

docker中centos7安装ssh服务

docker安装好后,自己动手做个自己的docker镜像,首先需要从服务器pull下一个基础的镜像,这里用centos7 (最好是root用户下,我虚拟机中的docker普通用户运行docker提示...
  • qq_32969313
  • qq_32969313
  • 2017年03月22日 15:34
  • 1190

Centos7创建支持ssh服务器的docker容器

1、启动一个docker容器:# docker run -it centos:latest /bin/bash这样就会新建一个docker容器,并且进入容器的bash中 2、安装sshd:# yum...
  • xizaihui
  • xizaihui
  • 2016年10月28日 23:35
  • 2445

Docker实战(三):Docker安装ssh,supervisor等基础工具

Docker安装ssh
  • birdben
  • birdben
  • 2015年11月17日 00:55
  • 7785

docker ubuntu镜像安装ssh免登录

1. docker pull ubuntu:14.04      #从dockerhub获取ubuntu14.04版本 2. docker run -vi ubuntu:14.04 /bin/bas...
  • zhugewendu
  • zhugewendu
  • 2017年06月18日 16:14
  • 436

【Docker江湖】之创建带有SSH服务的镜像

一般情况下,linux操作系统的管理员通过SSH服务来管理操作系统,但是Docker的很多镜像都是不带SSH服务的,接下来我们就来看一下如何创建一个带有SSH服务的镜像...
  • Gamer_gyt
  • Gamer_gyt
  • 2016年10月30日 02:57
  • 2546

通过Dockerfile创建支持SSH服务的CentOS镜像

昨天写了一篇《创建支持SSH服务的CentOS镜像 》,介绍的是如何使用命令一步一步的新建一个支持SSH服务的Centos镜像。但是无法满足生产环境流程化,标准化,快速生成的需要的。 因此就需要使用...
  • cmzsteven
  • cmzsteven
  • 2015年10月13日 11:54
  • 4083

创建支持SSH服务的Docker镜像

通常Linux系统管理员通过SSH服务来管理OS,但Docker的很多镜像是不带SSH服务的,可以通过attach(遇到假死的现象)或者exec(目前测试ok)的方法进入容器来管理,但是这些命令都无法...
  • delphiwcdj
  • delphiwcdj
  • 2015年01月18日 18:07
  • 10232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker安装SSH【Ubuntu、CentOS】
举报原因:
原因补充:

(最多只允许输入30个字)