概述
`ssh-user` 指的是透過 `ssh` 協定連接遠端系統時,用於驗證的使用者帳戶。這是 `ssh` 指令的核心部分,可讓您以特定使用者的權限執行遠端作業。
指定使用者的重要性
- 驗證: 連接遠端伺服器時,明確指定要登入的帳戶。
- 權限管理: 每個使用者都具有特定的權限,因此請以適當的使用者連接以執行必要的作業。
- 安全性: 建議避免直接使用 root 帳戶連接,而是使用一般使用者帳戶,這在安全性上是推薦的做法。
使用範例
`ssh-user` 本身並非指令,因此這裡展示了透過 `ssh` 指令指定使用者的各種方法。
基本使用者指定
ssh myuser@example.com
最常見的形式,以 `[使用者名稱]@[主機名稱]` 格式指定要連接的使用者。
使用 -l 選項
ssh -l myuser example.com
您也可以使用 `-l` 選項單獨指定使用者名稱。這與 `user@host` 格式的作用相同。
利用 ~/.ssh/config 檔案
您可以將主機特定設定儲存在 `~/.ssh/config` 檔案中,以簡化使用者指定。此方法對於連接多台伺服器非常有用,不僅可以指定使用者名稱,還可以預先定義連接埠、驗證金鑰等各種設定。
config 檔案內容範例
以下是將 `myuser` 帳戶設定為 `myserver` 別名的 `~/.ssh/config` 檔案範例。您需要將此內容新增到實際檔案中。 Host myserver HostName example.com User myuser Port 22 IdentityFile ~/.ssh/id_rsa
透過 config 設定連接
ssh myserver
套用上述 `~/.ssh/config` 設定後,以 `myserver` 別名透過 `myuser` 帳戶進行連接。
提示與注意事項
SSH 使用者指定時的實用提示和安全性注意事項。
預設使用者名稱
如果本機使用者名稱與遠端系統的使用者名稱相同,您可以省略使用者名稱,例如 `ssh example.com` 進行連接。此時,SSH 用戶端會嘗試使用目前本機的使用者名稱進行連接。
- 相同的使用者名稱: ssh example.com
- 不同的使用者名稱: ssh myuser@example.com
限制 root 連接
出於安全原因,不建議直接使用 `root` 帳戶進行 SSH 連接。建議改為使用一般使用者帳戶連接,然後使用 `sudo` 指令執行管理作業。您可以透過在遠端伺服器的 `/etc/ssh/sshd_config` 檔案中設定 `PermitRootLogin no` 來停用 `root` 的直接連接。
使用者個別的驗證金鑰管理
每個使用者帳戶都可以擁有唯一的 SSH 金鑰對,這些金鑰儲存在 `~/.ssh/id_rsa` (私鑰) 和 `~/.ssh/id_rsa.pub` (公鑰) 檔案中。將公鑰註冊到遠端伺服器的 `~/.ssh/authorized_keys` 檔案中,即可實現無需密碼的連接。