linux下配置遠程免密登錄


linux下各種集群搭建往往需要配置遠程免密登錄,本文主要描述了CentOs6.3系統下配置免密登錄的詳細過程。


ssh遠程登錄,兩種身份驗證:

  1. 用戶名+密碼
  2. 密鑰驗證
    • 機器1生成密鑰對並將公鑰發給機器2,機器2將公鑰保存。
    • 機器1要登錄機器2時,機器2生成隨機字符串並用機器1的公鑰加密后,發給機器1。
    • 機器1用私鑰將其解密后發回給機器2,驗證成功后登錄

1、用戶名+密碼

如上圖所示,機器1要登錄到機器2

  • ssh 機器2的ip(默認使用root用戶登錄,也可指定,如:ssh a@192.168.25.14 表示指定由a用戶登錄機器2)
  • 詢問是否需要創建連接 yes
  • 輸入機器2中root用戶的密碼即可登錄到機器2
  • 輸入exit回到機器1

2、遠程免密登錄

  • 輸入命令ssh-keygen
  • 按三次回車,完成生成私鑰和公鑰

  • 到/root/.ssh目錄下可看到剛剛那條命令生成的私鑰和公鑰

  • 輸入ssh-copy-id 機器2的ip
  • 再輸入機器2的密碼,即可將公鑰傳給機器2

  • 機器2的/root/.ssh目錄下的authorized_keys文件保存着剛才機器1傳過來的公鑰(可用cat命令查看,並對比機器1上的公鑰,是一樣的)

  • 機器1上直接輸入ssh 機器2的ip即可登錄機器2,不用再輸密碼,自此完成了遠程免密登錄的配置

 

 

 

Linux中,使用SSH過程中,sh-copy-id命令報錯:-bash: ssh-copy-id: command not found
在服務器之間傳送文件我們經常會使用SCP命令來進行傳送文件,但是每次都要進行密碼驗證,非常繁瑣,所以通常我們會用ssh免密碼登錄。

首先,我們會在目的端生成私鑰和公鑰 (使用:–ssh-keygen -t rsa 命令),然后通過ssh-copy-id -i ~/.ssh/id_rsa.put 的方式,將目的端的公鑰導入發送端,來進行實現免密連接。

但是總會遇到sh-copy-id命令報錯:-bash: ssh-copy-id: command not found

網上有很多的解決辦法,都沒有解決,最后通過嘗試用命令,直接復制本地的pubkey內容到遠程服務器解決的問題。

cat ~/.ssh/id_*.pub|ssh root@bigdata-lsj-master.com ‘cat>>.ssh/authorized_keys’
其中:
~/.ssh/id_*.pub :是生成公鑰的地址。
root@bigdata-lsj-master.com :其中root是目的端用戶名,bigdata-lsj-master.com是本地IP對應的host名,你也可以把他替換為IP地址,例如192.168.56.101.

其他字符不變。就將你的公鑰復制到的目的端的本地。

然后就會發現,在使用SCP命令時,就實現了免密登錄。
————————————————
版權聲明:本文為CSDN博主「JeRome_JLU」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/jeromelsj/article/details/81459419


免責聲明!

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



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