伺服器設定為root登入設定方案以及linux系統下的root和SSH、sshd

fhzmWJ發表於2020-11-25

前言

寫這篇部落格是因為使用騰訊雲伺服器,
騰訊雲伺服器ubuntu系統預設的登入使用者是ubuntu而不是root,
而阿里雲華為雲都是root,所以有些不習慣。

實在不想配置一堆東西可以每次使用:

sudo su - root   切換到root
exit 退出root

想使用sudo免密碼的話可以編輯/etc/sudoers檔案

sudo vi /etc/sudoers
然後
會有很多類似
%sudo   ALL=(ALL:ALL)  這種
給誰加NOPASSWD誰就可以免密

比如下圖這種,使用者ubuntu可以免密切到root

但是,還是用root比較舒服,雖然真的不太好,如果是個人伺服器不建議直接長期用root,雲伺服器上不放一些重要的東西就無所謂了。


關於root
Linux中,root是超級使用者,是超級管理員賬號。
windows其實也有,administrator。
root可以使用系統裡的所有東西、訪問所有檔案、執行任何命令。
日常任務大多是不需要root許可權的。

但是root許可權同時也很危險,錯誤的命令可能會破壞掉系統,所以Ubuntu和其他基於Ubuntu發行版預設鎖定root使用者。
如果你想啟用root使用者,可以為它設定密碼:

sudo passws root

如果你設定了密碼,最好不要忘記,不然也挺麻煩的。
可以通過移除密碼來鎖定root使用者:

sudo passwd -dl root

同樣禁用其他使用者也可以通過移除密碼的方式。
如果禁用以root管理員的身份遠端登入到伺服器可以大大降低被黑客暴力破解密碼的機率。


root登入騰訊雲伺服器設定

首先設定root的密碼

sudo passwd root

再修改sshd_config檔案

sudo vi /etc/ssh/sshd_config

找到如下圖內容:

去掉前面的#的註釋,將PermitRootLogin no 改為yes,就和上圖一樣
修改好儲存

重啟ssh

sudo service ssh restart

這樣就已經可以使用root登入伺服器了


關於sshd和SSH

SSH(Secure Shell)是一種能夠以安全的方式提供遠端登入的協議。
也是目前遠端管理Linux系統的首選方式。
在次之前,一般使用FTP或者Telnet來進行遠端登入,但是這些以明文的形式在網路中傳輸賬戶密碼和資料資訊,所以很不安全。

使用SSH協議來遠端管理服務程式,需要部署配置sshd服務程式。
sshd是基於SSH協議開發的一款遠端管理服務程式,可以提供兩種安全的驗證方法:

  • 基於口令的驗證:賬戶和密碼驗證登入
  • 基於金鑰的驗證:需要在本地生成金鑰對,然後把金鑰對中的公鑰上傳至伺服器,並與伺服器中的公鑰進行比較;該方式更安全一些。(在windows系統裡有.ssh\known_hosts儲存金鑰)

Linux系統中sshd服務的配置資訊儲存在/etc/ssh/sshd_config檔案中。
下圖是配置檔案裡的引數:

想讓配置引數生效需要去掉前面的註釋#號。

相關文章