当前位置: 首页 > 知识库问答 >
问题:

docker context 如何在通过 ssh 连接远程的 docker daemon 时不用每次都输入密码?

韦胜泫
2024-04-10

使用下面的命令来创建 context
docker context create docker-remote --docker host=ssh://root@***.**.1.33

docker context use docker-remote

如果要打印远程的容器实例执行
docker ps

但是会要求输入登录密码。

密钥文件已经下载到本地,一般如果使用 ssh 命令登录可以使用 -i 来指向密钥文件,这样就不用再输入密码,如果是 docker 这样的场景怎么配置来指向密钥文件。

共有1个答案

邓夕
2024-04-10

不支持类似 ssh -i 这种的参数。从 6 年前刚支持 SSH 协议开始(那时候甚至都还没有 docker context 而是 docker -H)就有人提,希望能支持更多的 remote ssh 参数,一直都没有进展。

目前只能曲线救国,自己放进 ~/.ssh/authorized_keys 里。另外还有个小坑就是只支持 root 用户,因为它只从 root ssh agent 里读……

 类似资料:
  • 问题内容: 每次我尝试将任何内容推送到GitHub时,它都会询问我地址,然后它要求密码。有没有办法使它自动化? 我正在使用Linux Ubuntu。 问题答案: 您可以用来记住密码(通常,Gnome会自动为您运行密码)。 从现在开始,在您运行此程序的终端中,您的密码将被记住。 理想情况下,它会自动运行,因此在gnome中运行的所有shell都可以工作。查看Gnome Keyring 。

  • 代理的代码在这里 生成脚本在这里 我在远程计算机上启动应用程序时使用 主机上打开了两个端口6004和6005,如果jconsole是应用程序本地的,我可以通过jconsole连接到应用程序。 然后创建2个ssh隧道 ssh隧道ssh-l 6004:localhost:6004 foo@server ssh隧道ssh-l 6005:localhost:6005 foo@server 现在的问题是我无

  • 问题内容: 我正在尝试在Java项目中通过SSH连接到远程MySQL服务器。如何将SSH连接与JPA集成在一起? 我正在使用Netbeans 6.9.1,JPA,MySQL 5.2。 问题答案: 我假设您想隧道传输到仅侦听localhost(或已防火墙)的远程mysql 那么最简单的方法是 在运行应用程序服务器的帐户之间建立信任关系,以便将JPA服务提供给您的应用程序 创建隧道使用来创建隧道,该隧

  • 通过SSH推送时: debug1:连接到github.com[192.30.252.129]端口22。 它卡在上面的线上。 telnet错误: 我在同一网络中设置了另一台计算机,使用相同的ssh键,它成功地通过ssh推送到github上,而原来的计算机仍然得到超时。 操作: null null 其实,在问之前,我从谷歌看到过类似的问题,但是没有一个解决问题,也没有一个解释原因。 而且这个问题真的很

  • 我已经在本地Windows 7和远程RHEL 7 VM上安装了JProfiler 10.0.1。 由于格式问题,此处提供了与第3点相关的输出: 一些事实: 我希望监视的远程RHEL JVM与用户“nifi”一起运行 由于我是一个“sudoer”,我使用自己的用户名“ojoqcu”通过SSH(通过Putty)连接到远程VM,然后使用“sudo su”、“su nifi”或简单的“sudo su ni

  • 我正在尝试连接到远程主机以发出命令,但在运行代码时收到以下错误消息: SSH:握手失败:SSH:密钥交换没有通用算法;提供的客户端:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 difffie-hellman-group14-sha1],提供的服务器:[difffie-h

  • 问题内容: 我想创建以下基础结构流: 使用Docker如何实现? 问题答案: 首先,您需要在要ssh- in的映像中安装SSH服务器。您可以对安装了ssh服务器的所有容器使用基础映像。然后,您只需要运行每个容器,即可将ssh端口(默认为22)映射到主机端口(镜像中的远程服务器)到一个端口。即: 然后,如果可以从外部访问主机的端口52022和53022,则可以使用主机的ip(远程服务器)通过ssh在

  • 问题内容: 如何从Java应用程序通过SSH连接到远程MySQL数据库?小代码示例对我有所帮助,对此我将不胜感激。 问题答案: 我的理解是,您想访问在远程计算机上运行的mysql服务器,并通过SSH隧道侦听端口3306。 要使用命令行ssh客户端从本地计算机上的端口1234到远程计算机上的端口3306的隧道,您可以从本地计算机上键入以下命令: 要从Java执行相同的操作,可以使用JSch(SSH2