如何正確配置 Ubuntu 14.04 服務器?

推薦理由:vim

許多我的開發者在雲服務器上搭建網站時,喜歡使用 Ubuntu 操做系統;那麼在雲廠商購買 了Ubuntu 服務器以後,如何確保服務器的安全,以及如何正確配置它,我以爲這點很關鍵;而我今天推薦的這篇文章,就介紹了在購買 Ubuntu 服務器以後,爲了確保服務器的安全,開發者應該要作的一些配置,但願對你們有所幫助。安全

如下爲文章原文:
在雲服務器上搭建網站時,許多我的開發者喜歡使用 Ubuntu 操做系統。據 W3C 的一項調查,Ubuntu 佔據了網站服務器市場的 13.4%,並且還在呈上升趨勢。因爲其較高的使用率,騰訊雲等雲計算廠商均提供了 Ubuntu 操做系統的鏡像。服務器

本文將介紹在雲廠商購買 Ubuntu 服務器以後,爲了確保服務器的安全,開發者應該要作的一些配置。完成本文的操做以後,服務器的安全性將獲得更好的保障。微信

新建雲服務器實例網絡

在開始配置以前,咱們先新建一個雲服務器實例。新用戶可領取免費代金券,得到1個月左右的無償使用時間。若是已經使用代金券,可考慮使用筆者的推薦連接來購買服務器。ssh

這裏,咱們選擇計費模式選擇爲「包年包月」。對於須要長期運行的網站應用來講,包年包月的模式仍是比較划算的。機型選擇標準型S1中最低配,即 1核CPU、1GB 內存。
圖片描述編輯器

圖片描述

選擇存儲與網絡時,建議將系統盤選擇爲雲硬盤,除了能夠得到免費贈送的空間以外,還方便之後根據需求升級 CVM 的 CPU 和內存。其餘的使用默認設置便可。
圖片描述網站

接下來須要設置一些 CVM 相關的信息,如主機名和登錄密碼。一開始,你的帳號下只有默認項目,
圖片描述雲計算

若是你不但願手動設置密碼,能夠選擇「自動生成密碼」,騰訊雲會向你的註冊郵箱發送相關登錄信息。安全組暫時選擇爲默認安全組,將暴露全部端口到公網和內網。spa

root 登錄

在登錄剛啓動的 CVM 實例以前,咱們須要知道服務器的公網 IP,以及 root 用戶的密碼。若是你選擇的是自動生成密碼,那麼請查看郵箱。接下來,咱們在本地使用以下命令登錄到服務器。

$ ssh root@qcloud-cvm-ip # 請將 qcloud-cvm-ip 替換爲實際 IP

按照提示進行操做,輸入 root 用戶驗證所需的密碼(能夠從騰訊雲發送的郵件中找到)。若是這是你第一次使用密碼登錄服務器,登錄成功後系統還會提示你更換 root 密碼。

root 用戶

root 用戶是 Linux 環境下的超級管理用戶,擁有很是大的權限。因爲 root 用戶權限過大,不建議你們平常使用 root 帳號進行服務器操做。由於有可能會出現讓你加班、甚至被開除的意外。

所以,咱們接下來建立一個新的用戶帳號,在平常工做中使用。

建立新用戶

以 root 帳號登錄服務器以後,咱們就能夠添加之後常用的用戶帳號了。本文中,咱們將建立一個名爲 demo 的新用戶,你能夠根據本身的狀況選擇合適的用戶名。

$ adduser demo

系統會要求你回答一些問題,最重要的就是設置該用戶的密碼。對於其餘問題,並非必須的,能夠直接按回車鍵完成。

添加 root 權限

如今 demo 用戶還只是一名普通用戶,不具有系統管理權限。咱們須要爲該用戶添加 root 權限。這樣,就能夠在每一個命令前加上 sudo 以管理員權限執行了。

安裝 sudo

因爲 Debian 8 系統默認沒有安裝 sudo 包,所以咱們先經過 apt-get 安裝。

首先,更新 apt 包目錄:

$ apt-get update

而後使用下面的命令安裝 sudo:

$ apt-get install sudo

如今可使用 sudo 和 visudo 命令了。

賦予 sudo 權限

爲了給新用戶添加管理權限,咱們須要把新用戶添加到 sudo 用戶組。Ubuntu 操做系統中,屬於 sudo 用戶組的用戶默承認以使用 sudo 命令。

在 root 用戶下 ,運行以下命令,將 demo 用戶添加到 sudo 用戶組:

$ usermod -a -G sudo demo

上面的命令中,-a 選項指的是將用戶添加到對應的用戶組中,只能配合 -G 選項一塊兒使用。-G 後能夠指定多個用戶組名稱。如 $ usermod -a -G sudo, wwww-data。

添加公鑰驗證

推薦給新用戶添加公鑰驗證,一來能夠避免每次登錄時都要輸入密碼,二來須要私鑰才能登錄能夠提升安全性。

生成密鑰對

若是沒有現成的 SSH 密鑰對(由公鑰和私鑰組成),很容易就能夠生成。只須要在本地機器上輸入以下命令便可:

ssh-keygen

假如本地用戶的名稱爲 demo,接下來應該會看到以下輸出:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/demo/.ssh/id_rsa):
若是你之前沒有生成過密鑰對,按回車接受默認設置便可。若是有舊的密鑰對的話,這樣會覆蓋之前的密鑰對,建議更改成別的文件名。系統還會提示輸入口令(passphrase),爲了簡單起見,咱們直接回車使用空口令。若是你輸入了口令的話,那麼在 SSH 登錄時,除了須要提供密鑰以外,還須要輸入口令才能登錄。

命令運行結束後,會在本地用戶的根目錄中的 .ssh 目錄下建立一個私鑰 id_rsa 和一個公鑰 id_rsa.pub。記得別公開分享你本身的私鑰。

複製公鑰

賦值公鑰有兩種方法,一是經過 sshh-copy-id 腳本自動賦值到遠程用戶,二是手動安裝。

ssh-copy-id 腳本
若是本地機器上安裝了 ssh-copy-id 腳本,那麼就可使用該腳本將公鑰安裝到任何有登錄權限的用戶。

運行該腳本,同時指定用戶名和服務器的 IP 地址:

$ ssh-copy-id demo@qcloud-cvm-ip

按提示輸入登錄密碼後,你剛纔生成的公鑰就會自動賦值到遠程用戶的 .ssh/authorized_keys 文件中。接下來就可使用對應的私鑰登錄服務器了。

手動安裝公鑰

使用以下命令打印你剛剛生成的公鑰(id_rsa.pub:

$ cat ~/.ssh/id_rsa.pub

打印出來的公鑰大體應該是這樣子的:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf demo@Windows.local

而後,以新用戶身份登錄服務器:

$ ssh demo@qcloud-cvm-ip

登錄成功後,應該會進入該用戶的根目錄。接下來建立一個叫 .ssh 的新目錄,而後使用以下命令限制目錄權限:

mkdir .ssh
chmod 700 .ssh
700 表示只有目錄的全部者才能讀、寫和執行。

如今使用 Vim 文本編輯器在 .ssh 目錄下建立一個名爲 authorized_keys 的文件。

$ vim .ssh/authorized_keys

在 Vim 中按 i 進入插入模式,而後 Ctrl + v 粘貼以前賦值的公鑰。而後按 Esc 回到正常模式,在英文輸入法下鍵入 :wq 保存並退出文件。

並使用以下命令限制文件的權限:

chmod 600 .ssh/authorized_keys

600 表示文件全部者可讀、可寫。

以後,你就可使用私鑰驗證登錄服務器了,沒必要重複輸入密碼。

禁用 root 登錄

在開始配置服務器的時候 ,咱們提到了最好不用使用 root 帳號登錄服務器。爲了確保不會出現這種狀況,咱們能夠修改 SSH daemon 的配置,禁止遠程登錄值 root 帳號。

以上面配置的管理員用戶身份,使用 sudo 命令打開配置文件:

$ sudo vim /etc/ssh/sshd_config

若是想禁止遠程 root 登錄,找到下面這行文本:

PermitRootLogin yes

將其修改成

PermitRootLogin no

並保存文件。因爲咱們已經建立了一個管理用戶,並且能夠視狀況增長權限,禁止 root 帳號登錄反而可讓服務器更加安全。

最後,只須要重啓 SSH 服務便可讓新配置生效。

$ systemctl restart ssh

本地配置 SSH

完成以上配置以後, 之後咱們每次只須要 ssh demo@qcloud-cvm-ip 便可登錄服務器。

不過這樣仍是有點麻煩,每次都得輸入用戶名和 IP 地址。爲了進一步簡化操做,咱們對本地的 SSH 登錄進行配置。

打開 ~/.ssh/config 文件,而後添加以下配置:

Host qcloud
Hostname qcloud-cvm-ip
User demo
IdentityFile ~/.ssh/id_rsa
以後,只須要執行 ssh qcloud 便可登錄服務器。

文章出自騰訊雲技術社區

(埋文字鏈https://www.qcloud.com/commun...

推薦你們關注騰訊雲技術社區微信公衆號:QcloudCommunity

圖片描述

相關文章
相關標籤/搜索