【发布时间】:2020-06-13 10:58:59
【问题描述】:
我正面临一个似乎很奇怪的问题,希望得到一些帮助。
背景:为了我的日常工作,我从自己的机器(Macbook pro 笔记本电脑)访问多个服务器, 通过堡垒主机,然后通过另一个跳转框,然后到达我需要访问的单个服务器。像这样:
local machine -> bastion host -> jump box -> server
我通过 RSA(安全)令牌代码(这与我的 ssh id_rsa 密钥不同)对堡垒主机进行身份验证,并通过 LDAP 凭据对后续系统进行身份验证。
例如:当我 ssh 到堡垒时,我看到 Enter Passcode:(我的 RSA 安全令牌),而当我 ssh 到堡垒之外的主机时,我看到 Enter Password:(我的 LDAP)
问题:我有许多脚本/工具可以自动化我的大部分日常工作,我想在我的本地机器上运行这些容器,因为不允许在其上运行容器我连接的盒子。 我试图通过在我的本地机器上运行 Debian 的容器(通过基本 ssh)连接到其中一台服务器。我尝试照常插入我的 RSA 令牌,但在通过容器进行身份验证时失败。
这是我正在运行的 docker 命令以启用从主机到容器的 ssh-agent 转发:
docker run -it --mount type=bind,src=$SSH_AUTH_SOCK,target=/run/host-services/ssh-auth.sock -e SSH_AUTH_SOCK="/run/host-services/ssh-auth.sock
当我通过以下方式连接时:
local machine -> bastion host 并使用我的 RSA 令牌,我验证正常。
这是我的 SSH 配置的 sn-p:
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%C
TCPKeepAlive true
ServerAliveInterval=15
ServerAliveCountMax=30
ForwardAgent yes
Host John-Smith-Bastion jsb # Bastion Host
HostName 10.0.2.123
LocalForward 31590 10.101.10.12:22
Port 321
Host John-Smith-Jump jsm # Jump Host
HostName 10.101.10.12
ProxyCommand \ssh John-Smith-Bastion -W %h:%p
LocalForward 127.0.0.1:2080 10.101.10.24:80
我不确定为什么当我尝试通过容器 -> 堡垒进行连接时,我的 RSA 令牌的身份验证失败。有没有办法解决这个问题?
【问题讨论】:
标签: linux docker authentication ssh