摘要:本文將介紹在云廠商購買服務器之后,為了確保服務器的安全,開發(fā)者應該要做的一些配置。新建云服務器實例在開始配置之前,我們先新建一個云服務器實例。
推薦理由:
許多個人開發(fā)者在云服務器上搭建網(wǎng)站時,喜歡使用 Ubuntu 操作系統(tǒng);那么在云廠商購買 了Ubuntu 服務器之后,如何確保服務器的安全,以及如何正確配置它,我覺得這點很關鍵;而我今天推薦的這篇文章,就介紹了在購買 Ubuntu 服務器之后,為了確保服務器的安全,開發(fā)者應該要做的一些配置,希望對大家有所幫助。
以下為文章原文:
在云服務器上搭建網(wǎng)站時,許多個人開發(fā)者喜歡使用 Ubuntu 操作系統(tǒng)。據(jù) W3C 的一項調查,Ubuntu 占據(jù)了網(wǎng)站服務器市場的 13.4%,而且還在呈上升趨勢。由于其較高的使用率,騰訊云等云計算廠商均提供了 Ubuntu 操作系統(tǒng)的鏡像。
本文將介紹在云廠商購買 Ubuntu 服務器之后,為了確保服務器的安全,開發(fā)者應該要做的一些配置。完成本文的操作之后,服務器的安全性將得到更好的保障。
新建云服務器實例
在開始配置之前,我們先新建一個云服務器實例。新用戶可領取免費代金券,獲得1個月左右的免費使用時間。如果已經(jīng)使用代金券,可考慮使用筆者的推薦鏈接來購買服務器。
這里,我們選擇計費模式選擇為「包年包月」。對于需要長期運行的網(wǎng)站應用來說,包年包月的模式還是比較劃算的。機型選擇標準型S1中最低配,即 1核CPU、1GB 內(nèi)存。
選擇存儲與網(wǎng)絡時,建議將系統(tǒng)盤選擇為云硬盤,除了可以獲得免費贈送的空間之外,還方便以后根據(jù)需求升級 CVM 的 CPU 和內(nèi)存。其他的使用默認設置即可。
接下來需要設置一些 CVM 相關的信息,如主機名和登陸密碼。一開始,你的賬號下只有默認項目,
如果你不希望手動設置密碼,可以選擇「自動生成密碼」,騰訊云會向你的注冊郵箱發(fā)送相關登陸信息。安全組暫時選擇為默認安全組,將暴露所有端口到公網(wǎng)和內(nèi)網(wǎng)。
root 登陸
在登陸剛啟動的 CVM 實例之前,我們需要知道服務器的公網(wǎng) IP,以及 root 用戶的密碼。如果你選擇的是自動生成密碼,那么請查看郵箱。接下來,我們在本地使用如下命令登陸到服務器。
$ ssh root@qcloud-cvm-ip # 請將 qcloud-cvm-ip 替換為實際 IP
按照提示進行操作,輸入 root 用戶驗證所需的密碼(可以從騰訊云發(fā)送的郵件中找到)。如果這是你第一次使用密碼登陸服務器,登陸成功后系統(tǒng)還會提示你更換 root 密碼。
root 用戶
root 用戶是 Linux 環(huán)境下的超級管理用戶,擁有非常大的權限。由于 root 用戶權限過大,不建議大家日常使用 root 賬號進行服務器操作。因為有可能會出現(xiàn)讓你加班、甚至被開除的意外。
因此,我們接下來創(chuàng)建一個新的用戶賬號,在日常工作中使用。
創(chuàng)建新用戶
以 root 賬號登陸服務器之后,我們就可以添加以后經(jīng)常使用的用戶賬號了。本文中,我們將創(chuàng)建一個名為 demo 的新用戶,你可以根據(jù)自己的情況選擇合適的用戶名。
$ adduser demo
系統(tǒng)會要求你回答一些問題,最重要的就是設置該用戶的密碼。對于其他問題,并不是必須的,可以直接按回車鍵完成。
添加 root 權限
現(xiàn)在 demo 用戶還只是一名普通用戶,不具備系統(tǒng)管理權限。我們需要為該用戶添加 root 權限。這樣,就可以在每個命令前加上 sudo 以管理員權限執(zhí)行了。
安裝 sudo
由于 Debian 8 系統(tǒng)默認沒有安裝 sudo 包,因此我們先通過 apt-get 安裝。
首先,更新 apt 包目錄:
$ apt-get update
然后使用下面的命令安裝 sudo:
$ apt-get install sudo
現(xiàn)在可以使用 sudo 和 visudo 命令了。
賦予 sudo 權限
為了給新用戶添加管理權限,我們需要把新用戶添加到 sudo 用戶組。Ubuntu 操作系統(tǒng)中,屬于 sudo 用戶組的用戶默認可以使用 sudo 命令。
在 root 用戶下 ,運行如下命令,將 demo 用戶添加到 sudo 用戶組:
$ usermod -a -G sudo demo
上面的命令中,-a 選項指的是將用戶添加到對應的用戶組中,只能配合 -G 選項一起使用。-G 后可以指定多個用戶組名稱。如 $ usermod -a -G sudo, wwww-data。
添加公鑰驗證
推薦給新用戶添加公鑰驗證,一來可以避免每次登陸時都要輸入密碼,二來需要私鑰才能登陸可以提高安全性。
生成密鑰對
如果沒有現(xiàn)成的 SSH 密鑰對(由公鑰和私鑰組成),很容易就可以生成。只需要在本地機器上輸入如下命令即可:
ssh-keygen
假如本地用戶的名稱為 demo,接下來應該會看到如下輸出:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/demo/.ssh/id_rsa):
如果你以前沒有生成過密鑰對,按回車接受默認設置即可。如果有舊的密鑰對的話,這樣會覆蓋以前的密鑰對,建議更改為別的文件名。系統(tǒng)還會提示輸入口令(passphrase),為了簡單起見,我們直接回車使用空口令。如果你輸入了口令的話,那么在 SSH 登陸時,除了需要提供密鑰之外,還需要輸入口令才能登陸。
命令運行結束后,會在本地用戶的根目錄中的 .ssh 目錄下創(chuàng)建一個私鑰 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 [email protected]
然后,以新用戶身份登陸服務器:
$ ssh demo@qcloud-cvm-ip
登陸成功后,應該會進入該用戶的根目錄。接下來創(chuàng)建一個叫 .ssh 的新目錄,然后使用如下命令限制目錄權限:
mkdir .ssh
chmod 700 .ssh
700 表示只有目錄的所有者才能讀、寫和執(zhí)行。
現(xiàn)在使用 Vim 文本編輯器在 .ssh 目錄下創(chuàng)建一個名為 authorized_keys 的文件。
$ vim .ssh/authorized_keys
在 Vim 中按 i 進入插入模式,然后 Ctrl + v 粘貼之前賦值的公鑰。然后按 Esc 回到正常模式,在英文輸入法下鍵入 :wq 保存并退出文件。
并使用如下命令限制文件的權限:
chmod 600 .ssh/authorized_keys
600 表示文件所有者可讀、可寫。
之后,你就可以使用私鑰驗證登陸服務器了,不必重復輸入密碼。
禁用 root 登陸
在開始配置服務器的時候 ,我們提到了最好不用使用 root 賬號登陸服務器。為了確保不會出現(xiàn)這種情況,我們可以修改 SSH daemon 的配置,禁止遠程登陸值 root 賬號。
以上面配置的管理員用戶身份,使用 sudo 命令打開配置文件:
$ sudo vim /etc/ssh/sshd_config
如果想禁止遠程 root 登陸,找到下面這行文本:
PermitRootLogin yes
將其修改為
PermitRootLogin no
并保存文件。由于我們已經(jīng)創(chuàng)建了一個管理用戶,而且可以視情況增加權限,禁止 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
之后,只需要執(zhí)行 ssh qcloud 即可登陸服務器。
文章出自騰訊云技術社區(qū)
(埋文字鏈https://www.qcloud.com/commun...)
推薦大家關注騰訊云技術社區(qū)微信公眾號:QcloudCommunity
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/11247.html
摘要:因業(yè)務需求需要給域名配置加密從部門獲取和文件后就開始配置了查找的模塊下的默認模塊目錄是確認有模塊后我們到的配置目錄默認是找到增加依賴在最后一行加上保存退出的訪問配置打開修改內(nèi)容如下要綁定的域名自動將端口的訪問重定向到的域名也可以使用 因業(yè)務需求,需要給域名配置SSL加密,從IT部門獲取.cert和.key文件后,就開始配置了. 1. 查找apache的ssl模塊 ubuntu下,apa...
摘要:近日,由于項目要求,需要在下安裝和配置開發(fā)環(huán)境,下面對自己的一些實踐做了一下總結。二下載提供的自解壓包進行手動安裝這種安裝可自由選擇版本,能進行靈活的配置。我一般把非系統(tǒng)軟件安裝到下。 近日,由于項目要求,需要在ubuntu下安裝和配置java開發(fā)環(huán)境,下面對自己的一些實踐做了一下總結。 Sun JDK的安裝一般有兩種方式: 一、通過ubuntu提供的包管理工具進行安裝 ...
摘要:云主機環(huán)境配置檢查設備識別表示識別為表示為獲取網(wǎng)絡源,并配置官方源地址安裝在安裝前請檢測當前內(nèi)核版本,然后確保對應版本的包已經(jīng)安裝,否則無法正常編譯驅動。GPU云主機UHost Ubuntu 14.04 環(huán)境配置1. 檢查GPU設備識別 $ sudo lspci | grep NVIDIA 3D controller: NVIDIA Corporation GK210GL [Tesla...
摘要:最近在騰訊云上配置支持的時候遇到問題查看版本要升級以上才支持但是通過并沒有更新看了一下文件內(nèi)容全是騰訊云內(nèi)部的源,應該是沒有同步最新的版本隨便搜了一個英文博客說要往里加入當時無腦就照著加入了,結果報錯后來才發(fā)現(xiàn)原來那個博客直接抄 最近在騰訊云上配置 nginx 支持 HTTP 2.0 的時候遇到問題 nginx: [emerg] invalid parameter http2 in /...
閱讀 2567·2021-09-22 15:25
閱讀 2978·2021-09-14 18:03
閱讀 1228·2021-09-09 09:33
閱讀 1711·2021-09-07 09:59
閱讀 2938·2021-07-29 13:50
閱讀 1509·2019-08-30 15:44
閱讀 1723·2019-08-29 16:22
閱讀 1295·2019-08-29 12:49