【问题标题】:How to launch a "rogue" cli server as unprivileged user如何以非特权用户身份启动“流氓”cli服务器
【发布时间】:2021-05-27 09:49:12
【问题描述】:

让我们陈述一个情况:

  • 我可以通过“非常规方式”以非特权用户身份在服务器上运行任意命令。
  • 我无法使用 ssh 登录到该服务器,无论是作为我的非特权用户还是其他任何用户。所以我目前没有 CLI 允许我以“正常”方式运行任何我想要的命令。
  • 我可以 ping 那个服务器,没有什么能阻止我连接到任意端口。
  • 我仍然希望有一个命令行来允许我在该服务器上运行任意命令。

理论上,没有什么能阻止我以非特权用户身份启动任何程序,包括打开端口、允许远程用户连接到它并将任何命令转发给 bash 并返回结果的程序。我只是不知道有什么好的程序可以做到这一点。

那么,有人知道吗?我查看了以非特权用户身份启动 ssh_server 的方法,但一些用户报告说最近版本的 ssh_server 不再允许这样做。实际上我什至不需要专门的 ssh,任何获得工作 CLI 的方法都可以解决问题。只要我有一个 CLI,即使是启动 http 服务器的糟糕的 node.js 程序也可以工作(......而且它并不过分糟糕,目标是拥有一个干净的 CLI,而不是每两个字符都会出错的东西)。

如果你问我为什么要这样做,这与任何违法行为无关^^。我只需要使用一个非常糟糕的 Jenkins 服务器,我不能直接访问它的代理。负责该服务器的人不会对其用户的需求表示意见,因此我们必须使用 hacky 解决方案来获取有关该服务器的一些诊断数据(例如 ram、cpu 和磁盘使用情况、已安装的程序等。 .)。拥有一个我可以在一段时间内启动的 CLI,而不是更改构建配置并等待 20 分钟以得到关于正在发生的事情的答案,这真的很有帮助。

提前感谢您的任何回答。

【问题讨论】:

  • 老实说,这听起来更像是一个与工作空间相关的问题,让负责人参与解决这个问题?
  • 是的,相信我,很多大公司都不是这样运作的^^。当您的服务器被外包时,您无法选择系统管理员,有时您甚至不知道他到底是谁,甚至不知道他是谁。不幸的是,并不是每个人都在创业公司工作。
  • 你能通过 jenkins 构建作业运行任何东西吗?
  • 是的,绝对是。它基本上只是一个在服务器上执行 shell 脚本的程序。唯一的限制是a)它以非特权用户身份运行脚本,b)它对于诊断服务器确实不切实际,因为您必须创建脚本,请在服务器有时间执行此操作时启动它并耐心等待以便在网络浏览器中显示完整的结果。

标签: linux ssh command-line-interface


【解决方案1】:

那么您是否至少有一次对服务器的 shell 访问权限?例如,当您在您的客户或外包承包商的现场实际出现在一个月中的某一天?

如果你有 shell 访问权限,你或你的 sysmin 可以安装Cockpit 吗? 它侦听端口 9090。 然后,您可以使用本地用户的凭据并在浏览器中打开终端窗口。请参阅cockpit 主页截图上的侧边栏项目“终端”。

根据documentation

Cockpit 没有特殊权限,也不以 root 身份运行。它以登录用户的身份创建一个会话,并拥有与该用户相同的权限。

【讨论】:

  • 如果我能够在该服务器上拥有 root 访问权限,我将只允许通过 ssh 进行访问,这将比其他任何方式更有效。当然是没问题的。
  • Cockpit 没有特殊权限,也不以 root 身份运行。也许它也可以作为非root用户安装。它以登录用户的身份创建一个会话,并具有与该用户相同的权限。 - 另一个选项是以非 root 用户身份安装 sshd 并使其侦听某个 > 1024 的端口。文档说这是可能的(请参阅-h option`)
  • 我投了赞成票,因为我不知道 Cockpit,谢谢你的提示!
  • 文档明确指出您需要 root 访问权限才能安装它 (cockpit-project.org/running.html#ubuntu)。所以,坦率地说,这与我提出的问题完全无关。在这里,您试图出售某种 ssh 的替代品来管理服务器(它通过 Web 浏览器或多或少地做同样的事情)。我的问题是“如果我没有并且永远不会拥有 root 访问权限并且我仍然希望有可能启动 CLI 怎么办?”。
  • 请原谅我发布了与您的问题无关的内容,但我以有点谨慎的开头句开始回答。看来我已经帮助过别人了。
猜你喜欢
  • 2015-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 2016-10-18
  • 2017-01-26
  • 1970-01-01
相关资源
最近更新 更多