首页IT科技linux桌面远程怎样远程(在Linux系统中安装web端的远程连接工具Wetty)

linux桌面远程怎样远程(在Linux系统中安装web端的远程连接工具Wetty)

时间2025-08-04 21:03:21分类IT科技浏览5929
导读:Wetty 是什么?...

Wetty 是什么?

Wetty = Web + tty

作为系统管理员                ,如果你是在 Linux 桌面下                       ,你可以用它像一个 GNOME 终端(或类似的)一样来连接远程服务器;如果你是在 Windows 下        ,你可以用它像使用 Putty 这样的 SSH 客户端一样来连接远程        ,然后同时可以在浏览器中上网并查收邮件等其它事情                。

安装步骤

第1步: 安装 epel 源

# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

第2步:安装依赖

代码如下:
# yum install epel-release git nodejs npm -y

第3步:在安装完依赖后                       ,克隆 GitHub 仓库

代码如下:
# git clone https://github.com/krishnasrinivas/wetty

第4步:运行 Wetty

代码如下:

# cd wetty

# npm install

第5步:从 Web 浏览器启动 Wetty 并访问 Linux 终端

代码如下:
# node app.js -p 8080

第6步:为 Wetty 安装 HTTPS 证书

代码如下:
# openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

等待完成                       。

第7步:通过 HTTPS 来使用 Wetty
代码如下:
# nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

第8步:为 wetty 添加一个用户

代码如下:

# useradd

# Passwd <username>

第9步:访问 wetty

http://Your_IP-Address:8080

输入你之前为 wetty 创建的证书然后访问        。

设置wetty不需要账号登录便可进行命令行操作

我们看到                ,在浏览器中输入http://127.0.0.1:3000进行访问的时候        ,还需要我们输入账号密码进行认证(如下图第一行所示)        。

但在某些应用场景下                       ,我们不需要用户输入账号密码进行认证                ,而且用户也不一定知道账号密码                       。我们希望用户打开即可直接进行命令操作                。

在命令行终端中输入node app.js会如下提示,其中列出了启动wetty服务的所有选项说明        。

从上图的这些选项中看到wetty是通过ssh来进行终端操作的                       ,而其中的--sshauth用于指定ssh的认证模式                       ,其默认为password,表示通过账号密码方式进行认证                       。

Ssh的认证方式有很四种:hostbased                、publickey                       、keyboard-interactive        、password                。其中password即我们上面说的账号密码认证方式;publickey是RSA公钥认证方式;其它两个我们暂时不关心。

Wetty默认采用的是password认证方式                ,我们可以通过--sshauth选项指定为publickey认证方式即可                       。关于ssh公钥的认证机制是:

用户将自己的公钥储存在远程主机上                       。登录的时候                       ,远程主机会向用户发送一段随机字符串        ,用户用自己的私钥加密后                ,再发回来。远程主机用事先储存的公钥进行解密                       ,如果成功        ,就证明用户是可信的        ,直接允许登录shell                       ,不再要求密码                。

那么我们需要先打开一个命令行终端                ,然后输入

代码如下:
$ ssh-keygen

来生成我们的公钥和私钥                       。

该命令生成的公钥和密钥默认都保存在~/.ssh目录下        ,

其中id_rsa文件中保存的是私钥                       ,id_rsa.pub文件中保存的是公钥        。

上面ssh公钥认证机制提供我们需要讲公钥保存到远程机器中                ,保存在登录后的用户主目录的~/.ssh/authorized_keys文件中                。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了                       。而此时我们的远程机器即是本地机器                       ,于是我们只需要将~/.ssh/id_rsa.pub复制一份并命名为authorized_keys即可        。

代码如下:
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

然后我们切换到wetty目录下                       ,启动wetty服务,

代码如下:
$ node app.js -p 3000 --sshauth=publickey

然后在浏览器中输入http://127.0.0.1:3000/                ,可以看到此时不需要输入账号密码即可直接操作                       ,如下图所示        ,        、

如果我们嫌每次启动的时候还要指定--sshauth选项太麻烦的话                ,我们可以直接修改app.js文件中源代码        。打开app.js文件                       ,我们可以看到其在第45行指定的sshauth的默认认证方式为password        ,我们只需要将其修改为publickey即可                       。

声明:本站所有文章        ,如无特殊说明或标注                       ,均为本站原创发布                。任何个人或组织                ,在未征得本站同意时        ,禁止复制                       、盗用                、采集        、发布本站内容到任何网站                       、书籍等各类媒体平台        。如若本站内容侵犯了原著者的合法权益                       ,可联系我们进行处理                       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
kettle连接oracle12c(springboot集成kettle实现对接oracle数据) pytorch遥感图像分类(Python核对遥感影像批量下载情况的方法)