zoukankan      html  css  js  c++  java
  • 浅析如何使docker容器可以进行ssh连接

      不论是开发者是运维人员,都经常有需要进入容器的诉求,目前看,主要的方法不外乎以下几种:

    (1)使用ssh登陆进容器,需要在容器中安装启动sshd,存在开销和攻击面增大的问题,同时也违反了Docker所倡导的一个容器一个进程的原则。容器本身是一个无状态,用后即焚的东西。为了尽量的轻量快捷建议一个容器尽量只有一个进程,否则你的容器会越来越大,越来越像一个虚拟机一样笨重不宜维护。

    (2)使用docker本身提供的工具,大多数情况最好还是使用Docker原生方法,Docker目前主要提供了Docker exec和 Docker attach两个命令。

      我之前有篇博客是用 centos 镜像作为基础镜像来进行 ssh 连接,但是我们现在要做的是要以各种数据库如:postgres、mysql等的镜像作为基础镜像来 ssh 连接,所以需要换一种方式。

      主要参考这几篇博客吧。

    1、使用ssh连接docker容器:https://blog.csdn.net/qq_34021712/article/details/73379851

    2、SSH 的安装

      SSH 分客户端 openssh-client 和 openssh-server

      如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-get install openssh-client)。

      如果要使本机开放SSH服务就需要安装openssh-server。

    #配置ssh#
    
    echo -e "33[31;1m ******************************* 33[0m"
    echo -e "33[31;1m ************安装和配置ssh************ 33[0m"
    sudo apt-get install -y openssh-server 1> /dev/null
    sudo sed -i 's/UsePAM no/UsePAM yes/g' /etc/ssh/sshd_config
    sudo sed -i '8a /etc/init.d/ssh start' /etc/profile
    sudo /etc/init.d/ssh start
    ps -e | grep ssh
    
    echo -e "33[31;1m ssh授权 33[0m"
    cd ~/.ssh/
    ssh-keygen -t rsa
    cat ./id_rsa.pub >> ./authorized_keys
    
    $ ps -e|grep ssh
     2151 ?        00:00:00 ssh-agent
     5313 ?        00:00:00 sshd

      ssh-agent表示ssh-client启动,sshd表示ssh-server启动了。如果缺少sshd,说明ssh服务没有启动或者没有安装。

    3、sshd_config 中 PermitRootLogin 的探讨:https://blog.csdn.net/huigher/article/details/52972013

      关于 PermitRootLogin 的可选项:

      sshd_config是sshd的配置文件,其中PermitRootLogin可以限定root用户通过ssh的登录方式,如禁止登陆、禁止密码登录、仅允许密钥登陆和开放登陆,以下是对可选项的概括:



      以上选项中,yes和no的功能显而易见,只是很粗暴的允许、禁止root用户进行登陆。without-password在yes的基础上,禁止了root用户使用密码登陆。

    4、Ubuntu基础设定:openssh-server安装和使用 ——  https://blog.csdn.net/liumiaocn/article/details/79427964

  • 相关阅读:
    在Java和.Net中的MD5的一致性
    为Asp.net 网站新增发送手机短信功能
    ASP.NET如何防止页面重复提交
    转:Ajax调用Webservice和后台方法
    Ext 常用方法之一
    C#编程实战之类功能缺失
    Silverlight常用控件最佳实践之1.自定义TabControl禁用状态
    Blend4精选案例图解教程(五):可视数据管理
    DEDE织梦自定表单提交后自动发送邮件并到站长邮箱
    php常用数组相关处理函数(1)
  • 原文地址:https://www.cnblogs.com/goloving/p/15134253.html
Copyright © 2011-2022 走看看