201501061040SSH 免密碼登入遠端主機 - 多主機 multiple ssh keys

 在做系統管理的時候,利用 SSH 的KEY來達到免管理者介入(輸入帳密),這點我之前在「SSH 免密碼登入遠端主機」介紹過。但如果多台主機都想同時免密碼登入到某一台主機,該怎麼做呢?

>> 單一對 Client - Server 免密碼登入

Client 端所做
C1:> ssh-keygen -d   // 產出 public key (id_dsa.pub) 與 private key (id_dsa)
C2:> scp ~/.ssh/id_dsa.pub Destination:/source.pub
   格式: scp 來源檔案  目的主機:/存放之檔名

Server 端所做
S1:> mv source.pub .ssh/authorized_keys

Client 端測試
C3:> ssh  account@destination.server  ls -al
   格式: ssh  帳號@目的主機   執行命令

正常執行不需要使用者輸入密碼,就可以執行遠端的命令。如果會跳出要你輸入密碼,表示驗證是有問題的。

--------------------------------------------------------------------------------
以上是把之前說過的,做個簡化說明
以下,是說明多台 Clients 都要連到某一台主機的免輸入密碼方法
--------------------------------------------------------------------------------

>> 多對一 Clients - Server 免密碼登入

Clients 端所做 - 多台
## 多台 client 就各自做 C1 與 C2 的步驟 ## 
C1s:> ssh-keygen -d   
C2s:> scp ~/.ssh/id_dsa.pub Destination:/sourceS.pub
   格式: scp 來源檔案  目的主機:/存放之檔名
## repeat ↑↑↑

Server 端所做
S1:> cat sourceS.pub >> .ssh/authorized_keys    // 將多個 Clients 的 public 都存放到同一個檔案 authorized_keys

Clients 端測試
C3:> ssh  account@destination.server  ls -al
   格式: ssh  帳號@目的主機   執行命令

********************************************************

QQ:為何 public key 複製過去的名稱要叫做 authorized_keys2 呢?  為何 authorized_keys1 就不行?

這是因為支援 RSA 加密方式的  SSH  1.3 及 1.5 是使用檔名 authorized_keys
同時支援 RSA 與 DSA 的加密方式 SSH 2 是使用檔名 authorized_keys2

所以你亂取什麼 authorized_keys1 或 authorized_keysx 的都無法通過驗證,
以 openssh3 所建議的,現在只要使用 authorized_keys 這個檔名就可以了。

QQ:那這樣免密碼方式,會不會造成別的帳號也可以利用?

不會,因為這 SSH 的 public key 授權是植基於某帳號下的  .ssh 認證,只會跟特定使用者有關

~End

回應
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google