【问题标题】:LXC exec bash ssh-agent forwardingLXC exec bash ssh-agent 转发
【发布时间】:2021-07-21 21:24:25
【问题描述】:

我有一个 Ubuntu 服务器。我已经配置了 ssh-agent 转发给它。服务器运行几个 lxc 容器。

当我“lxc exec container bash”时,ssh-agent 不会转发到 lxc bash。

如何将 ssh-agent 转发到 lxc 容器 bash ?

【问题讨论】:

    标签: ssh lxc ssh-agent


    【解决方案1】:

    lxc exec 无法做到这一点。该命令与 SSH 访问容器的机制完全不同。 lxc exec 通过 REST API 与 LXD 守护程序通信,守护程序在容器内生成请求的进程并将进程的标准输出转发到 lxc。因此,幕后没有发生 SSH 连接。

    因此,如果您想使用基于 ssh-agent 的工作流程,您只需在容器内设置 SSH。

    取决于您在容器中运行的发行版,openssh 可能已经安装甚至启用; Ubuntu就是这种情况。如果,不安装它并按照以下步骤操作:

    1. 复制您的密钥(提示:使用 ssh-agent 转发,您可以使用 ssh-add -L 快速打印您的身份)
    2. 访问容器旧方法:lxc exec <container> bash
    3. 使用 vi/vim 或 nano 编辑 ~/.ssh/authorized_keys。粘贴您的密钥并保存文件。
    4. 退出。

    从现在开始,您可以使用ssh -A <CONTAINER_IP> 并期望它能够正常工作。例如,您可以通过运行 lxc list 找到 CONTAINER_IP。

    或者,您可以将您的容器添加到/etc/hosts,以避免每次都输入 IP 地址。 另一个提示:检查容器上的sshd_config 以确保您的 SSH 密钥是唯一的登录方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-21
      • 2017-07-13
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 2023-01-13
      相关资源
      最近更新 更多