如何設置一臺新的雲伺服器? 以 CentOS7 為例

来源:https://www.cnblogs.com/wbourne/archive/2022/11/26/16927730.html
-Advertisement-
Play Games

我們拿到一臺新的雲伺服器之後, 應該如何設置, 使伺服器更適合自己使用? 本文將以 CentOS7 為例, 介紹如何設置新伺服器. ...


1. 引言

我們拿到一臺新的雲伺服器之後, 應該如何設置, 使伺服器更適合自己使用? 本文將以 CentOS7 為例, 介紹如何設置新伺服器.

2. 雲伺服器網站設置

本章節的操作都是在雲服務商所提供的網頁控制臺上操作.

2.1 防火牆

除了Linux系統的防火牆, 大部分雲服務提供商還額外加了一道防火牆, 這個防火牆是通過雲服務提供商來配置的: 如果我們想訪問伺服器, 需要先經過雲服務提供商的防火牆, 還需要再通過Linux系統的防火牆, 才能訪問到伺服器.

我所使用的某訊雲防火牆和iptables等防火牆工具比起來, 功能比較簡單, 適合不太瞭解防火牆的人使用.

因為後面我們會通過命令行來配置防火牆, 所以雲服務提供商的防火牆就可以關了, 有一個防火牆就夠了. 雲服務提供商的防火牆關了的意思是, 把所有埠都放開, 如下圖所示. 各位讀者可以根據自身實際情況選擇.

2.2 root密碼

其次我們還需要知道root密碼. 我所使用的某訊雲是需要自己預設密碼.

其他的雲服務商, 如果預設了root密碼則找到預設的密碼, 如果沒有設置root密碼則需要設置密碼, 否則, 沒有密碼我們登錄不了伺服器.

3. 伺服器設置

設置好密碼後, 我們就可以登錄伺服器了, 本章節都是通過root用戶在伺服器上的操作.

3.1 用戶管理

部分雲服務提供商會預設一個用戶, 比如某訊雲輕量伺服器的lighthouse. 使用預設用戶, 有較大安全的風險, 所以我們需要刪除預設用戶, 並自己創建一個用戶.

通過以下命令找到預設用戶, 第一個欄位是用戶名, 第三個欄位小於1000的是Linux系統的預設用戶, 大於等於1000就是雲服務提供商預設的用戶了, 我們要刪除的是雲服務提供商預設的用戶.

$ cat /etc/passwd
...
lighthouse:x:1000:1000::/home/lighthouse:/bin/bash
...

我們使用userdel命令刪除用戶, -r選項表示將用戶的家目錄也一併刪除

$ userdel -r lighthouse

使用useradd新增一個用戶:

  • -d選項指定家目錄
  • -G選項指定組, 加入到wheel, 是因為wheel組中的所有用戶都可以擁有sudoer許可權, 而無需在去修改sudoers文件了
  • -s選項指定預設shell
  • 最後的xxx表示用戶名
$ useradd -d /home/ypl/ -G wheel -s /bin/bash xxx

添加好用戶之後, 需要修改新用戶的密碼

$ passwd xxx

3.2 sshd配置

接下來配置sshd, 也是為了提高安全性. 修改配置文件之前備份下, 這是個好習慣

$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org

備份好之後, 再來修改sshd的配置文件, 下麵是我常用的配置, 各位讀者可以根據自己的習慣來配置.

$ vim /etc/ssh/sshd_config

$ cat /etc/ssh/sshd_config
......
Port 13513                # 監聽埠
MaxAuthTries 3            # 登錄嘗試次數
PrintLastLog yes          # 顯示最後一次登錄的日期和時間
PermitRootLogin no        # 禁止root登錄
PasswordAuthentication no # 禁止密碼登錄
PermitEmptyPasswords no   # 禁止空白密碼登錄
PubkeyAuthentication yes  # 使用密鑰登錄
AllowTcpForwarding yes    # 用於埠轉發, 允許埠轉發
GatewayPorts yes          # 用於埠轉發
TCPKeepAlive yes          # 保持連接
ClientAliveInterval 20    # 心跳時間, 單位為s
ClientAliveCountMax 3     # 心跳失敗次數

修改後重啟sshd服務, 使剛剛的修改生效

$ systemctl restart sshd.service 

最後添加個人電腦的公鑰, 就可以免密登錄伺服器了, root和剛剛創建的用戶都要加, 不要忘記了

$ cd ~
$ touch .ssh
$ chmod 700 .ssh/
$ cd .ssh/
$ touch authorized_keys
$ chmod 600 authorized_keys
$ vim authorized_key
# 此處需要註意, 因為我們是root用戶, 創建的文件也屬於root用戶, 配置好普通用戶的ssh設置後, 需要將創建的文件的所有者修改為普通用戶
$ chown -R xxx .ssh/

3.3 伺服器防火牆

首先檢查下防火牆有沒有啟動, 沒有啟動的話先啟動

$ systemctl enable firewalld.service 
$ systemctl start firewalld.service 

註意: 若剛纔防火牆沒有啟動, 手動啟動後會登入不了伺服器, 因為防火牆沒有做任何配置, 會拒絕所有入站流量!

但是不要慌, 有種登錄方式叫做VNC登錄, 通過VNC登錄可以繞過防火牆登錄上伺服器. 用通俗的話來說:

  • ssh登錄: 類似於Windows登錄後, 在通過QQ的使用遠程式控制制, QQ就相當於ssh, 需要經過防火牆
  • VNC登錄: 相當於雲服務提供商把伺服器屏幕投影給用戶, 類似於坐在電腦旁本地登錄Windows, 所以不會經過防火牆

接下來再把ssh的埠打開, 要和之前配置的一樣

$ firewall-cmd --add-port=13513/tcp --permanent 
$ firewall-cmd --reload
$ firewall-cmd --list-all

3.4 其他設置

通過以下命令設置主機名

$ hostnamectl set-hostname xxxxxx

安裝需要的軟體

$ yum install htop tree git 

檢查crontab, 刪除預設腳本

$ crontab -e

4. 結語

在本文結束前, 在告訴大家一個小技巧:

本地機器(不是伺服器, 就是自己的筆記本電腦)修改 hosts 文件, 之後就可以使用 功能變數名稱 的訪問伺服器了.

例如, 在hosts文件中加入192.168.1.xxx wbourne.com, 我們就可以通過ssh [email protected]來登錄伺服器了, 想怎麼取怎麼取!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、SpringBoot配置文件 1.什麼是SpringBoot配置文件 在SpringBoot項目中,資源文件夾下會有一個叫做application.properties的文件,這就是SpringBoot的配置文件。 2.SpringBoot配置文件的作用 因為SpringBoot的配置都經過自動 ...
  • 重載關係 一組函數要重載,必須處在同一個作用域中 ,而且函數名字相同,參數列表不同 代碼1中的Base中的 show() 和show(int) 屬於重載 代碼2中的Base中的 show() 和Derive中的show()不屬於重載不在同一個作用域下麵 隱藏的關係(主要是指作用域隱藏) 在繼承結構當 ...
  • 1、什麼是MQTT? MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基於發佈/訂閱(publish/subscribe)模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上,由IBM在1999年發佈。MQTT最大優點在於,可以以極 ...
  • 問題: Win7下在嘗試搭建簡單http伺服器的時候,執行httpListener.Start();報錯HttpListener拒絕訪問異常 代碼如下: HttpListener httpListener = new HttpListener();//創建伺服器監聽 httpListener.Pre ...
  • 簡介 本文的初衷是希望幫助那些有其它平臺視覺演算法開發經驗的人能快速轉入Halcon平臺下,通過文中的示例開發者能快速瞭解一個Halcon項目開發的基本步驟,讓開發者能把精力完全集中到演算法的開發上面。 首先,你需要安裝Halcon,HALCON 18.11.0.1的安裝包會放在文章末尾。安裝包分開發和 ...
  • 進程信號介紹: 操作系統通過信號來通知進程系統中發生了某種預先規定好的事件(一組事件中的一個),它也是用戶進程之間通信和同步的一種原始機制。一個鍵盤中斷或者一個錯誤條件(比如進程試圖訪問它的虛擬記憶體中不存在的位置等)都有可能產生一個信號。Shell也使用信號向它的子進程發送作業控制信號 簡易來說,信 ...
  • 對於提供了MMU(存儲管理器,輔助操作系統進行記憶體管理,提供虛實地址轉換等硬體支持)的處理器而言,Linux提供了複雜的存儲管理系統,使得進程所能訪問的記憶體達到4GB。 進程的4GB記憶體空間被人為的分為兩個部分--用戶空間與內核空間。用戶空間地址分佈從0到3GB(PAGE_OFFSET,在0x86中 ...
  • 一、阻塞和非阻塞簡介 當應用程式對設備驅動進行操作的時候,如果不能獲取到設備資源,那麼阻塞式 IO 就會將應用程式對應的線程掛起,直到設備資源可以獲取為止。對於非阻塞 IO,應用程式對應的線程不會掛起,它要麼一直輪詢等待,直到設備資源可以使用,要麼就直接放棄。 二、阻塞訪問(等待隊列) 阻塞訪問最大 ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...