linux服務器間配置ssh免密連接


 先說一下,我用的centos7,root用戶。ssh的原理就不說了,網上介紹的文章很多,直接開始說操作步驟吧:

1.首先確認有沒有安裝ssh,輸入 rpm -qa |grep ssh查看

這樣就表示安裝了ssh,沒有的話就先安裝ssh

2.關閉防火牆

首先查看防火牆的狀態,運行 systemctl status firewalld.service

由於我這里已經關閉了防火牆,所以線框中的狀態Active位inactive狀態,開啟狀態下為running。永久關閉防火牆、禁止開機自啟動的指令為 systemctl disable firewalld.service(centos7下是該指令,其它系統可能有所區別),關閉之后可以再重新查看一下防火牆狀態,看是否關閉成功。

3.配置靜態IP

        一般集群中每個服務器都會分配固定的IP地址,這樣連接比較方便。配置靜態IP時,首先查看服務器的網卡類型,執行命令:ls  /etc/sysconfig/network-scripts,出現如下

可以看到網卡類型為ens33(這個每個人可能不同),然后編輯ifcfg_ens33文件,執行vim  /etc/sysconfig/network-scripts/ifcfg-ens33 ,在配置文件種需要作如下修改(紅色方框內位修改后的結果),

由於我測試時用的是局域網,因為DNS服務器地址隨便用了一個。

鍵盤esc+shift+enter,然后輸入wq保存文件並退出,然后重啟網絡 service network restart,這樣靜態IP地址就配置完成了。

4.修改/etc/hosts文件

    為了每次使用shh指令連接別的主機時不用輸入ip地址,可以在host文件中把主機名和ip地址進行映射,這樣比較方便。打開host文件 vim /etc/hosts,在文件末尾添加ip與主機名的映射

  

我這里創建了一個master,兩個slave

5.生成公匙、私匙,並移動公匙

    以我自己的機器為例,假設我需要配置master連接slave1。首先在master機器上生成公匙和私匙,輸入ssh-keygen -t rsa,一直回車即可,結果如下

該指令在~/.ssh目錄下生成了公鑰(id_rsa.pub)和私鑰(id_rsa),可以進入該目錄下查看 cd ~/.ssh,然后輸入指令ls。登陸slave1主機,同樣的先在slave1上生成公匙和密匙,執行ssh-keygen -t rsa,一路回車,進入/.ssh目錄下,創建authorized_keys文件,然后先把本機slave1的公匙寫入到該文件中,cat  ~/.ssh/id_rsa_pub authorized_keys,接下來需要把masterd的公匙復制到slave1上,先把master的公匙隨便復制到一個地方,例如/usr下,執行如下指令:scp   root@192.168.0.158:~/.ssh/id_rsa.pub  /usr ,此過程需要輸入master上root用戶的密碼,然后把master的公匙寫入到authorized_keys的末尾

cat  /usr/id_rsa_pub  ~/.ssh/authorized_keys,保存並退出文件。

6.修改文件權限

chomd 700 ~/.ssh

chomd 600 ~/.ssh/authorized_keys

 

到此,shh的免密登陸配置完成,可以在master上通過ssh slave1連接slave1主機了。

 

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM