天天看點

linux 叢集 配置 免密碼登入

在伺服器叢集中配置免密碼登入非常友善,而且節省時間,那麼怎麼做呢?非常簡單。

假如我現在有三台機器,ip分别為 192.168.1.100,192.168.1.101,192.168.1.102

使用者名都是com

想要這三台機器互相遠端通路而不需要輸入密碼,那麼按照以下方式。

1 需要生成一個密鑰對

# ssh-keygen -t rsa 

輸入完這句指令之後,回車就可以,遇到提示也敲回車。需要敲三下回車,或者用這個指令

# ssh-kengen -t rsa -P ''

敲一下回車就可以。

執行完之後回到目前使用者的目錄中的.ssh檔案夾中(.ssh和這個檔案夾下生成的檔案即是剛才生成的密鑰對),輸入以下指令即可

# cd ~/.ssh

接着使用ls指令可以看到id_rsa和id_rsa.pub ,其中id_rsa為私鑰,id_rsa.pub 為公鑰

使用以下指令建立一個authorized_keys

# cp ~/.ssh/id_rsa.pub~/.ssh/authorized_keys

到這裡第一步生成密鑰對就算完成了。

然後對叢集中每台需要生成密鑰對的機器都執行以上操作。

2 每台機器都生成密鑰對之後,把所有機器上的authorized_keys 全部合并成一個檔案,然後覆寫到每台機器上 authorized_keys檔案上,也就是說每台機器上都有叢集中其他機器上的authorized_keys。具體怎麼做呢?

可以先把所有機器上的authorized_keys遠端拷貝到一台機器上,然後在這台機器上合并完之後,再遠端拷貝覆寫所有機器上的authorized_keys檔案。

首先在192.168.1.100上執行以下指令

# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/com100

之後會提示輸入102機器上的密碼,輸入即可

然後在192.168.1.101上執行相同操作,不過在101上遠端拷貝後檔案名要改下,比如改為com101 ,指令如下

# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/com101

然後在102機器上com檔案夾下的.ssh目錄中将com100,com101,authorized_keys 三個檔案合并

通過以下指令可以把com100 和com101 的内容追加到authorized_keys

# cat ~/.ssh/com100 >> ~/.ssh/authorized_keys

# cat ~/.ssh/com101 >> ~/.ssh/authorized_keys

然後再将合并之後的authorized_keys檔案分别拷貝并覆寫到100機器和101機器上

# scp ~/.ssh/authorized_keys [email protected]:~/.ssh

# scp~/.ssh/authorized_keys [email protected].168.1.101:~/.ssh

至此全部搞定了,可以在192.168.1.100上嘗試下,隻輸入以下指令,而不需要密碼即可連結成功。直接輸入以下指令即可連接配接。

# ssh [email protected]

繼續閱讀