概述
ssh-copy-id 可自動化 SSH 公開金鑰驗證的設定過程,協助使用者無需密碼即可安全地連線到遠端伺服器。此命令預設會尋找像 ~/.ssh/id_rsa.pub 或 ~/.ssh/id_dsa.pub 這樣的預設公開金鑰檔案,但您也可以指定特定的金鑰檔案。
主要功能
- 將 SSH 公開金鑰複製到遠端伺服器
- 自動設定 authorized_keys 檔案的權限
- 支援建立無需密碼的 SSH 連線環境
- 即使多次執行也不會重複新增金鑰(冪等性)
主要選項
ssh-copy-id 命令提供了一些有用的選項,可讓您精確控制金鑰複製過程。
金鑰與連線設定
執行模式
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`ssh-copy-id` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
使用 ssh-copy-id 將 SSH 公開金鑰複製到遠端伺服器的各種情境。
基本用法
ssh-copy-id user@remote_host
將預設公開金鑰(例如 ~/.ssh/id_rsa.pub)複製到 'user' 使用者的 'remote_host'。系統會提示您輸入密碼。
指定金鑰檔案
ssh-copy-id -i ~/.ssh/my_custom_key.pub user@remote_host
使用指定的公開金鑰檔案(例如 ~/.ssh/my_custom_key.pub)複製金鑰。
使用非標準 SSH 埠號
ssh-copy-id -p 2222 user@remote_host
當遠端伺服器在非預設埠號(22)的其他埠號(例如 2222)上執行 SSH 服務時使用。
組合多個選項
ssh-copy-id -i ~/.ssh/another_key.pub -p 2222 user@remote_host
使用特定金鑰檔案並透過非標準埠號複製金鑰的範例。
提示與注意事項
使用 ssh-copy-id 時的實用提示和注意事項。
準備工作
在使用 ssh-copy-id 之前,請確認以下事項。
- 產生公開金鑰: 如果您還沒有 SSH 金鑰對,請先使用 `ssh-keygen` 命令產生。
- 遠端伺服器存取: 您需要有密碼或其他驗證方式才能 SSH 連線到遠端伺服器。ssh-copy-id 在初始驗證時會要求密碼。
權限問題
ssh-copy-id 會自動為遠端伺服器上的 `~/.ssh` 目錄和 `~/.ssh/authorized_keys` 檔案設定正確的權限。如果您是手動複製金鑰,則需要使用 `chmod 700 ~/.ssh` 和 `chmod 600 ~/.ssh/authorized_keys` 命令來設定正確的權限。
冪等性 (Idempotency)
ssh-copy-id 不會重複新增已複製的金鑰。因此,即使多次執行,authorized_keys 檔案也不會累積重複的金鑰。這對於在指令碼中使用來說是一個非常方便的特性。