一、SSH密碼及證書之選擇
我個人其實是不建議(不習慣)使用證書來登陸管理服務器的,主要是擔心點是如果證書丟失或被盜就會引發災難性問題。
當前常用做法是禁用root登陸,同時創建一個可遠程登陸的帳號,在必須時使用sudo或su使用root管理員權限來執行命令,當然本文后面重點要講的Google Authenticator 安全加固更是添加一重保障,先來說說禁用root,創建可遠程登陸的帳號吧。
1、創建可遠程登陸的用戶
#創建kleefull用戶并歸屬于root組
useradd kleefull -g root
# 設置密碼
passwd kleefull
#配置可遠程登陸及連接不斷開
vi /etc/ssh/sshd_config
#阻止root用戶陸
PermitRootLogin no
末行新增
AllowUsers kleefull
#服務端每隔1分鐘向當前連接的客戶端發起一次通信,超過3次無回應則斷開連接
ClientAliveInterval 60
ClientAliveCountMax 3
#重啟sshd:
service sshd restart
2、為用戶配置sudo權限
#登陸或切換到root用戶下
su root
#更改sudoers文件的寫權限
chmod u+w /etc/sudoers
#編輯sudoers文件
vi /etc/sudoers
#找到這行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (注:這里的xxx是你的用戶名)
#你可以根據實際需要在sudoers文件中按照下面四行格式中任意一條進行添加:
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
#第一行:允許用戶youuser執行sudo命令(需要輸入密碼)。
#第二行:允許用戶組youuser里面的用戶執行sudo命令(需要輸入密碼)。
#第三行:允許用戶youuser執行sudo命令,并且在執行的時候不輸入密碼。
#第四行:允許用戶組youuser里面的用戶執行sudo命令,并且在執行的時候不輸入密碼。
#撤銷sudoers文件寫權限
chmod u-w /etc/sudoers
至此,普通用戶就可以使用sudo了。
二、SSH + Google Authenticator 安全加固
通常我們直接通過ssh輸入密碼連接服務器,但這樣很容易出現暴力破解情況,所以我們可以結合google的動態認證+ssh密碼,這樣能夠大大的提升登陸的安全。
簡單來說,就是當用戶通過ssh登陸系統時,先輸入google的隨機驗證碼,然后在輸入服務器的ssh密碼。
步驟:https://www.cnblogs.com/hftian/p/11891499.html