Tag: 授权密钥

透明ssh连接转发到docker集装箱

我想要一个服务器透明地将来自客户端的传入SSH连接转发到docker集装箱。 这应该包括scp,git transport等等。 这必须使用密钥,密码被停用。 用户不应该看到服务器。 更新:是的,这实际上意味着用户应该不知道有一台服务器。 configuration必须完全在服务器上进行! client —–> server —–> container (actual connection) client ——————-> container (what the user should see) 那么,给出的是: user@client$ ssh user@server user@server$ ssh -p 42 user@localhost user@container$ 但是我想要的是这样的: user@client$ ssh user@server user@container$ 我尝试在authorized_keys文件中使用command="ssh -p 42 user@localhost"语法,这是有点用的,只是在第二个ssh连接中用户必须input密码,因为身份validation没有通过( server没有' t有user的私钥)。 此外,即使input密码,这种方法也不适用于scp 。 我也听说过tunnel=命令,但是我不知道如何设置它(并且manpage不太有用)。 我在Arch上使用OpenSSH 7.5p1。

在Docker镜像上设置ssh公钥

我设置了一个支持ssh的Docker镜像。 没问题,很多例子。 但是,大多数示例显示使用passwd设置密码。 我想分发我的形象。 有一个固定的密码,尤其是根,似乎是一个巨大的安全漏洞。 更好的是,对我来说,是设置没有密码的根的形象。 当用户获得图像时,他们会将其公共ssh文件复制到映像/root/.ssh/authorized_keys文件。 有没有推荐的方法来做到这一点? 使用用户可以编辑的ADD命令提供一个Dockerfile,它build立在我的图像上? 提供一个运行类似“cat〜/ .ssh / authorized_keys | docker run -i sh -c'cat> root / .ssh / authorized_keys”的shell脚本?