2020年4月24日 星期五

用 Putty 維護 Moodle 站台

雖然 Moodle 也可以安裝在 Windows 系統, 但是它必竟是 LAMP 的系統, 在 Windows 上有許PHP 與 WebServer 的問題要自已處理(註1.), 除了PHP/Apache的問題, 其它 Moodle 也用到許多子系統及套件(eg. PDF 的 ghost script、ca ...)也都沒有完整的支援(註2.)。所以我們始終建議把 Moodle 安裝在 Linux 上(RedHat 的 CentOS or Ubuntu 都是不錯的選擇。

Moodle 在 Linux 系統上, 管理員的的系統如果是 Windows , 就會用 Putty 這類的軟體的來連接 Linux 。

是SSH和 telnet 的客戶端,最初由 Simon Tatham 為Windows平台開發。 PuTTY是開源軟件,可提供源代碼,並由一群志願者開發和支持。

用 Putty 連線 Moodle 平台不是什麼困難的是, 也有很多文章教學, 這裡就不重覆。
這裡分享我們在Windows 同時管理多台 Moodle 的經驗。


基於密鑰的身份驗證(Key-Base authentication)

意思就是不用密碼;在 Linux 系統一個重要的身份認證機制就是 SSH 了, 當然在OS安裝完成後都可用密碼驗證登入;密碼的安全性問題, 相信不需要我多說... 而且當你要管理的Moodle 很多台, 甚至多到10多台時; 如果還在用密碼, 你就可以理解我說的問題了(當資安要求你定期更換密碼...之類的)

準備金鑰

怎麼作呢?
首先, 你要先準備你自己的公鑰(沒錯它是利用非對稱金鑰加密技術, 本文不打算討論這個機制), 產生的方法提供兩種:

  1. 在 Windows 用 puttygen , 請看用 puttygen 產生金鑰 有超多文章...🤷‍♀️, 產生後存成 *.ppk 放好-等一下用。
  2. 在 Moodle 主機, 用 ssh-keygen 產生金鑰 , 請看產生的部份就好了(其它、複制等不關本文); 且不管 RSA、DSA都可以; 產生後請把你的 ~/.ssh/id_rsa (沒有.pub的那一個), 把它下載到 Windows, 並且用 puttygen 存成 *.ppk (Load 載入 id_rsa 再 Save private key) .

不管用上面那一個方法, 你都會拿到一個 ppk 檔案。(如果到這裡有問題, 要另外找人幫忙了)

使用金鑰

在 ppk 檔案點兩下, 在 Windows 的右下角(Trayicon) 會看到藍色的💻 圖; 然後:

  1. 開啟 putty 在Host Name (IP address) 欄, key入 Moodle 主機 IP 登入. 
  2. 或者在 執行打: putty 帳號@Moodle-IP

就可以登入 Moodle 主機了(它不會問你密碼, 因為你有準備私鑰了-trayicon)
到這裡, 你有成功了嗎?
如果沒有, 請再重頭再看一遍; 如果還是不行, 找幫手吧。

Read more: 備份putty


辛苦建好的putty session, 換個人電腦後, 這麼多台 Moodle 要重新建立, 會讓人瘋掉; 
您可以用下列的指令備份.

regedit /e "%userprofile%\desktop\putty-sessions.reg" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions


然後在新的Windows安裝好 putty 後, 點擊兩下, 就會還原你的 session 了 . 

禁止 root 從遠端登入

如何禁止從遠端(SSH)以ROOT登入:
修改 /etc/ssh/sshd_config
1. 找到檔案 /etc/ssh/sshd_config 
2. 修改其中的 
#PermitRootLogin yes 
改為 
PermitRootLogin no (注意開頭不要有井字號 #)
3. 重新啟動 SSH
/etc/rc.d/sshd restart 

or 
systemctl restart httpd 


沒有留言:

張貼留言

歡迎留下您的問題,請留下您的Moodle版本及環境,我們才能跟據您的版本測試問題並回應。

精選文章

成績保留

最近有學生退選後再加選,在課程成績中測驗/作業成績都沒有記錄了,請問可以保留退選前取得的課程成績嗎? 是可以⭕的喔,來看看如何設定成績保留吧! 管理者 可於網站管理,點選成績後,打開一般設定,勾選「預設恢復成績」,就會恢復退選前的課程成績囉! 是不是很簡單呢😊😊 如有問題請 ...

熱門文章