Linux服務器的初步配置流程
開發(fā)網(wǎng)站的時候,常常需要自己配置Linux服務器。
本文記錄配置Linux服務器的初步流程,也就是系統(tǒng)安裝完成后,下一步要做的事情。這主要是我自己的總結和備忘,如果有遺漏,歡迎大家補充。
下面的操作針對Debian/Ubuntu系統(tǒng),其他Linux系統(tǒng)也類似,就是部分命令稍有不同。
第一步:root用戶登錄
首先,使用root用戶登錄遠程主機(假定IP地址是128.199.209.242)。
- ssh root@128.199.209.242
這時,命令行會出現(xiàn)警告,表示這是一個新的地址,存在安全風險。鍵入yes,表示接受。然后,就應該可以順利登入遠程主機。
接著,修改root用戶的密碼。
- passwd
第二步:新建用戶
首先,添加一個用戶組(這里假定為admin用戶組)。
- addgroup admin
然后,添加一個新用戶(假定為bill)。
- useradd -d /home/bill -s /bin/bash -m bill
上面命令中,參數(shù)d指定用戶的主目錄,參數(shù)s指定用戶的shell,參數(shù)m表示如果該目錄不存在,則創(chuàng)建該目錄。
接著,設置新用戶的密碼。
- 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之間的任意一個整數(shù)(這里假定為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文件夾下創(chuàng)建config文件,內容如下。
- Host s1
- HostName 128.199.209.242
- User bill
- Port 25000
最后,在本機另開一個shell窗口,測試SSH能否順利登錄。
- ssh s1
第四步:運行環(huán)境配置
首先,檢查服務器的區(qū)域設置。
- 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
最后,再根據(jù)需要,做一些安全設置,比如搭建防火墻,關閉HTTP、HTTPs、SSH以外的端口,再比如安裝Fail2Ban,詳細可參考這篇《Securing a Linux Server》。
原文鏈接:http://www.ruanyifeng.com/blog/2014/03/server_setup.html