Linux服務器的初步配置流程
開發網站的時候,常常需要自己配置 Linux 服務器。
本文記錄配置 Linux 服務器的初步流程,也就是系統安裝完成后,下一步要做的事情。
下面的操作針對 Debian/Ubuntu 系統,其他 Linux 系統也類似,就是部分命令稍有不同。
第一步:root 用戶登錄
首先,使用 root 用戶登錄遠程主機(假定 IP 地址是 128.199.209.242)。
ssh root@128.199.209.242
這時,命令行會出現警告,表示這是一個新的地址,存在安全風險。鍵入 yes,表示接受。然后,就應該可以順利登入遠程主機。
接著,修改 root 用戶的密碼。
passwd
第二步:新建用戶
首先,添加一個用戶組(這里假定為 admin 用戶組)。
addgroup admin
然后,添加一個新用戶(假定為 bill)。
useradd -d /home/bill -s /bin/bash -m bill
上面命令中,參數d指定用戶的主目錄,參數s指定用戶的 shell,參數m表示如果該目錄不存在,則創建該目錄。
接著,設置新用戶的密碼。
passwd bill
將新用戶(bill)添加到用戶組(admin)。
usermod -a -G admin bill
接著,為新用戶設定 sudo 權限。
visudo
visudo 命令會打開 sudo 設置文件/etc/sudoers,找到下面這一行。
root ALL=(ALL:ALL) ALL
在這一行的下面,再添加一行。
root ALL=(ALL:ALL) ALLbill ALL=(ALL) NOPASSWD: ALL
上面的 NOPASSWD 表示,切換 sudo 的時候,不需要輸入密碼,我喜歡這樣比較省事。如果出于安全考慮,也可以強制要求輸入密碼。
root ALL=(ALL:ALL) ALLbill ALL=(ALL:ALL) ALL
然后,先退出 root 用戶的登錄,再用新用戶的身份登錄,檢查到這一步為止,是否一切正常。
exitssh bill@128.199.209.242
第三步:SSH 設置
首先,確定本機有 SSH 公鑰(一般是文件~/.ssh/id_rsa.pub),如果沒有的話,使用 ssh-keygen 命令生成一個(可參考我寫的 SSH 教程)。
在本機上另開一個 shell 窗口,將本機的公鑰拷貝到服務器的 authorized_keys 文件。
cat ~/.ssh/id_rsa.pub ssh bill@128.199.209.242 'mkdir -p .ssh && cat - >> ~/.ssh/authorized_keys'# 或者在服務器端,運行下面命令 echo "ssh-rsa [your public key]" > ~/.ssh/authorized_keys
然后,進入服務器,編輯 SSH 配置文件/etc/ssh/sshd_config。
sudo cp /etc/ssh/sshd_config ~sudo nano /etc/ssh/sshd_config
在配置文件中,將 SSH 的默認端口 22 改掉,可以改成從 1025 到 65536 之間的任意一個整數(這里假定為 25000)。
Port 25000
然后,檢查幾個設置是否設成下面這樣,確保去除前面的#號。
Protocol 2PermitRootLogin noPermitEmptyPasswords noPasswordAuthentication noRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysUseDNS no
上面主要是禁止 root 用戶登錄,以及禁止用密碼方式登錄。
接著,在配置文件的末尾,指定允許登陸的用戶。
AllowUsers bill
保存后,退出文件編輯。
接著,改變 authorized_keys 文件的權限。
sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
然后,重啟 SSHD。
sudo service ssh restart# 或者 sudo /etc/init.d/ssh restart
下面的一步是可選的。在本機~/.ssh 文件夾下創建 config 文件,內容如下。
Host s1HostName 128.199.209.242User billPort 25000
最后,在本機另開一個 shell 窗口,測試 SSH 能否順利登錄。
ssh s1
第四步:運行環境配置
首先,檢查服務器的區域設置。
locale
如果結果不是 en_US.UTF-8,建議都設成它。
sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8sudo dpkg-reconfigure locales
然后,更新軟件。
sudo apt-get updatesudo apt-get upgrade
最后,再根據需要,做一些安全設置,比如搭建防火墻,關閉 HTTP、HTTPs、SSH 以外的端口,再比如安裝 Fail2Ban,詳細可參考這篇《Securing a Linux Server》。
(完)