欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


Linux系统中sed命令在文件某行前后添加内容的用法
Java开发时经常使用的相关Linux命令整理
详解Linux系统中安装配置Samba服务器的步骤
Linux下针对路由功能配置iptables的方法详解
WPS演示制作60秒倒计时器效果的方法
鲁大师驱动程序备份与还原图文教程
EDIUS存储位置被移动素材的恢复方法
Win8开启隐藏Administrator账户的方法
excel怎么制作双层饼图
Win7系统System Idle Process占用率高怎么办
在Linux系统中安装web端的远程连接工具Wetty
【 来源:网络 】【 点击:2 】 【 发布时间:2017_03_03 08:59:59 】

   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

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

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

  代码如下:

  $ 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)

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站