愚人節(jié)看到了 coding.net 推出的[命令行界面]
(https://segmentfault.com/a/1190000004834909)
是不是非常酷始腾,于是我打算依葫蘆畫瓢空执,讓我的個人網(wǎng)站不但可以被瀏覽器訪問,也可以用 ssh 鏈接的方式來訪問山林。
先看效果圖:
下面是實(shí)現(xiàn)步驟(當(dāng)前只給出最小實(shí)現(xiàn)說明):
準(zhǔn)備服務(wù)器與域名
由于 HTTPS 的原因,我已經(jīng)把自己的博客轉(zhuǎn)到了獨(dú)立 VPS 上桑孩。然后到托管域名的管理界面指定一個 A Record
來專門用于 ssh 登錄(可選), 這里我選擇的是 cli.songofcode.com
建立訪客用戶
在服務(wù)器上創(chuàng)建一個訪客用戶框冀,這里我使用的是 visitor
,你可以選用任何名字宣虾,比如 guest
温数。
創(chuàng)建時先隨便指定一個密碼,創(chuàng)建好之后撑刺,先試試在本機(jī)用密碼 ssh 登錄服務(wù)器,確备Σぃ可以登錄后冕屯,使用 passwd -d visitor
來刪除這個用戶的密碼,此時再次嘗試登錄會發(fā)現(xiàn)服務(wù)器依然詢問用戶密碼安聘,這時需要修改 /etc/ssh/sshd_config
文件,修改 PermitEmptyPasswords
為 yes
以及 UsePAM
為 no
带迟。然后再嘗試 ssh visitor@cli.songofcode.com
囱桨,應(yīng)該就可以直接無密碼登錄了嗅绰。
好了,接下來就是定義 api 了窘面,出于演示目的,我這里只打算啟用 about
肌括,help
酣难,posts
這幾個命令黑滴,另外出于安全考慮紧索,雖然這不是一個 root 用戶,但是還是要禁用其他所有的 shell 命令珠漂,這里我使用 rbash,來限制 bash 的使用荞彼,配置用戶的 bashrc
如下:
set -r
alias help='echo "available commands: help,about,posts" '
alias about='echo "this is my personal website" '
alias posts='echo "please visit http://www.reibang.com/users/yLzRq4/latest_articles" '
可以看到济舆, 使用 set -r
來啟用 restricted
模式,另外設(shè)置了三個 alias 來作為 api 供調(diào)用签夭。
做完這些椎侠,你就可以在 web 版的網(wǎng)頁上標(biāo)注上,『歡迎使用 ssh 登錄本站』的字樣了我纪!