【问题标题】:How to install SSH in app service container如何在应用服务容器中安装 SSH
【发布时间】:2020-05-14 15:47:41
【问题描述】:

我需要通过 SSH 登录到托管在应用服务中的 linux 容器(映像没有安装它)才能复制一些文件。有没有办法通过门户网站做到这一点?如果可能的话,我想避免扩展图像。我尝试摆弄 UI 中可用的启动命令,但没有成功。

谢谢!

【问题讨论】:

  • 跟着 MS 的这个教程,你会学到:docs.microsoft.com/en-us/learn/modules/…
  • 还有问题吗?它解决了你的问题吗?或者你到底期待什么?
  • 为什么不回复?你还想解决问题吗?或者你只是忽略帮助?

标签: azure docker containers azure-web-app-service


【解决方案1】:

对于Web App,支持SSH,但使用自定义镜像时需要自己configure the SSH。只有 Azure Web App 提供的内置镜像可以直接使用 SSH,无需自己配置。当您使用内置镜像时,您可以进入 Kudu 并且那里已经配置了 SSH。

【讨论】:

  • 是否可以为基于 windows 的容器配置 ssh 或类似的东西?
【解决方案2】:

我在本地机器上运行我的 Docker 容器,为了使用 SSH 实用程序,我执行了以下步骤

第 1 步:使用 docker 命令登录 Docker 容器

$ docker exec -it <container_id or container_name> /bin/bash

第 2 步:安装 SSH 服务器

$ apt-get update && apt-get install -y openssh-server

**步骤 3 在本地机器上创建 SSH-keypair **

如果您的 ~/.ssh 目录中有 SSH 密钥对,则可以跳过此步骤

$ ssh-keygen
  • 保留存储密钥对的默认路径。
  • 为此输入密码(没有密码时为空):只需按 Enter

第 4 步:将公钥文件的内容复制到 Docker ~/.ssh/authorized_keys 文件中

  • 从本地机器

$ cat ~/.ssh/id_rsa.pub

现在复制那个公钥

  • Docker 容器内

$ mkdir -p ~/.ssh &amp;&amp; chmod 700 ~/.ssh

$ echo "<Public-Key content>" > ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

第 5 步:更新 SSH 配置并重启 Docker 容器内的 SSH 服务

打开文件 /etc/ssh/sshd_config 并从下一行删除注释

PubkeyAuthentication 是

此命令用于重启 SSH 服务以影响更改。

$ service ssh restart

并检查 SSH 服务的状态以检查它是否正在运行

$ service ssh status 

第 6 步:获取 Docker 容器 I.P.

从本地机器运行以下命令

$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name or container_id>

第 7 步:执行 SSH

$ ssh root@<Container_IP>

你也可以使用 SCP。

$ scp <file_name> root@<container_ip>:

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 2014-06-06
    相关资源
    最近更新 更多