我聘请了一名远程顾问来调整我的服务器。 现在,我不能百分百地给他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密码,但是密码内容不会被打印到屏幕上(注意:虽然文本没有打印到屏幕上,但我不确定其他用户是否能够访问以其他方式击键,或访问击键缓冲区等)。
另一个build议:事先将root密码更改为临时密码。 当他离开时,将root密码恢复为原始密码。
如果您只允许公用密钥访问您的服务器,但没有密码login,您可以通过删除您提供给顾问的密钥随时撤销访问权限。
一旦在机器上,GNU屏幕应该提供所有想要的function – 正如Cristian Ciupitubuild议的那样。 如果你想增加额外的舒适度,sudosh2可能会帮助你,但是你的炮弹历史和屏幕硬拷贝可以帮助你稍后回放命令…