CodeGym /Adesua ahorow /Docker SELF /配置 SSH,使用 `ping`、`netstat`、`dig` 進行網路診斷

配置 SSH,使用 `ping`、`netstat`、`dig` 進行網路診斷

Docker SELF
等級 4 , 課堂 5
開放

配置 SSH,使用 pingnetstatdig 進行網路診斷

1. 設定 SSH 伺服器

歡迎來到 Linux 網路功能的實作體驗!今天是時候檢驗我們的知識了!你會學到如何設定 SSH 伺服器,使用客戶端連線它,用最常見的命令進行網路診斷以及檢查埠的可用性。我們一起來感受網路工程師的感覺吧!

SSH (Secure Shell) 是一種用於安全遠端訪問伺服器的工具。它允許你像坐在伺服器前一樣管理伺服器,並傳輸文件。

步驟 1:安裝 SSH 伺服器

首先,我們需要安裝 SSH 伺服器。如果你使用 Ubuntu 或 Debian,執行以下命令:

sudo apt update
sudo apt install openssh-server -y

如果你使用 Fedora 或 CentOS:

sudo yum install -y openssh-server

安裝完成後,確認 SSH 服務已啟動:

sudo systemctl start ssh
sudo systemctl enable ssh  # 讓 SSH 自動在系統啟動時運行
sudo systemctl status ssh  # 檢查服務狀態

如果一切順利,你會看到服務正在運行。

步驟 2:配置 SSH 伺服器

SSH 伺服器的配置文件位於以下路徑:

sudo nano /etc/ssh/sshd_config

一些有用的參數:

  • PermitRootLogin no — 禁止以 root 用戶登錄。
  • PasswordAuthentication yes — 啟用密碼驗證。
  • PubkeyAuthentication yes — 啟用公鑰驗證。

修改後重啟 SSH:

sudo systemctl restart ssh

現在伺服器已準備好接受連線。

步驟 3:通過 SSH 連線伺服器

在另一台機器上(或在本地機器上通過 localhost)嘗試連線:

ssh your_username@your_server_ip

如果你在本地工作,將 your_server_ip 替換為 127.0.0.1。輸入用戶的密碼,你就能通過終端進入系統。


2. 使用密鑰進行身份驗證的設定

使用密碼進行身份驗證很方便,但從安全性的角度來說,使用 SSH 密鑰是更好的選擇。

步驟 1: 生成 SSH 密鑰

在客戶端機器上執行以下指令:

ssh-keygen

系統會詢問你要將密鑰儲存到哪裡。預設情況下,密鑰將儲存在目錄 ~/.ssh/ 中。只需按 Enter 即可。

步驟 2: 將密鑰複製到伺服器

將公開密鑰複製到伺服器:

ssh-copy-id your_username@your_server_ip

現在你可以不輸入密碼直接連接:

ssh your_username@your_server_ip

如果一切設定正確,那麼恭喜!現在你的 SSH 伺服器已經使用密鑰身份驗證進行保護。


3. 使用 ping 進行網路診斷

我們已經熟悉這個指令了。讓我們快速檢查我們的SSH伺服器是否可用。

ping -c 4 your_server_ip

你應該會看到伺服器的回應。如果沒有回應,檢查伺服器是否已啟動以及設定是否正確。


4. 使用 nslookupdig 檢查 DNS

如果你的伺服器有網域名稱,可以透過 DNS 測試它是否正常。例如:

nslookup 指令:

nslookup your-domain.com

你應該能看到和你的網域對應的 IP 地址。

dig 指令:

現在試著取得完整資訊:

dig your-domain.com

你會看到很多資料,但我們主要關注 ANSWER SECTION 部分的行,那裡會顯示 IP 地址。


5. 使用 netstatss 分析網路連線

SSH 伺服器預設監聽 22 埠口。我們可以用 netstat 確認這一點:

sudo netstat -tln | grep 22

或者使用 ss,一個比較現代的工具:

sudo ss -tln | grep 22

如果你看到 22 埠是 "LISTEN" (等待連接),那麼伺服器準備好接受客戶端連接了。


6. 使用 nc 檢查埠是否可用

指令 netcat (或 nc) 可以用來測試埠是否可用。我們來試著連接我們的 SSH 伺服器:

nc -zv your_server_ip 22

你應該會看到類似 "Connection to your_server_ip 22 port [tcp/ssh] succeeded!" 的訊息。

如果連接失敗,這可能表示埠被防火牆阻擋,或伺服器沒有監聽該埠。


7. 實作練習

現在,讓我們將所有內容結合到一個實際情境中。你需要:

  1. 在你的電腦或虛擬環境(例如WSL2)中啟用SSH。
  2. 生成金鑰並設定金鑰授權(禁用密碼)。
  3. 通過SSH連接到伺服器。
  4. 使用ping檢查伺服器的可用性。
  5. 使用nslookupdig檢查IP地址解析(如果你有域名)。
  6. 使用netstatssnc檢查伺服器上的22端口。

現在你不僅已經能夠設定遠端訪問,還能解決網路問題、診斷伺服器並像真正的pro一樣保護它!你已經在邁向成為Linux大神的路上了。

1
Опрос
在 Linux 中操作网络,  4 уровень,  5 лекция
недоступен
在 Linux 中操作网络
在 Linux 中操作网络
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION