Ubuntu:建立新使用者並給予 sudo 權限、關閉 root 之 SSH 連線

2021/10/09 4,963 1 作業系統 , 資訊安全 , 伺服器 , Linux , Ubuntu

Linux 系統已經廣泛的應用於各種伺服器上頭,只要伺服器有連接外網,也就是跟國際網路接在一起,就有可能會被熟悉該系統的駭客入侵,其中我們又最常使用 SSH 來連線至 VPS(虛擬專用伺服器)等遠端機器,不管進行管理、建置還是傳輸都很好用,而擁有最大權限的 root 帳號最好是將其 SSH 連線關閉,伺服器會更加安全。那你一定想問,如果沒有 root 那之後要怎麼管理伺服器?簡單!建立一個新使用者並給予 sudo 權限,這樣就能用該使用者進行伺服器管理啦!

在關閉 root 之 SSH 連線前,來建立新使用者吧!指令如下:

adduser username ※ username 為自訂之使用者名稱

接著當然會被要求設定密碼與確認密碼:

New password:
Retype new password:

接著輸入使用者基本資料,直接按 Enter 可以跳過(即使用預設值),最後記得做確認輸入「Y」:

Enter the new value, or press ENTER for the default
Full Name []: username
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]

到這邊就完成建立新使用者的工作,讓它加入 sudo 群組吧!指令在下方。在 Ubuntu 中預設以 sudo 群組來管理可用 sudo 指令的使用者。sudo 可以讓一般使用者擁有近乎 root 的權限。

usermod -aG sudo username ※ username 請輸入剛才建立之新使用者名稱

新使用者已擁有 sudo 權限,就直接登出改用新使用者登入吧!

logout
ssh username@server

為了確保真的擁有 sudo 權限,來測試用 sudo 去查看 /root/

sudo ls -la /root

指令下去後會告知需要輸入新使用者之密碼:

[sudo] password for username:

輸入成功後只要看到目錄列出來就OK了!接下來要去 SSH 設定區裡,指令:

sudo nano /etc/ssh/sshd_config

進入後在裏頭新增以下設定值:

PermitRootLogin no

Ctrl+X 離開,會問是否存檔,請輸入 Y 存檔。接著重新啟動 SSH 服務以讓設定生效:

sudo systemctl restart ssh

好了!從此 root 就無法用 SSH 連線了!如果哪天需要用到,再把設定註解或移除,重新啟動 SSH 服務就OK啦!


▲ 終端機截圖,上半部是 SSH 設定檔內的兩行變更,下半部是指令嘗試的部分~如果登不進去就會顯示 Permission denied。

進階:不用密碼登入反而更安全!

使用新使用者登入伺服器操作,依照這篇文章設定好 SSH 公開金鑰認證,在剛剛的 SSH 設定中新增 PasswordAuthentication no 禁用密碼登入,記得一樣要重新啟動 SSH 服務,這樣伺服器會更安全喔!

 

 

 

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇