今天在工做中對 ssh key 有了更深的認識。 昨天給 Scrum 項目組新建了兩臺 CentOS 虛擬機,Jeffery 但願可以使用 ppk 文件免密碼登陸。 嘗試了幾種解決方案。 首先是在本身的機器上利用 PuTTYgen (PuTTY Key Generator) 生成一對公鑰和私鑰。 而後把私鑰保存爲 .ppk 文件。 而後把生成的公鑰保存到遠程的目標服務器的目標用戶家目錄下 .ssh 下的 authorized_keys 文件中。 如此以來,就能夠在本身的機器上,利用 ppk 文件實現免密登陸該遠程服務器。html
咱們如今一共有 Service, Data, Test1, Test2 四臺 CentOS 虛擬機。服務器
爲了簡化工做流程,就在 Service 服務器上的 xxx-user 用戶下,運行 ssh-keygen 生成一對公鑰和私鑰在其 ~/.ssh 文件夾。 默認的文件名分別是 id_rsa.pub 和 id_rsa。而且以命令 vi ~/.ssh/authorized_keys
新建 authorized_keys 文件, 而且把 公鑰的內容追加到 ~/.ssh/authorized_keys 文件中。記得以 chmod 600 authorized_keys
修改文件權限。ssh
而且以 scp 命令把 id_rsa.pub, id_rsa 和 authorized_keys 文件從 Service 服務器 複製 到 其餘三臺服務器的 ~/.ssh/ 目錄下。 這樣能夠實現這四臺服務器之間以ssh免密訪問(若是 scp 命令無效,能夠手工建立文件、複製、粘貼)。注意 chmod 600 id_rsa
。.net
以 WinSCP 把私鑰 id_rsa 複製到本身的機器上,而後 PuTTYgen -> Conversions -> Import key -> Save private key 能夠把在 CentOS 中生成的私鑰 另存爲 ppk 格式。以後以 PuTTY 登陸該四臺遠程服務器時,就能夠憑私鑰ppk文件,實現免密登陸。code
首先至少要準備一對公鑰和私鑰,而後把公鑰放在目標服務器上 ~/.ssh/authorized_keys 文件中。而後從持有私鑰的客戶端服務器上,就能夠 ssh xxx-user@IP
免密登陸到目標服務器。 使用 PuTTY 則要使用轉存以後的 ppk 格式的 私鑰。htm