Linux服務(wù)器的初步配置流程
開(kāi)發(fā)網(wǎng)站的時(shí)候,常常需要自己配置Linux服務(wù)器。
本文記錄配置Linux服務(wù)器的初步流程,也就是系統(tǒng)安裝完成后,下一步要做的事情。這主要是我自己的總結(jié)和備忘,如果有遺漏,歡迎大家補(bǔ)充。
下面的操作針對(duì)Debian/Ubuntu系統(tǒng),其他Linux系統(tǒng)也類似,就是部分命令稍有不同。
第一步:root用戶登錄
首先,使用root用戶登錄遠(yuǎn)程主機(jī)(假定IP地址是128.199.209.242)。
- ssh root@128.199.209.242
這時(shí),命令行會(huì)出現(xiàn)警告,表示這是一個(gè)新的地址,存在安全風(fēng)險(xiǎn)。鍵入yes,表示接受。然后,就應(yīng)該可以順利登入遠(yuǎn)程主機(jī)。
接著,修改root用戶的密碼。
- passwd
第二步:新建用戶
首先,添加一個(gè)用戶組(這里假定為admin用戶組)。
- addgroup admin
然后,添加一個(gè)新用戶(假定為bill)。
- useradd -d /home/bill -s /bin/bash -m bill
上面命令中,參數(shù)d指定用戶的主目錄,參數(shù)s指定用戶的shell,參數(shù)m表示如果該目錄不存在,則創(chuàng)建該目錄。
接著,設(shè)置新用戶的密碼。
- passwd bill
將新用戶(bill)添加到用戶組(admin)。
- usermod -a -G admin bill
接著,為新用戶設(shè)定sudo權(quán)限。
- visudo
visudo命令會(huì)打開(kāi)sudo設(shè)置文件/etc/sudoers,找到下面這一行。
- root ALL=(ALL:ALL) ALL
在這一行的下面,再添加一行。
- root ALL=(ALL:ALL) ALL
- bill ALL=(ALL) NOPASSWD: ALL
上面的NOPASSWD表示,切換sudo的時(shí)候,不需要輸入密碼,我喜歡這樣比較省事。如果出于安全考慮,也可以強(qiáng)制要求輸入密碼。
- root ALL=(ALL:ALL) ALL
- bill ALL=(ALL:ALL) ALL
然后,先退出root用戶的登錄,再用新用戶的身份登錄,檢查到這一步為止,是否一切正常。
- exit
- ssh bill@128.199.209.242
第三步:SSH設(shè)置
首先,確定本機(jī)有SSH公鑰(一般是文件~/.ssh/id_rsa.pub),如果沒(méi)有的話,使用ssh-keygen命令生成一個(gè)(可參考我寫的SSH教程)。
在本機(jī)上另開(kāi)一個(gè)shell窗口,將本機(jī)的公鑰拷貝到服務(wù)器的authorized_keys文件。
- cat ~/.ssh/id_rsa.pub | ssh bill@128.199.209.242 'mkdir -p .ssh && cat - >> ~/.ssh/authorized_keys'
- # 或者在服務(wù)器端,運(yùn)行下面命令
- echo "ssh-rsa [your public key]" > ~/.ssh/authorized_keys
然后,進(jìn)入服務(wù)器,編輯SSH配置文件/etc/ssh/sshd_config。
- sudo cp /etc/ssh/sshd_config ~
- sudo nano /etc/ssh/sshd_config
在配置文件中,將SSH的默認(rèn)端口22改掉,可以改成從1025到65536之間的任意一個(gè)整數(shù)(這里假定為25000)。
- Port 25000
然后,檢查幾個(gè)設(shè)置是否設(shè)成下面這樣,確保去除前面的#號(hào)。
- Protocol 2
- PermitRootLogin no
- PermitEmptyPasswords no
- PasswordAuthentication no
- RSAAuthentication yes
- PubkeyAuthentication yes
- AuthorizedKeysFile .ssh/authorized_keys
- UseDNS no
上面主要是禁止root用戶登錄,以及禁止用密碼方式登錄。
接著,在配置文件的末尾,指定允許登陸的用戶。
- AllowUsers bill
保存后,退出文件編輯。
接著,改變authorized_keys文件的權(quán)限。
- sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
然后,重啟SSHD。
- sudo service ssh restart
- # 或者
- sudo /etc/init.d/ssh restart
下面的一步是可選的。在本機(jī)~/.ssh文件夾下創(chuàng)建config文件,內(nèi)容如下。
- Host s1
- HostName 128.199.209.242
- User bill
- Port 25000
最后,在本機(jī)另開(kāi)一個(gè)shell窗口,測(cè)試SSH能否順利登錄。
- ssh s1
第四步:運(yùn)行環(huán)境配置
首先,檢查服務(wù)器的區(qū)域設(shè)置。
- locale
如果結(jié)果不是en_US.UTF-8,建議都設(shè)成它。
- 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ù)需要,做一些安全設(shè)置,比如搭建防火墻,關(guān)閉HTTP、HTTPs、SSH以外的端口,再比如安裝Fail2Ban,詳細(xì)可參考這篇《Securing a Linux Server》。
原文鏈接:http://www.ruanyifeng.com/blog/2014/03/server_setup.html