Linux機器之間免密登入設定

2021-10-01 09:20:35 字數 2051 閱讀 6918

ssh命令用於遠端登入上linux主機。

常用格式:

ssh [-l login_name] [-p port] [user@]hostname
作業系統

配置兩台機器,作業系統都為:centos7,ip設定為:

server a: 192.168.0.1

server b: 192.168.0.2

linux下生成金鑰(ssh-keygen—生成、管理和轉換認證金鑰)

1.檢視ssh-keygen的命令手冊,在命令視窗中通過」man ssh-keygen「命令:

2.通過命令」ssh-keygen -t rsa「,生成之後會在使用者的根目錄生成乙個 「.ssh」的資料夾

3.使用者的根目錄檢視生成的「.ssh」資料夾

4.檢視「.ssh」檔案下生成的

* authorized_keys:存放遠端免密登入的公鑰,主要通過這個檔案記錄多台機器的公鑰(初始不存在該檔案) * 

* id_rsa : 生成的私鑰檔案 *

* id_rsa.pub : 生成的公鑰檔案*

* know_hosts : 已知的主機公鑰清單*

ssh免密登陸設定

**,server a免登入到server b:

1.在a上生成公鑰私鑰。

2.將公鑰拷貝給server b,要重新命名成authorized_keys(從英文名就知道含義了)

3.server a向server b傳送乙個連線請求。

4.server b得到server a的資訊後,在authorized_key中查詢,如果有相應的使用者名稱和ip,則隨機生成乙個字串,並用server

a的公鑰加密,傳送給server a。

5.server a得到server b發來的訊息後,使用私鑰進行解密,然後將解密後的字串傳送給server b。server b進行和生成的對比,如果一致,則允許免登入。

6.得到server b發來的訊息後,會使用私鑰進行解析,然後將機密後的字串發給server b。

7.接收到機密後的字串會跟先前生成的字串進行對比,如果一致就允許免密登陸。

總之:a要免密碼登入到b,b首先要擁有a的公鑰,然後b要做一次加密驗證。對於非對稱加密,公鑰加密的密文不能公鑰解開,只能私鑰解開。

2.常用以下幾種方法

方法一:通過ssh-copy-id的方式

命令:ssh-copy-id -i ~/.ssh/id_rsa.pub [romte_ip]

例如:ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.0.2

ssh-copy-id命令可以把本地主機的公鑰複製到遠端主機的authorized_keys檔案上,ssh-copy-id命令也會給遠端主機的使用者主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設定合適的許可權。

方法二:手工複製貼上的方式

1.拷貝本地主機的公鑰到遠端主機: scp id_rsa.pub

2.將本地主機的公鑰加到遠端主機的授權列表 .ssh/authorized_keys 若不存在,手動建立: cat id_rsa.pub >> authorized_keys

3…ssh目錄的許可權必須是700 ,chmod 700 .ssh

4.授權列表authorized_keys的許可權必須是600,chmod 600 authorized_keys

linux機器之間SSH免密登入

在hadoop集群中需要讓各個機器之間能夠相互通過ssh訪問,這個時候就需要配置ssh免密登入了,設定之後當使用start dfs.sh啟動hdfs時,不用再輸入datanode節點機器的密碼了。比如現在有三颱機器node1,node2,node3如下 192.168.246.181 node1 1...

Linux多台機器之間的免密登入設定

首先你要有多台伺服器,如果沒有,參考 1.為了我們今後進行免密登入時不必要輸入難記的ip,我們可以先將三颱伺服器的ip做乙個對映 修改 etc hosts檔案,新增如下 假設我們只有三颱伺服器 192.168.157.133 my.server01 server1 192.168.157.134 m...

Linux系統之間免密登入

首先解釋一下公鑰和私鑰 在網上看到的,覺得不錯,可以讓更多人更容易理解,在此表示感謝 乙個很形象的比喻,就是公鑰是鎖頭,私鑰是鑰匙,你要無金鑰登入到某台機器上,必須拿著你的私鑰開啟相應的鎖頭 因此如果某台機器允許許多人開啟的話,就會存有這許多人的公鑰 以ubuntu為例,在每台機器上安裝ssh之後 ...