如何授予对服务器的临时访问权限?


15

我已经聘请了一名远程顾问来调整服务器。现在,我对给他root密码并允许他做他想在服务器上做的事情没有100%的信心。理想情况下,我想实时查看他对我的服务器所做的一切,还想找到一种不与他共享root密码的方法。

是否有允许远程顾问访问服务器的最佳实践?

编辑:澄清一下,我想和顾问做一些屏幕共享。有什么方法可以通过他的帐户传送他的命令,而不用他得到任何密码?

PS:我的服务器在Ubuntu 9.10上


4
我认为信任应该摆在其他任何东西之前。如果您不信任他(足够),请不要让他惹上您的服务器。另外,以防万一,请备份,并在服务器上不要包含任何机密数据。
Cristian Ciupitu

Answers:


8

您可以让他与常规帐户建立联系,然后监视他的SSH会话。在我看来,基于屏幕的解决方案是最好的,它将使您能够“配对”系统管理。例如,他可以键入sudo命令,并且您可以在需要时键入密码。

PS:如果您使用屏幕,这并不意味着您也不应使用sudosh2或其他解决方案。


15

与其授予root密码,不如使用sudo。

如果您想以超级用户的身份实时查看他正在做的一切,请查看sudosh2。从文档:

sudosh是审核外壳程序筛选器,可以用作登录外壳程序。Sudosh记录所有击键和输出,并且可以像VCR一样回放会话。

“所有击键”包括来自退格键的击键,删除字符,BASH的“擦除单词”等。您可以观看某人令人尴尬的错别字和更正等。

sudosh将支持syslog,您可以将日志发送到远程syslog服务器。这样可以确保用户无法删除审核日志的所有副本。

请注意,原始项目sudosh(第一个版本)已被其作者放弃。sudosh2还不错。


2

这实际上取决于您要授予他/她什么级别的访问权限。我永远不会首先启用远程root登录。仅“普通”帐户应具有远程访问权限,然后根据该人的需要配置sudo。


但是,具有sudo的帐户是否不等同于提供root访问权限?
Paras Chopra

4
@Paras Chopra-这取决于您使用哪种配置-您可以限制sudo对某些命令的访问,例如
warren 2010年

2

首先,您应该为您希望他做的事情明确定义目标。一旦定义了这些目标,您就可以授予他实现这些目标所需的访问级别。

这就像把我的车子送到维修店,告诉他们“修理”它。接下来的事情,您知道我有数千美元的账单,他们做了我不想做的事,也没有要求。


0

我将添加另一个不同的答案以响应您的更新。

使用GNU屏幕,您可以与另一个用户共享屏幕。这意味着他可以键入命令,您会看到他键入的所有内容。您可以键入命令,他可以看到您键入的内容。当提示您输入密码时,您可以输入密码,但是密码内容不会打印到屏幕上(注意:虽然文本没有打印到屏幕上,但是我不确定其他用户是否可以访问或其他方式访问您的击键,或可以访问击键缓冲区等)。

有关更多信息,请访问http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support

另一个建议:事先将root密码更改为临时密码。他离开后,将root密码恢复为原始密码。



0

如果您仅允许对服务器进行公钥访问,而不允许密码登录,则可以通过删除提供给顾问的密钥来随时撤消访问权限。

进入机器后,GNU屏幕将提供所有所需的功能-正如Cristian Ciupitu所建议的那样。如果您想增加额外的舒适度,sudosh2可能会为您提供帮助,但是您的shell历史记录和屏幕硬拷贝可能会帮助您稍后播放命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.