首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法连接到远程服务器的dockerpy sdk

无法连接到远程服务器的dockerpy sdk
EN

Stack Overflow用户
提问于 2022-10-28 22:31:57
回答 1查看 79关注 0票数 1

我目前正在尝试使用dockerpy sdk连接到我的远程ubuntu服务器,这样我就可以通过python管理我的码头容器。

在尝试这样做的时候,我遇到了一些问题。

代码语言:javascript
运行
复制
docker.APIClient(base_url="ssh://user@ip")

在执行以下操作时,我将得到错误:

代码语言:javascript
运行
复制
paramiko.ssh_exception.PasswordRequiredException: private key file is encrypted

我可以通过添加kwarg:use_ssh_client来解决这个问题,但随后我不得不输入密码,这限制了自动化的可能性。

代码语言:javascript
运行
复制
docker.APIClient(base_url="ssh://user:@ip", use_ssh_client=True)

在使用上述代码时,我还尝试将ssh密钥密码输入到base_url中,例如:

代码语言:javascript
运行
复制
docker.APIClient(base_url="ssh://user:pass@ip", use_ssh_client=True)

但是,这会让我遇到以下错误:

代码语言:javascript
运行
复制
docker.errors.DockerException: Invalid bind address format: ssh://root:pass@ip

我的想法已经用完了,我不知道该如何解决这个问题?

事先非常感谢..。

EN

回答 1

Stack Overflow用户

发布于 2022-10-31 23:31:47

可以像Piere 回答在这里先生那样建立联系。即使是关于docker.client.DockerClient的问题,它在引擎盖下使用了docker.api.client.APIClient。

您正在尝试使用密码身份验证来建立连接,这就是您要求提示密码的原因。我想您需要配置基于密钥的SSH登录,就像码头医生中所说的那样。

修复步骤:

  1. 在远程服务器上登录配置 SSH并在本地计算机上填充~/.ssh/config
  2. 使用ssh命令从本地终端连接,以确保在不询问密码ssh user@ip的情况下建立连接
  3. 使用库client = docker. APIClient(base_url="ssh://user@ip", use_ssh_client=True)连接
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74241484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档