研究一下主服务器的一些怪癖

我正在创build一个虚拟主机公司,还有一些细节我还没弄明白,其中一个SSH VPN连接到我们运行cPanel的CentOS 6的服务器上。

所以这就是我期待的…

1)为我的员工提供一个具有特定用户login(user1,user2等)的主服务器。 为了SSH进入我们的任何服务器,他们都需要先login到这个主服务器。

2)从这个主服务器,他们将能够ssh server.example.com和主服务器将能够以root身份login他们。

我知道需要做的是为每个用户生成一个密钥对,并将其私钥放在每个服务器上的/root/.ssh/authorized_keys文件中。 我已经有办法使用cron为每个服务器自动更新这个文件。

我可以把所有这些工作,但有时login有点棘手,我也有一个连接超时约15分钟后出现问题。 我相信我有一个想法来解决这个问题,但任何帮助将不胜感激。

现在,对于这里的主要问题,我希望能够让用户使用短主机名或主机名的前缀进行login,而不必在login到服务器时键入整个事件。 所以,如果我有一台服务器的主机s1.server.example.com ,他们将能够使用s s1.server (s将别名ssh)快速login。 我不积极如何做到这一点,但如果有一个简单的方法,而不需要设置主服务器上的每个服务器,使它的短名称指向完整的主机名,这将是更容易维护未来。 我猜测可能会写一些types的脚本来检查是否需要前缀到正确的主机名。

任何一点方向都会在这里受到极大的赞赏,我已经尝试了许多不同的解决scheme,而没有利用,宁愿工作正常,没有像我一直在做的一大堆“黑客”。 谢谢!


编辑

我想在这里更新每个人,因为我觉得我很不清楚。 该系统只能由公司内的高级员工访问,以便通过root提供快速简单的方式来pipe理我们的云系统。 客户将无法访问这些系统以及任何可能具有root用户权限的客户,并使用直接root访问权限。

如果你有正确的DNS设置,你应该可以使用短名称。 把一些东西,如:

searchexample.com

在您的resolve.conf将有助于名称parsing。 为了更新configuration,SSH密钥等,你真的需要看像傀儡或厨师。 随着您的networking农场的发展,这将使您的生活更轻松。

我将为您推荐一些不同的实践,以便提高您的安全性,并为您提供与低成本提供商区别开来的业务。 由于虚拟主机可以是一个低利润的业务,与增值服务的一些差异可以大幅帮助利润率更紧张,同时增加你的locking。

考虑更换标准的SSHlogin:

  • IPSEC隧道到外围设备,SSH到单个主机
  • 使用基于硬件设备的PKI进行SSH隧道(您可以销售*)。

(或两者在一起)

Wham,你是一个安全意识的networking主机:)

以root身份login被认为是不好的做法! 相反,让他们作为不可信用户login,然后使用sudo来运行需要根级别权限的命令。

考虑使用安全强化指南(如NSA SRG,CIS或DISA STIG)(包括Apache指南)来强化所有Centos主机。

如果在软件中坚持使用ssh,让客户端在本地计算机上执行密钥生成,因为它被认为是更安全的。 给他们一个选项来encryption他们的私钥,然后上传给你作为备份。

快速刷新PKI,如SSH。

公钥=encryption器,没有保密要求

私钥=解密器,保护这个,不要共享它!

除非高度encryption,否则不应将SSH私钥存储在远程主机上

要将SSH连入互联网上的主机,只需将公钥添加到授权的密钥文件中即可。 见http://www.eng.cam.ac.uk/help/jpmg/ssh/authorized_keys_howto.html

您可以使用别名和其他命令来缩短用户可能需要input的详细信息。

但是,从您的经验水平来看,我build议在进入Linux主机之前多做一些练习。 信任至上!

  • 阅读Redhat的证书pipe理系统,证书颁发机构软件和Dogtag