博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker centos7 安装ssh
阅读量:6547 次
发布时间:2019-06-24

本文共 3696 字,大约阅读时间需要 12 分钟。

docker centos7 安装ssh

原文链接:http://blog.csdn.net/mergerly/article/details/54709919

一. 从docker hub 下载centos 官方镜像

hr:centos7 hr$ docker pull centos:7 下载完后,查看本地资源库:hr:centos7 hr$ docker imagesREPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE    centos               7                   ce20c473cd8a        7 weeks ago         172.3 MB运行容器hr:centos7 hr$ docker run -i -t centos:7 /bin/bash

二. 安装passwd,openssl,openssh-server

[root@b5926410fe60 /]# yum install passwd openssl openssh-server -y启动sshd:# /usr/sbin/sshd -D这时报以下错误:[root@ b5926410fe60 /]# /usr/sbin/sshdCould not load host key: /etc/ssh/ssh_host_rsa_keyCould not load host key: /etc/ssh/ssh_host_ecdsa_keyCould not load host key: /etc/ssh/ssh_host_ed25519_key 执行以下命令解决:[root@b5926410fe60 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''    [root@b5926410fe60 /]#  ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''[root@b5926410fe60 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  -N '' 然后,修改 /etc/ssh/sshd_config 配置信息:

UsePAM yes 改为 UsePAM no 

UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no

[root@b5926410fe60 /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config[root@b5926410fe60 /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config修改完后,重新启动sshd[root@b5926410fe60 /]# /usr/sbin/sshd -D

三. 修改root 密码

[root@b5926410fe60 /]# passwd root

四. 查看容器ip地址(如果宿主机是linux操作系统则跳过这一步)

[root@b5926410fe60 /]# ip addr ls eth084: eth0@if85: 
mtu 1500 qdisc noqueue state UP link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff inet 172.17.0.2/16 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe11:2/64 scope link valid_lft forever preferred_lft forever

五. 将当前容器保存为镜像

hr:centos7 hr$ docker ps -allCONTAINER ID  IMAGE       COMMAND       CREATED             STATUS                   PORTS      NAMESb5926410fe60  centos:7   "/bin/bash"  4 minutes ago       Exited (0) 4 seconds ago           centos7sshhr:centos7 hr$ docker commit b5926410fe60 herong/centos7-ssh

六. 在宿主机上基于新创建的镜像启动新的容器

--先删除之前的容器hr:centos7 hr$ docker ps -allCONTAINER ID        IMAGE      COMMAND             CREATED             STATUS                      PORTS               NAMES4122f818a741        herong/centos7-ssh:latest   "/usr/sbin/sshd"    13 seconds ago      Exited (0) 13 seconds ago                       happy_mcleanhr:centos7 hr$ docker rm -f 4122f818a741--基于新镜像运行容器hr:centos7 hr$ docker run -d -p 10022:22 herong/centos7-ssh:latest /usr/sbin/sshd -D--查看映射端口是否成功hr:centos7 hr$ docker ps -allCONTAINER ID        IMAGE     COMMAND               CREATED             STATUS              PORTS                   NAMES4966d35fe0a3        herong/centos7-ssh:latest   "/usr/sbin/sshd -D"   3 seconds ago       Up 3 seconds        0.0.0.0:10022->22/tcp   compassionate_kowalevskihr:centos7 hr$ docker port 4966d35fe0a322/tcp -> 0.0.0.0:10022

七. 从宿主机连接到容器

w 如果宿主机是非linux操作系统,则需要通过docker-machine ip连到容器    -- 查看docker-machine Ip地址    hr:centos7 hr$ docker-machine ip default    192.168.99.100    --通过docker-machine ip  连接到容器,输入之前设置的密码即可登录成功    hr:centos7 hr$ ssh root@192.168.99.100 -p 10022    The authenticity of host '[192.168.99.100]:10022 ([192.168.99.100]:10022)' can't be established.    ECDSA key fingerprint is SHA256:d3JNckcTVv1ASJlwv+IT/bJwlzMC4U1T/PmsKYIHMhQ.    Are you sure you want to continue connecting (yes/no)? yes    Warning: Permanently added '[192.168.99.100]:10022' (ECDSA) to the list of known hosts.    root@192.168.99.100's password:     [root@4966d35fe0a3 ~]# pwd    /root    w 如果宿主机是linux操作系统,则通过第4步查看到的ip地址连接    hr:centos7 hr$ ssh root@172.17.0.2 -p 10022
你可能感兴趣的文章
Android存储方式之SQLite的使用
查看>>
洛谷P1287 盒子与球 数学
查看>>
Bootstrap vs Foundation如何选择靠谱前端框架
查看>>
与、或、异或、取反、左移和右移
查看>>
vue常用的指令
查看>>
matlab练习程序(随机游走图像)
查看>>
Linux命令行下运行java.class文件
查看>>
input文本框实现宽度自适应代码实例
查看>>
行为型设计模式之命令模式(Command)
查看>>
减少死锁的几个常用方法
查看>>
HDFS 核心原理
查看>>
正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
查看>>
安装 MariaDB
查看>>
java 为啥变量名前要加个m?
查看>>
探索Android中的Parcel机制(上)
查看>>
C#开发微信门户及应用(5)--用户分组信息管理
查看>>
怎样实现前端裁剪上传图片功能
查看>>
ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
查看>>
2011/7/3 第二次评审
查看>>
tar解压
查看>>