(编辑:jimmy 日期: 2024/12/26 浏览:2)
以下内容从wetty简介、环境准备、wetty安装、以及验证方面给大家分析,具体详情请看下文吧。
1. Wetty简介
Wetty是使用Node.js和websockets开发的一个开源Web-based SSH。关于Web-based SSH的更多资料请参考https://en.wikipedia.org/wiki/Web-based_SSH。
而wetty的资料请参考https://github.com/krishnasrinivas/wetty。
2. 环境准备
因为wetty是使用Node.js编写的,所以我们要事先安装好相关的Node.js环境。请看考这篇博文。
3. Wetty安装
运行下面命令进行安装,
$ git clone https://github.com/krishnasrinivas/wetty
$ cd wetty
$ sudo npm install
安装过程可能会出错,请参考下面的可能问题处理。
4. 验证
安装完成之后,然后运行下面命令启动wetty服务,监听3000端口号,
$ node app.js -p 3000
然后打开浏览器,输入http://127.0.0.1:3000,然后输入密码登陆成功后便可以进行命令行操作了,效果如下图所示,
5. 可能问题处理
5.1安装时报error: 'Use' is not a member of 'node::Buffer'
因为我安装的Node是4.1.1版本的,太新了。而wetty原本依赖的pty.js太老,导致编译出现的问题。修改以下wetty源代码目录下的package.json,将依赖的pty.js修改成最新版本0.3.0(原本是^0.2.7-1)。保存文件,然后重新运行sudo npm install命令即可。
5.2 ssh访问失败
启动wetty服务后,在浏览器中输入http://127.0.0.1:3000时报一个类似于下面截图的”ssh: connect to host localhost port 22: Connection refused”的错误。
运行以下下面的命令重新安装openssl-client和openssl-server即可,
$ sudo apt-get remove openssh-client openssh-server
$ sudo apt-get installopenssh-client openssh-server
PS:学习linux tty命令
tty命令用来打印与标准输入连接的终端名称,如果显示的是/dev/console,那么此终端为控制台终端;
如果显示的是/dev/pts/n,那么此终端为虚拟终端(远程连接到linux server的终端)。通过查看tty命令执行的返回码为0,确认标准输入是一个终端。
sh-# tty
/dev/console
sh-# echo $?
0
sh-# tty
/dev/pts/6
通过如下命令,我们知道/dev/console是一个字符设备(linux系统几乎把所有的设备都看作是文件),
sh-# ls -l /dev/console
crw-r--r-- 1 root root 5, 1 Jan 1 00:11 /dev/console
以上是小编给大家分享的Linux系统下安装wetty和使用说明,希望大家喜欢。