linux 伺服器初始化配置流程

2021-09-14 04:51:54 字數 3321 閱讀 7253

開發web應用的時候,經常需要配置伺服器。我在阮一峰老師的 linux伺服器的初步配置流程 的基礎上,整理了這篇筆記。節約以後配置伺服器的時間。

root賬戶預設沒有密碼 安全起見 先初始化乙個

passwd
? 使用linux伺服器的時候,盡量不要使用root賬號,處理日常操作,我們新建乙個管理員賬號。

首先,新增乙個使用者組(這裡我自定義的 admin)。

addgroup admin
然後,新增乙個新使用者(假定為 www)。

useradd -d /home/www -s /bin/bash -m www
上面命令中,引數d指定使用者的主目錄,引數s指定使用者的shell,引數m表示如果該目錄不存在,則建立該目錄。

接著,設定新使用者的密碼。

passwd www
將新使用者(www)新增到使用者組(admin)。

usermod -a -g admin www
接著,為新使用者設定sudo許可權。

sudo vi /etc/sudoers
找到下面這一行。

root    all=(all:all) all
在這一行的下面,再新增一行。

root    all=(all:all) all

www all=(all) nopasswd: all

上面的nopasswd表示,切換 sudo 的時候,不需要輸入密碼。如果出於安全考慮,也可以強制要求輸入密碼。

root    all=(all:all) all

www all=(all:all) all

最後,先退出root使用者登入,再用新使用者的身份登入。

把自己電腦的ssh公鑰,儲存到伺服器的~/.ssh/authorized_keys檔案中

直接使用下面的命令

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
然後,進入伺服器,編輯ssh配置檔案/etc/ssh/sshd_config。

sudo cp /etc/ssh/sshd_config ~     (備份,復原時使用)

sudo vi /etc/ssh/sshd_config

在配置檔案中,將 ssh 的預設埠 22 改掉。假設使用 25000

port 25000
然後,檢查幾個設定是否設成下面這樣,確保去除前面的#號。

選項含義

protocol 2

ssh 協議使用新版的

permitrootlogin no

不允許 root 登入

permitemptypasswords no

不允許空密碼登入

passwordauthentication no

使用密碼授權登入

rsaauthentication yes

使用rsa演算法進行安全驗證

pubkeyauthentication yes

允許公鑰認證

usedns no

禁用dns反向解析 會加快速度

syslogfacility authpriv

記錄使用者登入資訊

上面主要是禁止root使用者登入,以及禁止用密碼方式登入。

儲存後,退出檔案編輯。

接著,改變authorized_keys檔案的許可權。

sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
重啟 sshd

sudo service ssh restart
或者

sudo /etc/init.d/ssh restart
檢查伺服器的區域設定。

locale
如果結果不是en_us.utf-8,建議都設成它。

sudo locale-gen en_us en_us.utf-8 en_ca.utf-8

sudo dpkg-reconfigure locales

然後,更新軟體

sudo apt-get update

sudo apt-get upgrade

最後,再根據需要,做一些安全設定,比如搭建防火牆,關閉httphttpsssh以外的埠,詳細可參考這篇 《securing a linux server》。

阿里雲伺服器可以在控制台設定安全組規則。

什麼是安全組

簡單點,給大家舉個栗子?,我部署了乙個mongodb的資料庫,我怕別人黑我資料庫,我就可以在安全組的規則裡設定公網入方向拒絕訪問mongodb使用的埠27017。只允許本地locahost訪問,禁止公網訪問。

下面是教科書版具體解釋

阿里雲產品介紹 請看這裡 安全組

安全組是一種虛擬防火牆,具備狀態檢測包過濾功能。安全組用於設定單台或多台雲伺服器的網路訪問控制,它是重要的網路安全隔離手段,用於在雲端劃分安全域。

安全組是乙個邏輯上的分組,這個分組是由同乙個地域(region)內具有相同安全保護需求並相互信任的例項組成。每個例項至少屬於乙個安全組,在建立的時候就需要指定。同一安全組內的例項之間網路互通,不同安全組的例項之間缺省內網不通。可以授權兩個安全組之間互訪。

linux伺服器的初步配置流

Linux伺服器初始化

選擇的作業系統是centos 7 x64,與ubuntu的區別詳見 一 ssh登入會報錯 當本機之前成功連線過伺服器時,若重灌伺服器後,用ssh登入報錯 warning remote host identification has changed!這是由於本機的known hosts是記錄遠端主機公...

雲伺服器初始化

使用雲伺服器也有一段時間了,每次使用都要進行一些相同的操作,每次還要查閱相應的部落格和教程,覺得做這些重複工作覺得十分麻煩,還是記錄一下。如果以後學習了shell程式設計,就可以把這些操作儲存成乙個initial.sh,每次新開雲伺服器的時候執行一下就可以了。yum update yum upgra...

ubuntu伺服器初始化配置lamp環境

1.安裝之前先更新系統 sudo apt get install software properties common sudo add apt repository ppa ondrej php sudo apt get update sudo apt update 2.安裝apache2 sud...