Linux服務器的初步配置流程

做者: 阮一峯html

日期: 2014年3月14日linux

開發網站的時候,經常須要本身配置Linux服務器。web

本文記錄配置Linux服務器的初步流程,也就是系統安裝完成後,下一步要作的事情。這主要是我本身的總結和備忘,若是有遺漏,歡迎你們補充。shell

下面的操做針對Debian/Ubuntu系統,其餘Linux系統也相似,就是部分命令稍有不一樣。安全

第一步:root用戶登陸

首先,使用root用戶登陸遠程主機(假定IP地址是128.199.209.242)。bash

ssh root@128.199.209.242

這時,命令行會出現警告,表示這是一個新的地址,存在安全風險。鍵入yes,表示接受。而後,就應該能夠順利登入遠程主機。服務器

接着,修改root用戶的密碼。ssh

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) ALL
bill    ALL=(ALL) NOPASSWD: ALL

上面的NOPASSWD表示,切換sudo的時候,不須要輸入密碼,我喜歡這樣比較省事。若是出於安全考慮,也能夠強制要求輸入密碼。

root    ALL=(ALL:ALL) ALL
bill    ALL=(ALL:ALL) ALL

而後,先退出root用戶的登陸,再用新用戶的身份登陸,檢查到這一步爲止,是否一切正常。

exit
ssh 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 2

PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

UseDNS 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 s1
HostName 128.199.209.242
User bill
Port 25000

最後,在本機另開一個shell窗口,測試SSH可否順利登陸。

ssh s1

第四步:運行環境配置

首先,檢查服務器的區域設置。

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

最後,再根據須要,作一些安全設置,好比搭建防火牆,關閉HTTP、HTTPs、SSH之外的端口,再好比安裝Fail2Ban,詳細可參考這篇《Securing a Linux Server》

(完)

相關文章
相關標籤/搜索