如何設置一臺新的雲伺服器? 以 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
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...