跳至主要内容

在 Ubuntu 上設定 SSH 伺服器

· 閱讀時間約 3 分鐘
Zephyr
Engineer

SSH 是一種網路協議,允許用戶安全地訪問和管理遠程伺服器。

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

安裝 OpenSSH 伺服器

打開終端機。

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

sudo apt update
sudo apt install openssh-server

檢查 SSH 伺服器狀態

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

sudo systemctl status ssh

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

SSH 無密碼登入設定:

在用戶端生成 SSH 金鑰對

打開終端機。

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

ssh-keygen

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

把公開金鑰複製到伺服器

使用 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 檔案中。

測試無密碼登入

嘗試 SSH 至伺服器:

ssh [username]@[server-ip]

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

禁用密碼

有了 SSH 金鑰之後,為了增加安全性,可以考慮禁止密碼認證方式。

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

sudo vim /etc/ssh/sshd_config

找到檔案中的 PasswordAuthentication 選項,並將其設置為 no

完成上述步驟後,恭喜你可以開心愉快地使用 SSH 了!