2016年12月17日 星期六

SSH「自動認證機制」改進 - 使用 SSH-COPY-ID

在之前幾篇發文『SSH「自動認證機制」之改進 - 快速複製密鑰』、『SSH 的「自動認證機制」 - 使用 ECDSA 密鑰』及『SSH 的「自動認證機制」 - 使用 DSA 密鑰』中,將產生的公鑰複製到另一個電腦的『自動認證』公鑰檔案中,需要經過幾個步驟的操作,或使用複雜的命令。
  最近注意到 SSH 的工具中有個程式 ssh-copy-id,看其名稱似乎與 SSH 的密鑰複製有關,今天有空就來試試這個命令。以最近一篇 『SSH 的「自動認證機制」 - 使用 ECDSA 密鑰』的命令而言,利用 ssh-copy-id 這個命令,可以將『複製密鑰』的命令改得更簡單。

複製 DSA 密鑰的命令

[SiB@Celeron-D ~]$ cat ~/.ssh/id_dsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"
可簡化為
[SiB@Celeron-D ~]$ ssh-copy-id -i .ssh/id_dsa.pub -p 5566 SiB2@192.168.10.15

而複製 ECDSA 密鑰的命令

[SiB@Celeron-D ~]$ cat ~/.ssh/id_ecdsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"
可簡化為
[SiB@Celeron-D ~]$ ssh-copy-id -i .ssh/id_ecdsa.pub -p 5566 SiB2@192.168.10.15

SSH-COPY-ID 參數說明

這個命令的參數說明如下:
參數說明
-i .ssh/id_ecdsa.pub指定 SSH 的 ECDSA 密鑰檔(id_ecdsa.pub),需指定所在目錄之路徑(~/.ssh/)。
-p 5566指定『對方電腦』的 SSH 埠號(5566)。
SiB2@192.168.10.15指定登入『對方電腦』的『帳號』名稱(SiB2),及『對方電腦』的『網路位址』(192.168.10.15)。

已測試版本:

  • Fedora 25 → 20

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)