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