也想出现在这里? 联系我们

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

作者 : 小编 本文共2010个字,预计阅读时间需要6分钟 发布时间: 2022-10-30 共5.01K人阅读
也想出现在这里? 联系我们

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步:访问 wettyhttp://Your_IP-Address:8080输入你之前为 wetty 创建的证书然后访问。

设置wetty不需要账号登录便可进行命令行操作我们看到,在浏览器中输入http://127.0.0.1:3000进行访问的时候,还需要我们输入账号密码进行认证(如下图第一行所示)。20151221114428980.png (775×202)

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

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

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

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

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

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

复制代码

代码如下:

$ ssh-keygen

来生成我们的公钥和私钥。20151221114549157.png (648×376)

该命令生成的公钥和密钥默认都保存在~/.ssh目录下,20151221114605058.png (654×54)

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

20151221114621333.png (645×102)

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

复制代码

代码如下:

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

20151221114637679.png (647×58)

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

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

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 在Linux系统中安装web端的远程连接工具Wetty

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录