从上图的这些选项中看到wetty是通过ssh来进行终端操作的,而其中的--sshauth用于指定ssh的认证模式,其默认为password,表示通过账号密码方式进行认证。
Ssh的认证方式有很四种:hostbased、publickey、keyboard-interactive、password。其中password即我们上面说的账号密码认证方式;publickey是RSA公钥认证方式;其它两个我们暂时不关心。
Wetty默认采用的是password认证方式,我们可以通过--sshauth选项指定为publickey认证方式即可。关于ssh公钥的认证机制是:
用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
那么我们需要先打开一个命令行终端,然后输入
代码如下:
$ ssh-keygen
来生成我们的公钥和私钥。

该命令生成的公钥和密钥默认都保存在~/.ssh目录下,

其中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

然后我们切换到wetty目录下,启动wetty服务,
代码如下:
$ node app.js -p 3000 --sshauth=publickey

然后在浏览器中输入http://127.0.0.1:3000/,可以看到此时不需要输入账号密码即可直接操作,如下图所示,、

如果我们嫌每次启动的时候还要指定--sshauth选项太麻烦的话,我们可以直接修改app.js文件中源代码。打开app.js文件,我们可以看到其在第45行指定的sshauth的默认认证方式为password,我们只需要将其修改为publickey即可。


routerpassview路由器密码查看工具怎么使用的教程
天猫魔盒无线网络总断线怎么解决技巧
DNS设置8.8.8.8怎么样 好吗
TOTOLINK无线中继怎么设置图文详解
华为荣耀Note8是否支持快速充电介绍
安全狗服云服务器性能监控怎么设置的方法
WiFi用久了卡怎么办呢?如何重新设置路由器技巧
VoLTE如何开通,费用如何?
HiView正式版1.50官方版
Process Lasso正式版14.3.0.58官方版
高途在线正式版10.0.12.5官方版
小宝虚拟桌面工具正式版3.3官方版
闪电音频格式转换器正式版4.4.5官方版
iTunes正式版12.13.3.2官方版
美图秀秀正式版7.6.0.0官方版
灵动系统修复大师正式版1.7.31.1官方版
腾讯手游助手正式版5.0.433.80官方版
神奇透明水印制作软件正式版6.0.0.889官方版
维词课堂正式版2.1.4官方版
腾讯TIM正式版3.5.0.22143官方版
360离线病毒库(64位)正式版1.2.1.1318官方版
夜神模拟器正式版7.0.6.1官方版
像素苏打正式版2.6.1.110官方版
ACDSee旗舰版64位正式版17.1.0.3797官方版
ReaConverter Lite正式版7.8.22.0官方版
Soft4Boost Photo Studio正式版9.7.7.573官方版
希沃白板5正式版5.2.4.8298官方版
DBF Viewer 2000正式版8.42官方版