Mar*_*lly 3 ssh centos kerberos putty
因此,过去一周我们公司一直存在一个问题,导致我脱掉头发:
我们有数百个服务器盒(CentOS6/7 的组合,如果重要的话)需要在团队之间每天快速通过 SSH 连接。每个人都在使用 mRemoteNG 或 SuperPutty,因为必须具备保存和组织连接信息以及选项卡式连接的能力。目前,每个人都共享一个 SSH 密钥来登录所有盒子。显然,我们目前的做法是一个糟糕的想法,所以我们想要做的是为每个用户提供一个单独的帐户和密钥,以便在各个盒子中使用。
环顾四周,Kerberos 似乎是管理多个用户和跨大量服务器处理身份验证的完美选择。不幸的是,我们似乎在让它按照我们想要的方式工作时遇到了一些问题。我们能够设置 Kerberos 来处理具有密码的用户的 SSH 连接,但是当涉及到禁用密码和使用 SSH 密钥时,我们无法弄清楚。
我们也考虑使用 Kerberos 密钥表,但是我们无法通过 PuTTY 使它们工作或找到可行的解决方案来保存连接信息并与密钥表建立选项卡式连接。
这里的主要问题是:可以使用 Kerberos 来管理具有 SSH 密钥的 SSH 用户吗?如果没有,是否有可与 Kerberos 密钥表配合使用的 PuTTY 版本,或者可以组织并具有选项卡式连接的替代方案?谢谢!
首先,澄清一下。Kerberos 和 SSH 密钥是两种互斥的 SSH 身份验证方法。您不将 Kerberos与SSH 密钥一起使用。您使用 Kerberos而不是SSH 密钥。两者都允许“无密码”SSH 登录。对Kerberos 协议的一些阅读可能是合适的。
使用 Kerberos,在尝试连接到端点之前,您需要获得 TGT 来证明您就是您所说的那个人。如果您在加入 Active Directory 域的 Windows 上,您会在登录时自动获得 Active Directory 领域的 Kerberos TGT。但是,许多组织不会费心将其 Linux 主机配置为使用 Active Directory Kerberos 领域。如果你这样做,生活就会容易得多。如果不这样做,则意味着需要配置 Windows 以了解您的其他 Kerberos 领域以及如何请求票证。这对您的用户来说也是一个额外的步骤,因为他们需要放弃他们的 AD TGT 并为您的其他领域请求 TGT。
您还可以选择在 Kerberos 领域之间使用信任,以便(例如)AD 用户可以对其他 Kerberos 领域中的资源进行身份验证。
Kerberos 密钥表文件只是您的 Kerberos 帐户密码的文件表示。因此,在请求初始 TGT 时,如果您拥有有效的密钥表文件,则无需输入密码。但这通常也超出了 SSH 客户端的范围。
一旦您拥有有效的 TGT,您需要确保您的 SSH 客户端配置为使用 GSSAPI。PuTTY 开箱即用地支持这一点,我相信大多数其他人也这样做。
假设一切配置正确,它应该“正常工作”。但是在此过程中可能会发生很多配置事故。还有很多第三方产品可以让事情变得更容易,但我不会提及任何具体的东西。
PuTTY 0.61 或更新版本可以使用 Kerberos/GSSAPI 票证(而不是公钥身份验证)向 SSH 服务器进行身份验证。要启用此功能,请在 PuTTY 的配置菜单中转到“Connection | SSH | Auth | GSSAPI”并确保启用“Attempt GSSAPI authentication”。(Linux OpenSSH 客户端等效项是“ssh -K”。)
PuTTY 可以通过两种方式获取所需的 Kerberos 票证授予票证:
当您登录域中的 Windows 计算机时,PuTTY 可以访问 Windows 从其 Active Directory 域服务器获取的任何票证。在这种情况下,没有必要做任何特别的事情来获得一张票。
或者(例如,在不在域中的 Windows 机器上),PuTTY 还可以访问您通过运行“MIT Kerberos 票证管理器”GUI 工具获得的任何票证,该工具来自http:// web.mit.edu/kerberos/dist/)。在启动 PuTTY 之前,只需使用它来获取 Kerberos 票证。如果“MIT Kerberos Ticket Manager”正在运行,并且 PuTTY 需要密码,它会自动提示您输入 Kerberos 密码。因此,将“MIT Kerberos Ticket Manager”的快捷方式添加到您的启动文件夹是一个好主意。
在 sshd 服务器端:
从您的 KDC 获取并在 /etc/krb5.keytab 中安装服务器密钥表。
在/etc/ssh/sshd_config
确保您有GSSAPIAuthentication yes
启用Kerberos身份验证。
确保krb5.conf
在双方都正确设置,以便 putty 和 sshd 使用的 GSSAPI 库都找到相同的领域并联系相同的 KDC(除非您的领域和 KCD 已经通过 DNS 正确通告,在这种情况下不需要添加到krb5.conf
)。
归档时间: |
|
查看次数: |
10917 次 |
最近记录: |