【问题标题】:Connect with filezilla to docker container使用 filezilla 连接到 docker 容器
【发布时间】:2016-11-17 09:24:44
【问题描述】:

我在 Google Cloud 虚拟机上运行 docker 容器。我尝试了几个小时从本地计算机上的 filezilla 连接到正在运行的 docker 容器。我已经像这样启动了 docker 镜像:

docker run -t -d --name test -p 2222:22 --link postgres7:postgres7 random_image /bin/bash

在我的 filezilla 连接配置中,我设置了:

主机:谷歌云 IP 地址
端口:2222
协议:SFTP
登录类型:普通
用户:root(无密码)

尝试连接时出现此错误:

Status: Connecting to x.x.x.x:2222...
Response:   fzSftp started
Command:    open "root@x.x.x.x" 2222
Error:  Connection refused
Error:  Could not connect to server

我已经在谷歌云引擎上打开了端口。

【问题讨论】:

    标签: docker google-cloud-platform filezilla docker-container


    【解决方案1】:

    首先,不建议在 docker 容器上安装 ssh 服务器,但我是这样做的:

    1. 安装 ssh 客户端

    apt-get install openssh-server

    1. 在 root(或您要连接的任何用户)上设置密码

    passwd (enter password twice)

    1. 在 /etc/ssh/sshd_config 更改:

    PermitRootLogin without-password

    PermitRootLogin yes

    1. 重启 ssh 服务器

    /etc/init.d/ssh restart

    现在您将能够使用您设置的密码以 root 身份与任何 ftp 客户端连接到您的 docker 容器。

    【讨论】:

    • 它是来自 fauria/docker-vsftpd 的 centos 7 docker 映像,在完成所有这些操作后,它说没有这样的文件 /etc/init.d/ssh,而且 systemctl restart sshd 和 service sshd restart 也不起作用如果您尝试过?
    • @aniruddha 我只在 ubuntu 14.04 和 16.04 上试过这个,它对我有用。我不确定 CentOS。您是否尝试过 /etc/init.d/ssh 重启。另外,也许有必要在 docker run 中添加 --privileged 选项。
    【解决方案2】:

    你必须sudo nano /etc/ssh/sshd_config,然后用Ctrl + W搜索PasswordAuth并修改为yes。

    然后你可以尝试通过sftp://通过端口22登录到你的IP。

    【讨论】:

      猜你喜欢
      • 2018-03-01
      • 2021-07-18
      • 2019-04-01
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      相关资源
      最近更新 更多