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

  • 相关阅读:
    Ink——一款使用React风格开发命令行界面应用(CLI App)的nodejs工具
    编程语言相关名词解释汇总
    使用Webpack对Css文件压缩处理的思考
    一种通过async/await实现函数同步执行的方式
    成长的道路上,我很幸运
    Todolist分别用React与Vue的实现与思考
    Unity 框架篇
    扇形技能指示器
    C# Socket和protoBuf新手村教程
    判断点在多边形内部
  • 原文地址:https://www.cnblogs.com/goloving/p/15134253.html
Copyright © 2011-2022 走看看