linux ssh免密碼登入

2021-07-24 09:40:33 字數 2310 閱讀 5451

使用情景:

假設我們有2臺linux伺服器:master和cluster,從master機器到cluster我們可以使用ssh。但是ssh的時候就需要我們輸入密碼。這樣我們執行指令碼就會比較麻煩。

所以,也就有了免密登入。

如何實現免密登入

1.首先環境準備

我們我兩台機器,hadoop@hdp01和hadoop@hdp02。@符前後分別為賬號和主機名。兩台機器都沒有~/.ssh資料夾。

2.目標:雙機相互登入免密碼

3.具體實現

3.1hdp01主機下執行,登入使用者為hadoop

ssh-keygen -t rsa -p 「」

3.2一路回車,此時在/home/hadoop/.ssh會生成如下檔案

-rw-

----

--.1

hadoop

hadoop

1675

nov5

16:53

id_rsa-rw

-r--

r--.

1hadoop

hadoop

394nov

516:53

id_rsa

.pub

3.3對於hdp02機器也進行上述操作(確保.ssh目錄存在)。

3.4回到hdp01機器,使用scp了命令將id_rsa.pub複製到另一台機器hdp02。注意檔案路徑為~/.ssh/authorized_keys。也就是同時將檔名稱修改了。

scp ~/.ssh/id_rsa.pub hadoop@hdp02:~/.ssh/authorized_keys

在hdp02中檢視~/.ssh目錄結構

[

hadoop@hdp02

.ssh]$

ls-l~/

.ssh

total12-

rw-r-

-r--

.1hadoop

hadoop

394nov

605:22

authorized_keys-rw

----

---.

1hadoop

hadoop

1675

nov6

05:21

id_rsa-rw

-r--

r--.

1hadoop

hadoop

394nov

605:21

id_rsa

.pub

注意:

1.連線的伺服器格式最好為[賬號]@[主機名或者ip]形式

2.這裡由於我是為了簡單,因為是一次配置免密碼,所以直接scp改名稱了,但是如果是之前就存在authorized_keys檔案,就應該是先將公鑰檔案id_rsa.pub複製到hdp02機器,後然實現重定向將內容追加到authorized_keys後。

追加檔案內容

cat id_rsa.pub >> authorized_keys

3.注意authorized_keys許可權最好為644,至少保證歸屬使用者具有讀寫許可權

3.5對於hadp02機器也進行上述的scp。

scp ~/.ssh/id_rsa.pub hadoop@hdp01:~/.ssh/authorized_keys

3.6到此,免登陸配置完成,首次登入時,需要輸入一次密碼,之後就可以免登陸了

說明性描述,個人見解:

ssh免密碼登陸,利用的是rsa加密技術。rsa非對稱加密。

rsa:公鑰加密,私鑰解密。

雙方通訊也就是必須擁有對方的公鑰。

我們使用命令ssh-keygen -t rsa -p 「」,在資料夾~/.ssh/下生成了本機的公鑰和私鑰檔案,分別為id_rsa,id_rsa.pub檔案。

將公鑰內容新增到希望免密碼登入的機器~/.ssh/authorized_keys裡。

由於通訊就應該涉及到雙方,所以對於此操作應該是雙向的,即登入方的公鑰同樣需要儲存到被登入方的~/.ssh/authorized_keys檔案中。最終也就實現了雙方的免密登入。

Linux ssh 免密碼登入

一 問題 假如我們現在有兩台機器 servera和serverb,現在想要讓servera不用輸入密碼就能夠進行訪問。二 方法和原理 我們使用ssh keygen在servera上生成private和public金鑰,將生成的public金鑰拷貝到遠端機器serverb上後,就可以使用ssh命令無需...

Linux ssh免密碼登入

執行命令 ssh keygen t rsa 回車 回車 回車,生成的密碼位於 ssh root賬戶位於 root ssh 驗證 ssh 下產生兩個檔案 id rsa 和 id rsa.pub 複製公鑰檔案 作為乙個請求登入的機器,被請求機器的公鑰是位於請求機器的 ssh authorized key...

linux ssh 公鑰免密碼登入

在shell指令碼中使用ssh遠端執行命令或者copy檔案時,希望一切自動化,不需要提示輸入密碼,然後手動輸入。執行ssh keygen t rsa,在 home ssh中生成rsa私鑰檔案id rsa和公鑰檔案id rsa.pub.執行ssh copy id user hostname,將公鑰檔案...