技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

在Linux系統(tǒng)中安裝web端的遠(yuǎn)程連接工具Wetty

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-02-20 12:00┆點(diǎn)擊:192

  Wetty 是什么?

  Wetty = Web + tty

  作為系統(tǒng)管理員,如果你是在 Linux 桌面下,你可以用它像一個(gè) GNOME 終端(或類似的)一樣來(lái)連接遠(yuǎn)程服務(wù)器;如果你是在 Windows 下,你可以用它像使用 Putty 這樣的 SSH 客戶端一樣來(lái)連接遠(yuǎn)程,然后同時(shí)可以在瀏覽器中上網(wǎng)并查收郵件等其它事情。

  安裝步驟

  第1步: 安裝 epel 源

  代碼如下:

  # wget

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

  第2步:安裝依賴

  代碼如下:

  # yum install epel-release git nodejs npm -y

  第3步:在安裝完依賴后,克隆 GitHub 倉(cāng)庫(kù)

  代碼如下:

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

  第4步:運(yùn)行 Wetty

  代碼如下:

  # cd wetty

  # npm install

  第5步:從 Web 瀏覽器啟動(dòng) Wetty 并訪問(wèn) 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步:通過(guò) HTTPS 來(lái)使用 Wetty

  代碼如下:

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

  第8步:為 wetty 添加一個(gè)用戶

  代碼如下:

  # useradd

  # Passwd

  第9步:訪問(wèn) wetty

  :8080

  輸入你之前為 wetty 創(chuàng)建的證書然后訪問(wèn)。

  設(shè)置wetty不需要賬號(hào)登錄便可進(jìn)行命令行操作

  我們看到,在瀏覽器中輸入:3000進(jìn)行訪問(wèn)的時(shí)候,還需要我們輸入賬號(hào)密碼進(jìn)行認(rèn)證(如下圖第一行所示)。

20151221114428980.png (775×202)

  但在某些應(yīng)用場(chǎng)景下,我們不需要用戶輸入賬號(hào)密碼進(jìn)行認(rèn)證,而且用戶也不一定知道賬號(hào)密碼。我們希望用戶打開即可直接進(jìn)行命令操作。

  在命令行終端中輸入node app.js會(huì)如下提示,其中列出了啟動(dòng)wetty服務(wù)的所有選項(xiàng)說(shuō)明。

20151221114531305.png (649×220)

  從上圖的這些選項(xiàng)中看到wetty是通過(guò)ssh來(lái)進(jìn)行終端操作的,而其中的--sshauth用于指定ssh的認(rèn)證模式,其默認(rèn)為password,表示通過(guò)賬號(hào)密碼方式進(jìn)行認(rèn)證。

  Ssh的認(rèn)證方式有很四種:hostbased、publickey、keyboard-interactive、password。其中password即我們上面說(shuō)的賬號(hào)密碼認(rèn)證方式;publickey是RSA公鑰認(rèn)證方式;其它兩個(gè)我們暫時(shí)不關(guān)心。

  Wetty默認(rèn)采用的是password認(rèn)證方式,我們可以通過(guò)--sshauth選項(xiàng)指定為publickey認(rèn)證方式即可。關(guān)于ssh公鑰的認(rèn)證機(jī)制是:

  用戶將自己的公鑰儲(chǔ)存在遠(yuǎn)程主機(jī)上。登錄的時(shí)候,遠(yuǎn)程主機(jī)會(huì)向用戶發(fā)送一段隨機(jī)字符串,用戶用自己的私鑰加密后,再發(fā)回來(lái)。遠(yuǎn)程主機(jī)用事先儲(chǔ)存的公鑰進(jìn)行解密,如果成功,就證明用戶是可信的,直接允許登錄shell,不再要求密碼。

  那么我們需要先打開一個(gè)命令行終端,然后輸入

  代碼如下:

  $ ssh-keygen

  來(lái)生成我們的公鑰和私鑰。

20151221114549157.png (648×376)

  該命令生成的公鑰和密鑰默認(rèn)都保存在~/.ssh目錄下,

20151221114605058.png (654×54)

  其中id_rsa文件中保存的是私鑰,id_rsa.pub文件中保存的是公鑰。

  上面ssh公鑰認(rèn)證機(jī)制提供我們需要講公鑰保存到遠(yuǎn)程機(jī)器中,保存在登錄后的用戶主目錄的~/.ssh/authorized_keys文件中。公鑰就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。而此時(shí)我們的遠(yuǎn)程機(jī)器即是本地機(jī)器,于是我們只需要將~/.ssh/id_rsa.pub復(fù)制一份并命名為authorized_keys即可。

  代碼如下:

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

20151221114621333.png (645×102)

  然后我們切換到wetty目錄下,啟動(dòng)wetty服務(wù),

  代碼如下:

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

20151221114637679.png (647×58)

  然后在瀏覽器中輸入:3000/,可以看到此時(shí)不需要輸入賬號(hào)密碼即可直接操作,如下圖所示,、

20151221114654596.png (728×188)