您的位置:首頁>正文

利用Python實現SSH的短信雙因素認證!這波操作你不給一百分?

接下來就介紹如何利用pam_python模組實現SSH的短信雙因素認證。 首先需要編譯和安裝pam_python模組。 依次執行以下命令:

yum install pampam-devel -y #安裝編譯需要的依賴

wget -Opam-python_1.0.6.tar.gz https://sourceforge.net/projects/pam-python/files/latest/download?source=files --no-check-certificate #下載pam_python模組

tar xvfpam -python_1.0.6.tar.gz

cd pam-python_1.0.6

make lib

cp src/build/lib.linux-x86_64-2.7/pam_python.so/lib64/security/.

接下來就是編寫python腳本實現SSH登陸的短信雙因素認證。 既然是短信雙因素認證, 就需要一個短信介面用來發送短信。

生成隨機驗證碼並調用短信發送介面發送給使用者手機號碼。

最後是SSH登陸與用戶交互過程並校驗驗證碼的準確性。

完整代碼內容如下:

同時需要啟用ChallengeResponseAuthentication, 修改/etc/ssh/sshd_config, 將ChallengeResponseAuthentication設置為yes即可。

在上面的代碼裡面, 獲取用戶手機號碼的時候使用的方法是:pwd.getpwnam(user).pw_gecos, 這裡我將使用者的手機號碼資訊存放在/etc/passwd檔中, 當然可以根據需要存放在其他地方, 這裡只是用作演示。

一切配置完成之後, 需要重啟ssh服務:systemctl restart sshd.service

重啟完成之後, 使用gary帳號ssh登陸目標主機時, 就啟用了短信雙因素認證了。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示