晚上好,
我目前正在尝试更深入地了解我所熟悉的 Linux。
让我们直接进入我的问题:
首先,让我们谈谈我的设置。
我有 3 台服务器,每台都有一个公共 IP。
每台服务器都是 VLAN 的一部分。
服务器 #1(vlan 10.0.0.2)不受防火墙保护。
服务器 #2(vlan 10.0.0.3)和服务器 #3(vlan 10.0.0.4)完全与互联网隔绝,只能从 vlan 访问。
服务器 #2 运行 KeyCloak 容器。但是,这与问题无关。
服务器 #3 应该用作我的 git 服务器。
通常我只需创建一个git
用户,将authorized_keys
文件与我的GitLab
容器中的一个文件链接起来。每个公钥都会以命令为前缀,然后将连接传递给容器内的 ssh 守护进程。
但由于服务器 #3 不可公开访问,因此我需要在服务器 #1 上接受传入的 ssh 连接。
我创建了一个git
用户并开始思考如何克服这个问题。
我想到了两种处理方法。
- 允许
git
用户无需密码即可访问并打开连接[email protected]
(这有效吗?在这种情况下客户端 ssh-agent 可以工作吗?攻击者是否可以脱离内部 ssh 连接并在服务器 #1 上执行操作?) - 服务器 #3 定期连接到服务器 #1 并更新文件
authorized_keys
(然后我必须在该command
位置编写第二个脚本,然后打开到 的连接Server #3
。这会比较慢,因为用户必须等到服务器 #3 与服务器 #1 同步)