1. 程式人生 > >Linux Ubuntu伺服器使用者許可權及安全登陸限制

Linux Ubuntu伺服器使用者許可權及安全登陸限制

1)在遠端linux主機上:新增,編輯使用者和組(需root使用者許可權)

% useradd -m -g users <username> #新增新使用者並在/home下建立使用者目錄
% passwd <username>  #為新使用者設定密碼
% id <username>  #顯示使用者的id和所在分組資訊
% groupadd admin  #新增admin組
% gpasswd -a <username> admin  #把使用者新增到admin組內

此時 admin組的使用者可以使用sudo命令,但是需要輸入密碼。

2)使admin組的使用者使用sudo命令,不需要輸入密碼

% visudo

visudo命令 : 編輯/etc/sudoers檔案

將admin組改成 %admin ALL=(ALL) NOPASSWD: ALL

這裡寫圖片描述

% service ssh restart  #重啟ssh

此時 admin組的使用者使用sudo命令,不需要輸入密碼了.

3) 建立ssh-key

% su <username>   #切換到新使用者
% ssh-keygen -C "<youremail>@<example>"  #建立當前使用者的ssh_key(會在使用者目錄下建立.ssh資料夾,資料夾下有公鑰和私鑰)

4)在本地利用ssh連線遠端主機

開啟bash工具,在本地建立ssh_key:

% ssh-keygen -C "<youremail>@<example>" (會在C:\Users\Administrator目錄下建立.ssh資料夾,資料夾下有公鑰和私鑰)

連線到遠端linux主機(需要輸入密碼)

% ssh <username>@<ip> 

若不想重複輸入 使用者名稱和IP,可在C:\Users\Administrator.ssh資料夾中建立config檔案(無副檔名)
在config檔案中新增類似如下內容

Host  <nickname>
HostName <ip> Port 22 User <username>

此時在bush中可通過 ssh <nickname> 連線遠端遠端linux主機(需要輸入密碼)

5)免密連線遠端ubuntu伺服器

把本地使用者的id_rsa.pub(~/.ssh/id_rsa.pub) 上傳到伺服器某個使用者的authorized_keys(~/.ssh/authorized_keys):

% ssh-copy-id <username>@<ip>   或者 
% ssh-copy-id  <nichname>

注:同一使用者只能上傳一次
這裡寫圖片描述
此時再通過ssh登陸遠端伺服器就不需要輸入密碼了。

6)禁止使用者通過ssh使用密碼登陸遠端登陸伺服器,且禁止root登入

修改sshd_config 檔案(/etc/ssh/sshd_config)

PermitRootLogin no    #禁止root登陸
PasswordAuthentication no   # 禁止使用密碼登入

新增:

AllowGroups <groupname>  #允許groupname組登陸

重啟ssh服務

% service ssh restart #重啟ssh

此時已禁止使用者通過ssh登陸root,並禁止使用密碼登陸。