跳至主要内容

在 Ubuntu 上設定 SSH 伺服器

· 閱讀時間約 3 分鐘
Zephyr
Engineer

title

封面圖片:由 GPT-4 閱讀本文之後自動生成


SSH(安全殼層)是一種網絡協議,允許用戶安全地訪問和管理遠程服務器。

我們這次要來設定無密碼登入。

1. 安裝 OpenSSH 伺服器

打開終端機。

輸入以下命令來安裝 OpenSSH 伺服器:

sudo apt update
sudo apt install openssh-server

2. 檢查 SSH 伺服器狀態

使用以下命令檢查 SSH 伺服器的狀態:

sudo systemctl status ssh

如果你看到 「Active: active (running)」,那麼 SSH 伺服器已經成功啟動。

3. SSH 無密碼登入設定:

3.1 在客戶端生成 SSH 金鑰對

打開終端機。

輸入以下命令以生成金鑰對:

ssh-keygen

按照提示操作。通常預設的設定就足夠了。在詢問密碼的部分可以直接按 Enter 以建立一個無密碼的金鑰對。

3.2 把公開金鑰複製到伺服器

使用 ssh-copy-id 命令將公開金鑰複製到伺服器。替換 [username] 與 [server-ip] 為你的伺服器資料。

ssh-copy-id [username]@[server-ip]

例如:

ssh-copy-id john@192.168.0.100

如果伺服器更改了預設的 SSH 埠(如:2222),則使用 -p 參數:

ssh-copy-id -p 2222 john@192.168.0.100

此命令將會提示你輸入伺服器的密碼。

一旦驗證成功,你的公開金鑰就會被添加到伺服器上的 ~/.ssh/authorized_keys 檔案中。

3.3 測試無密碼登入

嘗試 SSH 至伺服器:

ssh [username]@[server-ip]

如果一切設定正確,你將可以無需密碼登入伺服器。

注意事項

使用 SSH 金鑰認證確實可以提高安全性和方便性,但請確保不要遺失私鑰。

建議定期更換或更新你的 SSH 金鑰。為了增加安全性,可以考慮禁止密碼認證方式。

這可以在伺服器的 /etc/ssh/sshd_config 中設定:

  • PasswordAuthentication no

完成上述步驟後,你將能夠使用 SSH 金鑰認證從客戶端無密碼登入伺服器。