版权声明:本文为博主原创文章,未经博主允许不得转载。
Docker安装ssh,supervisor等基础工具
需要提前下载好官方的ubuntu镜像,我这里使用的是ubuntu:14.04版本,这里安装了一些基础的工具ssh,curl,wget,vim等等,包括后续的Docker镜像需要启动多个服务,所以提前先装好supervisor。
Dockerfile文件
<code class="hljs coffeescript has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">##</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># version : birdben/tools:v1</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># desc : 当前版本安装的ssh,wget,curl,supervisor </span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">######</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">##</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 设置继承自ubuntu官方镜像</span> FROM <span class="hljs-attribute" style="box-sizing: border-box; color: rgb(0, 136, 0);">ubuntu</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14.04</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 下面是一些创建者的基本信息</span> MAINTAINER birdben (<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">191654006</span>@<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">163.</span>com) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 注意这里要更改系统的时区设置,因为在 web 应用中经常会用到时区这个系统变量,默认的 ubuntu 会让你的应用程序发生不可思议的效果哦</span> ENV DEBIAN_FRONTEND noninteractive <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 清空ubuntu更新包</span> RUN sudo rm -rf <span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/var/lib/apt/lists/</span>* <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 一次性安装vim,wget,curl,ssh server等必备软件</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list</span> RUN sudo apt-get update RUN sudo apt-get install -y vim wget curl openssh-server sudo RUN sudo mkdir -p /<span class="hljs-reserved" style="box-sizing: border-box;">var</span>/run/sshd <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 将sshd的UsePAM参数设置成no</span> RUN sed -i <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'s/UsePAM yes/UsePAM no/g'</span> /etc/ssh/sshd_config <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 添加测试用户admin,密码admin,并且将此用户添加到sudoers里</span> RUN useradd admin RUN echo <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"admin:admin"</span> | chpasswd RUN echo <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"admin ALL=(ALL) ALL"</span> >> /etc/sudoers <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 把admin用户的shell改成bash,否则SSH登录Ubuntu服务器,命令行不显示用户名和目录 </span> RUN usermod -s /bin/bash admin <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 安装supervisor工具</span> RUN sudo apt-get install -y supervisor RUN sudo mkdir -p /<span class="hljs-reserved" style="box-sizing: border-box;">var</span>/log/supervisor <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 添加 supervisord 的配置文件,并复制配置文件到对应目录下面。(supervisord.conf文件和Dockerfile文件在同一路径)</span> COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 容器需要开放SSH 22端口</span> EXPOSE <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 执行supervisord来同时执行多个命令,使用 supervisord 的可执行路径启动服务。</span> CMD [<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/usr/bin/supervisord"</span>]</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li></ul>
Dockerfile源文件链接:
supervisor配置文件内容
<code class="hljs vala has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 配置文件包含目录和进程</span> <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。</span> <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 第二段包含要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令。</span> [supervisord] nodaemon=<span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">true</span> [program:sshd] command=/usr/sbin/sshd -D</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul>
supervisor源文件链接:
控制台终端
<code class="hljs mel has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"># 构建镜像 $ docker build -t=<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birdben/tools:v1"</span> . # 运行已经构件好的镜像,因为我使用的ubuntu虚拟机安装的Docker,而我的虚拟机也安装了ssh服务,所以这里指定了宿主机的端口为<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span>对应Docker容器的<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22</span>端口 $ docker run -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22</span> -t -i <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"birdben/tools:v1"</span> # 此时查看宿主机的<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span>端口,已经处于监听状态: $ netstat -aunpt (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">127.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.1</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">53</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>:* LISTEN - tcp <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>:* LISTEN - tcp <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">127.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.1</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">631</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span>:* LISTEN - tcp6 <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> :::<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span> :::* LISTEN - tcp6 <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> :::<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22</span> :::* LISTEN - # 再查看一下宿主机的IP地址,我这里的IP地址是<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10.211</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.55</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span> $ ifconfig # 此时可以通过ssh远程连接Docker容器了 $ ssh root<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@10</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.211</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.55</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span> -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span> # 输入密码应该就可以连接到Docker容器了 # 如果遇到下面的问题,这是Linux重装或则openssh-server重装引起的,执行以下命令即可 $ ssh-keygen -R <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10.211</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.55</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span> # 如果上述方式不好用,进入此目录,删除的<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10.211</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.55</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span>相关rsa的信息即可 $ vi ~/.ssh/known_hosts <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span>@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@@</span>@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span>-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> the RSA key sent by the remote host is <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8</span>c:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>b:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">88</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">88</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">53</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>a:b1:f0:e2:da:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9</span>a:dc:aa:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">67</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">46</span>:df. Please contact your <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">system</span> administrator. Add correct host key <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> /Users/ben/.ssh/known_hosts to get rid of this message. Offending RSA key <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> /Users/ben/.ssh/known_hosts:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">18</span> RSA host key <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> [<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10.211</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.55</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span>]:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9999</span> has changed and you have requested strict checking. Host key verification failed. </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li></ul>
遇到的问题和解决办法
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-label" style="box-sizing: border-box;">Q:</span>ssh登录后,命令行不显示用户名和目录 <span class="hljs-label" style="box-sizing: border-box;">A:</span>把用户的shell改成bash,否则SSH登录Ubuntu服务器,命令行不显示用户名和目录 RUN usermod -s /bin/bash admin 参考: <span class="hljs-label" style="box-sizing: border-box;">http:</span>//bbs<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.csdn</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.net</span>/topics/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">390188284</span> <span class="hljs-label" style="box-sizing: border-box;">Q:</span>ssh创建admin登录用户,不使用root登录 <span class="hljs-label" style="box-sizing: border-box;">A:</span>这里使用ssh不建议直接使用root用户登录,建议创建一个新的用户例如admin登录 RUN useradd admin RUN echo <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"admin:admin"</span> | chpasswd RUN echo <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"admin ALL=(ALL) ALL"</span> >> /etc/sudoers 参考: <span class="hljs-label" style="box-sizing: border-box;">http:</span>//blog<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.csdn</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.net</span>/kongxx/article/details/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">38395305</span> <span class="hljs-label" style="box-sizing: border-box;">http:</span>//blog<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.csdn</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.net</span>/kongxx/article/details/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">38412119</span> <span class="hljs-label" style="box-sizing: border-box;">Q:</span>如何修改ssh服务相关配置 <span class="hljs-label" style="box-sizing: border-box;">A:</span>可以直接修改sshd_config配置文件 vi /etc/ssh/sshd_config 需要修改如下 <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 设置不允许root用户登录</span> PermitRootLogin yes <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 利用 PAM 管理使用者认证有很多好处,可以记录与管理。</span> <span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;"># 所以这里我们建议你使用 UsePAM 且 ChallengeResponseAuthentication 设定为 no,但是我们这里为了简单设置为密码认证,ChallengeResponseAuthentication设定为yes,UsePAM设置为no</span> ChallengeResponseAuthentication yes UsePAM no 参考: <span class="hljs-label" style="box-sizing: border-box;">http:</span>//my<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.oschina</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.net</span>/fsmwhx/blog/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">143354</span> <span class="hljs-label" style="box-sizing: border-box;">http:</span>//www<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.cnblogs</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.com</span>/ggjucheng/archive/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2012</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">08</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">19</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2646032.</span>html</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li></ul>
参考文章:
-
顶
- 0
-
踩