如何授予临时访问服务器?

我聘请了一名远程顾问来调整我的服务器。 现在,我不能百分百地给他root密码,并允许他在服务器上做任何他想做的事情。 理想情况下,我希望看到他对我的服务器(实时)所做的一切,并find一种不与他分享root密码的方法。

是否有任何允许远程顾问访问您的服务器的最佳做法?

编辑:澄清,我想与顾问做一些屏幕分享。 有没有办法通过他的命令通过我的帐户隧道,而他没有得到任何密码?

PS:我的服务器在Ubuntu 9.10上

您可以让他连接一个普通的帐户,然后监视他的SSH会话 。 基于屏幕的解决scheme是我认为最好的,并会让你做“对”系统pipe理。 例如,他可以键入sudo命令,如果需要,可以input密码。

PS如果你使用屏幕并不意味着你不应该也使用sudosh2或其他解决scheme。

而不是授予他root密码,使用sudo。

如果你想以超级用户的身份看到他所做的一切,请查看sudosh2 。 从文档:

sudosh是一个审计shellfilter,可以用作loginshell。 Sudoshlogging所有击键和输出,并且可以像录像机一样回放会话。

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

sudosh将支持系统日志,您可以将日志发送到远程系统日志服务器。 这将确保用户不能删除审计日志的所有副本。

请注意,最初的项目sudosh (第一个版本)已被作者放弃 。 sudosh2还活着。

这真的取决于你想给他/她的访问级别。 我永远不会启用远程rootlogin。 只有“正常”帐户应该有远程访问,然后configurationsudo为任何人需要。

首先,你应该有明确的目标,你希望他做什么。 一旦定义了这些目标,您就可以授予他达到这些目标所需的访问级别。

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

我正在添加另一个不同的答案来回应你的更新。

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

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

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

如果您只允许公用密钥访问您的服务器,但没有密码login,您可以通过删除您提供给顾问的密钥随时撤销访问权限。

一旦在机器上,GNU屏幕应该提供所有想要的function – 正如Cristian Ciupitubuild议的那样。 如果你想增加额外的舒适度,sudosh2可能会帮助你,但是你的炮弹历史和屏幕硬拷贝可以帮助你稍后回放命令…