我需要通过SSH登录到应用程序服务中托管的linux容器(该映像未安装该映像),以便复制一些文件。有没有办法通过门户网站做到这一点?如果可能,我想避免扩展图像。我试过摆弄UI中可用的启动命令,但是没有运气。
谢谢!
答案 0 :(得分:1)
我正在本地计算机上运行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密钥对**
如果〜/ .ssh目录中具有SSH密钥对,则可以跳过此步骤
$ ssh-keygen
步骤4:将公钥文件的内容复制到Docker〜/ .ssh / authorized_keys文件
$ cat ~/.ssh/id_rsa.pub
现在复制该公钥
$ mkdir -p ~/.ssh && 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容器IP。
在本地计算机上按照命令运行
$ 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>:
答案 1 :(得分:1)
对于Web应用程序,支持SSH,但是在使用自定义映像时需要configure the SSH。只有Azure Web App提供的内置映像可以直接使用SSH,而无需自行配置。使用内置映像时,您可以进入Kudu,并且已经在其中配置了SSH。