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

老表ZP

老表ZP

2016-03-31 15:18

下面图老师小编跟大家分享在Linux系统中安装web端的远程连接工具Wetty,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

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

   Wetty 是什么?

  Wetty = Web + tty

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

  安装步骤

  第1步: 安装 epel 源

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

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

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

  第2步:安装依赖

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # yum install epel-release git nodejs npm -y

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

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # git clone https://github.com/krishnasrinivas/wetty

  第4步:运行 Wetty

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # cd wetty

  # npm install

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

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # node app.js -p 8080

  第6步:为 Wetty 安装 HTTPS 证书

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

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

  等待完成。

  第7步:通过 HTTPS 来使用 Wetty

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # nohup node app.js --sslkey key.pem --sslcert cert.pem -p 8080 &

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

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # useradd

  # Passwd

  第9步:访问 wetty

  http://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,不再要求密码。

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

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ 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即可。

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

20151221114621333.png (645×102)

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

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ 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)
展开更多 50%)
分享

猜你喜欢

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

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

mysql在linux下远程连接错误的问题

MySQL mysql数据库
mysql在linux下远程连接错误的问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Linux系统中安装iotop命令的方法

电脑入门
在Linux系统中安装iotop命令的方法

在Linux系统中安装使用恶意软件扫描工具及杀毒引擎的教程

服务器
在Linux系统中安装使用恶意软件扫描工具及杀毒引擎的教程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎样通过VNC远程连接到Linux系统桌面

电脑入门
怎样通过VNC远程连接到Linux系统桌面

通过PXE远程安装Linux系统全程解析

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
通过PXE远程安装Linux系统全程解析

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

修改Linux系统VPS主机的DNS的方法

修改Linux系统VPS主机的DNS的方法

iPhone6S无法连接App Store怎么办?

iPhone6S无法连接App Store怎么办?
下拉加载更多内容 ↓