淺析Linux系統(tǒng)下安裝wetty和使用說(shuō)明
以下內(nèi)容從wetty簡(jiǎn)介、環(huán)境準(zhǔn)備、wetty安裝、以及驗(yàn)證方面給大家分析,具體詳情請(qǐng)看下文吧。
1. Wetty簡(jiǎn)介
Wetty是使用Node.js和websockets開(kāi)發(fā)的一個(gè)開(kāi)源Web-based SSH。關(guān)于Web-based SSH的更多資料請(qǐng)參考https://en.wikipedia.org/wiki/Web-based_SSH。
而wetty的資料請(qǐng)參考https://github.com/krishnasrinivas/wetty。
2. 環(huán)境準(zhǔn)備
因?yàn)閣etty是使用Node.js編寫的,所以我們要事先安裝好相關(guān)的Node.js環(huán)境。請(qǐng)看考這篇博文。
3. Wetty安裝
運(yùn)行下面命令進(jìn)行安裝,
$ git clone https://github.com/krishnasrinivas/wetty
$ cd wetty
$ sudo npm install
安裝過(guò)程可能會(huì)出錯(cuò),請(qǐng)參考下面的可能問(wèn)題處理。
4. 驗(yàn)證
安裝完成之后,然后運(yùn)行下面命令啟動(dòng)wetty服務(wù),監(jiān)聽(tīng)3000端口號(hào),
$ node app.js -p 3000
然后打開(kāi)瀏覽器,輸入http://127.0.0.1:3000,然后輸入密碼登陸成功后便可以進(jìn)行命令行操作了,效果如下圖所示,
5. 可能問(wèn)題處理
5.1安裝時(shí)報(bào)error: 'Use' is not a member of 'node::Buffer'
因?yàn)槲野惭b的Node是4.1.1版本的,太新了。而wetty原本依賴的pty.js太老,導(dǎo)致編譯出現(xiàn)的問(wèn)題。修改以下wetty源代碼目錄下的package.json,將依賴的pty.js修改成最新版本0.3.0(原本是^0.2.7-1)。保存文件,然后重新運(yùn)行sudo npm install命令即可。
5.2 ssh訪問(wèn)失敗
啟動(dòng)wetty服務(wù)后,在瀏覽器中輸入http://127.0.0.1:3000時(shí)報(bào)一個(gè)類似于下面截圖的”ssh: connect to host localhost port 22: Connection refused”的錯(cuò)誤。
運(yùn)行以下下面的命令重新安裝openssl-client和openssl-server即可,
$ sudo apt-get remove openssh-client openssh-server
$ sudo apt-get installopenssh-client openssh-server
PS:學(xué)習(xí)linux tty命令
tty命令用來(lái)打印與標(biāo)準(zhǔn)輸入連接的終端名稱,如果顯示的是/dev/console,那么此終端為控制臺(tái)終端;
如果顯示的是/dev/pts/n,那么此終端為虛擬終端(遠(yuǎn)程連接到linux server的終端)。通過(guò)查看tty命令執(zhí)行的返回碼為0,確認(rèn)標(biāo)準(zhǔn)輸入是一個(gè)終端。
sh-# tty
/dev/console
sh-# echo $?
0
sh-# tty
/dev/pts/6
通過(guò)如下命令,我們知道/dev/console是一個(gè)字符設(shè)備(linux系統(tǒng)幾乎把所有的設(shè)備都看作是文件),
sh-# ls -l /dev/console
crw-r--r-- 1 root root 5, 1 Jan 1 00:11 /dev/console
以上是小編給大家分享的Linux系統(tǒng)下安裝wetty和使用說(shuō)明,希望大家喜歡。
相關(guān)文章
在Linux與Windows上獲取當(dāng)前堆棧信息的方法
下面小編就為大家?guī)?lái)一篇在Linux與Windows上獲取當(dāng)前堆棧信息的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06shell腳本實(shí)現(xiàn)批量采集愛(ài)站關(guān)鍵詞庫(kù)
這篇文章主要介紹了shell腳本實(shí)現(xiàn)批量采集愛(ài)站關(guān)鍵詞庫(kù),本文工具實(shí)現(xiàn)簡(jiǎn)單,只用一句話實(shí)現(xiàn),需要的朋友可以參考下2014-11-11jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù)的方法
這篇文章主要介紹了jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù),解決訪問(wèn)是jenkins構(gòu)建好之后將jar遠(yuǎn)程推送到生產(chǎn)服務(wù)器,提前退出后臺(tái)執(zhí)行服務(wù)器遠(yuǎn)程腳本,腳本通過(guò)ngnx提前切走nginx代理auction sleep 1800s,半小時(shí)后執(zhí)行更新重啟,具體操作過(guò)程跟隨小編一起看看吧2022-01-01linux 比較兩個(gè)文件夾diff不同 (diff命令, md5列表)
這篇文章主要介紹了linux 比較兩個(gè)文件夾diff不同 (diff命令, md5列表),比較文件夾diff,可以直接使用diff命令,也可以比較文件md5列表,下面通過(guò)實(shí)例給大家介紹下,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Shell命令批量殺死進(jìn)程的方法實(shí)現(xiàn)
本文主要介紹了Shell命令批量殺死進(jìn)程的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06一個(gè)shell for循環(huán)與case結(jié)合的腳本(監(jiān)控程序狀態(tài))
分享一個(gè)for循環(huán)+case的腳本(監(jiān)控程序狀態(tài)并執(zhí)行相關(guān)操作) ,供大家學(xué)習(xí)參考2013-11-11