一直都有想找到更方便、快速命令的想法。果然,從網路上查到高手的解答,利用這個機會,分析一下這個複合命令的細節。就用以下這個複製 DSA 密鑰的命令
[SiB@Celeron-D ~]$ cat ~/.ssh/id_dsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"或複製 ECDSA 密鑰的命令來解析
[SiB@Celeron-D ~]$ cat ~/.ssh/id_ecdsa.pub | ssh 192.168.10.15 -p 5566 -l SiB2 "cat >> ~/.ssh/authorized_keys"這個複合命令可先分為兩個部分,
- 第一個部份是『cat ~/.ssh/id_dsa.pub』是將以『ssh-keygen』產生的密鑰之公鑰輸出至『標準輸出(standard output)』,一般是指螢幕。
- 『 | 』(pipeline,管線)是將前一個命令的『標準輸出』導至下一個命令的『標準輸入』。
- 第二個命令是 SSH 的進階用法,又可拆分為兩個命令分別在不同電腦執行:
- 以 SSH 連線至 192.168.10.15,埠號為 5566,登入帳號為 SiB2,並在登入後執行『cat >> ~/.ssh/authorized_keys』這個命令。
- 在 cat 後並無檔案時,表示將從『管線』傳過來的資料當做『標準輸入』,再將之輸出至『標準輸出』
- 其中『 >> 』是將『標準輸出』以『附加』的方式,加在檔案後面。
- 所以命令『cat >> ~/.ssh/authorized_keys』可將傳過來的公鑰(在標準輸出)附加到認證檔的末端。
已測試版本:
- Fedora: 19, 20
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)