服务器之家

服务器之家 > 正文

在Linux系统中安装web端的远程连接工具Wetty

时间:2019-06-29 14:00     来源/作者:cnblogs

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 <username>
# Passwd <username>

第9步:访问 wetty
http://Your_IP-Address:8080
输入你之前为 wetty 创建的证书然后访问。

 

设置wetty不需要账号登录便可进行命令行操作
我们看到,在浏览器中输入http://127.0.0.1:3000进行访问的时候,还需要我们输入账号密码进行认证(如下图第一行所示)。
在Linux系统中安装web端的远程连接工具Wetty

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

 在命令行终端中输入node app.js会如下提示,其中列出了启动wetty服务的所有选项说明。
在Linux系统中安装web端的远程连接工具Wetty

从上图的这些选项中看到wetty是通过ssh来进行终端操作的,而其中的--sshauth用于指定ssh的认证模式,其默认为password,表示通过账号密码方式进行认证。
Ssh的认证方式有很四种:hostbased、publickey、keyboard-interactive、password。其中password即我们上面说的账号密码认证方式;publickey是RSA公钥认证方式;其它两个我们暂时不关心。

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

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

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

 

复制代码
代码如下:
$ ssh-keygen

来生成我们的公钥和私钥。
在Linux系统中安装web端的远程连接工具Wetty

 

该命令生成的公钥和密钥默认都保存在~/.ssh目录下,
在Linux系统中安装web端的远程连接工具Wetty

其中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

在Linux系统中安装web端的远程连接工具Wetty

 

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

复制代码
代码如下:

$ node app.js -p 3000 --sshauth=publickey

在Linux系统中安装web端的远程连接工具Wetty

 

然后在浏览器中输入http://127.0.0.1:3000/,可以看到此时不需要输入账号密码即可直接操作,如下图所示,、
在Linux系统中安装web端的远程连接工具Wetty

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

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部

458
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40