【问题标题】:Providing an SSH based AJAX terminal on Django app在 Django 应用程序上提供基于 SSH 的 AJAX 终端
【发布时间】:2017-03-18 15:26:26
【问题描述】:

我正在开发一个具有以下功能的 Django 应用程序。

  • 在线终端到我本地网络上的所有用户

  • 终端框架应该在底视图打开,只要它们 已登录。

  • 顶部框架中有一个代码编辑器

他们在服务器上存在一个 linux 帐户,其凭据与他们用于登录的凭据相同。

我想要什么:

  • 产生一个终端实例
  • ssh 到他们的远程帐户
  • 按照 ssh-config 文件的指示将目录更改为他们的主目录
  • 保持终端连接直到他们注销。

请记住,这都是本地的,因此帐户都是本地的,可访问的。

我已经创建了顶部编辑器视图,现在它看起来像这样

下图终端图片来自CodingGround

如何在此处添加此类终端? StudyTerminal 这样的网站是如何做到的?我该如何实现?

我查看了 shellInaBoxGateOne 的实现,但它们占据了全屏空间并且是它们自己的服务器。我不希望另一台服务器只是提供终端。谁能帮我解决这个问题?

可能类似于 Jquery / AJAX 终端接口,采用以下参数:

new terminal{

   ssh_location : 10.10.56.24,
   port: 12001,
   username: username,
   password: ######,
   window_height: 100px;
   window_width: 200px;
   resizable:none
}

非常重要的是终端会话不应该占据全屏。诸如多用户会话、安全性等繁重的功能可能需要也可能不需要。

【问题讨论】:

    标签: jquery ajax ssh terminal gateone


    【解决方案1】:

    这是真正的死灵魔法,但我正在搜索并回答有关 Web 终端的所有问题。

    您有两个主要选择:

    第一个允许创建一个真正的 Linux 终端,您可以将它连接到真正的 Unix TTY。使用 xterm.js,您可以创建真正的 SSH,您甚至可以在其中运行 vi 等编辑器。

    这里是展示如何使用 xterm.js 创建终端的文章:How to create web-based terminals

    第二个选项将允许您创建一个 Web 终端,您可以在其中使用 JavaScript 编写内容。但如果你想使用 Django 和 AJAX,你也可以这样做。

    这里是如何使用 jQuery 终端的文章:How to create interactive terminal like website with JavaScript?

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2017-06-11
    • 2020-09-11
    • 1970-01-01
    • 2010-09-29
    • 2011-12-24
    相关资源
    最近更新 更多