標籤:style blog class code c tar
阮一峰
日期: 2014年3月14日
開發網站的時候,常常需要自己配置Linux伺服器。
本文記錄配置Linux伺服器的初步流程,也就是系統安裝完成後,下一步要做的事情。這主要是我自己的總結和備忘,如果有遺漏,歡迎大家補充。
下面的操作針對Debian/Ubuntu系統,其他Linux系統也類似,就是部分命令稍有不同。
第一步:root使用者登入
首先,使用root使用者登入遠程主機(假定IP地址是128.199.209.242)。
ssh [email protected]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 [email protected]128.199.209.242
第三步:SSH設定
首先,確定本機有SSH公開金鑰(一般是檔案~/.ssh/id_rsa.pub),如果沒有的話,使用ssh-keygen命令產生一個(可參考我寫的SSH教程)。
在本機上另開一個shell視窗,將原生公開金鑰拷貝到伺服器的authorized_keys檔案。
cat ~/.ssh/id_rsa.pub | ssh [email protected]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》。
(完)
文檔資訊
- 著作權聲明:自由轉載-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
- 原文網址:http://www.ruanyifeng.com/blog/2014/03/server_setup.html
- 最後修改時間:2014年5月 9日 10:10
- 付費支援: |