首页 > 系统相关 >ubuntu容器连接ssh

ubuntu容器连接ssh

时间:2022-10-27 22:24:03浏览次数:41  
标签:容器 127.0 0.1 8089 ssh ubuntu docker root

解决docker容器的访问问题,通过暴露22端口映射到宿主机端口,用ssh连接,可实现对容器内终端的可视化和编辑功能。

  • 一、编写dockerfile

  •     FROM ubuntu
      
        # Copy everything  
        COPY . ./  
          
        EXPOSE 22
    
  • 二、制作镜像

  • docker build -t ubt .

  • 三、运行容器

  • docker run -it -p 8089:22 ubt

  • 遇到一个问题:

  • ssh [email protected]:8089

    ssh: Could not resolve hostname 127.0.0.1:8089: Name or service not known

  • 根本就ping不通

  • ping 127.0.0.1:8089

    ping: 127.0.0.1:8089: Name or service not known

  • 这是因为docker里还没有安装ssh

  • 四、docker内配置

  •   apt-get update
      apt-get upgrade
      apt-get install -y openssh-server
      apt-get install -y openssh-server --fix-missing
      选择地区:Asia  Shanghai
      mkdir /var/run/sshd
      echo 'root:screencast' |chpasswd
      service ssh start
    
  • 五、宿主机上连接

  • ssh [email protected] -p 8089

  • 但是还有一个bug:

  • Permission denied, please try again.

  • 六、docker里设置

  • ^C结束ssh

  • apt-get install vim

  • vim /etc/ssh/sshd_config

  • 在末尾加上

  •   RSAAuthentication yes
      PermitRootLogin yes
    
  • 修改root用户的密码

  •   passwd root
      service ssh restart
    
  • 七、成功

  • 此时,再登录ssh

  • ssh [email protected] -p 8089

image.png

标签:容器,127.0,0.1,8089,ssh,ubuntu,docker,root
From: https://www.cnblogs.com/Principles/p/CloudComputing008.html

相关文章