我們拿到一臺新的雲伺服器之後, 應該如何設置, 使伺服器更適合自己使用? 本文將以 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]
來登錄伺服器了, 想怎麼取怎麼取!