我有一个Ubuntu服务器。我已经为它配置了ssh-agent转发。服务器运行几个lxc容器。
当我" lxc执行容器bash"时,ssh-agent不会转发给lxc bash。
如何将ssh-agent转发到lxc容器bash?
答案 0 :(得分:0)
这对于 lxc exec
来说是不可能的。此命令是与 SSH 完全不同的访问容器的机制。
lxc exec
通过 REST API 与 LXD 守护进程通信,守护进程在容器内生成请求的进程并将进程的标准输出转发到 lxc。所以幕后没有发生 SSH 连接。
因此,如果您想使用基于 ssh-agent 的工作流,您只需在容器内设置 SSH。
取决于您在容器中运行的发行版,openssh 可能已经安装甚至启用; Ubuntu 就是这种情况。如果不安装,请按照以下步骤操作:
ssh-add -L
快速打印您的身份)lxc exec <container> bash
~/.ssh/authorized_keys
。粘贴您的密钥并保存文件。从现在开始,您可以使用 ssh -A <CONTAINER_IP>
并期待它起作用。例如,您可以通过运行 lxc list
找到 CONTAINER_IP。
或者,您可以将容器添加到 /etc/hosts
以避免每次都输入 IP 地址。
另一个提示:检查容器上的 sshd_config
以确保您的 SSH 密钥是唯一的登录方式。