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。

Docker-SSH服务的配置

安装ssh服务:这里使用dockerfile的方式进行配置:1、创建一个sshd_ubuntu工作目录和配置文件root@ubuntu:~# mkdir sshd_ubuntu root@ubuntu...
  • yuzhidong_C
  • yuzhidong_C
  • 2016-09-13 09:22:23
  • 709

创建支持SSH服务的Docker镜像

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

docker ubuntu16.04镜像下安装cowrie蜜罐记录

宿主主机准备service docker start docker pull ubuntu:16.04 docker run -i -t --privileged=true -d -p 4489:4...
  • xujing19920814
  • xujing19920814
  • 2017-11-23 21:10:49
  • 605

docker中centos7安装ssh服务

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

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

Docker安装ssh
  • birdben
  • birdben
  • 2015-11-17 00:55:12
  • 8696

docker centos7 安装ssh

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

docker之ubuntu开启sshd登陆服务

如题,我们使用docker pull elasticsearch 到本地并且安装完毕后,我们发现docker提供的服务确实能用,但我们需要将现有的docker容器添加其他服务该怎么办?又无法登陆到容器...
  • e421083458
  • e421083458
  • 2016-09-12 11:57:17
  • 2525

Docker中Ubuntu镜像添加openssh-server服务

1,首先,需要从docker官网获得centos或Ubuntu镜像 2,当本地已有Ubuntu镜像后(大概200M左右大小),使用如下命令 docker run -t -i ubuntu ...
  • nisxiya
  • nisxiya
  • 2015-01-21 09:45:15
  • 1847

ubuntu docker 开启ssh

1. 下载ubuntu镜像因为从docker hub上下载的镜像apt-get update报错, 所以就直接从网易蜂巢上下载已经装好各种工具的ubuntu镜像了。docker pull hub.c...
  • qq_27068845
  • qq_27068845
  • 2017-08-09 20:18:56
  • 500

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:40
  • 772
收藏助手
不良信息举报
您举报文章:Docker安装SSH【Ubuntu、CentOS】
举报原因:
原因补充:

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